From 2f883d1c18b671db5458250ab381ab091579d6d0 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Fri, 1 Jan 2016 00:50:54 +0100 Subject: [PATCH] Rotate ChangeLog. From-SVN: r232019 --- gcc/ChangeLog | 44744 +------------------------------- gcc/ChangeLog-2015 | 44748 +++++++++++++++++++++++++++++++++ gcc/testsuite/ChangeLog | 20500 +-------------- gcc/testsuite/ChangeLog-2015 | 20502 +++++++++++++++ 4 files changed, 65253 insertions(+), 65241 deletions(-) create mode 100644 gcc/ChangeLog-2015 create mode 100644 gcc/testsuite/ChangeLog-2015 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 332523c6242..941f9818b57 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,44747 +1,5 @@ -2015-12-30 Nathan Sidwell - - * config/nvptx/nvptx.c (nvptx_assemble_undefined_decl): Check - it's not a constant pool object. - -2015-12-29 Michael Meissner - - * config/rs6000/rs6000.c (init_float128_ieee): Remove IEEE 128-bit - comparison functions in cmp_optab and ucmp_optab. - (rs6000_generate_compare): Rewrite IEEE 128-bit floating point - software emulation comparisons to only use __eqkf2, __gekf2, - __lekf2, and __unordkf2 functions. - (rs6000_invalid_binary_op): Add support for -mfloat128-convert. - - * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define - __FLOAT128_HARDWARE__ if hardware IEEE 128-bit support is - available. - - * config/rs6000/rs6000.opt (-mfloat128-convert): Add debug switch - to allow IBM extended double and IEEE 128-bit floating point to be - converted with default conversions. - - * config/rs6000/rs6000.md (extendkftf2): Add converters between - KFmode and TFmode if -mabi=ieeelongdouble. - (trunctfkf2): Likewise. - (ieee128_mfvsrd): Split 64-bit integer conversions into 32-bit and - 64-bit insns. - (ieee128_mfvsrd_64bit): Likewise. - (ieee128_mfvsrd_32bit): Likewise. - (ieee128_mtvsrd): Likewise. - (ieee128_mtvsrd_64bit): Likewise. - (ieee128_mtvsrd_32bit): Likewise. - - * doc/extend.texi (Floating Types): Document that complex - __float128 does not work currently. - - * doc/invoke.texi (RS/6000 and PowerPC Options): Document that - -mfloat128 is only supported on PowerPC 64-bit Linux systems. - -2015-12-28 Bill Schmidt - - * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Verify that - this is never called when lxvx/stxvx are available. - (pass_analyze_swaps::gate): Don't perform swap optimization when - lxvx/stxvx are available. - * config/rs6000/vector.md (mov): Don't call - rs6000_emit_le_vsx_move when lxvx/stxvx are available. - * config/rs6000/vsx.md (*p9_vecload_): New define_insn. - (*p9_vecstore_): Likewise. - (*vsx_le_perm_load_:VSX_LE): Disable when lxvx/stxvx are - available. - (*vsx_le_perm_load_:VSX_W): Likewise. - (*vsx_le_perm_load_v8hi): Likewise. - (*vsx_le_perm_load_v16qi): Likewise. - (*vsx_le_perm_store_:VSX_LE): Likewise. - ([related define_splits]): Likewise. - (*vsx_le_perm_store_:VSX_W): Likewise. - ([related define_splits]): Likewise. - (*vsx_le_perm_store_v8hi): Likewise. - ([related define_splits]): Likewise. - (*vsx_le_perm_store_v16qi): Likewise. - ([related define_splits]): Likewise. - (*vsx_lxvd2x2_le_): Likewise. - (*vsx_lxvd2x4_le_): Likewise. - (*vsx_lxvd2x8_le_V8HI): Likewise. - (*vsx_lvxd2x16_le_V16QI): Likewise. - (*vsx_stxvd2x2_le_): Likewise. - (*vsx_stxvd2x4_le_): Likewise. - (*vsx_stxvd2x8_le_V8HI): Likewise. - (*vsx_stxvdx16_le_V16QI): Likewise. - ([define_peepholes for vector load fusion]): Likewise. - -2015-12-28 Nathan Sidwell - - * config/nvptx/nvptx.c (nvptx_output_call_insn): Expect hard regs. - * config/nvptx/nvptx.md (nvptx_reg_or_mem_operand): Rename to ... - (nvptx_nonimmediate_operand): ... here. Update all uses. - (call_insn_operand): Use REG_P. - (call_operation): Allow hard regs. - -2015-12-25 Jan Hubicka - - * ipa-visibility.c (function_and_variable_visibility): Do not - dissolve comdat groups when in LTO mode. - -2015-12-25 Andreas Tobler - - * config/rs6000/freebsd64.h: Delete FREEBSD_DYNAMIC_LINKER32/64 - defines. Use FBSD_DYNAMIC_LINKER instead. - Rename and simplify LINK_OS_FREEBSD_SPEC_DEF32/64 to - LINK_OS_FREEBSD_SPEC_DEF. - -2015-12-24 Aditya Kumar - - * graphite-sese-to-poly.c (build_loop_iteration_domains): Use ref instead of value. - * sese.c (invariant_in_sese_p_rec): Use const ref instead of value. - (scalar_evolution_in_region): Same - * sese.h (bb_in_region): Same - (bb_in_sese_p): Same. - (stmt_in_sese_p): Same. - (defined_in_sese_p): Same. - (loop_in_sese_p): Same. - -2015-12-24 Aditya Kumar - - * graphite-scop-detection.c - (scop_detection::get_nearest_dom_with_single_entry): Check l == l2. - (scop_detection::get_nearest_pdom_with_single_exit): Same. - (scop_detection::merge_sese): Whitespace. - (scop_detection::add_scop): Comment. - (build_scops): Whitespace. - -2015-12-24 Kirill Yukhin - - * common/config/i386/i386-common.c (OPTION_MASK_ISA_PKU_SET): New. - (OPTION_MASK_ISA_PKU_UNSET): Ditto. - (ix86_handle_option): Handle OPT_mpku. - * config.gcc: Add pkuintrin.h to i[34567]86-*-* and x86_64-*-* - targets. - * config/i386/cpuid.h (host_detect_local_cpu): Detect PKU feature. - * config/i386/i386-c.c (ix86_target_macros_internal): Handle PKU ISA - flag. - * config/i386/i386.c (ix86_target_string): Add "-mpku" to - ix86_target_opts. - (ix86_option_override_internal): Define PTA_PKU, mention new key - in skylake-avx512. Handle new ISA bits. - (ix86_valid_target_attribute_inner_p): Add "pku". - (enum ix86_builtins): Add IX86_BUILTIN_RDPKRU and IX86_BUILTIN_WRPKRU. - (builtin_description bdesc_special_args[]): Add new built-ins. - * config/i386/i386.h (define TARGET_PKU): New. - (define TARGET_PKU_P): Ditto. - * config/i386/i386.md (define_c_enum "unspecv"): Add UNSPEC_PKU. - (define_expand "rdpkru"): New. - (define_insn "*rdpkru"): Ditto. - (define_expand "wrpkru"): Ditto. - (define_insn "*wrpkru"): Ditto. - * config/i386/i386.opt (mpku): Ditto. - * config/i386/pkuintrin.h: New file. - * config/i386/x86intrin.h: Include pkuintrin.h - * doc/extend.texi: Describe new built-ins. - * doc/invoke.texi: Describe new switches. - -2015-12-23 Richard Henderson - - PR ipa/67811 - * tree-cfg.c (make_edges_bb): Add abort edge for outer transactions. - -2015-12-23 Nathan Sidwell - - * cgraph.h (decl_in_symtab_p): Revert check DECL_IN_CONSTANT_POOL. - -2015-12-23 Nathan Sidwell - - * config/nvptx/nvptx-protos.h - (nvptx_maybe_convert_symbolic_operand): Delete prototype. - * config/nvptx/nvptx.c (nvptx_maybe_convert_symbolic_operand): Delete. - (nvptx_output_mov_insn): Record fnsym here. - (nvptx_wpropagate): Don't create UNSPEC_TO_GENERIC unspec. - * config/nvptx/nvptx.md (UNSPEC_TO_GENERIC): Delete. - (symbolic_operand): Delete predicate. - (nvptx_nonimmediate_operand): Delete predicate. - (mov): Hard regs are perfectly ok here. - (convaddr_): Delete. - -2015-12-23 Nathan Sidwell - - * alias.c (compare_base_decls): Simplify in-symtab check. - * cgraph.h (decl_in_symtab_p): Check DECL_IN_CONSTANT_POOL. - -2015-12-23 Dominik Vogt - - * config/s390/predicates.md ("larl_operand"): Remove now superfluous - const_int and const_double. - * genrecog.c (safe_predicate_mode): Return false for VOIDmode - LABEL_REFs even if the predicate does not handle const_int, - const_double or const_wide_int. - * genpreds.c (add_mode_tests): Treat LABEL_REF like CONST_INT. - -2015-12-23 Thomas Schwinge - - * tree-core.h (enum omp_clause_code): Merge OMP_CLAUSE_USE_DEVICE - into OMP_CLAUSE_USE_DEVICE_PTR. Adjust all users. - -2015-12-23 David Sherwood - - * config/arm/iterators.md (VMAXMINFNM): New int iterator. - (fmaxmin): New int attribute. - (fmaxmin_op): Likewise. - * config/arm/unspecs.md (UNSPEC_VMAXNM): New unspec. - (UNSPEC_VMINNM): Likewise. - * config/arm/neon.md (fmaxmin): New pattern. - * config/arm/vfp.md (fmaxmin): Likewise. - -2015-12-23 H.J. Lu - - PR target/66232 - * config/i386/constraints.md (Bs): Allow GOT slot for x32 with - 64-bit Pmode. - (Bw): Likewise. - (Bz): Likewise. - * config/i386/predicates.md (call_insn_operand): Likewise. - (sibcall_insn_operand): Likewise. - -2015-12-22 David Malcolm - - PR c/68473 - * diagnostic-show-locus.c (layout::layout): Make loc_range const. - Sanitize the layout_range against ranges that finish before they - start. - -2015-12-22 Jeff Law - - * gimple-ssa-split-paths.c (split_paths): Avoid unnecessary block - copying. - -2015-12-22 Jakub Jelinek - - PR c++/67376 - * fold-const.c (size_low_cst): Removed. - (fold_comparison): For POINTER_PLUS_EXPR where base is ADDR_EXPR - call get_inner_reference and handle INDIRECT_REF base of it. Use - offset_int for computation of the bitpos. - (fold_binary_loc) : Formatting - fixes for X +- Y CMP X and C - X CMP X folding. Add X CMP X +- Y - and X CMP C - X folding. - -2015-12-22 Richard Henderson - - PR ipa/67811 - * gimple.h (struct gtransaction): Add label_norm, label_uninst; - replace label with label_over. - (gimple_build_transaction): Remove label parameter. - (gimple_transaction_label_norm): New. - (gimple_transaction_label_uninst): New. - (gimple_transaction_label_over): Rename from gimple_transaction_label. - (gimple_transaction_label_norm_ptr): New. - (gimple_transaction_label_uninst_ptr): New. - (gimple_transaction_label_over_ptr): Rename from - gimple_transaction_label_ptr. - (gimple_transaction_set_label_norm): New. - (gimple_transaction_set_label_uninst): New. - (gimple_transaction_set_label_over): Rename from - gimple_transaction_set_label. - * gimple-pretty-print.c (dump_gimple_transaction): Update. - * gimple-streamer-in.c (input_gimple_stmt) [GIMPLE_TRANSACTION]: Same. - * gimple-streamer-out.c (output_gimple_stmt) [GIMPLE_TRANSACTION]: Same. - * gimple-walk.c (walk_gimple_op) [GIMPLE_TRANSACTION]: Same. - * tree-cfg.c (make_edges_bb) [GIMPLE_TRANSACTION]: Same. - (cleanup_dead_labels) [GIMPLE_TRANSACTION]: Same. - (verify_gimple_transaction): Same. - (gimple_redirect_edge_and_branch) [GIMPLE_TRANSACTION]: Same. - * tree-inline.c (remap_gimple_stmt) [GIMPLE_TRANSACTION]: Same. - * gimple.c (gimple_build_transaction): Remove label parameter; - initialize all three label memebers. - * gimplify.c (gimplify_transaction): Update call - to gimple_build_transaction. - * trans-mem.c (make_tm_uninst): New. - (lower_transaction): Create uninstrumented code path here... - (ipa_tm_scan_calls_transaction): ... not here. - (ipa_uninstrument_transaction): Remove. - - * tree-eh.c (honor_protect_cleanup_actions): Do not wrap eh_else - in a must-not-throw; set ehp_region for it too. - -2015-12-22 Peter Bergner - - PR target/68872 - * config/rs6000/rs6000.h (ASM_CPU_SPEC): For -mcpu=powerpc64le, - pass %(asm_cpu_power8). - -2015-12-22 H.J. Lu - - PR target/68937 - * config/i386/i386.c (ix86_function_ok_for_sibcall): Count - call to global function via GOT slot as indirect call. - * config/i386/i386.md (*sibcall_GOT_32): New pattern. - (*sibcall_value_GOT_32): Likewise. - * config/i386/predicates.md (sibcall_memory_operand): Rewrite. - Allow 32-bit GOT slot only with pseudo register as GOT base. - (GOT32_symbol_operand): New predicate. - -2015-12-22 Sujoy Saraswati - - * fold-const.c (const_binop): Convert sNaN to qNaN when - flag_signaling_nans is off. - (const_unop): Avoid the operation, other than NEGATE and - ABS, if flag_signaling_nans is on and the operand is an sNaN. - (fold_convert_const_real_from_real): Avoid the operation if - flag_signaling_nans is on and the operand is an sNaN. - (integer_valued_real_unary_p): Update comment stating it - returns false for sNaN values. - (integer_valued_real_binary_p, integer_valued_real_call_p): Same. - (integer_valued_real_single_p): Same. - (integer_valued_real_invalid_p, integer_valued_real_p): Same. - * fold-const-call.c (fold_const_pow): Avoid the operation - if flag_signaling_nans is on and the operand is an sNaN. - (fold_const_builtin_load_exponent) Same. - (fold_const_call_sss): Same for CASE_CFN_POWI. - * gimple-fold.c (gimple_assign_integer_valued_real_p): Same. - (gimple_call_integer_valued_real_p): Same. - (gimple_phi_integer_valued_real_p): Same. - (gimple_stmt_integer_valued_real_p): Same. - * simplify-rtx.c (simplify_const_unary_operation): Avoid the - operation if flag_signaling_nans is on and the operand is an sNaN. - (simplify_const_binary_operation): Same. - * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Avoid the - operation if flag_signaling_nans is on and the operand is an sNaN. - -2015-12-22 Kyrylo Tkachov - - * combine.c (simplify_comparison): Convert preprocessor check of - WORD_REGISTER_OPERATIONS into runtime check. - -2015-12-22 Eric Botcazou - - PR debug/60756 - * var-tracking.c (tracked_record_parameter_p): New predicate. - (track_expr_p): Invoke it. - (add_stores): Likewise. - -2015-12-21 Jeff Law - - * dbgcnt.def (dom_unreachable_edges): New debug counter. - * tree-ssa-dom.c: Include dbgcnt.h - (dom_opt_dom_walker::before_dom_children): Handle the new counter. - -2015-12-21 Andrew Pinski - - * config/aarch64/aarch64-option-extensions.def (LSE): Change - FEAT_STRING to "atomics". - -2015-12-21 Pierre-Marie de Rodat - - * dwarf2out.c (add_data_member_location_attribute): Do not - disable dynamic data member offsets descriptions for TREE_BINFO - members. - -2015-12-21 Eric Botcazou - - PR tree-optimization/65337 - * tree-ssa-pre.c (eliminate): Also clean up abnormal edges if need be. - -2015-12-21 Dominik Vogt - - * config/s390/s390.c (s390_emit_prologue): Fix base reg condition. - -2015-12-21 Claudiu Zissulescu - - * config/arc/builtins.def: New file. - * config/arc/arc.c (arc_init_simd_builtins): Remove. - (arc_builtins): Likewise. - (TARGET_BUILTIN_DECL): Define. - (arc_builtin_id): New enum. - (arc_builtin_description): New structure. - (arc_bdesc): New variable. - (arc_tolower): New function. - (def_mbuiltin): Remove. - (arc_builtin_decl): New function. - (arc_expand_builtin_aligned ): Likewise. - (apply_GEN_FCN): Likewise. - (arc_init_builtins): Refurbish. - (arc_expand_builtin): Likewise. - (simd_insn_args_type): Remove. - (builtin_description): Likewise - (arc_simd_builtin_desc_list): Likewise. - (arc_expand_simd_builtin): Likewise. - (arc_process_double_reg_moves): Use the new builtin name format. - * config/arc/arc.md (unspec): New builtin function UNSPEC codes. - (vunspec): New builtin function VUNSPEC codes. - (UNSPEC_SWAP, UNSPEC_MUL64, UNSPEC_MULU64, UNSPEC_DIVAW) - (UNSPEC_DIRECT, UNSPEC_LP, UNSPEC_CASESI, VUNSPEC_RTIE) - (VUNSPEC_SYNC, VUNSPEC_BRK, VUNSPEC_FLAG, VUNSPEC_SLEEP) - (VUNSPEC_SWI, VUNSPEC_CORE_READ, VUNSPEC_CORE_WRITE, VUNSPEC_LR) - (VUNSPEC_SR, VUNSPEC_TRAP_S, VUNSPEC_UNIMP_S, VUNSPEC_NOP) - (UNSPEC_ARC_MEMBAR,VUNSPEC_ARC_CAS, VUNSPEC_ARC_LL) - (VUNSPEC_ARC_SC, VUNSPEC_ARC_EX, VUNSPEC_DEXCL) - (VUNSPEC_DEXCL_NORES, VUNSPEC_LR_HIGH): Remove. - (mul64, mulu64): Remove patterns. - (store_direct, *movdf_insn_nolrsr, casesi, casesi_load) - (casesi_compact_jump, nopv, swap, divaw, flag, brk, rtie, sync) - (swi, sleep, core_read, core_write, lr, sr, trap_s, unimp_s) - (doloop_begin_i): Use new builtin function code naming. - (kflag, clri, ffs, ffs_f, ffssi2, fls, seti): New patterns. - * config/arc/builtins.def: New file. - * config/arc/fpx.md: Use new builtin function code naming. - * config/arc/simdext.md: New SIMD builtin function UNSPEC - codes. Use them in the SIMD patterns. - -2015-12-21 Sujoy Saraswati - - PR tree-optimization/61441 - * real.c (do_add): Make resulting NaN value to be qNaN. - (do_multiply, do_divide, do_fix_trunc): Same. - (real_arithmetic, real_ldexp, real_convert): Same. - (real_isinteger): Updated comment stating it returns false for sNaN. - -2015-12-20 Jeff Law - - PR tree-optimization/64910 - * config/i386/i386.md (testqi_ext_3): Allow HImode. - -2015-12-20 Andrew Pinsi - - * config/aarch64/atomics.md - (aarch64_atomic__fetch_lse): Add early clobber - to the scratch register. - -2015-12-20 Sujoy Saraswati - - PR tree-optimization/61441 - * match.pd (f(x) -> x): Removed flag_errno_math check for RINT. - -2015-12-20 Sujoy Saraswati - - PR tree-optimization/61441 - * fold-const.c (const_binop): Use REAL_VALUE_ISSIGNALING_NAN instead - of REAL_VALUE_ISNAN to avoid the operation for sNaN operands. - * simplify-rtx.c (simplify_const_binary_operation): Same. - -2015-12-19 Jan Hubicka - - PR tree-optimization/65337 - * tree-ssa-dce.c (bb_postorder): New static var. - (mark_stmt_necessary): Add guard for setting bb_contains_live_stmts. - (forward_edge_to_pdom): Remove. - (remove_dead_stmt): Instead of redirecting edges only keep an edge - on a path to nearest live BB. - (eliminate_unnecessary_stmts): Free bb_postorder. - * cfganal.c (dfs_find_deadend): Add START_POINTES. - * cfganal.h (inverted_post_order_compute): Update prototype. - -2015-12-19 Eric Botcazou - - PR rtl-optimization/68910 - * emit-rtl.c (set_unique_reg_note) : Add bypass for USEs. - * config/sparc/sparc.md (anddi3): Enable only in 64-bit mode. - (iordi3): Likewise. - (xordi3): Likewise. - (one_cmpldi2): Likewise. - (*anddi3_sp32): Delete. - (*and_not_di_sp32): Likewise. - (*iordi3_sp32): Likewise. - (*or_not_di_sp32): Likewise. - (*xordi3_sp32): Likewise. - (*xor_not_di_sp32): Likewise. - (32-bit DImode logical operations splitter): Likewise. - (*one_cmpldi2_sp32): Likewise. - -2015-12-19 Andrew Burgess - - * config/arc/arc.md (*storeqi_update): Use 'any_mem_operand' and - fix RTL pattern to include the plus. - (*storehi_update): Likewise. - (*storesi_update): Likewise. - (*storesf_update): Likewise. - * config/arc/predicates.md (store_update_operand): Delete. - -2015-12-19 Andrew Burgess - - * config/arc/arc.md (*loadqi_update): Use new 'any_mem_operand' - and fix RTL pattern to include the plus. - (*load_zeroextendqisi_update): Likewise. - (*load_signextendqisi_update): Likewise. - (*loadhi_update): Likewise. - (*load_zeroextendhisi_update): Likewise. - (*load_signextendhisi_update): Likewise. - (*loadsi_update): Likewise. - (*loadsf_update): Likewise. - * config/arc/predicates.md (load_update_operand): Delete. - (any_mem_operand): New predicate. - -2015-12-19 Sujoy Saraswati - - PR tree-optimization/61441 - * real.c (real_issignaling_nan): New. - * real.h (real_issignaling_nan, REAL_VALUE_ISSIGNALING_NAN): New. - -2015-13-18 John David Anglin - - PR target/68729 - * config/pa/pa.c (pa_emit_move_sequence): Reorganize handling of - floating-point reloads. Only reload operands that are not valid - floating-point memory operands. - -2015-12-18 Jakub Jelinek - - PR debug/68860 - * ipa-split.c (split_function): Only perform caller side - modifications for decl_debug_args here. - * cgraph.c: Include gimplify.h. - (cgraph_edge::redirect_call_stmt_to_callee): Add caller side - debug stmts for decl_debug_args. Spelling fix in a comment. - * tree-inline.c (tree_function_versioning): Populate decl_debug_args - for args_to_skip arguments and add callee side debug stmts. - Formatting fixes. Avoid shadowing i variable. - -2015-12-18 Nathan Sidwell - - * config/nvptx/nvptx.c (nvptx_maybe_convert_symbolic_operand): - Remove UNSPEC_TO_GENERIC generation. - (nvptx_output_mov_insn): Generate cvta for symbolic src. - * config/nvptx/nvptx.md (nvptx_register_operand): Allow hard reg. - (nvptx_reg_or_mem_operand): Likewise. - (nvptx_nonmemory_operand): Likewise. - (nvptx_general_operand): Delete. - (*mov_insn): Use nonimmediate_operand, permit hardregs. - (oacc_fork, oacc_join): Use general_operand. - -2015-12-18 Daniel Kahn Gillmor - - * dwarf2out.c (gen_producer_string): Ignore -fdebug-prefix-map. - -2015-12-18 Nathan Sidwell - - * config/nvptx/nvptx.c (nvptx_option_override): Emit sorry for - stabs debug. - (nvptx_assemble_undefined_decl): Use nvptx_assemble_decl_end. - -2015-12-18 Jeff Law - - PR rtl-optimization/49847 - * cse.c (record_jump_equiv): Handle fold_rtx returning NULL_RTX. - -2015-12-18 Nathan Sidwell - - * config/nvptx/nvptx.c (worker_bcast_name, worker_red_name): Delete. - (nvptx_option_override): Adjust worker symbol creation. - (nvptx_gen_wcast): Wrap worker address in UNSPEC_TO_GENERIC. - (write_worker_buffer): New. - (nvptx_file_end): Call write_worker_buffer. - * config/nvptx/nvptx.md (UNSPEC_SHARED_DATA): Delete. - (worker_load, worker_store): Delete. - -2015-12-18 Richard Biener - - PR testsuite/68776 - * tree-vect-patterns.c (struct vect_recog_func): New. - (vect_vect_recog_func_ptrs): Make an array of function name pairs. - (vect_pattern_recog_1): Print the recognized pattern name. Return - true if a pattern was recognized. - (vect_pattern_recog): Adjust. Stop iterating over pattern recognition - functions on a stmt if a pattern was recognized. - -2015-12-18 Andreas Krebbel - - * ira.c (ira_setup_alts): Move the scan for commutative modifier - to the first loop to make it work even with disabled alternatives. - -2015-12-18 Dominik Vogt - - * config/s390/s390.c (s390_init_frame_layout): Try r4 to r2 for the - literal pool pointer. - -2015-12-18 Yuri Rumyantsev - - PR tree-optimization/68906 - * tree-ssa-loop-unswitch.c (tree_unswitch_outer_loop): Add check - that an exit block belongs to LOOP. - -2015-12-18 Ilya Enkovich - - PR tree-optimization/68956 - * tree-vect-stmts.c (vect_init_vector): Fix constants - used for boolean vectors. - -2015-12-18 Kyrylo Tkachov - - PR rtl-optimization/68796 - * config/aarch64/aarch64.md (*and3nr_compare0_zextract): - New pattern. - * config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle - ZERO_EXTRACT comparison with zero. - (aarch64_mask_from_zextract_ops): New function. - * config/aarch64/aarch64-protos.h (aarch64_mask_from_zextract_ops): - New prototype. - -2015-12-18 Robin Dapp - - * config/s390/predicates.md: Change and rename - constm1_operand to all_ones_operand - * config/s390/s390.c (s390_expand_vcond): Use all_ones_operand - * config/s390/vector.md: Likewise - -2015-12-18 Robin Dapp - - * config/s390/s390.c (s390_expand_vcond): Convert vector - conditional into shift. - * config/s390/vector.md: Change operand predicate. - -2015-12-18 Andreas Krebbel - - * config/s390/driver-native.c (s390_host_detect_local_cpu): Pick - z900 -march -mtune even on g5 and g6 machines. - * config/s390/s390.c (s390_option_override_internal): New argument - to distingiush between options and target attributes. Emit - deprecation warning for g5 and g6 arch/tune options. - (s390_option_override): Set new s390_option_override_internal - argument to true. - (s390_valid_target_attribute_tree): Set new - s390_option_override_internal argument to false. - * config/s390/s390.h: Default to z900 in the driver. - * doc/invoke.texi: Document the deprecation of g5 and g6. - -2015-12-18 Andris Pavenis - - * config/i386/djgpp-stdint.h: update typedefs for integer types - -2015-12-17 Jeff Law - - * passes.def: Put the split-paths pass immediately before the - tracer pass. - - * doc/invoke.texi (-O2 options): Remove -fsplit-paths. - (-O3 options): Add -fsplit-paths. - * gimple-ssa-split-paths.c: Include predict.h - (split_paths): Only split paths in a loop that should be - optimized for speed. - * opts.c (default_options_table): Move -fsplit-paths from -O2 to - -O3. - -2015-12-17 Nathan Sidwell - - * ipa-icf.c (sem_item_optimizer::merge): Don't pick 'main' as the - source function. - -2015-12-17 Sebastian Pop - - * Makefile.in: Replace ISL with isl. - * common.opt: Same. - * configure: Regenerate. - * configure.ac: Same. - * doc/install.texi: Same. - * doc/invoke.texi: Same. - * graphite-isl-ast-to-gimple.c: Same. - * graphite-scop-detection.c: Same. - * graphite-sese-to-poly.c: Same. - * graphite.c: Same. - * graphite.h: Same. - * params.def: Same. - * testsuite/gcc.dg/graphite/fuse-1.c: Same. - * testsuite/gcc.dg/graphite/fuse-2.c: Same. - * testsuite/gcc.dg/graphite/interchange-1.c: Same. - * testsuite/gcc.dg/graphite/pr35356-1.c: Same. - * toplev.c: Same. - -2015-12-17 Sebastian Pop - - * graphite-dependences.c: Move all isl include files to... - * graphite-isl-ast-to-gimple.c: Same. - * graphite-optimize-isl.c: Same. - * graphite-poly.c: Same. - * graphite-scop-detection.c: Same. - * graphite.c: Same. - * graphite.h: ... here. - -2015-12-17 Senthil Kumar Selvaraj - - * config/avr/avr.h (MOVE_MAX): Set value to 1. - (MOVE_MAX_PIECES): Define. - (MOVE_RATIO): Define. - * config/avr/avr.c (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): - Provide target hook. - (avr_use_by_pieces_infrastructure_p): New function. - -2015-12-17 Trevor Saunders - - * config.gcc: mark *-interix* as obsolete. - -2015-12-17 Trevor Saunders - - * config.gcc: Mark openbsd 2.0 and 3.X as obsolete. - -2015-12-17 Trevor Saunders - - * config.gcc: Mark knetbsd targets as obsolete. - -2015-12-17 Nathan Sidwell - - * config/nvptx/nvptx.h (NVPTX_RETURN_REGNUM, FRAME_POINTER_REGNUM, - ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Renumber. - (REGISTER_NAMES): Update and rename. - (FIXED_REGISTERS, CALL_USED_REGISTERS): Update. - (enum_reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Reformat. - -2015-12-17 Richard Biener - - PR tree-optimization/68946 - * tree-vect-slp.c (vect_slp_analyze_node_operations): Push - SLP def type to stmt operands one stmt at a time. - -2015-12-17 Pierre-Marie de Rodat - - * langhooks.h (struct lang_hooks_for_types): New get_bias_field. - * langhooks-def.h (LANG_HOOKS_GET_TYPE_BIAS): New. - (LANG_HOOKS_FOR_TYPES_INITIALIZER): Initialize the - get_bias_field. - * dwarf2out.c - (base_type_die): In non-strict DWARF mode, invoke the - get_type_bias language hook for INTEGER_TYPE nodes. If it - returns a bias, emit an attribute for it. - (subrange_type_die): Change signature to handle bias. If - non-strict DWARF mode, emit an attribute for it, if one passed. - (modified_type_die): For subrange types, invoke the - get_type_bias langage hook and pass the bias to - subrange_type_die. - -2015-12-17 Pierre-Marie de Rodat - - * dwarf2out.h (DWARF2OUT_ARRAY_DESCR_INFO_MAX_DIMEN): New macro. - (struct array_descr_info): Use it for the dimensions array's - size. - * dwarf2out.c (gen_type_die_with_usage): Check that the array - descr. language hook does not return an array with more - dimensions that it should. - -2015-12-17 Pierre-Marie de Rodat - - * langhooks.h (struct lang_hooks_for_types): Add a - get_fixed_point_type_info field. - * langhooks-def.h (LANG_HOOKS_GET_FIXED_POINT_TYPE_INFO): New - macro. - (LANG_HOOKS_FOR_TYPES_INITIALIZER): Initialize the - get_fixed_point_type_info field. - * dwarf2out.h (enum fixed_point_scale_factor): New. - (struct fixed_point_type_info): New. - * dwarf2out.c (base_type_die): In DWARFv3 or non-strict DWARF - mode, get fixed-point type information using the debugging hook - and describe it in DWARF, if any. - -2015-12-17 Pierre-Marie de Rodat - - * langhooks.h (struct lang_hooks_for_types): Add a - get_debug_type field. - * langhooks-def.h (LANG_HOOKS_GET_DEBUG_TYPE): New macro. - (LANG_HOOKS_FOR_TYPES_INITIALIZER): Initialize the - get_debug_type field. - * dwarf2out.h (struct array_descr_info): Add an array-wide - stride field. - * dwarf2out.c (modified_type_die): Invoke the get_debug_type - language hook, process its result instead, if any. - (gen_descr_array_type_die): Add array-wide stride processing. - -2015-12-17 Pierre-Marie de Rodat - - * debug.h (struct gcc_debug_hooks): Add a new size_function - hook. - * debug.c (do_nothing_debug_hooks): Set the size_function field - to no-op. - * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise. - * sdbout.c (sdb_debug_hooks): Likewise. - * vmsdbgout.c (vmsdbg_debug_hooks): Likewise. - * stor-layout.c (finalize_size_functions): Let the debug info - back-end know about the implementation of size functions. - * dwarf2out.h (dw_discr_list_ref): New typedef. - (enum dw_val_class): Add value classes for discriminant values - and discriminant lists. - (struct dw_discr_value): New structure. - (struct dw_val_node): Add discriminant values and discriminant - lists to the union. - (struct dw_loc_descr_node): Add frame_offset_rel and - dw_loc_frame_offset (only for checking) fields to handle DWARF - procedures generation. - (struct dw_discr_list_node): New structure. - * dwarf2out.c (dwarf2out_size_function): New. - (dwarf2_debug_hooks): Set the size_function field to - dwarf2out_size_function. - (dwarf2_lineno_debug_hooks): Set the size_function field to - no-op. - (new_loc_descr): Initialize the - dw_loc_frame_offset field. - (dwarf_proc_stack_usage_map): New. - (dw_val_equal_p): Handle discriminants. - (size_of_discr_value): New. - (size_of_discr_list): New. - (size_of_die): Handle discriminants. - (add_loc_descr_to_each): New. - (add_loc_list): New. - (print_discr_value): New. - (print_dw_val): Handle discriminants. - (value_format): Handle discriminants. - (output_discr_value): New. - (output_die): Handle discriminants. - (output_loc_operands): Handle DW_OP_call2 and DW_OP_call4. - (uint_loc_descriptor): New. - (uint_comparison_loc_list): New. - (loc_list_from_uint_comparison): New. - (add_discr_value): New. - (add_discr_list): New. - (AT_discr_list): New. - (loc_descr_to_next_no_op): New. - (free_loc_descr): New. - (loc_descr_without_nops): New. - (struct loc_descr_context): Add a dpi field. - (struct dwarf_procedure_info): New helper structure. - (new_dwarf_proc_die): New. - (is_handled_procedure_type): New. - (resolve_args_picking_1): New. - (resolve_args_picking): New. - (function_to_dwarf_procedure): New. - (copy_dwarf_procedure): New. - (copy_dwarf_procs_ref_in_attrs): New. - (copy_dwarf_procs_ref_in_dies): New. - (break_out_comdat_types): Copy DWARF procedures along with the - types that reference them. - (loc_list_from_tree): Rename into loc_list_from_tree_1. Handle - CALL_EXPR in the cases suitable for DWARF procedures. Handle - for PARM_DECL when generating a location description for a DWARF - procedure. Handle big unsigned INTEGER_CST nodes. Handle - NON_LVALUE_EXPR, EXACT_DIV_EXPR and all unsigned comparison - operators. Add a wrapper for loc_list_from_tree that strips - DW_OP_nop operations from the result. - (type_byte_size): New. - (struct vlr_context): New helper structure. - (field_byte_offset): Change signature to return either a - constant offset or a location description for dynamic ones. - Handle dynamic byte offsets with constant bit offsets and handle - fields in variant parts. - (add_data_member_location): Change signature to handle dynamic - member offsets and fields in variant parts. Update call to - field_byte_offset. Handle location lists. Emit a variable data - member location only when -fgnat-encodings=minimal. - (add_bound_info): Emit self-referential bounds only when - -fgnat-encodings=minimal. - (add_byte_size_attribute): Use type_byte_size in order to handle - dynamic type sizes. Emit variable byte size only when - -fgnat-encodings=minimal and when the target DWARF version - allows them. - (add_bit_offset_attribute): Change signature to handle - variable-length records. Update call to field_byte_offset. - (gen_descr_array_type_die): Update call to gen_field_die. - Update loc_descr_context literal. - (gen_type_die_for_member): Likewise. - (gen_subprogram_die): Update calls to get_decl_die. - (gen_field_die): Change signature to handle variable-length - records. Update calls to add_bit_offset_attribute and - add_data_member_location_attribute. - (gen_inheritance_die): Update call to - add_data_member_location_attribute. - (gen_decl_die): Change signature to handle variable-length - records. Update call to gen_field_die. - (gen_inheritance_die): Change signature to handle - variable-length records. Update call to - add_data_member_location_attribute. - (is_variant_part): New. - (analyze_discr_in_predicate): New. - (get_discr_value): New. - (analyze_variants_discr): New. - (gen_variant_part): New. - (gen_member_die): Update calls to gen_decl_die. Call instead - gen_variant_part for variant parts. - (gen_type_die_with_usage): Update calls to gen_decl_die. - (process_scope_var): Likewise. - (force_decl_die): Likewise. - (declare_in_namespace): Likewise. - (dwarf2out_decl): Likewise. - (prune_unused_types_walk_loc_descr): New. - (prune_unused_types_walk_attribs): Mark DIEs referenced by - location descriptions and loc. descr. lists. - (prune_unused_types_walk): Don't mark DWARF procedures by - default. Mark variant parts since nothing is supposed to - reference them. - (dwarf2out_init): Allocate dwarf_proc_stack_usage_map. - (dwarf2out_c_finalize): Deallocate and reset - dwarf_proc_stack_usage_map. - -2015-12-17 Pierre-Marie de Rodat - - * common.opt (gnat_encodings): New variable - (dwarf_gnat_encodings): New enum type. - (fgnat_encodings): New option. - * flag-types.h (enum dwarf_gnat_encodings): New. - -2015-12-17 Christian Bruel - - * tree.h (TYPE_MODE_RAW): New macro. - * tree-streamer-out.c (pack_ts_type_common_value_fields): - Replace TYPE_MODE by TYPE_MODE_RAW. - -2015-12-17 Jakub Jelinek - - PR tree-optimization/68835 - * tree.c (get_int_cst_ext_nunits): Return - cst.get_precision () / HOST_BITS_PER_WIDE_INT + 1 - for all unsigned wi::neg_p (cst) constants. - (build_new_int_cst): If cst.get_precision is not a multiple - of HOST_BITS_PER_WIDE_INT, zero extend -1 to the precision - % HOST_BITS_PER_WIDE_INT. - -2015-12-17 Richard Biener - - PR tree-optimization/68951 - * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): - Ignore strided non-group accesses. - -2015-12-17 Andrew Burgess - - * config/arc/arc.c (arc_loop_hazard): Don't convert the jump label - rtx to an rtx_insn until we confirm it's not a return rtx. - -2015-12-17 Richard Biener - - * gimple-ssa.h (struct gimple_df): Remove modified_noreturn_calls - field. - * tree-ssa.c (delete_tree_ssa): Do not zero it. - -2015-12-17 Rainer Orth - - PR target/67973 - * configure.ac (gcc_cv_as_stabs_directive): New test. - * configure: Regenerate. - * config.in: Regenerate. - * config/darwin.h (DBX_DEBUGGING_INFO): Wrap in - HAVE_AS_STABS_DIRECTIVE. - (PREFERRED_DEBUGGING_TYPE): Likewise. - * config/i386/darwin.h (PREFERRED_DEBUGGING_TYPE): Only include - DBX_DEBUG if HAVE_AS_STABS_DIRECTIVE. - - * doc/sourcebuild.texi (Effective-Target Keywords, Environment - attributes): Document stabs. - -2015-12-16 Martin Sebor - - PR c/68868 - * ginclude/stdatomic.h (atomic_init): Use atomic_store instead - of plain assignment. - -2015-12-15 Michael Meissner - - PR target/68805 - * config/rs6000/rs6000.c (rs6000_gen_le_vsx_permute): Use ROTATE - instead of VEC_SELECT for TImode. - - * config/rs6000/vsx.md (VSX_LE): Move TImode from VSX_LE to - VSX_LE_128, so that we use ROTATE to swap the 64-bit words instead - of using VEC_SELECT. - (VSX_LE_128): Likewise. - (define_peephole2): Add peephole to eliminate double xxpermdi when - copying TImode. - -2015-12-16 John David Anglin - - PR target/68779 - * config/pa/pa.md (atomic_loaddi): Honor -mdisable-fpregs. - (atomic_loaddi_1): Likewise. - (atomic_storedi): Likewise. - (atomic_storedi_1): Likewise. - (atomic_loaddf): Likewise. - (atomic_loaddf_1): Likewise. - (atomic_storedf): Likewise. - (atomic_storedf_1): Likewise. - Move all atomic patterns to end of file. - -2015-12-16 Abderrazek Zaafrani - - * graphite-isl-ast-to-gimple.c: Include isl/schedule_node.h. - (set_separate_option): New. - (translate_isl_ast_to_gimple::set_options_for_schedule_tree): New. - (translate_isl_ast_to_gimple::scop_to_isl_ast): Use scop->schedule. - * graphite-optimize-isl.c (optimize_isl): Set scop->schedule, do not - free the computed schedule tree. - * graphite-poly.c (new_scop): Initialize scop->schedule. - * graphite.h: Include isl/schedule.h. - (struct scop): Add field schedule. - -2015-12-16 Nathan Sidwell - - * ipa-visibility.c (can_replace_by_local_alias): Make static, - check ASM_OUTPUT_DEF. - (can_replace_by_local_alias_in_vtable): Make static. - (function_and_variable_visibility): Reformat overlong comment. - -2015-12-16 Jeff Law - - * ree.c (add_removable_extension): Use reg_overlap_mentioned_p - rather than testing hard register #s. - -2015-12-16 Nathan Sidwell - - * config/nvptx/nvptx.h (OUTGOING_STATIC_CHAIN_REGNUM): Remove. - (REGISTER_NAMES): Adjust. - * config/nvptx/nvptx.c (nvptx_pass_by_reference): Avoid long line. - (nvptx_static_hain): Delete. - (write_arg_mode): Don't emit initializer if argno < 0. - (write_arg_type): Fix whitespace. - (init_frame): Initialize reg to zero if frame is zero-sized. - (nvptx_declare_function_name): Use write_arg_type to emit chain - decl. - (nvptx_output_call_insn): Adjust static chain emission. - (nvptx_goacc_reduction): Make static. - (TARGET_STATIC_CHAIN): Don't override. - -2015-12-16 Aditya Kumar - - * graphite-dependences.c (scop_get_dependences): Use local pointers. - * graphite-isl-ast-to-gimple.c - (translate_isl_ast_to_gimple::scop_to_isl_ast): Use scop->dependence. - * graphite-optimize-isl.c (optimize_isl): Same. - * graphite-poly.c (new_scop): Remove initialization of removed - members. - (free_scop): Same. - * graphite.h (struct scop): Remove individial dependence pointers and - add a scop::dependence to contain all the dependence. - -2015-12-16 Aditya Kumar - - * graphite-sese-to-poly.c (build_poly_sr): Use refs. - -2015-12-16 Aditya Kumar - Sebastian Pop - - * config.in: Regenerate. - * configure: Regenerate. - * configure.ac: Remove checks for functions that exist in isl 0.13 - or later. - * graphite-isl-ast-to-gimple.c: Remove #ifdefs and code for isl 0.12. - * graphite-optimize-isl.c: Same. - * graphite-poly.c: Same. - * graphite-sese-to-poly.c: Same. - * graphite.h: Add comment for isl 0.14. - * toplev.c (print_version): Print isl version. - -2015-12-10 Jan Hubicka - - * ipa-cp.c (ipa_get_indirect_edge_target_1): Use can_refer; do not - speculate to impossible targets. - * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise. - -2015-12-16 Aditya Kumar - Sebastian Pop - - * graphite-dependences.c (scop_get_reads): Add more dumps. - (scop_get_must_writes): Same. - (scop_get_may_writes): Same. - * graphite-poly.c (new_poly_dr): Same. - * graphite-scop-detection.c (build_cross_bb_scalars_def): Same. - (gather_bbs::before_dom_children): Same. - -2015-12-16 Kyrylo Tkachov - - * config/aarch64/aarch64.c (aarch64_extend_bitfield_pattern_p): - New function. - (aarch64_rtx_costs, ZERO_EXTEND, SIGN_EXTEND cases): Use the above - to handle extend+shift rtxes. - -2015-12-16 Kyrylo Tkachov - - PR target/68696 - * config/aarch64/aarch64-simd.md (*aarch64_simd_bsl_alt): - New pattern. - (aarch64_simd_bsl_internal): Update comment to reflect - the above. - -2015-12-16 Richard Biener - - PR tree-optimization/68870 - * tree-cfgcleanup.c (cleanup_control_expr_graph): Add first_p - parameter, if set only perform trivial constant folding. - Queue other blocks with conditions for later processing. - (cleanup_control_flow_bb): Add first_p parameter and pass it through. - (cleanup_tree_cfg_1): Pass true for the first iteration - cleanup_control_expr_graph. - -2015-12-16 Nathan Sidwell - - * config/nvptx/nvptx-protos.h (nvptx_hard_regno_mode_ok): Delete. - * config/nvptx/nvptx.h (struct machine_function): - Reimplement. Adjust all users. - * config/nvptx/nvptx.c (nvptx_declare_function_name): Move stack - and frame array generation earlier. - (nvptx_call_args): Reimplement. - (nvptx_expand_call): Adjust. - (nvptx_hard_reno_mode_ok): Delete. - (nvptx_reorg): Revert scan of hard regs. - -2015-12-16 Tom de Vries - - * opts.c (default_options_optimization): Set fipa-pta on by - default for fopenacc. - * passes.def: Move kernels pass group to pass_ipa_oacc. - * tree-pass.h (make_pass_oacc_kernels2): Remove. - (make_pass_ipa_oacc, make_pass_ipa_oacc_kernels): Declare. - * tree-ssa-loop.c (pass_oacc_kernels2, make_pass_oacc_kernels2): - Remove. - (pass_ipa_oacc, pass_ipa_oacc_kernels): New pass. - (make_pass_ipa_oacc, make_pass_ipa_oacc_kernels): New function. - * tree-ssa-structalias.c (pass_ipa_pta::clone): New function. - -2015-12-16 Richard Biener - - PR tree-optimization/68861 - * tree-vect-slp.c (vect_build_slp_tree): Properly handle - duplicate stmts when applying swapping to stmts. - -2015-12-16 Kirill Yukhin - - * config/i386/i386-c.c (ix86_target_macros_internal): Remove - duplicate check (__CLZERO__). - -2015-12-16 Matthew Wahab - - * config/arm/arm_neon.h (vqrdmlahq_lane_s16): New. - (vqrdmlahq_lane_s32): New. - (vqrdmlah_lane_s16): New. - (vqrdmlah_lane_s32): New. - (vqrdmlshq_lane_s16): New. - (vqrdmlshq_lane_s32): New. - (vqrdmlsh_lane_s16): New. - (vqrdmlsh_lane_s32): New. - * config/arm/arm_neon_builtins.def: Add "vqrdmlah_lane" and - "vqrdmlsh_lane". - -2015-12-16 Matthew Wahab - - * config/arm/arm_neon.h (vqrdmlah_s16, vqrdmlah_s32): New. - (vqrdmlahq_s16, vqrdmlahq_s32): New. - (vqrdmlsh_s16, vqrdmlsh_s32): New. - (vqrdmlahq_s16, vqrdmlshq_s32): New. - * config/arm/arm_neon_builtins.def: Add "vqrdmlah" and "vqrdmlsh". - -2015-12-16 Matthew Wahab - - * doc/sourcebuild.texi (ARM-specific attributes): Add - "arm_v8_1a_neon_ok" and "arm_v8_1a_neon_hw". - -2015-12-16 Matthew Wahab - - * config/arm/arm-c.c (arm_cpu_builtins): Define - __ARM_FEATURE_QRDMX. Clean up some trailing whitespace. - -2015-12-16 Matthew Wahab - - * config/arm/iterators.md (VQRDMLH_AS): New. - (neon_rdma_as): New. - * config/arm/neon.md - (neon_vqrdmlh): New. - (neon_vqrdmlh_lane): New. - * config/arm/unspecs.md (UNSPEC_VQRDMLAH): New. - (UNSPEC_VQRDMLSH): New. - -2015-12-16 Matthew Wahab - - * config/arm/t-aprofile: Make "armv8.1-a" and "armv8.1-a+crc" - matches for "armv8-a". - -2015-12-16 Matthew Wahab - - * config/arm/arm-arches.def: Add "armv8.1-a" and "armv8.1-a+crc". - * config/arm/arm-protos.h (FL2_ARCH8_1): New. - (FL2_FOR_ARCH8_1A): New. - * config/arm/arm-tables.opt: Regenerate. - * config/arm/arm.c (arm_arch8_1): New. - (arm_option_override): Set arm_arch8_1. - * config/arm/arm.h (TARGET_NEON_RDMA): New. - (arm_arch8_1): Declare. - * doc/invoke.texi (ARM Options, -march): Add "armv8.1-a" and - "armv8.1-a+crc". - (ARM Options, -mfpu): Fix a typo. - -2015-12-16 Kyrylo Tkachov - - PR target/68648 - * config/arm/arm.md (*andsi_iorsi3_notsi): Try to simplify - the complement of operands[3] during splitting. - -2015-12-16 Richard Biener - - PR tree-optimization/68892 - * tree-vect-slp.c (vect_analyze_slp_cost_1): Properly compute - cost for permuted loads. - -2015-12-16 Jakub Jelinek - - PR rtl-optimization/65980 - * jump.c (rtx_renumbered_equal_p) : Use - next_nonnote_nondebug_insn instead of next_real_insn and - skip over CODE_LABELs too. - -2015-12-10 Jan Hubicka - - * symtab.c (symtab_node::fixup_same_cpp_alias_visibility): - Do not copy DECL_VIRTUAL_P. - -2015-12-15 Martin Sebor - - PR c++/42121 - * tree-chkp.c (chkp_find_bound_slots_1): Handle flexible array - members. - * tree.c (type_contains_placeholder_1): Avoid assuming type has - a non-null domain or an upper bound to handle flexible array - members. - * varasm.c (output_constructor_regular_field): Same. - (output_constructor): Set min_index to integer_zero_node rather - than null when a type has no domain to avoid crashing later. - -2015-12-15 Nathan Sidwell - - * config/nvptx/nvptx.c (write_one_arg): Rename to ... - (write_arg_mode): ... here. Update callers. - (write_arg): Rename to ... - (write__arg_type): ... here. Update callers. - (write_return_mode): New fn, broken out of ... - (write_return): ... here. Rename to ... - (write_return_type): ... here. Call it. Update callers. - (write_fn_proto_from_insn): Use write_arg_mode and - write_return_mode. - (init_frame): New fn. - (nvptx_declare_function_name): Call it for frame and varargs. Only - emit outgoing static chain, if it's live. - (nvptx_output_return): Use reg_names for return reg name. - (nvptx_output_call_insn): Likewise. - (nvptx_reorg): Mark unused hard regs too. - -2015-12-15 Nathan Sidwell - - * config/nvptx/nvptx.md (nvptx_register_operand): Don't accept and - then reject subregs. - (nvptx_reg_or_mem_operand): Likewise. - (nvptx_nonmemory_operand): Likewise. - (call_insn_operand): A regular predicate, check SYMBOL_REF_FUNCTION_P. - (call_insn, call_value_insn): Address is not SImode. - * config/nvptx/nvptx.h (FIXED_REGISTERS): Make return reg fixed. - (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove - RETURN_REG class. - (REGNO_REG_CLASS): Alwaus ALL_REGS. - (PROMOTE_MODE): QI and HI are the only smaller than SI int modes. - (HARD_FRAME_POINTER_REGNUM): Delete. - (REGISTER_NAMES): Move earlier. - (struct nvptx_args): Remove 'off'. - (INIT_CUMULATIVE_ARGS): Don't initialize 'off'. - (ELIMINABLE_REGS): Remove HARD_FRAME_POINTER_REGNUM. - * config/nvptx/nvptx.c (arg_promotion): Delete. - (nvptx_expand_call): Remove check for funtype being an fntype. - -2015-12-15 Jason Merrill - - * hash-map.h, hash-table.h: Make copy constructors explicit. - -2015-12-15 Ilya Verbin - - * cgraphunit.c (output_in_order): Do not assemble "omp declare target - link" variables in ACCEL_COMPILER. - * gimplify.c (gimplify_adjust_omp_clauses): Do not remove mapping of - "omp declare target link" variables. - * omp-low.c (scan_sharing_clauses): Do not remove mapping of "omp - declare target link" variables. - (add_decls_addresses_to_decl_constructor): For "omp declare target - link" variables output address of the artificial pointer instead - of address of the variable. Set most significant bit of the size - to mark them. - (pass_data_omp_target_link): New pass_data. - (pass_omp_target_link): New class. - (find_link_var_op): New static function. - (make_pass_omp_target_link): New function. - * passes.def: Add pass_omp_target_link. - * tree-pass.h (make_pass_omp_target_link): Declare. - * varpool.c (symbol_table::output_variables): Do not assemble "omp - declare target link" variables in ACCEL_COMPILER. - -2015-12-15 Bernd Schmidt - - PR middle-end/21273 - * gensupport.c (collect_insn_data): Look for number of alternatives - in MATCH_SCRATCH. - -2015-12-15 Nathan Sidwell - - * config/nvptx/nvptx.h (HARD_REGNO_NREGS): Reformat. - (CANNOT_CHANGE_MODE_CLASS): Always return true. - (HARD_REGNO_MODE_OK): Reformat. - * config/nvptx/nvptx.md (define_expand mov): No - RETURN_REGNUM handling here. - * config/nvptx/nvptx.c (nvptx_function_value): Set ret_reg_mode - here. - (write_one_arg): No QI or HI mode args. - (write_fn_proto_from_insn): No argument promotion here. - (nvptx_output_return_insn): No return promotion here. - (nvptx_output_mov_insn): No RETURN_REGNUM handling needed. - (nvptx_output_call_insn): No return promotion here. - -2015-12-15 Martin Jambor - - PR ipa/68851 - * cgraph.c (collect_callers_of_node_1): Do not collect thunks. - * cgraph.h (cgraph_node): Change comment of collect_callers. - -2015-12-15 Jakub Jelinek - - PR tree-optimization/66688 - * tree-cfgcleanup.c (cleanup_control_flow_bb): Handle - noreturn call followed only by debug stmts by removing - the debug stmts and handling it the same as if the noreturn - call is the last stmt. - -2015-12-14 Steve Ellcey - - * config/mips/mips.c (mips_promote_function_mode): New function. - (TARGET_PROMOTE_FUNCTION_MODE): Define as above function. - (TARGET_PROMOTE_PROTOTYPES): Remove. - -2015-12-14 Jason Merrill - - PR c++/68309 - * hash-table.h: Add copy constructor. - * hash-map.h: Add copy constructor. - -2015-12-14 Tom de Vries - - PR other/68882 - * gimple-pretty-print.c (dump_ssaname_info_to_file): New function. - * gimple-pretty-print.h (dump_ssaname_info_to_file): Declare. - * tree-cfg.c (dump_default_def): New function. - (dump_function_to_file): Dump default defs for arguments, static chain, - and decl-by-reference. - -2015-12-14 Nathan Sidwell - - * config/nvptx/nvptx.h (PARM_BOUNDARY): Set to 32. - * config/nvptx/nvptx.c (PASS_IN_REG_P, RETURN_IN_REG_P): Delete. - (pass_in_memory, promote_arg, promote_return): New. - (nvptx_function_arg_boundary): Delete. - (nvptx_function_value): Use promote_return. - (nvptx_pass_by_reference): Use pass_in_memory. - (nvptx_return_in_memory): Use pass_in_memory. - (nvptx_promote_function_mode): Use promote_arg. - (write_arg): Adjust arg splitting logic. - (write_return): Check and clear ret_reg_mode, if needed. - (write_fn_proto, nvptx_declare_function_name): Adust write_return - calls. - (TARGET_RUNCTION_ARG_BOUNDARY, - TARGET_FUNCTION_ARG_ROUND_BOUNDARY): Don't override. - -2015-12-14 Jakub Jelinek - - PR c/68833 - * common.opt (Wmissing-noreturn): Add Warning option. - * opts-common.c (control_warning_option): If opt is - alias_target with alias_arg, set arg to it. - -2015-12-14 Segher Boessenkool - - PR target/68865 - PR target/68879 - * config/rs6000/rs6000.md (cstore_si_as_di): Force all operands - into registers. - -2015-12-14 Richard Biener - - Revert accidentially applied - PR tree-optimization/68707 - PR tree-optimization/67323 - * tree-vect-slp.c (vect_analyze_slp_instance): Drop SLP instances - if they can be vectorized using load/store-lane instructions. - -2015-12-14 Richard Biener - - PR tree-optimization/68852 - * tree-vectorizer.h (struct _slp_tree): Add def_type member. - (SLP_TREE_DEF_TYPE): New accessor. - * tree-vect-stmts.c (vect_is_simple_use): Remove BB vectorization - hack. - * tree-vect-slp.c (vect_create_new_slp_node): Initialize - SLP_TREE_DEF_TYPE. - (vect_build_slp_tree): When a node is to be built up from scalars - do not push a NULL as child but instead set its def_type to - vect_external_def. - (vect_analyze_slp_cost_1): Check for child def-type instead - of NULL. - (vect_detect_hybrid_slp_stmts): Likewise. - (vect_bb_slp_scalar_cost): Likewise. - (vect_get_slp_defs): Likewise. - (vect_slp_analyze_node_operations): Likewise. Before - processing node push the children def-types to the underlying - stmts vinfo and restore it afterwards. - (vect_schedule_slp_instance): Likewise. - (vect_slp_analyze_bb_1): Do not mark stmts not in SLP instances - as not vectorizable. - -2015-12-14 Richard Biener - - PR tree-optimization/68775 - * tree-vect-slp.c (vect_build_slp_tree): Make sure to apply - a operand swapping even if replacing the op with scalars. - -2015-12-14 Kyrylo Tkachov - - * combine.c (change_zero_ext): Do not create a shift of zero length. - -2015-12-14 Claudiu Zissulescu - - * config/arc/arc.c (TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P): - Provide target hook. - (arc_no_speculation_in_delay_slots_p): New function. - -2015-12-14 Claudiu Zissulescu - Andrew Burgess - - * config/arc/arc.c (frame_move): Set frame related flag. - (arc_save_restore): Emit epilogue related DWARF2 information. - (arc_expand_epilogue): Likewise. - * config/arc/arc.opt (mno-epilogue-cfi): Remove. - (mepilogue-cfi): Likewise. - * doc/invoke.texi: Remove -m[no]-epilogue-cfi documentation. - -2015-12-14 Martin Jambor - - PR ipa/66616 - * ipa-cp.c (propagate_constants_accross_call): Move thuk check... - (call_passes_through_thunk_p): ...here. - (find_more_scalar_values_for_callers_subset): Perform thunk checks - like propagate_constants_accross_call does. - -2015-12-14 Jakub Jelinek - - PR rtl-optimization/68730 - * cfgrtl.c (cfg_layout_finalize): Free dominators. - -2015-12-13 Alexandre Oliva - - PR debug/67355 - * var-tracking.c (reverse_op): Don't add dummy zero to reverse - ops that simplify back to the original value. - * alias.c (refs_newer_value_p): Cut off recursion for - expressions containing the original value. - -2015-12-13 Kazu Kirata - - * config/m68k/m68k.md (load feeding clear byte): New peephole2. - -2015-12-13 Tom de Vries - - * tree-ssa-structalias.c (find_func_clobbers): Handle sizes and kinds - parameters of GOACC_paralllel. - -2015-12-10 Jan Hubicka - - * cgraph.c (cgraph_node::get_untransformed_body): Pass compressed - flag to lto_get_section_data. - * varpool.c (varpool_node::get_constructor): Likewise. - * lto-section-in.c (lto_get_section_data): Add new flag decompress. - (lto_free_section_data): Likewise. - (lto_get_raw_section_data): New function. - (lto_free_raw_section_data): New function. - (copy_function_or_variable): Copy sections w/o decompressing. - (lto_output_decl_state_refs): Picke compressed bit. - * lto-streamer.h (lto_in_decl_state): New flag compressed. - (lto_out_decl_state): Likewise. - (lto_get_section_data, lto_free_section_data): Update prototypes - (lto_get_raw_section_data, lto_free_raw_section_data): Declare. - (lto_write_raw_data): Declare. - (lto_begin_section): Remove FIXME. - (lto_write_raw_data): New function. - (lto_write_stream): Remove FIXME. - (lto_new_out_decl_state): Set compressed flag. - -2015-12-10 Jan Hubicka - - * tree.c (free_lang_data_in_type, find_decls_types_r): Also free - unnecesary type decls. - * tree.h (is_redundant_typedef): Declare. - * dwarf2out.c (is_redundant_typedef): Export; booleanize - -2015-12-12 Eric Botcazou - - * config/sparc/sparc.h (TARGET_SUPPORTS_WIDE_INT): Define to 1. - * config/sparc/sparc.c (sparc_emit_set_const64): Remove code - conditionalized on HOST_BITS_PER_WIDE_INT == 32. - (sparc_cannot_force_const_mem) : New case. - : Remove VOIDmode test. - (epilogue_renumber) : New case. - (sparc_print_operand): Remove support for CONST_DOUBLE with VOIDmode. - (sparc_assemble_integer): Likewise. - (set_extends): Likewise. - (sparc_rtx_costs) : Use SMALL_INT. - : New case. - : Remove support for VOIDmode. - : Remove support for CONST_DOUBLE with VOIDmode. - * config/sparc/predicates.md (const_zero_operand): Add const_wide_int. - (const_all_ones_operand): Likewise. - (uns_small_int_operand): Remove const_double and code conditionalized - on HOST_BITS_PER_WIDE_INT == 32. - (arith_double_operand): Likewise. - (arith_double_add_operand): Likewise. - (input_operand): Remove support for CONST_DOUBLE with DImode. - * config/sparc/sparc.md (DImode CONST_INT splitter): Remove code - conditionalized on HOST_BITS_PER_WIDE_INT == 32. - (DFmode CONST_DOUBLE splitter): Likewise. - (*adddi3_insn_sp32): Likewise. - (*subdi3_insn_sp32): Likewise. - (DImode logical splitter): Likewise. - (DImode CONST_DOUBLE splitter): Delete. - -2015-12-12 Paolo Bonzini - - PR sanitizer/68418 - * c-family/c-ubsan.c (ubsan_instrument_shift): Disable - sanitization of left shifts for wrapping signed types as well. - -2015-12-11 Eric Botcazou - - PR middle-end/68215 - * tree-vect-generic.c (tree_vec_extract): Remove GSI parameter. - Do not gimplify the result. - (do_unop): Adjust call to tree_vec_extract. - (do_binop): Likewise. - (do_compare): Likewise. - (do_plus_minus): Likewise. - (do_negate): Likewise. - (expand_vector_condition): Likewise. - (do_cond): Likewise. - -2015-12-11 Nathan Sidwell - - * config/nvptx/nvptx.h (RETURN_ADDR_REGNO): Delete. - (OUTGOING_ARG_POINTER_REGNUM): Delete. - (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete. - (REGISTER_NAMES): Name static chain regs. - * config/nvptx/nvptx.c (nvptx_function_arg): Add ARG_UNUSED, merge - ifs. - (nvptx_incoming_arg): Merge ifs. - (nvptx_function_arg_boundary): Reimplement to avoid mixing units. - (nvptx_function_value): Tail call nvptx_libcall_value. - (nvptx_pass_by_reference): Add ARG_UNUSED. - (nvptx_static_chain): Use conditional op. - (nvptx_handle_kernel_attribute): Use VOID_TYPE_P. - -2015-12-11 Jan-Benedict Glaw - Dominique d'Humieres - - PR target/26427 - PR target/33120 - PR testsuite/35710 - * config/darwin.c (darwin_use_anchors_for_symbol_p): Fix indention and - trailing whitespace. - -2015-12-11 Jan Beulich - - * cfgexpand.c (expand_one_var): Exit early for static and - external variables when adjusting stack alignment related. - -2015-12-11 Dominik Vogt - - * config/s390/s390.c (s390_rtx_costs) - (s390_cannot_force_const_mem, legitimate_pic_operand_p) - (s390_preferred_reload_class, s390_reload_symref_address) - (legitimate_reload_constant_p, print_operand): Wide int support. - * config/s390/predicates.md ("const0_operand", "constm1_operand") - ("consttable_operand"): Likewise. - ("larl_operand"): Add a comment. - * config/s390/s390.h (TARGET_SUPPORTS_WIDE_INT): Enable wide int - support. - -2015-12-11 Nathan Sidwell - - * config/nvptx/nvptx.h (TARGET_SUPPORTS_WIDE_INT): Define. - * config/nvptx/nvptx.c (nvptxx_assemble_integer): Return false for - unrecognizable RTX. - -2015-12-11 Tom de Vries - - * passes.def: Remove unpaired TERMINATE_PASS_LIST. - -2015-12-11 Michael Matz - - * hash-map.h (hash_map::hash_map): Gather statistics only - when GATHER_STATISTICS is true. - * hash-set.h (hash_set::hash_set): Ditto. - * hash-table.h (hash_table::hash_table): Ditto. - (hash_table::create_ggc): Ditto. - -2015-12-11 Martin Jambor - - PR ipa/68064 - * ipa-prop.c (ipa_compute_jump_functions_for_edge): Add checking - assert that align is nonzero. - -2015-12-11 Dominik Vogt - - * config/s390/s390.c (s390_expand_setmem): Use new expanders. - * config/s390/s390.md ("*setmem_long") - ("*setmem_long_and", "*setmem_long_31z"): Fix warnings. - ("*setmem_long_and_31z"): New define_insn. - ("setmem_long_"): New expanders. - * (): New mode attribute - -2015-12-11 Dominik Vogt - - * config/s390/s390.md ("movstr", "*movstr"): Fix warning. - ("movstr"): New indirect expanders used by "movstr". - -2015-12-11 Martin Liska - Uros Bizjak - - PR target/67484 - * config/i386/i386.c (ix86_valid_target_attribute_tree): - Use ggc_strdup to copy option_strings to opts->x_ix86_arch_string and - opts->x_ix86_tune_string. - -2015-12-11 Richard Biener - - * lto-streamer.h (lto_simple_header_with_strings): Remove - main_size field already in lto_simple_header. - -2015-12-11 Ilya Enkovich - - * tree-vect-stmts.c (vectorizable_mask_load_store): Check - mask vectype. - -2015-12-11 Ilya Enkovich - - * config/i386/i386.c (ix86_get_mask_mode): Use scalar - modes for 32 and 16 byte boolean vectors when possible. - -2015-12-11 Segher Boessenkool - - PR rtl-optimization/67778 - PR rtl-optimization/68634 - * shrink-wrap.c (try_shrink_wrapping): Add a comment about why we want - to put the prologue earlier. When determining if an earlier block is - suitable, make sure it dominates every block reachable from it. - -2015-12-11 Segher Boessenkool - - PR rtl-optimization/68814 - * rtlanal.c (set_noop_p): Use BITS_BIG_ENDIAN instead of - BYTES_BIG_ENDIAN. - -2015-12-10 Nathan Sidwell - - * config/nvptx/nvptx.c (nvptx_function_arg, - nvptx_function_incoming_arg, nvptx_function_arg_advance, - nvptx_strict_argument_naming, nvptx_function_arg_boundary, - nvptx_libcall_value, nvptx_function_value, - nvptx_function_value_regno_p, nvptx_pass_by_reference, - nvptx_return_in_memory, nvptx_promote_function_mode, - nvptx_static_chain): Move earlier. - (write_one_arg): Break out as helper fn for ... - (write_arg): ... this new function. Adjust all callers. - -2015-12-10 Jan Hubicka - - * lto-streamer-out.c (wrap_refs): Only wrap public decls. - -2015-12-10 Jan Hubicka - - * ipa-cp.c (ipcp_cloning_candidate_p): Use node->optimize_for_size_p. - (good_cloning_opportunity_p): Likewise. - (gather_context_independent_values): Do not return true when - polymorphic call context is known or when we have known aggregate - value of unused parameter. - (estimate_local_effects): Try to create clone for all context - when either some params are substituted or devirtualization is possible - or some params can be removed; use local flag instead of - node->will_be_removed_from_program_if_no_direct_calls_p. - (identify_dead_nodes): Likewise. - -2015-12-10 David Malcolm - - * doc/invoke.texi (-Wall): Add -Wmisleading-indentation to the - list. - (-Wmisleading-indentation): Update documentation to reflect - being enabled by -Wall in C/C++. - -2015-12-10 Vladimir Makarov - - PR rtl-optimization/68691 - * lra-spills.c (lra_final_code_change): Check pseudo occurrence - number in non-debug insns and remove debug insns if necessary. - -2015-12-10 Martin Sebor - - * invoke.texi (Warning Options): Update -Wall options. Clarify - when some -Wextra options are enabled. Add -Wplacement-new example. - -2015-12-10 Uros Bizjak - - * graphite-scop-detection.c (gather_bbs::before_dom_children): - Change return type to an edge. Always return NULL. - -2015-12-10 Jeff Law - - PR tree-optimization/68619 - * tree-ssa-dom.c (dom_opt_dom_walker::before_dom_children): Propgate - return value from optimize_stmt. - (dom_opt_dom_walker): Add new argument to dom_walker constructor. - (pass_dominator:execute): If a block has an unreachable edge, - remove all jump threads through any successor of the affected block. - (record_equivalences_from_phis): Ignore alternative if the edge - does not have EDGE_EXECUTABLE set. - (single_incoming_edge_ignoring_loop_edges): Similarly. - (optimize_stmt): If a gimple_code has a compile-time constant - condition, return the edge taken for that constant value. Also - change the condition to true/false as necessary. - * domwalk.h (dom_walker::dom_walker): Add new argument - skip_unreachable_blocks. Don't provide empty constructor body. - (dom_walker::before_dom_children): Change return type. - (dom_walker::bb_reachable): Declare new private method. - (dom_walker::propagate_unreachable_to_edges): Likewise. - (dom_walker::m_unreachable_dom): Declare new private data member. - (dom_walker::m_skip_unreachable_blocks): Likewise. - * domwalk.c: Include dumpfile.h. - (dom_walker::dom_walker): New constructor. Initialize private data - members. If needed, set EDGE_EXECUTABLE for all edges in the CFG, - extracted from tree-ssa-sccvn.c. - (dom_walker::bb_reachable): New method extracted from tree-ssa-sccvn.c - (dom_walker::propagate_unreachable_to_edges): Likewise. - (dom_walker::walk): Only call before_dom_children on reachable - blocks. If before_dom_children returns an edge, then clear - EDGE_EXECUTABLE for all other outgoing edges from the same block. - For unreachable blocks, call propagate_unreachable_to_edges. - Similarly, only call after_dom_children on reachable blocks. For - unreachable blocks, conditionally clear m_unreachable_dom. - * tree-ssa-sccvn.c (sccvn_dom_walker::unreachable_dom): Remove - private data member. - (sccvn_dom_walker::after_dom_children): Use methods from dom_walker - class. - (run_scc_vn): Likewise. - (sccvn_dom_walker::before_dom_children): Likewise. Return the taken - outgoing edge if a COND, SWITCH, or GOTO are optimized. - * compare-elim.c (find_comparison_dom_walker::before_dom_children): - Change return type to an edge. Always return NULL. - * fwprop.c (single_def_use_dom_walker::before_dom_children): Likewise. - * gimple-ssa-strength-reduction.c - (find_candidates_dom_walker::before_dom_children): Likewise. - * ipa-prop.c (analysis_dom_walker::before_dom_children): Likewise. - (ipcp_modif_dom_walker::before_dom_children): Likewise. - * tree-into-ssa.c (rewrite_dom_walker::before_dom_children): Likewise. - (rewrite_update_dom_walker::before_dom_children): Likewise. - (mark_def_dom_children::before_dom_children): Likewise. - * tree-ssa-dse.c (dse_dom_walker::before_dom_children): Likewise. - * tree-ssa-loop-im.c - (invariantness_dom_walker::before_dom_children): Likewise. - (move_computations_dom_walker::before_dom_walker): Likewise. - * tree-ssa-phiopt.c - (nontrapping_dom_walker::before_dom_children): Likewise. - * tree-ssa-pre.c - (eliminate_dom_walker::before_dom_children): Likewise. - * tree-ssa-propagate.c - (substitute_and_fold_dom_walker::before_dom_children): Likewise. - * tree-ssa-strlen.c - (strlen_dom_walker::before_dom_children): Likewise. - * tree-ssa-uncprop.c - (uncprop_dom_walker::before_dom_children): Likewise. - -2015-12-10 Jakub Jelinek - - PR rtl-optimization/68376 - PR rtl-optimization/68670 - * ifcvt.c (noce_try_abs): For one_cmpl allow < 0, >= 0 - or > -1 conditions regardless of negate, and disallow - all other conditions. - -2015-12-10 Ilya Enkovich - - * tree-chkp.c (chkp_call_returns_bounds_p): Return true - for VA_ARG call. - (chkp_fixup_inlined_call): New. - * tree-chkp.h (chkp_fixup_inlined_call): New. - * tree-stdarg.c: Include tree-chkp.h. - (expand_ifn_va_arg_1): Fixup bndret calls for removed - VA_ARG calls. - -2015-12-10 Martin Jambor - - * tree-inline.c (duplicate_remap_omp_clause_seq): New function. - (replace_locals_op): Duplicate gimple sequences in OMP clauses. - -2015-12-10 David Malcolm - - * graphite-optimize-isl.c (scop_get_domains): Fix indentation. - -2015-12-10 David Malcolm - - * ifcvt.c (noce_try_inverse_constants): Fix indentation. - -2015-12-10 David Malcolm - - * regrename.c (scan_rtx_address): Fix indentation. - -2015-12-10 David Malcolm - - * function.c (locate_and_pad_parm): Fix indentation. - -2015-12-10 Richard Biener - - * tree-ssa-structalias.c (struct variable_info): Add - is_ipa_escape_point flag. - (new_var_info): Initialize to false. - (find_func_aliases): Generate escape constraints for stores - properly in IPA mode. - (ipa_pta_execute): Compute is_ipa_escape_point for globals. - -2015-12-10 Claudiu Zissulescu - - * config/arc/atomic.md: Add new file. - -2015-12-10 Claudiu Zissulescu - - * config/arc/arc-protos.h (arc_expand_atomic_op): Prototype. - (arc_split_compare_and_swap): Likewise. - (arc_expand_compare_and_swap): Likewise. - * config/arc/arc.c (arc_init): Check usage atomic option. - (arc_pre_atomic_barrier): New function. - (arc_post_atomic_barrier): Likewise. - (emit_unlikely_jump): Likewise. - (arc_expand_compare_and_swap_qh): Likewise. - (arc_expand_compare_and_swap): Likewise. - (arc_split_compare_and_swap): Likewise. - (arc_expand_atomic_op): Likewise. - * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): New C macro. - (ASM_SPEC): Enable mlock option when matomic is used. - * config/arc/arc.md (UNSPEC_ARC_MEMBAR): Define. - (VUNSPEC_ARC_CAS): Likewise. - (VUNSPEC_ARC_LL): Likewise. - (VUNSPEC_ARC_SC): Likewise. - (VUNSPEC_ARC_EX): Likewise. - * config/arc/arc.opt (matomic): New option. - * config/arc/constraints.md (ATO): New constraint. - * config/arc/predicates.md (mem_noofs_operand): New predicate. - * doc/invoke.texi: Document -matomic. - * config/arc/atomic.md: New file. - -2015-12-10 Richard Biener - - PR tree-optimization/68817 - * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Detect - gaps early. - -2015-12-10 Ilya Enkovich - - * tree-vect-stmts.c (vectorizable_assignment): Support - useless boolean conversion. - -2015-12-10 Alan Lawrence - - * doc/install.texi: Add note against GNAT 4.8 on ARM targets. - -2015-12-10 Jakub Jelinek - - PR tree-optimization/68785 - * gimple-fold.c (fold_ctor_reference): Pass return value from - native_encode_expr to native_interpret_expr. - * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Likewise. - -2015-12-10 Richard Biener - - PR ipa/68331 - * tree-ssa-structalias.c (set_uids_in_ptset): Add fndecl - parameter and make vars_contains_nonlocal properly have - function-scope semantics in IPA mode. - (find_what_var_points_to): Add fndecl parameter. - (find_what_p_points_to): Likewise. - (pt_solution_includes_global): Remove IPA PTA early out. - (compute_points_to_sets): Adjust. - (ipa_pta_execute): Likewise. Clear final_solutions after - each function. - -2015-12-10 Tom de Vries - - PR ada/65102 - * doc/include/fdl.texi: Add nodefaultgnufreedocumentationlicensenode - ifdef to allow disabling default @node GNU Free Documentation License. - -2015-12-10 Richard Biener - - * tree-ssa-structalias.c (create_function_info_for): Add missing - constraint from nonlocal for DECL_RESULT. - -2015-12-10 Richard Biener - - * tree-if-conv.c: Include params.h. - (ifcvt_memrefs_wont_trap): Use PARAM_ALLOW_STORE_DATA_RACES - instead of flag_tree_loop_if_convert_stores to guard cases - we'd introduce store-data-races. - -2015-12-10 Richard Biener - - PR ipa/68721 - * ipa-split.c (split_function): Record return value properly - when the split part doesn't set it. - -2015-12-10 Richard Biener - - PR tree-optimization/68806 - * tree-vect-loop.c (vect_analyze_loop_2): Properly detect - reduction chains and ignore SLP reductions. - -2015-12-10 Richard Biener - - * tree-if-conv.c (if_convertible_loop_p_1): Do not compute - dependences. - (if_convertible_loop_p): Adjust. - -2015-12-10 Tom de Vries - - * tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Remove - invalid assert. - -2015-12-10 Martin Liska - - * tree-vect-data-refs.c: Free an overwritten dataref. - -2015-12-09 John David Anglin - - PR target/68729 - * config/pa/pa.c (pa_emit_move_sequence): Don't check that mode is - consistent with modes of the input and output operands when doing - reloads to and from floating point registers. Do reload for all - address forms. - -2015-12-08 Jan Hubicka - - PR ipa/61886 - PR middle-end/25140 - * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Use compare_base_decls - (nonoverlapping_component_refs_of_decl_p): Update sanity check. - (decl_refs_may_alias_p): Use compare_base_decls. - * alias.c: Include cgraph.h - (get_alias_set): Add cut-off for recursion. - (rtx_equal_for_memref_p): Use rtx_equal_for_memref_p. - (compare_base_decls): New function. - (base_alias_check): Likewise. - (memrefs_conflict_p): Likewise. - (nonoverlapping_memrefs_p): Likewise. - * alias.h (compare_base_decls): Declare. - -2015-12-08 Jan Hubicka - - PR ipa/61886 - * ipa-visibility.c (function_and_variable_visibility): Fix vtable - rewritting guard. - -2015-12-08 Jan Hubicka - - PR ipa/61886 - PR middle-end/25140 - * ipa-reference.c (ipa_reference_get_not_read_global, - ipa_reference_get_not_read_global): Fix WRT aliases. - (is_improper): Break out from ... - (is_proper_for_analysis): ... here; fix WRT aliases. - (analyze_function, generate_summary, - ipa_reference_write_optimization_summary, - ipa_reference_read_optimization_summary): Use ipa_reference_var_uid. - * ipa-refrence.h (ipa_reference_var_uid): New inline. - * tree-ssa-alias.c: Revert my accidental previous commit. - (ref_maybe_used_by_call_p_1, - call_may_clobber_ref_p_1): Use ipa_reference_var_uid. - -2015-12-09 Andreas Tobler - - * config/rs6000/freebsd64.h: Remove the redefinition of WCHAR_TYPE. - -2015-12-09 Aditya Kumar - Sebastian Pop - - * graphite-optimize-isl.c: Include isl/ast_build.h - (optimize_isl): Set several isl_options_set_* options. - -2015-12-09 Aditya Kumar - Sebastian Pop - - * graphite-sese-to-poly.c (pdr_add_memory_accesses): Iterate in - the same order as adding data reference access functions. - -2015-12-09 Aditya Kumar - Sebastian Pop - - * graphite-optimize-isl.c (optimize_isl): Improve dump message. - -2015-12-09 Marek Polacek - - PR tree-optimization/66949 - * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Don't call - single_non_singleton_phi_for_edges to get the PHI from - factor_out_conditional_conversion. Use NULL_TREE instead of NULL. - (factor_out_conditional_conversion): Adjust declaration. Make it - return the newly-created PHI. - -2015-12-09 James Greenhalgh - - * config/aarch64/aarch64-protos.h - (aarch64_cannot_change_mode_class): Bring back. - * config/aarch64/aarch64.c - (aarch64_cannot_change_mode_class): Likewise. - * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Likewise. - * config/aarch64/aarch64.md (aarch64_movdi_low): Use - zero_extract rather than truncate. - (aarch64_movdi_high): Likewise. - -2015-12-09 Jakub Jelinek - - PR tree-optimization/68786 - * tree-if-conv.c: Include builtins.h. - (predicate_mem_writes): Put result of get_object_alignment (ref) - into second argument's value. - * tree-vect-stmts.c (vectorizable_mask_load_store): Put minimum - pointer alignment into second argument's value. - * tree-data-ref.c (get_references_in_stmt): Use value of second - argument for build_aligned_type, and only the type to build - a zero second argument for MEM_REF. - * internal-fn.c (expand_mask_load_optab_fn, - expand_mask_store_optab_fn): Likewise. - -2015-12-09 Richard Biener - - PR tree-optimization/68583 - * tree-if-conv.c (if_convertible_phi_p): Drop - flag_tree_loop_if_convert_stores check in favor of the - existing any_mask_load_store check. - (insert_gimplified_predicates): Likewise. - (combine_blocks): Likewise. - (tree_if_conversion): Likewise. - (ifcvt_memrefs_wont_trap): Properly check - flag_tree_loop_if_convert_stores in all places that can end - up introducing store-data-races. - (if_convertible_gimple_assign_stmt_p): Remove restriction - on flag_tree_loop_if_convert_stores for stores we can if-convert - without introducing store-data-races. Force versioning for - all if-converted stores. - -2015-12-09 Tom de Vries - - PR tree-optimization/68716 - * tree-ssa-structalias.c (find_func_clobbers): Fix handling of - BUILT_IN_GOMP_PARALLEL and BUILT_IN_GOACC_PARALLEL. - -2015-12-09 Martin Liska - - * hash-traits.h (struct typed_delete_remove): New function. - (typed_delete_remove ::remove): Likewise. - * tree-ssa-loop-ivopts.c (struct iv_common_cand): Replace - auto_vec with vec. - (record_common_cand): Replace XNEW with operator new. - -2015-12-09 Martin Liska - - * tree-if-conv.c (ifcvt_local_dce): Replace vec with auto_vec. - -2015-12-09 Martin Liska - - PR ipa/68790 - * ipa-icf.c (sem_function::param_used_p): Return true - if ipa_node_params_sum equals to NULL. - -2015-12-09 Richard Biener - - PR tree-optimization/68583 - * tree-if-conv.c (ifc_dr): Make flags bool, add w_unconditionally - flag and rename predicates to w_predicate, rw_predicate and - base_w_predicate. - (DR_WRITTEN_AT_LEAST_ONCE): Rename to ... - (DR_BASE_W_UNCONDITIONALLY): ... this. - (DR_W_UNCONDITIONALLY): Add. - (hash_memrefs_baserefs_and_store_DRs_read): Adjust. Compute - unconditionally written separately from read or written. - (ifcvt_memrefs_wont_trap): Properly treat reads. - (ifcvt_could_trap_p): Inline ... - (if_convertible_gimple_assign_stmt_p): ... here. Refactor - to avoid code duplication. - (if_convertible_loop_p_1): Adjust and properly initialize - predicates. - -2015-12-09 Richard Biener - - * tree-vect-stmts.c (vectorizable_load): Set new vinfo only - if it was not yet set. - * tree-vectorizer.h (set_vinfo_for_stmt): Assert we don't - overwrite an existing entry. - -2015-12-09 Chung-Lin Tang - - * c-family/c-omp.c (c_finish_oacc_wait): Remove add_stmt() call. - * c/c-parser.c (c_parser_oacc_wait): Add add_stmt() call. - * cp/parser.c (cp_parser_oacc_wait): Add finish_expr_stmt() call. - -2015-12-08 Jan Hubicka - - PR ipa/61886 - * symtab.c (symtab_node::equal_address_to): New parameter - MEMORY_ACCESSED. - * cgraph.h (symtab_node::equal_address_to): Update prototype. - -2015-12-08 DJ Delorie - - * config/rx/rx.opt (-mjsr): Add. - * config/rx/predicates.md (rx_call_operand): Avoid overflowing - calls when -mjsr. - * config/rx/rx.c (rx_function_ok_for_sibcall): Likewise for - overflowing jumps. - * doc/invoke.texi (-mjsr): Document it. - -2015-12-08 Jan Hubicka - - PR ipa/61886 - * lto-streamer.h (lto_symtab_merge_decls, lto_symtab_merge_symbols, - lto_symtab_prevailing_decl): MOve to lto-symtab.h. - * lto-streamer-out.c (DFS::DFS_write_tree_body): Check that - DECL_ABSTRACT_ORIGIN is not error_mark_node. - -2015-12-08 David Malcolm - - * tree-nested.c (convert_tramp_reference_stmt): Fix indentation. - -2015-12-08 David Malcolm - - * tree-ssa-loop-unswitch.c (tree_unswitch_outer_loop): Fix - indentation. - -2015-12-08 Jan Hubicka - - PR ipa/61886 - * lto-cgraph.c (compute_ltrans_boundary): Add transparent alias targets - into the boundary. - -2015-12-08 Jan Hubicka - - PR ipa/61886 - * varpool.c (varpool_node::get_availability): Recurse only on - weakrefs with definition in the target. - (symbol_table::remove_unreferenced_decls): Keep aliases in the boundary. - -2015-12-08 Jan Hubicka - - PR ipa/61886 - * ipa-visibility.c (can_replace_by_local_alias): Look through - transparent aliases; refuse weakrefs. - (update_visibility_by_resolution_info): Skip transparent aliases in the - analysis part - -2015-12-08 Jan Hubicka - - PR ipa/61886 - * symtab.c (symtab_node::verify_base): Fix thinko in a conditional. - (symtab_node::noninterposable_alias): Do not accept transparent - aliases. - -2015-12-08 Nathan Sidwell - - * config/nvptx/nvptx.c (decl_chunk_size, decl_chunk_mode, - decl_offset, init_part, object_size, object_finished): Replace - with ... - (struct init_frag): ... this new struct variable. - (begin_decl_field, output_decl_chunk): Replace with ... - (output_init_frag): ... this new function. - (nvptx_assemble_value): Reimplement. - (nvptx_assemble_integer, nvptx_output_skip): Adjust. - (nvptx_assemble_decl_begin, nvptx_assemble_decl_end): Adjust. - (nvptx_output_aligned_decl): Call nvptx_assemble_decl_end. - -2015-12-08 Eric Botcazou - - PR middle-end/68291 - PR middle-end/68292 - * cfgexpand.c (set_rtl): Always accept mode mismatch for SSA names - with BLKmode promoted mode based on RESULT_DECLs. - -2015-12-08 Uros Bizjak - - PR target/68701 - * config/i386/i386.c (ix86_option_override_internal): Enable - -maccumulate-outgoing-args when %ebp is fixed due to stack - realignment requirements. - -2015-12-08 Tom de Vries - - PR tree-optimization/68640 - * omp-low.c (install_var_field): Clear the restrict qualifier on the var - type. - -2015-12-08 Kirill Yukhin - - * config/i386/sse.md (define_insn "_vec_dup_1"): Fix - assembler to make source always 128bit. - -2015-12-08 Jakub Jelinek - - PR c/48088 - PR c/68657 - * common.opt (Wframe-larger-than=): Add Warning. - * opts.h (control_warning_option): Add ARG argument. - * opts-common.c (cmdline_handle_error): New function. - (read_cmdline_option): Use it. - (control_warning_option): Likewise. Add ARG argument. - If non-NULL, decode it if needed and pass through - to handle_generated_option. Handle CLVC_ENUM like - CLVC_BOOLEAN. - * opts.c (common_handle_option): Adjust control_warning_option - caller. - (enable_warning_as_error): Likewise. - -2015-12-08 Matthew Wahab - - * config/aarch64/aarch64-options-extensions.def: Remove - AARCH64_FL_RDMA from "fp" and "simd". Remove "pan", "lor", - "rdma". - * config/aarch64/aarch64.h (AARCH64_FL_PAN): Remove. - (AARCH64_FL_LOR): Remove. - (AARCH64_FL_RDMA): Remove. - (AARCH64_FL_V8_1): New. - (AARCH64_FL_FOR_AARCH8_1): Replace AARCH64_FL_PAN, AARCH64_FL_LOR - and AARCH64_FL_RDMA with AARCH64_FL_V8_1. - (AARCH64_ISA_RDMA): Replace AARCH64_FL_RDMA with AARCH64_FL_V8_1. - * doc/invoke.texi (AArch64 -march): Rewrite initial paragraph and - section on -march=native. Group descriptions of permitted - architecture names together. Expand description of - -march=armv8.1-a. - (AArch64 -mtune): Slightly rework section on -march=native. - (AArch64 -mcpu): Slightly rework section on -march=native. - (AArch64 Feature Modifiers): Remove "pan", "lor" and "rdma". - State that -march=armv8.1-a enables "crc" and "lse". - -2015-12-08 Eric Botcazou - - * doc/invoke.texi (SPARC options): Fix typo. - -2015-12-08 Eric Botcazou - - * config/ia64/ia64.c (ia64_emit_probe_stack_range): Adjust. - (output_probe_stack_range): Rotate the loop and simplify. - -2015-12-08 Uros Bizjak - - * config/i386/i386.c (ix86_emit_swsqrtsf): Cleanup - infinity filterning code. - -2015-12-08 Ilya Enkovich - - PR tree-optimization/68766 - * tree-vectorizer.c (vectorize_loops): Check for - if-converted loops when debug counters are used. - -2015-12-07 DJ Delorie - - * config/rl78/constraints.md (Wfr): Change to be a non-memory - constraint. - * config/rl78/rl78-protos.h (rl78_one_far_p): Declare. - * config/rl78/rl78.c (rl78_one_far_p): Define. - * config/rl78/rl78-virt (movqi_virt): Fix far memory - alternatives. - (movhi_virt): Likewise. - (zero_extendqihi2_virt): Likewise. - (extendqihi2_virt): Likewise. - (add3_virt): Likewise. - (sub3_virt): Likewise. - (andqi3_virt): Likewise. - (iorqi3_virt): Likewise. - (xorqi3_virt): Likewise. - * config/rl78/rl78-real.md (bf,br): Use long forms to avoid reloc - overflow in large files. - -2015-12-07 Eric Botcazou - - PR target/63668 - * doc/invoke.texi (SPARC options): Document -mstd-struct-return. - * config/sparc/sparc.c (sparc_struct_value_rtx): Minor tweaks. - * config/sparc/sparc.h (CALL_REALLY_USED_REGISTERS): Define. - * config/sparc/sparc.opt (mstd-struct-return): Accept negative. - -2015-12-07 Steve Ellcey - - * reorg.c (optimize_skip): Do not put frame related instructions - in annulled delay slots. - (steal_delay_list_from_target): Ditto. - (fill_slots_from_thread): Ditto. - -2015-12-07 Evandro Menezes - - * config/aarch64/aarch64-cores.def: Use the Exynos M1 sched model. - * config/aarch64/aarch64.md: Include "exynos-m1.md". - * config/arm/arm.md: Likewise. - * config/arm/exynos-m1.md: New file. - -2015-12-07 Jan Hubicka - - * fold-const.c (operand_equal_p): Drop flag_strict_aliasing check. - -2015-12-07 Nathan Sidwell - - * config//nvptx/nvptx.c (write_return): New. - (write_fn_proto, nvptx_declare_function_name): Call it. - -2015-12-07 Jan Hubicka - - PR ipa/61886 - * symtab.c (ultimate_transparent_alias_target): New inline function. - (symbol_table::assembler_names_equal_p): New method; break out from ... - (symbol_table::decl_assembler_name_equal): ... here. - (symbol_table::change_decl_assembler_name): Also update names and - translation links of transparent aliases. - (symtab_node::dump_base): Dump transparent_alias. - (symtab_node::verify_base): Implement basic transparent alias - verification. - (symtab_node::make_decl_local): Support localization of weakrefs; - recurse to transparent aliases; set TREE_STATIC. - (symtab_node::ultimate_alias_target_1): Handle visibility of - transparent aliases. - (symtab_node::resolve_alias): New parmaeter transparent; handle - transparent aliases; recurse to aliases of aliases to fix comdat - groups. - (symtab_node::get_partitioning_class): Handle transparent aliases. - * ipa-visibility.c (cgraph_externally_visible_p, - varpool_node::externally_visible_p): Visibility of transparent alias - depends on its target. - (function_and_variable_visibility): Do not tweak visibility of - transparent laiases. - (function_and_variable_visibility): Likewise. - * ipa.c (symbol_table::remove_unreachable_nodes): Clear - transparent_alias flag. - * alias.c (cgraph_node::create_alias, cgraph_node::get_availability): - Support transparent aliases. - * cgraph.h (symtab_node): Update prototype of resolve_alias; - add transparent_alias flag. - (symbol_table: Add assembler_names_equal_p. - (symtab_node::real_symbol_p): Skip transparent aliases. - * cgraphunit.c (cgraph_node::reset): Reset transparent_alias flag. - (handle_alias_pairs): Set transparent_alias for weakref. - (cgraph_node::assemble_thunks_and_aliases): Do not asemble transparent - aliases. - * lto-cgraph.c (lto_output_node): When outputting same_comdat_group - skip symbols not put into boundary; stream transparent_alias. - (lto_output_varpool_node): Likewise. - (input_overwrite_node, input_varpool_node): Stream transparent alias. - * varpool.c (ctor_for_folding, varpool_node::get_availability, - varpool_node::assemble_aliases, - symbol_table::remove_unreferenced_decls): Handle transparent aliase. - (varpool_node::create_alias): Set transparent_alias. - -2015-12-07 Eric Botcazou - - PR middle-end/68291 - PR middle-end/68292 - * cfgexpand.c (set_rtl): Always accept PARALLELs with BLKmode for - SSA names based on RESULT_DECLs. - * function.c (expand_function_start): Do not create BLKmode REGs - for GIMPLE registers when coalescing is enabled. - -2015-12-07 Bernd Edlinger - - * final.c (shorten_branches): Fix check for basic asm. - * ipa-icf-gimple.c (func_checker::compare_gimple_asm): Add check for - basic asm. - -2015-12-07 Nathan Sidwell - - * config/nvptx/nvptx.c (nvptx_output_call_insn): Emit trap after no - return call. - -2015-12-07 David Malcolm - - * pretty-print.c (text_info::set_range): Rename to... - (text_info::set_location): ...this, converting 2nd param - from source_range to a location_t. - * pretty-print.h (text_info::set_location): Convert - from inline function to external definition. - (text_info::set_range): Delete. - -2015-12-07 Nathan Sidwell - - * config/nvptx/nvptx.c (nvptx_assemble_decl_begin): Look inside - complex and vector types. Cope with packed structs. - -2015-12-07 Kirill Yukhin - - PR target/68627 - * config/i386/sse.md: Make 'v' alternative work on 'avx512f' ISA only. - Force destination to 512 bits register. - -2015-12-07 Kirill Yukhin - - PR target/68633 - * config/i386/sse.md (define_insn "kunpckhi"): Fix operands order. - (define_insn "kunpcksi"): Ditto. - (define_insn "kunpckdi"): Ditto. - -2015-12-06 Kaz Kojima - - * config/sh/sh.md (rsqrtsf2): Adjust for canonical form with unspec. - -2015-12-06 Victoria Stepanyan - - * common/config/i386/i386-common.c - (OPTION_MASK_ISA_CLZERO_SET): New. - (ix86_handle_option): Handle clzero. - * config.gcc (i[34567]86-*-*): Add clzerointrin.h, - (x86_64-*-*): Likewise. - * config/i386/clzerointrin.h: New header. - * config/i386/cpuid.h (bit_CLZERO): Define. - * config/i386/driver-i386.c (host_detect_local_cpu): Detect - CLZERO support. - * config/i386/i386.opt (clzero): New. - * config/i386/i386-c.c: Define __CLZERO__ if needed. - * config/i386/i386.c (ix86_target_string): Define -mclzero option. - (PTA_CLZERO): New. - (ix86_option_override_internal): Handle new option. - (processor_alias_table): Added PTA_CLZERO. - (ix86_valid_target_attribute_inner_p): Add OPT_mclzero. - (ix86_builtins): Add IX86_BUILTIN_CLZERO, IX86_BUILTIN_CLZERO. - (ix86_expand_builtin): Handle IX86_BUILTIN_CLZERO and - IX86_BUILTIN_CLZERO built-ins. - * config/i386/i386.h (TARGET_CLZERO): New. - * config/i386/i386.md (unspecv): Add UNSPEC_CLZERO. - (clzero): New pattern. - (clzero_): New pattern. - * config/i386/x86intrin.h: Include clzerointrin.h. - * doc/extend.texi: Document clzero builtins. - * doc/invoke.texi: Document -mclzero option. - -2015-12-05 Jan Hubicka - - * ipa-icf.c (sem_function::merge): Check that local_original exists. - -2015-12-05 David Edelsohn - - PR target/68609 - * config/rs6000/rs6000-protos.h (rs6000_emit_swsqrt): Rename and add - bool arguement. - * config/rs6000/rs6000.c (rs6000_emit_swsqrt): Rename. Add - non-reciporcal path. - * config/rs6000/rs6000.md (rsqrt2): Call new function name. - (sqrt2): Replace define_insn with define_expand that may call - rs6000_emit_swsqrt. - -2015-12-04 Aditya Kumar - Sebastian Pop - - * graphite-isl-ast-to-gimple.c (translate_isl_ast_node_user): - Improve debug. - (get_rename_from_scev): Check that all the ops in an expression - have their uses dominated by corresponding defs. - -2015-12-04 Aditya Kumar - Sebastian Pop - - PR tree-optimization/68693 - * graphite-scop-detection.c (dot_all_sese): New - (dot_all_scops_1): Renamed to dot_all_sese. - (dot_all_scops): Removed. - (dot_sese): New. - (dot_cfg): New. - (scop_detection::get_nearest_dom_with_single_entry): Check that - preds are from different loop levels. - (scop_detection::get_nearest_pdom_with_single_exit): Check that - succs are from different loop levels. - (scop_detection::print_sese): Inlined. - (scop_detection::print_edge): New. - (scop_detection::merge_sese): Added dumps. - * graphite.h: Add declarations. - -2015-12-04 James Greenhalgh - - * config/aarch64/aarch64.md (add3_pluslong): Add register - constraints. - -2015-12-04 Vladimir Makarov - - PR rtl-optimization/68349 - * lra-eliminations.c (move_plus_up): New function. - (lra_eliminate_regs_1): Use the function. - -2015-12-04 Nathan Sidwell - - * config/nvptx/nvptx.c (nvptx_assemble_decl_begin): New, replacing ... - (init_output_initializer): ... this. - (nvptx_output_aligned_decl, nvptx_asm_declare_constant_name, - nvptx_declare_object_name, nvptx_assemble_undefined_decl): Use - nvptx_assemble_decl_begin. - -2015-12-04 Dmitry Vyukov - - * sancov.c: New file. - * Makefile.in (OBJS): Add sancov.o. - * invoke.texi (-fsanitize-coverage=trace-pc): Describe. - * passes.def (sancov_pass): Add. - * tree-pass.h (sancov_pass): Add. - * common.opt (-fsanitize-coverage=trace-pc): Add. - * sanitizer.def (BUILT_IN_SANITIZER_COV_TRACE_PC): Add. - * builtins.def (DEF_SANITIZER_BUILTIN): Enable for - flag_sanitize_coverage. - -2015-12-04 Eric Botcazou - - PR middle-end/65958 - * config/arm/unspecs.md (unspec): Remove UNSPEC_PROBE_STACK_RANGE. - (unspecv): Add VUNSPEC_PROBE_STACK_RANGE. - * config/arm/arm.md (probe_stack_range): Adjust. - * config/aarch64/aarch64.md (unspec): Remove UNSPEC_PROBE_STACK_RANGE. - (unspecv): Add UNSPECV_PROBE_STACK_RANGE. - (probe_stack_range_): Adjust. - -2015-12-04 David Malcolm - - * convert.c (convert_to_real_1): When converting from a - REAL_TYPE, preserve the location of EXPR in the result. - * tree.c (get_pure_location): Make non-static. - (set_source_range): Return the resulting location_t. - (make_location): New function. - * tree.h (get_pure_location): New decl. - (get_finish): New inline function. - (set_source_range): Convert return type from void to location_t. - (make_location): New decl. - -2015-12-04 Jakub Jelinek - - PR c/68656 - * toplev.c (init_asm_output): Pass UNKNOWN_LOCATION instead of - input_location to inform. - (process_options): Use warning_at (UNKNOWN_LOCATION instead of - warning ( and error_at (UNKNOWN_LOCATION instead of error (. - Pass UNKNOWN_LOCATION instead of input_location to fatal_error. - -2015-12-04 Jan Hubicka - - * ipa-inline.c (can_inline_edge_p) Use merged_comdat. - * cgraphclones.c (cgraph_node::create_clone): Use merged_comdat. - * cgraph.c (cgraph_node::dump): Dump merged_comdat. - * ipa-icf.c (sem_function::merge): Drop merged_comdat when merging - comdat and non-comdat. - * cgraph.h (cgraph_node): Rename merged to merged_comdat. - * ipa-inline-analysis.c (simple_edge_hints): Check both merged_comdat - and icf_merged. - -2015-12-04 Segher Boessenkool - - * config/rs6000/rs6000.md (cstore4_unsigned): Use gpc_reg_operand - instead of register_operand. Remove empty constraints. Use std::swap. - (cstore_si_as_di, cstore4_signed_imm, - cstore4_unsigned_imm, cstore4 for GPR): Use - gpc_reg_operand instead of register_operand. - (cstore4 for FP): Use gpc_reg_operand instead of - register_operand. Remove empty constraints. - -2015-12-04 Nick Clifton - - * config.gcc (extra_gcc_objs): Define for MSP430. - * common/config/msp430/msp430-common.c (msp430_handle_option): - Pass both -mmcu and -mcpu on to the back end if they are both defined. - * config/msp430/msp430.c (hwmult_name): New function. - (msp430_option_override): If an unrecognised MCU name is - detected only warn if the user has not provided suitable - -mhwmult and -mcpu options. Use msp430_warn_mcu to control - warning messages. Generate warnings about conflicts between - -mmcu and -mcpu and -mhwmult options. - If neither -mcpu nor -mmcu have been specified but -mhwmult= - f5series has the select the 430X isa. - (msp430_no_hwmult): If -mmcu has not been specified and - msp430_hwmult_type is AUTO then return true. - * config/msp430/msp430.h (EXTRA_SPEC_FUNCTIONS): Define. - (LIB_SPEC): Add hardware multiply library selection. - * config/msp430/t-msp430: Delete hardware multiply multilibs. - Add rule to build driver-msp430.o - * config/msp430/driver-msp430.c: New file. - * config/msp430/msp430.opt (warn-mcu): New option. - * doc/invoke.texi: Update description of -mhwmult=auto. - Document -mwarn-mcu option. - -2015-12-04 Segher Boessenkool - - * config/rs6000/rs6000.md (cstore4_signed): New expander. - (cstore4): Call it. - -2015-12-04 Jakub Jelinek - - * tree-tailcall.c (find_tail_calls): Ignore GIMPLE_NOPs. - - PR tree-optimization/68680 - * calls.c (special_function_p): Return ECF_MAY_BE_ALLOCA for - BUILT_IN_ALLOCA{,_WITH_ALIGN}. Don't check for __builtin_alloca - by name. - - PR tree-optimization/68671 - * tree-ssa-reassoc.c (maybe_optimize_range_tests): For basic - blocks starting with the successor of first bb we've modified - and ending with last_bb call reset_flow_sensitive_info_in_bb. - -2015-12-04 Jeff Law - - * tree-ssa-reassoc.c (maybe_optimize_range_tests): Return boolean - indicating if a gimple conditional was optimized to true/false. - (reassociate_bb): Bubble up return value from - maybe_optimize_range_tests. - (do_reassoc): Similarly, but for reassociate_bb. - (execute_reassoc): Return TODO_cleanup_cfg as needed. - -2015-12-04 Kyrylo Tkachov - - * config/aarch64/aarch64.c (aarch64_override_options_internal): - Do not alter target_flags due to TARGET_GENERAL_REGS_ONLY_P. - * doc/invoke.texi (AArch64 options): Mention that -mgeneral-regs-only - does not affect the assembler directives. - -2015-12-04 Dominik Vogt - - * config/s390/s390.c (s390_asm_file_start): Implement hook function to - emit .machine and .machinemode to the top of the assembler file. - (TARGET_ASM_FILE_START): Provide target hook. - (s390_asm_output_machine_for_arch): Protect with - HAVE_AS_MACHINE_MACHINEMODE instead of S390_USE_TARGET_ATTRIBUTE. - -2015-12-04 Dominik Vogt - - * config/s390/s390.opt (s390_arch_string): Remove. - (s390_tune_string): Likewise. - (s390_cost_pointer): Add Variable. - (s390_tune_flags): Add TargetVariable. - (s390_arch_flags, march=, mbackchain, mdebug, mesa, mhard-dfp), - (mhard-float, mlong-double-128, mlong-double-64, mhtm, mvx), - (mpacked-stack, msmall-exec, msoft-float, mstack-guard=, mstack-size=), - (mtune=, mmvcle, mzvector, mzarch, mbranch-cost=, mwarn-dynamicstack), - (mwarn-framesize=): Save option. - (mno-stack-guard, mno-stack-guard): New option. - (mwarn-dynamicstack): Allow mno-warn-dynamicstack. - (mwarn-framesize=): Convert to UInteger (negative values are rejected - now). - * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Split setting - macros changeable through the GCC target pragma into a separate - function. - (s390_cpu_cpp_builtins): Likewise. - (s390_pragma_target_parse): New function, implement GCC target pragma - if enabled. - (s390_register_target_pragmas): Register s390_pragma_target_parse if - available. - * common/config/s390/s390-common.c (s390_handle_option): - Export. - Move setting s390_arch_flags to s390.c. - Remove s390_tune_flags. - Allow 0 as argument to -mstack-size (switch to default value). - Allow 0 as argument to -mstack-guard (switch off). - Remove now unnecessary explicit parsing code for -mwarn-framesize. - * config/s390/s390-protos.h (s390_handle_option): Export. - (s390_valid_target_attribute_tree): Export. - (s390_reset_previous_fndecl): Export. - * config/s390/s390-builtins.def: Use new macro B_GROUP to mark the start - and end of HTM and VX builtins. - (s390_asm_output_function_prefix): Declare hook. - (s390_asm_declare_function_size): Likewise. - * config/s390/s390-builtins.h (B_GROUP): Use macro. - * config/s390/s390-opts.h: Add comment about processor_type usage. - * config/s390/s390.h (TARGET_CPU_IEEE_FLOAT_P, TARGET_CPU_ZARCH_P), - (TARGET_CPU_LONG_DISPLACEMENT_P, TARGET_CPU_EXTIMM_P, TARGET_CPU_DFP_P), - (TARGET_CPU_Z10_P, TARGET_CPU_Z196_P, TARGET_CPU_ZEC12_P), - (TARGET_CPU_HTM_P, TARGET_CPU_Z13_P, TARGET_CPU_VX_P), - (TARGET_HARD_FLOAT_P, TARGET_LONG_DISPLACEMENT_P, TARGET_EXTIMM_P), - (TARGET_DFP_P, TARGET_Z10_P, TARGET_Z196_P, TARGET_ZEC12_P), - (TARGET_HTM_P, TARGET_Z13_P, TARGET_VX_P, TARGET_CPU_EXTIMM), - (TARGET_CPU_DFP, TARGET_CPU_Z10, TARGET_CPU_Z196, TARGET_CPU_ZEC12), - (TARGET_CPU_HTM, TARGET_CPU_Z13, TARGET_LONG_DISPLACEMENT), - (TARGET_EXTIMM, TARGET_DFP, TARGET_Z10, TARGET_Z196, TARGET_ZEC12), - (TARGET_Z13, TARGET_VX, S390_USE_TARGET_ATTRIBUTE), - (S390_USE_ARCHITECTURE_MODIFIERS, SWITCHABLE_TARGET), - (ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_FUNCTION_PREFIX): Likewise. - * config/s390/vecintrin.h: Use vector definitions even if __VEC__ is - undefined. - (vec_all_nan): Rewrite as macro using statement expressions to avoid - that the vector keyword needs to be defined when including the file. - (vec_all_numeric): Likewise. - (vec_any_nan): Likewise. - (vec_any_numeric): Likewise. - * config/s390/s390.c (s390_previous_fndecl): New static variable. - (s390_set_current_function): New function. - (s390_cost): Wrapper macro to allow defining the cost table pointer in - the options file. - (processor_table): Table for march= and mtune= parsing. - (s390_init_builtins): Enable all builtins and types unconditionally. - (s390_expand_builtin): Generate an error message if builtin is not - supported by current options. - Correct an error message. - (s390_function_specific_restore): New function to set s390_cost. - (s390_asm_output_machine_for_arch): New function for emitting .machine - and .machinmode directives to the assembler file. - (s390_asm_output_function_prefix): Likewise. - (s390_asm_declare_function_size): Likewise. - (s390_asm_output_function_label): Add mdebug output for feature testing. - (s390_option_override): Move implementation into internal function. - (s390_option_override_internal): Likewise. - Implement option overriding based on current options. - (s390_valid_target_attribute_inner_p): New function implementing target - attribute logic. - (s390_valid_target_attribute_tree): Likewise. - (s390_valid_target_attribute_p): Likewise. - (s390_reset_previous_fndecl): Likewise. - (s390_set_current_function): Likewise. - (TARGET_SET_CURRENT_FUNCTION): Provide target hook function. - (TARGET_OPTION_VALID_ATTRIBUTE_P): Likewise. - (TARGET_OPTION_RESTORE): Likewise. - * doc/extend.texi: S390: Document target attribute and pragma. - * config.in: Regenerated. - * configure: Regenerated. - * configure.ac: S390: Check for .machinemode and .machine in gas. - S390: Check for architecture modifiers support in gas. - -2015-12-04 Kirill Yukhin - - * doc/extend.texi ("simd"): Describe new flags. - -2015-12-04 Ilya Enkovich - - * config/i386/sse.md (_store_mask): Fix - operand checked for alignment. - -2015-12-04 Nathan Sidwell - - * config/nvptx/nvptx.c (write_one_arg): Deal with prologue - emission too. Change 'no_arg_types' to 'prototyped'. - (write_fn_proto): Use write_one_arg for stdarg, static chain & - main. - (nvptx_declare_function_name): Use write_one_arg for prologue copies. - -2015-12-04 Richard Biener - - * tree-ssa-sccvn.c (sccvn_dom_walker): Add unreachable_dom - member and initialize it. - (sccvn_dom_walker::after_dom_children): Reset unreachable_dom - if necessary. - (sccvn_dom_walker::before_dom_children): If unreachable_dom - is set BB is not reachable either. Set unreachable_dom - if not set and BB is unreachable. - -2015-12-04 Richard Biener - - * bitmap.c (bitmap_find_bit): Guard the bitmap descriptor - query with GATHER_STATISTICS. - -2015-12-04 Eric Botcazou - - PR middle-end/65958 - * gimplify.c (struct gimplify_ctx): Turn boolean fields into 1-bit - fields, add keep_stack and reorder them. - (gimplify_bind_expr): Save gimplify_ctxp->keep_stack on entry then - set it to false. Do not insert a stack save/restore pair if it has - been set to true by the gimplification of the statements. - Restore it to the saved value on exit if it is still false. - (gimplify_vla_decl): Do not set gimplify_ctxp->save_stack here. - (gimplify_call_expr) : New case. Set - either save_stack or keep_stack depending on CALL_ALLOCA_FOR_VAR_P. - * doc/extend.texi (Variable Length): Document new behavior. - * doc/generic.texi (Blocks): Document new handling of VLAs. - -2015-12-04 Eric Botcazou - Tristan Gingold - - PR middle-end/65958 - * config/aarch64/aarch64-protos.h (aarch64_output_probe_stack-range): - Declare. - * config/aarch64/aarch64.md: Declare UNSPECV_BLOCKAGE and - UNSPEC_PROBE_STACK_RANGE. - (blockage): New instruction. - (probe_stack_range_): Likewise. - * config/aarch64/aarch64.c (aarch64_emit_probe_stack_range): New - function. - (aarch64_output_probe_stack_range): Likewise. - (aarch64_expand_prologue): Invoke aarch64_emit_probe_stack_range if - static builtin stack checking is enabled. - * config/aarch64/aarch64-linux.h (STACK_CHECK_STATIC_BUILTIN): - Define to 1. - -2015-12-04 Kyrylo Tkachov - - PR target/68214 - * config/arm/arm.md (*call_mem): Delete pattern. - (*call_value_mem): Likewise. - * config/arm/arm.c (output_call_mem): Delete. - * config/arm/arm-protos.h (output_call_mem): Delete prototype. - -2015-12-04 Bin Cheng - - * config/aarch64/atomics.md (atomic_store): Use predicate - aarch64_sync_memory_operand. - -2015-12-04 Jakub Jelinek - - PR target/68655 - * config/i386/i386.c (canonicalize_vector_int_perm): New function. - (expand_vec_perm_1): Use it and recurse if everything else - failed. Use nd.perm instead of perm2. - (expand_vec_perm_even_odd_1): If testing_p, use gen_raw_REG - instead of gen_lowpart for the target. - (ix86_expand_vec_perm_const_1): Use canonicalize_vector_int_perm - and recurse if everything else failed. - -2015-12-04 Richard Biener - - PR middle-end/68636 - * builtins.c (get_pointer_alignment_1): Take care of byte to - bit alignment computation overflow. - -2015-12-04 Richard Biener - - PR middle-end/67438 - * match.pd: Guard ~X cmp ~Y -> Y cmp X and the variant with - a constant with single_use. - -2015-12-04 Bin Cheng - Jiong Wang - - * config/aarch64/aarch64.c (aarch64_legitimize_address): legitimize - address expressions like Ra + Rb + CONST and Ra + Rb< - - * alias.c (alias_set_subset_of, alias_sets_must_conflict_p): - Add short circuit for !flag_strict_aliasing - (get_alias_set): Remove flag_strict_aliasing check. - (new_alias_set): Likewise. - -2015-12-03 Evandro Menezes - - * config/aarch64/aarch64-cores.def: Use the Exynos M1 cost model. - * config/aarch64/aarch64.c (exynosm1_addrcost_table): New variable. - (exynosm1_regmove_cost): Likewise. - (exynosm1_vector_cost): Likewise. - (exynosm1_tunings): Likewise. - * config/arm/aarch-cost-tables.h (exynosm1_extra_costs): Likewise. - * config/arm/arm.c (arm_exynos_m1_tune): Likewise. - -2015-12-03 Alan Lawrence - Richard Biener - - * cfgexpand.c (pass_expand::execute): Replace call to - redirect_edge_var_map_destroy with redirect_edge_var_map_empty. - * tree-ssa.c (delete_tree_ssa): Likewise. - * function.c (set_cfun): Call redirect_edge_var_map_empty. - * passes.c (execute_one_ipa_transform_pass, execute_one_pass): Likewise. - * tree-ssa.h (redirect_edge_var_map_destroy): Remove. - (redirect_edge_var_map_empty): New. - * tree-ssa.c (redirect_edge_var_map_destroy): Remove. - (redirect_edge_var_map_empty): New. - -2015-12-03 Jeff Law - - PR tree-optimization/68599 - * loop-init.c (rtl_loop_init): Set LOOPS_HAVE_RECORDED_EXITS - in call to loop_optimizer_init. - * loop-iv.c (get_simple_loop_desc): Only allow unsafe loop - optimization to drop the assumptions/infinite notations if - the loop has a single exit. - -2015-12-03 Richard Sandiford - - * doc/md.texi (vec_load_lanes@var{m}@var{n}): Document that - the pattern cannot FAIL. - (vec_store_lanes@var{m}@var{n}): Likewise. - (maskload@var{m}@var{n}): Likewise. - (maskstore@var{m}@var{n}): Likewise. Fix a cut-&-paste error - in the name of the pattern. - (rsqrt@var{m}2): Document that mode m must be a scalar or vector - floating-point mode and that all operands have that mode. - (fmin@var{m}3, fmax@var{m}3): Likewise. Document that the - pattern cannot FAIL. - (sqrt@var{m}2): Document that mode m must be a scalar or vector - floating-point mode, that all operands have that mode, and that - the patterns cannot FAIL. Remove previous documentation referring - to @code{double} and @code{float}. - (fmod@var{m}3, remainder@var{m}3, cos@var{m}2, sin@var{m}2) - (sincos@var{m}3, log@var{m}2, pow@var{m}3, atan2@var{m}3) - (copysign@var{m}3): Likewise. - (exp@var{m}2): Likewise. Explicitly state the base. - (floor@var{m}2): As for sqrt@var{m}2, but also specify the operands. - (btrunc@var{m}2, rint@var{m}2): Likewise. - (round@var{m}2): Likewise. Fix incorrect description of rounding - effect. - (ceil@var{m}2): As for round@var{m}2. - (nearbyint@var{m}2): As for floor@var{m}2, but also mention that - the instruction must not raise an inexact condition. - (scalb@var{m}3): Document previously-undocumented pattern - (ldexp@var{m}3, tan@var{m}2, asin@var{m}2, acos@var{m}2) - (atan@var{m}2, expm1@var{m}2, exp10@var{m}2, exp2@var{m}2) - (log1p@var{m}2, log10@var{m}2, log2@var{m}2, logb@var{m}2) - (significand@var{m}2): Likewise. - (ffs@var{m}2): Fix the description of the modes, so that operand 1 has - mode m and operand 0 is defined more freely. Document that @var{m} - can be a scalar or vector integer mode and that the pattern is not - allowed to FAIL. - (clz@var{m}2, ctz@var{m}2, popcount@var{m}2, parity@var{m}2): Likewise. - (clrsb@var{m}2): Likewise, except that the description of the - mode was missing in this case. - -2015-12-03 Richard Sandiford - - * internal-fn.def (RSQRT): New function. - * optabs.def (rsqrt_optab): New optab. - * doc/md.texi (rsqrtM2): Document. - * target.def (builtin_reciprocal): Replace gcall argument with - a function decl. Restrict hook to machine functions. - * doc/tm.texi: Regenerate. - * targhooks.h (default_builtin_reciprocal): Update prototype. - * targhooks.c (default_builtin_reciprocal): Likewise. - * tree-ssa-math-opts.c: Include internal-fn.h. - (internal_fn_reciprocal): New function. - (pass_cse_reciprocals::execute): Call it, and build a call to an - internal function on success. Only call targetm.builtin_reciprocal - for machine functions. - * config/aarch64/aarch64-protos.h (aarch64_builtin_rsqrt): Remove - second argument. - * config/aarch64/aarch64-builtins.c (aarch64_expand_builtin_rsqrt): - Rename aarch64_rsqrt_2 to rsqrt2. - (aarch64_builtin_rsqrt): Remove md_fn argument and only handle - machine functions. - * config/aarch64/aarch64.c (use_rsqrt_p): New function. - (aarch64_builtin_reciprocal): Replace gcall argument with a - function decl. Use use_rsqrt_p. Remove optimize_size check. - Only handle machine functions. Update call to aarch64_builtin_rsqrt. - (aarch64_optab_supported_p): New function. - (TARGET_OPTAB_SUPPORTED_P): Define. - * config/aarch64/aarch64-simd.md (aarch64_rsqrt_2): Rename to... - (rsqrt2): ...this. - * config/i386/i386.c (use_rsqrt_p): New function. - (ix86_builtin_reciprocal): Replace gcall argument with a - function decl. Use use_rsqrt_p. Remove optimize_insn_for_size_p - check. Only handle machine functions. - (ix86_optab_supported_p): Handle rsqrt_optab. - * config/rs6000/rs6000.c (TARGET_OPTAB_SUPPORTED_P): Define. - (rs6000_builtin_reciprocal): Replace gcall argument with a - function decl. Remove optimize_insn_for_size_p check. - Only handle machine functions. - (rs6000_optab_supported_p): New function. - -2015-12-03 Bernd Schmidt - - PR target/68471 - PR target/68472 - * config/i386/i386.c (ix86_mitigate_rop): Don't call - compute_bb_for_insn again. Call df_insn_rescan_all. - * config/i386/i386.md (set_got_rex64): Override modrm_class. - - * regrename.c (build_def_use): Ignore stack regs if regstack_completed. - -2015-12-03 Nathan Sidwell - - * config/nvptx/nvptx-protos.h (npvptx_section_from_addr_space): Delete. - * config/nvptx/nvptx.c (enum nvptx_data_area): New. - (SYMBOL_DATA_AREA, SET_SYMBOL_DATA_AREA): New defines. - (nvptx_option_override): Set data ares for worker vars. - (nvptx_addr_space_from_sym): Delete. - (nvptx_encode_section_info): New. - (section_for_sym, section_for_decl): New. - (nvptx_maybe_convert_symbolic_operand): Get data area from symbol flags. - (nvptx_section_from_addr_space): Delete. - (nvptx_section_for_decl): Delete. - (nvptx_output_aligned, nvptx_declare_object_name, - nvptx_assemble_undefined_decl): Use section_for_decl, remove - unnecessary checks. - (nvptx_print_operand): Add 'D', adjust 'A'. - (nvptx_expand_worker_addr): Adjust unspec generation. - (TARGET_ENCODE_SECTION_INFO): Override. - * config/nvptx/nvptx.h (ADDR_SPACE_GLOBAL, ADDR_SPACE_SHARED, - ADDR_SPACE_CONST, ADDR_SPACE_LOCAL, ADDR_SPACE_PARAM): Delete. - * config/nvptx/nvptx.md (UNSPEC_FROM_GLOBAL, UNSPEC_FROM_LOCAL, - UNSPEC_FROM_PARAM, UNSPEC_FROM_SHARED, UNSPEC_FROM_CONST, - UNSPEC_TO_GLOBAL, UNSPEC_TO_LOCAL, UNSPEC_TO_PARAM, - UNSPEC_TO_SHARED, UNSPEC_TO_CONST): Delete. - (UNSPEC_TO_GENERIC): New. - (nvptx_register_or_symbolic_operand): Delete. - (cvt_code, cvt_name, cvt_str): Delete. - (convaddr_ [P]): Delete. - (convaddr_ [P]): New. - -2015-12-03 Kyrylo Tkachov - - PR rtl-optimization/68624 - * ifcvt.c (noce_try_cmove_arith): Check clobbers of temp regs in both - blocks if they exist and simplify the logic choosing the order to emit - them in. - -2015-12-03 Richard Biener - - PR tree-optimization/66051 - * tree-vect-slp.c (vect_build_slp_tree_1): Remove restriction - on load group size. Do not pass in vectorization_factor. - (vect_transform_slp_perm_load): Do not require any permute support. - (vect_build_slp_tree): Do not pass in vectorization factor. - (vect_analyze_slp_instance): Do not compute vectorization - factor estimate. Use vector size instead of vectorization factor - estimate to split store groups for BB vectorization. - -2015-12-03 Ilya Enkovich - - * cfgexpand.c (expand_gimple_stmt_1): Return statement with - DECL as return value is allowed to have NULL bounds. - -2015-12-03 Tom de Vries - - * graphite-isl-ast-to-gimple.c (binary_op_to_tree) - (gcc_expression_from_isl_expr_op): Guard isl_ast_op_zdiv_r usage with - HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS. - -2015-12-03 Richard Biener - - PR tree-optimization/67800 - PR tree-optimization/68333 - * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Restore - restriction to reduction contexts but allow SLP reductions as well. - (vect_recog_sad_pattern): Likewise. - (vect_recog_widen_sum_pattern): Likewise. - -2015-12-03 Richard Biener - - PR tree-optimization/68639 - * tree-vect-data-refs.c (dr_group_sort_cmp): Split groups - belonging to different loops. - (vect_analyze_data_ref_accesses): Likewise. - -2015-12-02 Kirill Yukhin - - * config/i386/sse.md (define_insn "vec_extract_hi__maskm"): - Remove "prefix_extra". - (define_insn "vec_extract_hi__mask"): New. - (define_insn "vec_extract_hi_"): Remove masking. - -2015-12-02 Jan Hubicka - - * ipa-pure-const.c (ignore_edge_for_pure_const): New function. - (propagate_pure_const): Use it; fix comments and optimize loops. - -2015-12-02 Jan Hubicka - - * ipa-pure-const.c (ignore_edge): Rename to ... - (ignore_edge_for_nothrow) ... this one; also ignore eges to - interposable functions or ones that can not throw. - (propagate_nothrow): Fix handling of availability. - -2015-12-02 Jan Hubicka - - PR ipa/68184 - * cgraphunit.c (cgraph_node::analyze): Set can_throw_external. - -2015-12-02 Aditya Kumar - Sebastian Pop - - * graphite-isl-ast-to-gimple.c (binary_op_to_tree): Handle - isl_ast_op_zdiv_r. - (gcc_expression_from_isl_expr_op): Same. - -2015-12-02 Aditya Kumar - Sebastian Pop - - * graphite-isl-ast-to-gimple.c (copy_bb_and_scalar_dependences): Check - that insertion point is still in the region. - -2015-12-02 Aditya Kumar - Sebastian Pop - - PR tree-optimization/68550 - * graphite-isl-ast-to-gimple.c (copy_loop_phi_nodes): Add dump. - (copy_bb_and_scalar_dependences): Do not code generate loop peeled - statements. - -2015-12-02 Ulrich Weigand - - * configure.ac: Check assembler support for R_PPC64_ENTRY relocation. - * configure: Regenerate. - * config.in: Regenerate. - * config/rs6000/rs6000.c (rs6000_global_entry_point_needed_p): New - function. - (rs6000_output_function_prologue): Use it instead of checking - cfun->machine->r2_setup_needed. Use internal labels instead of - GNU as local label extension. Handle ELFv2 large code model. - (rs6000_output_mi_thunk): Do not set cfun->machine->r2_setup_needed. - (rs6000_elf_declare_function_name): Handle ELFv2 large code model. - -2015-12-02 Jakub Jelinek - - PR target/68647 - * optabs.c (expand_doubleword_popcount, expand_doubleword_parity): - New functions. - (expand_unop): Use them. - -2015-12-02 Marek Polacek - - PR c++/68653 - * tree.c (nonnull_arg_p): Allow OFFSET_TYPE. - -2015-12-02 Nathan Sidwell - - * config/nvptx/nvptx.c (enum nvptx_shuffle_kind): New. Absorb - SHUFFLE defines. - (nvptx_gen_shuffle, nvptx_print_operand, nvptx_expand_shuffle): Adjust. - -2015-12-02 Aditya Kumar - Sebastian Pop - - * graphite-dependences.c (scop_get_reads): Add extra dumps. - (scop_get_must_writes): Same. - (scop_get_may_writes): Same. - (compute_deps): Same. - * graphite-sese-to-poly.c (bounds_are_valid): New. - (pdr_add_data_dimensions): Call bounds_are_valid. - -2015-12-02 Aditya Kumar - Sebastian Pop - - * common.opt (flag_loop_optimize_isl): Renamed flag_loop_nest_optimize. - * graphite-poly.c (apply_poly_transforms): Same. - * graphite.c (gate_graphite_transforms): Same. - * toplev.c (process_options): Same. - -2015-12-02 Eric Botcazou - - * config/mips/mips.c (mips_emit_probe_stack_range): Adjust. - (mips_output_probe_stack_range): Rotate the loop and simplify. - -2015-12-02 David Sherwood - - * config/aarch64/aarch64.md: New pattern. - * config/aarch64/aarch64-simd.md: Likewise. - * config/aarch64/iterators.md: New unspecs, iterators. - -2015-12-02 Pierre-Marie de Rodat - - * dwarf2out.c (dwar2out_var_location): In addition to notes, - process indirect calls whose target is compile-time known. - Enhance pattern matching to get the SYMBOL_REF they embed. - (gen_subprogram_die): Handle such calls. - * final.c (final_scan_insn): For call instructions, invoke the - var_location debug hook only after the call has been emitted. - -2015-12-02 Tom de Vries - - * gimplify.c (enum gimplify_omp_var_data): Add enum value - GOVD_MAP_FORCE. - (oacc_default_clause): Fix default for scalars in oacc kernels. - (gimplify_adjust_omp_clauses_1): Handle GOVD_MAP_FORCE. - -2015-12-02 Tom de Vries - - * omp-low.c (install_var_field, scan_sharing_clauses): Add and handle - parameter base_pointers_restrict. - (omp_target_base_pointers_restrict_p): New function. - (scan_omp_target): Call scan_sharing_clauses with - base_pointers_restrict arg. - -2015-12-02 Nathan Sidwell - - * config/nvptx/nvptx-protos.h (nvptx_output_mov_insn): Declare. - (nvptx_underlying_object_mode): Delete. - * config/nvptx/nvptx.c (nvptx_underlying_object_mode): Delete. - (output_reg): New. - (nvptx_declare_function_name): Use output_reg. Remove punning buffer. - (nvptx_output_mov_insn): New. - (nvptx_print_operand): Separate SUBREG handling, remove 'f' case, - Use output_reg. Merge 't' and 'u' handling. - * config/nvptx/nvptx.h (NVPTX_PUNNING_BUFFER_REGNUM): Delete. - (struct machine_function): Remvoe punning_buffer_size. - (REGISTER_NAMES): Remove %punbuffer. - * config/nvptx/nvptx.md (UNSPEC_CPLX_LOWPART, - UNSPEC_CPLX_HIGHPART): Delete. - (*mov_insn [QHSDIM): Remove unnecessary constraints, use - nvptx_output_mov_insn. - (*mov_insn [SDFM): Reorder constraints to match integer moc. - Use nvptx_output_mov_insn. - (highpartscsf2, set_highpartscsf2, lowpartscsf2, set_lowpartscsf2): - Delete. - (mov [SDCM]): Delete. - -2015-12-02 Richard Biener - - * tree.h (tree_invariant_p): Declare. - * tree.c (tree_invariant_p): Export. - * genmatch.c (dt_simplify::gen_1): For GENERIC code-gen never - create SAVE_EXPRs but reject patterns if we would need to. - -2015-12-02 Tom de Vries - - * tree-ssa-structalias.c (find_func_aliases_for_builtin_call) - (find_func_clobbers, ipa_pta_execute): Handle BUILT_IN_GOACC_PARALLEL. - -2015-12-02 Segher Boessenkool - - * config/rs6000/rs6000.md (cstore_si_as_di): New expander. - (cstore4): Use it. - -2015-12-02 Richard Biener - - PR tree-optimization/68625 - * tree-cfgcleanup.c (cleanup_tree_cfg_bb): Do not call - cleanup_control_flow_bb. - (cleanup_tree_cfg_1): First perform cleanup_control_flow_bb - on all BBs, then cleanup_tree_cfg_bb and finally iterate - over the worklist doing both. - -2015-12-02 Richard Sandiford - - 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. - (asin2, acosxf2, acos2, log1pxf2, log1p2) - (expNcorexf3, expxf2, exp2, exp10xf2, exp102, exp2xf2) - (exp22, expm1xf2, expm12, ldexpxf3, ldexp3) - (scalbxf3, scalb3, rint2, round2) - (xf2, 2): Likewise. - -2015-12-02 Richard Sandiford - - * 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 - - * 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 - - * config/s390/vector.md ("*vec_set"): Change shift count - mode from DI to SI. - -2015-12-02 Andreas Krebbel - - * 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 - - * config/s390/s390-builtin-types.def: Sort builtin types. - -2015-12-02 Andreas Krebbel - - * config/s390/s390-c.c (s390_get_vstring_flags): Invert the - condition for the RT flag. - -2015-12-02 Andreas Krebbel - - * 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"): Add vrepi. - -2015-12-02 Andreas Krebbel - - * config/s390/vector.md ("*vec_splats"): Fix constraint - letter I->K. - -2015-12-02 Andreas Krebbel - - * config/s390/s390.md ("bswap2"): Add support for strv and strvg. - ("bswaphi2"): New pattern. - New splitter for HI reg-reg bswap. - -2015-11-27 Jiri Engelthaler - - PR driver/68029 - * opts-common.c (prune_options): Don't ignore -fdiagnostics-color - if it is the first parameter. - -2015-12-01 Richard Sandiford - - 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 - - * 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 - - * 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 - - * c-common.c (parse_optimize_options): Do not silently ignore - -fstrict-aliasing changes. - -2015-12-01 Jan Hubicka - - * 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 - - * config/nvptx/nvptx.c (nvptx_function_arg_advance): Don't - consider mode. - -2015-12-01 Bill Schmidt - - * 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 - Cesar Philippidis - James Norris - - * 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 - - PR middle-end/68582 - * cgraphunit.c (check_global_declaration): Only depend - on TREE_THIS_VOLATILE for VAR_DECLs. - -2015-12-01 Richard Sandiford - - PR tree-optimization/68474 - * tree-call-cdce.c (use_internal_fn): Protect call to - gen_shrink_wrap_conditions. - -2015-12-01 Christian Bruel - - 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 - - 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 - - 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 - - PR ipa/68470 - * ipa-split.c (split_function): Handle main part not returning. - -2015-12-01 Ilya Enkovich - - PR middle-end/68595 - * tree-vect-stmts.c (vect_init_vector): Cast boolean - scalars to a proper value before building a vector. - -2015-12-01 Richard Sandiford - - * genattrtab.c (check_attr_test): Take an attr_desc instead of - an is_const flag. Put the file_location argument first. - Update recursive calls. Improve error messages. - (check_attr_value): Take a file location and use it instead - of attr->loc. Improve error messages. Update calls to - check_attr_test. - (check_defs): Update call to check_attr_value. - (make_canonical): Likewise. - (gen_attr): Likewise. - (main): Likewise. - (gen_insn_reserv): Update call to check_attr_test. - -2015-12-01 Ramana Radhakrishnan - - * config/aarch64/aarch64.c (aarch64_builtin_reciprocal): Fix typo. - -2015-12-01 Richard Biener - - PR middle-end/68590 - * match.pd: Merge (eq @0 @0) and (ge/le @0 @0) patterns. - -2015-12-01 Jan Hubicka - - * ipa-devirt.c (type_with_linkage_p, type_in_anonymous_namespace_p, - odr_type_p): Move to ... - * ipa-utils.h (type_with_linkage_p, type_in_anonymous_namespace_p, - odr_type_p): here; miscro-optimize. - -2015-12-01 Bin Cheng - - PR tree-optimization/68529 - * tree-ssa-loop-niter.c (number_of_iterations_ne): Add new param. - Compute no-overflow information for control iv. - (number_of_iterations_lt, number_of_iterations_le): Add new param. - (number_of_iterations_cond): Pass new argument to above functions. - -2015-11-30 Jan Hubicka - - * ipa-inline-transform.c (inline_call): Drop -fstrict-aliasing when - inlining -fno-strict-aliasing into -fstrict-aliasing body. - -2015-11-30 Aditya Kumar - Sebastian Pop - - PR tree-optimization/68565 - * graphite-isl-ast-to-gimple.c (binary_op_to_tree): Early return on - codegen_error. Fail when rhs of division operations is integer_zerop. - (ternary_op_to_tree): Early return on codegen_error. - (unary_op_to_tree): Same. - (nary_op_to_tree): Same. - (gcc_expression_from_isl_expr_op): Same. - (gcc_expression_from_isl_expression): Same. - (graphite_create_new_loop): On codegen_error continue generating - wrong code. - (graphite_create_new_loop_guard): Same. - (build_iv_mapping): Same. - (graphite_create_new_guard): Same. - -2015-11-30 Aditya Kumar - Sebastian Pop - - * graphite-isl-ast-to-gimple.c: Fix dump messages. - * graphite-scop-detection.c: Same. - * graphite-sese-to-poly.c (isl_id_for_ssa_name): Do not call get_name. - -2015-11-30 Cesar Philippidis - - * tree-nested.c (convert_nonlocal_omp_clauses): Add support for - OMP_CLAUSE_{NUM_GANGS,NUM_VECTORS,VECTOR_LENGTH,SEQ}. - (convert_local_omp_clauses): Likewise. - -2015-11-30 Tom de Vries - - PR tree-optimization/46032 - * tree-ssa-structalias.c (find_func_aliases_for_call_arg): New function, - factored out of ... - (find_func_aliases_for_call): ... here. - (find_func_aliases_for_builtin_call, find_func_clobbers): Handle - BUILT_IN_GOMP_PARALLEL. - (ipa_pta_execute): Same. Handle node->parallelized_function as a local - function. - -2015-11-30 Jakub Jelinek - - PR tree-optimization/68501 - * target.def (builtin_reciprocal): Replace the 3 arguments with - a gcall * one, adjust description. - * targhooks.h (default_builtin_reciprocal): Replace the 3 arguments - with a gcall * one. - * targhooks.c (default_builtin_reciprocal): Likewise. - * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Use - targetm.builtin_reciprocal even on internal functions, adjust - the arguments and allow replacing an internal function with normal - built-in. - * config/i386/i386.c (ix86_builtin_reciprocal): Replace the 3 arguments - with a gcall * one. Handle internal fns too. - * config/rs6000/rs6000.c (rs6000_builtin_reciprocal): Likewise. - * config/aarch64/aarch64.c (aarch64_builtin_reciprocal): Likewise. - * doc/tm.texi (builtin_reciprocal): Document. - -2015-11-30 Richard Biener - - PR tree-optimization/68592 - * tree-vect-loop.c (vect_analyze_loop_2): Reset SLP type also - on the pattern def sequence. - -2015-11-30 Nathan Sidwell - - * config/nvptx/nvptx.c (nvptx_name_replacement): Move earlier. - (write_one_arg): Reorder parms, add 'sep' param. - (nvptx_write_function_decl): Rename to ... - (write_fn_proto): ... here. Do name replacement. Emit linaer - comment marker. Deal with both decls and defns. Simplify argument - formatting. - (write_function_decl_and_comment): Delete. - (write_func_decl_from_insn): Rename to ... - (write_fn_proto_from_insn): ... here. Don't do name replacement. - (nvptx_record_fndecl): Call write_fn_proto. - (nvptx_record_libfunc): Call write_fn_proto_from_insn. - (nvptx_declare_function_name): Adjust for write_fn_proto changes. - (nvotx_output_call_insn): Call write_fn_prot_from_insn. - -2015-11-30 Kirill Yukhin - - * config/i386/i386.md (define_mode_iterator SWI1248_AVX512BW): New. - (define_insn "*k"): Use new iterator. - -2015-11-30 Eric Botcazou - - PR target/28115 - * config/sparc/sparc.c (supersparc_adjust_cost): Fix thinko. - (sparc_adjust_cost): Add missing space. - -2015-11-30 Richard Biener - - PR c/68162 - * dwarf2out.c (gen_type_die_with_usage): Keep variant types of arrays. - -2015-11-30 Venkataramanan Kumar - - * tree-if-conv.c (struct ifc_dr): Add new tree base_predicate field. - (hash_memrefs_baserefs_and_store_DRs_read_written_info): Hash - base ref, DR pairs and store base_predicate for write type DRs. - (ifcvt_memrefs_wont_trap): Guard checks with - -ftree-loop-if-convert-stores flag. - -2015-11-29 Jan Hubicka - - * cgraph.c (cgraph_node::make_local): No name is unique during - incremental linking. - * cgraph.h (can_be_discarded_p): Update comment; also common and - WEAK in named sections can be discarded; when doing incremental - link do not rely on resolution being the final one. - * varasm.c (default_binds_local_p_3, decl_binds_to_current_def_p): - When symbol can be discarded, do not rely on resolution info. - * symtab.c (symtab_node::nonzero_address): Take into account that - symbol can be discarded. - * ipa-visibility.c (update_visibility_by_resolution_info): Handle - definition correctly. - (function_and_variable_visibility): Do not set unique_name when - incrementally linking. - -2015-11-29 Nathan Sidwell - - * config/nvptx/nvptx.md (const_0_operand, global_mem_operand, - const_mem_operand, param_mem_operand, shared_mem_operand): Delete. - (ctrap): Use const0_operand. - -2015-11-29 Jan Hubicka - - * ipa-devirt.c (add_type_duplicate): Remove redundant - ODR violation dump. - -2015-11-29 David Edelsohn - - PR target/28115 - * config/rs6000/rs6000.c (rs6000_adjust_cost): Correct - recog_memoized test for insn and check recog_memoized for dep_insn. - -2015-11-28 Nathan Sidwell - - * config/nvptx/nvptx.h (FIRST_PARM_OFFSET): Add void cast. - (FRAME_POINTER_CFA_OFFSET): Define. - (struct nvptx_args): Use 'tree' type. - (INIT_CUMULATIVE_ARGS): Remove unnecessary do...while. - -2015-11-28 Tom de Vries - - * lto-wrapper.c (run_gcc): Handle -flinker-output argument. - -2015-11-27 Jonathan Wakely - - * doc/invoke.texi (Option Summary): Use negative form of - -Waggressive-loop-optimizations, remove redundant -Wpedantic-ms-format, - sort alphabetically and re-justify. - -2015-11-27 Vladimir Makarov - - PR rtl-optimization/68536 - * lra.c (lra_emit_add): Add code for null base. - * lra-constraints.c (curr_insn_transform): Skip operators for - subreg reloads. - -2015-11-27 Kyrylo Tkachov - - Revert - 2015-11-27 Kyrylo Tkachov - - * ifcvt.c (insn_valid_noce_process_p): Reject insn if it satisfies - multiple_sets. - (noce_try_cmove_arith): Add checking asserts that orig_a and orig_b - are not modified by the final modified insns in the basic blocks. - -2015-11-27 Nathan Sidwell - - * config/nvptx/nvptx-protos.h (nvptx_addr_space_from_address): - Don't declare. - * config/nvptx/nvptx.c (nvptx_addr_space_from_sym): New. - (nvptx_maybe_convert_symbolic_operand): Simplify. - (nvptx_addr_space_from_address): Delete. - (nvptx_print_operand): Adjust 'A' case. - -2015-11-27 Richard Biener - - PR tree-optimization/68559 - * tree-vect-data-refs.c (vect_analyze_group_access_1): Move - peeling for gap checks ... - * tree-vect-stmts.c (vectorizable_load): ... here and relax for SLP. - * tree-vect-loop.c (vect_analyze_loop_2): Re-set - LOOP_VINFO_PEELING_FOR_GAPS before re-trying without SLP. - -2015-11-27 Nathan Sidwell - - * config/nvptx/nvptx-protos.h (nvptx_record_needed_decl): Don't declare. - * config/nvptx/nvptx.c (write_func_decl_from_insn): Move earlier. - (nvptx_record_fndecl): Don't return value, remove force - argument. Require fndecl. - (nvptx_record_libfunc): New. - (nvptx_record_needed_decl): Deteermine how to record decl here. - (nvptx_maybe_record_fnsym): New. - (nvptx_expand_call): Don't record libfuncs here, - (nvptx_maybe_convert_symbolic_operand): Use - nvptx_maye_record_fnsym. - (nvptx_assemble_integer): Reimplement with single switch. - (nvptx_output_call_insn): Register libfuncs here. - (nvptx_file_end): Adjust nvptx_record_fndecl call. - * config/nvptx/nvptx.md (expand_movdi): Don't call - nvptx_record_needed_decl. - -2015-11-27 Richard Biener - - PR tree-optimization/68553 - * tree-vect-slp.c (vect_create_mask_and_perm): Skip VEC_PERM_EXPR - generation for 1:1 permutations. - (vect_transform_slp_perm_load): Detect 1:1 permutations. - -2015-11-27 Bernd Schmidt - - * gimple.h (nonbarrier_call_p): Declare. - * gimple.c (nonbarrier_call_p): New function. - * tree-ssa-phiopt.c (nontrapping_dom_walker::before_dom_children): - Also increment call phase for ASMs with vdef and potential barrier - calls. - -2015-11-27 Kyrylo Tkachov - - * ifcvt.c (insn_valid_noce_process_p): Reject insn if it satisfies - multiple_sets. - (noce_try_cmove_arith): Add checking asserts that orig_a and orig_b - are not modified by the final modified insns in the basic blocks. - -2015-11-27 Kyrylo Tkachov - - PR rtl-optimization/68506 - * ifcvt.c (noce_try_cmove_arith): Try emitting the else basic block - first if emit_a exists or then_bb modifies 'b'. Reindent if-else - blocks. - -2015-11-27 Martin Liska - - PR c++/68312 - * vec.h (release_vec_vec): New function. - -2015-11-27 Jakub Jelinek - - PR tree-optimization/68552 - * optabs.c (expand_vec_perm_1): Move vec_shr handling from here... - (expand_vec_perm): ... here. Do it regardless of vec_perm_const_optab - or whether v0 == v1. - -2015-11-27 Martin Liska - - * tree-ssa-uninit.c: Fix whitespaces in the source file. - The change is just automatical. - -2015-11-27 Martin Liska - - * tree-chkp.c (chkp_make_static_bounds): Release buffer - used for string. - -2015-11-27 Martin Liska - - * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): - Do not release memory for comp_alias_ddrs. - * tree-vect-loop.c (destroy_loop_vec_info): Release - the memory for all loop_vec_info. - -2015-11-27 Martin Liska - - * ipa-devirt.c (ipa_devirt): Use auto_vec instead - of a local-scope vec. - (struct final_warning_record): Use auto_vec instead of vec. - -2015-11-27 Richard Biener - - PR tree-optimization/68553 - * tree-vect-slp.c (vect_get_mask_element): Remove. - (vect_transform_slp_perm_load): Implement in a simpler way. - -2015-11-26 Alexandre Oliva - - PR rtl-optimization/67753 - PR rtl-optimization/64164 - * function.c (assign_parm_setup_block): Right-shift - upward-padded big-endian args when bypassing the stack slot. - -2015-11-26 Maciej W. Rozycki - - * doc/invoke.texi (Option Summary) : Reorder - `-mcompact-branches='. - (MIPS Options): Likewise. - -2015-11-26 Jakub Jelinek - - * Makefile.in (build/genmatch.o): Depend on internal-fn.def. - -2015-11-26 David Edelsohn - - * doc/install.texi (Prerequisites): Increase ISL requirement to - 0.14 or 0.15. - -2015-11-26 Matthew Wahab - - * config/aarch64/arm_neon.h - (vqrdmlah_laneq_s16, vqrdmlah_laneq_s32): New. - (vqrdmlahq_laneq_s16, vqrdmlahq_laneq_s32): New. - (vqrdmlsh_lane_s16, vqrdmlsh_lane_s32): New. - (vqrdmlshq_laneq_s16, vqrdmlshq_laneq_s32): New. - (vqrdmlah_lane_s16, vqrdmlah_lane_s32): New. - (vqrdmlahq_lane_s16, vqrdmlahq_lane_s32): New. - (vqrdmlahh_s16, vqrdmlahh_lane_s16, vqrdmlahh_laneq_s16): New. - (vqrdmlahs_s32, vqrdmlahs_lane_s32, vqrdmlahs_laneq_s32): New. - (vqrdmlsh_lane_s16, vqrdmlsh_lane_s32): New. - (vqrdmlshq_lane_s16, vqrdmlshq_lane_s32): New. - (vqrdmlshh_s16, vqrdmlshh_lane_s16, vqrdmlshh_laneq_s16): New. - (vqrdmlshs_s32, vqrdmlshs_lane_s32, vqrdmlshs_laneq_s32): New. - -2015-11-26 Matthew Wahab - - * config/aarch64/arm_neon.h (vqrdmlah_s16, vqrdmlah_s32): New. - (vqrdmlahq_s16, vqrdmlahq_s32): New. - (vqrdmlsh_s16, vqrdmlsh_s32): New. - (vqrdmlshq_s16, vqrdmlshq_s32): New. - -2015-11-26 Matthew Wahab - - * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Add - ARM_FEATURE_QRDMX. - -2015-11-26 Pierre-Marie de Rodat - - PR debug/53927 - * tree-nested.c (finalize_nesting_tree_1): Append a field to - hold the frame base address. - * dwarf2out.c (gen_subprogram_die): Generate for - DW_AT_static_link a location description that computes the value - of this field. - -2015-11-26 Tom de Vries - - revert: - 2015-11-25 Tom de Vries - - * cfgloop.c (find_single_latch): New function, factored out of ... - (flow_loops_find): ... here. - (verify_loop_structure): Improve verification of loop->latch. - * cfgloop.h (find_single_latch): Declare. - * omp-low.c (expand_omp_for_generic): Initialize latch of orig_loop. - -2015-11-26 Matthew Wahab - - * config/aarch64/aarch64-simd-builtins.def: - Add missing changes from r230962. - -2015-11-26 Nathan Sidwell - - * config/nvptx/nvptx.c (write_func_decl_from_insn): Replace callee - arg with name. Don't deal with split regs. Tweak formatting. - (nvptx_expand_call): Adjust write_func_decl_from_insn call. - (nvptx_output_call_insn): Don't deal with split regs here. - -2015-11-26 Matthew Wahab - - * config/aarch64/aarch64-simd-builtins.def - (sqrdmlah, sqrdmlsh): New. - (sqrdmlah_lane, sqrdmlsh_lane): New. - (sqrdmlah_laneq, sqrdmlsh_laneq): New. - -2015-11-26 Matthew Wahab - - * config/aarch64/aarch64-simd.md - (aarch64_sqmovun): Fix some white-space. - (aarch64_qmovun): Likewise. - (aarch64_sqrdmlh): New. - (aarch64_sqrdmlh_lane): New. - (aarch64_sqrdmlh_laneq): New. - * config/aarch64/iterators.md (UNSPEC_SQRDMLAH): New. - (UNSPEC_SQRDMLSH): New. - (SQRDMLH_AS): New. - (rdma_as): New. - -2015-11-26 Richard Biener - - PR tree-optimization/66721 - * tree-vect-loop.c (vect_analyze_loop_2): Compute scalar - iteration cost earlier. Re-do analysis without SLP when - vectorization using SLP fails and without has a chance to succeed. - -2015-11-26 Richard Biener - - * genmatch.c (dt_simplify::gen_1): For generic wrap all - multi-result-use captures in a SAVE_EXPR. - -2015-11-26 Matthew Wahab - - * config/aarch64/aarch64.h (AARCH64_ISA_RDMA): New. - (TARGET_SIMD_RDMA): New. - -2015-11-26 Kyrylo Tkachov - - * combine.c (subst): Do not return clobber of zero in widening mult - case. Just return x unchanged if it is a no-op substitution. - -2015-11-26 Vladimir Makarov - - PR target/68416 - * config/i386/i386.h (enum reg_class): Add - bounds registers to ALL_REGS. - -2015-11-26 Jakub Jelinek - - PR tree-optimization/68128 - * tree.h (OMP_CLAUSE_SHARED_READONLY): Define. - * gimplify.c: Include gimple-walk.h. - (enum gimplify_omp_var_data): Add GOVD_WRITTEN. - (omp_notice_variable): Set flags to n->value if n already - exists in target region, but we need to jump to do_outer. - (omp_shared_to_firstprivate_optimizable_decl_p, - omp_mark_stores, omp_find_stores_op, omp_find_stores_stmt): New - functions. - (gimplify_adjust_omp_clauses_1): Set OMP_CLAUSE_SHARED_READONLY - on OMP_CLAUSE_SHARED if it is a scalar non-addressable that is - not modified in the body. Call omp_mark_stores for outer - contexts on OMP_CLAUSE_SHARED clauses if they could be written - in the body or on OMP_CLAUSE_LASTPRIVATE. - (gimplify_adjust_omp_clauses): Add body argument, call - omp_find_stores_{stmt,op} on the body through walk_gimple_seq. - Set OMP_CLAUSE_SHARED_READONLY - on OMP_CLAUSE_SHARED if it is a scalar non-addressable that is - not modified in the body. Call omp_mark_stores for outer - contexts on OMP_CLAUSE_SHARED clauses if they could be written - in the body or on OMP_CLAUSE_LASTPRIVATE or on OMP_CLAUSE_LINEAR - without OMP_CLAUSE_LINEAR_NO_COPYOUT or on OMP_CLAUSE_REDUCTION. - (gimplify_oacc_cache, gimplify_omp_parallel, gimplify_omp_task, - gimplify_omp_for, gimplify_omp_workshare, gimplify_omp_target_update, - gimplify_expr): Adjust gimplify_adjust_omp_clauses callers. - * tree-nested.c (convert_nonlocal_omp_clauses, - convert_local_omp_clauses): Clear OMP_CLAUSE_SHARED_READONLY on - non-local vars or local vars referenced from nested routines. - * omp-low.c (scan_sharing_clauses): For OMP_CLAUSE_SHARED_READONLY - attempt to optimize it into OMP_CLAUSE_FIRSTPRIVATE. Even for - TREE_READONLY, don't call use_pointer_for_field with non-NULL - second argument until we are sure we are keeping OMP_CLAUSE_SHARED. - -2015-11-26 Paolo Bonzini - - * doc/implement-c.texi (Integers Implementation): Make GCC's promises - about signed left shift stronger and clarify the cases when they're - broken. - -2015-11-26 Kyrylo Tkachov - Bernd Schmidt - - PR rtl-optimization/67226 - * calls.c (store_one_arg): Take into account - crtl->args.pretend_args_size when checking for overlap between - arg->value and argblock + arg->locate.offset during sibcall - optimization. - -2015-11-26 Wilco Dijkstra - - * config/aarch64/aarch64.md (cbranch4): Use - aarch64_fp_compare_operand. - (store_pairsf): Use aarch64_reg_or_fp_zero. - (store_pairdf): Likewise. - (cstore4): Use aarch64_fp_compare_operand. - (cmov6): Likewise. - * config/aarch64/aarch64-ldpstp.md: Use aarch64_reg_or_fp_zero. - -2015-11-25 Aditya Kumar - Sebastian Pop - - PR tree-optimization/68453 - * graphite-isl-ast-to-gimple.c (translate_isl_ast_for_loop): Do - not redirect edges already pointing to their destination. - (translate_isl_ast_node_for): Split edges after loops to create - basic blocks for close phi nodes. Save merge points at the end of - a loop guard. - (translate_isl_ast_node_if): Save merge points at the end of the - if region. - (add_close_phis_to_outer_loops): New. - (add_close_phis_to_merge_points): New. - (copy_loop_close_phi_args): Call add_close_phis_to_merge_points. - (copy_bb_and_scalar_dependences): Do not split basic blocks on - loop close phi locations. - -2015-11-25 Jan Hubicka - - * ipa-visibility.c (cgraph_externally_visible_p, - varpool_node::externally_visible_p): When doing incremental linking, - hidden symbols may be still used later. - (update_visibility_by_resolution_info): Do not drop weak during - incremental link. - (function_and_variable_visibility): Fix formating. - * flag-types.h (lto_linker_output): Declare. - * common.opt 9flag_incremental_link): New flag. - -2015-11-25 Michael Meissner - - * config/rs6000/constraints.md (wb constraint): New constraint for - ISA 3.0 d-form scalar addressing. - - * config/rs6000/rs6000.c (mode_supports_vmx_dform): Add support - for ISA 3.0 D-form addressing to load SFmode/DFmode scalars into - Altivec registers. Add wb constraint for Altivec registers with - D-form addressing. If we have ISA 3.0 d-form support, undo - secondary reload support for using FPR registers if we want to do - D-form addressing. - (rs6000_debug_reg_global): Likewise. - (rs6000_setup_reg_addr_masks): Likewise. - (rs6000_init_hard_regno_mode_ok): Likewise. - (rs6000_secondary_reload): Likewise. - (rs6000_preferred_reload_class): Likewise. - (rs6000_secondary_reload_class): Likewise. - - * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Add wb - constraint. - - * config/rs6000/rs6000.md (f32_lr2 mode attribute): Add support - for ISA 3.0 SFmode/DFmode d-form addressing to Altivec registers. - (f32_lm2): Likewise. - (f32_li2): Likewise. - (f32_sr2): Likewise. - (f32_sm2): Likewise. - (f32_si2): Likewise. - (f64_p9): Likewise. - (extendsfdf2_fpr): Likewise. - (mov_hardfloat): Likewise. - (mov_hardfloat32): Likewise. - (mov_hardfloat64): Likewise. - - * doc/md.texi (RS/6000 constraints): Document wb constraint. - Fixup we constraint documentation. - -2015-11-25 Tom de Vries - - * omp-low.c (pass_expand_omp_ssa::clone): New function. - * passes.def: Add pass_oacc_kernels pass group. - * tree-ssa-loop-ch.c (pass_ch::clone): New function. - -2015-11-25 Tom de Vries - - * tree-pass.h (make_pass_oacc_kernels, make_pass_oacc_kernels2): - Declare. - * tree-ssa-loop.c (gate_oacc_kernels): New static function. - (pass_data_oacc_kernels, pass_data_oacc_kernels2): New pass_data. - (class pass_oacc_kernels, class pass_oacc_kernels2): New pass. - (make_pass_oacc_kernels, make_pass_oacc_kernels2): New function. - -2015-11-25 Jan Hubicka - - * timevar.def (TV_IPA_LTO_DECOMPRESS, TV_IPA_LTO_COMPRESS, - TV_IPA_LTO_OUTPUT): New. - * lto-compress.c: Include timevar.h - (lto_end_compression, lto_end_uncompression): Add timers. - * langhooks.c: Include timevar.h. - (lhd_append_data): Add timer. - -2015-11-25 Jan Hubicka - - * varasm.c (default_elf_asm_output_limited_string, - default_elf_asm_output_ascii): Replace fprintf by putc. - -2015-11-25 Vladimir Makarov - - PR rtl-optimization/67954 - * lra-constraints.c (curr_insn_transform): Add check on scratch - pseudo when change class to NO_REGS. Add an assert. - -2015-11-25 Nathan Sidwell - - * config/nvptx/nvptx.md (load_arg_reg): Arg number - constraint is 'n'. - * config/nvptx/nvptx.c (write_one_arg): Use 'i' directly as arg number. - (nvptx_write_function_decl): Number args from 0. - (nvptx_declare_function_name): Likewise. - (nvptx_function_incoming_arg): Likewise. - (nvptx_output_call_insn): Correct formatting. - -2015-11-25 David Sherwood - - * optabs.def: Add new optabs fmax_optab/fmin_optab. - * internal-fn.def: Add new fmax/fmin internal functions. - * doc/md.texi: Add fmin and fmax patterns. - -2015-11-25 Jason Merrill - - PR c++/68385 - * tree.c (integer_zerop, integer_onep, integer_each_onep) - (integer_all_onesp, integer_minus_onep, integer_pow2p) - (integer_nonzerop, integer_truep, tree_log2, tree_floor_log2) - (real_zerop, real_onep, real_minus_onep): Remove STRIP_NOPS. - -2015-11-25 Richard Biener - - PR middle-end/68528 - * fold-const.c (fold_binary_loc): Do not call negate_expr_p - on stripped operands. - -2015-11-25 Nathan Sidwell - - * config/nvptx/nvptx.c (walk_args_for_params): Delete. - (nvptx_declare_function_name): Move assignments next to register - declarations, and process params here. - -2015-11-25 David Edelsohn - - * config/rs6000/rs6000.c (rs6000_declare_alias): Rename and globalize - both the symbol and the "dot" symbol for function descriptors. Fix - inversion for rename of symbols with dollar sign. - -2015-11-25 Tom de Vries - - * cfgloop.c (find_single_latch): New function, factored out of ... - (flow_loops_find): ... here. - (verify_loop_structure): Improve verification of loop->latch. - * cfgloop.h (find_single_latch): Declare. - * omp-low.c (expand_omp_for_generic): Initialize latch of orig_loop. - -2015-11-25 Rainer Orth - - * config/sol2.h (SUPPORTS_INIT_PRIORITY): Move up. - (STARTFILE_VTV_SPEC, ENDFILE_VTV_SPEC): Define. - (STARTFILE_SPEC): Use %(startfile_vtv). - (ENDFILE_SPEC): Use %(endfile_vtv). - (SUBTARGET_EXTRA_SPECS): Handle STARTFILE_VTV_SPEC, - ENDFILE_VTV_SPEC. - - * gcc.c (LINK_COMMAND_SPEC): Move VTABLE_VERIFICATION_SPEC after %{L*}. - -2015-11-25 Bernd Schmidt - - * ifcvt.c (noce_mem_write_may_trap_or_fault_p, - noce_can_store_speculate): Delete. - (noce_process_if_block): Don't try to handle single MEM stores. - * rtl.h (memory_must_be_modified_in_insn_p): Don't declare. - * alias.c (memory_must_be_modified_in_insn_p): Delete. - -2015-11-25 Kyrylo Tkachov - - PR rtl-optimization/68435 - * ifcvt.c (noce_try_cmove_arith): Skip final insn when checking - for conflicts between a, b and the set destinations. - -2015-11-25 Richard Biener - - PR tree-optimization/68517 - * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): - Properly handle zero-sized types. - -2015-11-24 Jan Hubicka - - * ipa-inline-analysis.c: Include gimplify.h - (set_cond_stmt_execution_predicate, - set_switch_stmt_execution_predicate): Be sure to not leak locations - to function body. - -2015-11-25 Jakub Jelinek - - PR target/67089 - * tree-ssa-math-opts.c (uaddsub_overflow_check_p, - match_uaddsub_overflow): New functions. - (pass_optimize_widening_mul::execute): Call match_uaddsub_overflow. - -2015-11-25 Richard Biener - - PR tree-optimization/68492 - * tree-vect-slp.c (vect_build_slp_tree): Consistently build up - op from scalars after operand swapping. - -2015-11-25 Richard Biener - - PR tree-optimization/68502 - * tree-vect-data-refs.c (vect_analyze_group_access_1): Restore - check that the step is a multiple of the type size. - -2015-11-24 Michael Collison - - * config/aarch64/aarch64-simd.md (widen_ssum, widen_usum) - (aarch64_w_internal): New patterns - * config/aarch64/iterators.md (Vhalf, VDBLW): New mode attributes. - -2015-11-24 Steve Ellcey - - * frame-header-opt.c (gate): Check for optimize > 0. - (has_inlined_assembly): New function. - (needs_frame_header_p): Remove is_leaf_function check, - add argument type check. - (callees_functions_use_frame_header): Add is_leaf_function - and has_inlined_assembly calls.. - (set_callers_may_not_allocate_frame): New function. - (frame_header_opt): Add is_leaf_function call, add - set_callers_may_not_allocate_frame call. - * config/mips/mips.c (mips_compute_frame_info): Add check - to see if callee saved regs can be put in frame header. - (mips_expand_prologue): Add check to see if step1 is zero, - fix cfa restores when using frame header to store regs. - (mips_can_use_return_insn): Check to see if registers are - stored in frame header. - * config/mips/mips.h (machine_function): Add - callers_may_not_allocate_frame and - use_frame_header_for_callee_saved_regs fields. - -2015-11-24 Segher Boessenkool - - PR rtl-optimization/68520 - * shrink-wrap.c (try_shrink_wrapping): Don't push a block to VEC if - its bit was already set in BB_WITH. - -2015-11-24 Jan Hubicka - - * alias.c (get_alias_set): Before checking TYPE_ALIAS_SET_KNOWN_P - double check that type is main variant. - * tree.c (build_variant_type_copy): Clear TYPE_ALIAS_SET when producing - variant. - (verify_type_variant): Verify that variants have no - TYPE_ALIAS_SET_KNOWN_P set - * tree-streamer-out.c (pack_ts_type_common_value_fields): Reorder - streaming so constant fields come first; stream TYPE_ALIAS_SET==0 - only for main variants; stream TYPE_ALIAS_SET as a bit. - * tree-streamer-in.c (unpack_ts_type_common_value_fields): Update - accordingly. - -2015-11-24 Jan Hubicka - - * tree.c (make_vector_type): Properly compute canonical type of the - main variant. - (verify_type): Verify that TYPE_CANONICAL of TYPE_MAIN_VARIANT is - a main variant. - -2015-11-24 Nathan Sidwell - - * config/nvptx/nvptx.c (maybe_split_mode): Return new mode or - VOIDmode, don't alter incoming mode. - (nvptx_split_reg_p): Delete. - (write_one_arg, walk_args_for_param, nvptx_declare_function_name, - write_func_decl_from_insn, nvptx_output_call_insn): Adjust - maybe_split_mode calls. - (nvptx_print_operand): Use maybe_split_mode. - -2015-11-24 Jan Hubicka - - * lto-streamer-in.c (lto_read_body_or_constructor): Set TYPE_CANONICAL - only for types where LTO sets them. - * tree.c (build_array_type_1): Do ont set TYPE_CANONICAL for LTO. - (make_vector_type): Likewise. - (gimple_canonical_types_compatible_p): Use canonical_type_used_p. - * tree.h (canonical_type_used_p): New inline. - * alias.c (get_alias_set): Handle structural equality for all - types that pass canonical_type_used_p. - (record_component_aliases): Look through all types with - record_component_aliases for possible pointers; sanity check that - the alias sets match. - -2015-11-24 Michael Meissner - - * config/rs6000/rs6000.md (lrounddi2): Remove constraints. - -2015-11-24 Jan Hubicka - - * tree.c (free_node): New function. - (type_hash_canon): Use it. - * tree.h (free_node): Declare. - -2015-11-24 David Edelsohn - Michael Meissner - - * config/rs6000/rs6000.md (UNSPEC_XSRDPI): New unspec. - (Fv2): New mode attribute to be used when ISA 2.07 instructions - are used on SF values, and ISA 2.06 instructions on DF values. - (add3_fpr): Use instead of . - (sub3_fpr): Use instead of . - (mul3_fpr): Use instead of . - (div3_fpr): Use instead of . - (sqrt2): Use instead of . - (fre): Use instead of . - (rsqrt2): Use instead of . - (cmp_fpr): Use instead of . - (xsrdpi): Add support for the lround function. - (lrounddi2): Likewise. - (fma4_fpr): Use instead of . - (fms4_fpr): Use instead of . - (nfma4_fpr): Use instead of . - (nfms4_fpr): Use instead of . - -2015-11-24 Aditya Kumar - Sebastian Pop - - PR tree-optimization/67984 - * graphite-isl-ast-to-gimple.c (is_constant): New. - (get_rename): Call is_constant. - (get_new_name): Same. - -2015-11-24 Aditya Kumar - Sebastian Pop - - * graphite-dependences.c: Only include graphite.h. - * graphite-isl-ast-to-gimple.c: Same. - * graphite-optimize-isl.c: Same. - * graphite-poly.c: Same. - * graphite-scop-detection.c: Same. - * graphite-sese-to-poly.c: Same. - * graphite.c: Same. - * graphite-isl-ast-to-gimple.h: Move to graphite.h. - * graphite-poly.h: Same. - * graphite-scop-detection.h: Same. - * graphite.h: New. - -2015-11-24 Pierre-Marie de Rodat - - * dwarf2out.c (gen_decl_die): Generate DW_TAG_imported_* instead of - DW_TAG_namespace for IMPORTED_DECL declarations. Call - dwarf2out_imported_module_or_decl_1 for all DWARF versions as this - function already takes care of checking what it can emit. - -2015-11-24 Szabolcs Nagy - - * doc/invoke.texi (-fpic): Add the AArch64 limit. - (-fPIC): Add AArch64. - -2015-11-24 Tom de Vries - - * tree-ssa-loop-im.c (tree_ssa_lim): Make static. - (pass_lim::execute): Allow to run outside pass_tree_loop. - -2015-11-24 Wilco Dijkstra - - * config/aarch64/aarch64.md (add3): - Block early expansion into 2 add instructions. - (add3_pluslong): New pattern to combine complex - immediates into 2 additions. - -2015-11-24 Segher Boessenkool - - PR target/66217 - PR target/67677 - PR target/68332 - * config/rs6000/predicates.md (and_operand): Check that the operand - is a const_int before calling rs6000_is_valid_and_mask. - -2015-11-24 Kyrylo Tkachov - - * config/aarch64/aarch64.md (*condjump): Rename to... - (condjump): ... This. - (*compare_condjump): New define_insn_and_split. - (*compare_cstore_insn): Likewise. - (*cstore_insn): Rename to... - (cstore_insn): ... This. - * config/aarch64/iterators.md (CMP): Handle ne code. - * config/aarch64/predicates.md (aarch64_imm24): New predicate. - -2015-11-24 Mikhail Maltsev - - PR target/68497 - * config/i386/i386.c (output_387_binary_op): Fix assertion for - -fno-checking case. - -2015-11-24 Trevor Saunders - - * tree-ssa-uncprop.c (struct val_ssa_equiv_hash_traits): Remove. - (val_ssa_equiv_hash_traits::remove): Likewise. - (pass_uncprop::execute): Adjust. - -2015-11-24 Trevor Saunders - - * hash-map-traits.h (simple_hashmap_traits ::remove): call - destructors on values that are being removed. - * mem-stats.h (hash_map): Pass type of values to - simple_hashmap_traits. - * tree-sra.c (sra_deinitialize): Remove work around for hash - maps not destructing values. - * genmatch.c (sinfo_hashmap_traits): Adjust. - * tree-ssa-uncprop.c (val_ssa_equiv_hash_traits): Likewise. - -2015-11-24 Richard Biener - Kyrylo Tkachov - - PR middle-end/68375 - * cfgloop.c (get_loop_body_in_bfs_order): Restructure loop to avoid - bogus assertion. - -2015-11-24 Jakub Jelinek - - PR target/68483 - * tree-vect-generic.c (lower_vec_perm): If VEC_PERM_EXPR - is valid vec_shr pattern, don't lower it even if can_vec_perm_p - returns false. - * optabs.c (shift_amt_for_vec_perm_mask): Return NULL_RTX - whenever first is nelt or above. Don't mask expected with - 2 * nelt - 1. - -2015-11-24 Ilya Enkovich - - PR c/68337 - * gimple-fold.c: Include ipa-chkp.h. - (gimple_fold_builtin_memory_op): Don't fold call if we - are going to instrument it and it may copy pointers. - -2015-11-24 Bernd Schmidt - Kyrylo Tkachov - - PR rtl-optimization/68194 - PR rtl-optimization/68328 - PR rtl-optimization/68185 - * ree.c (combine_reaching_defs): Reject copy_needed case if - copies_list is not empty. - -2015-11-24 Richard Biener - - PR middle-end/68221 - * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Properly - use mem_ref_offset. - -2015-11-24 Segher Boessenkool - - PR rtl-optimization/68381 - * combine.c (is_parallel_of_n_reg_sets): Return false if the pattern - is poisoned. - -2015-11-23 Nick Clifton - Jeff Law - - * ree.c (add_removable_extension): Avoid mis-optimizing cases where - the source/dest of the target extension require a different number of - hard registers. - (combine_set_extension): Remove #if 0 code. - -2015-11-23 Aditya Kumar - Sebastian Pop - - PR tree-optimization/68314 - * graphite-optimize-isl.c (optimize_isl): Do not call - isl_union_map_is_equal. - * graphite-poly.c (new_scop): Remove original_schedule. - (free_scop): Same. - * graphite-poly.h (struct scop): Same. - * graphite-sese-to-poly.c (build_pbb_minimal_scattering_polyhedrons): - Remove. - (build_pbb_scattering_polyhedrons): Add back. - (build_scop_minimal_scattering): Remove. - (build_scop_scattering): Add back. - (build_scop_original_schedule): Remove. - (build_poly_scop): Revert to only call build_scop_scattering. - -2015-11-23 Aditya Kumar - Sebastian Pop - - PR tree-optimization/68493 - * graphite-isl-ast-to-gimple.c (translate_pending_phi_nodes): Add - missing early return when codegen_error is set. - -2015-11-23 Aditya Kumar - Sebastian Pop - - PR tree-optimization/68279 - * graphite-poly.c (new_scop): Remove poly_scop_p. - * graphite-poly.h (struct scop): Same. - (build_poly_scop): Declare. - * graphite-sese-to-poly.c: Do not include graphite-sese-to-poly.h. - (cleanup_loop_iter_dom): New. - (build_loop_iteration_domains): Early return when scev analysis fails. - (create_pw_aff_from_tree): Same. - (add_condition_to_pbb): Same. - (add_conditions_to_domain): Same. - (add_conditions_to_constraints): Same. - (build_scop_iteration_domain): Same. - (build_poly_scop): Same. Do not initialize poly_scop_p. - * graphite-sese-to-poly.h: Remove. - * graphite.c: Do not include graphite-sese-to-poly.h. - (graphite_transform_loops): Stop before code generation when - build_poly_scop fails. - * sese.c (scalar_evolution_in_region): Add fixme note about scev - analysis. - -2015-11-23 Aditya Kumar - Sebastian Pop - - * graphite-isl-ast-to-gimple.c (translate_isl_ast_node_user): - Remove call to update_ssa. - * sese.c (sese_insert_phis_for_liveouts): Same. - -2015-11-23 Marek Polacek - - PR tree-optimization/68455 - * tree-vrp.c (extract_range_from_binary_expr_1): Don't call - extract_range_from_multiplicative_op_1 on symbolic ranges. - -2015-11-23 Richard Henderson - - * optabs.def (uaddv4_optab, usubv4_optab): New. - * internal-fn.c (expand_addsub_overflow): Use them. - * doc/md.texi (Standard Names): Add uaddv4, usubv4. - - * config/i386/i386.c (ix86_cc_mode): Extend add overflow check - to reversed operands. - * config/i386/i386.md (uaddv4, usubv4): New. - (*add3_cconly_overflow_1): Rename *add3_cconly_overflow. - (*add3_cc_overflow_1): Rename *add3_cc_overflow. - (*addsi3_zext_cc_overflow_1): Rename *add3_zext_cc_overflow. - (*add3_cconly_overflow_2): New. - (*add3_cc_overflow_2): New. - (*addsi3_zext_cc_overflow_2): New. - -2015-11-23 Richard Biener - - PR tree-optimization/68465 - * tree-ssa-sccvn.c (sccvn_dom_walker::before_dom_children): - Also record equalities from multiple predecessor blocks if - only one non-backedge exists. - -2015-11-23 Kyrylo Tkachov - - PR target/68363 - * config/aarch64/aarch64.c (aarch64_madd_needs_nop): Reject arguments - that are not INSN_P. - -2015-11-23 Bilyan Borisov - - * config/aarch64/aarch64-builtins.c - (aarch64_gimple_fold_builtin): Fold FMULX. - -2015-11-23 David Edelsohn - - * system.h: Don't poison calloc and strdup if USES_ISL is defined. - * graphite-dependences.c: Define USES_ISL. Include ISL header files - after GCC header files and before graphite header files. - * graphite-dependences.c: Same. - * graphite-isl-ast-to-gimple.c: Same. - * graphite-optimize-isl.c: Same. - * graphite-poly.c: Same. - * graphite-scop-detection.c: Same. - * graphite-sese-to-poly.c: Same. - * graphite.c: Same. - -2015-11-23 Richard Biener - Jiong Wang - - PR tree-optimization/68317 - PR tree-optimization/68326 - * tree-vrp.c (adjust_range_with_scev): Call drop_tree_overflow if the - final min and max are not infinity. - -2015-11-23 Ilya Enkovich - Richard Biener - - PR tree-optimization/68327 - * tree-vect-loop.c (vect_determine_vectorization_factor): Don't - compute vectype for non-relevant mask producers. - * tree-vect-stmts.c (vectorizable_comparison): Check stmt - relevance earlier. - -2015-11-23 Tom de Vries - - PR tree-optimization/68460 - * tree-parloops.c (gather_scalar_reductions): Also call - free_stmt_vec_info_vec if simple_loop_info == NULL. - -2015-11-23 Maxim Ostapenko - - * opts.c (finish_options): Allow -fsanitize-recover=address for - userspace sanitization. - * asan.c (asan_expand_check_ifn): Redefine recover_p. - * doc/invoke.texi (fsanitize-recover): Update documentation. - -2015-11-23 Tom de Vries - - * omp-low.c (build_receiver_ref): Mark by_ref mem_ref as non-trapping. - -2015-11-23 Richard Biener - - PR tree-optimization/68445 - * tree-vect-slp.c (vect_create_mask_and_perm): Properly use - two different strides. - -2015-11-23 Robin Dapp - - * config/s390/s390.h: Add new symref flags, _NOTALIGN2 etc. - * config/s390/s390.c (s390_check_symref_alignment): Use new - symref flags, early abort on wrong alignment - (s390_secondary_reload): Use new symref flags. - (s390_encode_section_info): Likewise. - * config/s390/predicates.md: Likewise. - -2015-11-23 Kugan Vivekanandarajah - - PR target/68390 - * config/arm/arm.c (arm_function_ok_for_sibcall): Get function type - for indirect function call. - -2015-11-22 Bilyan Borisov - - * config/aarch64/aarch64-simd.md - (*aarch64_mulx_elt_, VDQSF): New. - (*aarch64_mulx_elt, VDQF): Likewise. - (*aarch64_mulx_elt_to_64v2df): Likewise. - (*aarch64_vgetfmulx, VDQF_DF): Likewise. - * config/aarch64/arm_neon.h (vmulx_lane_f32): New. - (vmulx_lane_f64): Likewise. - (vmulxq_lane_f32): Refactored & moved. - (vmulxq_lane_f64): Likewise. - (vmulx_laneq_f32): New. - (vmulx_laneq_f64): Likewise. - (vmulxq_laneq_f32): Likewise. - (vmulxq_laneq_f64): Likewise. - (vmulxs_lane_f32): Likewise. - (vmulxs_laneq_f32): Likewise. - (vmulxd_lane_f64): Likewise. - (vmulxd_laneq_f64): Likewise. - -2015-11-21 Jan Hubicka - - * tree.c (build_pointer_type_for_mode,build_reference_type_for_mode): - In LTO we do not compute TYPE_CANONICAL of pointers. - (gimple_canonical_types_compatible_p): Improve coments; sanity check - that pointers do not have canonical type that would make us believe - they are different. - * alias.c (get_alias_set): Do structural type equality on pointers; - enable pointer path for LTO; also glob pointer to vector with pointer - to vector element; glob pointers and references for LTO; do more strict - sanity checking about build_pointer_type returning the canonical type - which is also the main variant. - (record_component_aliases): When component type is pointer and we - do LTO; record void_type_node alias set. - -2015-11-21 Nathan Sidwell - - * config/nvptx/nvptx.md (clz2): Use operand 1 for type. - - * config/nvptx/nvptx.c (write_function_decl_and_comment): Print - leading blank line. - (write_func_decl_from_insn): Likewise. - (init_output_initializer, nvptx_assemble_undefined_decl): Likewise. - (nvptx_file_end): Likewise. - (nvptx_function_end): Undent output. - (nvptx_expand_call): Fix formatting. - (nvptx_output_call_insn): Indent output. - * config/nvptx/nvptx.h (ASM_OUTPUT_ALIGNED_DECL_COMMON, - ASM__OUTPUT_ALIGNED_DECL_LOCAL): Print leading blank line. - -2015-11-21 Jakub Jelinek - - PR debug/66432 - * tree-inline.c (copy_debug_stmt): If - gimple_debug_source_bind_get_value is DECL_ORIGIN of a PARM_DECL - in decl_debug_args, don't call remap_gimple_op_r on it. - -2015-11-07 Jan Hubicka - - * ipa-icf.c (sem_item::add_type): Do not look for TYPE_CANONICAL; - do not check AGGREGATE_TYPE_P when adding TYPE_MODE; - Check that all record types are complete. - * ipa-icf-gimple.c (func_checker::compatible_types_p): Do not - compare alias sets for types w/o alias sets. - -2015-11-20 Eric Botcazou - - * config/sparc/sparc.md (umulxhi_vis): Move around. - (*umulxhi_sp64): Likewise. - (umulxhi_v8plus): Likewise. - (xmulx_vis): Likewise. - (*xmulx_sp64): Likewise. - (xmulx_v8plus): Likewise. - (xmulxhi_vis): Likewise. - (*xmulxhi_sp64): Likewise. - (xmulxhi_v8plus): Likewise. - -2015-11-20 David Malcolm - - PR 62314 - * diagnostic-show-locus.c (colorizer::set_fixit_hint): New. - (class layout): Update comment - (layout::print_any_fixits): New method. - (layout::move_to_column): New method. - (diagnostic_show_locus): Add call to layout.print_any_fixits. - -2015-11-20 Jakub Jelinek - - PR middle-end/68221 - * omp-low.c (lower_rec_input_clauses): If C/C++ array reduction - has non-zero bias, subtract it in integer type instead of - pointer plus of negated bias. - - PR middle-end/68339 - * omp-low.c (expand_simd_clones): Call node->get_body () before - allocating stuff in GC. - -2015-11-20 Jim Wilson - - * tree-vect-data-refs.c (compare_tree): Call STRIP_NOPS. - -2015-11-20 Evandro Menezes - - * config/aarch64/aarch64.md (predicated): Copy attribute from - "arm.md". - * config/arm/arm.md (predicated): Added description. - -2015-11-20 Kyrylo Tkachov - - * config/arm/arm.c (arm_option_override): Require TARGET_32BIT - for unaligned_access. - * config/arm/arm.md (unaligned_loadsi): Remove redundant TARGET_32BIT - from matching condition. - (unaligned_loadhis): Likewise. - (unaligned_loadhiu): Likewise. - (unaligned_storesi): Likewise. - (unaligned_storehi): Likewise. - -2015-11-20 Kyrylo Tkachov - - PR target/68149 - * config/arm/arm.md (unaligned_loaddi): Delete. - (unaligned_storedi): Likewise. - * config/arm/arm.c (gen_movmem_ldrd_strd): Don't generate - unaligned DImode memory ops. Instead perform two back-to-back - unaligned SImode ops. - -2015-11-20 Nathan Sidwell - James Norris - - * config/nvptx/nvptx.c (nvptx_use_anchors_for_symbol_p): New. - (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Override. - -2015-11-20 Alan Hayward - - PR tree-optimization/68413 - * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Cache - evolution base - (vectorizable_reduction): Use cached base - -2015-11-20 Tom de Vries - - * tree-parloops.c (build_new_reduction): Fix trailing whitespace in - dump-file string. - (try_create_reduction_list): Same. Fix typo in dump-file string. - -2015-11-20 Eric Botcazou - - * doc/md.texi (Standard Names): Move entry for addptr3 around, - add entries for addv4, subv4, mulv4, umulv4 and negv3, fixes - glitch in entries for cbranch4 and jump. - -2015-11-20 Tom de Vries - - PR tree-optimization/68373 - * tree-scalar-evolution.c (final_value_replacement_loop): Factor out - of ... - (scev_const_prop): ... here. - * tree-scalar-evolution.h (final_value_replacement_loop): Declare. - * tree-parloops.c (try_create_reduction_list): Call - final_value_replacement_loop. - -2015-11-20 Bin Cheng - - PR tree-optimization/52272 - * tree-ssa-loop-ivopts.c (struct iv_common_cand): New struct. - (struct iv_common_cand_hasher): New struct. - (iv_common_cand_hasher::hash): New function. - (iv_common_cand_hasher::equal): New function. - (struct ivopts_data): New fields, iv_common_cand_tab and - iv_common_cands. - (tree_ssa_iv_optimize_init): Initialize above fields. - (record_common_cand, common_cand_cmp): New functions. - (add_iv_candidate_derived_from_uses): New function. - (add_iv_candidate_for_use): Record iv_common_cands derived from - iv use in hash table, instead of adding candidates directly. - (add_iv_candidate_for_uses): Call add_iv_candidate_derived_from_uses. - (record_important_candidates): Add important candidates to iv uses' - related_cands. Always keep related_cands for future use. - (try_add_cand_for): Use iv uses' related_cands. - (free_loop_data, tree_ssa_iv_optimize_finalize): Release new fields - in struct ivopts_data, iv_common_cand_tab and iv_common_cands. - -2015-11-20 Andreas Krebbel - - * config/s390/s390.md ("bswaphi2"): New pattern. - -2015-11-20 Dominik Vogt - - * config/s390/s390.md (GPR1_REGNUM): New constant. - ("*trunc2") - ("*trunc2") - ("trunc2") - ("trunc2") - ("*extend2") - ("*extend2") - ("extend2") - ("extend2"): Clobber r1. - -2015-11-19 Aditya Kumar - Sebastian Pop - - PR tree-optimization/68428 - * graphite-scop-detection.c (harmful_stmt_in_region): Do not iterate - over basic blocks outside the scop. - -2015-11-19 Aditya Kumar - Sebastian Pop - - PR tree-optimization/68341 - * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Remove - gcc_unreachable and safely fail codegen. - (copy_loop_close_phi_args): Do not insert merge phis in a basic - block with loop phi nodes. - (edge_for_new_close_phis): New. - (copy_bb_and_scalar_dependences): Call edge_for_new_close_phis. - -2015-11-19 Nathan Sidwell - - * config/nvptx/nvptx.h (SUPPORTS_WEAK): Define. - * config/nvptx/nvptx.c (nvptx_write_function_decl): Support DECL_WEAK. - (nvptx_declare_objec_name): Likewise. - -2015-11-19 Aditya Kumar - - * graphite-isl-ast-to-gimple.c (get_true_edge_from_guard_bb): Move... - (get_false_edge_from_guard_bb): Move... - * sese.c (get_false_edge_from_guard_bb) - (get_true_edge_from_guard_bb): ... here. - -2015-11-19 David Edelsohn - - Revert - 2015-11-18 Alan Modra - - * config/rs6000/rs6000.c (use_toc_relative_ref): Ignore - type-limits warning. - - -2015-11-19 Senthil Kumar Selvaraj - - * tree.h (desired_pro_or_demotion_p): New function. - * tree-vrp.c (simplify_cond_using_ranges): Call it. - -2015-11-19 Michael Matz - - PR rtl-optimization/68392 - * fwprop.c (update_uses): Use flag_checking instead of - gcc_checking_assert. - -2015-11-19 David Malcolm - - * doc/gty.texi (Support for inheritance): Fix missing - parentheses in example. - -2015-11-19 Marek Polacek - - PR tree-optimization/68431 - * tree-vrp.c (extract_range_from_binary_expr_1): Fix condition. - -2015-11-19 Nathan Sidwell - - * config/nvptx/nvptx.md (atomic_compare_and_swap_1, - atomic_exchange): Input values can be immediates. - -2015-11-19 Eric Botcazou - - PR lto/61313 - * configure.ac (PLUGIN_LD_SUFFIX): Do not touch the value specified - by the user. - * configure: Regenerate. - -2015-11-19 Eric Botcazou - - PR target/68408 - * config/sparc/sp-elf.h (CTORS_SECTION_ASM_OP): Undefine. - (DTORS_SECTION_ASM_OP): Likewise. - -2015-11-19 Jakub Jelinek - - PR rtl-optimization/68376 - * ifcvt.c (noce_try_abs): Disable one_cmpl optimization if - encountering x <= 0 ? ~x : x or x > 0 ? ~x : x. - -2015-11-19 Richard Biener - - PR middle-end/68117 - * tree-ssa.c (delete_tree_ssa): Revert removal of call to - redirect_edge_var_map_destroy. - -2015-11-19 Jakub Jelinek - - PR target/67770 - * config/i386/i386.md (simple_return): Disable if - ix86_static_chain_on_stack is true. - -2015-11-19 Richard Sandiford - - PR bootstrap/68393 - * internal-fn.c (expand_direct_optab_fn): Handle SUBREG_PROMOTED_VAR_P - destinations. - -2015-11-18 Jeff Law - - PR tree-optimization/68198 - * tree-ssa-threadupdate.c (valid_jump_thread_path): Distinguish - between threading a multi-way branch and a thread path that contains - a multi-way branch. Disallow the case where a path contains a - multi-way branch and does not thread a multi-way branch. - (thread_through_all_blocks): Update comment. - -2015-11-18 Joseph Myers - - PR c/65083 - * ginclude/stdatomic.h (atomic_thread_fence, atomic_signal_fence) - (atomic_flag_test_and_set, atomic_flag_test_and_set_explicit) - (atomic_flag_clear, atomic_flag_clear_explicit): Declare as - functions before defining as macros. - -2015-11-18 Nathan Sidwell - - * config/nvptx/nvptx.c (nvptx_process_pars): Fix whitespace. - (nvptx_record_offload_symbol): Remove code compensating for lack - of default dimension handling. - (nvptx_goacc_validate_dims): Remove incorrect ARG_UNUSED markers. - -2015-11-18 Aditya Kumar - - * graphite-isl-ast-to-gimple.c (copy_loop_phi_args): Change the return - type to bool for early exit. - (translate_isl_ast_to_gimple::copy_loop_phi_nodes): Early return - in case of error. - (translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same. - (add_phi_arg_for_new_expr): Enable codegen for if-block where one - predecessor dominates the other. - (translate_isl_ast_to_gimple::copy_cond_phi_args): Fix. When the - element is not found it returns -1. - (translate_isl_ast_to_gimple::translate_pending_phi_nodes): Bail - out early when codegen fails. - (graphite_regenerate_ast_isl): Remove codegen region when pending - phis could not be generated. - -2015-11-18 Aditya Kumar - - * graphite-isl-ast-to-gimple.c (struct ast_build_info): Remove - semicolon. - (class translate_isl_ast_to_gimple): Indentation. - (translate_pending_phi_nodes): Comment. - (add_parameters_to_ivs_params): Moved from sese.c inside class - translate_isl_ast_to_gimple. - (get_max_schedule_dimensions): Same. - (generate_isl_context): Same. - (extend_schedule): Same. - (generate_isl_schedule): Same. - (set_options): Same. - (scop_to_isl_ast): Same. - (is_valid_rename): Same. - (get_rename): Same. - (get_rename_from_scev): Same. - (get_def_bb_for_const): Same. - (get_new_name): Same. - (collect_all_ssa_names): Same. - (copy_loop_phi_args): Same. - (copy_loop_phi_nodes): Same. - (copy_loop_close_phi_args): Same. - (copy_loop_close_phi_nodes): Same. - (copy_cond_phi_args): Same. - (copy_cond_phi_nodes): Same. - (graphite_copy_stmts_from_block): Same. - (copy_bb_and_scalar_dependences): Same. - (add_phi_arg_for_new_expr): Same. - (rename_uses): Same. - (set_rename): Same. - (set_rename_for_each_def): Same. - (gsi_insert_earliest): Same. - (rename_all_uses): Same. - (codegen_error_p): Same. - (print_isl_ast_node): Same. - (translate_isl_ast_for_loop): Call function codegen_error_p. - (translate_isl_ast_to_gimple::translate_isl_ast): Same. - (translate_isl_ast_node_user): Make nb_loops const and release - iv_map before exit. - (get_true_edge_from_guard_bb): Move all free-functions early. - (get_false_edge_from_guard_bb): Same. - (bb_contains_loop_close_phi_nodes): Same. - (bb_contains_loop_phi_nodes): Same. - (is_loop_closed_ssa_use): Same. - (number_of_phi_nodes): Same. - (phi_uses_name): Same. - (later_of_the_two): Same. - (substitute_ssa_name): - (get_edges): Same. - (get_loc): Same. - (get_loop_init_value): Same. - (find_init_value): Same. - (find_init_value_close_phi): Same. - (ast_build_before_for): Same. - (graphite_regenerate_ast_isl): Formatting changes. - * graphite-scop-detection.c (build_cross_bb_scalars_use): Same. - * sese.c (get_rename): Move to graphite-isl-ast-to-gimple.c - (set_rename): Same. - (gsi_insert_earliest): Same. - (collect_all_ssa_names): Same. - (rename_all_uses): Same. - (rename_uses): Same. - (get_def_bb_for_const): Same. - (copy_loop_phi_nodes): Same. - (copy_loop_close_phi_args): Same. - (copy_loop_close_phi_nodes): Same. - (copy_cond_phi_args): Same. - (copy_cond_phi_nodes): Same. - (set_rename_for_each_def): Same. - (graphite_copy_stmts_from_block): Same. - (copy_bb_and_scalar_dependences): Same. - (if_region_set_false_region): Same. - (scev_analyzable_p): Same. - * sese.h: Delete extern functions moved to graphite-isl-ast-to-gimple.c. - -2015-11-18 Andreas Tobler - - * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Bring in the - commit from r125920 for FreeBSD. - -2015-11-18 Jason Merrill - - * ggc-page.c (ggc_globals): Change finalizers and vec_finalizers - to be vecs of vecs. - (add_finalizer): Split out from ggc_internal_alloc. - (ggc_handle_finalizers): Run finalizers for the current depth. - (init_ggc, ggc_pch_read): Reserve space for finalizers. - -2015-11-18 Sandra Loosemore - - PR target/68410 - * config/nios2/nios2.c (cdx_and_immed): Remove duplicate tests - from || expression. - -2015-11-18 Pitchumani Sivanupandi - - * config/avr/avr-mcus.def: Add new avr4 devices atmega48pb and - atmega88pb. Add new avr5 devices ata5791, ata8210, ata8510, atmega168pb - and atmega328pb. - * doc/avr-mmcu.texi: Regenerate. - -2015-11-18 Nathan Sidwell - - * config/nvptx/nvptx.c (bb_pair_t, bb_pair_vec_t): New types. - (pseudo_node_t, struct bracket, bracket_vec_t): New types. - (struct bb_sese): New struct. - (bb_sese::~bb_sese, bb_sese::append, bb_sese::remove): New. - (BB_GET_SESE, BB_SET_SESE): Define. - (nvptx_sese_number, nvptx_sese_pseudo, nvptx_sese_color): New. - (nvptx_find_sese): New. - (nvptx_neuter_pars): Find SESE regions when optimizing. - -2015-11-18 Alan Modra - - * config/rs6000/rs6000.c (use_toc_relative_ref): Ignore - type-limits warning. - -2015-11-18 Richard Sandiford - - PR bootstrap/68406 - * hash-set.h (hash_set::traverse): Expand Key typedef. - -2015-11-18 Martin Liska - - * config/arm/arm.c (arm_valid_target_attribute_p): Finalize - options struct. - -2015-11-18 Nathan Sidwell - - * config/nvptx/nvptx.c (global_lock_var): New. - (nvptx_global_lock_addr): New. - (nvptx_lockless_update): Recomment and adjust for clarity. - (nvptx_lockfull_update): New. - (nvptx_reduction_update): New. - (nvptx_goacc_reduction_fini): Call it. - -2015-11-18 Bernd Schmidt - - * regrename.h (struct du_head): Add target_data_1 and target_data_2 - fields. - * regrename.c (create_new_chain): Clear entire struct after allocating. - - * config/i386/i386.opt (mmitigate-rop): New option. - * doc/invoke.texi (mmitigate-rop): Document. - * config/i386/i386.c: Include "regrename.h". - (ix86_rop_should_change_byte_p, reg_encoded_number, - ix86_get_modrm_for_rop, set_rop_modrm_reg_bits, ix86_mitigate_rop): New - static functions. - (ix86_reorg): Call ix86_mitigate_rop if -fmitigate-rop. - * config/i386/i386.md (attr "modrm_class"): New. - (cmp_ccno_1, mov_xor, movstrict_xor, - x86_movcc_0_m1. x86_movcc_0_m1_se) - (x86_movcc_0_m1_neg): Override modrm_class attribute. - -2015-11-18 Ilya Enkovich - - PR target/68405 - * config/i386/i386.c (ix86_expand_mask_vec_cmp): Add missing break. - -2015-11-18 Jakub Jelinek - - PR tree-optimization/68157 - * tree-ssa-reassoc.c (attempt_builtin_powi): Set uid of - pow_stmt or mul_stmt from stmt's uid. - (reassociate_bb): Set uid of mul_stmt from stmt's uid. - -2015-11-18 Martin Liska - - * haifa-sched.c (haifa_finish_h_i_d): Release reg_set_list. - -2015-11-18 Martin Liska - - * tree-ssa-uninit.c (convert_control_dep_chain_into_preds): - Fix GNU coding style. - (find_def_preds): Use auto_vec. - (destroy_predicate_vecs): Change signature of the function. - (prune_uninit_phi_opnds_in_unrealizable_paths): Use the - new signature. - (simplify_preds_4): Use destroy_predicate_vecs instread of - just releasing preds vector. - (normalize_preds): Likewise. - (is_use_properly_guarded): Use new signature of - destroy_predicate_vecs. - (find_uninit_use): Likewise. - -2015-11-18 Richard Biener - - PR tree-optimization/67790 - * tree-vect-loop.c (vect_is_simple_reduction_1): Remove - IL rewrite for MINUS_EXPR reductions, rename back to ... - (vect_is_simple_reduction): ... this, removing the wrapper. - (vect_force_simple_reduction): Adjust. - (vectorizable_reduction): Adjust reduc_index for MINUS_EXPR - reductions and make use if reduc_index in all places. For - the final reduction of MINUS_EXPR use PLUS_EXPR. - -2015-11-18 Alan Modra - - * configure.ac (POWERPC64_TOC_POINTER_ALIGNMENT): Pass -z norelro - to ld. - * configure: Regenerate. - -2015-11-17 Tom de Vries - - * tree-ssa-loop.c (pass_tree_loop_init::execute): Improve comments. - -2015-11-17 Tom de Vries - - * tree-scalar-evolution.c (scev_const_prop): Dump details if replacing - uses of ssa_name with constant. - -2015-11-17 Tom de Vries - - * tree-ssa-ccp.c (do_ssa_ccp): Clear LOOP_CLOSED_SSA in loops state if - something changed. - -2015-11-17 Tom de Vries - - * cfgloop.h (struct loop): Add in_oacc_kernels_region field. - * omp-low.c (mark_loops_in_oacc_kernels_region): New function. - (expand_omp_target): Call mark_loops_in_oacc_kernels_region. - -2015-11-17 Bernd Schmidt - - * regrename.c (regrename_find_superclass): New function, code moved - from ... - (rename_chains): ... here. Call it. - * regrename.h (regrename_find_superclass): Declare. - - * regrename.c (record_out_operands): Terminate earlyclobbered - operands here. - - PR target/66785 - * regrename.c (record_operand_use): Keep track of failed operands - and stop appending if we see any. - * regrename.h (struct operand_rr_info): Add a failed field and shrink - n_chains to short. - -2015-11-17 Sandra Loosemore - - PR 48568 - * doc/extend.texi (Common Function Attributes) [visibility]: - Add cross-references to matching variable and type attributes. - (Common Variable Attributes) [visibility]: Add missing entry. - -2015-11-17 Richard Sandiford - - * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function): Remove - entries that map directly to optabs. - -2015-11-17 Richard Sandiford - - * config/i386/i386.c (ix86_builtin_vectorized_function): Remove - entries that map directly to optabs. - -2015-11-17 Richard Sandiford - - * internal-fn.h (direct_internal_fn_info): Add vectorizable flag. - * internal-fn.c (direct_internal_fn_array): Update accordingly. - * tree-vectorizer.h (vectorizable_function): Delete. - * tree-vect-stmts.c: Include internal-fn.h. - (vectorizable_internal_function): New function. - (vectorizable_function): Inline into... - (vectorizable_call): ...here. Explicitly reject calls that read - from or write to memory. Try using an internal function before - falling back on the old vectorizable_function behavior. - -2015-11-17 Richard Sandiford - - * target.def (builtin_vectorized_function): Take a combined_fn (in - the form of an unsigned int) rather than a function decl. - (builtin_md_vectorized_function): New. - * targhooks.h (default_builtin_vectorized_function): Replace the - fndecl argument with an unsigned int. - (default_builtin_md_vectorized_function): Declare. - * targhooks.c (default_builtin_vectorized_function): Replace the - fndecl argument with an unsigned int. - (default_builtin_md_vectorized_function): New function. - * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_MD_VECTORIZED_FUNCTION): - New hook. - * doc/tm.texi: Regenerate. - * tree-vect-stmts.c (vectorizable_function): Update call to - builtin_vectorized_function, also passing internal functions. - Call builtin_md_vectorized_function for target-specific builtins. - * config/aarch64/aarch64-protos.h - (aarch64_builtin_vectorized_function): Replace fndecl argument - with an unsigned int. - * config/aarch64/aarch64-builtins.c: Include case-cfn-macros.h. - (aarch64_builtin_vectorized_function): Update after above changes. - Use CASE_CFN_*. - * config/arm/arm-protos.h (arm_builtin_vectorized_function): Replace - fndecl argument with an unsigned int. - * config/arm/arm-builtins.c: Include case-cfn-macros.h - (arm_builtin_vectorized_function): Update after above changes. - Use CASE_CFN_*. - * config/i386/i386.c: Include case-cfn-macros.h - (ix86_veclib_handler): Take a combined_fn rather than a - built_in_function. - (ix86_veclibabi_svml, ix86_veclibabi_acml): Likewise. Use - mathfn_built_in rather than calling builtin_decl_implicit directly. - (ix86_builtin_vectorized_function) Update after above changes. - Use CASE_CFN_*. - * config/rs6000/rs6000.c: Include case-cfn-macros.h - (rs6000_builtin_vectorized_libmass): Replace fndecl argument - with a combined_fn. Use CASE_CFN_*. Use mathfn_built_in rather - than calling builtin_decl_implicit directly. - (rs6000_builtin_vectorized_function): Update after above changes. - Use CASE_CFN_*. Move BUILT_IN_MD to... - (rs6000_builtin_md_vectorized_function): ...this new function. - (TARGET_VECTORIZE_BUILTIN_MD_VECTORIZED_FUNCTION): Define. - -2015-11-17 Richard Sandiford - - * tree-vect-patterns.c: Include internal-fn.h. - (vect_recog_pow_pattern): Use IFN_SQRT instead of BUILT_IN_SQRT*. - -2015-11-17 Richard Sandiford - - * tree.h (BUILTIN_EXP10_P, BUILTIN_EXPONENT_P, BUILTIN_SQRT_P) - (BUILTIN_CBRT_P, BUILTIN_ROOT_P): Delete. - -2015-11-17 Richard Sandiford - - * builtins.c (expand_errno_check, expand_builtin_mathfn) - (expand_builtin_mathfn_2): Delete. - (expand_builtin): Remove handling of functions with - internal function equivalents. - * internal-fn.def (SET_EDOM): New internal function. - * internal-fn.h (set_edom_supported_p): Declare. - * internal-fn.c (expand_SET_EDOM): New function. - (set_edom_supported_p): Likewise. - * tree-call-cdce.c: Include builtins.h and internal-fn.h. - Rewrite comment at head of file. - (is_call_dce_candidate): Rename to... - (can_test_argument_range): ...this. Don't check gimple_call_lhs - or gimple_call_builtin_p here. - (edom_only_function): New function. - (shrink_wrap_one_built_in_call_with_conds): New function, split out - from... - (shrink_wrap_one_built_in_call): ...here. - (can_use_internal_fn, use_internal_fn): New functions. - (shrink_wrap_conditional_dead_built_in_calls): Call use_internal_fn - for calls that have an lhs. - (pass_call_cdce::gate): Remove optimize_function_for_speed_p check. - (pass_call_cdce::execute): Skip blocks that are optimized for size. - Check gimple_call_builtin_p here. Use can_use_internal_fn for - calls with an lhs. - * opts.c (default_options_table): Enable -ftree-builtin-call-cdce - at -O and above. - -2015-11-17 Richard Sandiford - - * builtins.h (called_as_built_in): Declare. - * builtins.c (called_as_built_in): Make external. - * internal-fn.h (expand_internal_call): Define a variant that - specifies the internal function explicitly. - * internal-fn.c (expand_load_lanes_optab_fn) - (expand_store_lanes_optab_fn, expand_ANNOTATE, expand_GOMP_SIMD_LANE) - (expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE) - (expand_GOMP_SIMD_ORDERED_START, expand_GOMP_SIMD_ORDERED_END) - (expand_UBSAN_NULL, expand_UBSAN_BOUNDS, expand_UBSAN_VPTR) - (expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK, expand_TSAN_FUNC_EXIT) - (expand_UBSAN_CHECK_ADD, expand_UBSAN_CHECK_SUB) - (expand_UBSAN_CHECK_MUL, expand_ADD_OVERFLOW, expand_SUB_OVERFLOW) - (expand_MUL_OVERFLOW, expand_LOOP_VECTORIZED) - (expand_mask_load_optab_fn, expand_mask_store_optab_fn) - (expand_ABNORMAL_DISPATCHER, expand_BUILTIN_EXPECT, expand_VA_ARG) - (expand_UNIQUE, expand_GOACC_DIM_SIZE, expand_GOACC_DIM_POS) - (expand_GOACC_LOOP, expand_GOACC_REDUCTION, expand_direct_optab_fn) - (expand_unary_optab_fn, expand_binary_optab_fn): Add an internal_fn - argument. - (internal_fn_expanders): Update prototype. - (expand_internal_call): Define a variant that specifies the - internal function explicitly. Use it to implement the previous - interface. - * cfgexpand.c (expand_call_stmt): Try to expand calls to built-in - functions as calls to internal functions. - -2015-11-17 Richard Sandiford - - * Makefile.in (MOSTLYCLEANFILES): Add cfn-operators.pd. - (generated_files): Likewise. - (s-cfn-operators, cfn-operators.pd): New rules. - (s-match): Depend on cfn-operators.pd. - * gencfn-macros.c: Expand comment to describe -o behavior. - (print_define_operator_list): New function. - (main): Accept -o. Call print_define_operator_list. - * genmatch.c (main): Add the current directory to the include path. - * match.pd (DEFINE_MATH_FN): Delete. Include cfn-operators.pd - instead. - -2015-11-17 Richard Sandiford - - * doc/match-and-simplify.texi: Document the "null" identifier. - * genmatch.c (id_base::NULL_ID): New kind. - (null_id): New variable. - (get_operator): Add a parameter that says whether null identifiers - are allowed. - (contains_id): New function. - (lower_for): Skip substitutions that would have a null_id in - either the match or the result. - (parser::parse_for): Allow the null identifier to be used. - (parser::parse_operator_list): Likewise. - (main): Initialize null_id. - -2015-11-17 Richard Sandiford - - * match.pd: Use HYPOT and COS rather than hypot and cos. - Use CASE_CFN_* macros. Guard log/exp folds with - SCALAR_FLOAT_TYPE_P. - * genmatch.c (internal_fn): New enum. - (fn_id::fn): Change to an unsigned int. - (fn_id::fn_id): Accept internal_fn too. - (add_builtin): Rename to... - (add_function): ...this and turn into a template. - (get_operator): Only try one variation if the original name fails. - Only add _EXPR if the original name was all lower case. - Try converting internal and built-in function names to their - CFN equivalents. - (expr::gen_transform): Use maybe_build_call_expr_loc for generic. - (dt_simplify::gen_1): Likewise. - (dt_node::gen_kids_1): Use gimple_call_combined_fn for gimple - and get_call_combined_fn for generic. - (dt_simplify::gen): Use combined_fn as the type of fn_ids. - (decision_tree::gen): Likewise. - (main): Use lower case in the strings for {VIEW_,}CONVERT[012]. - Use add_function rather than add_builtin. Register internal - functions too. - * generic-match-head.c: Include case-cfn-macros.h. - * gimple-fold.c (replace_stmt_with_simplification): Use - gimple_call_combined_fn to test whether we can keep an - existing call. - * gimple-match.h (code_helper): Replace built_in_function - with combined_fn. - * gimple-match-head.c: Include fold-const-call.h, internal-fn.h - and case-fn-macros.h. - (gimple_resimplify1): Use fold_const_call. - (gimple_resimplify2, gimple_resimplify3): Likewise. - (build_call_internal, build_call): New functions. - (maybe_push_res_to_seq): Use them. - (gimple_simplify): Use fold_const_call. Set *rcode to a combined_fn - rather than a built-in function. - * tree.h (build_call_expr_internal_loc): Declare. - (maybe_build_call_expr_loc): Likewise. - * tree.c (build_call_expr_internal_loc_array): New function. - (maybe_build_call_expr_loc): Likewise. - -2015-11-17 Richard Sandiford - - * builtins.h (mathfn_built_in): Add a variant that takes - a combined_fn. - * builtins.c: Include case-cfn-macros.h. - (CASE_MATHFN): Use CASE_CFN_*. - (CASE_MATHFN_REENT): Use CFN_ codes. - (mathfn_built_in_2, mathfn_built_in_1): Replace built_in_function - argument with a combined_fn. - (mathfn_built_in): Add a variant that takes a combined_fn. - (expand_builtin_int_roundingfn_2): Update callers accordingly. - (fold_builtin_sincos, fold_builtin_classify): Likewise. - -2015-11-17 Richard Sandiford - - * tree-vect-patterns.c: Include case-cfn-macros.h. - (vect_recog_pow_pattern): Use combined_fn instead of built-in codes. - -2015-11-17 Richard Sandiford - - * tree-ssa-math-opts.c: Include case-cfn-macros.h. - (execute_cse_sincos_1): Use combined_fn instead of built-in codes. - (pass_cse_sincos::execute): Likewise. - -2015-11-17 Richard Sandiford - - * tree-ssa-reassoc.c: Include case-cfn-macros.h. - (stmt_is_power_of_op): Use combined_fn instead of built-in codes. - (decrement_power, acceptable_pow_call): Likewise. - (attempt_builtin_copysign): Likewise. - -2015-11-17 Richard Sandiford - - * tree-vrp.c: Include case-cfn-macros.h. - (extract_range_basic): Switch on combined_fn rather than handling - built-in functions and internal functions separately. - -2015-11-17 Richard Sandiford - - * fold-const.h (negate_mathfn_p): Take a combined_fn rather - than a built_in_function. - (tree_call_nonnegative_warnv_p): Take a combined_fn rather than - a function decl. - (integer_valued_real_call_p): Likewise. - * fold-const.c: Include case-cfn-macros.h - (negate_mathfn_p): Take a combined_fn rather than a built_in_function. - (negate_expr_p): Update accordingly. - (tree_call_nonnegative_warnv_p): Take a combined_fn rather than - a function decl. - (integer_valued_real_call_p): Likewise. - (tree_invalid_nonnegative_warnv_p): Update accordingly. - (integer_valued_real_p): Likewise. - * gimple-fold.c (gimple_call_nonnegative_warnv_p): Update call - to tree_call_nonnegative_warnv_p. - (gimple_call_integer_valued_real_p): Likewise - integer_valued_real_call_p. - * gimple-ssa-backprop.c: Include case-cfn-macros.h. - (backprop::process_builtin_call_use): Extend to combined_fn. - (strip_sign_op_1): Likewise. - (backprop::process_use): Don't check for built-in calls here. - (backprop::execute): Likewise. - (backprop::optimize_builtin_call): Update call to negate_mathfn_p. - -2015-11-17 Richard Sandiford - - * fold-const-call.h (fold_const_call): Replace built_in_function - arguments with combined_fn arguments. - * fold-const-call.c: Include case-cfn-macros.h. - (fold_const_call_ss, fold_const_call_cs, fold_const_call_sc) - (fold_const_call_cc, fold_const_call_sss, fold_const_call_ccc) - (fold_const_call_ssss, fold_const_call_1, fold_const_call): Replace - built_in_function arguments with combined_fn arguments. - * builtins.c (fold_builtin_sincos, fold_builtin_1, fold_builtin_2) - (fold_builtin_3): Update calls to fold_const_call. - -2015-11-17 Richard Sandiford - - * Makefile.in (HASH_TABLE_H): Add GGC_H. - (MOSTLYCLEANFILES, generated_files): Add case-fn-macros.h. - (s-case-cfn-macros, case-cfn-macros.h, build/gencfn-macros.o) - (build/gencfn-macros$(build_exeext): New rules. - (genprogerr): Add cfn-macros. - * hash-set.h (hash_set): Use the traits value_type as the key. - * gencfn-macros.c: New file. - -2015-11-17 Richard Sandiford - - * internal-fn.def (DEF_INTERNAL_INT_FN): New macro. - (CLRSB, CLZ, CTZ, FFS, PARITY, POPCOUNT): New functions. - * builtins.c (associated_internal_fn): Handle them. - -2015-11-17 Richard Sandiford - - * builtins.h (associated_internal_fn): Declare. - (replacement_internal_fn): Likewise. - * builtins.c: Include internal-fn.h - (associated_internal_fn, replacement_internal_fn): New functions. - * internal-fn.def (DEF_INTERNAL_FLT_FN): New macro. - (ACOS, ASIN, ATAN, COS, EXP, EXP10, EXP2, EXPM1, LOG, LOG10, LOG1P) - (LOG2, LOGB, SIGNIFICAND, SIN, SQRT, TAN, CEIL, FLOOR, NEARBYINT) - (RINT, ROUND, TRUNC, ATAN2, COPYSIGN, FMOD, POW, REMAINDER, SCALB) - (LDEXP): New functions. - * internal-fn.c: Include recog.h. - (unary_direct, binary_direct): New macros. - (expand_direct_optab_fn): New function. - (expand_unary_optab_fn): New macro. - (expand_binary_optab_fn): Likewise. - (direct_unary_optab_supported_p): Likewise. - (direct_binary_optab_supported_p): Likewise. - -2015-11-17 Richard Sandiford - - * coretypes.h (tree_pair): New type. - * internal-fn.def (DEF_INTERNAL_OPTAB_FN): New macro. Use it - for MASK_LOAD, LOAD_LANES, MASK_STORE and STORE_LANES. - * internal-fn.h (direct_internal_fn_info): New structure. - (direct_internal_fn_array): Declare. - (direct_internal_fn_p, direct_internal_fn): New functions. - (direct_internal_fn_types, direct_internal_fn_supported_p): Declare. - * internal-fn.c (not_direct, mask_load_direct, load_lanes_direct) - (mask_store_direct, store_lanes_direct): New macros. - (direct_internal_fn_array) New array. - (get_multi_vector_move): Return the optab handler without asserting - that it is available. - (expand_LOAD_LANES): Rename to... - (expand_load_lanes_optab_fn): ...this and add an optab argument. - (expand_STORE_LANES): Rename to... - (expand_store_lanes_optab_fn): ...this and add an optab argument. - (expand_MASK_LOAD): Rename to... - (expand_mask_load_optab_fn): ...this and add an optab argument. - (expand_MASK_STORE): Rename to... - (expand_mask_store_optab_fn): ...this and add an optab argument. - (direct_internal_fn_types, direct_optab_supported_p) - (multi_vector_optab_supported_p, direct_internal_fn_supported_p) - (direct_internal_fn_supported_p): New functions. - (direct_mask_load_optab_supported_p): New macro. - (direct_load_lanes_optab_supported_p): Likewise. - (direct_mask_store_optab_supported_p): Likewise. - (direct_store_lanes_optab_supported_p): Likewise. - -2015-11-17 Richard Sandiford - - * tree-core.h (internal_fn): Move immediately after the definition - of built_in_function. - (combined_fn): New enum. - * tree.h (as_combined_fn, builtin_fn_p, as_builtin_fn) - (internal_fn_p, as_internal_fn): New functions. - (get_call_combined_fn, combined_fn_name): Declare. - * tree.c (get_call_combined_fn): New function. - (combined_fn_name): Likewise. - * gimple.h (gimple_call_combined_fn): Declare. - * gimple.c (gimple_call_combined_fn): New function. - -2015-11-17 Martin Sebor - - PR c++/68308 - * cp/init.c (build_new_1): Check for expression constness - the right way. - -2015-11-17 Sandra Loosemore - - PR target/53587 - * doc/invoke.texi (Option Summary): Add -mms-bitfields to x86 - option list. - (x86 Options): Add -mms-bitfields and -mno-ms-bitfields. Move - discussion of the Microsoft structure layout details here from - its former home in extend.texi. - * doc/extend.texi (x86 Variable Attributes): Replace detailed - discussion with pointer to its new location. Add cross-reference - to corresponding type attributes. - (x86 Type Attributes): Add cross-references to command-line options - and variable attributes. - -2015-11-17 Ilya Enkovich - - PR middle-end/68134 - * targhooks.c (default_get_mask_mode): Filter out - scalar modes returned by mode_for_vector. - -2015-11-17 Kyrylo Tkachov - - PR target/68143 - * config/arm/arm.c (arm_block_set_unaligned_vect): Keep track of - offset from dstbase and use it appropriately in - adjust_automodify_address. - (arm_block_set_aligned_vect): Likewise. - -2015-11-17 Eric Botcazou - - * config/visium/t-visium (MULTILIB_OPTIONS): Add muser-mode. - (MULTILIB_DIRNAMES): Adjust accordingly. - -2015-11-17 James Greenhalgh - - * config/aarch64/aarch64-cores.def (cortex-a35): New. - * config/aarch64/aarch64.c (cortexa35_tunings): New. - * config/aarch64/aarch64-tune.md: Regenerate. - * doc/invoke.texi (-mcpu): Add Cortex-A35 - -2015-11-17 Uros Bizjak - - PR target/68263 - * config/i386/i386.h (BIGGEST_ALIGNMENT): Always define - to 32 for IAMCU. - * config/i386/sse.md (*mov_internal): Always enable - AVX and SSE unaligned moves for IAMCU. - -2015-11-17 Venkataramanan Kumar - - * tree-if-conv.c: Include varasm.h - (ref_DR_map): Define. - (baseref_DR_map): Like wise - (struct ifc_dr): Add new tree predicate field. - (hash_memrefs_baserefs_and_store_DRs_read_written_info): New function. - (memrefs_read_or_written_unconditionally): Remove. - (write_memrefs_written_at_least_once): Remove. - (ifcvt_memrefs_wont_trap): Use hash maps to query - unconditional read/written information. - (if_convertible_loop_p_1): Initialize hash maps and predicates - before hashing data references and delete hashmaps at the end. - -2015-11-16 Thomas Preud'homme - - PR 56036 - * doc/invoke.texi (Optimize Options): Move @end table to the right - place. - -2015-11-16 Sandra Loosemore - - PR 65129 - * doc/extend.texi (__builtin_assume_aligned): Fix formatting of - return value. - -2015-11-16 Michael Meissner - - * config/rs6000/vsx.md (VSX_L): Do not include IBM extended double - 128-bit types, just types that fit in a single vector. - * config/rs6000/rs6000.md (FMOVE128_GPR): Likewise. - -2015-11-16 David Wohlferd - - * doc/md.texi ('#' and '*' constraint modifiers): Do not include these - in the user documentation. - (define_peephole2, define_split): Similarly. - -2015-11-16 Andris Pavenis - - * lto-streamer-out.c (write_global_references): Adjust integer type. - (lto_output_decl_state_refs): Likewise. - -2015-11-16 James Greenhalgh - - * config/arm/arm-cores.def (cortex-a35): New. - * config/arm/arm.c (arm_cortex_a35_tune): New. - * config/arm/arm-tables.opt: Regenerate. - * config/arm/arm-tune.md: Regenerate. - * config/arm/bpabi.h (BE8_LINK_SPEC): Add cortex-a35. - * config/arm/t-aprofile: Likewise. - * doc/invoke.texi (-mcpu): Likewise. - -2015-11-16 Jim Wilson - - * config/arm/t-aprofile (MULTILIB_MATCHES): Add lines for exynos-m1 - and qdf24xx and xgene1 to match -march=armv8-a. - -2015-11-16 Segher Boessenkool - - PR rtl-optimization/68330 - * simplify-rtx.c (simplify_unary_operation_1): Simplify SIGN_EXTEND - of LSHIFTRT by a non-zero constant integer. - -2015-11-16 Richard Biener - - PR tree-optimization/68306 - * tree-vect-data-refs.c (vect_verify_datarefs_alignment): Fix - bogus copying from verify_data_ref_alignment and use continue - instead of return. - -2015-11-16 Oleg Endo - Kaz Kojima - - PR target/68277 - * config/sh/sh.md (addsi3_scr): Handle reg overlap of operands[0] and - operands[2]. - (*addsi3): Add another insn_and_split variant for reload. - -2015-11-16 Richard Biener - - PR middle-end/68117 - * cfgexpand.c (pass_expand::execute): Destroy the edge - redirection var map before setting RTL CFG hooks. - -2015-11-16 Alan Lawrence - - * config/i386/sse.md (reduc_splus_v8df): Rename to... - (reduc_plus_scal_v8df): ...here; reduce to temp and extract scalar. - - (reduc_splus_v4df): Rename to... - (reduc_plus_scal_v4df): ...here; reduce to temp and extract scalar. - - (reduc_splus_v2df): Rename to... - (reduc_plus_scal_v2df): ...here; reduce to temp and extract scalar. - - (reduc_splus_v16sf): Rename to... - (reduc_plus_scal_v16sf): ...here; reduce to temp and extract scalar. - - (reduc_splus_v8sf): Rename to... - (reduc_plus_scal_v8sf): ...here; reduce to temp and extract scalar. - - (reduc_splus_v4sf): Rename to... - (reduc_plus_scal_v4sf): ...here; reduce to temp and extract scalar. - - (reduc__, all 3 variants): Rename each to... - (reduc__scal_): ...here; reduce to temp and extract scalar. - - (reduc_umin_v8hf): Rename to... - (reduc_umin_scal_v8hf): ...here; reduce to temp and extract scalar. - -2015-11-16 Kirill Yukhin - - * omp-low.c (pass_omp_simd_clone::gate): If target allows - call - without additional conditions. - * doc/extend.texi (@item simd): New. - -2015-11-16 Tom de Vries - - * passes.c (first_pass_instance): Remove variable. - (execute_todo): Remove setting of first_pass_instance. - * tree-pass.h (first_pass_instance): Remove declaration. - -2015-11-16 Tom de Vries - - * passes.def: Add arg to pass_ccp pass instantiation. - * tree-ssa-ccp.c (ccp_finalize): Add param nonzero_p. Use nonzero_p - instead of first_pass_instance. - (do_ssa_ccp): Add and handle param nonzero_p. - (pass_ccp::pass_ccp): Initialize nonzero_p. - (pass_ccp::set_pass_param): New member function. Set nonzero_p. - (pass_ccp::execute): Call do_ssa_ccp with extra arg. - (pass_ccp::nonzero_p): New private member. - -2015-11-16 Tom de Vries - - * passes.def: Add arg to pass_object_sizes pass instantiation. - * tree-object-size.c (pass_object_sizes::pass_object_sizes): Initialize - insert_min_max_p. - (pass_object_sizes::set_pass_param): New member function. Set - insert_min_max_p. - (pass_object_sizes::insert_min_max_p): New private member. - (pass_object_sizes::execute): Use insert_min_max_p instead of - first_pass_instance. - -2015-11-16 Tom de Vries - - * passes.def: Add arg to pass_dominator pass instantiation. - * tree-pass.h (first_pass_instance): Remove pass_dominator-related bit - of comment. - * tree-ssa-dom.c (pass_dominator::pass_dominator): Initialize - may_peel_loop_headers_p. - (pass_dominator::set_pass_param): New member function. Set - may_peel_loop_headers_p. - (pass_dominator::may_peel_loop_headers_p): New private member. - (pass_dominator::execute): Use may_peel_loop_headers_p instead of - first_pass_instance. - -2015-11-16 Tom de Vries - - * passes.def: Add arg to pass_reassoc pass instantiation. - * tree-ssa-reassoc.c (reassoc_insert_powi_p): New static variable. - (acceptable_pow_call, reassociate_bb): Use reassoc_insert_powi_p instead - of first_pass_instance. - (execute_reassoc): Add and handle insert_powi_p parameter. - (pass_reassoc::insert_powi_p): New private member. - (pass_reassoc::pass_reassoc): Initialize insert_powi_p. - (pass_reassoc::set_pass_param): New member function. Set insert_powi_p. - (pass_reassoc::execute): Call execute_reassoc with extra arg. - -2015-11-16 Tom de Vries - - * gdbhooks.py (class PassNames): Handle extra arg NEXT_PASS argument. - * gen-pass-instances.awk (handle_line): Same. - * pass_manager.h (class pass_manager): Define and undefine - NEXT_PASS_WITH_ARG. - * passes.c (opt_pass::set_pass_param): New function. - (pass_manager::pass_manager): Define and undefine NEXT_PASS_WITH_ARG. - * passes.def: Add extra arg to NEXT_PASS (pass_vrp). - * tree-pass.h (gimple_opt::set_pass_param): Declare. - * tree-vrp.c (vrp_finalize, execute_vrp): Add and handle - warn_array_bounds_p parameter. - (pass_vrp::pass_vrp): Initialize warn_array_bounds_p. - (pass_vrp::set_pass_param): New function. - (pass_vrp::execute): Add warn_array_bounds_p arg to execute_vrp call. - (pass_vrp::warn_array_bounds_p): New private member. - -2015-11-16 Eric Botcazou - - * config/sparc/sparc.c (sparc_emit_probe_stack_range): Adjust. - (output_probe_stack_range): Rotate the loop and simplify. - -2015-11-16 Eric Botcazou - - * config/rs6000/rs6000.c (rs6000_emit_probe_stack_rang): Adjust. - (output_probe_stack_range): Rotate the loop and simplify. - -2015-11-16 Eric Botcazou - - * config/i386/i386.c (ix86_adjust_stack_and_probe): Adjust and use - an lea instruction when possible. - (output_adjust_stack_and_probe): Rotate the loop and simplify. - (ix86_emit_probe_stack_range): Adjust. - (output_probe_stack_range): Rotate the loop and simplify. - -2015-11-16 Christian Bruel - - * config/arm/arm_neon.h: Remove #ifndef check on __ARM_NEON. - Replace #ifdef __ARM_FEATURE_CRYPTO, __ARM_FEATURE_FMA, __ARM_FP - with appropriate pragma GCC target. - -2015-11-16 Christian Bruel - - PR target/65837 - * config/arm/arm-c.c (arm_cpu_builtins): Conditionally set and reset - __ARM_FEATURE_FMA and __ARM_NEON_FP, __ARM_FP. - -2015-11-16 James Greenhalgh - - * config/aarch64/aarch64.c (cortexa57_branch_costs): New. - (cortexa57_tunings): Use it. - -2015-11-16 Christian Bruel - - PR target/65837 - * config/arm/arm-c.c (arm_cpu_builtins): Set or reset - __ARM_FEATURE_CRYPTO, __VFP_FP__, __ARM_NEON__ - (arm_pragma_target_parse): Change check for arm_cpu_builtins. - undefine __ARM_FP. - * config/arm/arm.c (arm_can_inline_p): Check FPUs. - (arm_valid_target_attribute_rec): Handle -mfpu attribute target. - * doc/invoke.texi (-mfpu=): Mention attribute and pragma. - * doc/extend.texi (-mfpu=): Describe attribute. - -2015-11-16 Christian Bruel - - PR target/65837 - * config/arm/arm-protos.h (arm_init_neon_builtins): Declare. - * config/arm/arm.c (arm_valid_target_attribute_tree): Call - arm_init_neon_builtins. - * config/arm/arm-builtins.c (arm_init_neon_builtins): Split into... - (arm_init_neon_builtins_internal) - (arm_init_crypto_builtins_internal): - Test and set neon_set_p, neon_crypto_set_p. - (neon_set_p, neon_crypto_set_p): New static booleans. - -2015-11-16 Christian Bruel - - PR target/65837 - * config/arm/arm.c (arm_fpu_desc): Remove. - (all_fpus): Make global. - (arm_option_override): Use FPU TARGET accessors. - (arm_declare_function_name): Likewise. - * config/arm/arm.h (TARGET_VFP, TARGET_VFPD32, TARGET_VFP5) - (TARGET_VFP_SINGLE, TARGET_VFP_DOUBLE, TARGET_NEON_FP16) - (TARGET_FP16, TARGET_FMA, TARGET_FPU_ARMV8, TARGET_CRYPTO) - (TARGET_NEON): Likewise. - (all_fpus): Declare extern. - (TARGET_FPU_NAME, TARGET_FPU_MODEL, TARGET_FPU_REV) - (TARGET_FPU_REGS, TARGET_FPU_FEATURES): Define all_fpus accessors. - -2015-11-15 Trevor Saunders - - PR middle-end/68366 - * sdbout.c: Include emit-rtl.h and function.h. - -2015-11-15 Gerald Pfeifer - - * config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Change to i586. - Remove support for FreeBSD 5 and earlier. - -2015-11-14 Trevor Saunders - - * configure: Regenerate. - * configure.ac: Always define ENABLE_OFFLOADING. - * cgraph.c (cgraph_node::create): Adjust. - * gcc.c (process_command): Likewise. - * omp-low.c (create_omp_child_function): Likewise. - (expand_omp_target): Likewise. - * varpool.c (varpool_node::get_create): Likewise. - -2015-11-14 Trevor Saunders - - * defaults.h (EH_RETURN_HANDLER_RTX): New default definition. - * df-scan.c (df_get_exit_block_use_set): Adjust. - * except.c (expand_eh_return): Likewise. - -2015-11-14 Trevor Saunders - - * config/i386/i386.h (TARGET_PECOFF): Remove define. - * defaults.h (TARGET_PECOFF): New default definition. - * varasm.c (handle_vtv_comdat_section): Adjust. - -2015-11-14 Trevor Saunders - - * defaults.h: New definition of SDB_DEBUGGING_INFO. - * doc/tm.texi: Regenerate. - * doc/tm.texi.in: Adjust. - * final.c (rest_of_clean_state): Remove check if - SDB_DEBUGGING_INFO is defined. - * function.c (number_blocks): Likewise. - * output.h: Likewise. - * sdbout.c: Likewise. - * toplev.c (process_options): Likewise. - -2015-11-14 Trevor Saunders - - * gsyms.h (enum sdb_type): Remove code for EXTENDED_SDB_BASIC_TYPES. - (enum sdb_masks): Likewise. - * sdbout.c (plain_type_1): Likewise. - * system.h: Poison EXTENDED_SDB_BASIC_TYPES macro. - -2015-11-14 Jakub Jelinek - - * omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* - internal calls - 0 if ordered simd and 1 for ordered threads simd. - * tree-vectorizer.c (adjust_simduid_builtins): If GOMP_SIMD_ORDERED_* - argument is 1, replace it with GOMP_ordered_* call instead of removing - it. - -2015-11-13 Rich Felker - - * config/sh/sh.md (symGOT_load): Suppress __stack_chk_guard - address loading hack for FDPIC targets. - -2015-11-13 Ajit Agarwal - Jeff Law - - * Makefile.in (OBJS): Add gimple-ssa-split-paths.o - * common.opt (-fsplit-paths): New flag controlling path splitting. - * doc/invoke.texi (fsplit-paths): Document. - * opts.c (default_options_table): Add -fsplit-paths to -O2. - * passes.def: Add split_paths pass. - * timevar.def (TV_SPLIT_PATHS): New timevar. - * tracer.c: Include "tracer.h" - (ignore_bb_p): No longer static. - (transform_duplicate): New function, broken out of tail_duplicate. - (tail_duplicate): Use transform_duplicate. - * tracer.h (ignore_bb_p): Declare - (transform_duplicate): Likewise. - * tree-pass.h (make_pass_split_paths): Declare. - * gimple-ssa-split-paths.c: New file. - -2015-11-13 Kai Tietz - Marek Polacek - Jason Merrill - - * convert.c (maybe_fold_build1_loc): New. - (maybe_fold_build2_loc): New. - (convert_to_pointer_1): Split out from convert_to_pointer. - (convert_to_pointer_nofold): New. - (convert_to_real_1): Split out from convert_to_real. - (convert_to_real_nofold): New. - (convert_to_integer_1): Split out from convert_to_integer. - (convert_to_integer_nofold): New. - (convert_to_complex_1): Split out from convert_to_complex. - (convert_to_complex_nofold): New. - * convert.h: Declare new functions. - * tree-complex.c (create_one_component_var): Break up line to - avoid sequence point issues. - -2015-11-13 Jason Merrill - - * fold-const.c (fold_convert_const): Fold changing cv-quals on - VECTOR_CST. - - * hash-map.h (hash_map::empty): New. - -2015-11-13 Nathan Sidwell - - * omp-low.c (scan_sharing_clauses): Accept INDEPENDENT, AUTO & SEQ. - (oacc_loop_fixed_partitions): Correct return type to bool. - (oacc_loop_auto_partitions): New. - (oacc_loop_partition): Take mask argument, call - oacc_loop_auto_partitions. - (execute_oacc_device_lower): Provide mask to oacc_loop_partition. - -2015-11-13 Michael Meissner - - * config/rs6000/constraints.md (we constraint): New constraint for - 64-bit power9 vector support. - (wL constraint): New constraint for the element in a vector that - can be addressed by the MFVSRLD instruction. - - * config/rs6000/rs6000-protos.h (convert_float128_to_int): Add - declaration. - (convert_int_to_float128): Likewise. - (rs6000_generate_compare): Add support for ISA 3.0 (power9) - hardware support for IEEE 128-bit floating point. - (rs6000_expand_float128_convert): Likewise. - (convert_float128_to_int): Likewise. - (convert_int_to_float128): Likewise. - - * config/rs6000/rs6000.md (UNSPEC_ROUND_TO_ODD): New unspecs for - ISA 3.0 hardware IEEE 128-bit floating point. - (UNSPEC_IEEE128_MOVE): Likewise. - (UNSPEC_IEEE128_CONVERT): Likewise. - (FMA_F): Add support for IEEE 128-bit floating point hardware support. - (Ff): Add support for DImode. - (Fv): Likewise. - (any_fix code iterator): New and updated iterators for IEEE - 128-bit floating point hardware support. - (any_float code iterator): Likewise. - (s code attribute): Likewise. - (su code attribute): Likewise. - (az code attribute): Likewise. - (uns code attribute): Likewise. - (neg2, FLOAT128 iterator): Add support for IEEE 128-bit - floating point hardware support. - (abs2, FLOAT128 iterator): Likewise. - (add3, IEEE128 iterator): New insns for IEEE 128-bit - floating point hardware. - (sub3, IEEE128 iterator): Likewise. - (mul3, IEEE128 iterator): Likewise. - (div3, IEEE128 iterator): Likewise. - (copysign3, IEEE128 iterator): Likewise. - (sqrt2, IEEE128 iterator): Likewise. - (neg2, IEEE128 iterator): Likewise. - (abs2, IEEE128 iterator): Likewise. - (nabs2, IEEE128 iterator): Likewise. - (fma4_hw, IEEE128 iterator): Likewise. - (fms4_hw, IEEE128 iterator): Likewise. - (nfma4_hw, IEEE128 iterator): Likewise. - (nfms4_hw, IEEE128 iterator): Likewise. - (extend2_hw): Likewise. - (truncdf2_hw, IEEE128 iterator): Likewise. - (truncsf2_hw, IEEE128 iterator): Likewise. - (fix_fixuns code attribute): Likewise. - (float_floatuns code attribute): Likewise. - (fix_si2_hw): Likewise. - (fix_di2_hw): Likewise. - (float_si2_hw): Likewise. - (float_di2_hw): Likewise. - (xscvqpwz_): Likewise. - (xscvqpdz_): Likewise. - (xscvdqp_df2_odd): Likewise. - (cmp_h): Likewise. - (128-bit GPR splitters): Don't split a 128-bit move that is a - direct move between GPR and vector registers using ISA 3.0 direct - move instructions. - (maddld4): Add support for the ISA 3.0 integer multiply-add - instruction. - - * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add ISA 3.0 - debugging. - (rs6000_init_hard_regno_mode_ok): If ISA 3.0 and 64-bit, enable we - constraint. Disable the VSX<->GPR direct move helpers if we have - the MFVSRLD and MTVSRDD instructions. - (rs6000_secondary_reload_simple_move): Add support for doing - vector direct moves directly without additional scratch registers - if we have ISA 3.0 instructions. - (rs6000_secondary_reload_direct_move): Update comments. - (rs6000_output_move_128bit): Add support for ISA 3.0 vector - instructions. - - * config/rs6000/vsx.md (vsx_mov): Add support for ISA 3.0 - direct move instructions. - (vsx_movti_64bit): Likewise. - (vsx_extract_): Likewise. - - * config/rs6000/rs6000.h (VECTOR_ELEMENT_MFVSRLD_64BIT): New - macros for ISA 3.0 direct move instructions. - (TARGET_DIRECT_MOVE_128): Likewise. - (TARGET_MADDLD): Add support for the ISA 3.0 integer multiply-add - instruction. - - * doc/md.texi (RS/6000 constraints): Document we, wF, wG, wL - constraints. Update wa documentation to say not to use %x on - instructions that only take Altivec registers. - -2015-11-13 David Malcolm - - * Makefile.in (OBJS): Add gcc-rich-location.o. - * diagnostic.c (diagnostic_append_note): Pass line_table to - rich_location ctor. - (emit_diagnostic): Likewise. - (inform): Likewise. - (inform_n): Likewise. - (warning): Likewise. - (warning_at): Likewise. - (warning_n): Likewise. - (pedwarn): Likewise. - (permerror): Likewise. - (error): Likewise. - (error_n): Likewise. - (error_at): Likewise. - (sorry): Likewise. - (fatal_error): Likewise. - (internal_error): Likewise. - (internal_error_no_backtrace): Likewise. - (source_range::debug): Likewise. - * gcc-rich-location.c: New file. - * gcc-rich-location.h: New file. - * genmatch.c (fatal_at): Pass line_table to rich_location ctor. - (warning_at): Likewise. - * gimple.h (gimple_set_block): Use set_block function. - * input.c (dump_line_table_statistics): Dump stats on how many - ranges were optimized vs how many needed ad-hoc table. - (write_digit_row): Add "map" param; use its range_bits - to calculate the per-character offset. - (dump_location_info): Print the range and column bits for each - ordinary map. Use the range bits to calculate the per-character - offset. Pass the map as a new param to the various calls to - write_digit_row. Eliminate uses of - ORDINARY_MAP_NUMBER_OF_COLUMN_BITS. - * print-tree.c (print_node): Print any source range information. - * rtl-error.c (diagnostic_for_asm): Likewise. - * toplev.c (general_init): Initialize line_table's - default_range_bits. - * tree-cfg.c (move_block_to_fn): Likewise. - (move_block_to_fn): Likewise. - * tree-inline.c (copy_phis_for_bb): Likewise. - * tree.c (tree_set_block): Likewise. - (get_pure_location): New function. - (set_source_range): New functions. - (set_block): New function. - (set_source_range): New functions. - * tree.h (CAN_HAVE_RANGE_P): New. - (EXPR_LOCATION_RANGE): New. - (EXPR_HAS_RANGE): New. - (get_expr_source_range): New inline function. - (DECL_LOCATION_RANGE): New. - (set_source_range): New decls. - (get_decl_source_range): New inline function. - -2015-11-13 Alan Lawrence - - PR tree-optimization/67682 - * tree-vect-slp.c (vect_split_slp_store_group): New. - (vect_analyze_slp_instance): During basic block SLP, recurse on - subgroups if vect_build_slp_tree fails after 1st vector. - -2015-11-13 Christian Bruel - - PR target/65837 - * config/arm/arm.c (arm_option_override): Move NEON check... - (arm_option_check_internal): here - (arm_file_start): Move .fpu print... - (arm_declare_function_name): here - (arm_option_print): Dump current fpu name. - * config/arm/arm.opt (arm_fpu_index): Mark Save. - -2015-11-13 Segher Boessenkool - Kyrylo Tkachov - - * combine.c (subst): Don't substitute or simplify when - handling register-wise widening multiply. - (force_to_mode): Likewise. - -2015-11-13 Richard Sandiford - - PR tree-optimization/68264 - * tree-call-cdce.c (gen_one_condition): Update commentary. - (gen_conditions_for_pow_int_base): Invert the sense of the tests - passed to gen_one_condition. - (gen_conditions_for_domain): Likewise. Use unordered comparisons. - (shrink_wrap_one_built_in_call): Invert the sense of the tests, - using EDGE_FALSE_VALUE for edges to the call block and - EDGE_TRUE_VALUE for the others. - -2015-11-13 Nathan Sidwell - - * config/nvptx/nvptx.c (nvptx_generate_vector_shuffle): Deal with - complex types. - -2015-11-13 Nathan Sidwell - - * gimplify.c (oacc_default_clause): Use inform for enclosing scope. - -2015-11-13 Tom de Vries - - * gen-pass-instances.awk (handle_line): Rename prefix_len var to - len_of_prefix. - -2015-11-13 Tom de Vries - - * gen-pass-instances.awk (handle_line): Add args_str variable. - -2015-11-13 Martin Liska - - * graphite-poly.c (free_scop): Release scop->drs vector. - * graphite-scop-detection.c (scop_detection::harmful_stmt_in_region): - Release dom vector. - (try_generate_gimple_bb): Use vNULL as a default initialization - for vectors. - -2015-11-13 Martin Liska - - PR ipa/68311 - * ipa-icf.c (sem_item_optimizer::traverse_congruence_split): - Replace array initialization (using a variable post-increment) - that possible triggers multiple unsequenced modifications - with a pair of pushes to a vector. - -2015-11-13 Richard Biener - - PR tree-optimization/68306 - * tree-vect-data-refs.c (verify_data_ref_alignment): Move - loop related checks ... - (vect_verify_datarefs_alignment): ... here. - (vect_slp_analyze_and_verify_node_alignment): Compute and - verify alignment of the single DR that it matters. - * tree-vect-stmts.c (vectorizable_store): Add an assert. - (vectorizable_load): Add a comment. - * tree-vect-slp.c (vect_analyze_slp_cost_1): Fix DR used - for determining load cost. - -2015-11-13 Ilya Enkovich - - * tree-vect-loop.c (vect_determine_vectorization_factor): Check - mix of boolean and integer vectors in a single statement. - * tree-vect-slp.c (vect_mask_constant_operand_p): New. - (vect_get_constant_vectors): Use vect_mask_constant_operand_p to - determine constant type. - * tree-vect-stmts.c (vectorizable_comparison): Provide vectype - for loop invariants. - -2015-11-13 Alan Hayward - - PR tree-optimization/66558 - * tree-vect-loop.c (is_integer_induction):Add. - (vectorizable_reduction): Add integer induction checks. - -2015-11-13 Christophe Lyon - - Revert [ARM] Remove neon-testgen.ml and generated tests. - - 2015-11-12 Christophe Lyon - - [ARM] Remove neon-testgen.ml and generated tests. - - * config/arm/neon-testgen.ml: Remove. - -2015-11-13 Richard Biener - - * tree-vect-loop.c (vect_analyze_loop_2): Add fatal parameter. - Signal fatal failure if early checks fail. - (vect_analyze_loop): If vect_analyze_loop_2 fails fatally - do not bother testing further vector sizes. - -2015-11-13 Uros Bizjak - - * config/i386/predicates.md (misaligned_operand): Return true if - operand is aligned to less than its natural alignmnet. - -2015-11-13 Ilya Enkovich - - * doc/md.texi (vec_cmp@var{m}@var{n}): New item. - (vec_cmpu@var{m}@var{n}): New item. - (vcond@var{m}@var{n}): Specify comparison is signed. - (vcondu@var{m}@var{n}): New item. - (vcond_mask_@var{m}@var{n}): New item. - (maskload@var{m}@var{n}): New item. - (maskstore@var{m}@var{n}): New item. - -2015-11-13 Ilya Enkovich - - * tree-vect-stmts.c (vectorizable_mask_load_store): Check - types of stored value and storage are compatible. - -2015-11-13 Andris Pavenis - - * gcc.c (POST_LINK_SPEC): Define if not already defined. - (LINK_COMMAND_SPEC): Use post_link. - (post_link_spec): New, initialize to POST_LINK_SPEC. - (post_link): Initialize new static spec. - * doc/tm.texi.in (POST_LINK_SPEC): Document. - * doc/tm.texi: Regenerated. - -2015-11-13 David Malcolm - - PR driver/67613 - * Makefile.in (GCC_OBJS): Add spellcheck.o. - (OBJS): Add spellcheck-tree.o. - * gcc.c: Include "spellcheck.h". - (suggest_option): New function. - (driver::handle_unrecognized_options): Call suggest_option to - provide a hint about misspelled options. - * spellcheck.c: Update file comment. - (levenshtein_distance): Convert 4-param implementation from static - to extern scope. Remove note about unit tests from leading - comment for const char * implementation. Move tree - implementation to... - * spellcheck-tree.c: New file. - * spellcheck.h (levenshtein_distance): Add 4-param decl. - -2015-11-13 David Malcolm - - * Makefile.in (OBJS): Add spellcheck.o. - * spellcheck.c: New file. - * spellcheck.h: New file. - -2015-11-13 James Bowman - - * config/ft32/ft32.md (*sne): New insn pattern. - -2015-11-12 Brad Lucier - - * cprop.c (is_too_expensive): Remove. - (gcse.h): Include. - (one_cprop_pass): Call gcse_or_cprop_is_too_expensive, not - is_too_expensive. - * gcse.h (gcse_or_cprop_is_too_expensive): Declare. - * gcse.c (is_too_expensive): Rename to ... - (gcse_or_cprop_is_too_expensive): ... this. - Expand warning to add required size of max-gcse-memory. - (one_pre_gcse_pass): Use it. - (one_code_hoisting_pass): Use it. - * params.def (max-gcse-memory): Increase from 50MB to 128MB. - -2015-11-12 James Norris - Joseph Myers - - * gimple-pretty-print.c (dump_gimple_omp_target): Handle - GF_OMP_TARGET_KIND_OACC_DECLARE. - * gimple.h (enum gf_mask): Add GF_OMP_TARGET_KIND_OACC_DECLARE. - (is_gomple_omp_oacc): Handle GF_OMP_TARGET_KIND_OACC_DECLARE. - * gimplify.c (oacc_declare_returns): New. - (gimplify_bind_expr): Prepend 'exit' stmt to cleanup. - (device_resident_p): New function. - (oacc_default_clause): Handle device_resident clause. - (gimplify_oacc_declare_1, gimplify_oacc_declare): New functions. - (gimplify_expr): Handle OACC_DECLARE. - * omp-builtins.def (BUILT_IN_GOACC_DECLARE): New builtin. - * omp-low.c (expand_omp_target): Handle - GF_OMP_TARGET_KIND_OACC_DECLARE and BUILTIN_GOACC_DECLARE. - (build_omp_regions_1): Handlde GF_OMP_TARGET_KIND_OACC_DECLARE. - (lower_omp_target): Handle GF_OMP_TARGET_KIND_OACC_DECLARE, - GOMP_MAP_DEVICE_RESIDENT and GOMP_MAP_LINK. - (make_gimple_omp_edges): Handle GF_OMP_TARGET_KIND_OACC_DECLARE. - * tree-pretty-print.c (dump_omp_clause): Handle GOMP_MAP_LINK and - GOMP_MAP_DEVICE_RESIDENT. - -2015-11-12 Christophe Lyon - - [ARM] Remove neon-testgen.ml and generated tests. - - * config/arm/neon-testgen.ml: Remove. - -2015-11-12 Jim Wilson - - * config/aarch64/aarch64-cores.def (qdf24xx): New. - * config/aarch64/aarch64-tune.md: Regenerated. - * config/arm/arm-cores.def (qdf24xx): New. - * config/arm/arm-tables.opt, config/arm/arm-tune.md: Regenerated. - * config/arm/bpabi.h (BE8_LINK_SPEC): Add qdf24xx support. - * doc/invoke.texi (AArch64 Options/-mtune): Add "qdf24xx". - (ARM Options/-mtune): Likewise. - -2015-11-12 Martin Liska - - * config/i386/i386.c (ix86_valid_target_attribute_p): - Finalize options at the of the function. - * gcc.c (driver_get_configure_time_options): Call newly - introduced init_opts_obstack. - * lto-wrapper.c (main): Likewise. - * opts.c (init_opts_obstack): New function. - (init_options_struct): Call newly introduced init_opts_obstack. - * opts.h (init_options_struct): Declare. - -2015-11-12 Martin Liska - - PR ipa/68035 - * ipa-icf.c (void sem_item::set_hash): New function. - (sem_function::get_hash): Use renamed m_hash member variable. - (sem_item::update_hash_by_addr_refs): Utilize get_hash. - (sem_item::update_hash_by_local_refs): Likewise. - (sem_variable::get_hash): Use renamed m_hash member variable. - (sem_item_optimizer::update_hash_by_addr_refs): Utilize get_hash. - (sem_item_optimizer::build_hash_based_classes): Utilize set_hash. - (sem_item_optimizer::build_graph): As the hash value of an item - is lazy initialized, force the calculation. - * ipa-icf.h (set_hash): Declare new function and rename hash member - variable to m_hash. - -2015-11-12 Richard Biener - - * tree-vectorizer.h (vect_slp_analyze_data_ref_dependences): - Rename to vect_slp_analyze_instance_dependence. - * tree-vect-data-refs.c (vect_slp_analyze_data_ref_dependence): - Remove WAR special-case. - (vect_slp_analyze_node_dependences): Instead add more specific - code here, not relying on other instances being vectorized. - (vect_slp_analyze_instance_dependence): Adjust accordingly. - * tree-vect-slp.c (vect_build_slp_tree_1): Remove excessive - vertical space in dump files. - (vect_print_slp_tree): Likewise. - (vect_analyze_slp_instance): Dump a header for the final SLP tree. - (vect_slp_analyze_bb_1): Delay computing relevant stmts and - not vectorized stmts until after dependence analysis removed - instances. Merge alignment and dependence checks. - * tree-vectorizer.c (pass_slp_vectorize::execute): Clear visited - flag on all stmts. - -2015-11-12 Evandro Menezes - - * config/aarch64/aarch64-protos.h (tune_params): Add new members - "max_case_values" and "cache_line_size". - * config/aarch64/aarch64.c (aarch64_case_values_threshold): New - function. - (aarch64_override_options_internal): Tune heuristics based on new - members in "tune_params". - (TARGET_CASE_VALUES_THRESHOLD): Define macro. - -2015-11-12 Richard Biener - - PR tree-optimization/68306 - * tree-vect-data-refs.c (verify_data_ref_alignment): Remove - relevant and vectorizable checks here. - (vect_verify_datarefs_alignment): Add relevant check here. - -2015-11-12 Nathan Sidwell - - * gimplify.c (oacc_default_clause): New. - (omp_notice_variable): Call it. - -2015-11-12 Ilya Enkovich - - PR tree-optimization/68305 - * tree-vect-slp.c (vect_get_constant_vectors): Support - COND_EXPR with SSA_NAME as a condition. - -2015-11-12 Eric Botcazou - - * config/visium/visium-protos.h (notice_update_cc): Delete. - (print_operand): Likewise. - (print_operand_address): Likewise. - -2015-11-12 Uros Bizjak - - * config/alpha/alpha.h (FUNCTION_VALUE, LIBCALL_VALUE, - FUNCTION_VALUE_REGNO_P): Remove. - * config/alpha/alpha-protos.h (function_value): Remove. - * config/alpha/alpha.c (function_value): Rename to... - (alpha_function_value_1): ... this. Make static. - (alpha_function_value, alpha_libcall_value, - alpha_function_value_regno_p): New functions. - (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE, - TARGET_FUNCTION_VALUE_REGNO_P): Define. - -2015-11-12 Uros Bizjak - - * config/alpha/alpha.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove. - * config/alpha/alpha.c (alpha_memory_latency): Make static. - (alpha_register_move_cost, alpha_memory_move_cost): New functions. - (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define. - -2015-11-12 Eric Botcazou - - PR target/67265 - * config/i386/i386.c (ix86_adjust_stack_and_probe): Remove obsolete - assertion on the CFA register. - -2015-11-12 Ilya Enkovich - - * expr.c (do_store_flag): Expand vector comparison as - VEC_COND_EXPR if vector comparison is not supported by target. - -2015-11-12 Renlin Li - - * config/arm/arm.md (addsi3_compare_op2): Make the order of - assembly pattern consistent with constraint order. - -2015-11-12 Tom de Vries - - * gen-pass-instances.awk (handle_line): Simplify match regexp. - -2015-11-12 Tom de Vries - - * gen-pass-instances.awk (handle_line): Simplify init of - postfix_starts_at. - -2015-11-12 Tom de Vries - - * gen-pass-instances.awk (handle_line): Rename var where to - call_starts_at. - -2015-11-12 Claudiu Zissulescu - - * config/arc/arc.c (gen_compare_reg): Swap operands also when we - do not expand to rtl. - -2015-11-12 Richard Biener - - PR tree-optimization/58497 - * tree-vect-generic.c: Include gimplify.h. - (tree_vec_extract): Lookup constant/constructor DEFs. - (do_cond): Unshare cond. - -2015-11-12 Uros Bizjak - - * config/i386/i386.c (ix86_legitimate_combined_insn): Reject - combined insn if the alignment of vector mode memory operand - is less than ssememalign. - -2015-11-12 Tom de Vries - - * gen-pass-instances.awk (handle_line): Print parentheses and - pass_name explicitly. - -2015-11-12 Tom de Vries - - * gen-pass-instances.awk (handle_line): Add pass_num, prefix - and postfix vars. - -2015-11-12 Tom de Vries - - * gen-pass-instances.awk (handle_line): Add comments. - -2015-11-12 Tom de Vries - - * gen-pass-instances.awk (handle_line): Rename len_of_end to - len_of_close. - -2015-11-12 Tom de Vries - - * gen-pass-instances.awk (handle_line): Add len_of_call variable. - -2015-11-12 Tom de Vries - - * gen-pass-instances.awk (handle_line): Restructure using early-out. - -2015-11-12 Tom de Vries - - * gen-pass-instances.awk (handle_line): Unify semicolon use. - -2015-11-12 Tom de Vries - - * gen-pass-instances.awk (handle_line): Remove unused var line_length. - -2015-11-12 Tom de Vries - - * gen-pass-instances.awk: Add emacs indent setting. - -2015-11-12 Naveen H.S - - * fold-const.c (fold_binary_loc) : Move Convert A/B/C to A/(B*C) - to match.pd. - Move Convert A/(B/C) to (A/B)*C to match.pd. - Move Convert C1/(X*C2) into (C1/C2)/X to match.pd. - Move Optimize (X & (-A)) / A where A is a power of 2, to - X >> log2(A) to match.pd. - - * match.pd (rdiv (rdiv:s @0 @1) @2): New simplifier. - (rdiv @0 (rdiv:s @1 @2)): New simplifier. - (div (convert? (bit_and @0 INTEGER_CST@1)) INTEGER_CST@2): - New simplifier. - (rdiv REAL_CST@0 (mult @1 REAL_CST@2)): New simplifier. - -2015-11-12 Charles Baylis - - * config/arm/neon.md: (neon_vld2_lane): Remove unused max - variable. - (neon_vst2_lane): Likewise. - (neon_vld3_lane): Likewise. - (neon_vst3_lane): Likewise. - (neon_vld4_lane): Likewise. - (neon_vst4_lane): Likewise. - -2015-11-11 Aditya Kumar - Sebastian Pop - - * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple): - New member codegen_error - (translate_isl_ast_for_loop): Remove call to single_succ_edge and - early return. - (translate_isl_ast_node_user): Early return in case of error. - (translate_isl_ast_to_gimple::translate_isl_ast): Same. - (translate_isl_ast_to_gimple::translate_pending_phi_nodes): New. - (add_parameters_to_ivs_params): Remove macro. - (graphite_regenerate_ast_isl): Add if_region pointer to region. - * graphite-poly.c (new_poly_dr): Remove macro. - (print_pdr): Same. - (new_gimple_poly_bb): Same. - (free_gimple_poly_bb): Same. - (print_scop_params): Same. - * graphite-poly.h (struct poly_dr): Same. - (struct poly_bb): Add new_bb. - (gbb_from_bb): Remove dead code. - (pbb_from_bb): Same. - * graphite-scop-detection.c (parameter_index_in_region_1): Same. - (parameter_index_in_region): Same. - (find_scop_parameters): Same. - (build_cross_bb_scalars_def): New. - (build_cross_bb_scalars_use): New. - (graphite_find_cross_bb_scalar_vars): New - (try_generate_gimple_bb): Reads and Writes. - (build_alias_set): Move. - (gather_bbs::before_dom_children): Gather bbs visited. - (build_scops): call build_alias_set. - * graphite-sese-to-poly.c (phi_arg_in_outermost_loop): Delete. - (remove_simple_copy_phi): Delete. - (remove_invariant_phi): Delete. - (simple_copy_phi_p): Delete. - (reduction_phi_p): Delete. - (isl_id_for_dr): Remove unused param. - (parameter_index_in_region_1): Remove macro usage. - (set_scop_parameter_dim): Same. - (add_param_constraints): Same. - (add_conditions_to_constraints): Same - (build_scop_iteration_domain): Same. - (pdr_add_alias_set): Comment. - (add_scalar_version_numbers): New. - (build_poly_dr): ISL id. - (build_scop_drs): Move. - (build_poly_sr_1): Same. - (insert_stmts): Remove. - (build_poly_sr): New. - (new_pbb_from_pbb): Delete. - (insert_out_of_ssa_copy_on_edge): Delete. - (create_zero_dim_array): Delete. - (scalar_close_phi_node_p): Delete. - (propagate_expr_outside_region): Delete. - (rewrite_close_phi_out_of_ssa): Delete. - (rewrite_phi_out_of_ssa): Delete. - (rewrite_degenerate_phi): Delete. - (rewrite_reductions_out_of_ssa): Delete. - (rewrite_cross_bb_scalar_dependence): Delete. - (handle_scalar_deps_crossing_scop_limits): - (rewrite_cross_bb_scalar_deps): Delete. - (build_poly_scop): Remove calls to out-of-ssa functions. - * graphite.c (graphite_transform_loops): Early return in case of - codegen error. - * sese.c (debug_rename_map_1): Delete. - (debug_rename_map): Delete. - (sese_record_loop): Remove macro. - (build_sese_loop_nests): Same. - (new_sese_info): Same. - (free_sese_info): Same. - (sese_insert_phis_for_liveouts): - (is_loop_closed_ssa_use): New. - (number_of_phi_nodes): New. - (bb_contains_loop_close_phi_nodes): New. - (bb_contains_loop_phi_nodes): New. - (phi_uses_name): New. - (is_valid_rename): - (get_rename): Add old_bb and loop_phi for more precise matching of - exprs. - (set_rename): Pass region. - (later_of_the_two): New. - (gsi_insert_earliest): New. - (collect_all_ssa_names): New. - (substitute_ssa_name): New. - (rename_all_uses): New. - (get_rename_from_scev): New. - (rename_uses): Pass old_bb for more precise matching of exprs. - (get_def_bb_for_const): New. - (get_new_name): New. - (get_loc): New. - (get_edges): New. - (copy_loop_phi_args): New. - (copy_loop_phi_nodes): New. - (get_loop_init_value): New. - (find_init_value): New. - (find_init_value_close_phi): New. - (copy_loop_close_phi_args): New. - (copy_loop_close_phi_nodes): New. - (add_phi_arg_for_new_expr): New. - (copy_cond_phi_args): New. - (copy_cond_phi_nodes): New. - (copy_phi_nodes): New. - (should_copy_to_new_region): New. - (set_rename_for_each_def): New. - (graphite_copy_stmts_from_block): Early return in case of error. - (copy_bb_and_scalar_dependences): Same. - * sese.h (vec_find): New. - (SESE_PARAMS): Delete. - (SESE_LOOPS): Delete. - (SESE_LOOP_NEST): Delete. - (sese_contains_loop): Remove macro usage. - (sese_nb_params): Same. - (struct gimple_poly_bb): Added read_scalar_refs, write_scalar_refs. - -2015-11-11 Abderrazek Zaafrani - - * graphite-sese-to-poly.c (build_scop_original_schedule): Call - isl_union_map_add_map on every pbb->schedule. - -2015-11-11 Tom de Vries - - * tree-parloops.c (create_parallel_loop): Return void. - -2015-11-11 Tom de Vries - - * tree-parloops.c (transform_to_exit_first_loop_alt): Insert new exit - block only when needed. - -2015-11-11 Uros Bizjak - - * config/alpha/alpha-protos.h (print_operand): Remove. - (print_operand_address): Remove. - * config/alpha/alpha.h (PRINT_OPERAND): Remove. - (PRINT_OPERAND_ADDRESS): Remove. - (PRINT_OPERAND_PUNCT_VALID_P): Remove. - * config/alpha/alpha.c (TARGET_PRINT_OPERAND): New hook define. - (TARGET_PRINT_OPERAND_ADDRESS): New hook define. - (TARGET_PRINT_OPERAND_PUNCT_VALID_P): New hook define. - (print_operand_address): Rename to... - (alpha_print_operand_address): ...this and make static. - (print_operand): Rename to... - (alpha_print_operand): ...this and make static. - (alpha_print_operand_punct_valid_p): New static function. - -2015-11-11 Richard Biener - - * tree-vectorizer.h (vect_slp_analyze_and_verify_instance_alignment): - Declare. - (vect_analyze_data_refs_alignment): Make loop vect specific. - (vect_verify_datarefs_alignment): Likewise. - * tree-vect-data-refs.c (vect_slp_analyze_data_ref_dependences): - Add missing continue. - (vect_compute_data_ref_alignment): Export. - (vect_compute_data_refs_alignment): Merge into... - (vect_analyze_data_refs_alignment): ... this. - (verify_data_ref_alignment): Split out from ... - (vect_verify_datarefs_alignment): ... here. - (vect_slp_analyze_and_verify_node_alignment): New function. - (vect_slp_analyze_and_verify_instance_alignment): Likewise. - * tree-vect-slp.c (vect_supported_load_permutation_p): Remove - misplaced checks on alignment. - (vect_slp_analyze_bb_1): Add fatal output parameter. Do - alignment analysis after SLP discovery and do it per instance. - (vect_slp_bb): When vect_slp_analyze_bb_1 fatally failed do not - bother to re-try using different vector sizes. - -2015-11-11 Nathan Sidwell - Cesar Philippidis - - * gimplify.c (enum omp_region_type): Add ORT_ACC, - ORT_ACC_DATA, ORT_ACC_PARALLEL, ORT_ACC_KERNELS. Adjust ORT_NONE. - (gimple_add_tmp_var): Add ORT_ACC checks. - (gimplify_var_or_parm_decl): Likewise. - (omp_firstprivatize_variable): Likewise. Use ORT_TARGET_DATA as a mask. - (omp_add_variable): Look in outer contexts for openacc and allow - reductions with other sharing. Add ORT_ACC and ORT_TARGET_DATA checks. - (omp_notice_variable, omp_is_private, omp_check_private): Add - ORT_ACC checks. - (gimplify_scan_omp_clauses: Treat ORT_ACC as ORT_WORKSHARE. - Permit private openacc reductions. - (gimplify_oacc_cache): Specify ORT_ACC. - (gimplify_omp_workshare): Adjust OpenACC region types. - (gimplify_omp_target_update): Likewise. - * omp-low.c (scan_sharing_clauses): Remove Openacc firstprivate sorry. - (lower-rec_input_clauses): Don't handle openacc firstprivate - references here. - (lower_omp_target): Emit initializers for openacc firstprivate vars. - -2015-11-11 Eric Botcazou - - PR target/67265 - * ira.c (ira_setup_eliminable_regset): Do not necessarily create the - frame pointer for stack checking if non-call exceptions aren't used. - * config/i386/i386.c (ix86_finalize_stack_realign_flags): Likewise. - -2015-11-11 Segher Boessenkool - - * simplify-rtx.c (simplify_truncation): Simplify TRUNCATE of AND of - [LA]SHIFTRT. - -2015-11-11 Martin Liska - Richard Biener - - PR rtl-optimization/68287 - * lra-lives.c (lra_create_live_ranges_1): Reserve the right - number of elements. - -2015-11-11 Simon Dardis - - * config/mips/mips.c (mips_breakable_sequence_p): New function. - (mips_break_sequence): New function. - (mips_reorg_process_insns): Use them. Use compact branches in selected - situations. - -2015-11-11 Alan Lawrence - - * fold-const.c (get_array_ctor_element_at_index): Fix whitespace, typo. - -2015-11-11 Jiong Wang - Jim Wilson - - PR target/67305 - * config/arm/arm.md (neon_vector_mem_operand): Return FALSE if strict - be true and eliminable registers mentioned. - -2015-11-11 Claudiu Zissulescu - - * common/config/arc/arc-common.c (arc_handle_option): Handle ARCv2 - options. - * config/arc/arc-opts.h: Add ARCv2 CPUs. - * config/arc/arc-protos.h (arc_secondary_reload_conv): Prototype. - * config/arc/arc.c (arc_secondary_reload): Handle subreg (reg) - situation, and store instructions with large offsets. - (arc_secondary_reload_conv): New function. - (arc_init): Add ARCv2 options. - (arc_conditional_register_usage): Select the proper register usage - for ARCv2 processors. - (arc_handle_interrupt_attribute): ILINK2 is only valid for ARCv1 - architecture. - (arc_compute_function_type): Likewise. - (arc_print_operand): Handle new ARCv2 punctuation characters. - (arc_return_in_memory): ARCv2 ABI returns in registers up to 16 bytes. - (workaround_arc_anomaly, arc_asm_insn_p, arc_loop_hazard): New - function. - (arc_reorg, arc_hazard): Use it. - * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __HS__ and __EM__. - (ASM_SPEC): Add ARCv2 options. - (TARGET_NORM): ARC HS has norm instructions by default. - (TARGET_OPTFPE): Use optimized floating point emulation for ARC HS. - (TARGET_AT_DBR_CONDEXEC): Only for ARC600 family. - (TARGET_EM, TARGET_HS, TARGET_V2, TARGET_MPYW, TARGET_MULTI): Define. - (SIGNED_INT16, TARGET_MPY, TARGET_ARC700_MPY, TARGET_ANY_MPY): - Likewise. - (TARGET_ARC600_FAMILY, TARGET_ARCOMPACT_FAMILY): Likewise. - (TARGET_LP_WR_INTERLOCK): Likewise. - * config/arc/arc.md - (commutative_binary_mult_comparison_result_used, movsicc_insn) - (mulsi3, mulsi3_600_lib, mulsidi3, mulsidi3_700, mulsi3_highpart) - (umulsi3_highpart_i, umulsi3_highpart_int, umulsi3_highpart) - (umulsidi3, umulsidi3_700, cstoresi4, simple_return, p_return_i): - Use it for ARCv2. - (mulhisi3, mulhisi3_imm, mulhisi3_reg, umulhisi3, umulhisi3_imm) - (umulhisi3_reg, umulhisi3_reg, mulsi3_v2, nopv, bswapsi2) - (prefetch, divsi3, udivsi3 modsi3, umodsi3, arcset, arcsetltu) - (arcsetgeu, arcsethi, arcsetls, reload_*_load, reload_*_store) - (extzvsi): New pattern. - * config/arc/arc.opt: New ARCv2 options. - * config/arc/arcEM.md: New file. - * config/arc/arcHS.md: Likewise. - * config/arc/constraints.md (C3p): New constraint, accepts 1 and 2 - values. - (Cm2): A signed 9-bit integer constant constraint. - (C62): An unsigned 6-bit integer constant constraint. - (C16): A signed 16-bit integer constant constraint. - * config/arc/predicates.md (mult_operator): Add ARCv2 processort. - (short_const_int_operand): New predicate. - * config/arc/t-arc-newlib: Add ARCv2 multilib options. - * doc/invoke.texi: Add documentation for -mcpu= - -mcode-density and -mdiv-rem. - -2015-11-11 Julia Koval - - * config/i386/i386.c (m_SKYLAKE_AVX512): Fix typo. - -2015-11-11 Julia Koval - - * config/i386/i386.c: Handle "skylake" and "skylake-avx512". - -2015-11-11 Martin Liska - - * gimple-ssa-strength-reduction.c (create_phi_basis): - Use auto_vec. - * passes.c (release_dump_file_name): New function. - (pass_init_dump_file): Used from this function. - (pass_fini_dump_file): Likewise. - * tree-sra.c (convert_callers_for_node): Use xstrdup_for_dump. - * var-tracking.c (vt_initialize): Use pool_allocator. - -2015-11-11 Richard Biener - Jiong Wang - - PR tree-optimization/68234 - * tree-vrp.c (vrp_visit_phi_node): Extend SCEV check to those loop PHI - node which estimiated to be VR_VARYING initially. - -2015-11-11 Robert Suchanek - - * regname.c (scan_rtx_reg): Check the matching number of consecutive - registers when tying chains. - (build_def_use): Move terminated_this_insn earlier in the function. - -2015-11-10 Mike Frysinger - - * configure.ac: Use = with test and not ==. - * configure: Regenerated. - -2015-11-11 David Edelsohn - - * config/rs6000/aix.h (TARGET_OS_AIX_CPP_BUILTINS): Add cpu and - machine asserts. Update defines for 64 bit. - -2015-11-11 Charles Baylis - - PR target/63870 - * config/arm/neon.md (neon_vld1_lane): Remove error for invalid - lane number. - (neon_vst1_lane): Likewise. - (neon_vld2_lane): Likewise. - (neon_vst2_lane): Likewise. - (neon_vld3_lane): Likewise. - (neon_vst3_lane): Likewise. - (neon_vld4_lane): Likewise. - (neon_vst4_lane): Likewise. - -2015-11-11 Charles Baylis - - PR target/63870 - * config/arm/arm-builtins.c: (arm_load1_qualifiers) Use - qualifier_struct_load_store_lane_index. - (arm_storestruct_lane_qualifiers) Likewise. - * config/arm/neon.md: (neon_vld1_lane) Reverse lane numbers for - big-endian. - (neon_vst1_lane) Likewise. - (neon_vld2_lane) Likewise. - (neon_vst2_lane) Likewise. - (neon_vld3_lane) Likewise. - (neon_vst3_lane) Likewise. - (neon_vld4_lane) Likewise. - (neon_vst4_lane) Likewise. - -2015-11-11 Charles Baylis - - PR target/63870 - * config/arm/arm-builtins.c (enum arm_type_qualifiers): New enumerator - qualifier_struct_load_store_lane_index. - (builtin_arg): New enumerator NEON_ARG_STRUCT_LOAD_STORE_LANE_INDEX. - (arm_expand_neon_args): New parameter. Remove ellipsis. Handle NEON - argument qualifiers. - (arm_expand_neon_builtin): Handle new NEON argument qualifier. - * config/arm/arm.h (NEON_ENDIAN_LANE_N): New macro. - -2015-11-10 Nathan Sidwell - - * config/nvptx/nvptx.opt (moptimize): New flag. - * config/nvptx/nvptx.c (nvptx_option_override): Set nvptx_optimize - default. - (nvptx_optimize_inner): New. - (nvptx_process_pars): Call it when optimizing. - * doc/invoke.texi (Nvidia PTX Options): Document -moptimize. - -2015-11-10 Bill Schmidt - - * config/rs6000/rs6000.c (rs6000_secondary_reload_direct_move): - Remove redundant code. - -2015-11-10 Jeff Law - - * config/ft32/ft32.c (ft32_print_operand): Supply mode to - call to output_address. - * config/moxie/moxie.c (moxie_print_operand_address): Similarly. - Add unnamed machine_mode argument. - -2015-11-10 Michael Meissner - - * config.gcc (powerpc*-*-*, rs6000*-*-*): Add power9 to hosts that - default to 64-bit. - -2015-11-10 Uros Bizjak - - * config/i386/i386.md (*movabs_1): Add explicit - size directives for -masm=intel. - (*movabs_2): Ditto. - -2015-11-10 Uros Bizjak - - * config/i386/i386.c (ix86_print_operand): Remove dead code that - tried to avoid (%rip) for call operands. - -2015-11-10 Uros Bizjak - - * config/i386/i386.c (ix86_print_operand_address_as): Add no_rip - argument. Do not use RIP relative addressing when no_rip is set. - (ix86_print_operand): Update call to ix86_print_operand_address_as. - (ix86_print_operand_address): Ditto. - * config/i386/i386.md (*movabs_1): Use %P modifier for - absolute movabs operand 0. Add square braces for -masm=intel. - (*movabs_2): Ditto for operand 1. - -2015-11-10 Kyrylo Tkachov - - * config/arm/arm.c (arm_new_rtx_costs, FIX case): Handle - combine_vcvtf2i pattern. - -2015-11-10 Kyrylo Tkachov - - * config/arm/arm.c (neon_valid_immediate): Remove integer - CONST_DOUBLE handling. It should never occur. - -2015-11-10 Matthew Wahab - - * config/aarch64/atomics.md (unspecv): Move to iterators.md. - (ATOMIC_LDOP): Likewise. - (atomic_ldop): Likewise. - * config/aarch64/iterators.md (unspecv): Moved from atomics.md. - (ATOMIC_LDOP): Likewise. - (atomic_ldop): Likewise. - -2015-11-10 Martin Liska - - * alloc-pool.h (allocate_raw): New function. - (operator new (size_t, object_allocator &a)): Use the - function instead of object_allocator::allocate). - -2015-11-10 Ilya Enkovich - - * config/i386/sse.md (HALFMASKMODE): New attribute. - (DOUBLEMASKMODE): New attribute. - (vec_pack_trunc_qi): New. - (vec_pack_trunc_): New. - (vec_unpacks_lo_hi): New. - (vec_unpacks_lo_si): New. - (vec_unpacks_lo_di): New. - (vec_unpacks_hi_hi): New. - (vec_unpacks_hi_): New. - -2015-11-10 Ilya Enkovich - - * optabs.c (expand_binop_directly): Allow scalar mode for - vec_pack_trunc_optab. - * tree-vect-loop.c (vect_determine_vectorization_factor): Skip - boolean vector producers from pattern sequence when computing VF. - * tree-vect-patterns.c (vect_vect_recog_func_ptrs) Add - vect_recog_mask_conversion_pattern. - (search_type_for_mask): Choose the smallest - type if different size types are mixed. - (build_mask_conversion): New. - (vect_recog_mask_conversion_pattern): New. - (vect_pattern_recog_1): Allow scalar mode for boolean vectype. - * tree-vect-stmts.c (vectorizable_mask_load_store): Support masked - load with pattern. - (vectorizable_conversion): Support boolean vectors. - (free_stmt_vec_info): Allow patterns for statements with no lhs. - * tree-vectorizer.h (NUM_PATTERNS): Increase to 14. - -2015-11-10 Ilya Enkovich - - * config/i386/i386-protos.h (ix86_expand_sse_movcc): New. - * config/i386/i386.c (ix86_expand_sse_movcc): Make public. - Cast mask to FP mode if required. - * config/i386/sse.md (vcond_mask_): New. - (vcond_mask_): New. - (vcond_mask_): New. - (vcond_mask_): New. - (vcond_mask_v2div2di): New. - (vcond_mask_): New. - (vcond_mask_): New. - -2015-11-10 Ilya Enkovich - - * optabs-query.h (get_vcond_mask_icode): New. - * optabs-tree.c (expand_vec_cond_expr_p): Use - get_vcond_mask_icode for VEC_COND_EXPR with mask. - * optabs.c (expand_vec_cond_mask_expr): New. - (expand_vec_cond_expr): Use get_vcond_mask_icode when possible. - * optabs.def (vcond_mask_optab): New. - * tree-vect-patterns.c (vect_recog_bool_pattern): Don't - generate redundant comparison for COND_EXPR. - * tree-vect-stmts.c (vect_is_simple_cond): Allow SSA_NAME - as a condition. - (vectorizable_condition): Likewise. - * tree-vect-slp.c (vect_get_and_check_slp_defs): Allow - cond_exp with no embedded comparison. - (vect_build_slp_tree_1): Likewise. - -2015-11-10 Ilya Enkovich - - * config/i386/sse.md (maskload): Rename to ... - (maskload): ... this. - (maskstore): Rename to ... - (maskstore): ... this. - (maskload): New. - (maskstore): New. - -2015-11-10 Ilya Enkovich - - * internal-fn.c (expand_MASK_LOAD): Adjust to maskload optab changes. - (expand_MASK_STORE): Adjust to maskstore optab changes. - * optabs-query.c (can_vec_mask_load_store_p): Add MASK_MODE arg. - Adjust to maskload, maskstore optab changes. - * optabs-query.h (can_vec_mask_load_store_p): Add MASK_MODE arg. - * optabs.def (maskload_optab): Transform into convert optab. - (maskstore_optab): Likewise. - * tree-if-conv.c (ifcvt_can_use_mask_load_store): Adjust to - can_vec_mask_load_store_p signature change. - (predicate_mem_writes): Use boolean mask. - * tree-vect-stmts.c (vectorizable_mask_load_store): Adjust to - can_vec_mask_load_store_p signature change. Allow invariant masks. - (vectorizable_operation): Ignore type precision for boolean vectors. - -2015-11-10 Ilya Enkovich - - * expr.c (do_store_flag): Use expand_vec_cmp_expr for mask results. - (const_vector_mask_from_tree): New. - (const_vector_from_tree): Use const_vector_mask_from_tree - for boolean vectors. - * optabs-query.h (get_vec_cmp_icode): New. - * optabs-tree.c (expand_vec_cmp_expr_p): New. - * optabs-tree.h (expand_vec_cmp_expr_p): New. - * optabs.c (vector_compare_rtx): Add OPNO arg. - (expand_vec_cond_expr): Adjust to vector_compare_rtx change. - (expand_vec_cmp_expr): New. - * optabs.def (vec_cmp_optab): New. - (vec_cmpu_optab): New. - * optabs.h (expand_vec_cmp_expr): New. - * tree-vect-generic.c (expand_vector_comparison): Add vector - comparison optabs check. - * tree-vect-loop.c (vect_determine_vectorization_factor): Ignore mask - operations for VF. Add mask type computation. - * tree-vect-stmts.c (get_mask_type_for_scalar_type): New. - (vectorizable_comparison): New. - (vect_analyze_stmt): Add vectorizable_comparison. - (vect_transform_stmt): Likewise. - (vect_init_vector): Support boolean vector invariants. - (vect_get_vec_def_for_operand): Add VECTYPE arg. - (vectorizable_condition): Directly provide vectype for invariants - used in comparison. - * tree-vectorizer.h (get_mask_type_for_scalar_type): New. - (enum vect_var_kind): Add vect_mask_var. - (enum stmt_vec_info_type): Add comparison_vec_info_type. - (vectorizable_comparison): New. - (vect_get_vec_def_for_operand): Add VECTYPE arg. - * tree-vect-data-refs.c (vect_get_new_vect_var): Support vect_mask_var. - (vect_create_destination_var): Likewise. - * tree-vect-patterns.c (check_bool_pattern): Check fails - if we can vectorize comparison directly. - (search_type_for_mask): New. - (vect_recog_bool_pattern): Support cases when bool pattern check fails. - * tree-vect-slp.c (vect_build_slp_tree_1): Allow - comparison statements. - (vect_get_constant_vectors): Support boolean vector constants. - * config/i386/i386-protos.h (ix86_expand_mask_vec_cmp): New. - (ix86_expand_int_vec_cmp): New. - (ix86_expand_fp_vec_cmp): New. - * config/i386/i386.c (ix86_expand_sse_cmp): Allow NULL for - op_true and op_false. - (ix86_int_cmp_code_to_pcmp_immediate): New. - (ix86_fp_cmp_code_to_pcmp_immediate): New. - (ix86_cmp_code_to_pcmp_immediate): New. - (ix86_expand_mask_vec_cmp): New. - (ix86_expand_fp_vec_cmp): New. - (ix86_expand_int_sse_cmp): New. - (ix86_expand_int_vcond): Use ix86_expand_int_sse_cmp. - (ix86_expand_int_vec_cmp): New. - (ix86_get_mask_mode): New. - (TARGET_VECTORIZE_GET_MASK_MODE): New. - * config/i386/sse.md (avx512fmaskmodelower): New. - (vec_cmp): New. - (vec_cmp): New. - (vec_cmpv2div2di): New. - (vec_cmpu): New. - (vec_cmpu): New. - (vec_cmpuv2div2di): New. - -2015-11-10 Richard Biener - - PR tree-optimization/68240 - * tree-ssa-sccvn.c (cond_stmts_equal_p): Handle commutative compares - properly. - (visit_phi): For PHIs with just a single executable edge - take its value directly. - (expressions_equal_p): Handle VN_TOP properly. - -2015-11-10 Richard Biener - - * tree-vect-data-refs.c (vect_slp_analyze_node_dependences): - Handle memory using/clobbering stmts without a STMT_VINFO_DATA_REF - conservatively. - -2015-11-10 Richard Biener - - PR tree-optimization/56118 - * tree-vect-slp.c (vect_bb_vectorization_profitable_p): Make equal - cost favor vectorized version. - -2015-11-10 Kyrylo Tkachov - - * config/aarch64/aarch64.md (cc): New define_expand. - * config/aarch64/iterators.md (NEG_NOT): New code iterator. - (neg_not_op): New code attribute. - -2015-11-10 Kyrylo Tkachov - - * ifcvt.c (noce_try_inverse_constants): New function. - (noce_process_if_block): Call it. - * optabs.h (emit_conditional_neg_or_complement): Declare prototype. - * optabs.def (negcc_optab, notcc_optab): Declare. - * optabs.c (emit_conditional_neg_or_complement): New function. - * doc/tm.texi (Standard Names): Document negcc, notcc names. - -2015-11-10 Kyrylo Tkachov - - PR rtl-optimization/68236 - * haifa-sched.c (autopref_multipass_dfa_lookahead_guard): Return 0 - if insn_queue doesn't exist. - (haifa_sched_finish): Reset insn_queue to NULL. - -2015-11-10 Robert Suchanek - - * regrename.c (create_new_chain): Initialize renamed and tied_chain. - (build_def_use): Initialize terminated_this_insn. - (find_best_rename_reg): Pick and check register from the tied chain. - (regrename_do_replace): Mark head as renamed. - (struct du_head *terminated_this_insn). New static variable. - (scan_rtx_reg): Tie chains in move insns. Set terminated_this_insn. - * regrename.h (struct du_head): Add tied_chain, renamed members. - -2015-11-10 Ramana Radhakrishnan - - PR bootstrap/68256 - * config/aarch64/aarch64.c (aarch64_use_constant_blocks_p): - Return false. - -2015-11-09 Eric Botcazou - - PR target/57845 - * config/sparc/sparc.c (sparc_function_value_1): In 32-bit mode, do - not promote the mode for aggregate types. - -2015-11-09 Nathan Sidwell - - * omp-low.h (replace_oacc_fn_attrib, build_oacc_routine_dims): Declare. - * omp-low.c (build_oacc_routine_dims): New. - -2015-11-09 Michael Meissner - - * config/rs6000/constraints.md (wF constraint): New constraints - for power9/toc fusion. - (wG constraint): Likewise. - - * config/rs6000/predicates.md (u6bit_cint_operand): New - predicate, recognize 0..63. - (upper16_cint_operand): New predicate for power9 and toc fusion. - (fpr_reg_operand): Likewise. - (toc_fusion_or_p9_reg_operand): Likewise. - (toc_fusion_mem_raw): Likewise. - (toc_fusion_mem_wrapped): Likewise. - (fusion_gpr_addis): If power9 fusion, allow fusion for a larger - address range. - (fusion_gpr_mem_combo): Delete, use fusion_addis_mem_combo_load - instead. - (fusion_addis_mem_combo_load): Add support for power9 fusion of - floating point loads, floating point stores, and gpr stores. - (fusion_addis_mem_combo_store): Likewise. - (fusion_offsettable_mem_operand): Likewise. - - * config/rs6000/rs6000-protos.h (emit_fusion_addis): Add declarations. - (emit_fusion_load_store): Likewise. - (fusion_p9_p): Likewise. - (expand_fusion_p9_load): Likewise. - (expand_fusion_p9_store): Likewise. - (emit_fusion_p9_load): Likewise. - (emit_fusion_p9_store): Likewise. - (fusion_wrap_memory_address): Likewise. - - * config/rs6000/rs6000.c (struct rs6000_reg_addr): Add new - elements for power9 fusion. - (rs6000_debug_print_mode): Rework debug information to print more - information about fusion. - (rs6000_init_hard_regno_mode_ok): Setup for power9 fusion support. - (rs6000_legitimate_address_p): Recognize toc fusion as a valid - offsettable memory address. - (rs6000_rtx_costs): Update costs for new ISA 3.0 instructions. - (emit_fusion_gpr_load): Move most of the code from - emit_fusion_gpr_load into emit_fusion-addis that handles both - power8 and power9 fusion. - (emit_fusion_addis): Likewise. - (emit_fusion_load_store): Likewise. - (fusion_wrap_memory_address): Add support for TOC fusion. - (fusion_split_address): Likewise. - (fusion_p9_p): Add support for power9 fusion. - (expand_fusion_p9_load): Likewise. - (expand_fusion_p9_store): Likewise. - (emit_fusion_p9_load): Likewise. - (emit_fusion_p9_store): Likewise. - - * config/rs6000/rs6000.h (TARGET_EXTSWSLI): Macros for support for - new instructions in ISA 3.0. - (TARGET_CTZ): Likewise. - (TARGET_TOC_FUSION_INT): Macros for power9 fusion support. - (TARGET_TOC_FUSION_FP): Likewise. - - * config/rs6000/rs6000.md (UNSPEC_FUSION_P9): New power9/toc - fusion unspecs. - (UNSPEC_FUSION_ADDIS): Likewise. - (QHSI mode iterator): New iterator for power9 fusion. - (GPR_FUSION): Likewise. - (FPR_FUSION): Likewise. - (mod3): Add support for ISA 3.0 modulus instructions. - (umod3): Likewise. - (divmod peephole): Likewise. - (udivmod peephole): Likewise. - (ctz2): Add support for ISA 3.0 count trailing zeros scalar - instructions. - (ctz2_h): Likewise. - (ashdi3_extswsli): Add support for ISA 3.0 EXTSWSLI instruction. - (ashdi3_extswsli_dot): Likewise. - (ashdi3_extswsli_dot2): Likewise. - (power9 fusion splitter): New power9/toc fusion support. - (toc_fusionload_): Likewise. - (toc_fusionload_di): Likewise. - (fusion_gpr_load_): Update predicate function. - (power9 fusion peephole2s): New power9/toc fusion support. - (fusion_gpr___load): Likewise. - (fusion_gpr___store): Likewise. - (fusion_fpr___load): Likewise. - (fusion_fpr___store): Likewise. - (fusion_p9__constant): Likewise. - -2015-11-09 Steve Ellcey - - * optabs.c (prepare_libcall_arg): New function. - (expand_fixed_convert): Add call to prepare_libcall_arg. - -2015-11-09 Nikolai Bozhenov - - * sched-int.h (dump_rgn_dependencies_dot): Declare - * sched-rgn.c (dump_rgn_dependencies_dot): New function - * print-rtl.h (print_insn): Add prototype - - * haifa-sched.c (setup_sched_dump): Don't redirect output to stderr. - * common.opt (-fsched-verbose): Set default value to 1. - * invoke.texi (-fsched-verbose): Update the option's description. - -2015-11-09 Eric Botcazou - - * config/visium/visium.h (PRINT_OPERAND): Delete. - (PRINT_OPERAND_PUNCT_VALID_P): Likewise. - (PRINT_OPERAND_ADDRESS): Likewise. - * config/visium/visium.c (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define - to... - (visium_print_operand_punct_valid_p): ...this. New function. - (TARGET_PRINT_OPERAND): Define to... - (print_operand): Rename to... - (visium_print_operand): ...this. - (TARGET_PRINT_OPERAND_ADDRESS): Define to... - (visium_output_address): Rename to... - (visium_print_operand_address): ...this. - (print_operand_address): Delete. - -2015-11-09 Eric Botcazou - - PR middle-end/68259 - * tree.h (reverse_storage_order_for_component_p) : - Check that the type of the first operand is an aggregate type. - -2015-11-09 Nathan Sidwell - - * omp-low.c: Fix some OpenACC comment typos. - (lower_reduction_clauses): Remove BUILT_IN_GOACC_GET_THREAD_NUM call. - * omp-builtins.def (BUILT_IN_GOACC_GET_THREAD_NUM, - BUILT_IN_GOACC_GET_NUM_THREADS): Delete. - -2015-11-09 Uros Bizjak - - * config/i386/i386.md (*strmovqi_1): Fix insn enable condition. - -2015-11-09 Jeff Law - - * tree-ssanames.c (verify_ssaname_freelists): Simplify check for - being in gimple/ssa form. Remove redundant check for SSA_NAME. - Fix comment typo. - -2015-11-09 Michael Meissner - Peter Bergner - - * config/rs6000/rs6000.opt (-mpower9-fusion): Add new switches for - ISA 3.0 (power9). - (-mpower9-vector): Likewise. - (-mpower9-dform): Likewise. - (-mpower9-minmax): Likewise. - (-mtoc-fusion): Likewise. - (-mmodulo): Likewise. - (-mfloat128-hardware): Likewise. - - * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add option - mask for ISA 3.0 (power9). - (POWERPC_MASKS): Add new ISA 3.0 switches. - (power9 cpu): Add power9 cpu. - - * config/rs6000/rs6000.h (ASM_CPU_POWER9_SPEC): Add support for power9. - (ASM_CPU_SPEC): Likewise. - (EXTRA_SPECS): Likewise. - - * config/rs6000/rs6000-opts.h (enum processor_type): Add - PROCESSOR_POWER9. - - * config/rs6000/rs6000.c (power9_cost): Initial cost setup for power9. - (rs6000_debug_reg_global): Add support for power9 fusion. - (rs6000_setup_reg_addr_masks): Cache mode size. - (rs6000_option_override_internal): Until real power9 tuning is - added, use -mtune=power8 for -mcpu=power9. - (rs6000_setup_reg_addr_masks): Do not allow pre-increment, - pre-decrement, or pre-modify on SFmode/DFmode if we allow the use - of Altivec registers. - (rs6000_option_override_internal): Add support for ISA 3.0 switches. - (rs6000_loop_align): Add support for power9 cpu. - (rs6000_file_start): Likewise. - (rs6000_adjust_cost): Likewise. - (rs6000_issue_rate): Likewise. - (insn_must_be_first_in_group): Likewise. - (insn_must_be_last_in_group): Likewise. - (force_new_group): Likewise. - (rs6000_register_move_cost): Likewise. - (rs6000_opt_masks): Likewise. - - * config/rs6000/rs6000.md (cpu attribute): Add power9. - * config/rs6000/rs6000-tables.opt: Regenerate. - - * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define - _ARCH_PWR9 if power9 support is available. - - * config/rs6000/aix61.h (ASM_CPU_SPEC): Add power9. - * config/rs6000/aix53.h (ASM_CPU_SPEC): Likewise. - - * configure.ac: Determine if the assembler supports the ISA 3.0 - instructions. - * config.in (HAVE_AS_POWER9): Likewise. - * configure: Regenerate. - - * doc/invoke.texi (RS/6000 and PowerPC Options): Document ISA 3.0 - switches. - -2015-11-09 Kyrylo Tkachov - - * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): - Remove integer CONST_DOUBLE handling. It should never occur. - -2015-11-09 Kyrylo Tkachov - - PR target/68129 - * config/aarch64/aarch64.h (TARGET_SUPPORTS_WIDE_INT): Define to 1. - * config/aarch64/aarch64.c (aarch64_print_operand, CONST_DOUBLE): - Delete VOIDmode case. Assert that mode is not VOIDmode. - * config/aarch64/predicates.md (const0_operand): Remove const_double - match. - -2015-11-09 Martin Liska - - * ipa-inline-analysis.c (estimate_function_body_sizes): Call - body_info release function. - * ipa-prop.c (ipa_release_body_info): New function. - (ipa_analyze_node): Call the function. - (ipa_node_params::~ipa_node_params): Release known_csts. - * ipa-prop.h (ipa_release_body_info): Declare. - -2015-11-09 Martin Liska - - * gcc.c (record_temp_file): Release name string. - * ifcvt.c (noce_convert_multiple_sets): Use auto_vec instead of vec. - * lra-lives.c (free_live_range_list): Utilize - lra_live_range_pool for allocation and deallocation. - (create_live_range): Likewise. - (copy_live_range): Likewise. - (lra_merge_live_ranges): Likewise. - (remove_some_program_points_and_update_live_ranges): Likewise. - (lra_create_live_ranges_1): Release point_freq_vec that can - be not freed from previous iteration of the function. - * tree-eh.c (lower_try_finally_switch): Use auto_vec instead of vec. - * tree-sra.c (sra_deinitialize): Release all vectors in - base_access_vec. - * tree-ssa-dom.c (free_dom_edge_info): Make the function extern. - * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): - Release edge_info for a removed edge. - (thread_through_all_blocks): Free region vector. - * tree-ssa.h (free_dom_edge_info): Declare function extern. - -2015-11-09 Ilya Enkovich - - * optabs.c (expand_vec_cond_expr): Always get sign from type. - * tree.c (wide_int_to_tree): Support negative values for boolean. - (build_nonstandard_boolean_type): Use signed type for booleans. - -2015-11-09 Richard Biener - - PR tree-optimization/68248 - * tree-vect-generic.c (expand_vector_operations_1): Handle scalar rhs2. - -2015-11-09 Richard Biener - - PR tree-optimization/56118 - * tree-vectorizer.h (vect_find_last_scalar_stmt_in_slp): Declare. - * tree-vect-slp.c (vect_find_last_scalar_stmt_in_slp): Export. - * tree-vect-data-refs.c (vect_slp_analyze_node_dependences): New - function. - (vect_slp_analyze_data_ref_dependences): Instead of computing - all dependences of the region DRs just analyze the code motions - SLP vectorization will perform. Remove SLP instances that - cannot have their store/load motions applied. - (vect_analyze_data_refs): Allow DRs without a vectype - in BB vectorization. - -2015-11-09 Julian Brown - - * final.c (output_asm_insn): Pass VOIDmode to output_address. - (output_address): Add MODE argument. Pass to print_operand_address - hook. - * targhooks.c (default_print_operand_address): Add MODE argument. - * targhooks.h (default_print_operand_address): Update prototype. - * output.h (output_address): Update prototype. - * target.def (print_operand_address): Add MODE argument. - * config/vax/vax.c (print_operand_address): Pass VOIDmode to - output_address. - (print_operand): Pass access mode to output_address. - * config/mcore/mcore.c (mcore_print_operand_address): Add MODE - argument. - (mcore_print_operand): Update calls to mcore_print_operand_address. - * config/fr30/fr30.c (fr30_print_operand): Pass VOIDmode to - output_address. - * config/lm32/lm32.c (lm32_print_operand): Pass mode in calls to - output_address. - * config/tilegx/tilegx.c (output_memory_reference_mode): Remove - global. - (tilegx_print_operand): Don't set above global. Update calls to - output_address. - (tilegx_print_operand_address): Add MODE argument. Use instead of - output_memory_reference_mode global. - * config/frv/frv.c (frv_print_operand_address): Add MODE argument. - (frv_print_operand): Pass mode to frv_print_operand_address calls. - * config/mn10300/mn10300.c (mn10300_print_operand): Pass mode to - output_address. - * config/cris/cris.c (cris_print_operand_address): Add MODE argument. - (cris_print_operand): Pass mode to output_address calls. - * config/spu/spu.c (print_operand): Pass mode to output_address calls. - * config/aarch64/aarch64.h (aarch64_print_operand) - (aarch64_print_operand_address): Remove prototypes. - * config/aarch64/aarch64.c (aarch64_memory_reference_mode): Delete - global. - (aarch64_print_operand): Make static. Update calls to output_address. - (aarch64_print_operand_address): Add MODE argument. Use instead of - aarch64_memory_reference_mode global. - (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define target - hooks. - * config/aarch64/aarch64.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): - Delete macro definitions. - * config/pa/pa.c (pa_print_operand): Pass mode in output_address calls. - * config/xtensa/xtensa.c (print_operand): Pass mode in - output_address calls. - * config/h8300/h8300.c (h8300_print_operand_address): Add MODE - argument. - (h83000_print_operand): Update calls to h8300_print_operand_address - and output_address. - * config/ia64/ia64.c (ia64_print_operand_address): Add MODE argument. - * config/tilepro/tilepro.c (output_memory_reference_mode): Delete - global. - (tilepro_print_operand): Pass mode to output_address. - (tilepro_print_operand_address): Add MODE argument. Use instead of - output_memory_reference_mode. - * config/nvptx/nvptx.c (output_decl_chunk, nvptx_assemble_integer) - (nvptx_output_call_insn, nvptx_print_address_operand): Pass VOIDmode - to output_address calls. - (nvptx_print_operand_address): Add MODE argument. - * config/alpha/alpha.c (print_operand): Pass mode argument in - output_address calls. - * config/m68k/m68k.c (print_operand): Pass mode argument in - output_address call. - * config/avr/avr.c (avr_print_operand_address): Add MODE argument. - (avr_print_operand): Update calls to avr_print_operand_address. - * config/sparc/sparc.c (sparc_print_operand_address): Add MODE - argument. Update calls to output_address. - (sparc_print_operand): Pass mode to output_address. - * config/iq2000/iq2000.c (iq2000_print_operand_address): Add MODE - argument. - (iq2000_print_operand): Pass mode in output_address calls. - * config/stormy16/stormy16.c (xstormy16_print_operand_address): Add - MODE argument. - (xstormy16_print_operand): Pass mode to - xstormy16_print_operand_address calls. - * config/mips/mips.c (mips_print_operand): Update calls to - output_address. - (mips_print_operand_address): Add MODE argument. - * config/epiphany/epiphany.c (epiphany_print_operand): Update calls - to output_address. - (epiphany_print_operand_address): Add MODE argument. Add FIXME note. - * config/pdp11/pdp11.c (pdp11_asm_print_operand): Update call to - output_address. - * config/rx/rx.c (rx_print_operand_address): Add MODE argument. - (rx_print_operand): Update calls to output_address, - rx_print_operand_address. - * config/nds32/nds32.c (nds32_print_operand): Update calls to - output_address. - (nds32_print_operand_address): Add MODE argument. - * config/rs6000/rs6000.c (print_operand): Pass mem mode to - output_address calls. - * config/c6x/c6x.c (print_address_offset): Pass mem mode to - output_address call. - (c6x_print_address_operand): Update calls to output_address. - (c6x_print_operand_address): Pass mode to above. - * config/v850/v850.c (v850_print_operand_address): Add MODE argument. - (v850_print_operand): Pass mode to v850_print_operand_address, - output_address. - * config/mmix/mmix.c (mmix_print_operand_address): Add MODE argument. - (mmix_print_operand): Pass mode in output_address calls. - * config/sh/sh.c (sh_print_operand_address): Add MODE argument. - (sh_print_operand): Pass mem mode to output_address, - sh_print_operand_address. - * config/cr16/cr16.c (cr16_print_operand_address): Add MODE argument. - (cr16_print_operand): Pass mode to output_address, - cr16_print_operand_address. - * config/bfin/bfin.c (print_address_operand): Pass VOIDmode to - output_address. - * config/microblaze/microblaze.c (print_operand): Pass mode to - output_address. - * config/nios2/nios2.c (nios2_print_operand): Pass VOIDmode to - output_address. - (nios2_print_operand_address): Add MODE argument. Update call to - nios2_print_operand_address. - * config/s390/s390.c (print_operand): Pass mode to output_address. - * config/m32c/m32c.c (m32c_print_operand_address): Add MODE argument. - * config/arc/arc.c (arc_print_operand): Pass VOIDmode to - output_address. - * config/arm/arm.c (arm_print_operand_address): Add MODE argument. - Use instead of output_memory_reference_mode. - (output_memory_reference_mode): Delete global. - (arm_print_operand): Pass mem mode to output_address. - * config/m32r/m32r.c (m32r_print_operand_address): Add MODE argument. - (m32r_print_operand): Pass mode to output_address. - * config/msp430/msp430.c (msp430_print_operand_addr): Add MODE - argument. - (msp430_print_operand): Pass mode to msp430_print_operand_addr. - * config/i386/i386.c (ix86_print_operand): Pass mode to - output_address calls. - (ix86_print_operand_address): Add MODE argument. - -2015-11-09 Eric Botcazou - - PR middle-end/68251 - * tree-core.h (REF_REVERSE_STORAGE_ORDER): Move around. - * tree.h (REF_REVERSE_STORAGE_ORDER): Change to default_def_flag. - * tree-streamer-in.c (unpack_ts_base_value_fields): Adjust. - * tree-streamer-out.c (pack_ts_base_value_fields): Likewise. - -2015-11-09 Kyrylo Tkachov - - PR rtl-optimization/67749 - * ifcvt.c (noce_try_cmove_arith): Do not emit move in IF-ELSE - case before emitting the two blocks. Instead modify the register - in the corresponding final insn of the basic block. - -2015-11-09 Rainer Orth - - * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Allow for differences in - assembler syntax. - Support Solaris ld. - Define HAVE_INITFINI_ARRAY_SUPPORT as 0/1. - - * config/sol2.h (SUPPORTS_INIT_PRIORITY): Define to - HAVE_INITFINI_ARRAY_SUPPORT. - * config/initfini-array.h: Check HAVE_INITFINI_ARRAY_SUPPORT value. - - * configure.ac (gcc_cv_as_sparc_nobits): Remove. - * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): - Don't check HAVE_AS_SPARC_NOBITS. - Heed SECTION_NOTYPE. - - * configure: Regenerate. - * config.in: Regenerate. - -2015-11-09 Eric Botcazou - - PR middle-end/68253 - * fold-const.c (fold_truth_andor_1): Initialize new variables to 0. - -2015-11-09 Richard Henderson - - * config/i386/i386-c.c (ix86_target_macros): Define __SEG_FS, - __SEG_GS, __SEG_TLS. - (ix86_register_pragmas): Register address spaces __seg_fs, - __seg_gs, __seg_tls. - * config/i386/i386-protos.h (enum ix86_address_seg): Remove. - (ADDR_SPACE_SEG_FS, ADDR_SPACE_SEG_GS, ADDR_SPACE_SEG_TLS): New. - (struct ix86_address): Use addr_space_t instead of ix86_address_seg. - * config/i386/i386.c (ix86_decompose_address): Likewise. - (ix86_legitimate_address_p): Likewise. - (memory_address_length): Likewise. Check mem address space too. - (ix86_print_operand): Use ix86_print_operand_address_as. - (ix86_print_operand_address_as): Rename from - ix86_print_operand_address, add new addr_space_t parameter. - Validate that either the parameter or the ix86_address segment - is default address space. Handle ADDR_SPACE_SEG_TLS. - (ix86_print_operand_address): New. - (ix86_addr_space_subset_p, TARGET_ADDR_SPACE_SUBSET_P): New. - (ix86_addr_space_convert, TARGET_ADDR_SPACE_CONVERT): New. - (ix86_addr_space_debug, TARGET_ADDR_SPACE_DEBUG): New. - (ix86_addr_space_zero_address_valid): New. - (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): New. - * config/i386/i386.h (DEFAULT_TLS_SEG_REG): Use addr_space_t constants. - * config/i386/rdos.h (DEFAULT_TLS_SEG_REG): Likewise. - * config/i386/predicates.md (address_no_seg_operand): Likewise. - (vsib_address_operand): Likewise. - (address_mpx_no_base_operand): Likewise. - (address_mpx_no_index_operand): Likewise. - * doc/extend.texi (x86 Named Address Spaces): New section. - - * config/i386/i386.c (ix86_check_no_addr_space): New. - (decide_alg): Add have_as parameter. - (alg_usable_p): Likewise; disable rep algorithms if set. - (ix86_expand_set_or_movmem): Notice if either MEM has a - non-default address space. - (ix86_expand_strlen): Likewise. - * config/i386/i386.md (strmov, strset): Likewise. - (*strmovdi_rex_1): Use ix86_check_no_addr_space. - (*strmovsi_1, *strmovqi_1, *rep_movdi_rex64, *rep_movsi, *rep_movqi, - *strsetdi_rex_1, *strsetsi_1, *strsethi_1, *strsetqi_1, - *rep_stosdi_rex64, *rep_stossi, *rep_stosqi, *cmpstrnqi_nz_1, - *cmpstrnqi_1, *strlenqi_1): Likewise. - - * config/i386/i386.md (*movabs_1): Print the full memory rtx. - (*movabs_2): Likewise. - - * dwarf2out.c (modified_type_die): Pass the address space number - through TARGET_ADDR_SPACE_DEBUG to produce the dwarf address class. - * target.def (TARGET_ADDR_SPACE_DEBUG): New. - * targhooks.c (default_addr_space_debug): New. - * targhooks.h (default_addr_space_debug): Declare. - * doc/tm.texi.in (TARGET_ADDR_SPACE_DEBUG): Mark it. - * doc/tm.texi: Rebuild. - - * gimple.c (check_loadstore): Return false when 0 is a valid address. - * fold-const.c (const_unop) [ADDR_SPACE_CONVERT_EXPR]: Do not fold - null when 0 is valid in the source address space. - * target.def (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): New. - * targhooks.c (default_addr_space_zero_address_valid): New. - * targhooks.h (default_addr_space_zero_address_valid): Declare. - * doc/tm.texi.in (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): Mark it. - * doc/tm.texi: Rebuild. - - * cselib.c (add_mem_for_addr): Compare address spaces when - matching memories. - (cselib_lookup_mem): Likewise. - * fold-const.c (operand_equal_p): Check address spaces of - pointer types before checking integer constants. - - PR tree-opt/66768 - * tree-ssa-address.c (create_mem_ref_raw): Use a pointer of - the correct type for the base. - -2015-11-09 Jeff Law - - * tree-into-ssa.c (names_to_release): No longer static. - * tree-into-ssa.h (names_to_release): Declare. - * tree-ssanames.c (verify_ssaname_freelists): New debug function. - (release_free_names_and_compact_live_names): New function extracted - from pass_release_ssa_names::execute. - (pass_release_ssa_names::execute): Use it. - -2015-11-09 Alan Modra - - * gensupport.c (add_mnemonic_string): Make len param a size_t. - (gen_mnemonic_setattr): Make "size" var a size_t. Use - obstack_blank_fast to shrink obstack. Cast obstack_next_free - return value. - -2015-11-09 Segher Boessenkool - - PR rtl-optimization/68182 - * bb-reorder.c (reorder_basic_blocks_simple): Treat a conditional - branch with only one successor just like unconditional branches. - -2015-11-08 Jeff Law - - * tree-ssa-threadupdate.c (register_jump_thraed): Assert that a - non-FSM path has no edges marked with EDGE_DFS_BACK. - (ssa_redirect_edges): No longer call mark_loop_for_removal. - (thread_single_edge, def_split_header_continue_p): Remove. - (bb_ends_with_multiway_branch): Likewise. - (thread_through_loop_header): Remove cases of threading from - latch through the header. Simplify knowing we won't thread - the latch. - (thread_through_all_blocks): Simplify knowing that only the FSM - threader needs to handle backedges. - -2015-11-08 Eric Botcazou - - * doc/extend.texi (type attributes): Document scalar_storage_order. - (Structure-Packing Pragmas): Rename into... - (Structure-Layout Pragmas): ...this. Document scalar_storage_order. - * doc/invoke.texi (C Dialect Options): Document -fsso-struct - (Warnings): Document -Wno-scalar-storage-order. - * flag-types.h (enum scalar_storage_order_kind): New enumeration. - * calls.c (store_unaligned_arguments_into_pseudos): Adjust calls to - extract_bit_field and store_bit_field. - (initialize_argument_information): Adjust call to store_expr. - (load_register_parameters): Adjust call to extract_bit_field. - * expmed.c (check_reverse_storage_order_support): New function. - (check_reverse_float_storage_order_support): Likewise. - (flip_storage_order): Likewise. - (store_bit_field_1): Add REVERSE parameter. Flip the storage order - of the value if it is true. Pass REVERSE to recursive call after - adjusting the target offset. - Do not use extraction or movstrict instruction if REVERSE is true. - Pass REVERSE to store_fixed_bit_field. - (store_bit_field): Add REVERSE parameter and pass to it to above. - (store_fixed_bit_field): Add REVERSE parameter and pass to it to - store_split_bit_field and store_fixed_bit_field_1. - (store_fixed_bit_field_1): Add REVERSE parameter. Flip the storage - order of the value if it is true and adjust the target offset. - (store_split_bit_field): Add REVERSE parameter and pass it to - store_fixed_bit_field. Adjust the target offset if it is true. - (extract_bit_field_1): Add REVERSE parameter. Flip the storage order - of the value if it is true. Pass REVERSE to recursive call after - adjusting the target offset. - Do not use extraction or subreg instruction if REVERSE is true. - Pass REVERSE to extract_fixed_bit_field. - (extract_bit_field): Add REVERSE parameter and pass to it to above. - (extract_fixed_bit_field): Add REVERSE parameter and pass to it to - extract_split_bit_field and extract_fixed_bit_field_1. - (extract_fixed_bit_field_1): Add REVERSE parameter. Flip the storage - order of the value if it is true and adjust the target offset. - (extract_split_bit_field): Add REVERSE parameter and pass it to - extract_fixed_bit_field. Adjust the target offset if it is true. - * expmed.h (flip_storage_order): Declare. - (store_bit_field): Adjust prototype. - (extract_bit_field): Likewise. - * expr.c (emit_group_load_1): Adjust calls to extract_bit_field. - (emit_group_store): Adjust call to store_bit_field. - (copy_blkmode_from_reg): Likewise. - (copy_blkmode_to_reg): Likewise. - (write_complex_part): Likewise. - (read_complex_part): Likewise. - (optimize_bitfield_assignment_op): Add REVERSE parameter. Assert - that it isn't true if the target is a register. - : If it is, do not optimize unless bitsize is equal to 1, - and flip the storage order of the value. - : Flip the storage order of the value. - (get_bit_range): Adjust call to get_inner_reference. - (expand_assignment): Adjust calls to get_inner_reference, store_expr, - optimize_bitfield_assignment_op and store_field. Handle MEM_EXPRs - with reverse storage order. - (store_expr_with_bounds): Add REVERSE parameter and pass it to - recursive calls and call to store_bit_field. Force the value into a - register if it is true and then flip the storage order of the value. - (store_expr): Add REVERSE parameter and pass it to above. - (categorize_ctor_elements_1): Adjust call to - initializer_constant_valid_p. - (store_constructor_field): Add REVERSE parameter and pass it to - recursive calls and call to store_field. - (store_constructor): Add REVERSE parameter and pass it to calls to - store_constructor_field and store_expr. Set it to true for an - aggregate type with TYPE_REVERSE_STORAGE_ORDER. - (store_field): Add REVERSE parameter and pass it to recursive calls - and calls to store_expr and store_bit_field. Temporarily flip the - storage order of the value with record type and integral mode and - adjust the shift if it is true. - (get_inner_reference): Add PREVERSEP parameter and set it to true - upon encoutering a reference with reverse storage order. - (expand_expr_addr_expr_1): Adjust call to get_inner_reference. - (expand_constructor): Adjust call to store_constructor. - (expand_expr_real_2) : Pass TYPE_REVERSE_STORAGE_ORDER - of the union type to store_expr in the MEM case and assert that it - isn't set in the REG case. Adjust call to store_field. - (expand_expr_real_1) : Handle reverse storage order. - : Add REVERSEP variable and adjust calls to - get_inner_reference and extract_bit_field. Temporarily flip the - storage order of the value with record type and integral mode and - adjust the shift if it is true. Flip the storage order of the value - at the end if it is true. - : Add REVERSEP variable and adjust call to - get_inner_reference. Do not fetch an inner reference if it is true. - * expr.h (store_expr_with_bounds): Ajust prototype. - (store_expr): Likewise. - * fold-const.c (make_bit_field_ref): Add REVERSEP parameter and set - REF_REVERSE_STORAGE_ORDER on the reference according to it. - (optimize_bit_field_compare): Deal with reverse storage order. - Adjust calls to get_inner_reference and make_bit_field_ref. - (decode_field_reference): Add PREVERSEP parameter and adjust call to - get_inner_reference. - (fold_truth_andor_1): Deal with reverse storage order. Adjust calls - to decode_field_reference and make_bit_field_ref. - (fold_unary_loc) : Adjust call to get_inner_reference. - : Propagate the REF_REVERSE_STORAGE_ORDER flag. - (fold_comparison): Adjust call to get_inner_reference. - (split_address_to_core_and_offset): Adjust call to - get_inner_reference. - * gimple-expr.c (useless_type_conversion_p): Return false for array - types with different TYPE_REVERSE_STORAGE_ORDER flag. - * gimplify.c (gimplify_expr) : Propagate the - REF_REVERSE_STORAGE_ORDER flag. - * lto-streamer-out.c (hash_tree): Deal with TYPE_REVERSE_STORAGE_ORDER. - * output.h (assemble_real): Adjust prototype. - * print-tree.c (print_node): Convey TYPE_REVERSE_STORAGE_ORDER. - * stor-layout.c (finish_record_layout): Propagate the - TYPE_REVERSE_STORAGE_ORDER flag to the variants. - * tree-core.h (TYPE_REVERSE_STORAGE_ORDER): Document. - (TYPE_SATURATING): Adjust. - (REF_REVERSE_STORAGE_ORDER): Document. - * tree-dfa.c (get_ref_base_and_extent): Add PREVERSE parameter and - set it to true upon encoutering a reference with reverse storage order. - * tree-dfa.h (get_ref_base_and_extent): Adjust prototype. - * tree-inline.c (remap_gimple_op_r): Propagate the - REF_REVERSE_STORAGE_ORDER flag. - (copy_tree_body_r): Likewise. - * tree-outof-ssa.c (insert_value_copy_on_edge): Adjust call to - store_expr. - * tree-streamer-in.c (unpack_ts_base_value_fields): Deal with - TYPE_REVERSE_STORAGE_ORDER and REF_REVERSE_STORAGE_ORDER. - * tree-streamer-out.c (pack_ts_base_value_fields): Likewise. - * tree.c (stabilize_reference) : Propagate the - REF_REVERSE_STORAGE_ORDER flag. - (verify_type_variant): Deal with TYPE_REVERSE_STORAGE_ORDER. - (gimple_canonical_types_compatible_p): Likewise. - * tree.h (TYPE_REVERSE_STORAGE_ORDER): New flag. - (TYPE_SATURATING): Adjust. - (REF_REVERSE_STORAGE_ORDER): New flag. - (reverse_storage_order_for_component_p): New inline predicate. - (storage_order_barrier_p): Likewise. - (get_inner_reference): Adjust prototype. - * varasm.c: Include expmed.h. - (assemble_variable_contents): Adjust call to output_constant. - (assemble_real): Add REVERSE parameter. Flip the storage - order of the value if REVERSE is true. - (compare_constant) : Compare TYPE_REVERSE_STORAGE_ORDER. - (assemble_constant_contents): Adjust call to output_constant. - (output_constant_pool_2): Adjust call to assemble_real. - (initializer_constant_valid_p_1) : Deal with - TYPE_REVERSE_STORAGE_ORDER. - (initializer_constant_valid_p): Add REVERSE parameter. - (output_constant): Add REVERSE parameter. - : Flip the storage order of the value if REVERSE is true. - : Adjust call to assemble_real. - : Pass it to recursive calls. - : Likewise. Adjust call to output_constructor. - : Likewise. Adjust call to output_constructor. - (struct oc_local_state): Add REVERSE field. - (output_constructor_array_range): Adjust calls to output_constant. - (output_constructor_regular_field): Likewise. - (output_constructor_bitfield): Adjust call to output_constructor. - Flip the storage order of the value if REVERSE is true. - (output_constructor): Add REVERSE parameter. Set it to true for an - aggregate type with TYPE_REVERSE_STORAGE_ORDER. Adjust call to - output_constructor_bitfield. - * varasm.h (initializer_constant_valid_p): Default REVERSE to false. - * asan.c (instrument_derefs): Adjust call to get_inner_reference. - * builtins.c (get_object_alignment_2): Likewise. - * cfgexpand.c (expand_debug_expr): Adjust call to get_inner_reference - and get_ref_base_and_extent. - * dbxout.c (dbxout_expand_expr): Likewise. - * dwarf2out.c (add_var_loc_to_decl): Likewise. - (loc_list_for_address_of_addr_expr_of_indirect_ref): Likewise. - (loc_list_from_tree): Likewise. - (fortran_common): Likewise. - * gimple-fold.c (gimple_fold_builtin_memory_op): Adjust calls to - get_ref_base_and_extent. - (get_base_constructor): Likewise. - (fold_const_aggregate_ref_1): Likewise. - * gimple-laddress.c (pass_laddress::execute): Adjust call to - get_inner_reference. - * gimple-ssa-strength-reduction.c (slsr_process_ref): Adjust call to - get_inner_reference and bail out on reverse storage order. - * ifcvt.c (noce_emit_move_insn): Adjust calls to store_bit_field. - * ipa-cp.c (ipa_get_jf_ancestor_result): Adjust call to - build_ref_for_offset. - * ipa-polymorphic-call.c (set_by_invariant): Adjust call to - get_ref_base_and_extent. - (ipa_polymorphic_call_context): Likewise. - (extr_type_from_vtbl_ptr_store): Likewise. - (check_stmt_for_type_change): Likewise. - (get_dynamic_type): Likewise. - * ipa-prop.c (ipa_load_from_parm_agg_1): Adjust call to - get_ref_base_and_extent. - (compute_complex_assign_jump_func): Likewise. - (get_ancestor_addr_info): Likewise. - (compute_known_type_jump_func): Likewise. - (determine_known_aggregate_parts): Likewise. - (ipa_get_adjustment_candidate): Likewise. - (ipa_modify_call_arguments): Set REF_REVERSE_STORAGE_ORDER on MEM_REF. - * ipa-prop.h (ipa_parm_adjustment): Add REVERSE field. - (build_ref_for_offset): Adjust prototype. - * simplify-rtx.c (delegitimize_mem_from_attrs): Adjust call to - get_inner_reference. - * tree-affine.c (tree_to_aff_combination): Adjust call to - get_inner_reference. - (get_inner_reference_aff): Likewise. - * tree-data-ref.c (split_constant_offset_1): Likewise. - (dr_analyze_innermost): Likewise. Bail out if reverse storage order. - * tree-scalar-evolution.c (interpret_rhs_expr): Adjust call to - get_inner_reference. - * tree-sra.c (struct access): Add REVERSE and move WRITE around. - (dump_access): Print new fields. - (create_access): Adjust call to get_ref_base_and_extent and set the - REVERSE flag according to the result. - (completely_scalarize_record): Set the REVERSE flag. - (scalarize_elem): Add REVERSE parameter. - (build_access_from_expr_1): Preserve storage order barriers. - (build_accesses_from_assign): Likewise. - (build_ref_for_offset): Add REVERSE parameter and set the - REF_REVERSE_STORAGE_ORDER flag accordingly. - (build_ref_for_model): Adjust call to build_ref_for_offset and clear - the REF_REVERSE_STORAGE_ORDER flag if there are components. - (analyze_access_subtree): Likewise. - (create_artificial_child_access): Set the REVERSE flag. - (get_access_for_expr): Adjust call to get_ref_base_and_extent. - (turn_representatives_into_adjustments): Propagate REVERSE flag. - (ipa_sra_check_caller): Adjust call to get_inner_reference. - * tree-ssa-alias.c (ao_ref_base): Adjust call to - get_ref_base_and_extent. - (aliasing_component_refs_p): Likewise. - (stmt_kills_ref_p_1): Likewise. - * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Likewise. - * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p) : New. - Return true if reverse storage order. - : Likewise. - : Likewise. - : Likewise. - : Likewise. - (split_address_cost): Likewise. Bail out if reverse storage order. - * tree-ssa-math-opts.c (find_bswap_or_nop_load): Adjust call to - get_inner_reference. Bail out if reverse storage order. - (bswap_replace): Adjust call to get_inner_reference. - * tree-ssa-pre.c (create_component_ref_by_pieces_1) : Set - the REF_REVERSE_STORAGE_ORDER flag. - : Likewise. - * tree-ssa-sccvn.c (vn_reference_eq): Return false on storage order - barriers. - (copy_reference_ops_from_ref) : Set REVERSE field according - to the REF_REVERSE_STORAGE_ORDER flag. - : Likewise. - : Set it for storage order barriers. - (contains_storage_order_barrier_p): New predicate. - (vn_reference_lookup_3): Adjust calls to get_ref_base_and_extent. - Punt on storage order barriers if necessary. - * tree-ssa-sccvn.h (struct vn_reference_op_struct): Add REVERSE. - * tree-ssa-structalias.c (get_constraint_for_component_ref): Adjust - call to get_ref_base_and_extent. - (do_structure_copy): Likewise. - * tree-vect-data-refs.c (vect_check_gather): Adjust call to - get_inner_reference. - (vect_analyze_data_refs): Likewise. Bail out if reverse storage order. - * tsan.c (instrument_expr): Adjust call to get_inner_reference. - * ubsan.c (instrument_bool_enum_load): Likewise. - (instrument_object_size): Likewise. - * var-tracking.c (track_expr_p): Adjust call to - get_ref_base_and_extent. - * config/mips/mips.c (r10k_safe_mem_expr_p): Adjust call to - get_inner_reference. - * config/s390/s390.c (s390_expand_atomic): Adjust call to - store_bit_field. - * config/tilegx/tilegx.c (tilegx_expand_unaligned_load): Adjust call to - extract_bit_field. - * config/tilepro/tilepro.c (tilepro_expand_unaligned_load): Likewise. - -2015-11-07 Eric Botcazou - - * config/sparc/sparc.opt (mfix-at697f): Add final period. - -2015-11-07 Segher Boessenkool - - PR rtl-optimization/67864 - * common/config/i386/i386-common.c (ix86_option_optimization_table) - : Use REORDER_BLOCKS_ALGORITHM_STC - at -Os and up. - -2015-11-07 Richard Sandiford - - * trans-mem.c (is_tm_pure_call): Use gimple_call_flags for - internal functions. - -2015-11-07 Richard Sandiford - - * builtins.def: #undef DEF_BUILTIN and DEF_BUILTIN_CHKP - * builtins.c, genmatch.c, tree-core.h: Don't undef them here. - -2015-11-07 Richard Sandiford - - * internal-fn.def: #undef DEF_INTERNAL_FN at the end. - * internal-fn.c: Don't undef it here. - * tree-core.h: Likewise. - -2015-11-07 Richard Sandiford - - * builtins.c (fold_builtin_nan): Delete. - (fold_builtin_memcmp): Remove case where both arguments are constant. - (fold_builtin_strcmp, fold_builtin_strncmp): Likewise. - (fold_builtin_strspn, fold_builtin_strcspn): Likewise. - (fold_builtin_1): Remove BUILT_IN_NAN* handling. - * fold-const-call.c: Include fold-const.h. - (host_size_t_cst_p): New function. - (build_cmp_result, fold_const_builtin_nan): Likewise. - (fold_const_call_1): New function, split out from... - (fold_const_call): ...here (for all three interfaces). Handle - constant nan, nans, strlen, strcmp, strncmp, strspn and strcspn. - -2015-11-07 Richard Sandiford - - * builtins.c (fold_builtin_bitop, fold_builtin_bswap): Delete. - (fold_builtin_1): Don't call them. - * fold-const-call.c: Include tm.h. - (fold_const_call_ss): New variant for integer-to-integer folds. - (fold_const_call): Call it. - -2015-11-07 Richard Sandiford - - * builtins.c (fold_builtin_classify): Move constant cases to... - * fold-const-call.c (fold_const_call_ss): ...here. - -2015-11-07 Richard Sandiford - - * builtins.h (c_getstr): Move to... - * fold-const.h (c_getstr): ...here. - * builtins.c (c_getstr): Move to... - * fold-const.c (c_getstr): ...here. - -2015-11-07 Richard Sandiford - - * builtins.def (BUILTIN_RINT, BUILTIN_RINTF, BUILTIN_RINTL): Use - ATTR_MATHFN_FPROUNDING rather than ATTR_MATHFN_FPROUNDING_ERRNO. - -2015-11-07 Richard Sandiford - - * tree-call-cdce.c (shrink_wrap_one_built_in_call): Try to update - the dominance info; free it if we can't. - (pass_call_cdce::execute): Don't free the dominance info here. - -2015-11-06 Jeff Law - - * tree-ssa-threadedge.c (dummy_simplify): Remove. - (thread_around_empty_blocks): Remove backedge_seen_p argument. - If we thread to a backedge, then return false. Update recursive - call to eliminate backedge_seen_p argument. - (thread_through_normal_block): Remove backedge_seen_p argument. - Remove backedge_seen_p argument from calls to - thread_around_empty_blocks. Remove checks on backedge_seen_p. - If we thread to a backedge, then return 0. - (thread_across_edge): Remove bookkeeping for backedge_seen. Don't - pass it to thread_through_normal_block or thread_through_empty_blocks. - For joiner handling, if we see a backedge, do not try normal - threading. - -2015-11-06 Abderrazek Zaafrani - - * graphite-optimize-isl.c (optimize_isl): Call isl_union_map_is_equal. - * graphite-poly.c (new_scop): Initialize original_schedule. - (free_scop): Free original_schedule. - * graphite-poly.h (struct scop): Add field original_schedule. - * graphite-sese-to-poly.c (build_scop_original_schedule): New. - (build_poly_scop): Call build_scop_original_schedule. - -2015-11-06 Abderrazek Zaafrani - - * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove. - (build_pbb_minimal_scattering_polyhedrons): New. - (build_scop_scattering): Remove. - (build_scop_minimal_scattering): New. - (build_scop_scattering): Call build_pbb_minimal_scattering_polyhedrons. - (build_poly_scop): Call build_scop_minimal_scattering. - -2015-11-06 Jeff Law - - * cfg-flags.def (IGNORE): New edge flag. - * tree-vrp.c (identify_jump_threads): Mark and clear edges - scheduled for removal with EDGE_IGNORE around call into - jump threader. Do no thread across edges with EDGE_IGNORE, - but do allow threading across those with EDGE_DFS_BACK. - -2015-11-06 David Wohlferd - - * doc/md.texi (multi-alternative constraints): Don't document - alternatives inherently tied to reload for the user documentation. - -2015-11-06 Michael Collison - Ramana Radhakrishnan - - Revert: - 2015-08-01 Michael Collison - - * config/arm/arm.md (*arm_smin_cmp): New pattern. - (*arm_umin_cmp): Likewise. - -2015-11-06 Jakub Jelinek - - * gimplify.c (gimplify_omp_ordered): Fix up diagnostics wording. - * omp-low.c (check_omp_nesting_restrictions): Update for the - various new OpenMP 4.5 nesting restrictions, clarified - nesting glossary, closely nested region relationship clarified - to mean explicit or implicit parallel regions (target/teams), - use % or %qs where appropriate. - -2015-11-06 Aditya Kumar - Sebastian Pop - - * graphite-scop-detection.c (loop_is_valid_scop): Call - optimize_loop_nest_for_speed_p. - -2015-11-06 Aditya Kumar - Sebastian Pop - - * graphite-optimize-isl.c (optimize_isl): Call - isl_options_set_schedule_maximize_band_depth. - -2015-11-06 Aditya Kumar - Sebastian Pop - - * graphite-scop-detection.c (scop_detection::merge_sese): Entry - and exit edges should not be a part of irreducible loop. - (scop_detection::can_represent_loop_1): Loops should not be - irreducible. - (scop_detection::harmful_stmt_in_region): All the basic block - should belong to reducible loops. - -2015-11-06 Christophe Lyon - - * config/aarch64/aarch64-simd-builtins.def: Update builtins - tables: add tbl3v16qi, qtbl[34]*, tbx4v16qi, qtbx[34]*. - * config/aarch64/aarch64-simd.md (aarch64_tbl3v8qi): Rename to... - (aarch64_tbl3) ... this, which supports v16qi too. - (aarch64_tbx4v8qi): Rename to... - aarch64_tbx4): ... this. - (aarch64_qtbl3): New pattern. - (aarch64_qtbx3): New pattern. - (aarch64_qtbl4): New pattern. - (aarch64_qtbx4): New pattern. - * config/aarch64/arm_neon.h (vqtbl2_s8, vqtbl2_u8, vqtbl2_p8) - (vqtbl2q_s8, vqtbl2q_u8, vqtbl2q_p8, vqtbl3_s8, vqtbl3_u8) - (vqtbl3_p8, vqtbl3q_s8, vqtbl3q_u8, vqtbl3q_p8, vqtbl4_s8) - (vqtbl4_u8, vqtbl4_p8, vqtbl4q_s8, vqtbl4q_u8, vqtbl4q_p8) - (vqtbx2_s8, vqtbx2_u8, vqtbx2_p8, vqtbx2q_s8, vqtbx2q_u8) - (vqtbx2q_p8, vqtbx3_s8, vqtbx3_u8, vqtbx3_p8, vqtbx3q_s8) - (vqtbx3q_u8, vqtbx3q_p8, vqtbx4_s8, vqtbx4_u8, vqtbx4_p8) - (vqtbx4q_s8, vqtbx4q_u8, vqtbx4q_p8): Rewrite using builtin - functions. - -2015-11-06 Mike Stump - - PR debug/66728 - * dwarf2out.c (get_full_len): Return a value based upon the actual - precision needed for the value. - (add_const_value_attribute): Use a maximal wide-int for - CONST_WIDE_INTs, not VOIDmode. - (output_die): Don't ever output NULL with printf. - - * rtl.h (get_precision of rtx_mode_t): Ensure we never process - BLKmode nor VOIDmode values. - -2015-11-06 David Malcolm - - * diagnostic-color.c (color_dict): Eliminate "caret"; add "range1" - and "range2". - (parse_gcc_colors): Update comment to describe default GCC_COLORS. - * diagnostic-core.h (warning_at_rich_loc): New declaration. - (error_at_rich_loc): New declaration. - (permerror_at_rich_loc): New declaration. - (inform_at_rich_loc): New declaration. - * diagnostic-show-locus.c (adjust_line): Delete. - (struct point_state): New struct. - (class colorizer): New class. - (class layout_point): New class. - (class layout_range): New class. - (struct line_bounds): New. - (class layout): New class. - (colorizer::colorizer): New ctor. - (colorizer::~colorizer): New dtor. - (layout::layout): New ctor. - (layout::print_source_line): New method. - (layout::print_annotation_line): New method. - (layout::get_state_at_point): New method. - (layout::get_x_bound_for_row): New method. - (diagnostic_show_locus): Reimplement in terms of class layout. - (diagnostic_print_caret_line): Delete. - * diagnostic.c (diagnostic_initialize): Replace - MAX_LOCATIONS_PER_MESSAGE with rich_location::MAX_RANGES. - (diagnostic_set_info_translated): Convert param from location_t - to rich_location *. Eliminate calls to set_location on the - message in favor of storing the rich_location ptr there. - (diagnostic_set_info): Convert param from location_t to - rich_location *. - (diagnostic_build_prefix): Break out array into... - (diagnostic_kind_color): New variable. - (diagnostic_get_color_for_kind): New function. - (diagnostic_report_diagnostic): Colorize the option_text - using the color for the severity. - (diagnostic_append_note): Update for change in signature of - diagnostic_set_info. - (diagnostic_append_note_at_rich_loc): New function. - (emit_diagnostic): Update for change in signature of - diagnostic_set_info. - (inform): Likewise. - (inform_at_rich_loc): New function. - (inform_n): Update for change in signature of diagnostic_set_info. - (warning): Likewise. - (warning_at): Likewise. - (warning_at_rich_loc): New function. - (warning_n): Update for change in signature of diagnostic_set_info. - (pedwarn): Likewise. - (permerror): Likewise. - (permerror_at_rich_loc): New function. - (error): Update for change in signature of diagnostic_set_info. - (error_n): Likewise. - (error_at): Likewise. - (error_at_rich_loc): New function. - (sorry): Update for change in signature of diagnostic_set_info. - (fatal_error): Likewise. - (internal_error): Likewise. - (internal_error_no_backtrace): Likewise. - (source_range::debug): New function. - * diagnostic.h (struct diagnostic_info): Eliminate field - "override_column". Add field "richloc". - (struct diagnostic_context): Add field "colorize_source_p". - (diagnostic_override_column): Delete. - (diagnostic_set_info): Convert param from location_t to - rich_location *. - (diagnostic_set_info_translated): Likewise. - (diagnostic_append_note_at_rich_loc): New function. - (diagnostic_num_locations): New function. - (diagnostic_expand_location): Get the location from the - rich_location. - (diagnostic_print_caret_line): Delete. - (diagnostic_get_color_for_kind): New declaration. - * genmatch.c (linemap_client_expand_location_to_spelling_point): New. - (error_cb): Update for change in signature of "error" callback. - (fatal_at): Likewise. - (warning_at): Likewise. - * input.c (linemap_client_expand_location_to_spelling_point): New. - * pretty-print.c (text_info::set_range): New method. - (text_info::get_location): New method. - * pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): Eliminate this macro. - (struct text_info): Eliminate "locations" array in favor of - "m_richloc", a rich_location *. - (textinfo::set_location): Add a "caret_p" param, and reimplement - in terms of a call to set_range. - (textinfo::get_location): Eliminate inline implementation in favor of - an out-of-line reimplementation. - (textinfo::set_range): New method. - * rtl-error.c (diagnostic_for_asm): Update for change in signature - of diagnostic_set_info. - * tree-diagnostic.c (default_tree_printer): Update for new - "caret_p" param for textinfo::set_location. - * tree-pretty-print.c (percent_K_format): Likewise. - -2015-11-06 Ramana Radhakrishnan - - Properly apply. - 2015-11-05 Ramana Radhakrishnan - * config/aarch64/aarch64.c - (aarch64_can_use_per_function_literal_pools_p): New. - (aarch64_use_blocks_for_constant_p): Adjust declaration - and use aarch64_can_use_function_literal_pools_p. - (aarch64_select_rtx_section): Update. - -2015-11-06 Ramana Radhakrishnan - - * config/arm/arm-ldmstm.ml: Rewrite to generate unified asm templates. - * config/arm/arm.c (arm_asm_trampoline_template): Make unified asm safe. - (arm_output_multireg_pop): Likewise. - (output_move_double): Likewise. - (output_move_quad): Likewise. - (output_return_instruction): Likewise. - (arm_print_operand): Remove support for %( and %. print modifiers. - (arm_output_shift): Make unified asm. - (arm_declare_function_name): Likewise. - * config/arm/arm.h (TARGET_UNIFIED_ASM): Delete. - (ASM_APP_OFF): Adjust. - (ASM_OUTPUT_REG_PUSH): Undo special casing for TARGET_ARM. - (ASM_OUTPUT_REG_POP): Likewise. - * config/arm/arm.md: Adjust uses of %., %(, %) - * config/arm/sync.md: Likewise. - * config/arm/thumb2.md: Likewise. - * config/arm/ldmstm.md: Regenerate. - * config/arm/arm.opt (masm-unified-syntax): Do not special case Thumb. - * doc/invoke.texi (masm-unified-syntax): Update documentation. - -2015-11-06 David Malcolm - - * input.c (dump_line_table_statistics): Dump stats on adhoc table. - -2015-11-07 Jan Hubicka - - * tree-core.h (size_type_kind): Remove OEP_CONSTANT_ADDRESS_OF and - add OEP_MATCH_SIDE_EFFECTS. - * fold-const.c (operand_equal_p): Update documentation; handle - OEP_MATCH_SIDE_EFFECTS. - * tree-ssa-tail-merge.c (gimple_operand_equal_value_p): Use - OEP_MATCH_SIDE_EFFECTS. - -2015-11-06 Benedikt Huber - Philipp Tomsich - - * config/aarch64/aarch64-builtins.c: Builtins for rsqrt and rsqrtf. - * config/aarch64/aarch64-protos.h: Declare. - * config/aarch64/aarch64-simd.md: Matching expressions for frsqrte and - frsqrts. - * config/aarch64/aarch64-tuning-flags.def: Added recip_sqrt. - * config/aarch64/aarch64.c: New functions. Emit rsqrt estimation - code when applicable. - * config/aarch64/aarch64.md: Added enum entries. - * config/aarch64/aarch64.opt: Added option -mlow-precision-recip-sqrt. - -2015-11-07 Jan Hubicka - - PR ipa/68057 - PR ipa/68220 - * ipa-polymorphic-call.c - (ipa_polymorphic_call_context::restrict_to_inner_type): Fix ordering - issue when offset is out of range. - (contains_type_p): Fix out of range check, clear dynamic flag. - -2015-11-06 Arnout Vandecappelle - - * config.gcc (e6500): Fix cpu_is_64bit typo. - -2015-11-06 Alan Lawrence - - * tree-sra.c (completely_scalarize): Properly handle negative array - indices using offset_int. - -2015-11-06 Richard Biener - - * alloc-pool.h (object_allocator::allocate): Default-initialize - object. - -2015-11-06 Richard Biener - - * tree-ssa-sccvn.c (class sccvn_dom_walker): Add destructor. - * lra.c (init_reg_info): Truncate copy_vec instead of - re-allocating a new one and leaking the old. - * ipa-inline-analysis.c (estimate_function_body_sizes): Free - bb_infos vec. - * sched-deps.c (sched_deps_finish): Free the dn/dl pools. - * postreload-gcse.c (free_mem): Free modify_mem_list and - canon_modify_mem_list. - -2015-11-06 Ilya Enkovich - - PR tree-optimization/68145 - * tree-vect-stmts.c (vectorizable_operation): Fix - determination for booleans. - -2015-11-06 Tom de Vries - - * tree-cfg.c (gimple_split_block_before_cond_jump): Split before - cond_jump, instead of split after last nondebug insn before cond_jump. - * tree-parloops.c (transform_to_exit_first_loop_alt): Verify ssa before - returning. - -2015-11-06 Kyrylo Tkachov - - PR target/68088 - * config/arm/aarch-common.c (aarch_accumulator_forwarding): Strip - subregs from accumulator and make sure it's a register. - -2015-11-06 Simon Dardis - - * config/mips/loongson.md (vec_loongson_extract_lo_): New, extract - low part to scalar. - (reduc_uplus_): Remove. - (reduc_plus_scal_): Rename from reduc_splus_, Use vec - loongson_extract_lo_. - (reduc_smax_scal_, reduc_smin_scal_): Rename from - reduc_smax_, reduc_smax_, use vec - loongson_extract_lo_. - (reduc_umax_scal_, reduc_umin_scal_): Rename. - -2015-11-06 Richard Biener - - * tree-vectorizer.h (struct _bb_vec_info): Add region_begin/end - members. - (vect_stmt_in_region_p): Declare. - * tree-vect-slp.c (new_bb_vec_info): Work on a region. - (destroy_bb_vec_info): Likewise. - (vect_bb_slp_scalar_cost): Use vect_stmt_in_region_p. - (vect_get_and_check_slp_defs): Likewise. - (vect_slp_analyze_bb_1): Refactor to make it work on sub-BBs. - (vect_slp_bb): Likewise. - * tree-vect-patterns.c (vect_same_loop_or_bb_p): Implement - in terms of vect_stmt_in_region_p. - (vect_pattern_recog): Iterate over the BB region. - * tree-vect-stmts.c (vect_is_simple_use): Use vect_stmt_in_region_p. - * tree-vectorizer.c (vect_stmt_in_region_p): New function. - (pass_slp_vectorize::execute): Initialize all stmt UIDs to -1. - * config/i386/i386.c: Include gimple-iterator.h. - * config/aarch64/aarch64.c: Likewise. - -2015-11-06 Alexandre Oliva - - PR rtl-optimization/67753 - PR rtl-optimization/64164 - * function.c (assign_parm_setup_block): Avoid allocating a - stack slot if we don't have an ABI-reserved one. Emit the - copy to target_reg in the conversion seq if the copy from - entry_parm is in it too. Don't use the conversion seq to copy - a PARALLEL to a REG or a CONCAT. - -2015-11-06 Richard Biener - - * tree-hash-traits.h (tree_operand_hash): Provide equal, not - equal_keys. - -2015-11-05 Cesar Philippidis - Thomas Schwinge - James Norris - - - * gimplify.c (gimplify_scan_omp_clauses): Add support for - OMP_CLAUSE_TILE. Update handling of OMP_CLAUSE_INDEPENDENT. - (gimplify_adjust_omp_clauses): Likewise. - * omp-low.c (scan_sharing_clauses): Add support for OMP_CLAUSE_TILE. - * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_TILE. - * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_TILE. - * tree.c (omp_clause_num_ops): Add an entry for OMP_CLAUSE_TILE. - (omp_clause_code_name): Likewise. - (walk_tree_1): Handle OMP_CLAUSE_TILE. - * tree.h (OMP_TILE_LIST): New macro. - -2015-11-05 Martin Sebor - - PR c++/67942 - * doc/invoke.texi (-Wplacement-new): Document new option. - -2015-11-05 Alan Lawrence - - PR tree-optimization/65963 - * tree-scalar-evolution.c (interpret_rhs_expr): Try to handle - LSHIFT_EXPRs as equivalent unsigned MULT_EXPRs. - -2015-11-05 James Greenhalgh - - * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): New. - (noce_convert_multiple_sets): Likewise. - (noce_process_if_block): Call them. - -2015-11-05 Nathan Sidwell - - * gimple-fold.c: Include omp-low.h. - (fold_internal_goacc_dim): New. - (gimple_fold_call): Call it. - -2015-11-05 Jakub Jelinek - Ilya Verbin - - * builtin-types.def - (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR): Remove. - (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): New. - * cgraph.h (enum cgraph_simd_clone_arg_type): Add - SIMD_CLONE_ARG_TYPE_LINEAR_REF_VARIABLE_STEP, - SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_VARIABLE_STEP and - SIMD_CLONE_ARG_TYPE_LINEAR_VAL_VARIABLE_STEP. - (struct cgraph_simd_clone_arg): Adjust comment. - * omp-builtins.def (BUILT_IN_GOMP_TARGET): Rename GOMP_target_41 - to GOMP_target_ext. Add num_teams and thread_limit arguments. - (BUILT_IN_GOMP_TARGET_DATA): Rename GOMP_target_data_41 - to GOMP_target_data_ext. - (BUILT_IN_GOMP_TARGET_UPDATE): Rename GOMP_target_update_41 - to GOMP_target_update_ext. - (BUILT_IN_GOMP_LOOP_NONMONOTONIC_DYNAMIC_START, - BUILT_IN_GOMP_LOOP_NONMONOTONIC_GUIDED_START, - BUILT_IN_GOMP_LOOP_NONMONOTONIC_DYNAMIC_NEXT, - BUILT_IN_GOMP_LOOP_NONMONOTONIC_GUIDED_NEXT, - BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_START, - BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_START, - BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_NEXT, - BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_NEXT, - BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_DYNAMIC, - BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_GUIDED): New built-ins. - * tree-core.h (enum omp_clause_schedule_kind): Add - OMP_CLAUSE_SCHEDULE_MASK, OMP_CLAUSE_SCHEDULE_MONOTONIC, - OMP_CLAUSE_SCHEDULE_NONMONOTONIC and change - OMP_CLAUSE_SCHEDULE_LAST value. - * tree.def (OMP_SIMD, CILK_SIMD, CILK_FOR, OMP_DISTRIBUTE, - OMP_TASKLOOP, OACC_LOOP): Add OMP_FOR_ORIG_DECLS argument. - * tree.h (OMP_FOR_ORIG_DECLS): Use OMP_LOOP_CHECK instead of - OMP_FOR_CHECK. Remove comment. - * tree-pretty-print.c (dump_omp_clause): Handle - GOMP_MAP_FIRSTPRIVATE_REFERENCE and GOMP_MAP_ALWAYS_POINTER. - Simplify. Print schedule clause modifiers. - * tree-vect-stmts.c (vectorizable_simd_clone_call): Add - SIMD_CLONE_ARG_TYPE_LINEAR_{REF,VAL,UVAL}_VARIABLE_STEP - cases. - * gimplify.c (enum gimplify_omp_var_data): Add GOVD_MAP_ALWAYS_TO. - (omp_default_clause): Tweak for - private/firstprivate/is_device_ptr variables on target - construct and use_device_ptr on target data. - (omp_check_private): Likewise. - (omp_notice_variable): For references check whether what it refers - to has mappable type, rather than the reference itself. - (omp_is_private): Diagnose linear iteration variables on non-simd - constructs. - (omp_no_lastprivate): Return true only for Fortran. - (gimplify_scan_omp_clauses): Or in GOVD_MAP_ALWAYS_TO for - GOMP_MAP_ALWAYS_TO or GOMP_MAP_ALWAYS_TOFROM kinds. - Add support for GOMP_MAP_FIRSTPRIVATE_REFERENCE and - GOMP_MAP_ALWAYS_POINTER, remove old handling of structure element - based array sections. Use GOMP_MAP_ALWAYS_P. Fix up handling of - lastprivate and linear when combined with distribute. Gimplify - variable low-bound for array reduction. Look through - POINTER_PLUS_EXPR when looking for ADDR_EXPR for array section - reductions. - (gimplify_adjust_omp_clauses_1): For implicit references to - variables with reference type and when not ref to scalar or - ref to pointer, map what they refer to using tofrom and - use GOMP_MAP_FIRSTPRIVATE_REFERENCE for the reference. - (gimplify_adjust_omp_clauses): Remove GOMP_MAP_ALWAYS_POINTER - from target exit data. Handle GOMP_MAP_FIRSTPRIVATE_REFERENCE. - Drop OMP_CLAUSE_MAP_PRIVATE support. Use GOMP_MAP_ALWAYS_P. - Diagnose the same var on both firstprivate and lastprivate on - distribute construct. - (gimplify_omp_for): Fix up handling of predetermined - lastprivate or linear iter vars when combined with distribute. - (find_omp_teams, computable_teams_clause, optimize_target_teams): New - functions. - (gimplify_omp_workshare): Call optimize_target_teams. - * omp-low.c (struct omp_region): Add sched_modifiers field. - (struct omp_for_data): Likewise. - (omp_any_child_fn_dumped): New variable. - (extract_omp_for_data): Fill in sched_modifiers, and mask out - OMP_CLAUSE_SCHEDULE_KIND bits outside of OMP_CLAUSE_SCHEDULE_MASK - from sched_kind. - (determine_parallel_type): Use only OMP_CLAUSE_SCHEDULE_MASK - bits of OMP_CLAUSE_SCHED_KIND. - (scan_sharing_clauses): Handle GOMP_MAP_FIRSTPRIVATE_REFERENCE, - drop OMP_CLAUSE_MAP_PRIVATE support. Look through POINTER_PLUS_EXPR - for array section reductions. - (add_taskreg_looptemp_clauses): Add one extra _looptemp_ clause even - for distribute parallel for, if there are lastprivate clauses on the - for. - (lower_rec_input_clauses): Handle non-zero low-bound on array - section reductions. - (lower_reduction_clauses): Likewise. - (lower_send_clauses): Look through POINTER_PLUS_EXPR - for array section reductions. - (expand_parallel_call): Use nonmonotonic entrypoints for - nonmonotonic: dynamic/guided. - (expand_omp_taskreg): Call assign_assembler_name_if_neeeded on - child_fn if current_function_decl has assembler name set, but child_fn - does not. Dump the header and IL of the child function when not in SSA - form. - (expand_omp_target): Likewise. Pass num_teams and thread_limit - arguments to BUILT_IN_GOMP_TARGET. - (expand_omp_for_static_nochunk, expand_omp_for_static_chunk): - Initialize the extra _looptemp_ clause to fd->loop.n2. - (expand_omp_for): Use nonmonotonic entrypoints for - nonmonotonic: dynamic/guided. Initialize region->sched_modifiers. - (expand_omp): Clear omp_any_child_fn_dumped. Dump function header - again if we have dumped any child functions. - (lower_omp_for_lastprivate): Determine the right count variable - for distribute simd, or distribute parallel for{, simd}. - (lower_omp_target): Handle GOMP_MAP_FIRSTPRIVATE_REFERENCE - and GOMP_MAP_ALWAYS_POINTER. Drop OMP_CLAUSE_MAP_PRIVATE - support. - (simd_clone_clauses_extract): Handle variable step - for references and arguments passed by reference. - (simd_clone_mangle): Mangle ref/uval/val variable steps. - (simd_clone_adjust_argument_types): Handle - SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_VARIABLE_STEP like - SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP and - SIMD_CLONE_ARG_TYPE_LINEAR_VAL_VARIABLE_STEP like - SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP. - (simd_clone_linear_addend): New function. - (simd_clone_adjust): Handle variable step like similarly - to constant step, use simd_clone_linear_addend to determine - the actual step at runtime. - -2015-11-05 Nathan Sidwell - - * target.def (goacc.dim_limit): New hook. - * targhooks.h (default_goacc_dim_limit): Declare. - * doc/tm.texi.in (TARGET_GOACC_DIM_LIMIT): Add. - * doc/tm.texi: Rebuilt. - * omp-low.h (get_oacc_fn_dim_size, get_oacc_ifn_dim_arg): Declare. - * omp-low.c (get_oacc_fn_dim_size, get_oacc_ifn_dim_arg): New. - (default_goacc_dim_limit): New. - * config/nvptx/nvptx.c (PTX_VECTOR_LENGTH, PTX_WORKER_LENGTH): New. - (nvptx_goacc_dim_limit) New. - (TARGET_GOACC_DIM_LIMIT): Override. - * tree-vrp.c: Include omp-low.h, target.h. - (extract_range_basic): Add handling for IFN_GOACC_DIM_SIZE & - IFN_GOACC_DIM_POS. - -2015-11-05 Ilya Enkovich - - * tree-vect-generic.c (do_compare): Use -1 for true - result instead of 1. - -2015-11-05 Ramana Radhakrishnan - - * config/aarch64/aarch64.c - (aarch64_can_use_per_function_literal_pools_p): New. - (aarch64_use_blocks_for_constant_p): Adjust declaration - and use aarch64_can_use_function_literal_pools_p. - (aarch64_select_rtx_section): Update. - -2015-11-05 Ilya Enkovich - - * targhooks.c (default_get_mask_mode): Use BLKmode in - case target doesn't support required vector mode. - * stor-layout.c (layout_type); Check for BLKmode. - -2015-11-04 Aditya Kumar - Sebastian Pop - - * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id): - Remove use of parameter_rename_map. - (copy_def): Remove. - (copy_internal_parameters): Remove. - (graphite_regenerate_ast_isl): Remove call to copy_internal_parameters. - * sese.c (new_sese_info): Do not initialize parameter_rename_map. - (free_sese_info): Do not free parameter_rename_map. - (set_rename): Do not use parameter_rename_map. - (rename_uses): Update call to set_rename. - (graphite_copy_stmts_from_block): Do not use parameter_rename_map. - * sese.h (parameter_rename_map_t): Remove. - (struct sese_info_t): Remove field parameter_rename_map. - -2015-11-04 Aditya Kumar - Sebastian Pop - - * graphite-isl-ast-to-gimple.c: Include tree-cfg.h. - (translate_isl_ast_node_user): Add more dumps: call print_loops_bb. - * graphite-scop-detection.c (dot_all_scops_1): Moved out of - anonymous namespace. - * graphite-sese-to-poly.c (ssa_name_version_typesize): Remove. - (isl_id_for_pbb): Use a buffer of size 10. - (isl_id_for_ssa_name): Same. - * sese.c (set_rename): Add more dumps. - -2015-11-04 Nathan Sidwell - - * omp-low.c (struct omp_context): Remove reduction_map field. - (lookup_oacc_reduction, maybe_lookup_oacc_reduction): Delete. - (new_omp_context, delete_omp_context, scan_omp_target): Remove - reduction_map handling. - (lower_omp_target): Remove obsolete openacc reduction handling. - -2015-11-04 Nathan Sidwell - - * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Add checking. - -2015-11-04 Nathan Sidwell - Cesar Philippidis - - * config/nvptx/nvptx.c: Include gimple headers. - (worker_red_size, worker_red_align, worker_red_name, - worker_red_sym): New. - (nvptx_option_override): Initialize worker reduction buffer. - (nvptx_file_end): Write out worker reduction buffer var. - (nvptx_expand_shuffle, nvptx_expand_worker_addr, - nvptx_expand_cmp_swap): New builtin expanders. - (enum nvptx_builtins): New. - (nvptx_builtin_decls): New. - (nvptx_builtin_decl, nvptx_init_builtins, nvptx_expand_builtin): New - (PTX_VECTOR_LENGTH, PTX_WORKER_LENGTH): New. - (nvptx_get_worker_red_addr, nvptx_generate_vector_shuffle, - nvptx_lockless_update): New helpers. - (nvptx_goacc_reduction_setup, nvptx_goacc_reduction_init, - nvptx_goacc_reduction_fini, nvptx_goacc_reduction_teaddown): New. - (nvptx_goacc_reduction): New. - (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN, - TARGET_BUILTIN_DECL): Override. - (TARGET_GOACC_REDUCTION): Override. - -2015-11-04 Nathan Sidwell - Cesar Philippidis - - * internal-fn.def (GOACC_REDUCTION): New. - * internal-fn.h (enum ifn_goacc_reduction_kind): New. - * internal-fn.c (expand_GOACC_REDUCTION): New. - * target.def (goacc.reduction): New OpenACC hook. - * targhooks.h (default_goacc_reduction): Declare. - * doc/tm.texi.in: Add TARGET_GOACC_REDUCTION. - * doc/tm.texi: Rebuilt. - * omp-low.c (oacc_get_reduction_array_id, oacc_max_threads, - scan_sharing_clauses): Remove oacc reduction handling here. - (lower_rec_input_clauses): Don't handle OpenACC reductions here. - (oacc_lower_reduction_var_helper): Delete. - (lower_oacc_reductions): New. - (lower_reduction_clauses): Don't handle OpenACC reductions here. - (lower_oacc_head_tail): Call lower_oacc_reductions. - (oacc_gimple_assign, oacc_init_reduction_array, - oacc_initialize_reduction_data, oacc_finalize_reduction_data, - oacc_process_reduction_data): Delete. - (lower_omp_target): Remove old OpenACC reduction handling. Insert - dummy OpenACC gang reduction for reductions at outer level. - (oacc_loop_xform_head_tail): Transform IFN_GOACC_REDUCTION. - (default_goacc_reduction): New. - (execute_oacc_device_lower): Handle IFN_GOACC_REDUCTION. - -2015-11-04 Martin Liska - - * cgraphunit.c (cgraph_node::expand_thunk): Call - allocate_struct_function before init_function_start. - (cgraph_node::expand): Use push_cfun and pop_cfun. - * config/i386/i386.c (ix86_code_end): Call - allocate_struct_function before init_function_start. - * config/rs6000/rs6000.c (rs6000_code_end): Likewise. - * function.c (init_function_start): Move preamble to all - callers. - * passes.c (do_per_function_toporder): Use push_cfun and pop_cfun. - (execute_one_pass): Handle newly added TODO_discard_function. - (execute_pass_list_1): Terminate if cfun equals to NULL. - (execute_pass_list): Do not push and pop cfun, expect that - cfun is set. - * tree-pass.h (TODO_discard_function): Define. - -2015-11-04 Mikhail Maltsev - - * cfganal.c (inverted_post_order_compute): Remove conditional - compilation, use flag_checking. - * config.in: Regenerate. - * configure: Regenerate. - * configure.ac: Remove ENABLE_CHECKING. - * genconditions.c: Do not #undef ENABLE_CHECKING. - * sese.h (bb_in_region): Comment out broken check. - * tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa_1): Remove - conditional compilation, use flag_checking. - -2015-11-04 Tom de Vries - - PR tree-optimization/67742 - * tree-ssa-structalias.c (struct fieldoff): Add restrict_pointed_type - field. - (push_fields_onto_fieldstack): Handle restrict_pointed_type field. - (create_variable_info_for_1): Add and handle handle_param parameter. - Add restrict handling. - (create_variable_info_for): Call create_variable_info_for_1 with extra - arg. - (make_param_constraints): Drop restrict_name parameter. Ignore - vi->only_restrict_pointers. - (intra_create_variable_infos): Call create_variable_info_for_1 with - extra arg. Remove restrict handling. Call make_param_constraints with - one fewer arg. - -2015-11-04 Tom de Vries - - * tree-ssa-structalias.c (create_variable_info_for_1): Use decl_type - variable. - -2015-11-03 Trevor Saunders - - * config/arm/coff.h: Remove. - -2015-11-03 Eric Botcazou - - * gimple-expr.c (useless_type_conversion_p): Reinstate type canonical - check for aggregate types and beef up comment for mode check. - -2015-11-03 Richard Biener - - * tree-vect-data-refs.c (vect_analyze_data_refs): Do not collect - data references here. - * tree-vect-loop.c: Include cgraph.h. - (vect_analyze_loop_2): Collect data references here. - * tree-vect-slp.c (find_bb_location): Inline ... - (vect_slp_bb): ... here. Renamed from vect_slp_analyze_bb. - Factor in vect_slp_transform_bb. - (vect_slp_transform_bb): Removed. - (vect_slp_analyze_bb_1): Collect data references here. - * tree-vectorizer.c (pass_slp_vectorize::execute): Call - vect_slp_bb. - * tree-vectorizer.h (vect_slp_bb): Declare. - (vect_slp_analyze_bb): Remove. - (vect_slp_transform_bb): Remove. - (find_bb_location): Remove. - (vect_analyze_data_refs): Remove stmt count reference parameter. - -2015-11-03 Evgeny Stupachenko - - * multiple_target.c (create_dispatcher_calls): Add target check - on ifunc. - (create_target_clone): Change assembler name for versioned declarations. - -2015-11-03 Thomas Schwinge - Chung-Lin Tang - - * 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 - - * config/aarch64/aarch64-simd-builtins.def (fmulx): New. - * config/aarch64/aarch64-simd.md (aarch64_fmulx): 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 - - * config/aarch64/aarch64.md (*movhf_aarch64): Use - aarch64_reg_or_fp_zero for second operand. - -2015-11-03 Alexandre Oliva - - * 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 - - * 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 - - * 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 - - * 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 - - * tree-ssa-structalias.c (make_restrict_var_constraints): Replace - make_copy_constraint call with make_constraint_from call. - -2015-11-02 Andreas Tobler - - * config/rs6000/freebsd64.h (ASM_SPEC32): Adust spec to handle - PIE executables. - -2015-11-02 Richard Sandiford - - * 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 - - * config/arm/neon-testgen.ml (emit_epilogue): Remove extraneous - brackets and semicolon. - -2015-11-02 Alan Lawrence - - Revert: - 2015-10-27 Alan Lawrence - - PR tree-optimization/65963 - * tree-scalar-evolution.c (interpret_rhs_expr): Handle some - LSHIFT_EXPRs as equivalent MULT_EXPRs. - -2015-11-02 Thomas Schwinge - - PR middle-end/68166 - * fold-const.c: Include "md5.h". - -2015-11-01 Jeff Law - - * vmsdbgout.c: Revert unused header file reduction patch. - - * config/mcore/mcore.c: Include regs.h. - -2015-10-31 Segher Boessenkool - - * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Rewrite. - -2015-10-31 Segher Boessenkool - - * 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 - - * ggc-common.c: Restore needed header for checking=release. - -2015-10-31 Tom de Vries - - * fold-const.c (fold_unary_loc): Tune POINTER_PLUS_EXPR folding. - -2015-10-31 Tom de Vries - - * tree-ssa-structalias.c (intra_create_variable_infos): Don't expect - existing varinfo for arguments. - -2015-10-31 Tom de Vries - - * 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 - - * 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 - - * tree-ssa-structalias.c (ipa_pta_execute): Use make_copy_constraint. - -2015-10-30 Jeff Law - Nathan Sidwell - - * config/nvptx/nvptx.h (HARD_REGNO_NREGS): Avoid warning on unused - args. - (MOVE_MAX): Set to 8. - -2015-10-30 Cesar Philippidis - - * cgraph.c: Include context.h for offloading. - * varpool.c: Include context.h and omp-low.h. - -2015-10-30 Anatoly Sokolov - - * 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 - - * 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 - - * 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 - - 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 - - * config/arm/neon-testgen.ml: Fix comment typo. - -2015-10-30 Kyrylo Tkachov - - * rtlanal.c (reg_set_p): Expand function comment. - -2015-10-30 Andrew MacLeod - - * 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 - - * doc/invoke.texi (fdump-rtl-@var{pass}): Clarify relationship - between pass numbering and execution order. - -2015-10-30 Kyrylo Tkachov - - * config/arm/arm.c (cortex_a9_sched_adjust_cost): Use reg_set_p to - check for dependencies. - -2015-10-30 Richard Sandiford - - * tree-ssa-math-opts.c (pass_cse_sincos::execute): Don't free - CDI_DOMINATORS. - -2015-10-30 Richard Sandiford - - * 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 - - * 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 - - * real.h (REAL_MODE_FORMAT): Abort if the mode isn't a - SCALAR_FLOAT_MODE_P. - -2015-10-30 Alan Lawrence - - * 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 - - * 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 - - * 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 - - * 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_insn): Change the types of "mov %0, {-1,1}" to - "mov_imm". - (*cmovsi_insn_uxtw): Likewise. - -2015-10-30 Tom de Vries - - * 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 - - * 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 - - * config/sh/sh.opt (mfdpic): Add missing period. - -2015-08-29 Anatoly Sokolov - - * 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 - - * 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 - - * 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 - - * lra-constraints.c (process_address_1): Handle (mem:BLK (scratch)) - by ignoring it. - -2015-10-29 Richard Henderson - - 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 - - * 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. - (signbit2): FLOAT128_IBM_P condition test moved into IBM128 - iterator. - (neg2): 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. - (neg2_internal): Likewise. - (abs2): Likewise. - (abstf2_internal): Likewise. - (abs2_internal): Likewise. - (ieee_128bit_neg2): Likewise. - (ieee_128bit_neg2_internal): Likewise. - (ieee_128bit_abs2): Likewise. - (ieee_128bit_abs2_internal): Likewise. - (ieee_128bit_nabs2): Likewise. - (ieee_128bit_nabs2_internal): Likewise. - (extendiftf2): Add explicit conversions between 128-bit floating - point types. Drop the old conversions that had become unwieldy. - (extend2): Likewise. - (extendifkf2): Likewise. - (trunc2): Likewise. - (extendtfkf2): Likewise. - (fix_trunc2): Likewise. - (trunciftf2): Likewise. - (fixuns_trunc2): Likewise. - (truncifkf2): Likewise. - (float2): Likewise. - (trunckftf2): Likewise. - (floatuns2): 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. - (extenddf2): Likewise. - (extenddftf2_fprs): Likewise. - (extenddf2_fprs): Likewise. - (extenddftf2_vsx): Likewise. - (extenddf2_vsx): Likewise. - (extendsftf2): Likewise. - (extendsf2): Likewise. - (trunctfdf2): Likewise. - (truncdf2): Likewise. - (trunctfdf2_internal1): Likewise. - (truncdf2_internal1): Likewise. - (trunctfdf2_internal2): Likewise. - (truncdf2_internal2): Likewise. - (trunctfsf2): Likewise. - (truncsf2): Likewise. - (trunctfsf2_fprs): Likewise. - (truncsf2_fprs): Likewise. - (floatsit2f): Likewise. - (floatsi2): Likewise. - (fix_trunc_helper): Likewise. - (fix_trunc_helper): Likewise. - (fix_trunctfsi2): Likewise. - (fix_truncsi2): Likewise. - (fix_trunctfsi2_fprs): Likewise. - (fix_truncsi2_fprs): Likewise. - (fix_trunctfsi2_internal): Likewise. - (fix_truncsi2_internal): Likewise. - (fix_trunctfdi2): Likewise. - (fix_truncdi2): Likewise. - (fixuns_trunctf2): Likewise. - (fixuns_trunc2): Likewise. - (floatditf2): Likewise. - (floatdi2): Likewise. - (floatunstf2): Likewise. - (floatuns): Likewise. - (cmptf_internal1): Use a mode iterator to add support for both - types (IFmode, TFmode) that support IBM extended double. - (cmp_internal1): Likewise. - (cmptf_internal2): Likewise. - (cmp_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 - - * 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=. - - * 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 - - * 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 - - 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 - - * fold-const.c (fold_unary_loc): Remove folding inhibition for restrict - types. - -2015-10-29 Nathan Sidwell - - * omp-low.c (lower_omp_target): Remove unreachable code & merge - ifs. - -2015-10-29 Marc Glisse - - * match.pd (X-(X/Y)*Y): Properly handle conversions and commutativity. - -2015-10-29 Richard Sandiford - - * tree-call-cdce.c (shrink_wrap_one_built_in_call): Remove - guard_bb0 and use guard_bb throughout. - -2015-10-29 Richard Sandiford - - * tree-call-cdce.c (shrink_wrap_one_built_in_call): Remove - unnecessary label. - -2015-10-29 Richard Biener - - PR middle-end/68142 - * fold-const.c (extract_muldiv_1): Avoid introducing undefined - overflow. - -2015-10-29 Andrew MacLeod - - * 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 - - * 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 - - 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 - - * gimple-match-head.c (gimple_simplify): Remove premature checking - of builtin_decl_implicit of function calls we simplify. - -2015-10-29 Bin Cheng - - * 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 - - * tree-ssa-structalias.c (intra_create_variable_infos): Remove - superfluous code. - -2015-10-28 Jason Merrill - - * Makefile.in (TAGS): Include libcpp and libiberty. - -2015-10-28 Nathan Sidwell - - * 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 - - * tree-eh.c (mark_reachable_handlers): Fix typo in assert. - -2015-10-05 Senthil Kumar Selvaraj - - 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 - - * fold-const.c (operand_equal_p): Do not verify that types are - compatible for MEM_REFs. - -2015-10-28 Richard Biener - - * gimple-match-head.c (gimple_simplify): Allow VECTOR_CSTs - in simplifying VEC_COND_EXPR conditions. - -2015-10-28 Tom de Vries - - * tree-ssa-structalias.c (intra_create_variable_infos): Don't iterate - into vi_next of a full_var. - -2015-10-28 Tom de Vries - - * 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 - - * config/aarch64/aarch64.md (call, call_value, sibcall): Handle noplt. - (sibcall_value): Likewise. - -2015-10-28 Nathan Sidwell - - * 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, unpacksi2, packsi2): New. - (worker_load, worker_store): 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 - - * 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 - - 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 - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * omp-low.c (oacc_init_rediction_array): New. - (oacc_initialize_reduction_data): Initialize array. - -2015-10-27 Nathan Sidwell - - * omp-low.c (pass_oacc_device_lower::execute): Ignore errors. - -2015-10-27 Nathan Sidwell - - * 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 - - 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 - - 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 - - * config/aarch64/aarch64.c (aarch64_output_simd_mov_immediate): - Handle floating point inner modes properly. - -2015-10-27 Alan Hayward - - * tree-vect-looop.c - (vectorizable_live_operation): Change iterator. - -2015-10-27 Abderrazek Zaafrani - Aditya Kumar - - * 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. - (optimize_isl): Call the new function get_schedule_map_st for isl-0.15 - -2015-10-27 H.J. Lu - - PR target/67215 - * calls.c (prepare_call_address): Don't handle -fno-plt here. - * config/i386/i386.c (ix86_expand_call): Generate indirect call - via GOT for -fno-plt. Support indirect call via GOT for x32. - * config/i386/predicates.md (sibcall_memory_operand): Allow - GOT memory operand. - -2015-10-27 Richard Biener - - PR tree-optimization/68104 - * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Move - strided access check ... - (vect_compute_data_refs_alignment): ... here. - -2015-10-27 Daniel Jacobowitz - Joseph Myers - Mark Shinwell - Andrew Stubbs - Rich Felker - - * config.gcc: Handle --enable-fdpic. - * config/sh/constraints.md (Ccl): New constraint. - * config/sh/linux.h (SUBTARGET_LINK_EMUL_SUFFIX): Handle -mfdpic. - * config/sh/sh-c.c (sh_cpu_cpp_builtins): Add __FDPIC__ and - __SH_FDPIC__. - * config/sh/sh-mem.cc (expand_block_move): Support FDPIC for calls to - library functions. - * config/sh/sh-protos.h (function_symbol_result): New struct. - (function_symbol): Return function_symbol_result. - (sh_get_fdpic_reg_initial_val, sh_load_function_descriptor): New - declarations. - * config/sh/sh.c (TARGET_ASM_INTEGER, sh_assemble_integer): Implement - target hook. - (TARGET_CANNOT_FORCE_CONST_MEM, sh_cannot_force_const_mem_p): Likewise. - (sh_option_override): Force -fPIC if FDPIC is in effect. - (sh_asm_output_addr_const_extra): Add UNSPEC_GOTFUNCDESC and - UNSPEC_GOTOFFFUNCDESC cases. - (prepare_move_operands): Use FDPIC initial GOT register for - TLS-related GOT access; inhibit cross-section address offset constants - for FDPIC. - (sh_assemble_integer): New function. - (sh_cannot_copy_insn_p): Inhibit copying insns that are FDPIC - PC-relative call sites. - (expand_ashiftrt): Adapt invocation of function_symbol. - (sh_expand_prologue): Inhibit PC-relative GOT address load for FDPIC. - (nonpic_symbol_mentioned_p): Add cases for UNSPEC_GOTFUNCDESC and - UNSPEC_GOTOFFFUNCDESC. - (legitimize_pic_address): Resolve function symbols to function - descriptors for FDPIC. Do not use GOT-relative addressing for local - data that may be read-only on FDPIC. - (sh_emit_storesi, sh_emit_storehi): New functions. - (sh_trampoline_init): Generate FDPIC trampolines. - (sh_function_ok_for_sibcall): Add TARGET_FDPIC check. - (sh_expand_sym_label2reg): Don't assume sibcalls are local. - (sh_output_mi_thunk): Generate FDPIC call. - (function_symbol): Return function_symbol_result. For SFUNC_STATIC on - FDPIC, generate call site labels to use PC-relative addressing rather - than GOT-relative addressing. - (sh_conditional_register_usage): Make PIC register fixed and call used - when FDPIC is in effect. - (sh_legitimate_constant_p): Impose FDPIC constant constraints. - (sh_cannot_force_const_mem_p, sh_load_function_descriptor, - sh_get_fdpic_reg_initial_val): New functions. - * config/sh/sh.h (SUBTARGET_ASM_SPEC, SUBTARGET_LINK_EMUL_SUFFIX): - Handle -mfdpic. - (FDPIC_SELF_SPECS, SUBTARGET_DRIVER_SELF_SPECS, - PIC_OFFSET_TABLE_REG_CALL_CLOBBERED, - SH_OFFSETS_MUST_BE_WITHIN_SECTIONS_P): New macros. - (DRIVER_SELF_SPECS): Add SUBTARGET_DRIVER_SELF_SPECS and - FDPIC_SELF_SPECS. - (TRAMPOLINE_SIZE): Select trampoline size for FDPIC. - (ASM_PREFERRED_EH_DATA_FORMAT): Add EH format constraints for FDPIC. - (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Handle FDPIC case. - * config/sh/sh.md (UNSPEC_GOTFUNCDESC, UNSPEC_GOTOFFFUNCDESC): New - constants. - (calli_fdpic, call_valuei_fdpic, sibcalli_fdpic, sibcalli_pcrel_fdpic, - sibcall_pcrel_fdpic, sibcall_valuei_fdpic, sibcall_valuei_pcrel_fdpic, - sibcall_value_pcrel_fdpic, sym2GOTFUNCDESC, symGOTFUNCDESC2reg, - sym2GOTOFFFUNCDESC, symGOTOFFFUNCDESC2reg): New patterns. - (udivsi3_i1, udivsi3_i4, udivsi3_i4_single, udivsi3, - *divsi_inv_call_combine, divsi3_i4, divsi3_i4_single, divsi3, ashlsi3, - ashlsi3_d_call, ashrsi3_n, lshrsi3, lshrsi3_d_call, calli, call_valuei, - call, call_value, sibcalli, sibcalli_pcrel, sibcall_pcrel, sibcall, - sibcall_valuei, sibcall_valuei_pcrel, sibcall_value_pcrel, - sibcall_value, GOTaddr2picreg, symGOT_load, symGOTOFF2reg, - block_move_real, block_lump_real, block_move_real_i4, - block_lump_real_i4): Add support for FDPIC calls. - (mulsi3, ic_invalidate_line, initialize_trampoline, call_pop, - call_value_pop): Adjust for new function_symbol signature. - * config/sh/sh.opt (-mfdpic): New option. - * doc/install.texi (Options specification): Document --enable-fdpic. - * doc/invoke.texi (SH Options): Document -mfdpic. - - -2015-10-27 Alan Lawrence - - PR tree-optimization/65963 - * tree-scalar-evolution.c (interpret_rhs_expr): Handle some - LSHIFT_EXPRs as equivalent MULT_EXPRs. - -2015-10-27 Kyrylo Tkachov - - PR target/67929 - * config/arm/arm.c (vfp3_const_double_for_bits): Rewrite. - * config/arm/constraints.md (Dp): Update callsite. - * config/arm/predicates.md (const_double_vcvt_power_of_two): Likewise. - -2015-10-27 Richard Sandiford - - * builtins.c (fold_builtin_load_exponent): Rename to... - (fold_const_builtin_load_exponent): ...this and only handle - constant arguments. - (fold_builtin_2): Update accordingly. - * match.pd: Add rules previously handled by fold_builtin_load_exponent. - -2015-10-27 Richard Sandiford - - * builtins.c (fold_builtin_logb): Rename to... - (fold_const_builtin_logb): ...this and remove STRIP_NOPS call. - (fold_builtin_significand): Rename to... - (fold_const_builtin_significand): ...this and remove STRIP_NOPS call. - (fold_builtin_1): Update accordingly. - -2015-10-27 Richard Sandiford - - * builtins.c (fold_builtin_fmin_fmax): Delete. - (fold_builtin_2): Handle constant fmin and fmax arguments here. - * match.pd: Add rules previously handled by fold_builtin_fmin_fmax. - -2015-10-27 Evandro Menezes - - * config/aarch64/aarch64-protos.h (cpu_addrcost_table): Split member - for register extension into sign and zero register extension. - * config/aarch64/aarch64.c (generic_addrcost_table): Infer values - for sign and zero register extension. - (cortexa57_addrcost_table): Likewise. - (xgene1_addrcost_table): Likewise. - -2015-10-27 Richard Sandiford - - * fold-const.c (fold_minmax): Delete. - (fold_binary_loc): Don't call it. - * match.pd: Add rules previously handled by fold_minmax. - -2015-10-27 Richard Sandiford - - * builtins.c (fold_builtin_fma): Remove constant handling. - (fold_builtin_3): Handle constant fma arguments here. - -2015-10-27 Richard Sandiford - - * builtins.c (fold_builtin_fabs): Remove constant handling. - (fold_builtin_abs): Likewise. - -2015-10-27 Richard Sandiford - - * builtins.c (fold_builtin_copysign): Delete. - (fold_builtin_2): Handle constant copysign arguments here. - * match.pd: Add rules previously handled by fold_builtin_copysign. - -2015-10-27 Richard Sandiford - - * builtins.c (fold_builtin_signbit): Delete. - (fold_builtin_2): Handle constant signbit arguments here. - * match.pd: Add rules previously handled by fold_builtin_signbit. - -2015-10-27 Richard Sandiford - - * match.pd: Handle sqrt(x) cmp 0 specially. - -2015-10-27 Ilya Enkovich - - * tree-vect-generic.c (expand_vector_operations_1): Check - optab type before using it. - -2015-10-27 Kyrylo Tkachov - - * config/aarch64/aarch64-protos.h - (struct tune_params): Add autoprefetcher_model field. - * config/aarch64/aarch64.c: Include params.h - (generic_tunings): Specify autoprefetcher_model value. - (cortexa53_tunings): Likewise. - (cortexa57_tunings): Likewise. - (cortexa72_tunings): Likewise. - (thunderx_tunings): Likewise. - (xgene1_tunings): Likewise. - (aarch64_first_cycle_multipass_dfa_lookahead_guard): New function. - (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define. - (aarch64_override_options_internal): Set - PARAM_SCHED_AUTOPREF_QUEUE_DEPTH param. - -2015-10-27 Richard Sandiford - - * builtins.c (fold_builtin_exponent): Delete. - (fold_builtin_2): Handle constant expN arguments here. - * match.pd: Fold expN(logN(x)) -> x. - -2015-10-27 Richard Sandiford - - * builtins.c (fold_builtin_powi): Delete. - (fold_builtin_2): Handle constant powi arguments here. - * match.pd: Add rules previously handled by fold_builtin_powi. - -2015-10-27 Richard Sandiford - - * builtins.c (fold_builtin_pow): Delete in favor of... - (fold_const_builtin_pow): ...this new function. Only handle constant - arguments. - (fold_builtin_2): Update accordingly. - * match.pd: Add rules previously handled by fold_builtin_pow. - -2015-10-27 Richard Sandiford - - * builtins.c (fold_builtin_hypot): Delete. - (fold_builtin_2): Handle constant hypot arguments here. - * match.pd: Fold hypot(x, 0) and hypot(0, x) to x. Canonicalize - hypot(x, x) to fabs(x)*sqrt(2). - -2015-10-27 Richard Sandiford - - * gimple-match-head.c (maybe_push_res_to_seq): Use create_tmp_reg - instead of make_ssa_name if not yet in SSA form. - -2015-10-27 Richard Biener - - * cfg.c (free_edge): Add function argument and use it instead of cfun. - (clear_edges): Likewise. - * cfg.h (clear_edges): Adjust prototype. - * cfgexpand.c (pass_expand::execute): Adjust. - * cfgloop.c (release_recorded_exits): Add function argument and use - it instead of cfun. - * cfgloop.h (release_recorded_exits): Adjust prototype. - (loops_state_satisfies_p): Add overload with function argument. - (loops_state_set): Likewise. - (loops_state_clear): Likewise. - (struct loop_iterator): Add function argument to constructor - and iterator and use it instead of cfun. - (FOR_EACH_LOOP_FN): New macro. - (loop_optimizer_finalize): Add overload with function argument. - * loop-init.c (loop_optimizer_init): Adjust. - (fix_loop_structure): Likewise. - (loop_optimizer_finaliz): Add function argument and use it - instead of cfun. - * tree-cfg.c (delete_tree_cfg_annotations): Likewise. - * tree-cfg.h (delete_tree_cfg_annotations): Adjust prototype. - * cgraph.c (release_function_body): Do not push/pop cfun. - * final.c (rest_of_clean_state): Adjust. - * graphite.c (graphite_finalize): Likewise. - * tree-ssa-copy.c (fini_copy_prop): Likewise. - * tree-ssa-dce.c (perform_tree_ssa_dce): Likewise. - * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables): Likewise. - (tree_unroll_loops_completely): Likewise. - (pass_complete_unrolli::execute): Likewise. - * tree-ssa-loop-niter.c (free_numbers_of_iterations_estimates): - Add function argument and use it instead of cfun. - * tree-ssa-loop-niter.h (free_numbers_of_iterations_estimates): - Adjust prototype. - * tree-ssa-loop.c (tree_ssa_loop_done): Adjust. - * tree-ssa.c (delete_tree_ssa): Add function argument and use it - instead of cfun. - * tree-ssa.h (delete_tree_ssa): Adjust prototype. - * tree-ssanames.c (fini_ssanames): Add function argument and use it - instead of cfun. - * tree-ssanames.c (fini_ssanames): Adjust prototype. - * tree-vrp.c (execute_vrp): Adjust. - * value-prof.c (free_histograms): Add function argument and use it - instead of cfun. - * value-prof.h (free_histograms): Adjust prototype. - -2015-10-27 Thomas Schwinge - - * tree.h (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES) - (OACC_KERNELS_BODY, OACC_KERNELS_CLAUSES, OACC_KERNELS_COMBINED) - (OACC_PARALLEL_COMBINED): Don't define macros. Adjust all users. - -2015-10-27 Tom de Vries - - * tree-ssa-structalias.c (push_fields_onto_fieldstack): Add and use var - field_type. - -2015-10-27 Bin Cheng - - * loop-invariant.c (struct def): New field can_prop_to_addr_uses. - (inv_can_prop_to_addr_use): New function. - (record_use): Call can_prop_to_addr_uses, set the new field. - (get_inv_cost): Count cost if inv can't be propagated into its - address uses. - -2015-10-26 Doug Evans - - * config/linux.h (INCLUDE_DEFAULTS): Add INCLUDE_DEFAULTS_MUSL_LOCAL. - -2015-10-26 Eric Botcazou - - * match.pd (fold_widened_comparison): Apply simplifications to all - integral types. - -2015-10-26 Simon Dardis - - * target.def (TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P): New hook. - * doc/tm.texi.in (TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P): Document. - * doc/tm.texi: Regenerated. - * reorg.c (dbr_schedule): Use new hook. - * config/mips/mips.c (mips_no_speculation_in_delay_slots_p): New. - -2015-10-26 Jeff Law - - PR tree-optimization/68013 - * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths): - Make sure the first block in the path is in VISITED_BBs. - -2015-10-26 Richard Biener - Dominik Vogt - - PR middle-end/67443 - * alias.c (ao_ref_from_mem): Remove promoted subreg handling. - Properly prune ref->ref for accesses outside of ref. - -2015-10-26 Richard Sandiford - - * gimple-fold.c (replace_stmt_with_simplification): Don't allow - new statements to be inserted if inplace. Allow calls to have - nonempty sequences. - -2015-10-26 Richard Biener - - * tree-object-size.c: Remove builtins.h include, include tree-cfg.h. - (do_valueize): New function. - (pass_object_sizes::execute): Use gimple_fold_stmt_to_constant and - replace_uses_by. - * tree-ssa-threadedge.c: Remove builtins.h include, include - gimple-fold.h - (fold_assignment_stmt): Remove. - (threadedge_valueize): New function. - (record_temporary_equivalences_from_stmts): Use - gimple_fold_stmt_to_constant_1, note additional cleanup - opportunities. - -2015-10-26 Richard Biener - - * match.pd ((A & ~B) - (A & B) -> (A ^ B) - B): Add missing :c. - ( (X & ~Y) | (~X & Y) -> X ^ Y): Remove redundant :c. - -2015-10-26 Alan Hayward - - * tree-vect-loop.c (vect_create_epilog_for_reduction): Fix - VEC_COND_EXPR types. - -2015-10-26 Kyrylo Tkachov - - * auto-inc-dec.c (insert_move_insn_before): Delete. - (attempt_change): Remember to cost the simple move in the - FORM_PRE_ADD and FORM_POST_ADD cases. - -2015-10-26 Kaz Kojima - - PR target/68091 - * config/sh/sh.c (sh_vector_mode_supported_p): Use - TARGET_SHMEDIA_FPU instead of TARGET_FPU_ANY. - -2015-10-26 Tom de Vries - - * tree-ssa-structalias.c (make_restrict_var_constraints): New function, - factored out of ... - (intra_create_variable_infos): ... here. - -2015-10-26 Tom de Vries - - * tree-ssa-structalias.c (intra_create_variable_infos): Add - restrict_pointer_p and recursive_restrict_p variables. - -2015-10-26 Tom de Vries - - * tree-ssa-structalias.c (intra_create_variable_infos): Inline - get_vi_for_tree call. - -2015-10-26 Kyrylo Tkachov - - PR middle-end/67989 - * optabs.c (expand_atomic_compare_and_swap): Handle case when - ptarget_oval or ptarget_bool are const0_rtx. - -2015-10-26 Christian Bruel - - * function.h (MINIMUM_METHOD_BOUNDARY): New macro. - * cp/decl.c (grokfndecl): Set DECL_ALIGN with MINIMUM_METHOD_BOUNDARY. - * cp/method.c (implicitly_declare_fn): Likewise. - * cp/lambda.c (maybe_add_lambda_conv_op): Likewise. Remove VBIT setting. - * java/class.c (add_method_1): Likewise. - -2015-10-26 Richard Biener - - * alloc-pool.h (base_pool_allocator): Use placement new. - (base_pool_allocator::remove): Likewise. Compute size outside of - flag_checking. - -2015-10-26 Richard Sandiford - - * builtins.c (do_real_to_int_conversion): New function. - (fold_fixed_mathfn, fold_builtin_int_roundingfn): Delete. - (fold_builtin_1): Handle constant {i,l,ll}{ceil,floor,round}{f,,l} - arguments here. - * match.pd: Add rules previously handled by fold_fixed_mathfn - and fold_builtin_int_roundingfn. - -2015-10-26 Richard Sandiford - - * match.pd: Use macros to define built-in operator lists. - -2015-10-20 Richard Sandiford - Richard Biener - - * genmatch.c (dt_simplify::gen): Skip captures that are - part of the result. - (parser::parse_expr): Allow captures in results too. - * builtins.c (fold_builtin_cexp): Delete. - (fold_builtin_1): Handle constant cexp arguments here. - * match.pd: Fold cexp(x+yi) to exp(x) * cexpi(y). - -2015-10-26 Mikhail Maltsev - - * alloc-pool.h (base_pool_allocator::initialize, ::allocate): Remove - conditional compilation. - (base_pool_allocator::remove): Use flag_checking. - -2015-10-25 John David Anglin - - * config/pa/som.h (EH_FRAME_THROUGH_COLLECT2): Define. - - PR middle-end/68079 - * dojump.c (do_compare_and_jump): Canonicalize both function and - method types. - -2015-10-25 Uros Bizjak - - PR target/68084 - * config/i386/i386.c (ix86_md_asm_adjust) [case 'a']: Use NE code - for =@ccae. - -2015-10-23 Jan Hubicka - - PR ipa/pr67600 - * ipa-polymorphic-call.c - (ipa_polymorphic_call_context::get_dynamic_type): Do not confuse - instance offset with offset of outer type. - -2015-10-23 Jan Hubicka - - * fold-const.c (operand_equal_p): Handle VIEW_CONVERT_EXPR. - -2015-10-23 Caroline Tice - - (from Richard Biener - * tree.c (int_cst_hasher::hash): Replace XOR with more efficient - call to iterative_hash_host_wide_int. - -2015-10-23 David Edelsohn - - * config.gcc (powerpc-ibm-aix[6789]) [default_use_cxa_atexit]: - Define as yes. - -2015-10-23 Ilya Enkovich - - * tree-vect-generic.c (expand_vector_operations_1): Check - optab exists before use it. - -2015-10-23 Ilya Enkovich - - * tree-vect-generic.c (expand_vector_condition): Avoid - uninitialized variable warning. - -2015-10-23 Jeff Law - - * passes.c (execute_function_todo): Do not call flush_ssaname_freelist - here. Instead... - (execute_todo): Call it here. - * tree-ssanames.c (make_ssa_name_fn): Unconditionally gather reuse - statistics - (pass_release_ssa_names::execute): Do not call flusH_ssaname_freelist. - -2015-10-23 Gregor Richards - Szabolcs Nagy - - * config.gcc (enable_secureplt): Add *-linux*-musl*. - -2015-10-23 Jeff Law - - PR tree-optimization/67830 - * match.pd ((bit_and (plus/minus (convert @0) (convert @1)) mask)): - Explicitly verify the mask has no bits outside the type of - the innermost operands. - -2015-10-23 Gregor Richards - Szabolcs Nagy - - * config/rs6000/linux64.h (MUSL_DYNAMIC_LINKER32): Define. - (MUSL_DYNAMIC_LINKER64): Define. - (GNU_USER_DYNAMIC_LINKER32): Update. - (GNU_USER_DYNAMIC_LINKER64): Update. - (CHOOSE_DYNAMIC_LINKER): Update. - - * config/rs6000/sysv4.h (GNU_USER_DYNAMIC_LINKER): Update. - (MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER_E,) - (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,) - (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,) - (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define. - (CHOOSE_DYNAMIC_LINKER): Update. - (INCLUDE_DEFAULTS): Redefine. - - * config/rs6000/sysv4le.h (MUSL_DYNAMIC_LINKER_E): Define. - -2015-10-23 Jan Hubicka - - * fold-const.c (operand_equal_p): Do not compare TYPE_MODE when - comparing addresses. - -2015-10-23 Jan Hubicka - - * fold-const.c (operand_equal_p): Handle matching of vector - constructors. - -2015-10-23 David Edelsohn - - * doc/install.texi (*-ibm-aix*): Additional information for AIX 7.1. - -2015-10-23 Steve Ellcey - Andrew Pinski - - PR rtl-optimization/67736 - * combine.c (simplify_comparison): Use gen_lowpart_or_truncate instead - of gen_lowpart. - -2015-10-23 Ilya Enkovich - - PR middle-end/68066 - * tree.c (build_truth_vector_type): Support BLK mode - returned for boolean vector. - -2015-10-23 Alan Hayward - - PR tree-optimization/65947 - * tree-vect-loop.c - (vect_is_simple_reduction_1): Find condition reductions. - (vect_model_reduction_cost): Add condition reduction costs. - (get_initial_def_for_reduction): Add condition reduction initial var. - (vect_create_epilog_for_reduction): Add condition reduction epilog. - (vectorizable_reduction): Condition reduction support. - * tree-vect-stmts.c (vectorizable_condition): Add vect reduction arg - * doc/sourcebuild.texi (Vector-specific attributes): Document - vect_max_reduc - -2015-10-23 Richard Biener - - * Makefile.in (build/genmatch.o): Properly depend on is-a.h, tree.def - and builtins.def. - -2015-10-23 Richard Biener - Naveen H.S - - * fold-const.c (fold_binary_loc) : Move Fold (A & ~B) - (A & B) - into (A ^ B) - B to match.pd - Move (X & ~Y) | (~X & Y) is X ^ Y to match.pd. - - * match.pd (minus (bit_and:cs @0 (bit_not @1)) (bit_and:s @0 @1)): - New simplifier. - (minus (bit_and:s @0 INTEGER_CST@2) (bit_and:s @0 INTEGER_CST@1)): - New simplifier. - (minus (bit_and:s @0 @1) (bit_and:cs @0 (bit_not @1))): - New simplifier. - (bit_ior:c (bit_and:c @0 (bit_not @1)) (bit_and:c (bit_not @0) @1)): - New simplifier. - (bit_ior:c (bit_and @0 INTEGER_CST@2) (bit_and (bit_not @0) - INTEGER_CST@1)): New simplifier. - -2015-10-23 Richard Sandiford - - * builtins.c (integer_valued_real_p): Move to fold-const.c. - (fold_trunc_transparent_mathfn, fold_builtin_trunc, fold_builtin_floor) - (fold_builtin_ceil, fold_builtin_round): Delete. - (fold_builtin_1): Handle constant trunc, floor, ceil and round - arguments here. - * convert.c (convert_to_real): Remove narrowing of rounding - functions. - * fold-const.h (integer_valued_real_unary_p) - (integer_valued_real_binary_p, integer_valued_real_call_p) - (integer_valued_real_single_p, integer_valued_real_p): Declare. - * fold-const.c (tree_single_nonnegative_warnv_p): Move - name_registered_for_update_p check to SSA_NAME case statement. - Don't call tree_simple_nonnegative_warnv_p for SSA names. - (integer_valued_real_unary_p, integer_valued_real_binary_p) - (integer_valued_real_call_p, integer_valued_real_single_p) - (integer_valued_real_invalid_p): New functions. - (integer_valued_real_p): Move from fold-const.c and rework - to call the functions above. Handle SSA names. - * gimple-fold.h (gimple_stmt_integer_valued_real_p): Declare. - * gimple-fold.c (gimple_assign_integer_valued_real_p) - (gimple_call_integer_valued_real_p, gimple_phi_integer_valued_real_p) - (gimple_stmt_integer_valued_real_p): New functions. - * match.pd: Fold f(f(x))->f(x) for fp->fp rounding functions f. - Fold f(x)->x for the same f if x is known to be integer-valued. - Fold f(extend(x))->extend(f'(x)) if doing so doesn't affect - the result. Canonicalize floor(x) as trunc(x) if x is - nonnegative. - -2015-10-23 Tom de Vries - - * tree-ssa-structalias.c (intra_create_variable_infos): Use - make_constraint_from. - -2015-10-23 Tom de Vries - - * tree-ssa-structalias.c (create_variable_info_for_1): Add missing - setting of is_full_var in case of a single field. - -2015-10-22 Martin Sebor - - PR driver/68043 - * config/i386/i386.opt: Add missing periods to the ends of sentences. - * config/msp430/msp430.opt: Same. - -2015-10-21 David Wohlferd - - * doc/extend.exp (Global Register Variables): Rewrite. - -2015-10-22 Jeff Law - - * genattrtab.c (main): If we do not have any annul-true or annul-false - slots, then write out a dummy eligible_for_annul_true or - eligible_for_annul_false as needed. - -2015-10-22 Nick Clifton - - * config/msp430/msp430.opt: Add -msilicon-errata and - -msilicon-errata-warn. - * config/msp430/msp430.h (ASM_SPEC): Pass new options on to - assembler. - * doc/invoke.texi: Document new options. - -2015-10-22 Richard Biener - - PR tree-optimization/58497 - * tree-vect-generic.c (ssa_uniform_vector_p): New helper. - (expand_vector_operations_1): Use it. Lower operations on - all uniform vectors to scalar operations if the HW supports it. - -2015-10-22 Richard Biener - - PR tree-optimization/19049 - PR tree-optimization/65962 - * tree-vect-data-refs.c (vect_analyze_group_access_1): Fall back - to strided accesses if single-element interleaving doesn't work. - -2015-10-22 Richard Biener - - PR middle-end/68046 - PR middle-end/61893 - * optabs.c (emit_libcall_block_1): Allow a NULL_RTX equiv. - (expand_binop): For -ftrapv optabs do not record an REG_EQUAL note. - (expand_unop): Likewise. - -2015-10-22 Richard Biener - - * fold-const.c (fold_addr_of_array_ref_difference): Properly - convert operands before folding a MINUS_EXPR. - (fold_binary_loc): Move simplification of MINUS_EXPR on - converted POINTER_PLUS_EXPRs ... - * match.pd: ... here. - -2015-10-22 Richard Sandiford - - * builtins.c (fold_builtin_tan): Delete. - (fold_builtin_1): Handle constant tan arguments here. - * match.pd: Simplify (tan (atan x)) to x. - -2015-10-22 Richard Sandiford - - * builtins.c (fold_builtin_cproj): Delete. - (fold_builtin_1): Handle constant arguments here. - (build_complex_cproj): Move and rename to... - * tree.c: (build_complex_inf): ...this. - * tree.h (build_complex_inf): Declare. - * match.pd: Fold cproj(x)->x if x has no infinity. - Use build_complex_inf for existing cproj rules. - -2015-10-22 Andreas Krebbel - - PR target/68015 - * config/s390/s390.md (movcc): Emit compare only if we don't - already have a comparison result. - -2015-10-22 Ramana Radhakrishnan - - PR target/63304 - * config/aarch64/aarch64.c (aarch64_nopcrelative_literal_loads): New. - (aarch64_expand_mov_immediate): Use aarch64_nopcrelative_literal_loads. - (aarch64_classify_address): Likewise. - (aarch64_secondary_reload): Likewise. - (aarch64_override_options_after_change_1): Adjust. - * config/aarch64/aarch64.md (aarch64_reload_movcp): - Use aarch64_nopcrelative_literal_loads. - (aarch64_reload_movcp): Likewise. - * config/aarch64/aarch64-protos.h (aarch64_nopcrelative_literal_loads): - Declare. - -2015-10-21 Martin Sebor - - PR driver/68043 - * opts.c (undocumented_msg, use_diagnosed_msg): New globals. - (print_filtered_help): Reference aliased option's name and encourage - readers to use it in preference to the alias if the former is not - documented. Mention when using an option is diagnosed. - * gcc.c (display_help): End each sentence with a period. - - * common.opt: End each sentence that describes an option with - a period. - * config/aarch64/aarch64.opt: Same. - * config/alpha/alpha.opt: Same. - * config/arc/arc.opt: Same. - * config/arm/arm.opt: Same. - * config/avr/avr.opt: Same. - * config/bfin/bfin.opt: Same. - * config/c6x/c6x.opt: Same. - * config/cr16/cr16.opt: Same. - * config/cris/cris.opt: Same. - * config/cris/linux.opt: Same. - * config/darwin.opt: Same. - * config/epiphany/epiphany.opt: Same. - * config/fr30/fr30.opt: Same. - * config/frv/frv.opt: Same. - * config/ft32/ft32.opt: Same. - * config/g.opt: Same. - * config/h8300/h8300.opt: Same. - * config/i386/cygming.opt: Same. - * config/i386/djgpp.opt: Same. - * config/i386/i386.opt: Same. - * config/i386/interix.opt: Same. - * config/i386/mingw-w64.opt: Same. - * config/i386/mingw.opt: Same. - * config/ia64/ia64.opt: Same. - * config/ia64/ilp32.opt: Same. - * config/iq2000/iq2000.opt: Same. - * config/linux.opt: Same. - * config/lm32/lm32.opt: Same. - * config/lynx.opt: Same. - * config/m32c/m32c.opt: Same. - * config/m32r/m32r.opt: Same. - * config/m68k/ieee.opt: Same. - * config/m68k/m68k.opt: Same. - * config/mcore/mcore.opt: Same. - * config/mep/mep.opt: Same. - * config/microblaze/microblaze.opt: Same. - * config/mips/mips.opt: Same. - * config/mmix/mmix.opt: Same. - * config/mn10300/mn10300.opt: Same. - * config/moxie/moxie.opt: Same. - * config/msp430/msp430.opt: Same. - * config/nios2/elf.opt: Same. - * config/nios2/nios2.opt: Same. - * config/nvptx/nvptx.opt: Same. - * config/pa/pa-hpux.opt: Same. - * config/pa/pa-hpux1010.opt: Same. - * config/pa/pa-hpux1111.opt: Same. - * config/pa/pa-hpux1131.opt: Same. - * config/pa/pa.opt: Same. - * config/pa/pa64-hpux.opt: Same. - * config/pdp11/pdp11.opt: Same. - * config/rl78/rl78.opt: Same. - * config/rs6000/476.opt: Same. - * config/rs6000/aix64.opt: Same. - * config/rs6000/darwin.opt: Same. - * config/rs6000/linux64.opt: Same. - * config/rs6000/rs6000.opt: Same. - * config/rs6000/sysv4.opt: Same. - * config/s390/s390.opt: Same. - * config/s390/tpf.opt: Same. - * config/sh/sh.opt: Same. - * config/sol2.opt: Same. - * config/sparc/long-double-switch.opt: Same. - * config/sparc/sparc.opt: Same. - * config/spu/spu.opt: Same. - * config/stormy16/stormy16.opt: Same. - * config/tilegx/tilegx.opt: Same. - * config/tilepro/tilepro.opt: Same. - * config/v850/v850.opt: Same. - * config/vax/vax.opt: Same. - * config/visium/visium.opt: Same. - * config/vms/vms.opt: Same. - * config/vxworks.opt: Same. - * config/xtensa/xtensa.opt: Same. - -2015-10-21 Aditya Kumar - Sebastian Pop - - * graphite-scop-detection.c (parameter_index_in_region): Update call to - invariant_in_sese_p_rec. - * graphite-sese-to-poly.c (extract_affine): Same. - * sese.c (invariant_in_sese_p_rec): Pass in an extra - parameter has_vdefs. - (scalar_evolution_in_region): Return chrec_dont_know when the scalar - variable depends on virtual definitions in the current region. - * sese.h (invariant_in_sese_p_rec): Update declaration. - -2015-10-21 Aditya Kumar - Sebastian Pop - - * graphite-scop-detection.c (build_scops): Do not handle scops - with more than PARAM_GRAPHITE_MAX_ARRAYS_PER_SCOP arrays. - * params.def (PARAM_GRAPHITE_MAX_ARRAYS_PER_SCOP): New. - -2015-10-21 Mikhail Maltsev - - * config.in: Regenerate. - * configure: Regenerate. - * configure.ac (CHECKING_P): Define. - * system.h: Use CHECKING_P. - -2015-10-11 Jan Hubicka - - PR ipa/67056 - * ipa-polymorphic-call.c (possible_placement_new): If cur_offset - is negative we don't know the type. - (check_stmt_for_type_change): Skip constructors of non-polymorphic - types as those won't help devirutalization. - -2015-10-11 Jan Hubicka - - * fold-const.c (operand_equal_p): Add code matching empty constructors. - -2015-10-21 Eric Botcazou - - * tree.def (CEIL_DIV_EXPR, FLOOR_DIV_EXPR, ROUND_DIV_EXPR): Tweak - comments. - (TRUNC_MOD_EXPR, CEIL_MOD_EXPR, FLOOR_MOD_EXPR, ROUND_MOD_EXPR): - Add comments on sign of the result. - * fold-const.c (tree_binary_nonnegative_warnv_p) : - Recurse on operand #1 instead of operand #0. - : Do not recurse. - : Likewise. - -2015-10-21 Trevor Saunders - - * cfgrtl.c (pass_free_cfg::execute): Adjust. - * final.c (dbr_sequence_length): Always define. - (shorten_branches): Adjust. - * genattr-common.c (main): Always define DELAY_SLOTS. - * genattr.c (main): Unconditionally declare functions and define - macros related to delay slots. - * genattrtab.c (write_eligible_delay): Adjust. - (main): Always write out delay slot functions. - * opts.c (default_options_table): Adjust. - * reorg.c (redirect_with_delay_slots_safe_p): Likewise. - (redirect_with_delay_list_safe_p): Likewise. - (fill_simple_delay_slots): Likewise. - (fill_slots_from_thread): Likewise. - (make_return_insns): Likewise. - (dbr_schedule): Likewise. - (rest_of_handle_delay_slots): Likewise. - (pass_delay_slots::gate): Likewise. - * toplev.c (process_options): Likewise. - -2015-10-21 Richard Henderson - - * targhooks.c (default_addr_space_pointer_mode): Remove check - for generic address space. - (default_addr_space_address_mode): Likewise. - (default_addr_space_valid_pointer_mode): Likewise. - (default_addr_space_legitimate_address_p): Likewise. - (default_addr_space_legitimize_address): Likewise. - * target.def (addr_space.pointer_mode): Update documentation - of default behavior. - (addr_space.address_mode): Likewise. - * tm.texi: Update. - - * expr.c (expand_expr_real_2): Use convert_modes on disjoint - address spaces. - -2015-10-21 Richard Sandiford - - * builtins.c (fold_builtin_cabs): Delete. - (fold_builtin_1): Update accordingly. Handle constant arguments here. - * match.pd: Add rules previously handled by fold_builtin_cabs. - -2015-10-21 Richard Sandiford - - * fold-const.h (fold_strip_sign_ops): Delete. - * fold-const.c (fold_strip_sign_ops): Likewise. - (fold_unary_loc, fold_binary_loc): Remove calls to it. - * builtins.c (fold_builtin_cos, fold_builtin_cosh) - (fold_builtin_ccos): Delete. - (fold_builtin_pow): Don't call fold_strip_sign_ops. - (fold_builtin_hypot, fold_builtin_copysign): Likewise. - Remove fndecl argument. - (fold_builtin_1): Update calls accordingly. Handle constant - cos, cosh, ccos and ccosh here. - -2015-10-21 Richard Sandiford - - * doc/invoke.texi (-fdump-tree-backprop, -fssa-backprop): Document. - * Makefile.in (OBJS): Add gimple-ssa-backprop.o. - * common.opt (fssa-backprop): New option. - * fold-const.h (negate_mathfn_p): Declare. - * fold-const.c (negate_mathfn_p): Make public. - * timevar.def (TV_TREE_BACKPROP): New. - * tree-pass.h (make_pass_backprop): Declare. - * passes.def (pass_backprop): Add. - * gimple-ssa-backprop.c: New file. - -2015-10-21 Aditya Kumar - Sebastian Pop - - * graphite-isl-ast-to-gimple.c (graphite_create_new_loop_guard): - Do not call create_empty_if_region_on_edge when cond_expr is true. - (translate_isl_ast_node_for): Check whether a guard has been generated. - -2015-10-21 Aditya Kumar - - * graphite-poly.h (struct dr_info): Added invalid_alias_set number. - (operator=): Removed. - (dr_info): Make alias_set number the last argument with default - value of invalid_alias_set. - * graphite-sese-to-poly.c (build_scop_drs): Update constructor - of dr_info. - (rewrite_reductions_out_of_ssa): Iterate only through the - basic blocks which are inside region. - (rewrite_cross_bb_scalar_deps_out_of_ssa): Same. - * sese.h (struct sese_l): Removed assignment operator. - (split_region_for_bb): Removed dead code. - -2015-10-21 Aditya Kumar - - * graphite-poly.h (struct dr_info): Removed conversion constructor. - (struct scop): Renamed scop::region to scop::scop_info - (scop_set_region): Same. - (SCOP_REGION): Removed - (SCOP_CONTEXT): Removed. - (POLY_SCOP_P): Removed. - * graphite-isl-ast-to-gimple.c (translate_isl_ast_node_user): - Rename scop->region to scop->scop_info. - (add_parameters_to_ivs_params): Same. - (graphite_regenerate_ast_isl): Same. - * graphite-poly.c (new_scop): Same. - (free_scop): Same. - (print_scop_params): Same. - * graphite-scop-detection.c (scop_detection::remove_subscops): Same. - (scop_detection::remove_intersecting_scops): Use pointer to sese_l. - (dot_all_scops_1): Rename scop->region to scop->scop_info. - (scop_detection::nb_pbbs_in_loops): Same. - (find_scop_parameters): Same. - (try_generate_gimple_bb): Same. - (gather_bbs::before_dom_children): Same. - (gather_bbs::after_dom_children): Same. - (build_scops): Same. - * graphite-sese-to-poly.c (build_scop_scattering): Same. - (extract_affine_chrec): Same. - (extract_affine): Same. - (set_scop_parameter_dim): Same. - (build_loop_iteration_domains): Same. - (create_pw_aff_from_tree): Same. - (add_param_constraints): Same. - (build_scop_iteration_domain): Same. - (build_scop_drs): Same. - (analyze_drs_in_stmts): Same. - (insert_out_of_ssa_copy_on_edge): Same. - (rewrite_close_phi_out_of_ssa):Same. - (rewrite_reductions_out_of_ssa):Same. - (handle_scalar_deps_crossing_scop_limits):Same. - (rewrite_cross_bb_scalar_deps):Same. - (rewrite_cross_bb_scalar_deps_out_of_ssa):Same. - (build_poly_scop):Same. - (build_alias_set): Use pointer to dr_info. - * graphite.c (print_graphite_scop_statistics): - (graphite_transform_loops): - * sese.h (struct sese_l): Remove conversion constructor. - -2015-10-11 Jan Hubicka - - PR middle-end/67966 - * tree.c (verify_type): Verify that TYPE_MODE match - between TYPE_CANONICAL and type. - * expr.c (store_expr_with_bounds): Revert my previous change. - * expmed.c (store_bit_field_1): Revert prevoius change. - * gimple-expr.c (useless_type_conversion_p): Require TYPE_MODE - to match for all types. - -2015-10-21 Nathan Sidwell - - * omp-low.c (check_omp_nesting_restrictions): Check OpenACC loop - nesting. - -2015-10-21 Ilya Enkovich - - * doc/tm.texi: Regenerated. - * doc/tm.texi.in (TARGET_VECTORIZE_GET_MASK_MODE): New. - * stor-layout.c (layout_type): Use mode to get vector mask size. - * target.def (get_mask_mode): New. - * targhooks.c (default_get_mask_mode): New. - * targhooks.h (default_get_mask_mode): New. - * tree-vect-stmts.c (get_same_sized_vectype): Add special case - for boolean vector. - * tree.c (MAX_BOOL_CACHED_PREC): New. - (nonstandard_boolean_type_cache): New. - (build_nonstandard_boolean_type): New. - (make_vector_type): Vector mask has no canonical type. - (build_truth_vector_type): New. - (build_same_sized_truth_vector_type): New. - (truth_type_for): Support vector masks. - * tree.h (VECTOR_BOOLEAN_TYPE_P): New. - (build_truth_vector_type): New. - (build_same_sized_truth_vector_type): New. - (build_nonstandard_boolean_type): New. - * tree-cfg.c (verify_gimple_comparison) Require boolean - vector type for vector comparison. - (verify_gimple_assign_ternary): Likewise. - * optabs.c (expand_vec_cond_expr): Accept boolean vector as - condition operand. - * tree-vect-stmts.c (vectorizable_condition): Use boolean - vector type for vector comparison. - * tree-vect-generic.c (elem_op_func): Add new operand to hold - vector type. - (do_unop): Adjust to modified function type. - (do_binop): Likewise. - (do_plus_minus): Likewise. - (do_negate); Likewise. - (expand_vector_piecewise): Likewise. - (do_cond): Likewise. - (do_compare): Use comparison instead of condition. - (expand_vector_divmod): Use boolean vector type for comparison. - (expand_vector_operations_1): Skip scalar mask operations. - -2015-10-21 Ilya Enkovich - - * omp-low.c (simd_clone_create): Set in_other_partition - for created clones. - -2015-10-21 David Wohlferd - - * doc/extend.exp (Local Register Variables): Rewrite. - -2015-10-21 Richard Sandiford - - * match.pd: Add rules to simplify ccos, ccosh, hypot, copysign - and x*x in cases where the operands are sign ops. Extend these - rules to handle copysign as a sign op (including for cos, cosh - and pow, which already treated negate and abs as sign ops). - -2015-10-21 Uros Bizjak - - PR target/68018 - * config/i386/i386.c (ix86_compute_frame_layout): Realign the stack - for 64-bit MS_ABI targets also when default incoming stack boundary - is overriden. - -2015-10-21 Richard Biener - - * tree-ssa-sccvn.c (cond_stmts_equal_p): Compare two GIMPLE - cond stmts, enhanced and split out from ... - (vn_phi_eq): ... here. - -2015-10-21 Richard Biener - - PR middle-end/68031 - * fold-const.c: Include tree-ssa-operands.h and tree-into-ssa.h. - (tree_ssa_name_nonnegative_warnv_p): Fold into ... - (tree_single_nonnegative_warnv_p): ... here. For SSA names - make sure they are not registered for update. - -2015-10-21 Richard Biener - - PR tree-optimization/68026 - * tree-ssa-ccp.c (get_value_for_expr): Zero-extend mask for - unsigned VARYING values. - -2015-10-21 Maxim Ostapenko - - * asan.c (asan_emit_stack_protection): Don't pass local stack to - asan_stack_malloc_[n] anymore. Check if asan_stack_malloc_[n] returned - NULL and use local stack than. - (asan_finish_file): Insert __asan_version_mismatch_check_v[n] call - in addition to __asan_init. - * sanitizer.def (BUILT_IN_ASAN_INIT): Rename to __asan_init. - (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Add new builtin call. - * asan.h (asan_intercepted_p): Handle new string builtins. - * ubsan.c (ubsan_use_new_style_p): New function. - (ubsan_instrument_float_cast): If location is unknown, assign - input_location to loc. Propagate loc to ubsan_create_data if - ubsan_use_new_style_p returned true. - -2015-10-21 Jeff Law - - * Makefile.in (OBJS): Remove sched-vis.c - * sched-vis.c: Removed. Code moved into... - * print-rtl.c: Here. Include cfg.h, pretty-print.h and print-rtl.h. - * rtl.h: Remove prototypes for functions now living in print-rtl.c - * print-rtl.h Add prototypes for new functions in print-rtl.c. - * auto-inc-dec.c: Include print-rtl.h - * cfgrtl.c, combine.c, final.c haifa-sched.c: Likewise. - * ira.c, lra-constraints.c, lra.c, sel-sched-dump.c: Likewise. - - * varasm.c (handle_vtv_comdat_section): Mark 2nd parameter with - ATTRIBUTE_UNUSED. - -2015-10-21 Richard Biener - Naveen H.S - - * fold-const.c (fold_binary_loc) : Move (-A) * (-B) -> A * B - to match.pd. -* doc/implement-c.texi (Integers Implementation): Make GCC's promises -about signed left shift stronger and clarify the cases when they're -broken. - Move (a * (1 << b)) is (a << b) to match.pd. - Move convert (C1/X)*C2 into (C1*C2)/X to match.pd. - Move ~X & X, (X == 0) & X, and !X & X are zero to match.pd. - Move X & ~X , X & (X == 0), and X & !X are zero to match.pd. - - * match.pd (mult:c @0 (convert? (lshift integer_onep@1 @2))): - New simplifier. - (mult (rdiv:s REAL_CST@0 @1) REAL_CST@2): New simplifier. - (bit_and:c (convert? @0) (convert? (bit_not @0))): New simplifier. - (bit_ior (bit_and:s @0 (bit_not:s @1)) (bit_and:s (bit_not:s @0) @1)) - : New simplifier. - (mult:c (convert1? (negate @0)) (convert2? negate_expr_p@1)): - New simplifier. - (match (logical_inverted_value @0) (truth_not @0)) : New Predicate. - -2015-10-21 Gregor Richards - Szabolcs Nagy - Alan Modra - - * config/rs6000/secureplt.h (LINK_SECURE_PLT_DEFAULT_SPEC): Define. - * config/rs6000/sysv4.h (LINK_SECURE_PLT_SPEC): Define. - (LINK_SPEC): Add %(link_secure_plt). - (SUBTARGET_EXTRA_SPECS): Add "link_secure_plt". - * config/rs6000/linux64.h (LINK_SECURE_PLT_SPEC): Redefine. - -2015-10-20 Gregor Richards - Szabolcs Nagy - - * config/sh/linux.h (MUSL_DYNAMIC_LINKER): Define. - (MUSL_DYNAMIC_LINKER_E, MUSL_DYNAMIC_LINKER_FP): Define. - -2015-10-20 Kyrylo Tkachov - - * config/aarch64/aarch64.c (aarch64_mode_valid_for_sched_fusion_p): - New function. - (fusion_load_store): Use it. - * config/aarch64/aarch64-ldpstp.md: Add new peephole2s for - ldp and stp in VD modes. - * config/aarch64/aarch64-simd.md (load_pair, VD): New pattern. - (store_pair, VD): Likewise. - -2015-10-20 Vladimir Makarov - - PR rtl-optimization/67609 - * lra-splill.c (lra_final_code_change): Don't remove all - sub-registers. - -2015-10-20 Kyrylo Tkachov - - * simplify-rtx.c (simplify_binary_operation): If either operand was - a constant pool reference use them if all other simplifications failed. - -2015-10-20 Kyrylo Tkachov - - * config/aarch64/aarch64.md - (*aarch64_fcvt2_mult): New pattern. - * config/aarch64/aarch64-simd.md - (*aarch64_fcvt2_mult): Likewise. - * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle above patterns. - (aarch64_fpconst_pow_of_2): New function. - (aarch64_vec_fpconst_pow_of_2): Likewise. - * config/aarch64/aarch64-protos.h (aarch64_fpconst_pow_of_2): Declare - prototype. - (aarch64_vec_fpconst_pow_of_2): Likewise. - * config/aarch64/predicates.md (aarch64_fp_pow2): New predicate. - (aarch64_fp_vec_pow2): Likewise. - -2015-10-20 Uros Bizjak - - * config/alpha/alpha.h (HARD_REGNO_NREGS): Use CEIL macro. - (ALPHA_ARG_SIZE): Ditto. Remove unused NAMED argument. - * config/alpha/alpha.c (alpha_function_arg_advance): Update - ALPHA_ARG_SIZE usage. - (alpha_arg_partial_bytes): Ditto. - -2015-10-20 H.J. Lu - - PR target/66810 - * cgraphbuild.c (pass_build_cgraph_edges::execute): Skip local - error_mark_node decls. - -2015-10-20 H.J. Lu - - PR target/67963 - PR target/67985 - * common/config/i386/i386-common.c (ix86_handle_option): Remove - OPT_miamcu handling. - * config/i386/i386.c (PTA_NO_80387): New macro. - (processor_alias_table): Add PTA_NO_80387 to lakemont. - (ix86_option_override_internal): Update MASK_80387 from - PTA_NO_80387. Don't warn x87/MMX/SSE/AVX for -miamcu. Warn - SSE math only if 80387 is supported. Don't change - MASK_FLOAT_RETURNS. - (ix86_valid_target_attribute_tree): Enable FPMATH_387 only if - 80387 is supported. - * config/i386/i386.h (TARGET_FLOAT_RETURNS_IN_80387): True only - if TARGET_80387 is true and TARGET_IAMCU is false. - (TARGET_FLOAT_RETURNS_IN_80387_P): True only if TARGET_80387_P - is true and TARGET_IAMCU_P is false. - -2015-10-20 Richard Biener - - PR tree-optimization/68017 - * tree-tailcall.c (eliminate_tail_call): Remove stmts backwards. - -2015-10-20 Martin Liska - - * cgraphclones.c (cgraph_node::create_virtual_clone): - Verify cgraph_node.local.versionable instead of calling - tree_versionable_function_p. - * ipa-cp.c (determine_versionability): Save the information - to ipa_node_params summary. - (ipcp_versionable_function_p): Use it. - (ipcp_propagate_stage): Pass IPA_NODE_REF to a called function. - (ipcp_generate_summary): Do not compute cgraph_node - versionability. - * ipa-inline-analysis.c (inline_generate_summary): Compute - versionability for all cgraph nodes. - * ipa-prop.c (ipa_node_params_t::duplicate): Duplicate - ipa_node_params::versionability. - * ipa-prop.h (struct ipa_node_params): Declare it. - -2015-10-20 Ramana Radhakrishnan - - PR other/67868 - * varasm.c (assemble_variable): Move special vtv handling to.. - (handle_vtv_comdat_sections): .. here. New function. - (output_object_block): Handle vtv sections. - -2015-10-20 Szabolcs Nagy - - PR target/66912 - * varasm.c (default_binds_local_p_2): Turn on extern_protected_data. - -2015-10-20 Arkadiusz Drabczyk - - * doc/extend.texi: Update documentation WRT inline functions. - -2015-10-20 Alan Modra - - PR go/66870 - * config/rs6000/sysv4.h (TARGET_CAN_SPLIT_STACK_64BIT): Don't define. - * config/rs6000/linux64.h (TARGET_CAN_SPLIT_STACK): Define. - (TARGET_CAN_SPLIT_STACK_64BIT): Define. - -2015-10-19 Pierre-Marie de Rodat - - PR rtl-optimization/66790 - * df.h (DF_MIR): New macro. - (DF_LAST_PROBLEM_PLUS1): Update to be past DF_MIR - (DF_MIR_INFO_BB): New macro. - (DF_MIR_IN, DF_MIR_OUT): New macros. - (struct df_mir_bb_info): New. - (df_mir): New macro. - (df_mir_add_problem, df_mir_simulate_one_insn): New forward - declarations. - (df_mir_get_bb_info): New. - * df-problems.c (struct df_mir_problem_data): New. - (df_mir_free_bb_info, df_mir_alloc, df_mir_reset, - df_mir_bb_local_compute, df_mir_local_compute, df_mir_init, - df_mir_confluence_0, df_mir_confluence_n, - df_mir_transfer_function, df_mir_free, df_mir_top_dump, - df_mir_bottom_dump, df_mir_verify_solution_start, - df_mir_verify_solution_end): New. - (problem_MIR): New. - (df_mir_add_problem, df_mir_simulate_one_insn): New. - * timevar.def (TV_DF_MIR): New. - * ree.c: Include bitmap.h - (add_removable_extension): Add an INIT_REGS parameter. Use it - to skip zero-extensions that may get an uninitialized register. - (find_removable_extensions): Compute must-initialized registers - using the MIR dataflow problem. Update the call to - add_removable_extension. - (find_and_remove_re): Call df_mir_add_problem. - -2015-10-19 Segher Boessenkool - - * common/config/mn10300/mn10300-common.c - (mn10300_option_optimization_table) : - Use REORDER_BLOCKS_ALGORITHM_STC at -Os and up. - -2015-10-19 David Wohlferd - - * doc/extend.texi (Explicit Register Variables): Simplify and - avoid unnecessary and confusion abbreviations. Update cross - references. - doc/implement-c.tex: Update cross reference. - -2015-10-19 Jeff Law - - * tree-ssa-threadupdate.c (valid_jump_thread_path): Reject paths - that create irreducible loops unless the path elimiantes a multiway - branch. - -2015-10-19 Richard Biener - - PR tree-optimization/67975 - * tree-cfg.h (extract_true_false_controlled_edges): Declare. - * tree-cfg.c (extract_true_false_controlled_edges): Split out - core worker from ... - * tree-ssa-loop-im.c (extract_true_false_args_from_phi): ... here. - * tree-ssa-sccvn.c (vn_phi_compute_hash): Hash number of args - instead of block number for PHIs with two or one args. - (vn_phi_eq): Compare edge predicates of PHIs that are in different - blocks. - -2015-10-19 Richard Biener - - * gimple-fold.c (gimple_phi_nonnegative_warnv_p): New function. - (gimple_stmt_nonnegative_warnv_p): Use it. - * match.pd (CPROJ): New operator list. - (cproj (complex ...)): Move simplifications from ... - * builtins.c (fold_builtin_cproj): ... here. - -2015-10-19 H.J. Lu - - * config/i386/i386.c (ix86_expand_vector_move): Use - GET_MODE_BITSIZE for IA MCU psABI to get vector natural - alignment. - -2015-10-19 H.J. Lu - - * doc/invoke.texi: Replace @optindex with @opindex. - -2015-10-19 H.J. Lu - - PR target/67995 - * config/i386/i386.c (ix86_valid_target_attribute_tree): If - arch= is set, clear all bits in x_ix86_isa_flags, except for - ISA_64BIT, ABI_64, ABI_X32, and CODE16. - -2015-10-19 Joost VandeVondele - - PR middle-end/68002 - * common.opt (fkeep-static-functions): New option. - * doc/invoke.texi: Document it. - * cgraphunit.c (cgraph_node::finalize_function): Use it. - -2015-10-19 Kyrylo Tkachov - - * sched-int.h (struct autopref_multipass_data_): Remove offset - field. Add min_offset, max_offset, multi_mem_insn_p fields. - * haifa-sched.c (analyze_set_insn_for_autopref): New function. - (autopref_multipass_init): Use it. Handle PARALLEL sets. - (autopref_rank_data): New function. - (autopref_rank_for_schedule): Use it. - (autopref_multipass_dfa_lookahead_guard_1): Likewise. - -2015-10-18 Mikhail Maltsev - - PR other/65800 - * gengtype.c (dump_type): Handle TYPE_UNDEFINED correctly. - -2015-10-18 Iain Sandoe - - * config/darwin.h (TARGET_SYSTEM_ROOT): Remove this from here, - (HAVE_LD_SYSROOT): New. (SYSROOT_SPEC): New. - (LINK_SYSROOT_SPEC): Revise to remove the default for target sysroot. - (STANDARD_STARTFILE_PREFIX_1): New. - (STANDARD_STARTFILE_PREFIX_2): New. - -2015-10-18 Iain Sandoe - - * config/darwin-driver.c (darwin_default_min_version): Refactor code. - (darwin_driver_init): Note a version-min when provided on the c/l. - * config/darwin.h (%darwin_minversion): Remove. - * config/i386/darwin.h: Likewise. - * config/rs6000/darwin.h: Likewise. - * config/darwin.opt (mmacosx-version-min=): Use the configured default, - rather than an arbitrary constant. - -2015-10-18 Iain Sandoe - - * config/darwin-driver.c (darwin_driver_init): Handle '-arch' for - PPC, detect conflicts between -arch and multilib settings. Detect - and warn about conflicts between multiple -arch definitions. - -2015-10-18 Iain Sandoe - - * config/darwin-driver.c: Adjust includes to add diagnostic-core. - -2015-10-16 Trevor Saunders - - * lra-constraints.c (add_next_usage_insn): Change argument type - from rtx to rtx_insn *. - -2015-10-16 H.J. Lu - - * i386/x86-tune.def (X86_TUNE_ALWAYS_FANCY_MATH_387): Disable - for Lakemont. - -2015-10-16 Andrew MacLeod - - * config/tilepro/gen-mul-tables.cc: Adjust include files. - * config/tilegx/mul-tables.c: Regenerate. - * config/tilepro/mul-tables.c: Regenerate. - - * config/tilegx/tilegx-c.c: Adjust include files. - * config/tilegx/tilegx.c: Likewise. - * config/tilepro/tilepro-c.c: Likewise. - * config/tilepro/tilepro.c: Likewise. - * config/aarch64/aarch64-builtins.c: Likewise. - * config/aarch64/aarch64.c: Likewise. - * config/aarch64/cortex-a57-fma-steering.c: Likewise. - * config/alpha/alpha.c: Likewise. - * config/arc/arc.c: Likewise. - * config/arm/aarch-common.c: Likewise. - * config/arm/arm-builtins.c: Likewise. - * config/arm/arm-c.c: Likewise. - * config/arm/arm.c: Likewise. - * config/avr/avr-c.c: Likewise. - * config/avr/avr-devices.c: Likewise. - * config/avr/avr-log.c: Likewise. - * config/avr/avr.c: Likewise. - * config/bfin/bfin.c: Likewise. - * config/c6x/c6x.c: Likewise. - * config/cr16/cr16.c: Likewise. - * config/cris/cris.c: Likewise. - * config/darwin-c.c: Likewise. - * config/darwin-driver.c: Likewise. - * config/darwin.c: Likewise. - * config/default-c.c: Likewise. - * config/epiphany/epiphany.c: Likewise. - * config/epiphany/mode-switch-use.c: Likewise. - * config/epiphany/resolve-sw-modes.c: Likewise. - * config/fr30/fr30.c: Likewise. - * config/frv/frv.c: Likewise. - * config/ft32/ft32.c: Likewise. - * config/glibc-c.c: Likewise. - * config/h8300/h8300.c: Likewise. - * config/i386/host-cygwin.c: Likewise. - * config/i386/host-mingw32.c: Likewise. - * config/i386/i386-c.c: Likewise. - * config/i386/i386.c: Likewise. - * config/i386/msformat-c.c: Likewise. - * config/i386/winnt-cxx.c: Likewise. - * config/i386/winnt-stubs.c: Likewise. - * config/i386/winnt.c: Likewise. - * config/ia64/ia64-c.c: Likewise. - * config/ia64/ia64.c: Likewise. - * config/iq2000/iq2000.c: Likewise. - * config/lm32/lm32.c: Likewise. - * config/m32c/m32c-pragma.c: Likewise. - * config/m32c/m32c.c: Likewise. - * config/m32r/m32r.c: Likewise. - * config/mcore/mcore.c: Likewise. - * config/mep/mep-pragma.c: Likewise. - * config/mep/mep.c: Likewise. - * config/microblaze/microblaze-c.c: Likewise. - * config/microblaze/microblaze.c: Likewise. - * config/mips/mips-tables.opt - * config/mips/mips.c: Likewise. - * config/mmix/mmix.c: Likewise. - * config/mn10300/mn10300.c: Likewise. - * config/moxie/moxie.c: Likewise. - * config/msp430/msp430-c.c: Likewise. - * config/msp430/msp430.c: Likewise. - * config/nds32/nds32-cost.c: Likewise. - * config/nds32/nds32-fp-as-gp.c: Likewise. - * config/nds32/nds32-intrinsic.c: Likewise. - * config/nds32/nds32-isr.c: Likewise. - * config/nds32/nds32-md-auxiliary.c: Likewise. - * config/nds32/nds32-memory-manipulation.c: Likewise. - * config/nds32/nds32-pipelines-auxiliary.c: Likewise. - * config/nds32/nds32-predicates.c: Likewise. - * config/nds32/nds32.c: Likewise. - * config/nios2/nios2.c: Likewise. - * config/nvptx/mkoffload.c: Likewise. - * config/nvptx/nvptx.c: Likewise. - * config/pa/pa.c: Likewise. - * config/pdp11/pdp11.c: Likewise. - * config/rl78/rl78-c.c: Likewise. - * config/rl78/rl78.c: Likewise. - * config/rs6000/host-darwin.c: Likewise. - * config/rs6000/rs6000-c.c: Likewise. - * config/rs6000/rs6000-linux.c: Likewise. - * config/rs6000/rs6000.c: Likewise. - * config/rx/rx.c: Likewise. - * config/s390/s390-c.c: Likewise. - * config/s390/s390.c: Likewise. - * config/sh/sh-c.c: Likewise. - * config/sh/sh-mem.cc: Likewise. - * config/sh/sh.c: Likewise. - * config/sh/sh_optimize_sett_clrt.cc: Likewise. - * config/sh/sh_treg_combine.cc: Likewise. - * config/sol2-c.c: Likewise. - * config/sol2-cxx.c: Likewise. - * config/sol2-stubs.c: Likewise. - * config/sol2.c: Likewise. - * config/sparc/sparc-c.c: Likewise. - * config/sparc/sparc.c: Likewise. - * config/spu/spu-c.c: Likewise. - * config/spu/spu.c: Likewise. - * config/stormy16/stormy16.c: Likewise. - * config/v850/v850-c.c: Likewise. - * config/v850/v850.c: Likewise. - * config/vax/vax.c: Likewise. - * config/visium/visium.c: Likewise. - * config/vms/vms-c.c: Likewise. - * config/vms/vms.c: Likewise. - * config/vxworks.c: Likewise. - * config/winnt-c.c: Likewise. - * config/xtensa/xtensa.c: Likewise. - -2015-10-16 Christian Bruel - - PR target/67745 - * config/arm/arm.h (FUNCTION_BOUNDARY): Use FUNCTION_BOUNDARY_P. - (FUNCTION_BOUNDARY_P): New macro: - * config/arm/arm.c (TARGET_RELAYOUT_FUNCTION, arm_relayout_function): - New hook. - * doc/tm.texi.in (TARGET_RELAYOUT_FUNCTION): Document. - * doc/tm.texi (TARGET_RELAYOUT_FUNCTION): New hook. - * target.def (TARGET_RELAYOUT_FUNCTION): Likewise. - * function.c (allocate_struct_function): Call - relayout_function hook. - * passes.c (rest_of_decl_compilation): Likewise. - -2015-10-16 Christian Bruel - - PR target/67745 - * config/arm/arm.h (FUNCTION_BOUNDARY): Move optimize_size condition to: - * config/arm/arm.c (arm_option_override_internal): Call - arm_override_options_after_change_1. - (arm_override_options_after_change): New function. - (arm_override_options_after_change_1): Likewise. - (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define hook. - -2015-10-11 Jan Hubicka - - Revert: - * ipa-icf-gimple.c (func_checker::compare_operand): Compare only - empty constructors. - -2015-10-16 Eric Botcazou - - * tree.c (recompute_tree_invariant_for_addr_expr): Assert that the - argument is an ADDR_EXPR. - -2015-10-16 Richard Biener - - * gimple-fold.c (gimple_fold_builtin_memory_op): Use gimple_build - and get rid of force_gimple_operand_gsi. - (gimple_fold_builtin_memory_chk): Likewise. - (gimple_fold_builtin_stxcpy_chk): Likewise. - (rewrite_to_defined_overflow): Likewise. - (gimple_convert_to_ptrofftype): New function. - * gimple-fold.h (gimple_convert_to_ptrofftype): New overload, declare. - -2015-10-16 Richard Biener - - * tree-nested.h (build_addr): Adjust prototype. - * tree-nested.c (build_addr): Remove context argument and use - mark_addressable. - (get_static_chain): Adjust calls to build_addr. - (convert_nl_goto_reference): Likewise. - (convert_tramp_reference_op): Likewise. - (finalize_nesting_tree_1): Likewise. - * value-prof.c (gimple_ic): Likewise. - * gimple-low.c (lower_builtin_setjmp): Likewise. - * tree-parloops.c (take_address_of): Likewise. - (create_call_for_reduction_1): Likewise. - * tree-profile.c (gimple_gen_interval_profiler): Likewise. - (gimple_gen_ic_func_profiler): Likewise. - -2015-10-11 Jan Hubicka - - * ipa-icf-gimple.c (func_checker::compare_operand): Compare only - empty constructors. - -2015-10-16 Michael Collison - Andrew Pinski - - * match.pd ((x < y) && (x < z) -> x < min (y,z), - (x > y) and (x > z) -> x > max (y,z)) - -2015-10-15 Gregor Richards - Szabolcs Nagy - - * config/microblaze/linux.h (MUSL_DYNAMIC_LINKER): Define. - (DYNAMIC_LINKER): Renamed to ... - (GLIBC_DYNAMIC_LINKER): This. - (SUBTARGET_EXTRA_SPECS): Use GNU_USER_DYNAMIC_LINKER. - -2015-10-15 Marek Polacek - - * tree-ssa-reassoc.c (attempt_builtin_copysign): Call - gimple_call_builtin instead of is_gimple_call. - -2015-10-15 Richard Biener - - * tree-vect-stmts.c (vect_init_vector): Remove unused vars. - -2015-10-15 Richard Biener - - * tree-vectorizer.h (vect_get_new_ssa_name): Declare. - * tree-vect-data-refs.c (vect_get_new_ssa_name): New helper. - * tree-vect-loop.c (get_initial_def_for_induction): Drop - use of force_gimple_operand in favor of gimple_build. - Use vect_get_new_ssa_name. - * tree-vect-stmts.c (vect_init_vector): Use vect_get_new_ssa_name. - (vectorizable_mask_load_store): Likewise. - (vectorizable_call): Likewise. - (vectorizable_store): Likewise. - (vectorizable_load): Likewise. - (vect_get_vec_def_for_stmt_copy): Remove redundant stmt. - -2015-10-15 Richard Sandiford - - PR tree-optimization/67945 - * tree-pass.h (PROP_gimple_opt_math): New property flag. - * generic-match-head.c (canonicalize_math_p): New function. - * gimple-match-head.c: Include tree-pass.h. - (canonicalize_math_p): New function. - * match.pd: Group math built-in rules into simplifications - and canonicalizations. Guard the latter with canonicalize_math_p. - * tree-ssa-math-opts.c (pass_data_cse_sincos): Provide the - PROP_gimple_opt_math property. - -2015-10-15 Marek Polacek - - PR tree-optimization/67953 - * match.pd (X - (X / Y) * Y): Don't change signedness of @0. - -2015-10-15 Jiong Wang - - * config.gcc: Recognize "." in architecture base name for AArch64. - -2015-10-14 Uros Bizjak - - * config/mips/mips.h (MIPS_STACK_ALIGN): Implement using - ROUND_UP macro. - * config/mips/mips.c (mips_setup_incoming_varargs): Use - ROUND_DOWN to calculate off. - (mips_gimplify_va_arg_expr): Use ROUND_UP to calculate rsize. - (mips_emit_probe_stack_range): Use ROUND_DOWN to calculate - rounded_size. - -2015-10-14 Eric Botcazou - - * gimplify.c (gimplify_addr_expr) : New case. - -2015-10-14 Peter Bergner - Torvald Riegel - - PR target/67281 - * config/rs6000/htm.md (UNSPEC_HTM_FENCE): New. - (tabort, tabortc, tabortci, tbegin, tcheck, tend, - trechkpt, treclaim, tsr, ttest): Rename define_insns from this... - (*tabort, *tabortc, *tabortci, *tbegin, *tcheck, *tend, - *trechkpt, *treclaim, *tsr, *ttest): ...to this. Add memory barrier. - (tabort, tabortc, tabortci, tbegin, tcheck, tend, - trechkpt, treclaim, tsr, ttest): New define_expands. - * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define - __TM_FENCE__ for htm. - * doc/extend.texi: Update documentation for htm builtins. - -2015-10-14 Uros Bizjak - - PR target/67967 - * config/i386/i386.c (ix86_emit_save_reg_using_mov): Do not add - REG_CFA_EXPRESSION to aligned SSE stores. - -2015-10-14 Jeff Law - - * tree-ssa-threadupdate.c (thread_through_all_blocks): Bump - num_threaded_edges for successful FSM threads too. - -2015-10-14 Richard Biener - - * tree-vectorizer.h (vect_is_simple_use): Remove unused parameters. - (vect_is_simple_use_1): Likewise. Make overload of vect_is_simple_use. - (vect_get_vec_def_for_operand): Remove unused parameter. - * tree-vect-loop.c (get_initial_def_for_induction): Adjust. - (vect_create_epilog_for_reduction): Likewise. - (vectorizable_reduction): Likewise. - (vectorizable_live_operation): Likewise. - * tree-vect-patterns.c (type_conversion_p): Likewise. - (vect_recog_vector_vector_shift_pattern): Likewise. - (check_bool_pattern): Likewise. - * tree-vect-slp.c (vect_get_and_check_slp_defs): Likewise. - (vect_analyze_slp_cost_1): Likewise. - * tree-vect-stmts.c (process_use): Likewise. - (vect_get_vec_def_for_operand): Do not handle reductions. - (vect_get_vec_defs): Adjust. - (vectorizable_mask_load_store): Likewise. - (vectorizable_call): Likewise. - (vectorizable_simd_clone_call): Likewise. - (vect_get_loop_based_defs): Likewise. - (vectorizable_conversion): Likewise. - (vectorizable_assignment): Likewise. - (vectorizable_shift): Likewise. - (vectorizable_operation): Likewise. - (vectorizable_store): Likewise. - (vectorizable_load): Likewise. - (vect_is_simple_cond): Likewise. - (vectorizable_condition): Likewise. - (vect_is_simple_use): Remove unused parameters. - (vect_is_simple_use_1): Adjust and rename. - -2015-10-14 Richard Biener - - PR tree-optimization/67915 - * match.pd: Handle comparisons of addresses of STRING_CSTs. - * gimplify.c (gimplify_cond_expr): Fold the GIMPLE conds we build. - * tree-cfgcleanup.c (cleanup_control_expr_graph): Remove GENERIC - stmt folding in favor of GIMPLE one. - -2015-10-14 Marek Polacek - - PR tree-optimization/67815 - * tree-ssa-reassoc.c (attempt_builtin_copysign): New function. - (reassociate_bb): Call it. - -2015-10-14 Richard Biener - - * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): - Reset info at start. - (vect_analyze_group_access_1): Add debug print. - * tree-vect-loop.c (vect_get_single_scalar_iteration_cost): Rename ... - (vect_compute_single_scalar_iteration_cost): ... to this. - (vect_analyze_loop_2): Adjust. - * tree-vect-slp.c (struct _slp_oprnd_info): Move from ... - * tree-vectorizer.h: ... here. - (add_stmt_info_to_vec): Remove. - * tree-vect-stmts.c (record_stmt_cost): Inline add_stmt_info_to_vec. - -2015-10-14 Dominik Vogt - - * targhooks.c (default_target_option_pragma_parse): Do not warn if - called on behalf of "#pragma GCC pop_options". - -2015-10-14 Tom de Vries - - * cfganal.c (verify_no_unreachable_blocks): New function. - (inverted_post_order_compute) [ENABLE_CHECKING]: Call - verify_no_unreachable_blocks. - cfganal.h (verify_no_unreachable_blocks): Declare. - -2015-10-13 Mikhail Maltsev - - * common.opt: Add flag_checking. - * system.h (CHECKING_P): Define. - -2015-10-13 Jakub Jelinek - Aldy Hernandez - Ilya Verbin - - * builtin-types.def (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR, - BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR, - BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR, - BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR, - BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR, - BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR, - BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT, - BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG, - BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_ULL_ULL_ULL, - BT_FN_VOID_LONG_VAR, BT_FN_VOID_ULL_VAR): New. - (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR, - BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR, - BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR): Remove. - * cgraph.h (enum cgraph_simd_clone_arg_type): Add - SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP, - SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP and - SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP. - (struct cgraph_simd_clone_arg): Adjust comment. - * coretypes.h (struct gomp_ordered): New forward decl. - * gimple.c (gimple_build_omp_critical): Add CLAUSES argument, - set critical clauses to it. - (gimple_build_omp_ordered): Return gomp_ordered * instead of - gimple *. Add CLAUSES argument, set ordered clauses to it. - (gimple_copy): Unshare clauses on GIMPLE_OMP_CRITICAL and - GIMPLE_OMP_ORDERED. - * gimple.def (GIMPLE_OMP_ORDERED): Change from GSS_OMP to - GSS_OMP_SINGLE_LAYOUT, move it after GIMPLE_OMP_TEAMS. - * gimple.h (enum gf_mask): Add GF_OMP_TASK_TASKLOOP. Add another bit - to GF_OMP_FOR_KIND_MASK mask. Add GF_OMP_FOR_KIND_TASKLOOP, renumber - GF_OMP_FOR_KIND_CILKFOR and GF_OMP_FOR_KIND_OACC_LOOP. Adjust - GF_OMP_FOR_SIMD, GF_OMP_FOR_COMBINED and GF_OMP_FOR_COMBINED_INTO. - Add another bit to GF_OMP_TARGET_KIND_MASK mask. Add - GF_OMP_TARGET_KIND_ENTER_DATA and GF_OMP_TARGET_KIND_EXIT_DATA, - renumber - GF_OMP_TARGET_KIND_OACC_{PARALLEL,KERNELS,DATA,UPDATE,ENTER_EXIT_DATA}. - (gomp_critical): Add clauses field. - (gomp_ordered): New struct. - (is_a_helper ::test): New inline. - (gimple_build_omp_critical): Add CLAUSES argument. - (gimple_build_omp_ordered): Likewise. Return gomp_ordered * - instead of gimple *. - (gimple_omp_critical_clauses, gimple_omp_critical_clauses_ptr, - gimple_omp_critical_set_clauses, gimple_omp_ordered_clauses, - gimple_omp_ordered_clauses_ptr, gimple_omp_ordered_set_clauses, - gimple_omp_task_taskloop_p, gimple_omp_task_set_taskloop_p): New - inline functions. - * gimple-pretty-print.c (dump_gimple_omp_for): Handle taskloop. - (dump_gimple_omp_target): Handle enter data and exit data. - (dump_gimple_omp_block): Don't handle GIMPLE_OMP_ORDERED here. - (dump_gimple_omp_critical): Print clauses. - (dump_gimple_omp_ordered): New function. - (dump_gimple_omp_task): Handle taskloop. - (pp_gimple_stmt_1): Use dump_gimple_omp_ordered for - GIMPLE_OMP_ORDERED. - * gimple-walk.c (walk_gimple_op): Walk clauses on - GIMPLE_OMP_CRITICAL and GIMPLE_OMP_ORDERED. - * gimplify.c (enum gimplify_omp_var_data): Add GOVD_MAP_0LEN_ARRAY. - (enum omp_region_type): Add ORT_COMBINED_TARGET and ORT_NONE. - (struct gimplify_omp_ctx): Add loop_iter_var, - target_map_scalars_firstprivate, target_map_pointers_as_0len_arrays - and target_firstprivatize_array_bases fields. - (delete_omp_context): Release loop_iter_var. - (gimplify_bind_expr): Handle ORT_NONE. - (maybe_fold_stmt): Adjust check for ORT_TARGET for the addition of - ORT_COMBINED_TARGET. - (is_gimple_stmt): Return true for OMP_TASKLOOP, OMP_TEAMS and - OMP_TARGET{,_DATA,_UPDATE,_ENTER_DATA,_EXIT_DATA}. - (omp_firstprivatize_variable): Handle ORT_NONE. Adjust check for - ORT_TARGET for the addition of ORT_COMBINED_TARGET. Handle - ctx->target_map_scalars_firstprivate. - (omp_add_variable): Handle ORT_NONE. Allow map clause together with - data sharing clauses. For data sharing clause with VLA decl - on omp target/target data don't add firstprivate for the pointer. - Call omp_notice_variable on TYPE_SIZE_UNIT only if it is a DECL_P. - (omp_notice_threadprivate_variable): Adjust check for ORT_TARGET for - the addition of ORT_COMBINED_TARGET. - (omp_notice_variable): Handle ORT_NONE. Adjust check for ORT_TARGET - for the addition of ORT_COMBINED_TARGET. Handle implicit mapping of - pointers as zero length array sections and - ctx->target_map_scalars_firstprivate mapping of scalars as firstprivate - data sharing. - (omp_check_private): Handle omp_member_access_dummy_var vars. - (find_decl_expr): New function. - (gimplify_scan_omp_clauses): Add CODE argument. For OMP_CLAUSE_IF - complain if OMP_CLAUSE_IF_MODIFIER is present and does not match code. - Handle OMP_CLAUSE_GANG separately. Handle - OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD,SIMDLEN} - clauses. Diagnose linear clause on combined - distribute {, parallel for} simd construct, unless it is the loop - iterator. Handle struct element GOMP_MAP_FIRSTPRIVATE_POINTER. - Handle map clauses with COMPONENT_REF. Initialize - ctx->target_map_scalars_firstprivate, - ctx->target_firstprivatize_array_bases and - ctx->target_map_pointers_as_0len_arrays. Add firstprivate for - linear clause even to target region if combined. Remove - map clauses with GOMP_MAP_FIRSTPRIVATE_POINTER kind from - OMP_TARGET_{,ENTER_,EXIT_}DATA. For GOMP_MAP_FIRSTPRIVATE_POINTER - map kind with non-INTEGER_CST OMP_CLAUSE_SIZE firstprivatize the bias. - Handle OMP_CLAUSE_DEPEND_{SINK,SOURCE}. Handle - OMP_CLAUSE_{{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}. - For linear clause on worksharing loop combined with parallel add - shared clause on the parallel. Handle OMP_CLAUSE_REDUCTION - with MEM_REF OMP_CLAUSE_DECL. Set DECL_NAME on - omp_member_access_dummy_var vars. Add lastprivate clause to outer - taskloop if needed. - (gimplify_adjust_omp_clauses_1): Handle GOVD_MAP_0LEN_ARRAY. - If gimplify_omp_ctxp->target_firstprivatize_array_bases, use - GOMP_MAP_FIRSTPRIVATE_POINTER map kind instead of - GOMP_MAP_POINTER. - (gimplify_adjust_omp_clauses): Add CODE argument. Handle removal - of GOMP_MAP_FIRSTPRIVATE_POINTER struct elements for struct not seen - in target body. Handle removal of struct mapping if struct is not - seen in target body. Remove GOMP_MAP_STRUCT map clause on - OMP_TARGET_EXIT_DATA. Adjust check for ORT_TARGET for the - addition of ORT_COMBINED_TARGET. Use GOMP_MAP_FIRSTPRIVATE_POINTER - instead of GOMP_MAP_POINTER if ctx->target_firstprivatize_array_bases - for VLAs. Set OMP_CLAUSE_MAP_PRIVATE if both data sharing and map - clause appear together. Handle - OMP_CLAUSE_{{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}. Don't remove map - clause if it has map-type-modifier always. Handle - OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD,SIMDLEN} - clauses. - (gimplify_oacc_cache, gimplify_omp_parallel, gimplify_omp_task): - Adjust gimplify_scan_omp_clauses and gimplify_adjust_omp_clauses - callers. - (gimplify_omp_for): Likewise. Handle OMP_TASKLOOP. Initialize - loop_iter_var. Use OMP_FOR_ORIG_DECLS. Fix handling of lastprivate - iterators in doacross loops. - (gimplify_omp_workshare): Adjust gimplify_scan_omp_clauses and - gimplify_adjust_omp_clauses callers. Use ORT_COMBINED_TARGET - for OMP_TARGET_COMBINED. Adjust check for ORT_TARGET - for the addition of ORT_COMBINED_TARGET. - (gimplify_omp_target_update): Adjust gimplify_scan_omp_clauses and - gimplify_adjust_omp_clauses callers. Handle OMP_TARGET_ENTER_DATA - and OMP_TARGET_EXIT_DATA. - (gimplify_omp_ordered): New function. - (gimplify_expr): Handle OMP_TASKLOOP, OMP_TARGET_ENTER_DATA and - OMP_TARGET_EXIT_DATA. Use gimplify_omp_ordered for OMP_ORDERED. - Gimplify clauses on OMP_CRITICAL. - * internal-fn.c (expand_GOMP_SIMD_ORDERED_START, - expand_GOMP_SIMD_ORDERED_END): New functions. - * internal-fn.def (GOMP_SIMD_ORDERED_START, - GOMP_SIMD_ORDERED_END): New internal functions. - * omp-builtins.def (BUILT_IN_GOMP_LOOP_DOACROSS_STATIC_START, - BUILT_IN_GOMP_LOOP_DOACROSS_DYNAMIC_START, - BUILT_IN_GOMP_LOOP_DOACROSS_GUIDED_START, - BUILT_IN_GOMP_LOOP_DOACROSS_RUNTIME_START, - BUILT_IN_GOMP_LOOP_ULL_DOACROSS_STATIC_START, - BUILT_IN_GOMP_LOOP_ULL_DOACROSS_DYNAMIC_START, - BUILT_IN_GOMP_LOOP_ULL_DOACROSS_GUIDED_START, - BUILT_IN_GOMP_LOOP_ULL_DOACROSS_RUNTIME_START, - BUILT_IN_GOMP_DOACROSS_POST, BUILT_IN_GOMP_DOACROSS_WAIT, - BUILT_IN_GOMP_DOACROSS_ULL_POST, BUILT_IN_GOMP_DOACROSS_ULL_WAIT, - BUILT_IN_GOMP_TARGET_ENTER_EXIT_DATA, BUILT_IN_GOMP_TASKLOOP, - BUILT_IN_GOMP_TASKLOOP_ULL): New built-ins. - (BUILT_IN_GOMP_TASK): Add INT argument to the end. - (BUILT_IN_GOMP_TARGET): Rename from GOMP_target to GOMP_target_41, - adjust type. - (BUILT_IN_GOMP_TARGET_DATA): Rename from GOMP_target_data to - GOMP_target_data_41, adjust type. - (BUILT_IN_GOMP_TARGET_UPDATE): Rename from GOMP_target_update to - GOMP_target_update_41, adjust type. - * omp-low.c (struct omp_region): Adjust comments, add ord_stmt - field. - (struct omp_for_data): Add ordered and simd_schedule fields. - (omp_member_access_dummy_var, unshare_and_remap_1, - unshare_and_remap, is_taskloop_ctx): New functions. - (is_taskreg_ctx): Use is_parallel_ctx and is_task_ctx. - (extract_omp_for_data): Handle taskloops and doacross loops - and simd schedule modifier. - (omp_adjust_chunk_size): New function. - (get_ws_args_for): Use it. - (lookup_sfield): Change first argument to splay_tree_key, - add overload with first argument tree. - (maybe_lookup_field): Likewise. - (use_pointer_for_field): Handle omp_member_access_dummy_var. - (omp_copy_decl_2): If var is TREE_ADDRESSABLE listed in - task_shared_vars, clear TREE_ADDRESSABLE on the copy. - (build_outer_var_ref): Add LASTPRIVATE argument, handle - taskloops and omp_member_access_dummy_var vars. - (build_sender_ref): Change first argument to splay_tree_key, - add overload with first argument tree. - (install_var_field): For mask & 8 use &DECL_UID as key instead - of the tree itself. - (fixup_child_record_type): Const qualify *.omp_data_i. - (scan_sharing_clauses): Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE, - C/C++ array reductions, OMP_CLAUSE_{IS,USE}_DEVICE_PTR clauses, - OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,SIMDLEN,THREADS,SIMD} and - OMP_CLAUSE_{NOGROUP,DEFAULTMAP} clauses, OMP_CLAUSE__LOOPTEMP_ clause - on taskloop, GOMP_MAP_FIRSTPRIVATE_POINTER, OMP_CLAUSE_MAP_PRIVATE. - (create_omp_child_function): Set TREE_READONLY on .omp_data_i. - (find_combined_for): Allow searching for different GIMPLE_OMP_FOR - kinds. - (add_taskreg_looptemp_clauses): New function. - (scan_omp_parallel): Use it. - (scan_omp_task): Likewise. - (finish_taskreg_scan): Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE. - For taskloop, move fields for the first two _LOOPTEMP_ clauses first. - (check_omp_nesting_restrictions): Handle GF_OMP_TARGET_KIND_ENTER_DATA - and GF_OMP_TARGET_KIND_EXIT_DATA. Formatting fixes. Allow the - sandwiched taskloop constructs. Type check - OMP_CLAUSE_DEPEND_{KIND,SOURCE}. Allow ordered simd inside of simd - region. Diagnose depend(source) or depend(sink:...) on - target constructs or task/taskloop. - (handle_simd_reference): Use get_name. - (lower_rec_input_clauses): Likewise. Ignore all - OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE clauses on taskloop construct. - Allow _LOOPTEMP_ clause on GOMP_TASK. Unshare new_var - before passing it to omp_clause_{default,copy}_ctor. Handle - OMP_CLAUSE_REDUCTION with MEM_REF OMP_CLAUSE_DECL. Set - lastprivate_firstprivate flag for linear that needs copyin and - copyout. Use BUILT_IN_ALLOCA_WITH_ALIGN instead of BUILT_IN_ALLOCA. - (lower_lastprivate_clauses): For OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE - on taskloop lookup decl in outer context. Pass true to - build_outer_var_ref lastprivate argument. Handle - OMP_CLAUSE_LASTPRIVATE_TASKLOOP_IV lastprivate if the decl is global - outside of outer taskloop for. - (lower_reduction_clauses): Handle OMP_CLAUSE_REDUCTION with MEM_REF - OMP_CLAUSE_DECL. - (lower_send_clauses): Ignore first two _LOOPTEMP_ clauses in taskloop - GOMP_TASK. Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE. Handle - omp_member_access_dummy_var vars. Handle OMP_CLAUSE_REDUCTION - with MEM_REF OMP_CLAUSE_DECL. Use new lookup_sfield overload. - (lower_send_shared_vars): Ignore fields with NULL or FIELD_DECL - abstract origin. Handle omp_member_access_dummy_var vars. - (expand_parallel_call): Use expand_omp_build_assign. - (expand_task_call): Handle taskloop construct expansion. Add - REGION argument. Use GOMP_TASK_* defines instead of hardcoded - integers. Add priority argument to GOMP_task* calls. Or in - GOMP_TASK_FLAG_PRIORITY into flags if priority is present for - GOMP_task call. - (expand_omp_build_assign): Add prototype. Add AFTER - argument, if true emit statements after *GSI_P and continue linking. - (expand_omp_taskreg): Adjust expand_task_call caller. - (expand_omp_for_init_counts): Rename zero_iter_bb argument to - zero_iter1_bb and first_zero_iter to first_zero_iter1, add - zero_iter2_bb and first_zero_iter2 arguments, handle computation - of counts even for ordered loops. - (expand_omp_for_init_vars): Handle GOMP_TASK inner_stmt. - (expand_omp_ordered_source, expand_omp_ordered_sink, - expand_omp_ordered_source_sink, expand_omp_for_ordered_loops): New - functions. - (expand_omp_for_generic): Use omp_adjust_chunk_size. Handle linear - clauses on worksharing loop. Handle DOACROSS loop expansion. - (expand_omp_for_static_nochunk): Handle linear clauses on - worksharing loop. Adjust expand_omp_for_init_counts - callers. - (expand_omp_for_static_chunk): Likewise. Use omp_adjust_chunk_size. - (expand_omp_simd): Handle addressable fd->loop.v. Adjust - expand_omp_for_init_counts callers. - (expand_omp_taskloop_for_outer, expand_omp_taskloop_for_inner): New - functions. - (expand_omp_for): Call expand_omp_taskloop_for_* for taskloop. - Handle doacross loops. - (expand_omp_target): Handle GF_OMP_TARGET_KIND_ENTER_DATA and - GF_OMP_TARGET_KIND_EXIT_DATA. Pass flags and depend arguments to - GOMP_target_{41,update_41,enter_exit_data} libcalls. - (expand_omp): Don't expand ordered depend constructs here, record - ord_stmt instead for later expand_omp_for_generic. - (build_omp_regions_1): Handle GF_OMP_TARGET_KIND_ENTER_DATA and - GF_OMP_TARGET_KIND_EXIT_DATA. Treat GIMPLE_OMP_ORDERED with depend - clause as stand-alone directive. - (lower_omp_ordered_clauses): New function. - (lower_omp_ordered): Handle OMP_CLAUSE_SIMD, for OMP_CLAUSE_DEPEND - don't lower anything. - (lower_omp_for_lastprivate): Use last _looptemp_ clause - on taskloop for comparison. - (lower_omp_for): Handle taskloop constructs. Adjust OMP_CLAUSE_DECL - and OMP_CLAUSE_LINEAR_STEP so that expand_omp_for_* can use it during - expansion for linear adjustments. - (create_task_copyfn): Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE. - (lower_depend_clauses): Assert not seeing sink/source depend kinds. - Set TREE_ADDRESSABLE on array. Change first argument from gimple * - to tree * pointing to the stmt's clauses. - (lower_omp_taskreg): Adjust lower_depend_clauses caller. - (lower_omp_target): Handle GF_OMP_TARGET_KIND_ENTER_DATA - and GF_OMP_TARGET_KIND_EXIT_DATA, depend clauses, - GOMP_MAP_{RELEASE,ALWAYS_{TO,FROM,TOFROM},FIRSTPRIVATE_POINTER,STRUCT} - map kinds, OMP_CLAUSE_{FIRSTPRIVATE,PRIVATE,{IS,USE}_DEVICE_PTR - clauses. Always use short kind and 8-bit align shift. - (lower_omp_regimplify_p): Use IS_TYPE_OR_DECL_P macro. - (struct lower_omp_regimplify_operands_data): New type. - (lower_omp_regimplify_operands_p, lower_omp_regimplify_operands): - New functions. - (lower_omp_1): Use lower_omp_regimplify_operands instead of - gimple_regimplify_operands. - (make_gimple_omp_edges): Handle GF_OMP_TARGET_KIND_ENTER_DATA and - GF_OMP_TARGET_KIND_EXIT_DATA. Treat GIMPLE_OMP_ORDERED with depend - clause as stand-alone directive. - (simd_clone_clauses_extract): Honor OMP_CLAUSE_LINEAR_KIND. - (simd_clone_mangle): Mangle the various linear kinds - per the new ABI. - (simd_clone_adjust_argument_types): Handle - SIMD_CLONE_ARG_TYPE_LINEAR_*_CONSTANT_STEP. - (simd_clone_init_simd_arrays): Don't do anything for uval. - (simd_clone_adjust): Handle - SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP like - SIMD_CLONE_ARG_TYPE_LINEAR_CONSTANT_STEP. - Handle SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP. - * omp-low.h (omp_member_access_dummy_var): New prototype. - * passes.def (pass_simduid_cleanup): Schedule another copy of the - pass after all optimizations. - * tree.c (omp_clause_code_name): Add entries for - OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT} - and OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD}. - (omp_clause_num_ops): Likewise. Bump number of OMP_CLAUSE_REDUCTION - arguments to 5 and for OMP_CLAUSE_ORDERED to 1. - (walk_tree_1): Adjust for OMP_CLAUSE_ORDERED having 1 argument and - OMP_CLAUSE_REDUCTION 5 arguments. Handle - OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT} - and OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD} - clauses. - * tree-core.h (enum omp_clause_linear_kind): New. - (struct tree_omp_clause): Change type of map_kind - from unsigned char to unsigned int. Add subcode.if_modifier - and subcode.linear_kind fields. - (enum omp_clause_code): Add - OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT} - and OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD}. - (OMP_CLAUSE_REDUCTION): Document - OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER. - (enum omp_clause_depend_kind): Add OMP_CLAUSE_DEPEND_{SOURCE,SINK}. - * tree.def (OMP_FOR): Add OMP_FOR_ORIG_DECLS operand. - (OMP_CRITICAL): Move before OMP_SINGLE. Add OMP_CRITICAL_CLAUSES - operand. - (OMP_ORDERED): Move before OMP_SINGLE. Add OMP_ORDERED_CLAUSES - operand. - (OMP_TASKLOOP, OMP_TARGET_ENTER_DATA, OMP_TARGET_EXIT_DATA): New tree - codes. - * tree.h (OMP_BODY): Replace OMP_CRITICAL with OMP_TASKGROUP. - (OMP_CLAUSE_SET_MAP_KIND): Cast to unsigned int rather than unsigned - char. - (OMP_CRITICAL_NAME): Adjust to be 3rd operand instead of 2nd. - (OMP_CLAUSE_NUM_TASKS_EXPR): Formatting fix. - (OMP_STANDALONE_CLAUSES): Adjust to cover OMP_TARGET_{ENTER,EXIT}_DATA. - (OMP_CLAUSE_DEPEND_SINK_NEGATIVE, OMP_TARGET_COMBINED, - OMP_CLAUSE_MAP_PRIVATE, OMP_FOR_ORIG_DECLS, OMP_CLAUSE_IF_MODIFIER, - OMP_CLAUSE_MAP_MAYBE_ZERO_LENGTH_ARRAY_SECTION, OMP_CRITICAL_CLAUSES, - OMP_CLAUSE_PRIVATE_TASKLOOP_IV, OMP_CLAUSE_LASTPRIVATE_TASKLOOP_IV, - OMP_CLAUSE_HINT_EXPR, OMP_CLAUSE_SCHEDULE_SIMD, - OMP_CLAUSE_LINEAR_KIND, OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER, - OMP_CLAUSE_SHARED_FIRSTPRIVATE, OMP_ORDERED_CLAUSES, - OMP_TARGET_ENTER_DATA_CLAUSES, OMP_TARGET_EXIT_DATA_CLAUSES, - OMP_CLAUSE_NUM_TASKS_EXPR, OMP_CLAUSE_GRAINSIZE_EXPR, - OMP_CLAUSE_PRIORITY_EXPR, OMP_CLAUSE_ORDERED_EXPR): Define. - * tree-inline.c (remap_gimple_stmt): Handle clauses on - GIMPLE_OMP_ORDERED and GIMPLE_OMP_CRITICAL. For - IFN_GOMP_SIMD_ORDERED_{START,END} set has_simduid_loops. - * tree-nested.c (convert_nonlocal_omp_clauses): Handle - OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,SIMDLEN,PRIORITY,SIMD} - and OMP_CLAUSE_{GRAINSIZE,NUM_TASKS,HINT,NOGROUP,THREADS,DEFAULTMAP} - clauses. Handle OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER. - (convert_local_omp_clauses): Likewise. - * tree-pretty-print.c (dump_omp_clause): Handle - OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,SIMDLEN,PRIORITY,SIMD} - and OMP_CLAUSE_{GRAINSIZE,NUM_TASKS,HINT,NOGROUP,THREADS,DEFAULTMAP} - clauses. Handle OMP_CLAUSE_IF_MODIFIER, OMP_CLAUSE_ORDERED_EXPR, - OMP_CLAUSE_SCHEDULE_SIMD, OMP_CLAUSE_LINEAR_KIND, - OMP_CLAUSE_DEPEND_{SOURCE,SINK}. Use "delete" for - GOMP_MAP_FORCE_DEALLOC. Handle - GOMP_MAP_{ALWAYS_{TO,FROM,TOFROM},RELEASE,FIRSTPRIVATE_POINTER,STRUCT}. - (dump_generic_node): Handle OMP_TASKLOOP, OMP_TARGET_{ENTER,EXIT}_DATA - and clauses on OMP_ORDERED and OMP_CRITICAL. - * tree-vectorizer.c (adjust_simduid_builtins): Adjust comment. - Remove IFN_GOMP_SIMD_ORDERED_{START,END}. - (vectorize_loops): Adjust comments. - (pass_simduid_cleanup::execute): Likewise. - * tree-vect-stmts.c (vectorizable_simd_clone_call): Handle - SIMD_CLONE_ARG_TYPE_LINEAR_{REF,VAL,UVAL}_CONSTANT_STEP. - * wide-int.h (wi::gcd): New. - -2015-10-13 Uros Bizjak - - * config/i386/i386.c (classify_argument): Use CEIL where applicable. - (ix86_function_arg_advance): Ditto. - (ix86_function_arg): Ditto. - (ix86_gimplify_va_arg): Ditto. - (ix86_class_max_nregs): Ditto. - (inline_memory_move_cost): Ditto. - (ix86_set_reg_reg_cost): Ditto. - * config/i386/i386.h (HARD_REGNO_NREGS): Ditto. - -2015-10-13 Alexandre Oliva - - PR middle-end/67912 - * expmed.c (store_bit_field_1): Adjust mode of BLKmode inputs. - -2015-10-13 Uros Bizjak - - * config/sparc/sparc.h (SPARC_STACK_ALIGN): Implement using - ROUND_UP macro and UNITS_PER_WORD * 2. - * config/sparc/sparc.c (sparc_compute_frame_size): - Use ROUND_UP and ROUND_DOWN macros where applicable. - (function_arg_record_value, function_arg_record_value_1) - (function_arg_record_value_1): Ditto. - (emit_save_or_restore_regs): Use ROUND_DOWN to preserve offset - alignment to double-word. - (sparc_gimplify_va_arg): Use ROUND_UP to calculate rsize. - (sparc_emit_probe_stack_range): Use ROUND_DOWN to calculate - rounded_size. - -2015-10-13 Nikolai Bozhenov - - * rtl.h (print_insn): Fix prototype. - -2015-10-13 Tom de Vries - - * tree-parloops.c (reduction_phi): Handle cases that gimple_uid is 0 or - -1. Add assert that returned entry matches phi argument. - (parallelize_loops): Move calls to init_stmt_vec_info_vec and - free_stmt_vec_info_vec ... - (gather_scalar_reductions): ... here. Initialize gimple_uids of phis - with -1. - -2014-10-13 Yuri Rumyantsev - - PR tree-optimization/67909, 67947 - * tree-ssa-loop-unswitch.c (find_loop_guard): Add check that GUARD_EDGE - really skip the inner loop. - -2015-10-13 Jeff Law - - * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths): - Allow single block jump threading paths. - -2015-10-13 Tom de Vries - - PR tree-optimization/67476 - * doc/invoke.texi (@item parloops-schedule): New item. - * params.def (PARAM_PARLOOPS_SCHEDULE): New DEFPARAMENUM5. - * tree-parloops.c: Include params-enum.h. - (create_parallel_loop): Handle PARAM_PARLOOPS_SCHEDULE. - -2015-10-13 Tom de Vries - - * Makefile.in (PARAMS_H, PLUGIN_HEADERS): Add params-enum.h. - * params-enum.h: New file. - * opts.c (handle_param): Handle case that param arg is a string. - * params-list.h: Handle DEFPARAMENUM5 in params.def. - * params.c (find_param): New function, factored out of ... - (set_param_value): ... here. - (param_string_value_p): New function. - * params.h (struct param_info): Add value_names field. - (find_param, param_string_value_p): Declare. - -2015-10-13 Tom de Vries - - PR tree-optimization/67476 - * omp-low.c (expand_omp_for_generic): Handle original loop tree. - -2015-10-13 Richard Biener - - * tree-vect-data-refs.c (vect_analyze_data_ref_dependences): Allocate - the data dependence vector. - (vect_peeling_hash_insert): Get the peeling hash table as argument. - (vect_peeling_hash_get_lowest_cost): Likewise. - (vect_enhance_data_refs_alignment): Adjust. - (struct _vect_peel_info, struct _vect_peel_extended_info, - struct peel_info_hasher): Move from ... - * tree-vectorizer.h: ... here. - (LOOP_VINFO_COST_MODEL_MIN_ITERS): Remove. - (LOOP_VINFO_PEELING_HTAB): Likewise. - (struct _loop_vec_info): Remove min_profitable_iters and - peeling_htab members. - * tree-vect-loop.c (new_loop_vec_info): Do not allocate vectors - here. - (destroy_loop_vec_info): Adjust. - (vect_analyze_loop_2): Do not set LOOP_VINFO_COST_MODEL_MIN_ITERS. - (vect_estimate_min_profitable_iters): Use LOOP_VINFO_COMP_ALIAS_DDRS - to estimate alias versioning cost. - * tree-vect-slp.c (vect_analyze_slp_cost): Dump header. - -2015-10-13 Richard Sandiford - - * real.h (real_isinteger): Declare. - * real.c (real_isinteger): New function. - * match.pd: Simplify pow(|x|,y) and pow(-x,y) to pow(x,y) - if y is an even integer. - -2015-10-11 Jan Hubicka - - revert: - 2015-10-11 Jan Hubicka - * cgraphbuild.c (compute_call_stmt_bb_frequency): Use - counts when these are more informative. - -2015-10-12 Jeff Law - - * tree-ssa-threadbackward.c (get_gimple_control_stmt): New function. - (fsm_find_control_stmt_paths): Change name of first argument to - more accurately relfect what it really is. Handle simplification - of GIMPLE_COND after finding a thread path for NAME. - * tree-ssa-threadedge.c (simplify_control_stmt_condition): Allow - nontrivial conditions to be handled by FSM threader. - (thread_through_normal_block): Extract the name to looup via - FSM threader from COND_EXPR. - - * tree-ssa-threadbackward.c (fsm_find_thread_path): Remove - restriction that traced SSA_NAME is a user variable. - -2015-10-12 Tom de Vries - - PR tree-optimization/67476 - * omp-low.c (expand_omp_for_generic): Add missing phis. - -2015-10-12 Tom de Vries - - PR tree-optimization/67476 - * omp-low.c (expand_omp_for_generic): Handle simple latch. - -2015-10-12 Christophe Lyon - - * config/aarch64/aarch64-simd-builtins.def: Update builtins - tables: add tbl3 and tbx4. - * config/aarch64/aarch64-simd.md (aarch64_tbl3v8qi): New. - (aarch64_tbx4v8qi): New. - * config/aarch64/arm_neon.h (vtbl3_s8, vtbl3_u8, vtbl3_p8) - (vtbl4_s8, vtbl4_u8, vtbl4_p8, vtbx4_s8, vtbx4_u8, vtbx4_p8): - Rewrite using builtin functions. - * config/aarch64/iterators.md (UNSPEC_TBX): New. - -2015-10-12 Uros Bizjak - - * config/rs6000/rs6000.h (RS6000_ALIGN): Implement using - ROUND_UP macro. - * config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_flush): - Use ROUND_UP and ROUND_DOWN macros where applicable. - (rs6000_darwin64_record_arg_flush): Ditto. - (rs6000_function_arg): Use ROUND_UP to calculate align_words. - (rs6000_emit_probe_stack_range): Use ROUND_DOWN to calculate - rounded_size. - -2015-10-12 Uros Bizjak - - * config/aarch/aarch64.h (AARCH64_ROUND_UP): Remove. - (AARCH64_ROUND_DOWN): Ditto. - * config/aarch64/aarch64.c: Use ROUND_UP instead of AARCH64_ROUND_UP. - -2015-10-12 Richard Biener - - PR ipa/67783 - * ipa-inline-analysis.c (estimate_function_body_sizes): Re-add - code that analyzes IVs on each stmt but in a cheaper way avoiding - quadratic behavior. - -2015-10-12 Nick Clifton - - * config/msp430/msp430.c (msp430_mcu_names): Rename to - msp430_mcu_data, add fields for ISA and hardware multiply - support. Import latest data from the devices.csv file. - (msp430_override_option): Use the data from the new array. - (msp430_use_f5_series_hwmult): Likewise. - (use_32bit_hwmult): Likewise. - (msp430_no_hwmult): Likewise. - * config/msp430/t-msp430 (MULTILIB_MATCHES): Add matches for new - MCU names. - * doc/invoke.texi (MSP430 Options): Note that if the MCU name is - not recognised then no hardware multiply support is assumed and - that only the MSP430 ISA is allowed. - -2015-10-12 Richard Biener - - * tree-vect-loop.c (vect_analyze_loop_operations): Move cost - related code ... - (vect_analyze_loop_2): ... here. - -2015-10-11 Jason Merrill - - PR c++/67557 - * expr.c (store_field): Call store_constructor directly when - storing a CONSTRUCTOR into a target smaller than its type. - Guard against unsafe bitwise copy. - -2015-10-11 Jan Hubicka - - * cgraphbuild.c (compute_call_stmt_bb_frequency): Use - counts when these are more informative. - -2015-10-11 Jan Hubicka - - * tree-profile.c (tree_profiling): Do not clear - pure/const when not instrumenting. - (pass tree_profile): Add dump of symtab. - -2015-10-11 Jan Hubicka - - * fold-const.c (fold_comparsion): Pass OEP_ADDRESS_OF when comparing - addresses. - (fold_addr_of_array_ref_difference): Likewise. - -2015-10-11 Jeff Law - - * tree-ssa-threadedge.c (fsm_find_thread_path): Moved from here into - tree-ssa-threadbackward.c. - (fsm_find_control_statement_thread_paths): Likewise. - (thread_through_normal_block): Break out FSM bits and move them - into a new function in tree-ssa-threadbackward.c. Call new function - instead. - Minimize header file usage. - * tree-ssa-threadbackward.h: New file. - * tree-ssa-threadbackward.c: Likewise. - * Makefile.in (OBJS): Add tree-ssa-threadbackward.o - -2015-10-11 Uros Bizjak - - * config/alpha/alpha.h (ALPHA_ROUND): Implement using ROUND_UP macro. - -2015-10-11 Segher Boessenkool - - PR rtl-optimization/67864 - * bb-reorder (reorder_basic_blocks_simple): Prefer existing - fallthrough edges for conditional jumps. Don't sort candidate - edges if not optimizing for speed. - -2015-10-10 Trevor Saunders - - * defaults.h (REVERSE_CONDITION): New default definition. - * jump.c (reversed_comparison_code_parts): Adjust. - -2015-10-10 Trevor Saunders - - * builtins.c (expand_builtin_setjmp_receiver): Don't use #if to - check HARD_FRAME_POINTER_IS_ARG_POINTER. - -2015-10-10 Trevor Saunders - - * defaults.h (FRAME_ADDR_RTX): New default definition. - * builtins.c (expand_builtin_return_addr): Adjust. - -2015-10-10 Trevor Saunders - - * defaults.h (DYNAMIC_CHAIN_ADDRESS): New default definition. - * builtins.c (expand_builtin_return_addr): Adjust. - -2015-10-10 Trevor Saunders - - * defaults.h (SETUP_FRAME_ADDRESSES): New default definition. - * builtins.c (expand_builtin_return_addr): Adjust. - * doc/tm.texi: Likewise. - * doc/tm.texi.in: Likewise. - * except.c (expand_builtin_unwind_init): Likewise. - -2015-10-10 Trevor Saunders - - * builtins.c (expand_builtin_return_addr): Adjust. - * defaults.h (INITIAL_FRAME_ADDRESS_RTX): New default definition. - -2015-10-10 Jan Hubicka - - * tree.c (type_with_interoperable_signedness): New. - (gimple_canonical_types_compatible_p): Use it. - * tree.h (type_with_interoperable_signedness): Declare - -2015-10-10 Jan Hubicka - - * fold-const.c (operand_equal_p): Document OEP_ADDRESS_OF - and OEP_CONSTANT_ADDRESS_OF; skip type compatibility checks - when OEP_ADDRESS_OF is se. - -2015-10-10 Aditya Kumar - Sebastian Pop - - * graphite-dependences.c (scop_get_dependences): Add dump of the - data dependence graph. - * graphite-poly.c (print_isl_union_map): New. - (debug_isl_union_map): New. - * graphite-poly.h (print_isl_union_map): Declare. - (debug_isl_union_map): Declare. - -2015-10-10 Aditya Kumar - Sebastian Pop - - * graphite-poly.c (print_iteration_domain): Remove verbosity. - Remove OpenScop formatting. - (print_iteration_domains): Same. - (debug_iteration_domain): Same. - (debug_iteration_domains): Same. - (print_pdr): Same. - (debug_pdr): Same. - (dump_gbb_cases): Same. - (dump_gbb_conditions): Same. - (print_pdrs): Same. - (debug_pdrs): Same. - (print_pbb_body): Same. - (print_pbb): Same. - (print_scop_params): Same. - (print_scop_context): Same. - (print_scop): Same. - (debug_pbb_domain): Same. - (debug_pbb): Same. - (debug_scop_context): Same. - (debug_scop): Same. - (debug_scop_params): Same. - * graphite-poly.h: Same. - * graphite.c (graphite_transform_loops): Same. - -2015-10-10 Trevor Saunders - - * function.c (stack_protect_epilogue): Remove as_a () - call that isn't needed. - -2015-10-09 Jeff Law - - * tree-ssanames.c (flush_ssaname_freelist): Use splice and truncate - rather than moving each name to the freelist individually. - -2015-10-09 Steve Ellcey - - * config.gcc (mips*-*-*): Add frame-header-opt.o to extra_objs. - * frame-header-opt.c: New file. - * config/mips/mips-proto.h (mips_register_frame_header_opt): - Add prototype. - * config/mips/mips.c (mips_compute_frame_info): Check - optimize_call_stack flag. - (mips_option_override): Register new frame_header_opt pass. - (mips_frame_info, mips_int_mask, mips_shadow_set, - machine_function): Move these types to... - * config/mips/mips.h: here. - (machine_function): Add does_not_use_frame_header and - optimize_call_stack fields. - * config/mips/t-mips (frame-header-opt.o): Add new make rule. - * doc/invoke.texi (-mframe-header-opt, -mno-frame-header-opt): - Document new flags. - * config/mips/mips.opt (mframe-header-opt): Add new option. - -2015-10-09 Uros Bizjak - - * config/i386/i386.c - (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Use - ROUND_DOWN where applicable. - -2015-10-09 Jeff Law - - * tree-vect-stmts.c (free_stmt_vec_info): Free the LHS of the - correct statement. - -2015-10-09 Renlin Li - - * config/arm/neon.md (neon_vuzp_insn): Add & modifier for - operands[0] and operands[2]. - (neon_vtrn_insn): Likewise. - (neon_vzip_insn): Likewise. - -2015-10-09 Andre Vieira - - * match.pd: ((X inner_op C0) outer_op C1) New pattern. - ((X & C2) << C1): Expand to... - (X {&,^,|} C2 << C1): ...This. - ((X & C2) >> C1): Expand to... - (X {&,^,|} C2 >> C1): ...This. - -2015-10-09 Alexander Fomin - - PR target/67895 - * config/i386/sse.md (define_insn "sse_cvtsi2ss"): - Adjust embedded rounding/SAE specifier position. - (define_insn "sse_cvtsi2ssq"): Likewise. - (define_insn "cvtusi232"): Likewise. - (define_insn "cvtusi264"): Likewise. - (define_insn "sse2_cvtsi2sdq"): Likewise. - (define_insn "avx512dq_rangep"): - Likewise. - (define_insn "avx512dq_ranges"): Likewise. - -2015-10-09 Martin Jambor - - tree-optimization/67794 - * tree-sra.c (replace_removed_params_ssa_names): Do not distinguish - between types of state,ents but accept original definitions as a - parameter. - (ipa_sra_modify_function_body): Use FOR_EACH_SSA_DEF_OPERAND to - iterate over definitions. - -2015-10-09 James Norris - - * config/rs6000/rs6000.c (rs6000_offload_options): New. - (TARGET_OFFLOAD_OPTIONS): New. - -2015-10-09 Alexandre Oliva - - PR middle-end/67891 - * cfgexpand.c (set_parm_rtl): Drop is_gimple_reg test. - - PR middle-end/67766 - * function.c (expand_function_end): Move return value - promotion past the handling of PARALLELs and CONCATs. - - PR rtl-optimization/67828 - * tree-ssa-loop-unswitch.c: Include tree-ssa.h. - (tree_may_unswitch_on): Don't unswitch on expressions - involving undefined values. - -2015-10-09 Richard Biener - - * genmatch.c (print_operand): Fix formatting. - (dt_node::append_simplify): Warn for multiple simplifiers - that match the same pattern. - * match.pd (log (exp @0)): Remove duplicates. - -2015-10-09 Richard Biener - - PR target/67366 - * gimple-fold.c (optabs-query.h): Include - (gimple_fold_builtin_memory_op): Allow unaligned stores - when movmisalign_optabs are available. - -2015-10-09 Ramana Radhakrishnan - - PR target/67366 - * config/arm/arm.md (movmisalign): New. - * config/arm/iterators.md (HSI): New. - -2015-10-09 Richard Biener - - PR tree-optimization/67891 - * gimple-match.h (gimple_simplified_result_is_gimple_val): - New helper. - (gimple_resimplify1): Declare. - (gimple_resimplify2): Likewise. - (gimple_resimplify3): Likewise. - * gimple-match-head.c (gimple_resimplify1): Export. - (gimple_resimplify2): Likewise. - (gimple_resimplify3): Likewise. - (maybe_push_res_to_seq): Use gimple_simplified_result_is_gimple_val. - * gimple-fold.c (gimple_fold_stmt_to_constant_1): Likewise. - * tree-ssa-sccvn.c (visit_reference_op_load): Use gimple_resimplify1 - to avoid creating stmts without VN info. - -2015-10-08 Jan Hubicka - - * ipa-icf.c (sem_item::compare_symbol_references): Fix use - of availability. - -2015-10-08 Jeff Law - - * value-prof.c (gimple_ic): Add missing calls to unlink_stmt_vdef - and release_ssa_name in two places. - (gimple_stringop_fixed_value): Similarly. - - * tree-ssa-loop-im.c (rewrite_bittest): Add missing call to - release_defs. - - * tree-stdarg.c (expand_ifn_va_arg_1): Add missing call to - unlink_stmt_vdef and release_ssa_name_fn. - - * tree-ssa-dse.c (dse_optimize_stmt): Add missing call to - release_defs. - -2015-10-08 H.J. Lu - - * config/i386/i386.c (ix86_compute_frame_layout): Round up the - SSE register save area to 16 bytes only if the incoming stack - boundary is no less than 16 bytes. - -2015-10-08 Jeff Law - - * tree-ssa-phiopt.c (factor_out_conversion): Add missing calls to - release_ssa_name. Fix typo in comment. - -2015-10-08 Nathan Sidwell - - * config/nvptx/nvptx.h (struct machine_function): Add comment. - * config/nvptx/nvptx.c (nvptx_declare_function_name): Functions - may return pointer as well as in memory. - (nvptx_output_return): Likewise. - -2015-10-08 Richard Sandiford - - * builtins.c (fold_builtin_sqrt, fold_builtin_cbrt): Delete. - (fold_builtin_1): Update accordingly. Handle constant arguments here. - * match.pd: Add rules previously handled by fold_builtin_sqrt - and fold_builtin_cbrt. - -2015-10-08 Richard Sandiford - - * params.def (PARAM_MAX_SSA_NAME_QUERY_DEPTH): New param. - * doc/invoke.texi (--param max-ssa-name-query-depth): Document. - * fold-const.h (tree_unary_nonnegative_warnv_p) - (tree_single_nonnegative_warnv_p, tree_call_nonnegative_warnv_p) - (tree_expr_nonnegative_warnv_p): Add depth parameters. - * fold-const.c: Include gimple-fold.h and params.h. - (tree_ssa_name_nonnegative_warnv_p): New function. - (tree_unary_nonnegative_warnv_p, tree_binary_nonnegative_warnv_p) - (tree_single_nonnegative_warnv_p, tree_call_nonnegative_warnv_p) - (tree_invalid_nonnegative_warnv_p, tree_expr_nonnegative_warnv_p): - Add a depth parameter and increment it for recursive calls to - tree_expr_nonnegative_warnv_p. Use tree_ssa_name_nonnegative_warnv_p - to handle SSA names. - * gimple-fold.h (gimple_val_nonnegative_real_p): Delete. - (gimple_stmt_nonnegative_warnv_p): Declare. - * tree-vrp.c (remove_range_assertions): Remove assert that condition - cannot be proven false. - (gimple_assign_nonnegative_warnv_p, gimple_call_nonnegative_warnv_p) - (gimple_stmt_nonnegative_warnv_p): Move to... - * gimple-fold.c: ...here. Add depth parameters and pass them - down to the tree routines. Accept statements that aren't - assignments or calls but just return false for them. - (gimple_val_nonnegative_real_p): Delete. - * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Use - tree_expr_nonnegative_p instead of gimple_val_nonnegative_real_p. - Check HONOR_NANs first. - -2015-10-08 Martin Jambor - - * ipa-cp.c (meet_with_1): Make the argument of abs signed. Remove - unnecessary MIN. - -2015-10-08 Yuri Rumyantsev - - * tree-vect-loop.c (vect_analyze_loop_operations): Skip virtual phi - in the tail of outer-loop. - -2015-10-08 David Edelsohn - - * config/rs6000/rs6000.c (rs6000_xcoff_debug_unwind_info): Always - return UI_NONE. - -2015-10-08 Yuri Rumyantsev - - * tree-ssa-loop-unswitch.c: Include "gimple-iterator.h" and - "cfghooks.h", add prototypes for introduced new functions. - (tree_ssa_unswitch_loops): Use from innermost loop iterator, move all - checks on ability of loop unswitching to tree_unswitch_single_loop; - invoke tree_unswitch_single_loop or tree_unswitch_outer_loop depending - on innermost loop check. - (tree_unswitch_single_loop): Add all required checks on ability of - loop unswitching under zero recursive level guard. - (tree_unswitch_outer_loop): New function. - (find_loop_guard): Likewise. - (empty_bb_without_guard_p): Likewise. - (used_outside_loop_p): Likewise. - (get_vop_from_header): Likewise. - (hoist_guard): Likewise. - (check_exit_phi): Likewise. - -2015-10-08 Marek Polacek - - * tree-ssa-reassoc.c (dump_ops_vector): Print newline after each - ops element. - -2015-10-08 Andreas Krebbel - - PR c/65345 - * config/s390/s390.c (s390_atomic_assign_expand_fenv): Use - create_tmp_var_raw instead of create_tmp_var. - -2015-10-07 Jan Hubicka - - * expr.c (store_expr_with_bounds): Handle aggregate moves from - BLKmode. - * gimple-expr.c (useless_type_conversion_p): Do not use TYPE_CANONICAL - to define gimple type system; compare aggregates only by size. - -2015-10-07 Jeff Law - - * tree-ssa-dom.c (optimize_stmt): Don't set LOOPS_NEED_FIXUP here. - * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): Do it - here instead. Tighten test to avoid setting LOOPS_NEED_FIXUP - unnecessarily. - -2015-10-07 Aditya Kumar - Sebastian Pop - - * graphite-dependences.c (scop_get_dependences): Do not use SCOP_BBS. - * graphite-isl-ast-to-gimple.c (get_max_schedule_dimensions): Same. - (generate_isl_schedule): Same. - * graphite-optimize-isl.c (scop_get_domains): Same. - (apply_schedule_map_to_scop): Same. - * graphite-poly.c (print_iteration_domains): Same. - (remove_gbbs_in_scop): Same. - (new_scop): Same. - (free_scop): Same. - (print_scop): Same. - * graphite-poly.h (struct scop): Rename bbs to pbbs. - (SCOP_BBS): Remove. - * graphite-scop-detection.c (compare_bb_depths): Remove. - (graphite_sort_dominated_info): Remove. - (try_generate_gimple_bb): Move out of scop_detection. - (all_non_dominated_preds_marked_p): Remove. - (build_scop_bbs_1): Remove. - (build_scop_bbs): Remove. - (nb_pbbs_in_loops): Do not use SCOP_BBS. - (find_scop_parameters): Same. - (sese_dom_walker): Rename gather_bbs. - (before_dom_children): Call try_generate_gimple_bb and collect gbb - and pbb. - (build_scops): Call gather_bbs. - * graphite-sese-to-poly.c (build_scop_scattering): Do not use SCOP_BBS. - (add_conditions_to_constraints): Same. - (build_scop_iteration_domain): Same. - (build_scop_drs): Same. - (new_pbb_from_pbb): Same. - * sese.c (new_sese_info): Create bbs. - * sese.h (struct sese_info_t): Add bbs. - -2015-10-07 David Edelsohn - - * config/rs6000/xcoff.h (ASM_PREFERRED_EH_DATA_FORMAT): Use 64-bit - encoding in 64-bit mode. - -2015-10-07 Uros Bizjak - - PR target/66697 - * config/i386/i386.c (ix86_option_override_internal): Always use - 8-byte minimum stack boundary in 64-bit mode. - (ix86_compute_frame_layout): Remove assert on INCOMING_STACK_BOUNDARY. - (ix86_emit_save_reg_using_mov): Support unaligned SSE store. - Add a REG_CFA_EXPRESSION note if needed. - (ix86_emit_restore_sse_regs_using_mov): Support unaligned SSE load. - (ix86_handle_force_align_arg_pointer_attribute): New. - (ix86_minimum_incoming_stack_boundary): Remove TARGET_64BIT check. - (ix86_attribute_table): Set ix86_force_align_arg_pointer_string - with ix86_handle_force_align_arg_pointer_attribute. - * config/i386/i386.h (MIN_STACK_BOUNDARY): Set to BITS_PER_WORD. - -2015-10-07 Aditya Kumar - Sebastian Pop - - * graphite-scop-detection.c (parameter_index_in_region): Remove - use of SESE_ADD_PARAMS. - (find_scop_parameters): Same. - * sese.c (new_sese_info): Same. - * sese.h (struct sese_info_t): Remove add_params. - (SESE_ADD_PARAMS): Remove. - -2015-10-07 Aditya Kumar - Sebastian Pop - - * graphite-isl-ast-to-gimple.c (translate_isl_ast_to_gimple): Use - an sese_info_p. - (copy_def): Same. - (copy_internal_parameters): Same. - (translate_isl_ast_to_gimple): Use an sese_l. - (build_iv_mapping): Same. - * graphite-poly.c (new_sese): Rename new_sese_info. - (free_sese): Rename free_sese_info. - * graphite-poly.h (struct scop): Use an sese_info_p. - (scop_set_region): Same. - * graphite-scop-detection.c (struct sese_l): Moved... - (get_entry_bb): Moved... - (get_exit_bb): Moved... - (parameter_index_in_region_1): Use an sese_info_p. - (parameter_index_in_region): Same. - (scan_tree_for_params): Same. - (find_params_in_bb): Same. - (sese_dom_walker): Use an sese_l. - * graphite-sese-to-poly.c (remove_invariant_phi): Same. - (reduction_phi_p): Same. - (parameter_index_in_region_1): Use an sese_info_p. - (propagate_expr_outside_region): Use an sese_l. - * graphite.c: Replace uses of SCOP_REGION. - * sese.c (sese_record_loop): Use an sese_info_p. - (build_sese_loop_nests): Same. - (sese_build_liveouts_use): Same. - (sese_build_liveouts_bb): Same. - (sese_build_liveouts_bb): Same. - (sese_bad_liveouts_use): Same. - (sese_reset_debug_liveouts_bb): Same. - (sese_build_liveouts): Same. - (new_sese): Renamed new_sese_info. - (free_sese): Renamed free_sese_info. - (set_rename): Use an sese_info_p. - (graphite_copy_stmts_from_block): Same. - (copy_bb_and_scalar_dependences): Same. - (outermost_loop_in_sese_1): Use an sese_l. - (outermost_loop_in_sese): Same. - (if_region_set_false_region): Use an sese_info_p. - (move_sese_in_condition): Same. - (scalar_evolution_in_region): Use an sese_l. - * sese.h (struct sese_l): ... here. - (SESE_ENTRY): Remove. - (SESE_ENTRY_BB): Remove. - (SESE_EXIT): Remove. - (SESE_EXIT_BB): Remove. - (sese_contains_loop): Use an sese_info_p. - (sese_nb_params): Same. - (bb_in_sese_p): Use an sese_l. - (stmt_in_sese_p): Same. - (defined_in_sese_p): Same. - (loop_in_sese_p): Same. - (sese_loop_depth): Same. - (struct ifsese_s): Use an sese_info_p. - (gbb_loop_at_index): Use an sese_l. - (nb_common_loops): Same. - (scev_analyzable_p): Same. - -2015-10-07 H.J. Lu - - * config/i386/i386.c (ix86_conditional_register_usage): Use - CALL_USED_REGISTERS_MASK. - * config/i386/i386.h (CALL_USED_REGISTERS_MASK): New macro. - -2015-10-07 H.J. Lu - - PR bootstrap/67385 - * configure.ac (gcc_cv_readelf): Check $READELF_FOR_TARGET. - * configure: Regenerated. - -2015-10-07 H.J. Lu - - PR target/67850 - * config/i386/i386.c (ix86_maybe_switch_abi): Merged with ... - (ix86_set_current_function): This. - (TARGET_EXPAND_TO_RTL_HOOK): Removed. - -2015-10-07 Richard Biener - - * tree-vectorizer.h (stmt_vec_info_vec): Use vec. - (vinfo_for_stmt): Adjust. - (set_vinfo_for_stmt): Likewise. - * tree-vectorizer.c (stmt_vec_info_vec): Likewise. - * tree-vect-stmts.c (free_stmt_vec_info_vec): Likewise. - * tree-vect-loop.c (new_loop_vec_info): Remove special-casing - of inner loop. - (vect_analyze_loop_1): Remove. - (vect_analyze_loop_form_1): Avoid building a loop_vec_info for - inner loop when vectorizing an outer loop by splitting out from ... - (vect_analyze_loop_form): ... here. - -2015-10-07 Ramana Radhakrishnan - - PR c/65345 - * config/arm/arm-builtins.c (arm_atomic_assign_expand_fenv): - Use create_tmp_var_raw instead of create_tmp_var. - -2015-10-07 Richard Sandiford - - * real.h (dconst_quarter, dconst_sixth, dconst_ninth): New macros. - (dconst_quarter_ptr, dconst_sixth_ptr, dconst_ninth_ptr): Declare. - * real.c (CACHED_FRACTION): New helper macro. - (dconst_third_ptr): Use it. - (dconst_quarter_ptr, dconst_sixth_ptr, dconst_ninth_ptr): New. - * builtins.c (fold_builtin_sqrt): Use dconst_quarter and - dconst_sixth. - (fold_builtin_cbrt): Use dconst_sixth and dconst_ninth. - -2015-10-06 Jeff Law - - PR tree-optimization/67816 - * tree-ssa-threadupdate.h (remove_jump_threads_including): Renamed - from remove_jump_threads_starting_at. Accept an edge rather than - a basic block. - * tree-ssa-threadupdate.c (removed_edges): New hash table. - (remove_jump_threads_including): Note edges that get removed from - the CFG for later pruning of jump threading paths including them. - (thread_through_all_blocks): Remove paths which include edges that - have been removed. - * tree-ssa-dom.c (optimize_stmt): Call remove_jump_threads_including - on each outgoing edges when optimizing away a control statement. - -2015-10-06 Trevor Saunders - - * reorg.c (emit_delay_sequence): Store list of delay slot insns - in a vector instead of rtx_insn_list. - (add_to_delay_list): Likewise. - (delete_from_delay_slot): Likewise. - (optimize_skip): Likewise. - (redirect_with_delay_list_safe_p): Likewise. - (check_annul_list_true_false): Likewise. - (steal_delay_list_from_target): Likewise. - (steal_delay_list_from_fallthrough): Likewise. - (redundant_insn): Likewise. - (fill_simple_delay_slots): Likewise. - (fill_slots_from_thread): Likewise. - (fill_eager_delay_slots): Likewise. - (relax_delay_slots): Likewise. - -2015-10-06 Sandra Loosemore - - * config/nios2/nios2.c (nios2_symbol_ref_in_small_data_p): - For -mgpopt=local, also exclude unintialized common symbols. - * doc/invoke.texi (Nios II Options): Document the change. - -2015-10-07 Kugan Vivekanandarajah - - * config/aarch64/iterators.md (vwcore): Add missing cases for - V4HF/V8HF modes. - -2015-10-06 Aditya Kumar - Sebastian Pop - - * graphite-poly.c (new_scop): Initialize drs. - * graphite-poly.h (struct dr_info): New. - (struct scop): Add drs. - * graphite-sese-to-poly.c (pdr_add_alias_set): Use dr_info. - (pdr_add_memory_accesses): Same. - (build_poly_dr): Same. - (build_alias_set): Same. - (build_scop_drs): Same. - (build_pbb_drs): Remove. - * tree-data-ref.c (create_data_ref): Do not initialize alias_set. - * tree-data-ref.h (data_reference): Remove alias_set. - -2015-10-06 Aditya Kumar - Sebastian Pop - - * graphite-poly.c (free_data_refs_aux): Remove. - (free_gimple_poly_bb): Do not call free_data_refs_aux. - * graphite-poly.h (struct base_alias_pair): Remove. - * graphite-sese-to-poly.c (pdr_add_alias_set): Remove all uses of - base_alias_pair and dr->aux. - (build_alias_set): Same. - * tree-data-ref.c (create_data_ref): Initialize alias_set. - * tree-data-ref.h (data_reference): Add alias_set. - -2015-10-06 Aditya Kumar - Sebastian Pop - - * graphite-poly.c (new_poly_dr): Remove dr_base_object_set. - Do not set PDR_BASE_OBJECT_SET. - * graphite-poly.h (poly_dr): Same. - (PDR_BASE_OBJECT_SET): Remove. - (new_poly_dr): Update decl. - * graphite-sese-to-poly.c (build_poly_dr): Update call to - new_poly_dr. - (write_alias_graph_to_ascii_dimacs): Remove. - (write_alias_graph_to_ascii_dot): Remove. - (write_alias_graph_to_ascii_ecc): Remove. - (dr_same_base_object_p): Remove. - (build_alias_set_optimal_p): Rename build_alias_set. Remove dead - code. - (build_base_obj_set_for_drs): Remove. - (dump_alias_graphs): Remove. - (build_scop_drs): Remove dead code. - -2015-10-05 Michael Meissner - Peter Bergner - - PR target/67808 - * config/rs6000/rs6000.md (extenddftf2): In the expander, only - allow registers, but provide insns for the combiner to create for - loads from memory. Separate VSX code from non-VSX code. For - non-VSX code, combine extenddftf2_fprs into extenddftf2 and rename - externaldftf2_internal to externaldftf2_fprs. Reorder constraints - so that registers come before memory operations. Drop support from - converting DFmode to TFmode, if the DFmode value is in a GPR - register. - (extenddftf2_fprs): Likewise. - (extenddftf2_internal): Likewise. - (extenddftf2_vsx): Likewise. - (extendsftf2): In the expander, only allow registers, but provide - insns for the combiner to create for stores and loads. - -2015-10-06 Ramana Radhakrishnan - - * varasm.c (default_elf_asm_named_section): Remove ATTRIBUTE_UNUSED - from the decl parameter. - -2015-10-06 Nathan Sidwell - - PR 67861 - * gimple-fold.c (gimple_fold_builtin): Add break after - BUILT_IN_PRINTF_CHK, BUILT_IN_VPRINTF_CHK folding. - -2015-10-06 H.J. Lu - - * graphite-optimize-isl.c (optimize_isl): Rename scop->ctx - to scop->isl_context. - -2015-10-06 Eric Botcazou - - * config/arm/arm.c (arm_emit_probe_stack_range): Adjust comment. - (output_probe_stack_range): Rotate the loop and simplify. - (thumb1_expand_prologue): Tweak sorry message. - * config/arm/arm.md (probe_stack): Use bare string. - -2015-10-06 Nick Clifton - - * config.gcc (lm32-elf): Add newlib-stdint.h to tm_file. - -2015-10-06 Nick Clifton - - * config/msp430/msp430.c (ATTR_NOINIT): New constant. - (ATTR_PERSIST): New constant. - (msp430_data_attr): New function - verifies an attribute that only - applies to variables. - (msp430_attributes): Add noinit and persistent attributes. - (noinit_section): New variable. - (presis_section): New variable. - (TARGET_ASM_INIT_SECTIONS): Define. - (msp430_init_sections): New function - initialises the noinit and - persist section variables. - (msp430_select_section): Add support for noinit and persist - attributes. - (msp430_section_type_flags): Likewise. - * doc/extend.texi: Document the reent, critical, wakeup, noinit - and persistent attributes. - -2015-10-05 Aditya Kumar - Sebastian Pop - - * graphite-dependences.c (scop_get_transformed_schedule): Remove. - (no_violations): Remove. - (subtract_commutative_associative_deps): Remove. - (compute_deps): Do not call subtract_commutative_associative_deps. - (transform_is_safe): Remove. - (graphite_legal_transform): Remove. - * graphite-poly.h (graphite_legal_transform): Remove. - -2015-10-05 Aditya Kumar - - * graphite-sese-to-poly.c (build_loop_iteration_domains): Only loops - which are in this region are passed so gcc_assert and remove redundant - computation. - * sese.c (sese_build_liveouts): Pass only those bbs which are not - in region. - (sese_bad_liveouts_use): Only BBs which are not in region are passed so - gcc_assert on that and remove unnecessary computation. - (sese_build_liveouts_use): Same. - -2015-10-05 Aditya Kumar - - * graphite-dependences.c (scop_get_reads): Renamed scop->context - to scop->param_context. - (scop_get_must_writes): Same. - (scop_get_may_writes): Same. - (scop_get_original_schedule): Same. - (scop_get_transformed_schedule): Same. - (subtract_commutative_associative_deps): Same. - * graphite-isl-ast-to-gimple.c (add_parameters_to_ivs_params): Same. - (generate_isl_context): Same. - (generate_isl_schedule): Same. - (scop_to_isl_ast): Same. - (graphite_regenerate_ast_isl): Same. - * graphite-optimize-isl.c (scop_get_domains): Same. - (optimize_isl): Renamed scop->context to scop->param_context. - * graphite-poly.c (new_poly_bb): Change the type of argument to - gimple_poly_bb_p. - (new_scop): Renamed scop->context to scop->param_context. - (free_scop): Same. - (print_scop_context): Same. - * graphite-poly.h (new_poly_dr): Change the type of argument from - void* to data_reference_p. - (struct poly_bb): Change the type of black_box to gimple_poly_bb_p. - (new_poly_bb): Change the type of argument from void* to - gimple_poly_bb_p. - (pbb_set_black_box): Same. - (struct scop): Rename context to param_context, ctx to isl_context. - * graphite-scop-detection.c (scop_detection::build_scop_bbs_1): - Move declarations closer to assignment. - (find_params_in_bb): Same. - (find_scop_parameters): Same. - * graphite-sese-to-poly.c (unsigned ssa_name_version_typesize): - Global to be used for statement IDs. - (isl_id_for_pbb): Use ssa_name_version_typesize. - (simple_copy_phi_p): Move declarations closer to assignment. - (build_pbb_scattering_polyhedrons): Same. - (build_scop_scattering): Same. - (isl_id_for_ssa_name): Same. - (extract_affine_name): Same. - (extract_affine_int): Same. - (extract_affine): Same. - (set_scop_parameter_dim): Use renamed member. - (build_loop_iteration_domains): Same. - (add_param_constraints): Same. - (build_scop_iteration_domain): Same. - (pdr_add_data_dimensions): Same. - (build_poly_dr): Same. - (build_scop_drs): Move declarations closer to assignment. - (analyze_drs_in_stmts): Same. - (insert_out_of_ssa_copy): Same. - (insert_out_of_ssa_copy_on_edge): Same. - (propagate_expr_outside_region): Same. - (rewrite_phi_out_of_ssa): Same. - (rewrite_degenerate_phi): Same. - (rewrite_reductions_out_of_ssa): Same. - (rewrite_cross_bb_scalar_dependence): Same. - (handle_scalar_deps_crossing_scop_limits): Same. - (rewrite_cross_bb_scalar_deps): Same. - * graphite.c (graphite_transform_loops): Use renamed member. - -2015-10-06 Uros Bizjak - - PR c/65345 - * config/alpha/alpha.c (alpha_atomic_assign_expand_fenv): Use - create_tmp_var_raw instead of create_tmp_var. - -2015-10-06 Ramana Radhakrishnan - - PR c/65345 - * config/aarch64/aarch64-builtins.c (aarch64_atomic_assign_expand_fenv): - Use create_tmp_var_raw instead of create_tmp_var. - -2015-10-06 Alexander Fomin - - PR target/67849 - * config/i386/sse.md (define_split vec_select/V8FI): Restrict - split for upper-bank registers when target does not support - AVX512VL. - (define_insn "vec_extract_lo_"): Restrict - split when target does not support AVX512VL. - -2015-10-06 David Edelsohn - - PR c/65345 - * config/rs6000/rs6000.c (rs6000_atomic_assign_expand_fenv): - Adjust to use create_tmp_var_raw instead of create_tmp_var. - -2015-10-06 Nick Clifton - - * config/rl78/rl78.c (rl78_rtx_costs): Improve cost estimates for - multiplication. - -2015-10-06 Venkataramanan Kumar - - * config.gcc (i[34567]86-*-linux* | ...): Add znver1. - (case ${target}): Add znver1. - * config/i386/cpuid.h(bit_CLZERO): Define. - * config/i386/driver-i386.c: (host_detect_local_cpu): Let - -march=native recognize znver1 processors. - * config/i386/i386-c.c (ix86_target_macros_internal): Add - znver1, clzero def_and_undef. - * config/i386/i386.c (struct processor_costs znver1_cost): New. - (m_znver1): New definition. - (m_AMD_MULTIPLE): Includes m_znver1. - (processor_target_table): Add znver1 entry. - (ix86_target_string) : Add clzero entry. - (static const char *const cpu_names): Add znver1 entry. - (ix86_option_override_internal): Add znver1 instruction sets. - (PTA_CLZERO) : New definition. - (ix86_option_override_internal): Handle new clzerooption. - (ix86_issue_rate): Add znver1. - (ix86_adjust_cost): Add znver1. - (ia32_multipass_dfa_lookahead): Add znver1. - (has_dispatch): Add znver1. - * config/i386/i386.h (TARGET_znver1): New definition. - (TARGET_CLZERO): Define. - (TARGET_CLZERO_P): Define. - (struct ix86_size_cost): Add TARGET_ZNVER1. - (enum processor_type): Add PROCESSOR_znver1. - * config/i386/i386.md (define_attr "cpu"): Add znver1. - (set_attr znver1_decode): New definitions for znver1. - * config/i386/i386.opt (flag_dispatch_scheduler): Add znver1. - (mclzero): New. - * config/i386/mmx.md (set_attr znver1_decode): New definitions - for znver1. - * config/i386/sse.md (set_attr znver1_decode): Likewise. - * config/i386/x86-tune.def: Add znver1 tunings. - * config/i386/znver1.md: Introduce znver1 cpu and include new md file. - * doc/invoke.texi: Add details about znver1 - -2015-10-06 Richard Biener - - PR tree-optimization/67859 - * tree-ssa-pre.c (create_expression_by_pieces): Properly - discard not inserted stmts. - -2015-10-06 Jonathan Wakely - - * doc/extend.texi (Template Instantiation): Reorder options and - de-emphasize -frepo. - * doc/invoke.texi (C++ Dialect Options): Use -fstrict-enums in - example instead of -frepo. - -2015-10-06 Eric Botcazou - - PR c/65345 - * config/sparc/sparc.c (sparc_atomic_assign_expand_fenv): Adjust to - use create_tmp_var_raw rather than create_tmp_var. - -2015-10-06 Richard Biener - - * tree-vectorizer.h (vec_info): New base class for... - (_loop_vec_info): ... this and ... - (_bb_vec_info): ... this. - (vect_is_simple_use, vect_is_simple_use_1, new_stmt_vec_info, - vect_analyze_data_refs_alignment, vect_verify_datarefs_alignment, - vect_analyze_data_ref_accesses, vect_analyze_data_refs, - vect_schedule_slp, vect_analyze_slp, vect_pattern_recog, - vect_destroy_datarefs): Adjust interface to take a vec_info * - rather than both a loop_vec_info and a bb_vec_info argument. - * tree-vect-data-refs.c (vect_compute_data_refs_alignment, - vect_verify_datarefs_alignment, vect_enhance_data_refs_alignment, - vect_analyze_data_refs_alignment, vect_analyze_data_ref_accesses, - vect_analyze_data_refs, vect_create_data_ref_ptr): Adjust - accordingly. - * tree-vect-loop.c (new_loop_vec_info): Initialize base class. - (destroy_loop_vec_info, vect_analyze_loop_2, - vect_is_simple_reduction_1, get_initial_def_for_induction, - vect_create_epilog_for_reduction, vectorizable_reduction, - vectorizable_live_operation, vect_transform_loop): Adjust. - * tree-vect-patterns.c (type_conversion_p, - vect_recog_widen_mult_pattern, vect_recog_widen_shift_pattern, - vect_recog_rotate_pattern, vect_recog_vector_vector_shift_pattern, - vect_recog_divmod_pattern, vect_recog_mixed_size_cond_pattern, - check_bool_pattern, vect_recog_bool_pattern, - vect_mark_pattern_stmts, vect_pattern_recog): Likewise. - * tree-vect-slp.c (vect_get_and_check_slp_defs, - vect_build_slp_tree_1, vect_build_slp_tree, vect_analyze_slp_cost_1, - vect_analyze_slp_instance, vect_analyze_slp, destroy_bb_vec_info, - vect_slp_analyze_bb_1, vect_schedule_slp): Likewise. - (new_bb_vec_info): Initialize base classs. - * tree-vect-stmts.c (record_stmt_cost, process_use, - vect_get_vec_def_for_operand, vect_finish_stmt_generation, - vectorizable_mask_load_store, vectorizable_call, - vectorizable_simd_clone_call, vectorizable_conversion, - vectorizable_assignment, vectorizable_shift, - vectorizable_operation, vectorizable_store, - vectorizable_load, vect_is_simple_cond, vectorizable_condition, - new_stmt_vec_info, vect_is_simple_use, vect_is_simple_use_1): Likewise. - * tree-vectorizer.c (vect_destroy_datarefs): Likewise. - -2015-10-05 Kaz Kojima - - PR c/65345 - * config/sh/sh.c (sh_atomic_assign_expand_fenv): Adjust to use - create_tmp_var_raw rather than create_tmp_var. - -2015-10-05 Marek Polacek - - * tree-ssa-loop-im.c - (move_computations_dom_walker::before_dom_children): Don't set - SSA_NAME_ANTI_RANGE_P. - * tree-ssa-phiopt.c (value_replacement): Likewise. - -2015-10-05 Aditya Kumar - Sebastian Pop - - * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Increase to 7. - -2015-10-05 Aditya Kumar - Sebastian Pop - - * graphite-poly.c (new_gimple_poly_bb): ... here. - (free_data_refs_aux): ... here. - (free_gimple_poly_bb): ... here. - (remove_gbbs_in_scop): ... here. - (new_scop): Call new_sese. - (free_scop): Call remove_gbbs_in_scop and free_sese. - * graphite-poly.h (base_alias_pair): ... here. - (new_gimple_poly_bb): Declare. - (free_gimple_poly_bb): Declare. - * graphite-scop-detection.c (parameter_index_in_region_1): - (parameter_index_in_region): ... here. - (scan_tree_for_params): ... here. - (find_params_in_bb): ... here. - (find_scop_parameters): ... here. - (build_scops): Call find_scop_parameters. - * graphite-sese-to-poly.c (free_gimple_poly_bb): Move... - (free_scops): Move... - (single_pred_cond_non_loop_exit): Move... - (sese_dom_walker::before_dom_children): Move... - (sese_dom_walker::after_dom_children): Move... - (build_poly_scop): Move... - * graphite-sese-to-poly.h (base_alias_pair): Move... - * graphite.c (free_scops): ... here. - -2015-10-05 Aditya Kumar - Sebastian Pop - - * graphite-scop-detection.c: Include domwalk.h and tree-cfg.h. - (trivially_empty_bb_p): Move... - (same_close_phi_node): Move... - (new_gimple_poly_bb): Move... - (compare_bb_depths): Move... - (graphite_sort_dominated_info): Move... - (remove_duplicate_close_phi): Move... - (make_close_phi_nodes_unique): Move... - (canonicalize_loop_closed_ssa): Move... - (canonicalize_loop_closed_ssa_form): Move... - (loop_ivs_can_be_represented): Move... - (single_pred_cond_non_loop_exit): Move... - (graphite_can_represent_init): Move... - (graphite_can_represent_scev): Move... - (stmt_has_simple_data_refs_p): Move... - (stmt_has_side_effects): Move... - (graphite_can_represent_stmt): Move... - (scop_detection): ... here. - (sese_dom_walker): ... and here. - (build_scops): Call all moved functions. - * graphite-sese-to-poly.c (try_generate_gimple_bb): Move... - (all_non_dominated_preds_marked_p): Move... - (build_scop_bbs_1): Move... - (build_scop_bbs): Move... - (set_scop_parameter_dim): Move... - (nb_pbbs_in_loops): Move... - (build_poly_scop): Do not call all the moved functions. - -2015-10-05 Martin Jambor - Jan Hubicka - - * ipa-cp.c (ipcp_alignment_lattice): New type. - (ipcp_param_lattices): Use the above to represent alignment. - (ipcp_alignment_lattice::print): New function. - (print_all_lattices): Use it to print alignment information. - (ipcp_alignment_lattice::top_p): New function. - (ipcp_alignment_lattice::bottom_p): Likewise. - (ipcp_alignment_lattice::set_to_bottom): Likewise. - (ipcp_alignment_lattice::meet_with_1): Likewise. - (ipcp_alignment_lattice::meet_with): Two new overloaded functions. - (set_all_contains_variable): Use set_to_bottom of alignment lattice. - (initialize_node_lattices): Likewise. - (propagate_alignment_accross_jump_function): Work with the new class - for alignment lattices. - (propagate_constants_accross_call): Pass only the alignment lattice to - propagate_alignment_accross_jump_function. - (ipcp_store_alignment_results): Work with the new class for alignment - lattices. - -2015-10-05 Marek Polacek - - PR tree-optimization/67821 - * tree-ssanames.c (duplicate_ssa_name_range_info): Remove an assert. - -2015-10-05 Thomas Schwinge - - PR other/65021 - * config/i386/intelmic-mkoffload.c (mkoffload_atexit): Rename - function to... - (mkoffload_cleanup): ... this. Adjust all users. - (maybe_unlink): Look at save_temps and verbose flags instead of - debug flag. - (main): Parse "-save-temps" flag. - (generate_target_descr_file, generate_target_offloadend_file) - (generate_host_descr_file, prepare_target_image): Pass it on. - * config/nvptx/mkoffload.c (tool_cleanup): Implement. - (mkoffload_cleanup): New function. - (maybe_unlink): Look at save_temps and verbose flags instead of - debug flag. - (main): Instead of calling utils_cleanup, register atexit handler - for mkoffload_cleanup. - (main): Parse "-save-temps" flag. - (compile_native, main): Pass it on. - * lto-wrapper.c (compile_offload_image): Likewise. - -2015-10-05 Trevor Saunders - - * gimple.h (gimple_op_ptr): Require a non const gimple *. - (gimple_assign_lhs_ptr): Likewise. - (gimple_assign_rhs1_ptr): Likewise. - (gimple_assign_rhs2_ptr): Likewise. - (gimple_assign_rhs3_ptr): Likewise. - (gimple_call_lhs_ptr): Likewise. - (gimple_call_fn_ptr): Likewise. - (gimple_call_chain_ptr): Likewise. - (gimple_call_arg_ptr): Likewise. - (gimple_cond_lhs_ptr): Likewise. - (gimple_cond_rhs_ptr): Likewise. - (gimple_switch_index_ptr): Likewise. - (gimple_return_retval_ptr): Likewise. - -2015-10-05 Trevor Saunders - - * gimple.h (gimple_asm_input_op_ptr): Remove. - (gimple_asm_output_op_ptr): Likewise. - -2015-10-05 Trevor Saunders - - * gimple.h (gimple_location_ptr): Remove. - * tree-vrp.c (check_all_array_refs): Adjust. - -2015-10-05 Trevor Saunders - - * tree-ssa-operands.c (build_uses): store tree * instead of - tree. - (finalize_ssa_uses): Adjust. - (append_use): Likewise. - (verify_ssa_operands): Likewise. - -2015-10-05 Richard Sandiford - - * real.h (build_real_truncate): Declare. - * tree.c (build_real_truncate): New function. - (strip_float_extensions): Use it. - * builtins.c (fold_builtin_cabs, fold_builtin_sqrt, fold_builtin_cbrt) - (fold_builtin_hypot, fold_builtin_pow): Likewise. - * match.pd: Likewise. - -2015-10-05 James Greenhalgh - Jiong Wang - - * config/aarch64/aarch64.md (tlsie_tiny_sidi): Replace "" with "w". - -2015-10-05 Richard Sandiford - - * real.h (REAL_VALUE_FROM_CONST_DOUBLE): Delete. - * config/aarch64/aarch64.c (aarch64_float_const_zero_rtx_p) - (aarch64_print_operand, aarch64_float_const_representable_p) - (aarch64_output_simd_mov_immediate): Use CONST_DOUBLE_REAL_VALUE - instead of REAL_VALUE_FROM_CONST_DOUBLE. - * config/arc/arc.c (arc_print_operand): Likewise. - * config/arm/arm.c (arm_const_double_rtx, vfp3_const_double_index) - (neon_valid_immediate, arm_print_operand, arm_emit_fp16_const) - (vfp3_const_double_for_fract_bits, vfp3_const_double_for_bits): - Likewise. - * config/arm/arm.md (*arm32_movhf, consttable_4, consttable_8) - (consttable_16): Likewise. - * config/arm/vfp.md (*movhf_vfp_neon, *movhf_vfp): Likewise. - * config/avr/avr.c (avr_print_operand): Likewise. - * config/bfin/bfin.md: Likewise (in a define_split). - * config/c6x/c6x.md: Likewise (in a define_split). - * config/cr16/cr16.c (cr16_const_double_ok): Likewise. - (cr16_print_operand): Likewise. - * config/cris/cris.c (cris_print_operand): Likewise. - * config/epiphany/epiphany.c (epiphany_print_operand): Likewise. - * config/fr30/fr30.c (fr30_print_operand): Likewise. - (fr30_const_double_is_zero): Likewise. - * config/frv/frv.c (frv_print_operand, output_move_single): Likewise. - * config/frv/frv.md: Likewise (in a define_split). - * config/frv/predicates.md (int_2word_operand): Likewise. - * config/h8300/h8300.c (h8300_print_operand): Likewise. - * config/i386/i386.c (standard_80387_constant_p): Likewise. - (ix86_print_operand, ix86_split_to_parts): Likewise. - * config/i386/i386.md: Likewise (in a define_split). - * config/ia64/ia64.c (ia64_split_tmode, ia64_print_operand): Likewise. - * config/iq2000/iq2000.md (movsf_lo_sum, movsf_high): Likewise. - * config/m32r/m32r.c (easy_df_const, m32r_print_operand): Likewise. - * config/m68k/m68k.c (handle_move_double, standard_68881_constant_p) - (print_operand): Likewise. - * config/m68k/m68k.md (movsf_cf_hard, movdf_cf_hard): Likewise. - * config/mep/mep.md: Likewise (in define_split). - * config/microblaze/microblaze.c (microblaze_const_double_ok) - (print_operand): Likewise. - * config/mips/mips.md (consttable_float): Likewise. - * config/mmix/mmix.c (mmix_intval): Likewise. - * config/mn10300/mn10300.c (mn10300_print_operand): Likewise. - * config/nvptx/nvptx.c (nvptx_print_operand): Likewise. - * config/pa/pa.c (pa_singlemove_string): Likewise. - * config/pdp11/pdp11.c (pdp11_expand_operands): Likewise. - (pdp11_asm_print_operand, legitimate_const_double_p): Likewise. - * config/rs6000/rs6000.c (num_insns_constant, rs6000_emit_cmove) - (output_toc): Likewise. - * config/rs6000/rs6000.md: Likewise (in define_splits). - * config/rx/rx.c (rx_print_operand): Likewise. - * config/s390/s390.c (s390_output_pool_entry): Likewise. - * config/sh/sh.c (fp_zero_operand, fp_one_operand): Likewise. - * config/sh/sh.md (consttable_sf, consttable_df): Likewise - (and also in define_splits). - * config/sparc/sparc.c (fp_sethi_p, fp_mov_p): Likewise. - (fp_high_losum_p): Likewise. - * config/sparc/sparc.md (*movsf_insn, *movsf_lo_sum): Likewise. - (*movsf_high): Likewise. - * config/spu/spu.c (const_double_to_hwint): Likewise. - * config/v850/v850.c (const_double_split): Likewise. - * config/vax/vax.c (vax_float_literal): Likewise. - * config/visium/visium.c (visium_expand_copysign): Likewise. - * config/visium/visium.md: Likewise (in define_split). - * config/xtensa/predicates.md (const_float_1_operand): Likewise. - * config/xtensa/xtensa.c (print_operand): Likewise. - (xtensa_output_literal): Likewise. - * cprop.c (implicit_set_cond_p): Likewise. - * dwarf2out.c (insert_float): Likewise. - * expmed.c (expand_mult, make_tree): Likewise. - * expr.c (compress_float_constant): Likewise. - * rtlanal.c (split_double): Likewise. - * simplify-rtx.c (avoid_constant_pool_reference): Likewise. - (simplify_const_unary_operation, simplify_binary_operation_1) - (simplify_const_binary_operation): Likewise. - (simplify_const_relational_operation): Likewise. - * varasm.c (output_constant_pool_2): Likewise. - -2015-10-05 Richard Sandiford - - * real.h (CONST_DOUBLE_ATOF): Use const_double_from_real_value - instead of CONST_DOUBLE_FROM_REAL_VALUE. - (CONST_DOUBLE_FROM_REAL_VALUE): Delete. - * config/c6x/c6x.md (divsf3, divdf3): Use const_double_from_real_value - instead of CONST_DOUBLE_FROM_REAL_VALUE. - * config/epiphany/epiphany.md (fixuns_truncsfsi2): Likewise. - * config/i386/i386.c (standard_80387_constant_rtx): Likewise. - (ix86_expand_builtin, ix86_emit_i387_log1p, ix86_emit_i387_round) - (ix86_emit_swsqrtsf): Likewise. - * config/ia64/ia64.c (ia64_expand_builtin): Likewise. - * config/mips/mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2) - (fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise. - * config/pa/pa.c (pa_expand_builtin): Likewise. - * config/rs6000/rs6000.c (rs6000_load_constant_and_splat): Likewise. - (rs6000_scale_v2df): Likewise. - * config/rs6000/rs6000.md (*cmptf_internal2): Likewise. - * config/s390/s390.md (fixuns_truncdddi2, fixuns_trunctddi2) - (fixuns_trunc2): Likewise. - * config/s390/vx-builtins.md (vec_ctd_s64, vec_ctd_u64, vec_ctsl) - (vec_ctul): Likewise. - * config/sparc/sparc.c (sparc_emit_fixunsdi): Likewise. - * config/spu/spu.c (hwint_to_const_double, spu_float_const): Likewise. - * config/spu/spu.md (floatunsdisf2, floatunstisf2): Likewise. - * cse.c (fold_rtx): Likewise. - * emit-rtl.c (immed_double_const): Likewise (in comments). - (init_emit_once): Likewise. - * expr.c (compress_float_constant, expand_expr_real_1) - (const_vector_from_tree): Likewise. - * optabs.c (expand_float, expand_fix): Likewise. - * reg-stack.c (reg_to_stack): Likewise. - * simplify-rtx.c (avoid_constant_pool_reference): Likewise. - (simplify_const_unary_operation, simplify_binary_operation_1) - (simplify_const_binary_operation, simplify_relational_operation) - (simplify_immed_subreg): Likewise. - -2015-10-05 Richard Sandiford - - * doc/tm.texi.in (REAL_ARITHMETIC): Delete. - * doc/tm.texi: Regenerate. - * real.h (REAL_ARITHMETIC): Delete. - * config/i386/i386.c (ix86_expand_lround, ix86_expand_round) - (ix86_expand_round_sse4): Use real_arithmetic instead of - REAL_ARITHMETIC. - * config/i386/sse.md (round2): Likewise. - * rtl.h (rtx_to_tree_code): Likewise (in comment). - * explow.c (rtx_to_tree_code): Likewise (in comment). - * match.pd: Likewise. - * simplify-rtx.c (simplify_binary_operation_1): Likewise. - * tree-ssa-math-opts.c (representable_as_half_series_p): Likewise. - (expand_pow_as_sqrts): Likewise. - * tree-pretty-print.c (dump_generic_node): Remove code that - was conditional on REAL_ARITHMETIC being undefined. - -2015-10-05 Richard Sandiford - - * doc/tm.texi.in (REAL_VALUES_LESS): Delete. - * doc/tm.texi: Regenerate. - * real.h (real_less): Declare. - (REAL_VALUES_LESS): Delete. - * real.c (real_less): New function. - (real_compare): Use it. - * config/m68k/m68k.c (floating_exact_log2): Use real_less instead - of REAL_VALUES_LESS. - * config/microblaze/microblaze.c (microblaze_const_double_ok): - Likewise. - * fold-const.c (fold_convert_const_int_from_real): Likewise. - * simplify-rtx.c (simplify_const_unary_operation): Likewise. - (simplify_const_relational_operation): Likewise. - * tree-call-cdce.c (check_pow): Likewise. - (gen_conditions_for_pow_cst_base): Likewise. - -2015-10-05 Richard Sandiford - - * real.h (REAL_VALUES_IDENTICAL): Delete. - * config/m68k/m68k.c (standard_68881_constant_p): Use real_identical - instead of REAL_VALUES_IDENTICAL. - * fold-const.c (operand_equal_p): Likewise. - * ipa-icf.c (sem_variable::equals): Likewise. - * tree-complex.c (some_nonzerop): Likewise. - (expand_complex_multiplication): Likewise. - * tree.c (simple_cst_equal): Likewise. - * varasm.c (compare_constant): Likewise. - -2015-10-05 Richard Sandiford - - * real.h (real_equal): Declare. - (REAL_VALUES_EQUAL): Delete. - * real.c (real_equal): New function. - (real_compare): Use it. - * doc/tm.texi.in (REAL_VALUES_EQUAL): Delete. - * doc/tm.texi: Regenerate. - * builtins.c (fold_builtin_pow, fold_builtin_load_exponent): Use - real_equal instead of REAL_VALUES_EQUAL. - * config/aarch64/aarch64.c (aarch64_float_const_zero_rtx_p): Likewise. - * config/arm/arm.c (arm_const_double_rtx, neon_valid_immediate) - (fp_const_from_val): Likewise. - * config/fr30/fr30.c (fr30_const_double_is_zero): Likewise. - * config/m68k/m68k.c (standard_68881_constant_p): Likewise. - (floating_exact_log2): Likewise. - * config/sh/sh.c (fp_zero_operand, fp_one_operand): Likewise. - * config/vax/vax.c (vax_float_literal): Likewise. - * config/xtensa/predicates.md (const_float_1_operand): Likewise. - * cprop.c (implicit_set_cond_p): Likewise. - * expmed.c (expand_mult): Likewise. - * fold-const.c (const_binop): Likewise. - * simplify-rtx.c (simplify_binary_operation_1): Likewise. - (simplify_const_binary_operation): Likewise. - (simplify_const_relational_operation): Likewise. - * tree-call-cdce.c (check_pow): Likewise. - (gen_conditions_for_pow_cst_base): Likewise. - * tree-inline.c (estimate_num_insns): Likewise. - * tree-ssa-dom.c (record_equality): Likewise. - * tree-ssa-math-opts.c (representable_as_half_series_p): Likewise. - (gimple_expand_builtin_pow): Likewise. - (pass_optimize_widening_mul::execute): Likewise. - * tree-ssa-uncprop.c (associate_equivalences_with_edges): Likewise. - * tree-vect-patterns.c (vect_recog_pow_pattern): Likewise. - * tree.c (real_zerop, real_onep, real_minus_onep): Likewise. - -2015-10-05 Richard Biener - - PR ipa/67783 - * ipa-inline-analysis.c (estimate_function_body_sizes): Only - consider loop header PHI defs as IVs. - -2015-10-05 Richard Biener - - * tree-ssa-pre.c (create_component_ref_by_pieces_1): Move - call handling ... - (create_expression_by_pieces): ... here and build GIMPLE - calls directly. Use gimple_build API and avoid force_gimple_operand. - (insert_into_preds_of_block): Simplify. - (do_regular_insertion): Add comment. - -2015-10-04 Jason Merrill - - * builtins.def (BUILT_IN_ABORT): Add transaction_pure attribute. - -2015-10-04 Uros Bizjak - - * config/i386/i386.c (ix86_nsaved_regs): Use GENERAL_REGNO_P to - check for general register. - (ix86_emit_save_regs): Ditto. - (ix86_emit_save_regs_using_mov): Ditto. - (ix86_emit_restore_regs_using_pop): Ditto. - (ix86_emit_restore_regs_using_mov): Ditto. - -2015-10-03 Marek Polacek - - * Makefile.in (insn-latencytab.o): Remove -Wno-duplicated-cond. - (insn-dfatab.o): Likewise. - -2015-10-03 Max Filippov - - * config.gcc (xtensa*-*-uclinux*): New configuration. - * config/xtensa/uclinux.h: New file. - * config/xtensa/uclinux.opt: New file. - -2015-10-03 Jonathan Wakely - - * doc/cpp.texi (Standard Predefined Macros): Document value of - __cplusplus for C++14. - -2015-10-02 Bernd Schmidt - - * gcc.c (process_command): Use spec_machine rather than - spec_host_machine to build tooldir_prefix2. - -2015-10-02 Thomas Schwinge - Bernd Schmidt - - * config/nvptx/mkoffload.c (Kind, Vis): Remove enums. - (Token, Stmt): Remove structs. - (decls, vars, fns): Remove variables. - (alloc_comment, append_stmt, is_keyword): Remove macros. - (tokenize, write_token, write_tokens, alloc_stmt, rev_stmts) - (write_stmt, write_stmts, parse_insn, parse_list_nosemi) - (parse_init, parse_file): Remove functions. - (read_file): Accept a pointer to a length and store into it. - (process): Don't try to parse the input file, just write it out as - a string, but looking for maps. Also write out the length. - (main): Don't use "-S" to compile PTX code. - -2015-10-02 Jeff Law - - * tree-ssa-dom.c (optimize_stmt): Note when loop structures need - fixups. - -2015-10-02 Thomas Schwinge - - PR target/67822 - * config/nvptx/mkoffload.c (main): Scan the argument vector for - -fopenmp, and skip generating an offloading image if specified. - -2015-10-02 Uros Bizjak - - * system.h (ROUND_UP): New macro definition. - (ROUND_DOWN): Ditto. - * ggc-page.c (ROUND_UP): Remove local macro definition. - (PAGE_ALIGN): Implement using ROUND_UP macro. - - * config/i386/i386.h (PUSH_ROUNDING): Implement using ROUND_UP macro. - * config/i386/i386.c (function_arg_advance_64): Use ROUND_UP macro - to align values. - (ix86_compute_frame_layout): Ditto. - (ix86_expand_prologue): Ditto. - (ix86_adjust_stack_and_probe): Use ROUND_DOWN macro - to round down values. - (expand_set_or_movmem_via_rep): Ditto. - -2015-10-02 Marek Polacek - - * genemit.c (gen_exp): Remove -Wduplicated-cond hack. - -2015-10-02 Aditya Kumar - - * graphite-scop-detection.c (loop_ivs_can_be_represented): New. - (loop_body_is_valid_scop): Call loop_ivs_can_be_represented. - * graphite-sese-to-poly.c (new_gimple_bb): Renamed new_gimple_poly_bb. - (free_gimple_bb): Renamed free_gimple_poly_bb. - (try_generate_gimple_bb): Hoist loop invariant code. - (analyze_drs_in_stmts): Same. - (build_scop_drs): Call renamed functions. - (new_pbb_from_pbb): Same. - (scop_ivs_can_be_represented): Delete as functionality now moved to - graphite-scop-detection.c - (build_poly_scop): Remove call to scop_ivs_can_be_represented. - -2015-10-02 Aditya Kumar - - * graphite-scop-detection.c (stmt_has_side_effects): New function - outlined from stmt_simple_for_scop_p. - (graphite_can_represent_stmt): Same. - (stmt_simple_for_scop_p): Moved code out of this function for better - readability. - -2015-10-02 Kirill Yukhin - - * config/i386/i386.c (processor_features): Add F_AVX512VBMI, - F_AVX512IFMA. - (isa_names_table): Handle F_AVX512VBMI and F_AVX512IFMA. - -2015-10-02 Ramana Radhakrishnan - - * config/aarch64/aarch64-elf.h (TARGET_ASM_NAMED_SECTION): Delete. - -2015-10-02 Vladimir Makarov - - PR rtl-optimization/67756 - * lra-constraints.c (match_reload): Add a new parameter. Use it - for creating a pseudo with the same value. - (curr_insn_transform): Pass a new argument to match_reload. - -2015-10-02 Kirill Yukhin - - * config/i386/i386.c (expand_vec_perm_even_odd_trunc): New. - (expand_vec_perm_even_odd_1): Handle V64QImode. - (ix86_expand_vec_perm_const_1): Try expansion with - expand_vec_perm_even_odd_trunc as well. - * config/i386/sse.md (VI124_AVX512F): Rename to ... - (define_mode_iterator VI124_AVX2_24_AVX512F_1_AVX512BW): This. Extend - to V54QI. - (define_mode_iterator VI248_AVX2_8_AVX512F): Rename to ... - (define_mode_iterator VI248_AVX2_8_AVX512F_24_AVX512BW): This. Extend - to V32HI and V16SI. - (define_insn "avx512bw_v32hiv32qi2"): Unhide pattern name. - (define_expand "vec_pack_trunc_"): Update iterator name. - (define_expand "vec_unpacks_lo_"): Ditto. - (define_expand "vec_unpacks_hi_"): Ditto. - (define_expand "vec_unpacku_lo_"): Ditto. - (define_expand "vec_unpacku_hi_"): Ditto. - -2015-10-02 Kirill Yukhin - - * doc/invoke.texi: Mention -mavx512vl, -mavx512bw, -mavx512dq, - -mavx521vbmi, -mavx512ifma. Add missing opindex-es. - -2015-10-02 Jason Merrill - - PR c/59218 - * trans-mem.c (volatile_lvalue_p): Rename from volatile_var_p. - (diagnose_tm_1_op): Also diagnose volatile accesses in - transaction_safe function. - -2015-10-02 Jonathan Wakely - - * system.h (malloc.h): Don't include obsolete header. - -2015-10-02 Ramana Radhakrishnan - - * config/aarch64/aarch64.c (aarch64_elf_asm_named_section): Delete. - (TLS_SECTION_ASM_FLAG): Delete. - -2015-10-02 Marek Polacek - - PR c/64249 - * doc/invoke.texi: Document -Wduplicated-cond. - * Makefile.in (insn-latencytab.o): Use -Wno-duplicated-cond. - (insn-dfatab.o): Likewise. - * genemit.c (gen_exp): Rewrite condition to avoid -Wduplicated-cond - warning. - -2015-10-02 Oleg Endo - - * config/sh/sh.md: Add new unnamed split pattern to handle movt-movt - sequences. - -2015-10-02 Renlin Li - - * config/aarch64/aarch64.md (csneg3_insn_uxtw): New pattern. - -2015-10-02 Renlin Li - - PR target/66776 - * config/aarch64/aarch64.md (cmovdi_insn_uxtw): New pattern. - -2015-10-02 Kyrylo Tkachov - - PR rtl-optimization/67786 - PR rtl-optimization/67787 - * ifcvt.c (bb_valid_for_noce_process_p): Reject basic block if - it modifies a reg used in the condition calculation. - -2015-10-02 James Greenhalgh - - * config/aarch64/aarch64-simd.md (*aarch64_combinez): Add - alternatives for reads from memory and moves from general-purpose - registers. - (*aarch64_combinez_be): Likewise. - -2015-10-02 Kai Tietz - - PR target/51726 - * config/i386/winnt.c (ix86_handle_selectany_attribute): Handle - selectany within this function without need to keep attribute. - (i386_pe_encode_section_info): Remove selectany-code. - -2015-10-02 Richard Biener - - * tree-ssa-sccvn.c (has_VN_INFO): New function. - (free_scc_vn): Use it. - (visit_use): Remove dead code and refactor to use gassign - and use less indentation. - -2015-10-01 Segher Boessenkool - - PR target/67788 - PR target/67789 - * config/rs6000/rs6000.c (TARGET_CANNOT_COPY_INSN_P): New. - (rs6000_cannot_copy_insn_p): New function. - * config/rs6000/rs6000.md (cannot_copy): New attribute. - (load_toc_v4_PIC_1_normal): Set cannot_copy. - (load_toc_v4_PIC_1_476): Ditto. - -2015-10-01 Aditya Kumar - - * graphite-scop-detection.c (struct sese_l): New conversion constructor - so that this type can be pushed into a vec. - (class scop_builder): use sese_l to collect scops. - (get_scops): New getter function. - (remove_intersecting_scops): Use sese_l instead of scops_p. - (intersects): Same. - (add_scop): Same. - (subsumes): Same. - (remove_subscops): Same. - (build_scops): Add scops to vec once all the scops have been - detected. - -2015-10-01 Aditya Kumar - - * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple): - Renamed type from gimple_bb_p to gimple_poly_bb_p. - (translate_isl_ast_node_user): Same. - * graphite-poly.c (new_poly_bb): Same. - * graphite-poly.h (gbb_from_bb): Same. - * sese.h: Same. - * graphite-sese-to-poly.c (new_gimple_bb): - gimple_bb_p -> gimple_poly_bb_p - (build_scop_scattering): Same. - (find_params_in_bb): Same. - (add_conditions_to_domain): Same. - (sese_dom_walker::before_dom_children): Same. - (analyze_drs_in_stmts): Same. - (new_pbb_from_pbb): Same. - (free_data_refs_aux): New pointer to type base_alias_pair. - * graphite-sese-to-poly.h: Same. - * sese.c (if_region_set_false_region): Fixed Indentation. - (move_sese_in_condition): Same. - -2015-10-01 Sebastian Pop - Aditya Kumar - - PR tree-optimization/66980 - * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Return false - when data reference analysis has failed. - -2015-10-01 Sebastian Pop - Aditya Kumar - - PR tree-optimization/67754 - * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Call - scev analysis on the same loop nest as analyze_drs_in_stmts. - * graphite-sese-to-poly.c (outermost_loop_in_sese_1): Moved and - renamed... - (try_generate_gimple_bb): Call outermost_loop_in_sese. - (analyze_drs_in_stmts): Same. - * sese.c (outermost_loop_in_sese): ...here. - -2015-10-01 Sebastian Pop - Aditya Kumar - - PR tree-optimization/67754 - * graphite-scop-detection.c (loop_body_is_valid_scop): Add missing - recursion on the inner loops. - -2015-10-01 Trevor Saunders - - * cfganal.c, compare-elim.c, coverage.c, cprop.c, df-scan.c, - function.c, read-rtl.c, statistics.c, trans-mem.c, tree-if-conv.c, - tree-into-ssa.c, tree-loop-distribution.c, tree-ssa-coalesce.c, - tree-ssa-loop-ivopts.c, tree-ssa-reassoc.c, tree-ssa-strlen.c, - tree-ssa-tail-merge.c, tree-vrp.c, var-tracking.c: Remove - -2015-10-01 Marek Polacek - - PR c/65345 - * config/i386/i386.c (ix86_atomic_assign_expand_fenv): Adjust to use - create_tmp_var_raw rather than create_tmp_var. - -2015-10-01 Marek Polacek - - PR tree-optimization/67769 - * tree-ssa-phiopt.c (conditional_replacement): Call - reset_flow_sensitive_info_in_bb. - (minmax_replacement): Likewise. - (abs_replacement): Likewise. - -2015-10-01 Nathan Sidwell - - * builtins.c: Don't include gomp-constants.h. - (fold_builtin_1): Don't fold acc_on_device here. - * gimple-fold.c: Include gomp-constants.h. - (gimple_fold_builtin_acc_on_device): New. - (gimple_fold_builtin): Call it. - -2015-10-01 H.J. Lu - - * config/i386/x86-tune.def (X86_TUNE_USE_BT): Enable for Lakemont. - (X86_TUNE_ZERO_EXTEND_WITH_AND): Disable for Lakemont. - -2015-10-01 James Greenhalgh - - * config/arm/aarch-common-protos.h - (aarch_accumulator_forwarding): New. - (aarch_forward_to_shift_is_not_shifted_reg): Likewise. - * config/arm/aarch-common.c (aarch_accumulator_forwarding): New. - (aarch_forward_to_shift_is_not_shifted_reg): Likewise. - * config/arm/cortex-a53.md: Rewrite. - -2015-10-01 Richard Biener - - * gimple-match.h (mprts_hook): Declare. - * gimple-match.head.c (mprts_hook): Define. - (maybe_push_res_to_seq): Use new hook. - * gimple-fold.c (gimple_fold_stmt_to_constant_1): Likewise. - * tree-ssa-sccvn.h (vn_ssa_aux::expr): Change to a gimple_seq. - (vn_ssa_aux::has_constants): Remove. - * tree-ssa-sccvn.c: Include gimple-match.h. - (VN_INFO_GET): Assert we don't re-use SSA names. - (vn_get_expr_for): Remove. - (expr_has_constants): Likewise. - (stmt_has_constants): Likewise. - (simplify_binary_expression): Likewise. - (simplify_unary_expression): Likewise. - (vn_lookup_simplify_result): New hook. - (visit_copy): Adjust. - (visit_reference_op_call): Likewise. - (visit_phi): Likewise. - (visit_use): Likewise. - (process_scc): Likewise. - (init_scc_vn): Likewise. - (visit_reference_op_load): Likewise. Use match-and-simplify and - a gimple seq for inserted expressions. - (try_to_simplify): Remove GENERIC stmt combining code. - (sccvn_dom_walker::before_dom_children): Use match-and-simplify. - * tree-ssa-pre.c (eliminate_insert): Adjust. - (eliminate_dom_walker::before_dom_children): Likewise. - -2015-10-01 Segher Boessenkool - - * doc/invoke.texi (Optimization Options): Add - -freorder-blocks-algorithm=. - (Optimize Options) <-O>: Add -freorder-blocks. - <-O2>: Remove -freorder-blocks. Add -freorder-blocks-algorithm=stc. - <-Os>: Add -freorder-blocks-algorithm=stc as not enabled. - <-freorder-blocks>: Also enabled at levels -O and -Os. - <-freorder-blocks-algorithm=>: Document new option. - -2015-10-01 Segher Boessenkool - - * bb-reorder.c (reorder_basic_blocks): Use the algorithm selected - with flag_reorder_blocks_algorithm. - * common.opt (freorder-blocks-algorithm=): New flag. - (reorder_blocks_algorithm): New enum. - * flag-types.h (reorder_blocks_algorithm): New enum. - * opts.c (default_options_table): Use -freorder-blocks at -O1 and up, - and -freorder-blocks-algorithm=stc at -O2 and up (not at -Os). - -2015-10-01 Segher Boessenkool - - * bb-reorder.c: Add intro comment. - (reorder_basic_blocks_software_trace_cache): Print a header to - the dump file. - (edge_order): New function. - (reorder_basic_blocks_simple): New function. - (reorder_basic_blocks): Choose between the STC and the simple - algorithms (always choose the former). - -2015-10-01 Segher Boessenkool - - * bb-reorder.c (reorder_basic_blocks_software_trace_cache): New - function, factored out from ... - (reorder_basic_blocks): ... here. - -2015-10-01 Tom de Vries - - * tree-cfg.c (dump_function_to_file): Dump function attributes using - __attribute__(()) string. Move dumping of function attributes to before - function name. - -2015-10-01 Lynn Boger - - PR target/66870 - * config/rs6000/sysv4.h (TARGET_CAN_SPLIT_STACK_64BIT): Define. - * configure.ac: Define HAVE_GOLD_ALTERNATE_SPLIT_STACK on Power - based on gold linker version. - * gcc.c: Add -fuse-ld=gold to STACK_SPLIT_SPEC if - HAVE_GOLD_ALTERNATE_SPLIT_STACK defined. - * configure, config.in: Regenerate. - -2015-10-01 Alan Modra - - * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't set - r2_setup_needed when TARGET_SINGLE_PIC_BASE. - (rs6000_output_mi_thunk): Likewise. - -2015-09-30 Nathan Sidwell - - * config/nvptx/mkoffload.c (process): Change offload data format. - -2015-09-30 Jeff Law - - * tree-ssa-dom.c (optimize_stmt): Collapse control flow statements - with constant conditions. - * tree-ssa-threadupdate.c (remove_jump_threads_starting_at): New. - (remove_ctrl_stmt_and_useless_edges): No longer static. - * tree-ssa-threadupdate.h (remove_jump_threads_starting_at): Prototype. - (remove_ctrl_stmt_and_useless_edges): Likewise. - -2015-09-30 Nathan Sidwell - Cesar Philippidis - - * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): New. - (TARGET_GOACC_VALIDATE_DIMS): Override. - * target.def (TARGET_GOACC): New target hook prefix. - (validate_dims): New hook. - * targhooks.h (default_goacc_validate_dims): New. - * omp-low.c (oacc_validate_dims): New. - (execute_oacc_device_lower): New. - (default_goacc_validate_dims): New. - (pass_data_oacc_device_lower): New. - (pass_oacc_device_lower): New pass. - (make_pass_oacc_device_lower): New. - * tree-pass.h (make_pass_oacc_device_lower): Declare. - * passes.def (pass_oacc_device_lower): Add it. - * doc/tm.texi: Rebuilt. - * doc/tm.texi.in (TARGET_GOACC_VALIDATE_DIMS): Add hook. - * doc/invoke.texi (oaccdevlow): Document tree dump flag. - -2015-09-30 Bernd Edlinger - - PR rtl-optimization/67037 - * lra-constraints.c (process_addr_reg): Use copy_rtx when necessary. - -2015-09-30 Bernd Schmidt - - * gimple-ssa.h (gimple_df): Add free_ssanames_queue field. - * passes.c: Include tree-ssanames.h. - (execute_function_todo): Flush the pending free SSA_NAMEs after - eliminating unreachable basic blocks. - * tree-ssanames.c (FREE_SSANAMES_QUEUE): new. - (init_ssanames): Initialize FREE_SSANAMES_QUEUE. - (fini_ssanames): Finalize FREE_SSANAMES_QUEUE. - (flush_ssanames_freelist): New function. - (release_ssaname_fn): Put released names on the queue. - (pass_release_ssa_names::execute): Call flush_ssanames_freelist. - * tree-ssanames.h (flush_ssanames_freelist): Declare. - -2015-09-30 Thomas Schwinge - - * config/i386/intelmic-mkoffload.c (main): Parse "-v" flag. - (generate_target_descr_file, generate_target_offloadend_file) - (generate_host_descr_file, prepare_target_image): Pass it on. - * config/nvptx/mkoffload.c (main): Parse "-v" flag. - (compile_native, main): Pass it on. - * lto-wrapper.c (compile_offload_image): Likewise. - -2015-09-30 Thomas Schwinge - Ilya Verbin - Andrey Turetskiy - - * config/i386/intelmic-mkoffload.c (generate_host_descr_file) - (prepare_target_image, main): Refactor argv building to use - obstacks. - -2015-09-30 Ulrich Weigand - - * config/spu/spu-protos.h (spu_expand_atomic_op): Add prototype. - * config/spu/spu.c (spu_expand_atomic_op): New function. - * config/spu/spu.md (AINT): New mode iterator. - (ATOMIC): New code iterator. - (atomic_name, atomic_pred): New code predicates. - ("atomic_load", "atomic_store"): New expanders. - ("atomic_compare_and_swap", "atomic_exchange"): Likewise. - (""atomic_", "atomic_fetch_", - "atomic__fetch"): Likewise. - -2015-09-30 Ilya Enkovich - - * config/i386/i386.c (scalar_chain::analyze_register_chain): Ignore - debug insns. - (scalar_chain::convert_reg): Likewise. - -2015-09-30 Richard Biener - - * builtins.c: Add comment that no new simplifications should - be added here. - -2015-09-30 Marek Polacek - - PR tree-optimization/67690 - * tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): Call - reset_flow_sensitive_info_in_bb. - * tree-ssa-tail-merge.c (replace_block_by): Likewise. - * tree-ssanames.c: Include "gimple-iterator.h". - (reset_flow_sensitive_info_in_bb): New function. - * tree-ssanames.h (reset_flow_sensitive_info_in_bb): Declare. - -2015-09-30 Thomas Schwinge - - * config/i386/intelmic-mkoffload.c (target_ilp32): Remove - variable, replacing it with... - (offload_abi): ... this new variable. Adjust all users. - * config/nvptx/mkoffload.c (target_ilp32, offload_abi): Likewise. - -2015-09-30 Matthias Klose - - * configure.ac: Remove extraneous ;;. - * configure: Regenerate. - -2015-09-29 James Bowman - - * config/ft32/predicates.md (ft32_imm_operand): New predicate. - * config/ft32/ft32.md (movmemsi, setmemsi): Use ft32_imm_operand - predicate, disallow register for operand 2. - -2015-09-29 Aditya Kumar - - * graphite-dependences.c (scop_get_dependences): Moved in down - in order to be visible to its caller. - * graphite-poly.h: Removed compute_deps, and extend_schedule. - -2015-09-29 Sebastian Pop - Aditya Kumar - - PR tree-optimization/67754 - * graphite-optimize-isl.c (optimize_isl): Call - isl_options_set_schedule_fuse with ISL_SCHEDULE_FUSE_MIN for ISL-14. - -2015-09-29 Nathan Sidwell - - * builtins.c (expand_builtin_acc_on_device): Delete. - (expand_builtin): Don't call it. - (fold_builtin_1): Fold acc_on_device. - -2015-09-29 H.J. Lu - - * config/i386/i386.c (ix86_function_arg): Fix typo in comments. - (ix86_nsaved_sseregs): Likewise. - -2015-09-29 Jeff Law - - * config/microblaze/microblaze.c (microblaze_version_to_int): Remove - computation of unused value. - - * config/pdp11/pdp11.c (pdp11_branch_cost): New function. - * config/pdp11/pdp11.h (BRANCH_COST): Call function rather than - inline macro expansion. - - * config/i386/t-interix (winnt-stubs.o): Fix compilation rule. - - * config/sh/sh.c (gen_shl_and): Fix undefined left shift behaviour. - (gen_shl_sext): Likewise. - * config/sh/sh.md (divsi3): Likewise. - (imm->ext_dest_operand splitter): Likewise. - -2015-09-29 Sebastian Pop - Aditya Kumar - - * graphite-sese-to-poly.c (gsi_for_phi_node): Remove. - (nb_data_writes_in_bb): Remove. - (split_pbb): Remove. - (split_reduction_stmt): Remove. - (is_reduction_operation_p): Remove. - (phi_contains_arg): Remove. - (follow_ssa_with_commutative_ops): Remove. - (detect_commutative_reduction_arg): Remove. - (detect_commutative_reduction_assign): Remove. - (follow_inital_value_to_phi): Remove. - (edge_initial_value_for_loop_phi): Remove. - (initial_value_for_loop_phi): Remove. - (used_outside_reduction): Remove. - (detect_commutative_reduction): Remove. - (translate_scalar_reduction_to_array_for_stmt): Remove. - (remove_phi): Remove. - (dr_indices_valid_in_loop): Remove. - (close_phi_written_to_memory): Remove. - (translate_scalar_reduction_to_array): Remove. - (rewrite_commutative_reductions_out_of_ssa_close_phi): Remove. - (rewrite_commutative_reductions_out_of_ssa_loop): Remove. - (rewrite_commutative_reductions_out_of_ssa): Remove. - (build_poly_scop): Remove call to - rewrite_commutative_reductions_out_of_ssa. - -2015-09-29 Evandro Menezes - - * config/arm/types.md (neon_ldp, neon_ldp_q, neon_stp, neon_stp_q): - Add new insn types for vector load and store pairs. - * config/arm/cortex-a53.md (cortex_a53_f_load_2reg): Add insn - types "neon_ldp{,_q}". - * config/arm/cortex-a57.md (neon_load_c): Add insn types - "neon_ldp{,_q}". - (neon_store_complex): Add insn types "neon_stp{,_q}". - * config/aarch64/aarch64-simd.md (aarch64_be_movoi): Add insn types - "neon_{ldp,stp}_q". - -2015-09-29 Jeff Law - - * config/rx/constraints.md (Int08): Fix undefined left shift - behaviour. - (Sint08, Sint16, Sint24): Likewise. - * config/rx/rx.c (rx_get_stack_layout): Likewise. - - * config/rl78/rl78-expand.md (movqi): Fix undefined left shift - behaviour. - - * config/msp430/msp430.c (msp430_legitimate_constant): Fix undefined - left shift behaviour. - * config/msp430/constraints.md ('L' constraint): Similarly. - ('Ys' constraint): Similarly. - -2015-09-29 Richard Biener - - PR tree-optimization/67170 - * tree-ssa-alias.h (get_continuation_for_phi): Adjust - the translate function pointer parameter to get the - bool whether to disambiguate only by reference. - (walk_non_aliased_vuses): Likewise. - * tree-ssa-alias.c (maybe_skip_until): Adjust. - (get_continuation_for_phi_1): Likewise. - (get_continuation_for_phi): Likewise. - (walk_non_aliased_vuses): Likewise. - * tree-ssa-sccvn.c (const_parms): New bitmap. - (vn_reference_lookup_3): Adjust for interface change. - Disambiguate parameters pointing to readonly memory. - (free_scc_vn): Free const_parms. - (run_scc_vn): Initialize const_parms from a fn spec attribute. - -2015-09-29 Richard Biener - - PR tree-optimization/67741 - * tree-ssa-math-opts.c (pass_cse_sincos::execute): Only recognize - builtin calls with correct signature. - -2015-09-29 Ilya Enkovich - - PR target/65105 - * config/i386/i386.c: Include dbgcnt.h. - (has_non_address_hard_reg): New. - (convertible_comparison_p): New. - (scalar_to_vector_candidate_p): New. - (remove_non_convertible_regs): New. - (scalar_chain): New. - (scalar_chain::scalar_chain): New. - (scalar_chain::~scalar_chain): New. - (scalar_chain::add_to_queue): New. - (scalar_chain::mark_dual_mode_def): New. - (scalar_chain::analyze_register_chain): New. - (scalar_chain::add_insn): New. - (scalar_chain::build): New. - (scalar_chain::compute_convert_gain): New. - (scalar_chain::replace_with_subreg): New. - (scalar_chain::replace_with_subreg_in_insn): New. - (scalar_chain::emit_conversion_insns): New. - (scalar_chain::make_vector_copies): New. - (scalar_chain::convert_reg): New. - (scalar_chain::convert_op): New. - (scalar_chain::convert_insn): New. - (scalar_chain::convert): New. - (convert_scalars_to_vector): New. - (pass_data_stv): New. - (pass_stv): New. - (make_pass_stv): New. - (ix86_option_override): Created and register stv pass. - (flag_opts): Add -mstv. - (ix86_option_override_internal): Likewise. - * config/i386/i386.md (SWIM1248x): New. - (*movdi_internal): Add xmm to mem alternative for TARGET_STV. - (and3): Use SWIM1248x iterator instead of SWIM. - (*anddi3_doubleword): New. - (*zext_doubleword): New. - (*zextsi_doubleword): New. - (3): Use SWIM1248x iterator instead of SWIM. - (*di3_doubleword): New. - * config/i386/i386.opt (mstv): New. - * dbgcnt.def (stv_conversion): New. - -2015-09-29 Tom de Vries - - * tree-cfg.c (dump_function_to_file): Dump function attributes. - -2015-09-29 Kaz Kojima - - PR target/67716 - * config/sh/sh.c (sh_override_options_after_change): New. - (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define. - (sh_option_override): Move align_loops, align_jumps and - align_functions handling into sh_override_options_after_change. - -2015-09-28 Nathan Sidwell - - * config/nvptx/nvptx.c: Include omp-low.h and gomp-constants.h. - (nvptx_record_offload_symbol): Record function execution geometry. - * config/nvptx/mkoffload.c (process): Include launch geometry in - function data. - * omp-low.c (oacc_launch_pack): New. - (replace_oacc_fn_attrib): New. - (set_oacc_fn_attrib): New. - (get_oacc_fn_attrib): New. - (expand_omp_target): Create keyed varargs for GOACC_parallel call - generation. - * omp-low.h (get_oacc_fn_attrib): Declare. - * builtin-types.def (DEF_FUNCTION_TyPE_VAR_6): New. - (DEF_FUNCTION_TYPE_VAR_11): Delete. - * tree.h (OMP_CLAUSE_EXPR): New. - * omp-builtins.def (BUILT_IN_GOACC_PARALLEL): Change target fn name. - -2015-09-28 Aditya Kumar - Sebastian Pop - - * sese.c (invariant_in_sese_p_rec): Remove unused variable. - -2015-09-28 Aditya Kumar - Sebastian Pop - - * graphite-optimize-isl.c (optimize_isl): Use ISL_SCHEDULE_FUSE_MAX. - * graphite-scop-detection.c (struct sese_l): New type. - (get_entry_bb): API for getting entry bb of SESE. - (get_exit_bb): API for getting exit bb of SESE. - (class debug_printer): New type. Simple printer in debug mode. - (trivially_empty_bb_p): New. Return true when BB is empty or - contains only debug instructions. - (graphite_can_represent_expr): Call scalar_evoution_in_region - instead of analyze_scalar_evolution. Pass in scop instead of only - the scop entry. - (stmt_has_simple_data_refs_p): Pass in scop instead of only the - scop entry. - (stmt_simple_for_scop_p): Same. - (harmful_stmt_in_bb): Same. - (graphite_can_represent_loop): Deleted. - (struct scopdet_info): Deleted. - (scopdet_basic_block_info): Deleted. - (build_scops_1): Deleted. - (bb_in_sd_region): Deleted. - (find_single_entry_edge): Deleted. - (find_single_exit_edge): Deleted. - (create_single_entry_edge): Deleted. - (sd_region_without_exit): Deleted. - (create_single_exit_edge): Deleted. - (unmark_exit_edges): Deleted. - (mark_exit_edges): Deleted. - (create_sese_edges): Deleted. - (build_graphite_scops): Deleted. - (canonicalize_loop_closed_ssa): Recompute all dominators at the end. - (build_scops): Use the new scop_builder to build scops. - (dot_all_scops_1): Use the new pretty printer. Print loop father - as well. - (loop_body_is_valid_scop): New. Return true if loop body is a - valid scop. - (class scop_builder): New. Builds SCoPs for polyhedral - optimizations. - (scop_builder): New constructor. - (static sese_l invalid_sese): sese_l with invalid edges. - (get_sese): Get an sese (from a loop) if possible, invalid_sese - otherwise. - (get_nearest_dom_with_single_entry): Get nearest dominator of a - basic_block with single entry. Return NULL if we get to the - beginning of a function. - (get_nearest_pdom_with_single_exit): Get nearest post-dominator of - a basic_block with single exit. Return NULL if we get to the - beginning of a function. - (print_sese): Pretty-print SESE. - (merge_sese): Merge two SESEs if possible and return the new SESE. - (build_scop_depth): Start building the SCoP within a loop nest. - (build_scop_breadth): Start building the SCoP at a single loop - depth. Merge adjacent SESEs if valid. - (can_represent_loop_1): Returns true if Graphite can represent - loop inside SCoP. Helper for can_represent_loop. - (can_represent_loop): Returns true if Graphite can represent LOOP - and all its nested loops in SCoP. - (loop_is_valid_scop): Returns true if LOOP and all its nests - constitute a valid SCoP. - (region_has_one_loop): Returns true of a region has only one loop. - (add_scop): Add SCoP to the list of valid scops. Removes an - already existing scop if it intersects with or subsumed by this one. - (harmful_stmt_in_region): Returns true if SCoP has any statment - which cannot be represented by Graphite. - (subsumes): Returns true of SCoP S1 subsumes SCoP S2. - (remove_subscops): Remove any SCoP from the list of already found - SCoPs, if subsumed by S1. - (intersects): Return true if region bounded by SCoPs S1 and S2 - intersect. - (remove_intersecting_scops): Remove any SCoP which intersects with S1. - * graphite.c (print_graphite_scop_statistics): - (print_graphite_statistics): Print SCoP info while debugging. - (graphite_initialize): Early exit in case number of loops in a - function is less than PARAM_GRAPHITE_MIN_LOOPS_PER_FUNCTION or - basic blocks are more than PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION. - (graphite_finalize): - * params.def: Add PARAM_GRAPHITE_MIN_LOOPS_PER_FUNCTION. - * sese.h (sese_loop_depth): Remove unnecessary gcc_assert. - (recompute_all_dominators): Recalculate POST_DOMINATORS. - * tree-cfg.c (print_loops): Print the function name while printing - loops. - -2015-09-28 Aditya Kumar - Sebastian Pop - - PR tree-optimization/67700 - * graphite-sese-to-poly.c (parameter_index_in_region): Call - invariant_in_sese_p_rec. - (extract_affine): Same. - (rewrite_cross_bb_scalar_deps): Call update_ssa. - * sese.c (invariant_in_sese_p_rec): Export. Handle vdefs and vuses. - * sese.h (invariant_in_sese_p_rec): Declare. - -2015-09-28 David Wohlferd - - * doc/extend.texi (Asm Labels): Break out text for data vs functions. - -2015-09-28 Jiong Wang - - Revert: - 2015-08-06 Ramana Radhakrishnan - Jiong Wang - - * config/aarch64/aarch64.d (tlsdesc_small_pseudo_): New pattern. - * config/aarch64/aarch64.h (reg_class): New enumeration FIXED_REG0. - (REG_CLASS_NAMES): Likewise. - (REG_CLASS_CONTENTS): Likewise. - * config/aarch64/aarch64.c (aarch64_class_max_nregs): Likewise. - (aarch64_register_move_cost): Likewise. - (aarch64_load_symref_appropriately): Invoke the new added pattern if - possible. - * config/aarch64/constraints.md (Uc0): New constraint. - -2015-09-28 Daniel Hellstrom - - * config/sparc/t-rtems: Remove -muser-mode. Add ut699, at697f and leon. - -2015-09-28 David Edelsohn - - * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Place - SECTION_EXCLUDE in XO mapping class. - -2015-09-28 Oleg Endo - - PR target/54236 - * config/sh/predicates.md (t_reg_operand, negt_reg_operand): Allow - and handle ne and eq codes. - * config/sh/sh.c (sh_rtx_costs): Adjust matching of tst #imm,r0 insn. - (sh_recog_treg_set_expr): Early accept negt_reg_operand. Eearly reject - CONST_INT_P. Use reverse_condition. - (sh_split_treg_set_expr): Likewise. - -2015-09-28 James Greenhalgh - - * config/arm/types.md (type): Add rotate_imm. - * config/aarch64/aarch64.md (*ror3_insn): Split out the - ROR immediate case. - (*rorsi3_insn_uxtw): Likewise. - * config/aarch64/thunderx.md (thunderx_shift): Add rotate_imm. - * config/arm/cortex-a53.md (cortex_a53_alu_shift): Add rotate_imm. - * config/arm/cortex-a57.md (cortex_a53_alu): Add rotate_imm. - -2015-09-28 Kyrylo Tkachov - - PR rtl-optimization/67481 - * ifcvt.c (contains_ccmode_rtx_p): New function. - (insn_valid_noce_process_p): Use it. - -2015-09-28 Kyrylo Tkachov - - PR rtl-optimization/67456 - PR rtl-optimization/67464 - PR rtl-optimization/67465 - * ifcvt.c (noce_try_cmove_arith): Bail out if cannot conditionally - move in the mode of x. Handle combination of complex and simple - block pairs as well as the case when one is empty. - -2015-09-28 Trevor Saunders - - * doc/gimple.texi: Update references to gimple_statement_base. - * gdbhooks.py: Likewise. - * gimple.h: Likewise. - -2015-09-28 Daniel Cederman - - * config/sparc/driver-sparc.c: map LEON to leon3 - -2015-09-28 Daniel Cederman - - * config/sparc/sparc.opt: Rename mask from USER_MODE to SV_MODE - and make it inverse to change default - * config/sparc/sync.md: Only use supervisor ASI for CASA when in - supervisor mode - * doc/invoke.texi: Document change of default - -2015-09-28 Daniel Cederman - - * config/sparc/sparc.c (sparc_function_value_regno_p): Do not return - true on %f0 for a target without FPU. - * config/sparc/sparc.md (untyped_call): Do not save %f0 for a target - without FPU. - (untyped_return): Do not load %f0 for a target without FPU. - -2015-09-28 Andrew Pinski - - * config/aarch64/aarch64.md (prefetch): - Change the predicate of operand 0 to register_operand. - -2015-09-27 Uros Bizjak - - * config/i386/predicates.md (register_sse4nonimm_operand): New - predicate. - * config/i386/sse.md (PEXTR_MODE12): New mode iterator. - (*vec_extract): Use PEXTR_MODE12 instead of VI12_128 mode. - Use register_sse4nonimm_operand as operand 0 predicate. - (*vec_extractv8hi_sse2): Remove insn pattern. - (*vec_extract_zext): Merge insn pattern from - *vec_extractv8hi_zext and *vec_extractv16qi_zext patterns. - -2015-09-27 Oleg Endo - Kaz Kojima - - PR target/67391 - * config/sh/sh-protos.h (sh_lra_p): Declare. - * config/sh/sh.c (sh_lra_p): Make non-static. - * config/sh/sh.md (addsi3): Use arith_reg_dest for operands[0] and - arith_reg_operand for operands[1]. Remove TARGET_SHMEDIA case. - Expand into addsi3_scr if operands[2] if needed. - (*addsi3_compact): Rename to *addsi3_compact_lra. Use - arith_reg_operand for operands[1]. Allow it only when LRA is enabled. - (addsi3_scr, *addsi3): New insn_and_split patterns. - -2015-09-27 Alexandre Oliva - - PR rtl-optimization/64164 - PR tree-optimization/67312 - PR middle-end/67340 - PR middle-end/67490 - PR bootstrap/67597 - * cfgexpand.c (parm_in_stack_slot_p): Remove. - (ssa_default_def_partition): Remove. - (get_rtl_for_parm_ssa_default_def): Remove. - (set_rtl): Check that RTL assignments match expectations. - Loop on SUBREGs, CONCATs and PARALLELs subexprs. Set only the - default def location for params and results. Record SSA names - or types in REG and MEM attrs, respectively. - (set_parm_rtl): New. - (expand_one_ssa_partition): Drop logic that assigned MEMs with - unassigned addresses. - (adjust_one_expanded_partition_var): Don't accept NULL RTL on - deferred stack alloc vars. - (expand_used_vars): Skip partitions holding parm default defs. - Move adjust_one_expanded_partition_var loop... - (pass_expand::execute): ... here. Drop redundant assert. - Adjust comments before the final loop over all ssa names. - Require assigned rtl of parms and results to match exactly. - Reset its attributes to match them, not any other variables in - the same partition. - (expand_debug_expr): Use entry value for PARM's default defs - only iff they have zero nondebug uses. - * cfgexpand.h (parm_in_stack_slot_p): Remove. - (get_rtl_for_parm_ssa_default_def): Remove. - (set_parm_rtl): Declare. - * doc/invoke.texi: Improve wording. - * explow.c (promote_decl_mode): Fix promote_function_mode for - result decls not by reference. - (promote_ssa_mode): Disregard BLKmode from promote_decl, and - bypass TYPE_MODE to get the actual vector mode. - * function.c: Include tree-dfa.h. Revert 2015-08-14's and - 2015-08-19's changes as follows. Drop include of - basic-block.h and df.h. - (rtl_for_parm): Remove. - (maybe_reset_rtl_for_parm): Remove. - (parm_in_unassigned_mem_p): Remove. - (use_register_for_decl): Add logic for RESULT_DECLs matching - assign_parms' behavior. - (split_complex_args): Revert. - (assign_parms_augmented_arg_list): Revert. Add comment - referencing the logic above. - (assign_parm_adjust_stack_rtl): Revert. - (assign_parm_setup_block): Revert. Use set_parm_rtl instead - of SET_DECL_RTL. Set up a REG if the parm demands so. - (assign_parm_setup_reg): Revert. Consolidated SET_DECL_RTL - calls into a single set_parm_rtl. Set up a temporary RTL - temporarily for expand_assignment. - (assign_parm_setup_stack): Revert. Use set_parm_rtl. - (assign_parms_unsplit_complex): Revert. Use set_parm_rtl. - (assign_bounds): Revert. - (assign_parms): Revert. Use set_parm_rtl. - (allocate_struct_function): Relayout result and parms of - non-abstruct functions. - (expand_function_start): Revert. Use set_parm_rtl. If the - result is not a hard reg, create a pseudo from the promoted - mode of the default def. Promote static chain mode. - * tree-outof-ssa.c (remove_ssa_form): Drop unused - partition_has_default_def. Set up - partitions_for_parm_default_defs. - (finish_out_of_ssa): Remove partition_has_default_def. - Release partitions_for_parm_default_defs. - * tree-outof-ssa.h (struct ssaexpand): Remove - partition_has_default_def. Add - partitions_for_parm_default_defs. - * tree-ssa-coalesce.c: Include tree-dfa.h, tm_p.h and - stor-layout.h. - (build_ssa_conflict_graph): Fix conflict-detection of default - defs of even unused default defs of params and results. - (for_all_parms): New. - (create_default_def): New. - (register_default_def): New. - (coalesce_with_default): New. - (create_outofssa_var_map): Create default defs for all parms - and results, and register their partitions. Add GIMPLE_RETURN - operands as coalesce candidates with results. Add default - defs of each parm or result as coalesce candidates with its - other defs. Mark each result def, and each default def of - parms, as used_in_copy. - (gimple_can_coalesce_p): Call it. Call use_register_for_decl - with the ssa names, even anonymous ones. Drop - parm_in_stack_slot_p calls. Require same signedness and - alignment. - (coalesce_ssa_name): Add coalesce candidates for all defs of - each parm and result, even unused ones. - (parm_default_def_partition_arg): New type. - (set_parm_default_def_partition): New. - (get_parm_default_def_partitions): New. - * tree-ssa-coalesce.h (get_parm_default_def_partitions): New. - * tree-ssa-live.c (partition_view_init): Regard unused defs of - parms and results as used. - (verify_live_on_entry): Don't error out just because they're - not live. - -2015-09-26 David Edelsohn - - * dwarf2out.c (XCOFF_DEBUGGING_INFO): Default 0 definition. - (HAVE_XCOFF_DWARF_EXTRAS): Default to 0 definition. - (output_fde): Don't output length for debug_frame on AIX. - (output_call_frame_info): Don't output length for debug_frame on AIX. - (have_macinfo): Force to False for XCOFF_DEBUGGING_INFO and not - HAVE_XCOFF_DWARF_EXTRAS. - (add_AT_loc_list): Return early if XCOFF_DEBUGGING_INFO and not - HAVE_XCOFF_DWARF_EXTRAS. - (output_compilation_unit_header): Don't output length on AIX. - (output_pubnames): Don't output length on AIX. - (output_aranges): Delete argument. Compute length locally. Don't - output length on AIX. - (output_line_info): Don't output length on AIX. - (dwarf2out_finish): Don't compute aranges_length. - * dwarf2asm.c (XCOFF_DEBUGGING_INFO): Default 0 definition. - (dw2_asm_output_nstring): Emit .byte not .ascii on AIX. - * config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): Emit correct - symbol decoration for AIX. - (rs6000_xcoff_debug_unwind_info): New. - (rs6000_xcoff_asm_named_section): Emit .dwsect pseudo-op - for SECTION_DEBUG. - (rs6000_xcoff_declare_function_name): Emit different - .function pseudo-op when DWARF2_DEBUG. Don't call - xcoffout_declare_function for DWARF2_DEBUG. - * config/rs6000/xcoff.h (TARGET_DEBUG_UNWIND_INFO): - Redefine. - * config/rs6000/aix71.h: New. - * configure.ac (gcc_cv_as_aix_dwloc): Check AIX as for DWARF - locations support. - * configure: Regenerate. - * config.gcc (powerpc-ibm-aix[789]+): New stanza for AIX 7.1+ with - DWARF support. - -2015-09-26 Jeff Law - - * config/arc/arc.c (arc_output_addsi): Fix left shift undefined - behaviour. - * config/arc/constraints.md (Cca, C2a): Fix left shift undefined - behaviour. - - * config/sh/sh.h (CONST_OK_FOR_J16): Fix left shift undefined - behaviour - - * config/mips/mips.c (mips_compute_frame_info): Fix left shift - undefined behaviour. - - * config/cris/cris.md (asrandb): Fix left shift undefined - behaviour. - (asrandw): Likewise. - -2015-09-25 Vladimir Makarov - - PR target/61578 - * lra-constarints.c (match_reload): Check presence of the input pseudo - in the output operand. - -2015-09-25 Tobias Burnus - - * doc/invoke.texi (-fsanitize): Minor wording tweak. - -2015-09-25 Tobias Burnus - - * doc/invoke.texi (-fsanitize): Update URLs. - -2015-09-25 Teresa Johnson - - * opts.c (finish_options): Unset -freorder-blocks-and-partition - if not using profile. - -2015-09-25 Manuel López-Ibáñez - - PR pretty-print/67567 - * pretty-print.c (pp_string): Add gcc_checking_assert. - * pretty-print.h (output_buffer_append_r): Likewise. - -2015-09-25 Oleg Endo - - PR target/67675 - * config/sh/sh-mem.cc (sh_expand_cmpstr): Check alignment of addr1 and - addr2 individually. Don't emit logical or insn if one is known to - be aligned approriately. - (sh_expand_cmpnstr): Likewise. - -2015-09-25 Richard Sandiford - - * config/aarch64/aarch64-builtins.c (aarch64_expand_builtin): Force - __builtin_aarch64_fp[sc]r arguments into a register. - -2015-09-25 H.J. Lu - - * config.gcc (x86_archs): Replace lakemount with lakemont. - (with_cpu): Likewise. - (with_arch): Likewise. - * config/i386/i386-c.c (ix86_target_macros_internal): Replace - PROCESSOR_LAKEMOUNT with PROCESSOR_LAKEMONT. Replace - __tune_lakemount__ with __tune_lakemont__. - * config/i386/i386.c (lakemount_cost): Renamed to ... - (lakemont_cost): This. - (m_LAKEMOUNT): Renamed to ... - (m_LAKEMONT): This. - (initial_ix86_arch_features): Replace m_LAKEMOUNT with m_LAKEMONT. - (processor_target_table): Replace "lakemount" with "lakemont". - (processor_alias_table): Likewise. - (ix86_issue_rate): Replace PROCESSOR_LAKEMOUNT with - PROCESSOR_LAKEMONT. - (ix86_adjust_cost): Likewise. - (ia32_multipass_dfa_lookahead): Likewise. - * config/i386/i386.h (processor_type): Likewise. - * config/i386/x86-tune.def: Replace m_LAKEMOUNT with m_LAKEMONT. - * doc/invoke.texi: Replace lakemount with lakemont. Replace - Lakemount with Lakemont. - -2015-09-24 H.J. Lu - - * config.gcc (x86_archs): Replace iamcu with lakemount. - (with_cpu): Likewise. - (with_arch): Likewise. - * doc/invoke.texi: Likewise. - * config/i386/i386-c.c (ix86_target_macros_internal): Replace - PROCESSOR_IAMCU with PROCESSOR_LAKEMOUNT. Replace - __tune_iamcu__ with __tune_lakemount__. - * config/i386/i386.c (iamcu_cost): Renamed to ... - (lakemount_cost): This. - (m_IAMCU): Renamed to ... - (m_LAKEMOUNT): This. - (initial_ix86_arch_features): Replace m_IAMCU with m_LAKEMOUNT. - (processor_target_table): Replace "iamcu" with "lakemount". - (processor_alias_table): Likewise. - (ix86_issue_rate): Replace PROCESSOR_IAMCU with - PROCESSOR_LAKEMOUNT. - (ix86_adjust_cost): Likewise. - (ia32_multipass_dfa_lookahead): Likewise. - * config/i386/i386.h (processor_type): Likewise. - * config/i386/x86-tune.def: Replace m_IAMCU with m_LAKEMOUNT. - -2015-09-24 John David Anglin - - * config/pa/pa-linux.h (HAVE_sync_compare_and_swapdi): Define. - * config/pa/pa-protos.h (pa_maybe_emit_compare_and_swap_exchange_loop): - Declare. - * config/pa/pa.c (pa_init_libfuncs): Init sync libfuncs up to 8 bytes. - (pa_expand_compare_and_swap_loop): New. - (pa_maybe_emit_compare_and_swap_exchange_loop): New. - * config/pa/pa.md (atomic_storeqi, atomic_storehi, atomic_storesi, - atomic_storesf, atomic_loaddf, atomic_storedf): New expanders. - (atomic_loaddf_1, atomic_storedf_1): New insn patterns. - (atomic_loaddi, atomic_loaddi_1, atomic_storedi, atomic_storedi_1): - Revise. - -2015-09-24 Michael Collison - - PR other/57195 - * read-md.c (read_name): Allow mode iterators inside angle - brackets in rtl expressions. - -2015-09-24 Vladimir Makarov - - PR target/61578 - * ira-color.c (update_allocno_cost): Add parameter. - (update_costs_from_allocno): Decrease conflict cost. Pass the new - parameter. - -2015-09-24 Manuel López-Ibáñez - - PR driver/67640 - * opts-common.c (prune_options): Discard all -fdiagnostics-color - but the last one, which is moved to the front to be processed - first. - * opts.c (enable_warning_as_error): Reject options that do not - control warnings. - -2015-09-24 Jiong Wang - - * config/aarch64/aarch64.c (aarch64_print_operand): Add "CONST" support. - -2015-09-24 Jiong Wang - - * config/aarch64/aarch64-protos.h (aarch64_symbol_context): Delete. - * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Likewise. - (aarch64_cannot_force_const_mem): Likewise. - (aarch64_classify_address): Likewise. - (aarch64_classify_symbolic_expression): Likewise. - (aarch64_print_operand): Likewise. - (aarch64_classify_symbol): Likewise. - (aarch64_mov_operand_p): Likewise. - * config/aarch64/predicates.md (aarch64_valid_symref): Likewise. - (aarch64_mov_operand): Likewise. - -2015-09-24 Segher Boessenkool - - * config/rs6000/rs6000.c (debug_stack_info): Invert the test - for info->spe_gp_size. - -2015-09-24 Richard Biener - - PR lto/67699 - * lto-cgraph.c (compute_ltrans_boundary): Do not stream - abstract origins. - -2015-09-24 Thomas Schwinge - - * tree-object-size.c (plus_stmt_object_size) - (cond_expr_object_size): Change the formal parameters from gimple - to gimple *. - * tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Likewise. - * tree-ssa-sccvn.c (vn_nary_op_insert_stmt): Make it static. - * tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Don't declare. - -2015-09-24 Rainer Orth - - * configure.ac (gcc_cv_ld_pie): Check for gld >= 2.26 on Solaris. - Check for ld -type pie on Solaris 11.x and 12. - * configure: Regenerate. - * config.in: Regenerate. - - * gcc.c (LD_PIE_SPEC): Allow redefinition. - - * config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Define. - (STARTFILE_SPEC): Use it. - (ENDFILE_CRTEND_SPEC): Define. - (ENDFILE_SPEC): Use it and ENDFILE_ARCH_SPEC. - (SUBTARGET_EXTRA_SPECS): Add STARTFILE_CRTBEGIN_SPEC, - ENDFILE_ARCH_SPEC, ENDFILE_CRTEND_SPEC. - [HAVE_LD_PIE && HAVE_SOLARIS_CRTS] (LD_PIE_SPEC): Define. - (!(HAVE_LD_PIE && HAVE_SOLARIS_CRTS)] (LINK_PIE_SPEC): Define. - * config/i386/sol2.h (ENDFILE_SPEC): Remove. - (ENDFILE_ARCH_SPEC): Define. - * config/sparc/sol2.h (ENDFILE_ARCH_SPEC): Define. - -2015-09-24 Rainer Orth - - * configure.ac (gcc_cv_solaris_crts): New test. - * configure. Regenerate. - * config.in: Regenerate. - * config/sol2.h (STARTFILE_SPEC): Simplify, provide - HAVE_SOLARIS_CRTS variant. - -2015-09-24 Kyrylo Tkachov - - * tree-inline.h (count_insns_seq): Delete prototype. - (estimate_num_insns_seq): Define prototype. - * tree-inline.c (count_insns_seq): Delete. - (estimate_num_insns_seq): Remove static qualifier. - * tree-eh.c (decide_copy_try_finally): Replace use of count_insns_seq - with estimate_num_insns_seq. - -2015-09-24 Richard Biener - - * tree-ssa-sccvn.h (vn_reference_op_struct): Add clique and base - members. - * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Record clique - and base for MEM_REF and TARGET_MEM_REF. Handle BIT_FIELD_REF - offset. - (ao_ref_init_from_vn_reference): Record clique and base in the - built base. - * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise - -2015-09-24 Richard Biener - - PR tree-optimization/48885 - * tree-ssa-structalias.c (visit_loadstore): Handle default defs - as not including any restrict tags from other pointers. - -2015-09-23 Thomas Schwinge - - * gcc.c (handle_foffload_option): Don't lose the trailing NUL - character when appending to offload_targets. - - * configure.ac (offload_targets, OFFLOAD_TARGETS): Separate - offload targets by commas, not colons. - * config.in: Regenerate. - * configure: Likewise. - * gcc.c (driver::maybe_putenv_COLLECT_LTO_WRAPPER): Due to that, - instead of setting up the default offload targets here... - (process_command): ..., do it here. - libgomp/ - * plugin/configfrag.ac (OFFLOAD_TARGETS): Clarify that offload - targets are separated by commas. - * config.h.in: Regenerate. - -2015-09-23 Thomas Schwinge - Nathan Sidwell - - * omp-low.h (omp_reduction_init_op): Declare. - * omp-low.c (omp_reduction_init_op): New, broken out of ... - (omp_reduction_init): ... here. Call it. - * tree-parloops.c (initialize_reductions): Use - omp_reduction_init_op. - -2015-09-23 Richard Biener - - PR middle-end/67662 - * fold-const.c (fold_binary_loc): Do not reassociate two vars with - undefined overflow unless they will cancel out. - -2015-09-23 Kirill Yukhin - - * config/i386/i386.md (define_insn "*3"): Fix - insn emit. - -2015-09-23 Manuel López-Ibáñez - - PR c/49655 - * opts.h (write_langs): Declare. - * opts-global.c (write_langs): Make it extern. - -2015-09-23 Oleg Endo - - PR target/67391 - * config/sh/sh.md (addsi3, *addsi3_compact): Don't check for - overlapping regs when matching the pattern. - -2015-09-23 James Greenhalgh - - * config/aarch64/aarch64-simd.md - (aarch64_float_truncate_hi_v4sf): Rewrite as an expand. - (aarch64_float_truncate_hi_v4sf_le): New. - (aarch64_float_truncate_hi_v4sf_be): Likewise. - -2015-09-23 Richard Biener - - * tree-ssa-structalias.c (intra_create_variable_infos): Build - representatives for all restrict qualified pointer destinations. - -2015-09-23 Kirill Yukhin - - * config/i386/i386.md (define_code_attr mshift): New. - (define_mode_iterator SWI1248_AVX512BW): Rename ... - (SWI1248_AVX512BW): ... to this. Make QI enabled for TARGET_AVX512DQ - only. - (define_insn "*k"): Use new iterator name. - (define_insn "*3"): New. - -2015-09-23 Mikhail Maltsev - - PR middle-end/67649 - * memory-block.h (memory_block_pool::allocate): Use valgrind API to - mark the block as accessible. - -2015-09-22 Segher Boessenkool - - * function.c (thread_prologue_and_epilogue_insns): Delete - orig_entry_edge argument to try_shrink_wrapping. - * shrink-wrap.c (can_get_prologue): New function. - (can_dup_for_shrink_wrapping): Also handle EDGE_CROSSING. - (try_shrink_wrapping): Delete orig_entry_edge argument. Use - can_get_prologue where needed. Remove code that finds a single - edge for the prologue. Remove code that tests if any reg clobbered - by the prologue is live on the prologue edge. Remove code that finds - the new prologue edge after duplicating blocks. Make a new prologue - block and edge. - * shrink-wrap.h (try_shrink_wrapping): Delete orig_entry_edge argument. - -2015-09-22 Jeff Law - - * config/pa/pa.h (MIN_LEGIT_64BIT_CONST_INT): Avoid undefined - behavior. - -2015-09-22 Nathan Sidwell - - * doc/invoke.texi (-Wmultiple-inheritance, -Wvirtual-inheritance, - -Wtemplates, -Wnamespaces): Document. - -2015-09-22 Tom de Vries - - PR tree-optimization/67671 - * tree-ssa-structalias.c (create_variable_info_for_1): Handle restrict - pointer references as restrict. - -2015-09-22 Chung-Lin Tang - - * config/nios2/nios2.c (nios2_legitimize_address): When handling - 'reg + reloc' cases, allow first operand to be non-REG, and use - force_reg() to enforce address pattern. - -2015-09-22 Alexander Fomin - - PR target/67480 - * config/i386/sse.md (define_mode_iterator VI48_AVX_AVX512F): New. - (define_mode_iterator VI12_AVX_AVX512F): New. - (define_insn "3"): Change - all iterators to VI48_AVX_AVX512F. Extract remaining modes ... - (define_insn "*3"): ... Into new pattern using - VI12_AVX_AVX512F iterators without masking. - -2015-09-22 Kirill Yukhin - - * config.gcc: Support "skylake-avx512". - * config/i386/i386-c.c (ix86_target_macros_internal): Handle - PROCESSOR_SKYLAKE_AVX512. - * config/i386/i386.c (m_SKYLAKE_AVX512): Define. - (processor_target_table): Add "skylake-avx512". - (PTA_SKYLAKE_AVX512): Define. - (ix86_option_override_internal): Add "skylake_avx512". - (fold_builtin_cpu): Handle "skylake_avx512", add F_AVX512VL - F_AVX512BW, F_AVX512DQ, F_AVX512ER, F_AVX512PF, F_AVX512CD. - * config/i386/i386.h (TARGET_SKYLAKE_AVX512): Define. - (processor_type): Add PROCESSOR_SKYLAKE_AVX512. - * doc/invoke.texi (skylake-avx512): New. - -2015-09-22 Kirill Yukhin - - * config/i386/i386.md (define_insn "kunpckhi"): Fix - operand in pattern. - (define_insn "kunpcksi"): Ditto. - (define_insn "kunpckdi"): Ditto. - -2015-09-22 Kirill Yukhin - - * config/i386/i386.md (define_split not/xor SWI1248x): Use - iterator instead of fixed modes. - -2015-09-22 Matthew Wahab - - * config/aarch64/aarch64-protos.h (aarch64_gen_atomic_ldop): - Adjust declaration. - * config/aarch64/aarch64.c (aarch64_emit_bic): New. - (aarch64_gen_atomic_ldop): Adjust comment. Add parameter - out_result. Update to support update-fetch operations. - * config/aarch64/atomics.md (aarch64_atomic_exchange_lse): - Adjust for change to aarch64_gen_atomic_ldop. - (aarch64_atomic__lse): Likewise. - (aarch64_atomic_fetch__lse): Likewise. - (atomic__fetch): Change to an expander. - (aarch64_atomic__fetch): New. - (aarch64_atomic__fetch_lse): New. - -2015-09-22 Matthew Wahab - - * config/aarch64/aarch64-protos.h - (aarch64_atomic_ldop_supported_p): Declare. - * config/aarch64/aarch64.c (aarch64_atomic_ldop_supported_p): New. - (enum aarch64_atomic_load_op_code): New. - (aarch64_emit_atomic_load_op): New. - (aarch64_gen_atomic_ldop): Update to support load-operate - patterns. - * config/aarch64/atomics.md (atomic_): Change - to an expander. - (aarch64_atomic_): New. - (aarch64_atomic__lse): New. - (atomic_fetch_): Change to an expander. - (aarch64_atomic_fetch_): New. - (aarch64_atomic_fetch__lse): New. - -2015-09-22 Matthew Wahab - - * config/aarch64/aarch64/atomics.md (UNSPECV_ATOMIC_LDOP): New. - (UNSPECV_ATOMIC_LDOP_OR): New. - (UNSPECV_ATOMIC_LDOP_BIC): New. - (UNSPECV_ATOMIC_LDOP_XOR): New. - (UNSPECV_ATOMIC_LDOP_PLUS): New. - (ATOMIC_LDOP): New. - (atomic_ldop): New. - (aarch64_atomic_load): New. - -2015-09-22 Matthew Wahab - - * config/aarch64/aarch64.md - (_one_cmpl_3): Make a named - pattern. - -2015-09-22 Matthew Wahab - - * config/aarch64/aarch64-protos.h (aarch64_gen_atomic_ldop): - Declare. - * config/aarch64/aarch64.c (aarch64_emit_atomic_swap): New. - (aarch64_gen_atomic_ldop): New. - (aarch64_split_atomic_op): Fix whitespace and add a comment. - * config/aarch64/atomics.md (UNSPECV_ATOMIC_SWP): New. - (aarch64_compare_and_swap_lse): Fix some whitespace. - (atomic_exchange): Replace with an expander. - (aarch64_atomic_exchange): New. - (aarch64_atomic_exchange_lse): New. - (aarch64_atomic_): Fix some whitespace. - (aarch64_atomic_swp): New. - -2015-09-22 Manuel López-Ibáñez - - * tree-inline.c (expand_call_inline): Use inform for extra note. - Do not give a note with UNKNOWN_LOCATION. - Replace input_location with gimple_location (stmt). - Use true/false instead of TRUE/FALSE. - -2015-09-22 Tom de Vries - - PR tree-optimization/67666 - * tree-ssa-structalias.c (create_variable_info_for_1): Handle struct - with single field non-conservative. - -2015-09-21 David S. Miller - - PR/67622 - Revert: - 2015-09-11 David S. Miller - - * config/sparc/constraints.md: Make "U" constraint a real register - constraint. - * config/sparc/sparc.c (TARGET_LRA_P): Define. - (D_MODES, DF_MODES): Add missing cast. - (TF_MODES, TF_MODES_NO_S): Include T_MODE. - (OF_MODES, OF_MODES_NO_S): Include O_MODE. - (sparc_register_move_cost): Decrease Niagara/UltrsSPARC memory - cost to 8. - * config/sparc/sparc.h (PROMOTE_MODE): Define. - * config/sparc/sparc.md (*movsi_lo_sum, *movsi_high): Do not - provide these insn when flag_pic. - - 2015-09-17 David S. Miller - - * config/sparc/sparc-protos.h (sparc_secondary_memory_needed): - Declare. - * config/sparc/sparc.c (sparc_secondary_memory_needed): New - function. - * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): Use it. - (HARD_REGNO_CALLER_SAVE_MODE): Define. - * config/sparc/sparc.md (sethi_di_medlow, losum_di_medlow, seth44) - (setm44, setl44, sethh, setlm, sethm, setlo, embmedany_sethi) - (embmedany_losum, embmedany_brsum, embmedany_textuhi) - (embmedany_texthi, embmedany_textulo, embmedany_textlo): Do not - provide when flag_pic. - -2015-09-21 Jeff Law - - * config/h8300/h8300.md (andsi3_ashift_n_lower): Avoid undefined - behavior. - -2015-09-21 Ulrich Weigand - - * config/spu/spu.c (spu_expand_insv): Avoid undefined behavior. - -2015-09-21 Richard Biener - - * passes.c (rest_of_decl_compilation): Do not call - dwarf2out_early_global_decl for aliases. - -2015-09-21 Richard Biener - - PR debug/67664 - * dwarf2out.c (add_location_or_const_value_attribute): Remove - attribute parameter. Early exit if either DW_AT_const_value - or DW_AT_location are present already. - (gen_variable_die): Adjust caller. - (dwarf2out_late_global_decl): Likewise. - -2015-09-21 Oleg Endo - - PR target/67657 - * config/sh/sh.c (sh_remove_overlapping_post_inc, - sh_peephole_emit_move_insn): Add new functions. - * config/sh/sh-protos.h (sh_remove_overlapping_post_inc, - sh_peephole_emit_move_insn): Declere them. - * config/sh/sh.md: Use them in various peephole2 patterns. - -2015-09-21 Richard Biener - - PR middle-end/67651 - * rtlanal.c (nonzero_address_p): SYMBOL_REFs may have zero - address with -fno-delete-null-pointer-checks. - -2015-09-21 Alan Lawrence - - * config/rs6000/altivec.md (reduc_splus_): Rename to... - (reduc_plus_scal_): ...this, add rs6000_expand_vector_extract. - (reduc_uplus_v16qi): Remove. - - * config/rs6000/vector.md (VEC_reduc_name): Change "splus" to "plus". - (reduc__v2df): Remove. - (reduc__v4sf): Remove. - (reduc__scal_): New. - - * config/rs6000/vsx.md (vsx_reduc__v2df): Declare - gen_ function by removing * prefix. - (vsx_reduc__v4sf): Likewise. - -2015-09-21 Manuel López-Ibáñez - - PR middle-end/60832 - * tree-ssa-loop-niter.c (do_warn_aggressive_loop_optimizations): - Print i_bound without converting it to a tree. - -2015-09-21 Bilyan Borisov - - * config/arm/arm.c (thumb_output_move_mem_multiple): Replaced - operands[4] operands[5] swap with std::swap, removed tmp variable. - (arm_evpc_neon_vzip): Replaced in0/in1 and - out0/out1 swaps with std::swap, removed x variable. - (arm_evpc_neon_vtrn): Replaced in0/int1 and - out0/out1 swaos with std::swap, removed x variable. - (arm_expand_vec_perm_const_1): Replaced - d->op0/d->op1 swap with std::swap, removed x variable. - (arm_evpc_neon_vuzp): Replaced in0/in1 and - out0/out1 swaps with std::swap, removed x variable. - -2015-09-21 Jonathan Yong <10walls@gmail.com> - - * config/i386/cygwin.h (STARTFILE_SPEC): Explicitly search - sysroot/usr/lib/32api for additional win32 libraries, - fixes failing Cygwin bootstrapping. - -2015-09-21 Oleg Endo - - * doc/invoke.texi (SH Options): Undocument SH5/SH64 related options. - -2015-09-21 Oleg Endo - - PR target/67126 - * config/sh/sh.md (*reg_lsb_t): Emit bld insn on SH2A. - (*mov_t_msb_neg): Rewrite negc pattern. - -2015-09-20 Wilco Dijkstra - - * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Cleanup - immediate generation code. - -2015-09-20 Wilco Dijkstra - - * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Remove - redundant immediate generation code. - -2015-09-20 Wilco Dijkstra - - * config/aarch64/aarch64.c (aarch64_bitmasks): Remove. - (AARCH64_NUM_BITMASKS): Remove. - (aarch64_bitmasks_cmp): Remove. - (aarch64_build_bitmask_table): Remove. - -2015-09-20 Wilco Dijkstra - - * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Replace - slow immediate matching loops with a faster algorithm. - -2015-09-20 Wilco Dijkstra - - * config/aarch64/aarch64.c (aarch64_bitmask_imm): Reimplement using - faster algorithm. - -2015-09-20 Jeff Law - - PR tree-optimization/47679 - * tree-ssa-dom.c (record_temporary_equivalences): No longer static. - * tree-ssa-dom.h (record_temporary_equivalences): Add prototype. - * tree-ssa-threadedge.c: Include tree-ssa-dom.h. - (thread_through_normal_block): Use record_temporary_equivalences. - -2015-09-19 Trevor Saunders - - * coretypes.h (gimple): Change typedef to be a forward declaration. - * gimple.h (gimple_statement_base): rename to gimple. - * (all functions and types using gimple): Adjust. - * *.[ch]: Likewise. - -2015-09-19 Andrew Dixie - David Edelsohn - - * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): Delete. - (ASM_PREFERRED_EH_DATA_FORMAT): Define. - (EH_FRAME_THROUGH_COLLECT2): Define. - (EH_TABLES_CAN_BE_READ_ONLY): Define. - (ASM_OUTPUT_DWARF_PCREL): Define. - (ASM_OUTPUT_DWARF_DATAREL): Define. - -2015-09-19 John David Anglin - - * config/pa/pa.c (pa_function_ok_for_sibcall): Remove special treatment - of TARGET_ELF32. - -2015-09-18 Jeff Law - - PR tree-optimization/47679 - * tree-ssa-dom.c (avail_exprs_stack): No longer file scoped. Move - it here ... - (dom_opt_dom_walker): New private member holding the avail_exprs_stack - object. Update constructor. - (pass_dominator::execute): Corresponding chagnes to declaration - and initialization of avail_exprs_stack. Update constructor call - for dom_opt_dom_walker object. - (lookup_avail_expr, record_cond): Accept additional argument. Pass - it down to children as needed. - (record_equivalences_from_incoming_edge): Likewise. - (eliminate_redundant_computations): Likewise. - (record_equivalences_from_stmt): Likewise. - (simplify_stmt_for_jump_threading): Likewise. - (record_temporary_equivalences): Likewise. - (optimize_stmt): Likewise. - (dom_opt_dom_walker::thread_across_edge): Update access to - avail_exprs_stack object and pass it to children as needed. - (dom_opt_dom_walker::before_dom_children): Similarly. - (dom_opt_dom_walker::after_dom_children): Similarly. - * tree-ssa-threadedge.c (pfn_simplify): New typedef. - (record_temporary_equivalences_from_stmts_at_dest): Use new typedef. - Add avail_expr_stack argument. Pass it to children as needed. - (dummy_simplify): Likewise. - (simplify_control_stmt_condition): Likewise. - (thread_around_empty_blocks): Likewise. - (thread_through_normal_block): Likewise. - (thread_across_edge): Likewise. - * tree-ssa-threadedge.h (thread_across_edge): Update prototype. - * tree-vrp.c (simplify_stmt_for_jump_threading): Update. - - PR tree-optimization/47679 - * tree-ssa-dom.c (const_and_copies): No longer file scoped. Move - it here ... - (dom_opt_dom_walker): New private member holding the const_and_copies - object. Update constructor. - (pass_dominator::execute): Corresponding changes to declaration - and initialization of const_and_copies. Update constructor call - for the dom_opt_dom_walker object. - (record_temporary_equivalences): Accept const_and_copies argument - pass it down to children as needed. - (record_equality): Likewise. - (record_equivalences_from_incoming_edge): Likewise. - (cprop_into_successor_phis, optimize_stmt): Likewise. - (eliminate_redundant_computations): Likewise. - (dom_opt_dom_walker::thread_across_edge): Update access to - const_and_copies object and pass it to children as needed. - (dom_opt_dom_walker::before_dom_children): Similarly. - (dom_opt_dom_walker::after_dom_children): Similarly. - - PR tree-optimization/47679 - * tree-ssa-dom.c (avail_exprs): No longer file scoped. Bury - it into the avail_exprs_stack class. - (pass_dominator::execute): Corresponding changes to declaration - and initialization of avail_exprs. Pass avail_exprs to - dump_dominator_optimization_stats. - (record_cond): Extract avail_exprs from avail_exprs_stack. - (lookup_avail_expr): Similarly. - (htab_staticstics): Remove unnecessary prototype. Move to earlier - position in file. - (dump_dominator_optimization_stats): Make static and prototype. - Add argument for the hash table to dump. - (debug_dominator_optimization_stats): Remove. - * tree-ssa-dom.h (dump_dominator_optimization_stats): Remove - prototype. - (debug_dominator_optimization_stats): Similarly. - * tree-ssa-scopedtables.h (class avail_exprs_stack): Add missing - "void" in prototype for pop_to_marker method. Add accessor method - for the underlying avail_exprs table. - - * tree-ssa-threadedge.c: Remove trailing whitespace. - -2014-09-18 John David Anglin - - * config/pa/pa-protos.h (pa_cint_ok_for_move): Change argument type to - unsigned. - (pa_ldil_cint_p): Likewise. - * config/pa/pa.c (pa_cint_ok_for_move): likewise. - (pa_ldil_cint_p): Likewise. Change signed casts to unsigned. - Update callers. - * config/pa/pa.md: Likewise. - -2015-09-18 David Malcolm - - * Makefile.in (OBJS-libcommon): Add diagnostic-show-locus.o. - * diagnostic.c (adjust_line): Move to diagnostic-show-locus.c. - (diagnostic_show_locus): Likewise. - (diagnostic_print_caret_line): Likewise. - * diagnostic-show-locus.c: New file. - -2015-09-18 David Edelsohn - - * dwarf2out.c (switch_to_eh_frame_section): Add ATTRIBUTE_UNUSED to - "back" parameter. Declare label in #if block. - -2015-09-18 Uros Bizjak - - PR middle-end/67619 - * except.c (expand_builtin_eh_return): Use copy_addr_to_reg to copy - the address to a register. - -2015-09-18 Jeff Law - - PR tree-optimization/47679 - * Makefile.in (OBJS): Add tree-ssa-phionlycprop.o - * tree-ssa-dom.c: Remove unnecessary header includes. - (remove_stmt_or_phi): Moved from here into tree-ssa-phionlycprop.c - (get_rhs_or_phi_arg, get_lhs_or_phi_result): Likewise. - (propagate_rhs_into_lhs, eliminate_const_or_copy): Likewise. - (eliminate_degenerate_phis_1, pass_phi_only_cprop): Likewise. - (pass_phi_only_cprop::execute): Likewise. - (make_pass_phi_only_cprop): Likewise. - * tree-ssa-phionlycprop.c: New file with moved code. Eliminate - uses of file scoped statics by passing the required objects - as parameters wherever needed. - -2015-09-18 Andrew Dixie - David Edelsohn - - * defaults.h (EH_FRAME_SECTION_NAME): Depend on - EH_FRAME_THROUGH_COLLECT2. - * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add case for - DW_EH_PE_datarel. - * dwarf2out.c (switch_to_eh_frame_section): Use a read-only section - even if EH_FRAME_SECTION_NAME is undefined. Restrict special - collect2 labels to EH_FRAME_THROUGH_COLLECT2. - * except.c (switch_to_exception_section): Use a read-only section - even if EH_FRAME_SECTION_NAME is undefined. - * system.h (EH_FRAME_IN_DATA_SECTION): Poison. - * collect2.c (write_c_file_stat): Provide dbase on AIX. - (scan_prog_file): Don't export __dso_handle nor - __gcc_unwind_dbase. - * config/rs6000/aix.h (ASM_PREFERRED_EH_DATA_FORMAT): Define. - (EH_TABLES_CAN_BE_READ_ONLY): Define. - (ASM_OUTPUT_DWARF_PCREL): Define. - (ASM_OUTPUT_DWARF_DATAREL): Define. - (EH_FRAME_THROUGH_COLLECT2): Define. - (EH_FRAME_IN_DATA_SECTION): Delete. - * config/rs6000/aix61.h (STARTFILE_SPEC): Add crtdbase.o. - * config/rs6000/rs6000-protos.h (rs6000_asm_output_dwarf_pcrel): - Declare. - (rs6000_asm_output_dwarf_datarel): Declare. - * config/rs6000/rs6000.c (rs6000_aix_asm_output_dwarf_pcrel): New. - (rs6000_aix_asm_output_dwarf_datarel): New. - (rs6000_xcoff_asm_init_sections): Don't set exception_section. - * config/spu/spu-elf.h (EH_FRAME_IN_DATA_SECTION): Delete. - (EH_FRAME_THROUGH_COLLECT2): Define. - * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Delete. - (EH_FRAME_THROUGH_COLLECT2): Define. - (EH_TABLES_CAN_BE_READ_ONLY): Define. - * doc/tm.texi.in (EH_FRAME_IN_DATA_SECTION): Delete. - (EH_FRAME_THROUGH_COLLECT2): New. - (ASM_OUTPUT_DWARF_DATAREL): New. - * doc/tm.texi: Regenerate. - -2015-09-18 Richard Biener - - * dwarf2out.c (append_entry_to_tmpl_value_parm_die_table): Assert - we're in early phase. - (schedule_generic_params_dies_gen): Likewise. - (gen_remaining_tmpl_value_param_die_attribute): Do only as much - work as possible, retaining unhandled cases. - (gen_scheduled_generic_parms_dies): Set early-dwarf flag and - clear out generic_type_instances at the end. - (dwarf2out_finish): Move call to gen_scheduled_generic_parms_dies... - (dwarf2out_early_finish): ... here. Do most of - gen_remaining_tmpl_value_param_die_attribute here. - -2015-09-18 Alan Lawrence - - PR tree-optimization/67283 - * tree-sra.c (type_consists_of_records_p): Rename to... - (scalarizable_type_p): ...this, add case for ARRAY_TYPE. - (completely_scalarize_record): Rename to... - (completely_scalarize): ...this, add ARRAY_TYPE case, move some code to: - (scalarize_elem): New. - (analyze_all_variable_accesses): Follow renamings. - -2015-09-18 Richard Biener - - * dwarf2out.c (add_location_or_const_value_attribute): Do nothing - in early-dwarf. - -2015-09-18 Richard Biener - - PR tree-optimization/66142 - * fold-const.c (operand_equal_p): When OEP_ADDRESS_OF - treat MEM[&x] and x the same. - * tree-ssa-sccvn.h (vn_reference_fold_indirect): Remove. - * tree-ssa-sccvn.c (vn_reference_fold_indirect): Return true - when we simplified sth. - (vn_reference_maybe_forwprop_address): Likewise. - (valueize_refs_1): When we simplified through - vn_reference_fold_indirect or vn_reference_maybe_forwprop_address - set valueized_anything to true. - (vn_reference_lookup_3): Use stmt_kills_ref_p to see whether - one ref kills the other instead of just a offset-based test. - * tree-ssa-alias.c (stmt_kills_ref_p): Use OEP_ADDRESS_OF - for the operand_equal_p test to compare bases and also compare - sizes. - -2015-09-17 Christian Bruel - - * config/arm/arm.md (*call_value_symbol): Fix operand for interworking. - -2015-09-17 Richard Henderson - - PR libstdc++/65913 - * builtins.c (fold_builtin_atomic_always_lock_free): Handle fake - pointers that encode the alignment of the object. - -2015-09-17 Eric Botcazou - - PR rtl-optimization/66790 - * df-problems.c (LIVE): Amend documentation. - -2015-09-17 Richard Sandiford - - * Makefile.in (OBJS): Add optabs-libfuncs.o, optabs-query.o - and optabs-tree.o. - (GTFILES): Replace optabs.c with optabs-libfunc.c. - * genopinit.c (main): Add an include guard to insn-opinit.h. - Protect the rtx_code parts with NUM_RTX_CODE. - * optabs.h: Split parts out to... - * optabs-libfuncs.h, optabs-query.h, optabs-tree.h: ...these new files. - * optabs.c: Split parts out to... - * optabs-libfuncs.c, optabs-query.c, optabs-tree.c: ...these new files. - * cilk-common.c: Include optabs-query.h rather than optabs.h. - * fold-const.c: Likewise. - * target-globals.c: Likewise. - * tree-if-conv.c: Likewise. - * tree-ssa-forwprop.c: Likewise. - * tree-ssa-loop-prefetch.c: Likewise. - * tree-ssa-math-opts.c: Include optabs-tree.h rather than optabs.h. - Remove unncessary include files. - * tree-ssa-phiopt.c: Likewise. - * tree-ssa-reassoc.c: Likewise. - * tree-switch-conversion.c: Likewise. - * tree-vect-data-refs.c: Likewise. - * tree-vect-generic.c: Likewise. - * tree-vect-loop.c: Likewise. - * tree-vect-patterns.c: Likewise. - * tree-vect-slp.c: Likewise. - * tree-vect-stmts.c: Likewise. - * tree-vrp.c: Likewise. - * toplev.c: Include optabs-query.h and optabs-libfuncs.h - rather than optabs.h. - * expr.c: Include optabs-tree.h. - * function.c: Likewise. - -2015-09-17 Eric Botcazou - - PR middle-end/65958 - * config/arm/linux-elf.h (STACK_CHECK_STATIC_BUILTIN): Define. - * config/arm/arm-protos.h (output_probe_stack_range): Declare. - * config/arm/arm.c: Include common/common-target.h. - (use_return_insn): Return 0 if the static chain register was saved - above a non-APCS frame. - (arm_compute_static_chain_stack_bytes): Adjust for stack checking. - (struct scratch_reg): New. - (get_scratch_register_on_entry): New function. - (release_scratch_register_on_entry): Likewise. - (arm_emit_probe_stack_range): Likewise. - (output_probe_stack_range): Likewise. - (arm_expand_prologue): Factor out code dealing with the IP register - for nested function and adjust it for stack checking. - Invoke arm_emit_probe_stack_range if static builtin stack checking - is enabled. - (thumb1_expand_prologue): Sorry out if static builtin stack checking - is enabled. - (arm_expand_epilogue): Add the saved static chain register, if any, to - the amount of pre-pushed registers to pop. - (arm_frame_pointer_required): Return true if static stack checking is - enabled and we want to catch the exception with the EABI unwinder. - * config/arm/unspecs.md (UNSPEC_PROBE_STACK): New constant. - (UNSPEC_PROBE_STACK_RANGE): Likewise. - * config/arm/arm.md (probe_stack): New insn. - (probe_stack_range): Likewise. - -2015-09-17 Richard Biener - - * genmatch.c (parser::parse_expr): Improve error message - for mis-placed flags. - -2015-09-17 Richard Biener - - * passes.c (rest_of_decl_compilation): Always call early_global_decl - debug hook when we created a varpool node. - * dwarf2out.c (dwarf2out_late_global_decl): When in LTO call - dwarf2out_early_global_decl, when not just add location or - value attributes to existing DIEs. - -2015-09-17 James Greenhalgh - - * config/aarch64/aarch64.md (copysigndf3): New. - (copysignsf3): Likewise. - -2015-09-17 David S. Miller - - * config/sparc/sparc-protos.h (sparc_secondary_memory_needed): Declare. - * config/sparc/sparc.c (sparc_secondary_memory_needed): New function. - * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): Use it. - (HARD_REGNO_CALLER_SAVE_MODE): Define. - * config/sparc/sparc.md (sethi_di_medlow, losum_di_medlow, seth44) - (setm44, setl44, sethh, setlm, sethm, setlo, embmedany_sethi) - (embmedany_losum, embmedany_brsum, embmedany_textuhi) - (embmedany_texthi, embmedany_textulo, embmedany_textlo): Do not - provide when flag_pic. - -2015-09-17 Kaz Kojima - - * config/sh/sh.c (label_ref_list_d_pool): Adjust to - object_allocator change. - -2015-09-17 Bin Cheng - - PR tree-optimization/66388 - * tree-ssa-loop-ivopts.c (struct iv, iv_cand, ivopts_data): New fields. - (dump_iv): Dump no_overflow information. - (alloc_iv): Initialize new field for struct iv. - (mark_bivs): Count number of no_overflow bivs. - (find_deriving_biv_for_expr, record_biv_for_address_use): New - functions. - (idx_find_step): Call new functions above. - (add_candidate_1, add_candidate): New paramter. - (add_iv_candidate_for_biv): Add sizetype cand for BIV. - (get_computation_aff): Simplify convertion of cand for BIV. - (get_computation_cost_at): Step cand's base if necessary. - -2015-09-17 Bin Cheng - - * tree-ssa-loop-niter.c (tree_simplify_using_condition_1): New - parameter. - (tree_simplify_using_condition): Ditto. - (simplify_using_initial_conditions): Ditto. - (loop_exits_before_overflow): Pass new argument to function - simplify_using_initial_conditions. Remove case for type conversions - simplification. - * tree-ssa-loop-niter.h (simplify_using_initial_conditions): New - parameter. - * tree-scalar-evolution.c (simple_iv): Simplify type conversions - in iv base using loop initial conditions. - -2015-09-16 Jeff Law - - PR tree-optimization/47679 - * tree-ssa-dom.c (free_edge_info): Factored out of free_all_edge_infos. - (free_all_edge_infos): Use it. - (allocate_edge_info): Free preexisting edge info data. - (pass_dominator::execute): Set up initial edge info structures. - (dom_opt_dom_walker::thread_across_edge): Pass avail_expr_stack to - thread_across_edge. - * tree-ssa-threadedge.c (thread_across_edge): Accept new argument. - If non-null, then push/pop markers appropriately. - * tree-ssa-threadedge.h (thread_across_edge): Update prototype. - * tree-vrp.c (identify_jump_threads): Pass NULL for new argument to - thread-across_edge. - -2015-09-16 James Bowman - - * config/ft32/ft32.c: Fix the memory address space predicate. - -2015-09-16 Kaz Kojima - - PR target/67573 - * config/sh/sh.md (call_pcrel): Add early clobber to scratch operand. - (call_value_pcrel, sibcall_pcrel, sibcall_value_pcrel): Likewise. - -2015-09-16 Manuel López-Ibáñez - - * toplev.h (check_global_declaration): Remove declaration. - * toplev.c (check_global_declaration): Move to ... - * cgraphunit.c: ... here. Make it static and pass a symtab_node *. - (analyze_functions): Update call. - -2015-09-16 David S. Miller - - * lra-constraints.c (simplify_operand_subreg): Do not assume that - lowpart of a SUBREG has offset zero. - -2015-09-16 Jeff Law - - PR tree-optimization/47679 - * tree-ssa-dom.c (enum expr_kind): Moved from here to - tree-ssa-scopedtables.h. - (struct hashable_expr, class expr_hash_elt): Likewise. - (struct expr_elt_hasher, class avail_exprs_stack): Likewise. - Move associated methods into tree-ssa-scopedtables.c. - (avail_expr_hash, initialize_expr_from_cond): Similarly. - (hashable_expr_equal_p, add_expr_commutative): Likewise. - (add_hashable_expr): Likewise. - (record_cond): Delete element directly. - * tree-ssa-scopedtables.h (avail_expr_stack, const_and_copies): Add - private copy ctor and assignment operator methods. - (expr_elt_hasher): Inline trivial methods. - (initialize_expr_from_cond): Prototype. - * tree-ssa-scopedtables.c: Add necessary includes, functions and - methods that were previously in tree-ssa-dom.c. Improve various - comments. - -2015-09-16 Paolo Carlini - - * doc/invoke.texi ([Wsubobject-linkage]): Extend documentation. - -2015-09-16 Segher Boessenkool - - PR bootstrap/67587 - * function.c (rest_of_handle_thread_prologue_and_epilogue): Call - fixup_partitions. - -2015-09-16 Richard Biener - - PR middle-end/67253 - * cfgexpand.c (expand_gimple_stmt_1): Do not clobber - location of possibly shared trees. - -2015-09-16 Richard Biener - - PR middle-end/67271 - * fold-const.c (native_encode_expr): Bail out on bogus offsets. - -2015-09-16 Eric Botcazou - - * tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Use offset_int for - offset and size computations instead of HOST_WIDE_INT. - -2015-09-16 Richard Biener - - PR middle-end/67442 - * fold-const.c (extract_muldiv_1): Properly extend multiplication - result before builting a tree via wide_int_to_tree. - -2015-09-16 Mikhail Maltsev - - * Makefile.in: Add memory-block.cc - (pool_allocator::initialize): Use fixed block size. - (pool_allocator::release): Use memory_block_pool. - (pool_allocator::allocate): Likewise. - * asan.c (asan_mem_ref_pool): Adjust to use common block size in all - object pools. - * cfg.c (initialize_original_copy_tables): Likewise. - * cselib.c (elt_list_pool, elt_loc_list_pool, - cselib_val_pool): Likewise. - * df-problems.c (df_chain_alloc): Likewise. - * df-scan.c (df_scan_alloc): Likewise. - * dse.c (cse_store_info_pool, rtx_store_info_pool, - read_info_type_pool, insn_info_type_pool, bb_info_pool, - group_info_pool, deferred_change_pool): Likewise. - * et-forest.c (et_nodes, et_occurrences): Likewise. - * ipa-cp.c (ipcp_cst_values_pool, ipcp_sources_pool, - ipcp_agg_lattice_pool): Likewise. - * ipa-inline-analysis.c (edge_predicate_pool): Likewise. - * ipa-profile.c (histogram_pool): Likewise. - * ipa-prop.c (ipa_refdesc_pool): Likewise. - * ira-build.c (live_range_pool, allocno_pool, object_pool, - initiate_cost_vectors, pref_pool, copy_pool): Likewise. - * ira-color.c (update_cost_record_pool): Likewise. - * lra-lives.c (lra_live_range_pool): Likewise. - * lra.c (lra_insn_reg_pool, lra_copy_pool): Likewise. - * memory-block.cc: New file. - * memory-block.h: New file. - * regcprop.c (queued_debug_insn_change_pool): Use common block size. - * sched-deps.c (sched_deps_init): Likewise. - * sel-sched-ir.c (sched_lists_pool): Likewise. - * stmt.c (expand_case, expand_sjlj_dispatch_table): Likewise. - * tree-sra.c (access_pool): Likewise. - * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise. - * tree-ssa-pre.c (pre_expr_pool, bitmap_set_pool): Likewise. - * tree-ssa-reassoc.c (operand_entry_pool): Likewise. - * tree-ssa-sccvn.c (allocate_vn_table): Likewise. - * tree-ssa-strlen.c (strinfo_pool): Likewise. - * tree-ssa-structalias.c (variable_info_pool): Likewise. - * var-tracking.c (attrs_def_pool, var_pool, valvar_pool, - location_chain_pool, shared_hash_pool, loc_exp_dep_pool): Likewise. - -2015-09-15 Max Filippov - - * config/xtensa/xtensa.h (DWARF_ALT_FRAME_RETURN_COLUMN): New - definition. - (DWARF_FRAME_REGISTERS): Reserve space for one extra register in - call0 ABI. - -2015-09-15 Max Filippov - - * config/xtensa/xtensa.c (xtensa_call_tls_desc): Use a10 or a2 - to pass TLS call argument, according to current ABI. - * config/xtensa/xtensa.md (tls_call pattern): Use callx8 or - callx0 for TLS call, according to current ABI. - -2015-09-15 Eric Botcazou - - * tree-eh.c (lower_try_finally_dup_block): Clear location information - on stack restore statements. - (decide_copy_try_finally): Do not consider a stack restore statement as - coming from sources. - -2015-09-15 Uros Bizjak - - * config/alpha/alpha.c (alpha_expand_block_clear): Use - HOST_WIDE_INT_M1U instead of ~(HOST_WIDE_INT)0 when shifting. - -2015-09-15 Jeff Law - - PR tree-optimization/47679 - * tree-ssa-dom.c (expr_hash_elt): Now a class with ctors/dtors, - methods and private members. - (avail_exprs_stack): Similarly. Change type of global - from a pair of expr_hash_elt_t to the new class. - (expr_elt_hasher::hash): Corresponding changes. - (expr_elt_hasher::equal): Similarly. - (avail_expr_hash): Similarly. - (pass_dominator::execute): Similarly. - (dom_opt_dom_walker::thread_across_edge): Similarly. - (record_cond): Similarly. - (dom_opt_dom_walker::before_dom_children): Similarly. - (dom_opt_dom_walker::after_dom_children): Similarly. - (lookup_avail_expr): Likewise. - (initialize_hash_element): Now a expr_hash_elt constructor. - (initialize_hash_element_from_expr): Similarly. - (free_expr_hash_elt_contents): Now a dtor for class expr_hash_elt. - (free_expr_hash_elt): Call dtor for the element. - (remove_local_expressions_from_table): Now the "pop_to_marker" - method in the available_exprs_stack class. - (avail_expr_stack::record_expr): Method factored out. - (print_expr_hash_elt): Now a method in the expr_hash_elt class. - Fix formatting. - (hashable_expr_equal_p): Fix formatting. - -2015-09-15 David Malcolm - - * input.h (location_get_source_line): Drop "expanded_location" - param in favor of a file and line number. - * input.c (location_get_source_line): Likewise. - (dump_location_info): Update for change in signature of - location_get_source_line. - * diagnostic.c (diagnostic_print_caret_line): Likewise. - -2015-09-15 Eric Botcazou - - * defaults.h (STACK_OLD_CHECK_PROTECT): Adjust for -fno-exceptions. - Bump to 4KB for SJLJ exceptions. - (STACK_CHECK_PROTECT): Likewise. Bump to 8KB for SJLJ exceptions. - * doc/tm.texi.in (STACK_CHECK_PROTECT): Adjust. - * doc/tm.texi: Regenerate. - -2015-09-15 Kyrylo Tkachov - - * config/arm/arm.c (arm_gen_constant): Use HOST_WIDE_INT_M1U instead - of -1 when shifting. Change type of val to unsigned HOST_WIDE_INT. - Update prototype. - -2015-09-15 Richard Biener - - PR tree-optimization/67470 - * tree-ssa-loop-im.c (execute_sm_if_changed): Preserve PHI - structure for PHI hoisting by inserting a forwarder block - if appropriate. - -2015-09-15 Christian Bruel - - * config/arm/arm.c (TARGET_OPTION_PRINT): Define. - (arm_option_print): New function. - -2015-09-15 Christian Bruel - - PR target/52144 - * config/arm/arm.c (arm_option_params_internal): Remove opts parameter. - * config/arm/arm-c.c (arm_cpu_builtins): Declare static. - Remove flags parameter. - * config/arm/arm.h (TARGET_32BIT_P, TARGET_ARM_QBIT_P) - (TARGET_ARM_SAT_P, TARGET_IDIV_P, TARGET_HAVE_LDREX_P) - (TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P, TARGET_DSP_MULTIPLY_P) - (TARGET_ARM_FEATURE_LDREX_P, TARGET_INT_SIMD_P): Redefine macros with... - (TARGET_ARM_SAT, TARGET_IDIV, TARGET_HAVE_LDREX) - (TARGET_HAVE_LDREXBH, TARGET_HAVE_LDREXD, TARGET_ARM_FEATURE_LDREX) - (TARGET_DSP_MULTIPLY, TARGET_INT_SIMD): Redefined macros. - * config/arm/arm-protos.h (arm_cpu_builtins): Remove declaration. - -2015-09-15 Alan Lawrence - - * config/aarch64/aarch64.h (AARCH64_VALID_SIMD_DREG_MODE): New. - - * config/aarch64/aarch64.c (aarch64_array_mode_supported_p): Add - AARCH64_VALID_SIMD_DREG_MODE. - -2015-09-15 Alan Lawrence - - * config/aarch64/aarch64-simd.md (aarch64_ld2r, - aarch64_ld3r, aarch64_ld4r): Combine together, making... - (aarch64_simd_ldr): ...this. - (aarch64_ld2_lane, aarch64_ld3_lane, - aarch64_ld4_lane): Combine together, making... - (aarch64_ld_lane): ...this. - (aarch64_st2_lane, aarch64_st3_lane, - aarch64_st4_lane): Combine together, making... - (aarch64_st_lane): ...this. - * config/aarch64/iterators.md (nregs): Add comment. - -2015-09-15 Alan Lawrence - - * config/aarch64/aarch64-simd.md (aarch64_simd_ld2r): - Change operand mode from to BLK. - (aarch64_vec_load_lanesoi_lane): Likewise. - (aarch64_vec_store_lanesoi_lane): Generate MEM rtx with BLKmode, call set_mem_size. - (aarch64_ld2_lane): Likewise. - (aarch64_st2_lane): Likewise. - * config/aarch64/iterators.md (V_TWO_ELEM): Remove. - -2015-09-15 Alan Lawrence - - * config/aarch64/aarch64-simd.md (aarch64_simd_ld4r): - Change operand mode from to BLK. - (aarch64_vec_load_lanesxi_lane): Likewise. - (aarch64_vec_store_lanesxi_lane): Generate MEM rtx with BLKmode, call set_mem_size. - (aarch64_ld4_lane): Likewise. - (aarch64_st4_lane): Likewise. - * config/aarch64/iterators.md (V_FOUR_ELEM): Remove. - -2015-09-15 Richard Biener - - PR middle-end/67563 - * gimple-fold.c (gimplify_and_update_call_from_tree): Do not - transfer EH info from old to new stmt. - (replace_call_with_value): Likewise. - (replace_call_with_call_and_fold): Likewise. - (gimple_fold_builtin_memory_op): Likewise. - (gimple_fold_builtin_memset): Likewise. - (gimple_fold_builtin_stpcpy): Likewise. - (gimple_fold_call): Likewise. - -2015-09-15 Alan Lawrence - - * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist): Update - comment. - * config/aarch64/aarch64-builtins.c (ei_UP): Remove. - (aarch64_simd_intEI_type_node): Likewise. - (aarch64_simd_builtin_std_type): Remove EImode case. - (aarch64_init_simd_builtin_types): Don't create/add intEI_type_node. - * config/aarch64/aarch64-modes.def: Remove EImode. - -2015-09-15 Alan Lawrence - - * config/aarch64/aarch64-simd.md (aarch64_simd_ld3r): - Change operand mode from to BLK. - (aarch64_vec_load_lanesci_lane): Likewise. - (aarch64_vec_store_lanesci_lane): Likewise. - (aarch64_ld3r): Generate MEM rtx with BLKmode, call set_mem_size. - (aarch64_ld3_lane): Likewise. - (aarch64_st3_lane): Likewise. - * config/aarch64/iterators.md (V_THREE_ELEM): Remove. - -2015-09-15 Alan Lawrence - - * config/aarch64/aarch64-simd.md - (aarch64_ld2_dreg VD & DX, aarch64_st2_dreg VD & DX ): - Change all TImode operands to BLKmode. - (aarch64_ld3_dreg VD & DX, aarch64_st3_dreg VD & DX): - Change all EImode operands to BLKmode. - (aarch64_ld4_dreg VD & DX, aarch64_st4_dreg VD & DX): - Change all OImode operands to BLKmode. - - (aarch64_ld): Generate MEM rtx with BLKmode - and call set_mem_size. - (aarch64_st): Likewise. - - * config/aarch64/iterators.md (VSTRUCT_DREG): Remove. - -2015-09-15 Alan Lawrence - - * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane): Rename - to... - (aarch64_vec_store_lanesoi_lane): ...this. - - (vec_store_lanesci_lane): Rename to... - (aarch64_vec_store_lanesci_lane): ...this. - - (vec_store_lanesxi_lane): Rename to... - (aarch64_vec_store_lanesxi_lane): ...this. - - (aarch64_st2_lane, aarch64_st3_lane, - aarch64_st4_lane): Follow renaming. - -2015-09-15 Andreas Krebbel - - * config/s390/s390.c (s390_const_operand_ok): Add missing - brackets. - -2015-09-15 Richard Biener - - PR lto/67568 - * lto-streamer.h (lto_location_cache::current_sysp): Properly - initialize. - * lto-streamer-out.c (clear_line_info): Likewise. - -2015-09-15 Richard Biener - - * doc/match-and-simplify.texi: Fix wording. - -2015-09-15 Bin Cheng - - * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Strip - unnecessary type conversion in op1. - -2015-09-14 Segher Boessenkool - - * shrink-wrap.c (requires_stack_frame_p): Fix formatting. - (dup_block_and_redirect): Delete function. - (can_dup_for_shrink_wrapping): New function. - (fix_fake_fallthrough_edge): New function. - (try_shrink_wrapping): Rewrite function. - (convert_to_simple_return): Call fix_fake_fallthrough_edge. - -2015-09-14 Rich Felker - - * configure.ac: Change target pattern for sh TLS support - test from "sh[34]-*-*" to "sh[123456789lbe]*-*-*". - * configure: Regenerate. - -2015-09-14 Jeff Law - - PR tree-optimization/47679 - * tree-ssa-dom.c (avail_expr_hash): Pass a pointer to a real - type rather than void *. - -2015-09-14 Manuel López-Ibáñez - - PR fortran/67460 - * diagnostic.c (diagnostic_initialize): Do not set - some_warnings_are_errors. - (diagnostic_finish): Use DK_WERROR count instead. - (diagnostic_report_diagnostic): Do not set - some_warnings_are_errors. - * diagnostic.h (struct diagnostic_context): Remove - some_warnings_are_errors. - -2015-09-14 Richard Sandiford - - * config/sparc/predicates.md (const_all_ones_operand): Use - CONSTM1_RTX to simplify definition. - -2015-09-14 Oleg Endo - - PR target/67061 - * config/sh/sh-protos.h (sh_find_set_of_reg): Simplfiy for-loop. - Handle call insns. - -2015-09-14 Chung-Lin Tang - - * lto-wrapper.c (merge_and_complain): Add OPT_fdiagnostics_show_caret, - OPT_fdiagnostics_show_option, OPT_fdiagnostics_show_location_, and - OPT_fshow_column to handled saved option cases. - (append_compiler_options): Do not skip the above added options. - -2015-09-14 Ramana Radhakrishnan - - PR target/63304 - * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Handle - nopcrelative_literal_loads. - (aarch64_classify_address): Likewise. - (aarch64_constant_pool_reload_icode): Define. - (aarch64_secondary_reload): Handle secondary reloads for - literal pools. - (aarch64_override_options): Handle nopcrelative_literal_loads. - (aarch64_classify_symbol): Handle nopcrelative_literal_loads. - * config/aarch64/aarch64.md (aarch64_reload_movcp): - Define. - (aarch64_reload_movcp): Likewise. - * config/aarch64/aarch64.opt (mpc-relative-literal-loads): New option. - * config/aarch64/predicates.md (aarch64_constant_pool_symref): New - predicate. - * doc/invoke.texi (mpc-relative-literal-loads): Document. - -2015-09-14 John David Anglin - - PR middle-end/67401 - * optabs.c (expand_atomic_compare_and_swap): Move result of emitting - sync_compare_and_swap_optab libcall to target_oval. - -2015-09-14 Marek Polacek - - * rtlanal.c (split_double): Cast to unsigned when shifting a negative - value. - * sched-int.h (UNKNOWN_DEP_COST): Likewise. - -2015-09-11 Mark Wielaard - - PR c/28901 - * toplev.c (check_global_declaration): Check and use - warn_unused_const_variable. - * doc/invoke.texi (Warning Options): Add -Wunused-const-variable. - (-Wunused-variable): Remove non-constant. For C implies - -Wunused-const-variable. - (-Wunused-const-variable): New. - -2015-09-14 Richard Biener - - * doc/match-and-simplify.texi: Update for changed syntax - of inner ifs and the new switch expression. - -2015-09-14 Yuri Rumyantsev - - * config/i386/haswell.md: New file describing Haswell pipeline. - * config/i386/i386.c (processor_alias_table): Use CPU_HASWELL for - haswell-like processors. - (ix86_reassociation_width): Increase reassociation width for 64-bit - Haswell processor family. - * config/i386/i386.md: Introduce haswell cpu and include new md file. - -2015-09-14 Richard Biener - - * doc/match-and-simplify.texi: Fixup some formatting issues - and document the 's' flag. - -2015-09-13 Olivier Hainque - Eric Botcazou - - * config.gcc (visium-*-*): Enable --with-cpu option, accept gr5 and - gr6 as possible values, defaulting to gr5. Set target_cpu_default2. - * config/visium/visium.h (OPTION_DEFAULT_SPECS): Define. - (TARGET_CPU_gr5): Likewise. - (TARGET_CPU_gr6): Likewise. - (MULTILIB_DEFAULTS): Likewise. - * config/visium/t-visium (MULTILIB_OPTIONS): Request distinct variants - for mcpu=gr5 and mcpu=gr6. - (MULTILIB_DIRNAMES): Adjust accordingly. - -2015-09-13 Trevor Saunders - - * tree-ssa-loop-im.c (mem_ref_loc_p): Remove typedef. - (mem_ref_p): Likewise. - (outermost_indep_loop): Adjust. - (mem_ref_in_stmt): Likewise. - (determine_max_movement): Likewise. - (mem_ref_alloc): Likewise. - (record_mem_ref_loc): Likewise. - (set_ref_stored_in_loop): Likewise. - (mark_ref_stored): Likewise. - (gather_mem_refs_stmt): Likewise. - (mem_refs_may_alias_p): Likewise. - (for_all_locs_in_loop): Likewise. - (struct rewrite_mem_ref_loc): Likewise. - (rewrite_mem_refs): Likewise. - (struct first_mem_ref_loc_1): Likewise. - (first_mem_ref_loc): Likewise. - (struct sm_set_flag_if_changed): Likewise. - (execute_sm_if_changed_flag_set): Likewise. - (execute_sm): Likewise. - (hoist_memory_references): - (struct ref_always_accessed): Likewise. - (ref_always_accessed_p): Likewise. - (refs_independent_p): Likewise. - (record_dep_loop): Likewise. - (ref_indep_loop_p_1): Likewise. - (ref_indep_loop_p_2): Likewise. - (ref_indep_loop_p): Likewise. - (can_sm_ref_p): Likewise. - (find_refs_for_sm): Likewise. - (tree_ssa_lim_finalize): Likewise. - -2015-09-13 Trevor Saunders - - * dwarf2out.c (dw_attr_ref): Remove typedef. - (dw_line_info_ref): Likewise. - (pubname_ref): Likewise. - (dw_ranges_ref): Likewise. - (dw_ranges_by_label_ref): Likewise. - (comdat_type_node_ref): Likewise. - (get_AT): Adjust. - (get_AT_low_pc): Likewise. - (get_AT_hi_pc): Likewise. - (get_AT_string): Likewise. - (get_AT_flag): Likewise. - (get_AT_unsigned): Likewise. - (get_AT_ref): Likewise. - (get_AT_file): Likewise. - (remove_AT): Likewise. - (print_die): Likewise. - (check_die): Likewise. - (die_checksum): Likewise. - (attr_checksum_ordered): Likewise. - (struct checksum_attributes): Likewise. - (collect_checksum_attributes): Likewise. - (die_checksum_ordered): Likewise. - (same_die_p): Likewise. - (is_declaration_die): Likewise. - (clone_die): Likewise. - (clone_as_declaration): Likewise. - (copy_declaration_context): Likewise. - (break_out_comdat_types): Likewise. - (copy_decls_walk): Likewise. - (output_location_lists): Likewise. - (external_ref_hasher::hash): Likewise. - (optimize_external_refs_1): Likewise. - (build_abbrev_table): Likewise. - (size_of_die): Likewise. - (unmark_all_dies): Likewise. - (size_of_pubnames): Likewise. - (output_die_abbrevs): Likewise. - (output_die): Likewise. - (output_pubnames): Likewise. - (add_ranges_num): Likewise. - (add_ranges_by_labels): Likewise. - (add_high_low_attributes): Likewise. - (gen_producer_string): Likewise. - (dwarf2out_set_name): Likewise. - (new_line_info_table): Likewise. - (prune_unused_types_walk_attribs): Likewise. - (prune_unused_types_update_strings): Likewise. - (prune_unused_types): Likewise. - (resolve_addr): Likewise. - (optimize_location_lists_1): Likewise. - (index_location_lists): Likewise. - (dwarf2out_finish): Likewise. - -2015-09-13 Trevor Saunders - - * dwarf2cfi.c (dw_trace_info_ref): Remove typedef. - -2015-09-13 Trevor Saunders - - * tree-vrp.c (struct assert_locus_d): Rename to assert_locus. - (dump_asserts_for): Adjust. - (register_new_assert_for): Likewise. - (process_assert_insertions): Likewise. - (insert_range_assertions): Likewise. - -2015-09-13 Trevor Saunders - - * tree-ssa-ter.c (temp_expr_table_d): Rename to temp_expr_table - and remove typedef. - (new_temp_expr_table): Adjust. - (free_temp_expr_table): Likewise. - (version_to_be_replaced_p): Likewise. - (make_dependent_on_partition): Likewise. - (add_to_partition_kill_list): Likewise. - (remove_from_partition_kill_list): Likewise. - (add_dependence): Likewise. - (finished_with_expr): Likewise. - (process_replaceable): Likewise. - (kill_expr): Likewise. - (kill_virtual_exprs): Likewise. - (mark_replaceable): Likewise. - (find_replaceable_in_bb): Likewise. - (find_replaceable_exprs): Likewise. - (debug_ter): Likewise. - -2015-09-13 Trevor Saunders - - * bt-load.c (struct btr_def_group): Rename from btr_def_group_s. - (struct btr_user): Rename from btr_user_s. - (struct btr_def): Rename from btr_def_s. - (find_btr_def_group): Adjust. - (add_btr_def): Likewise. - (new_btr_user): Likewise. - (note_other_use_this_block): Likewise. - (compute_defs_uses_and_gen): Likewise. - (link_btr_uses): Likewise. - (build_btr_def_use_webs): Likewise. - (block_at_edge_of_live_range_p): Likewise. - (btr_def_live_range): Likewise. - (combine_btr_defs): Likewise. - (move_btr_def): Likewise. - (migrate_btr_def): Likewise. - (migrate_btr_defs): Likewise. - -2015-09-13 Trevor Saunders - - * var-tracking.c (shared_hash_def): Rename to shared_hash. - (shared_hash): Remove typedef. - (struct dataflow_set): Adjust. - (shared_hash_unshare): Likewise. - (dataflow_set_merge): Likewise. - (vt_initialize): Likewise. - (vt_finalize): Likewise. - -2015-09-13 Trevor Saunders - - * var-tracking.c (struct location_chain): Rename from - location_chain_def. - (struct variable_part): Adjust. - (variable_htab_free): Likewise. - (unshare_variable): Likewise. - (get_init_value): Likewise. - (get_addr_from_local_cache): Likewise. - (drop_overlapping_mem_locs): Likewise. - (val_reset): Likewise. - (struct variable_union_info): Likewise. - (variable_union): Likewise. - (find_loc_in_1pdv): Likewise. - (insert_into_intersection): Likewise. - (intersect_loc_chains): Likewise. - (canonicalize_loc_order_check): Likewise. - (canonicalize_values_mark): Likewise. - (canonicalize_values_star): Likewise. - (canonicalize_vars_star): Likewise. - (variable_merge_over_cur): Likewise. - (remove_duplicate_values): Likewise. - (variable_post_merge_new_vals): Likewise. - (variable_post_merge_perm_vals): Likewise. - (find_mem_expr_in_1pdv): Likewise. - (dataflow_set_preserve_mem_locs): Likewise. - (dataflow_set_remove_mem_locs): Likewise. - (variable_part_different_p): Likewise. - (onepart_variable_different_p): Likewise. - (find_src_set_src): Likewise. - (dump_var): Likewise. - (set_slot_part): Likewise. - (clobber_slot_part): Likewise. - (delete_slot_part): Likewise. - (vt_expand_var_loc_chain): Likewise. - (emit_note_insn_var_location): Likewise. - (vt_finalize): Likewise. - -2015-09-13 Trevor Saunders - - * dse.c (store_info_t): Remove typedef. - (group_info_t): Likewise. - (const_group_info_t): Likewise. - (deferred_change_t): Likewise. - (get_group_info): Adjust. - (free_store_info): Likewise. - (canon_address): Likewise. - (clear_rhs_from_active_local_stores): Likewise. - (record_store): Likewise. - (replace_read): Likewise. - (check_mem_read_rtx): Likewise. - (scan_insn): Likewise. - (remove_useless_values): Likewise. - (dse_step1): Likewise. - (dse_step2_init): Likewise. - (dse_step2_nospill): Likewise. - (scan_stores_nospill): Likewise. - (scan_reads_nospill): Likewise. - (dse_step3_exit_block_scan): Likewise. - (dse_step3): Likewise. - (dse_step5_nospill): Likewise. - (dse_step6): Likewise. - -2015-09-13 Trevor Saunders - - * alias.c (alias_set_entry_d): Rename to alias_set_entry. - (alias_set_entry): Remove typedef. - (alias_set_subset_of): Adjust. - (alias_sets_conflict_p): Likewise. - (init_alias_set_entry): Likewise. - (get_alias_set): Likewise. - (new_alias_set): Likewise. - (record_alias_subset): Likewise. - -2015-09-13 Gerald Pfeifer - - * doc/install.texi (Downloading the source): Mark up - contrib/download_prerequisites properly and drop leading "./". - -2015-09-12 Trevor Saunders - - * config/arc/arc.h: Remove define of STRUCT_VALUE. - * config/lm32/lm32.h: Likewise. - * config/mep/mep.h: Likewise. - * config/visium/visium.h: Likewise. - * system.h: Poison STRUCT_VALUE macro. - -2015-09-12 John David Anglin - - * config/pa/pa.c (pa_output_move_double): Enhance to handle HIGH - CONSTANT_P operands. - -2015-09-11 David S. Miller - - * config/sparc/constraints.md: Make "U" constraint a real register - constraint. - * config/sparc/sparc.c (TARGET_LRA_P): Define. - (D_MODES, DF_MODES): Add missing cast. - (TF_MODES, TF_MODES_NO_S): Include T_MODE. - (OF_MODES, OF_MODES_NO_S): Include O_MODE. - (sparc_register_move_cost): Decrease Niagara/UltrsSPARC memory - cost to 8. - * config/sparc/sparc.h (PROMOTE_MODE): Define. - * config/sparc/sparc.md (*movsi_lo_sum, *movsi_high): Do not - provide these insn when flag_pic. - -2015-09-11 Jeff Law - - PR tree-optimization/47679 - * tree-ssa-dom.c (struct cond_equivalence): Update comment. - * tree-ssa-scopedtables.h (class const_and_copies): Prefix data - member with m_. Update inline member functions as necessary. Add - toplevel comment. - * tree-ssa-scopedtables.c: Update const_and_copies's member - functions to use m_ prefix to access the stack. - -2015-09-11 Aditya Kumar - - * graphite-optimize-isl.c (disable_tiling): Remove. - (get_schedule_for_band): Do not use disable_tiling. - (get_prevector_map): Delete function. - (enable_polly_vector): Remove. - (get_schedule_for_band_list): Remove dead code. - -2015-09-11 Aditya Kumar - - * graphite-optimize-isl.c (get_tile_map): Refactor. - (get_schedule_for_band): Same. - (getScheduleForBand): Same. - (get_prevector_map): Same. - (get_schedule_for_band_list): Same. - (get_schedule_map): Same. - (get_single_map): Same. - (apply_schedule_map_to_scop): Same. - (optimize_isl): Same. - -2015-09-10 Ramana Radhakrishnan - - PR target/63304 - * config/aarch64/aarch.md (mov:GPF_F16): Use GPF_TF_F16. - (movtf): Delete. - * config/aarch64/iterators.md (GPF_TF_F16): New. - (GPF_F16): Delete. - -2015-09-10 Nathan Sidwell - - * config/nvptx/nvptx.c (nvptx_expand_call): Add spacing. - (nvptx_reorg): Adjust comments. - -2015-09-15 John David Anglin - - PR bootstrap/67363 - * configure.ac: Check if setenv and unsetenv are declared. - * configure: Rebuild. - * config.in: Rebuild. - * system.h: Declare setenv and unsetenv if not declared. - -2015-09-10 Bill Schmidt - - * config/rs6000/rs6000.c (swap_web_entry): Update preceding - commentary to simplify permute mask adjustment equation. - (special_handling_values): Add SH_VPERM. - (const_load_sequence_p): New function. - (insn_is_swappable_p): Add logic to recognize an UNSPEC_VPERM with - the mask loaded from the constant pool. - (adjust_vperm): New function. - (handle_special_swappables): Call adjust_vperm. - (dump_swap_insn_table): Handle SH_VPERM. - -2015-09-10 H.J. Lu - - * shrink-wrap.c (requires_stack_frame_p): Remove static. - * shrink-wrap.h (requires_stack_frame_p): Put back. - -2015-09-10 Richard Sandiford - - * reload1.c (elimination_costs_in_insn): Locally turn - -Wmaybe-uninitialized into a warning. - -2015-09-10 Segher Boessenkool - - * shrink-wrap.c (requires_stack_frame_p): Make static. - (prepare_shrink_wrap): Likewise. - (dup_block_and_redirect): Likewise. - * shrink-wrap.h: Remove declarations of those functions. - -2015-09-10 Mark Wielaard - - * doc/invoke.texi (Wnonnull): Also warns when comparing against NULL. - -2015-09-10 Oleg Endo - - PR target/67506 - * config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Add - missing simplify_gen_subreg. - -2015-09-10 Andreas Krebbel - - * config/s390/s390.c (s390_contiguous_bitmask_vector_p): Reject if - the vector element is bigger than 64 bit. - -2015-09-10 Andreas Krebbel - - * config/s390/vx-builtins.md ("vec_vmal", "vec_vmah") - ("vec_vmalh"): Change mode iterator from VI_HW to VI_HW_QHS. - -2015-09-10 Andreas Krebbel - - * config/s390/s390.c: Add V1TImode to constant pool modes. - -2015-09-10 Kyrylo Tkachov - - PR target/67439 - * config/arm/arm.md (*arm32_movhf): Remove !arm_restrict_it from - predicate. Set predicable_short_it attr to "no". - -2015-09-10 Jiong Wang - - PR rtl-optimization/67421 - * expr.c (expand_expr_real_2): Cost instrcution sequences when doing - left wide shift tranformation. - -2015-09-10 Claudiu Zissulescu - - * common/config/arc/arc-common.c: Remove references to A5. - * config/arc/arc-opts.h: Likewise. - * config/arc/arc.c, config/arc/arc.h, config/arc/arc.md: Likewise. - * config/arc/arc.opt, config/arc/constraints.md: Likewise. - * config/arc/t-arc-newlib: Likewise. - -2015-09-10 Claudiu Zissulescu - - * config/arc/arc.md (length): Fix attribute length for conditional - executed instructions with long immediate. - -2015-09-10 Kyrylo Tkachov - - * config/aarch64/aarch64.md (*and3nr_compare0): Use logics_imm - type for second alternative. - -2015-09-10 Markus Trippelsdorf - - * doc/invoke.texi (Downloading GCC): Mention - contrib/download_prerequisites script. - -2015-09-10 Jakub Jelinek - - PR c++/67523 - * gimplify.c (gimplify_omp_for): If inner stmt is not found - for combined loop, assert seen_error () and return GS_ERROR. - - PR middle-end/67521 - * gimplify.c (gimplify_omp_for): Don't call omp_add_variable - if decl is already in outer->variables. - - PR middle-end/67517 - * gimplify.c (gimplify_scan_omp_clauses): Instead of - asserting that decl is not specified in octx->variables, - break out of the loop if it is. - - PR c++/67514 - * gimplify.c (gimplify_omp_for): For loop SIMD construct, if - iterator is not explicitly determined, but is defined inside - of the combined workshare region, handle it like if it has - DECL_EXPR in OMP_FOR_PRE_BODY. - -2015-09-09 Nathan Sidwell - - * config/nvptx/nvptx.md (call_operation): Move bound out of loop. - (*cmp): Add assembler spacing. - (setcc_int, set_cc_float): Likewise. - * config/nvptx/nvptx.c (nvptx_option_override): Override debug - level. - (write_func_decl_from_insn): Refactor argument loops & comma emission. - (nvptx_expand_call): Likewise. - (nvptx_output_call_insn): Likewise. - (nvptx_reorg_subreg): Add spacing. - -2015-09-09 Marek Polacek - - PR middle-end/67512 - * tree-ssa-uninit.c (pred_equal_p): Only call invert_tree_comparison - for comparisons. - -2015-09-09 Paolo Carlini - - PR c++/53184 - * doc/invoke.texi ([Wsubobject-linkage]): Document. - -2015-09-09 Tom de Vries - - * params-list.h: Add missing copyright notice. - -2015-09-09 Nathan Sidwell - - * config/nvptx/nvptx.md (atomic_compare_and_swap): Use - sel_truesi, not andsi. - -2015-09-09 Kyrylo Tkachov - - * config/arm/arm.md (*subsi3_compare0): Rename to... - (subsi3_compare0): ... This. - (modsi3): New define_expand. - * config/arm/arm.c (arm_new_rtx_costs, MOD case): Handle case - when operand is power of 2. - -2015-09-09 Kyrylo Tkachov - - * config/aarch64/aarch64.md (mod3): New define_expand. - (*neg2_compare0): Rename to... - (neg2_compare0): ... This. - * config/aarch64/aarch64.c (aarch64_rtx_costs, MOD case): - Move check for speed inside the if-then-elses. Reflect - CSNEG sequence in MOD by power of 2 case. - -2015-09-09 Alan Modra - - PR target/67378 - * config/rs6000/rs6000.c (rs6000_secondary_reload_gpr): Find - reload replacement for PRE_MODIFY address reg. - -2015-09-09 Sebastian Pop - - PR tree-optimization/53852 - * config.in: Regenerate. - * configure: Regenerate. - * configure.ac (HAVE_ISL_CTX_MAX_OPERATIONS): Detect. - * graphite-optimize-isl.c (optimize_isl): Stop computation when - PARAM_MAX_ISL_OPERATIONS is reached. - * params.def (PARAM_MAX_ISL_OPERATIONS): Add. - * graphite-dependences.c (extend_schedule): Remove gcc_asserts on - result equal to isl_stat_ok as the status now can be isl_error_quota. - (subtract_commutative_associative_deps): Same. - (compute_deps): Same. - -2015-09-08 Aditya Kumar - Sebastian Pop - - * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id): - Return the parameter if it was saved in corresponding - parameter_rename_map of the region. - (copy_def): Copy def from sese region to the newly created region. - (copy_internal_parameters): Copy all the internal parameters defined - within a region to the newly created region. - (graphite_regenerate_ast_isl): Copy parameters to the new region before - translating isl to gimple. - * graphite-scop-detection.c (graphite_can_represent_loop): Bail out if - the loop-nest does not have any data-references. - (build_graphite_scops): Create a scop only when there is at least one - loop inside it. - (contains_only_close_phi_nodes): Deleted. - (print_graphite_scop_statistics): Deleted - (print_graphite_statistics): Deleted - (limit_scops): Deleted. - (build_scops): Removed call to limit_scops. - * sese.c (new_sese): Construct. - (free_sese): Destruct. - (sese_add_exit_phis_edge): update_stmt after exit phi edge has been - added. - (set_rename): Pass sese region so that parameters inside the region can - be added to its parameter_rename_map. - (rename_uses): Pass sese region. - (graphite_copy_stmts_from_block): Do not copy parameters that have been - generated in the header of the scop. For each SSA_NAME in the - parameter_rename_map rename its usage. - (invariant_in_sese_p_rec): Return false if tree t is defined outside - sese region. - (scalar_evolution_in_region): If the tree t is invariant just return t. - * sese.h: Added a parameter renamne map (parameter_rename_map_t) to - struct sese to keep track of all the parameters which need renaming. - * tree-data-ref.c (loop_nest_has_data_refs): Check if a loop nest has - any data-refs. - * tree-data-ref.h: Declaration of loop_nest_has_data_refs. - -2015-09-08 Tom de Vries - - * Makefile.in (generated_files): Add params.list. - (params.list, s-params.list): Add rule. - * params.h (enum compiler_param): Include params-list.h. Move define - DEFPARAM, include params.def and undef DEFPARAM ... - * params-list.h: ... here. New file. - -2015-09-08 David Malcolm - - * pretty-print.h (printer_fn): Fix typo in comment. - -2015-09-07 Jeff Law - - * tree-ssa-scopedtables.h (class const_and_copies): Fix comment typo. - -2015-09-08 Alan Lawrence - - * doc/sourcebuild.texi (arm_neon_fp16): Correct cross-reference. - (arm_neon_fp16_ok): Document adding of -mfp16-format=ieee flag. - (arm_neon_fp16_hw): New. - -2015-09-08 Alan Lawrence - - * fold-const.c (native_interpret_real): Fix HFmode for bigendian where - UNITS_PER_WORD >= 4. - -2015-09-08 Alan Lawrence - - * config/aarch64/aarch64-simd.md (aarch64_simd_vec_unpacks_lo_, - aarch64_simd_vec_unpacks_hi_): New insn. - (vec_unpacks_lo_v4sf, vec_unpacks_hi_v4sf): Delete insn. - (vec_unpacks_lo_, vec_unpacks_hi_): New expand. - (aarch64_float_extend_lo_v2df): Rename to... - (aarch64_float_extend_lo_): this, using VDF and so adding V4SF. - - * config/aarch64/aarch64-simd-builtins.def (vec_unpacks_hi): Add v8hf. - (float_extend_lo): Add v4sf. - - * config/aarch64/arm_neon.h (vcvt_f32_f16, vcvt_high_f32_f16): New. - * config/aarch64/iterators.md (VQ_HSF): New iterator. - (VWIDE, Vwtype, Vhalftype): Add V8HF, V4SF. - (Vwide): New mode_attr. - -2015-09-08 Alan Lawrence - - * config/aarch64/aarch64-simd.md (aarch64_simd_dup, - aarch64_dup_lane, aarch64_dup_lane_, - aarch64_simd_vec_set, vec_set, vec_perm_const, - vec_init, *aarch64_simd_ld1r, vec_extract): Add - V4HF and V8HF variants to iterator. - - * config/aarch64/aarch64.c (aarch64_evpc_dup): Add V4HF and V8HF cases. - - * config/aarch64/iterators.md (VDQF_F16): New. - (VSWAP_WIDTH, vswap_width_name): Add V4HF and V8HF cases. - -2015-09-08 Alan Lawrence - - * config/aarch64/arm_neon.h (vreinterpret_p8_f16, vreinterpret_p16_f16, - vreinterpret_f16_f64, vreinterpret_f16_s8, vreinterpret_f16_s16, - vreinterpret_f16_s32, vreinterpret_f16_s64, vreinterpret_f16_f32, - vreinterpret_f16_u8, vreinterpret_f16_u16, vreinterpret_f16_u32, - vreinterpret_f16_u64, vreinterpret_f16_p8, vreinterpret_f16_p16, - vreinterpretq_f16_f64, vreinterpretq_f16_s8, vreinterpretq_f16_s16, - vreinterpretq_f16_s32, vreinterpretq_f16_s64, vreinterpretq_f16_f32, - vreinterpretq_f16_u8, vreinterpretq_f16_u16, vreinterpretq_f16_u32, - vreinterpretq_f16_u64, vreinterpretq_f16_p8, vreinterpretq_f16_p16, - vreinterpret_f32_f16, vreinterpret_f64_f16, vreinterpret_s64_f16, - vreinterpret_u64_f16, vreinterpretq_u64_f16, vreinterpret_s8_f16, - vreinterpret_s16_f16, vreinterpret_s32_f16, vreinterpret_u8_f16, - vreinterpret_u16_f16, vreinterpret_u32_f16, vreinterpretq_p8_f16, - vreinterpretq_p16_f16, vreinterpretq_f32_f16, vreinterpretq_f64_f16, - vreinterpretq_s64_f16, vreinterpretq_s8_f16, vreinterpretq_s16_f16, - vreinterpretq_s32_f16, vreinterpretq_u8_f16, vreinterpretq_u16_f16, - vreinterpretq_u32_f16, vget_low_f16, vget_high_f16, vld1_dup_f16, - vld1q_dup_f16): New. - -2015-09-08 Alan Lawrence - - * config/aarch64/aarch64-simd.md (aarch64_float_truncate_lo_v2sf): - Reparameterize to... - (aarch64_float_truncate_lo_): ...this, for both V2SF and V4HF. - (aarch64_float_truncate_hi_v4sf): Reparameterize to... - (aarch64_float_truncate_hi_): ...this, for both V4SF and V8HF. - - * config/aarch64/aarch64-simd-builtins.def (float_truncate_hi_): Add - v8hf variant. - (float_truncate_lo_): Use BUILTIN_VDF iterator. - - * config/aarch64/arm_neon.h (vcvt_f16_f32, vcvt_high_f16_f32): New. - - * config/aarch64/iterators.md (VDF, Vdtype): New. - (VWIDE, Vmwtype): Add cases for V4HF and V2SF. - -2015-09-08 Alan Lawrence - - * config/aarch64/aarch64.c (aarch64_split_simd_combine): Add V4HFmode. - * config/aarch64/aarch64-builtins.c (VAR13, VAR14): New. - (aarch64_scalar_builtin_types, aarch64_init_simd_builtin_scalar_types): - Add __builtin_aarch64_simd_hf. - * config/aarch64/arm_neon.h (float16x4x2_t, float16x8x2_t, - float16x4x3_t, float16x8x3_t, float16x4x4_t, float16x8x4_t, - vcombine_f16, vst2_lane_f16, vst2q_lane_f16, vst3_lane_f16, - vst3q_lane_f16, vst4_lane_f16, vst4q_lane_f16, vld2_f16, vld2q_f16, - vld3_f16, vld3q_f16, vld4_f16, vld4q_f16, vld2_dup_f16, vld2q_dup_f16, - vld3_dup_f16, vld3q_dup_f16, vld4_dup_f16, vld4q_dup_f16, - vld2_lane_f16, vld2q_lane_f16, vld3_lane_f16, vld3q_lane_f16, - vld4_lane_f16, vld4q_lane_f16, vst2_f16, vst2q_f16, vst3_f16, - vst3q_f16, vst4_f16, vst4q_f16, vcreate_f16): New. - - * config/aarch64/iterators.md (VALLDIF, Vtype, Vetype, Vbtype, - V_cmp_result, v_cmp_result): Add cases for V4HF and V8HF. - (VDC, Vdbl): Add V4HF. - -2015-09-08 Alan Lawrence - - * config/aarch64/aarch64.c (aarch64_vector_mode_supported_p): Support - V4HFmode and V8HFmode. - (aarch64_split_simd_move): Add case for V8HFmode. - * config/aarch64/aarch64-builtins.c (v4hf_UP, v8hf_UP): Define. - (aarch64_simd_builtin_std_type): Handle HFmode. - (aarch64_init_simd_builtin_types): Include Float16x4_t and Float16x8_t. - - * config/aarch64/aarch64-simd.md (mov, aarch64_get_lane, - aarch64_ld1, aarch64_st1, aarch64_be_st1): Use VALLDI_F16 iterator. - - * config/aarch64/aarch64-simd-builtin-types.def: Add Float16x4_t, - Float16x8_t. - - * config/aarch64/aarch64-simd-builtins.def (ld1, st1): Use VALL_F16. - * config/aarch64/arm_neon.h (float16x4_t, float16x8_t, float16_t): - New typedefs. - (vget_lane_f16, vgetq_lane_f16, vset_lane_f16, vsetq_lane_f16, - vld1_f16, vld1q_f16, vst1_f16, vst1q_f16, vst1_lane_f16, - vst1q_lane_f16): New. - * config/aarch64/iterators.md (VD, VQ, VQ_NO2E): Add vectors of HFmode. - (VALLDI_F16, VALL_F16): New. - (Vmtype, VEL, VCONQ, VHALF, V_TWO_ELEM, V_THREE_ELEM, V_FOUR_ELEM, q): - Add cases for V4HF and V8HF. - (VDBL, VRL2, VRL3, VRL4): Add V4HF case. - -2015-09-08 Alan Lawrence - - * config/arm/arm-builtins.c (VAR11, VAR12): New. - * config/arm/arm_neon_builtins.def (vcombine, vld2_dup, vld3_dup, - vld4_dup): Add v4hf variant. - (vget_high, vget_low): Add v8hf variant. - (vld1, vst1, vst1_lane, vld2, vld2_lane, vst2, vst2_lane, vld3, - vld3_lane, vst3, vst3_lane, vld4, vld4_lane, vst4, vst4_lane): Add - v4hf and v8hf variants. - - * config/arm/iterators.md (VD_LANE, VD_RE, VQ2, VQ_HS): New. - (VDX): Add V4HF. - (V_DOUBLE): Add case for V4HF. - (VQX): Add V8HF. - (V_HALF): Add case for V8HF. - (VDQX): Add V4HF, V8HF. - (V_elem, V_two_elem, V_three_elem, V_four_elem, V_cmp_result, - V_uf_sclr, V_sz_elem, V_mode_nunits, q): Add cases for V4HF & V8HF. - - * config/arm/neon.md (vec_setinternal, vec_extract, - neon_vget_lane_sext_internal, neon_vget_lane_zext_internal, - vec_load_lanesoi, neon_vld2, vec_store_lanesoi, - neon_vst2, vec_load_lanesci, neon_vld3, - neon_vld3qa, neon_vld3qb, vec_store_lanesci, - neon_vst3, neon_vst3qa, neon_vst3qb, - vec_load_lanesxi, neon_vld4, neon_vld4qa, - neon_vld4qb, vec_store_lanesxi, neon_vst4, - neon_vst4qa, neon_vst4qb): Change VQ iterator to VQ2. - - (neon_vcreate, neon_vreinterpretv8qi, - neon_vreinterpretv4hi, neon_vreinterpretv2si, - neon_vreinterpretv2sf, neon_vreinterpretdi): - Change VDX to VD_RE. - - (neon_vld2_lane, neon_vst2_lane, neon_vld3_lane, - neon_vst3_lane, neon_vld4_lane, neon_vst4_lane): - Change VD iterator to VD_LANE, and VMQ iterator to VQ_HS. - - * config/arm/arm_neon.h (float16x4x2_t, float16x8x2_t, float16x4x3_t, - float16x8x3_t, float16x4x4_t, float16x8x4_t, vcombine_f16, - vget_high_f16, vget_low_f16, vld1_f16, vld1q_f16, vst1_f16, vst1q_f16, - vst1_lane_f16, vst1q_lane_f16, vld2_f16, vld2q_f16, vld2_lane_f16, - vld2q_lane_f16, vld2_dup_f16, vst2_f16, vst2q_f16, vst2_lane_f16, - vst2q_lane_f16, vld3_f16, vld3q_f16, vld3_lane_f16, vld3q_lane_f16, - vld3_dup_f16, vst3_f16, vst3q_f16, vst3_lane_f16, vst3q_lane_f16, - vld4_f16, vld4q_f16, vld4_lane_f16, vld4q_lane_f16, vld4_dup_f16, - vst4_f16, vst4q_f16, vst4_lane_f16, vst4q_lane_f16): New. - -2015-09-08 Alan Lawrence - - * config/arm/arm_neon.h (vgetq_lane_f16, vsetq_lane_f16, vld1q_lane_f16, - vld1q_dup_f16, vreinterpretq_p8_f16, vreinterpretq_p16_f16, - vreinterpretq_f16_p8, vreinterpretq_f16_p16, vreinterpretq_f16_f32, - vreinterpretq_f16_p64, vreinterpretq_f16_p128, vreinterpretq_f16_s64, - vreinterpretq_f16_u64, vreinterpretq_f16_s8, vreinterpretq_f16_s16, - vreinterpretq_f16_s32, vreinterpretq_f16_u8, vreinterpretq_f16_u16, - vreinterpretq_f16_u32, vreinterpretq_f32_f16, vreinterpretq_p64_f16, - vreinterpretq_p128_f16, vreinterpretq_s64_f16, vreinterpretq_u64_f16, - vreinterpretq_s8_f16, vreinterpretq_s16_f16, vreinterpretq_s32_f16, - vreinterpretq_u8_f16, vreinterpretq_u16_f16, vreinterpretq_u32_f16): - New. - -2015-09-08 Alan Lawrence - - * config/arm/arm.h (VALID_NEON_QREG_MODE): Add V8HFmode. - - * config/arm/arm.c (arm_vector_mode_supported_p): Support V8HFmode. - - * config/arm/arm-builtins.c (v8hf_UP): New. - (arm_init_simd_builtin_types): Initialise Float16x8_t. - - * config/arm/arm-simd-builtin-types.def (Float16x8_t): New. - - * config/arm/arm_neon.h (float16x8_t): New typedef. - -2015-09-08 Alan Lawrence - - * config/arm/arm_neon.h (float16_t, vget_lane_f16, vset_lane_f16, - vcreate_f16, vld1_lane_f16, vld1_dup_f16, vreinterpret_p8_f16, - vreinterpret_p16_f16, vreinterpret_f16_p8, vreinterpret_f16_p16, - vreinterpret_f16_f32, vreinterpret_f16_p64, vreinterpret_f16_s64, - vreinterpret_f16_u64, vreinterpret_f16_s8, vreinterpret_f16_s16, - vreinterpret_f16_s32, vreinterpret_f16_u8, vreinterpret_f16_u16, - vreinterpret_f16_u32, vreinterpret_f32_f16, vreinterpret_p64_f16, - vreinterpret_s64_f16, vreinterpret_u64_f16, vreinterpret_s8_f16, - vreinterpret_s16_f16, vreinterpret_s32_f16, vreinterpret_u8_f16, - vreinterpret_u16_f16, vreinterpret_u32_f16): New. - -2015-09-07 Ilya Verbin - - * config/i386/intelmic-mkoffload.c (prepare_target_image): Handle all - non-alphanumeric characters in the symbol name. - -2015-09-07 Marek Polacek - - PR inline-asm/67448 - * gimplify.c (gimplify_asm_expr): Don't allow MODIFY_EXPR as - a memory input. - -2015-09-07 Marek Polacek - - * system.h (INTTYPE_MINIMUM): Rewrite to avoid shift warning. - -2015-09-04 Paolo Bonzini - - * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Do - not warn. - -2015-09-04 Jakub Jelinek - - PR middle-end/67452 - * tree-ssa-live.c: Include cfgloop.h. - (remove_unused_locals): Clear loop->simduid if simduid is about - to be removed from cfun->local_decls. - -2015-09-02 Senthil Kumar Selvaraj - - PR target/65210 - * config/avr/avr.c (avr_eval_addr_attrib): Look for io_low - attribute as well. - -2015-09-04 Tom de Vries - - * doc/invoke.texi (@item -ftrapv, @item -fwrapv): Document interaction. - -2015-09-04 Jeff Law - - * tree-ssa-scopedtables.c (const_and_copies::const_and_copies): Remove - unnecessary constructor. It's now trivial and implemented inside... - * tree-ssa-scopedtables.h (const_and_copies): Implement trivial - constructor. Add comments to various methods. Remove unused - private fields. - * tree-ssa-dom.c (pass_dominator::execute): Corresponding changes. - * tree-vrp.c (identify_jump_threads): Likewise. - * tree-ssa-threadedge.c (thread_through_normal_block): Fix minor - indentation issues. - (thread_across_edge): Similarly. - (record_temporary_equivalences_from_stmts_at_dest): Remove unused - arguments in constructor call. - -2015-09-04 Jonas Hahnfeld - - * config/i386/intelmic-mkoffload.c (prepare_target_image): Fix if the - temp path contains a '-'. - -2015-09-04 Andrey Turetskiy - Petr Murzin - Kirill Yukhin - - * config/i386/i386-builtin-types.def - (VOID_PFLOAT_HI_V8DI_V16SF_INT): New. - (VOID_PDOUBLE_QI_V16SI_V8DF_INT): Ditto. - (VOID_PINT_HI_V8DI_V16SI_INT): Ditto. - (VOID_PLONGLONG_QI_V16SI_V8DI_INT): Ditto. - * config/i386/i386.c - (ix86_builtins): Add IX86_BUILTIN_SCATTERALTSIV8DF, - IX86_BUILTIN_SCATTERALTDIV16SF, IX86_BUILTIN_SCATTERALTSIV8DI, - IX86_BUILTIN_SCATTERALTDIV16SI. - (ix86_init_mmx_sse_builtins): Define __builtin_ia32_scatteraltsiv8df, - __builtin_ia32_scatteraltdiv8sf, __builtin_ia32_scatteraltsiv8di, - __builtin_ia32_scatteraltdiv8si. - (ix86_expand_builtin): Handle IX86_BUILTIN_SCATTERALTSIV8DF, - IX86_BUILTIN_SCATTERALTDIV16SF, IX86_BUILTIN_SCATTERALTSIV8DI, - IX86_BUILTIN_SCATTERALTDIV16SI. - (ix86_vectorize_builtin_scatter): New. - (TARGET_VECTORIZE_BUILTIN_SCATTER): Define as - ix86_vectorize_builtin_scatter. - -2015-09-04 Andrey Turetskiy - Petr Murzin - Kirill Yukhin - - * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_SCATTER): New. - * doc/tm.texi: Regenerate. - * target.def: Add scatter builtin. - * tree-vectorizer.h: Rename gather_p to gather_scatter_p and use it - for loads/stores in case of gather/scatter accordingly. - (STMT_VINFO_GATHER_SCATTER_P(S)): Use it instead of - STMT_VINFO_GATHER_P(S). - (vect_check_gather): Rename to ... - (vect_check_gather_scatter): this. - * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Use - STMT_VINFO_GATHER_SCATTER_P instead of STMT_VINFO_SCATTER_P. - (vect_check_gather_scatter): Use it instead of vect_check_gather. - (vect_analyze_data_refs): Add gatherscatter enum and maybe_scatter - variable and new checkings for it accordingly. - * tree-vect-stmts.c - (STMT_VINFO_GATHER_SCATTER_P(S)): Use it instead of - STMT_VINFO_GATHER_P(S). - (vect_check_gather_scatter): Use it instead of vect_check_gather. - (vectorizable_store): Add checkings for STMT_VINFO_GATHER_SCATTER_P. - -2015-09-03 Bill Schmidt - - * config/rs6000/altivec.md (altivec_vperm_v8hiv16qi): New - define_insn. - (mulv16qi3): New define_expand. - -2015-09-03 Martin Sebor - - PR c/66516 - * doc/extend.texi (Other Builtins): Document when the address - of a built-in function can be taken. - -2015-09-03 Richard Biener - - * dwarf2out.c (flush_limbo_die_list): Split out from ... - (dwarf2out_early_finish): ... here. - (dwarf2out_finish): Do not call dwarf2out_early_finish but - flush_limbo_die_list. Assert we have no deferred asm names. - -2015-09-03 Bill Schmidt - - * optabs.c (expand_binop): Don't create a broadcast vector with a - source element wider than the inner mode. - -2015-09-03 Richard Biener - - * varasm.c (output_constant): Use fold_convert instead of - wide_int_to_tree. - -2015-09-03 Tom de Vries - - PR tree-optimization/65637 - * omp-low.c (expand_omp_for_static_chunk): Handle case that - fin_bb has 2 predecessors. - -2015-09-03 Tom de Vries - - PR tree-optimization/65637 - * omp-low.c (find_phi_with_arg_on_edge): New function. - (expand_omp_for_static_chunk): Fix inner loop phi. - -2015-09-03 Tom de Vries - - PR tree-optimization/65637 - * omp-low.c (expand_omp_for_static_chunk): Fix gcc_assert for the case - that head is NULL. - -2015-09-03 Tom de Vries - - * omp-low.c (expand_omp_for_static_chunk): Handle simple latch bb. - -2015-09-03 Tom de Vries - - * doc/invoke.texi (parloops-chunk-size): Add item. - * params.def (PARAM_PARLOOPS_CHUNK_SIZE): Add DEFPARAM. - * tree-parloops.c: Include params.h. - (create_parallel_loop): Set chunk-size of schedule of omp-for loop, if - param parloops-chunk-size is used. - -2015-09-03 Naveen H.S - - PR middle-end/67351 - * fold-const.c (fold_binary_loc) : Move - Transform (x >> c) << c into x & (-1<> c into x & ((unsigned)-1 >> c) for unsigned - types using simplify and match. - * match.pd (lshift (rshift @0 INTEGER_CST@1) @1) : New simplifier. - (rshift (lshift @0 INTEGER_CST@1) @1) : New Simplifier - -2015-09-03 Richard Biener - - PR ipa/66705 - * tree-ssa-structalias.c (ctor_for_analysis): New function. - (create_variable_info_for_1): Use ctor_for_analysis instead - of get_constructor. - (create_variable_info_for): Likewise. - -2015-09-02 Charles Baylis - - PR ipa/67280 - * cgraphunit.c (cgraph_node::create_wrapper): Set can_throw_external - in new callgraph edge. - -2015-09-02 Christophe Lyon - - PR target/59810 - PR target/63652 - PR target/63653 - * config/aarch64/aarch64-simd.md - (aarch64_ld): Call - gen_aarch64_simd_ld. - (aarch64_st): Call - gen_aarch64_simd_st. - -2015-09-02 Alan Modra - - * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Don't define. - * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Likewise. - (LINK_SPEC, SUBTARGET_EXTRA_SPECS): Delete link_target. - -2015-09-02 Alan Modra - - PR target/67417 - * config/rs6000/predicates.md (current_file_function_operand): Don't - return true for weak symbols. - * config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Likewise. - -2015-09-01 Matthew Fortune - Andrew Bennett - - * config/mips/mips-opts.h (mips_cb_setting): New enum. - * config/mips/mips-protos.h: Add definitions for - mips_output_jump and mips_output_equal_conditional_branch - * config/mips/mips.c (MIPS_JR): Change to support the - JIC instruction. - (mips_emit_compare): Add support for the MIPS R6 conditional - compact branches. - (mips_process_sync_loop): Likewise. - (mips_output_order_conditional_branch): Likewise. - (mips16_build_call_stub): Change MIPS_CALL to - mips_output_jump. - (mips_print_operand_punctuation): Update 's' case to only - apply to micromips r2. - (mips_adjust_insn_length): Add support for forbidden slot - hazards. - (mips_avoid_hazard): Likewise. - (mips_reorg_process_insns): Likewise. - (mips_output_jump): New function. - (mips_output_equal_conditional_branch): Likewise. - (mips_output_conditional_branch): Use jrc/bc if compact - branch support is enabled. Ensure the forbidden slots - between the two branch instructions is filled with a nop. - (mips_option_override): Add support to process the compact - branch option and set the correct defaults. Prevent - non-explict relocs being using for MIPS R6. - (mips_trampoline_init): Add compact branch support. - (mips_mult_zero_zero_cost): Allow zero initialisation of - accumulators with TARGET_DSP. - * config/mips/mips.h (TARGET_CB_NEVER): New define. - (TARGET_CB_MAYBE): New define. - (TARGET_CB_ALWAYS): New define. - (ISA_HAS_DELAY_SLOTS): New define. - (ISA_HAS_COMPACT_BRANCHES): New define. - (ISA_HAS_JRC): New define. - (MIPS_BRANCH_C): New define. - (MIPS_CALL): Removed. - (MICROMIPS_J): Removed. - * config/mips/mips.md (compact_form): New attr. - (hazard): Add support for forbidden slots. - (define_delay): Add support for compact branches. - (*branch_order): Likewise. - (*branch_order_inverted): Likewise. - (*branch_equality): Likewise. - (*branch_equality_inverted): Likewise. - (*jump_absolute): Likewise. - (*jump_pic): Likewise. - (indirect_jump): Use mips_output_jump to produce assembly output. - (tablejump_"): Likewise. - (*"): Likewise. - (_internal): Likewise. - (sibcall_internal): Likewise. - (sibcall_value_internal): Likewise. - (sibcall_value_multiple_internal): Likewise. - (call_internal): Likewise. - (call_split): Likewise. - (call_internal_direct): Likewise. - (call_direct_split): Likewise. - (call_value_internal): Likewise. - (call_value_split): Likewise. - (call_value_internal_direct): Likewise. - (call_value_direct_split): Likewise. - (call_value_multiple_internal): Likewise. - (call_value_multiple_split): Likewise. - (mips_get_fcsr_mips16_): Likewise. - (mips_set_fcsr_mips16_): Likewise. - (tls_get_tp_mips16_): Likewise. - * config/mips/mips.opt: Add -mcompact-branches option. - * config/mips/predicates.md (order_operator): Ensure the - conditional compact branches are only used if the ISA them. - * doc/invoke.texi: Document -mcompact-branches option. - -2015-09-01 Vladimir Makarov - - PR target/61578 - * lra-lives.c (process_bb_lives): Process move pseudos with the - same value for copies and preferences - * lra-constraints.c (match_reload): Create match reload pseudo - with the same value from single dying input pseudo. - -2015-09-01 Ilya Enkovich - - PR target/67405 - * tree-chkp.c (chkp_find_bound_slots_1): Add NULL check. - -2015-09-01 Aldy Hernandez - - * trans-mem.c: Add contributed-by. - * trans-mem.h: Same. - -2015-09-01 Richard Biener - - * expr.c (expand_expr_real_1): For expanding TERed defs - set the current location to that of the def if not UNKNOWN. - -2015-09-01 David Sherwood - - * genmodes.c: Add CONST_MODE_UNIT_SIZE modifier. - -2015-09-01 Kyrylo Tkachov - - * ifcvt.c (struct noce_if_info): Add then_simple, else_simple, - then_cost, else_cost fields. Change branch_cost field to unsigned int. - (end_ifcvt_sequence): Call set_used_flags on each insn in the sequence. - Include rtl-iter.h. - (noce_simple_bbs): New function. - (noce_try_move): Bail if basic blocks are not simple. - (noce_try_store_flag): Likewise. - (noce_try_store_flag_constants): Likewise. - (noce_try_addcc): Likewise. - (noce_try_store_flag_mask): Likewise. - (noce_try_cmove): Likewise. - (noce_try_minmax): Likewise. - (noce_try_abs): Likewise. - (noce_try_sign_mask): Likewise. - (noce_try_bitop): Likewise. - (bbs_ok_for_cmove_arith): New function. - (noce_emit_all_but_last): Likewise. - (noce_emit_insn): Likewise. - (noce_emit_bb): Likewise. - (noce_try_cmove_arith): Handle non-simple basic blocks. - (insn_valid_noce_process_p): New function. - (contains_mem_rtx_p): Likewise. - (bb_valid_for_noce_process_p): Likewise. - (noce_process_if_block): Allow non-simple basic blocks - where appropriate. - -2015-08-31 Alan Lawrence - - * tree-ssa-dom.c (record_equivalences_from_phis, - record_equivalences_from_stmt, optimize_stmt): Use dom_valueize. - (lookup_avail_expr): Likewise, and remove comment and unused temp. - -2015-09-01 Nick Clifton - - * config/msp430/msp430.opt (mcpu): Fix typo. - -2015-09-01 Kyrylo Tkachov - - * config/aarch64/aarch64.c (aarch64_set_current_function): - Re-layout any vector parameters have non-simd layout. - * config/aarch64/aarch64-builtins.c (aarch64_relayout_simd_param): - Delete. - (aarch64_simd_expand_args): Delete call to the above. - -2015-08-31 Mike Frysinger - - * doc/invoke.texi (asan-stack): Add space before option. - -2015-08-31 Marc Glisse - - * tree.h (zerop): New function. - * tree.c (zerop): Likewise. - (element_precision): Handle expressions. - * match.pd (define_predicates): Add zerop. - (x <= +Inf): Fix comment. - (abs (x) == 0, A & C == C, A & C != 0): Converted from ... - * fold-const.c (fold_binary_loc): ... here. Remove. - -2015-08-31 Richard Biener - - PR middle-end/67381 - * genmatch.c (dt_node::gen_kids): Also treat matches as barrier. - -2015-08-31 Marc Glisse - - * match.pd (SIN, COS, TAN, COSH): Reorder for consistency. - (CEXPI): New operator list. - (real (conj (x)), imag (conj (x)), real (x +- y), real (cexpi (x)), - imag (cexpi (x)), conj (conj (x)), conj (complex (x, y))): - Converted from ... - * fold-const.c (fold_unary_loc, fold_binary_loc): ... here. Remove. - -2015-08-31 Tom de Vries - - * tree-ssa-loop-manip.c (find_uses_to_rename_stmt) - (find_uses_to_rename_bb, find_uses_to_rename): Add and handle use_flags - parameter. - (find_uses_to_rename_def, find_uses_to_rename_in_loop): New function. - (rewrite_into_loop_closed_ssa_1): New function, factored out of ... - (rewrite_into_loop_closed_ssa): ... here. - (replace_uses_in_dominated_bbs): Remove function. - (rewrite_virtuals_into_loop_closed_ssa): Reimplement using - rewrite_into_loop_closed_ssa_1. - -2015-08-31 Michael Matz - - * cfganal.c (pre_and_rev_post_order_compute_fn): Correctly - enter entry and exit blocks for reverse post order. - -2015-08-31 Richard Biener - - * lto-streamer.h (lto_location_cache::cached_location::sysp): Add. - (lto_location_cache::current_sysp): Likewise. - (output_block::current_sysp): Likewise. - * lto-streamer-in.c (lto_location_cache::cmp_loc): Compare sysp. - (lto_location_cache::apply_location_cache): Properly record - system header locations. - (lto_location_cache::input_location): Input whether a file - is a system header. - * lto-streamer-out.c (lto_output_location): Stream whether a file - is a system header. - -2015-08-31 Rainer Orth - - PR bootstrap/67363 - * gcc.c (env_manager::xput): Replace strndup by xstrndup. - -2015-08-31 Tom de Vries - - * tree-ssa-loop-manip.c (find_uses_to_rename_use) - (find_uses_to_rename_stmt, find_uses_to_rename_bb, find_uses_to_rename): - Improve function header comments. - -2015-08-30 Michael Collison - - PR other/67320 - * doc.md.texi: Rename [su]sum_widen to widen_[su]sum to reflect correct - standard names - -2015-08-30 Bill Schmidt - - * config/rs6000/rs6000.c (swap_web_entry): Enlarge - special_handling bitfield. - (special_handling_values): Add SH_XXPERMDI and SH_CONCAT. - (rtx_is_swappable_p): Add handling for vec_select/vec_concat form - that represents a general xxpermdi. - (insn_is_swappable_p): Add handling for vec_concat of two - doublewords, which maps to a specific xxpermdi. - (adjust_xxpermdi): New function. - (adjust_concat): Likewise. - (handle_special_swappables): Call adjust_xxpermdi and - adjust_concat. - (dump_swap_insn_table): Handle SH_XXPERMDI and SH_CONCAT. - -2015-08-30 Rich Felker - - * config.gcc (supported_defaults): Handle sh[123456ble]*-*-* - case instead of sh[123456ble]-*-*. - -2015-08-29 Anatoly Sokolov - - * ira.c (print_unform_and_important_classes, - print_translated_classes): Remove reg_class_names static array. - (print_unform_and_important_classes): Rename to ... - (print_uniform_and_important_classes): ... this. - (ira_debug_allocno_classes): Update accordingly. - -2015-08-29 Tom de Vries - - PR tree-optimization/46193 - * omp-low.c (omp_reduction_init): Handle pointer type for min or max - clause. - -2015-08-28 Jeff Law - - PR lto/66752 - * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are - unable to find X NE 0 in the tables, return X as the simplified - condition. - (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are - in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH - to VISISTED_BBS. - * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags - after removing the control flow statement and unnecessary edges. - -2015-08-28 Alan Lawrence - - Revert: - 2015-08-27 Alan Lawrence - - PR tree-optimization/67283 - * tree-sra.c (type_consists_of_records_p): Rename to... - (scalarizable_type_p): ...this, add case for ARRAY_TYPE. - - (completely_scalarize_record): Rename to... - (completely_scalarize): ...this, add ARRAY_TYPE case, move some - code to: - (scalarize_elem): New. - -2015-08-28 Jiong Wang - - * config/aarch64/aarch64-protos.h (aarch64_symbol_context): Rename - SYMBOL_SMALL_GOTTPREL to SYMBOL_SMALL_TLSIE. - (aarch64_symbol_type): Likewise. - * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): - Likewise. - (aarch64_expand_mov_immediate): Likewise. - (aarch64_print_operand): Likewise. - (aarch64_classify_tls_symbol): Likewise. - -2015-08-28 Richard Biener - - * cgraphunit.c (symbol_table::compile): Move early debug generation - and finish... - (symbol_table::finalize_compilation_unit): ... back here and - add a !seen_error () guard. - -2015-08-27 Sebastian Pop - - * toplev.c (process_options): Do not use flag_loop_block, - flag_loop_interchange, and flag_loop_strip_mine. Add check for - flag_loop_optimize_isl. - -2015-08-27 Sebastian Pop - - * Makefile.in (OBJS): Remove graphite-blocking.o and - graphite-interchange.o. - * common.opt (floop-strip-mine, floop-interchange, floop-block): - Alias of floop-nest-optimize. - * doc/invoke.texi (floop-strip-mine, floop-interchange, floop-block): - Document as alias of -floop-nest-optimize. - * graphite-blocking.c: Remove. - * graphite-interchange.c: Remove. - * graphite-optimize-isl.c: Include dumpfile.h. - (getScheduleForBand): Add dump for tiled loops. Use - PARAM_LOOP_BLOCK_TILE_SIZE instead of hard coded constant. - * graphite-poly.c (scop_max_loop_depth): Remove. - (print_scattering_function_1): Remove. - (print_scattering_function): Remove. - (print_scattering_functions): Remove. - (debug_scattering_function): Remove. - (debug_scattering_functions): Remove. - (apply_poly_transforms): Remove use of flag_loop_block, - flag_loop_strip_mine, and flag_loop_interchange. - (new_poly_bb): Remove use of PBB_TRANSFORMED, PBB_SAVED, and - PBB_ORIGINAL. - (print_pdr_access_layout): Remove. - (print_pdr): Print ISL representation. - (new_scop): Remove use of SCOP_ORIGINAL_SCHEDULE, - SCOP_TRANSFORMED_SCHEDULE, and SCOP_SAVED_SCHEDULE. - (free_scop): Same. - (openscop_print_pbb_domain): Remove. - (print_pbb): Remove call to print_scattering_function. - (openscop_print_scop_context): Remove. - (print_scop_context): Do not print matrices anymore. - (print_scop): Do not print SCOP_ORIGINAL_SCHEDULE and - SCOP_TRANSFORMED_SCHEDULE. - (print_isl_set): Add printing of a new line. - (print_isl_map): Same. - (print_isl_aff): Same. - (print_isl_constraint): Same. - (loop_to_lst): Remove. - (scop_to_lst): Remove. - (lst_indent_to): Remove. - (print_lst): Remove. - (debug_lst): Remove. - (dot_lst_1): Remove. - (dot_lst): Remove. - (reverse_loop_at_level): Remove. - (reverse_loop_for_pbbs): Remove. - * graphite-poly.h (pdr_dim_iter_domain): Remove. - (pdr_nb_params): Remove. - (pdr_alias_set_dim): Remove. - (pdr_subscript_dim): Remove. - (pdr_iterator_dim): Remove. - (pdr_parameter_dim): Remove. - (same_pdr_p): Remove. - (struct poly_scattering): Remove. - (struct poly_bb): Remove _original, _transformed, _saved. - (PBB_DOMAIN, PBB_ORIGINAL, PBB_ORIGINAL_SCATTERING): Remove. - (PBB_TRANSFORMED, PBB_TRANSFORMED_SCATTERING, PBB_SAVED): Remove. - (PBB_NB_LOCAL_VARIABLES): Remove. - (PBB_NB_SCATTERING_TRANSFORM): Remove. - (schedule_to_scattering): Remove. - (number_of_write_pdrs): Remove. - (pbb_dim_iter_domain): Remove. - (pbb_nb_params): Remove. - (pbb_nb_scattering_orig): Remove. - (pbb_nb_scattering_transform): Remove. - (pbb_nb_dynamic_scattering_transform): Remove. - (pbb_nb_local_vars): Remove. - (pbb_iterator_dim): Remove. - (pbb_parameter_dim): Remove. - (psco_scattering_dim): Remove. - (psct_scattering_dim): Remove. - (psct_local_var_dim): Remove. - (psco_iterator_dim): Remove. - (psct_iterator_dim): Remove. - (psco_parameter_dim): Remove. - (psct_parameter_dim): Remove. - (psct_dynamic_dim): Remove. - (psct_static_dim): Remove. - (psct_add_local_variable): Remove. - (new_lst_loop): Remove. - (new_lst_stmt): Remove. - (free_lst): Remove. - (copy_lst): Remove. - (lst_add_loop_under_loop): Remove. - (lst_depth): Remove. - (lst_dewey_number): Remove. - (lst_dewey_number_at_depth): Remove. - (lst_pred): Remove. - (lst_succ): Remove. - (lst_find_pbb): Remove. - (find_lst_loop): Remove. - (lst_find_first_pbb): Remove. - (lst_empty_p): Remove. - (lst_find_last_pbb): Remove. - (lst_contains_p): Remove. - (lst_contains_pbb): Remove. - (lst_create_nest): Remove. - (lst_remove_from_sequence): Remove. - (lst_remove_loop_and_inline_stmts_in_loop_father): Remove. - (lst_niter_for_loop): Remove. - (pbb_update_scattering): Remove. - (lst_update_scattering_under): Remove. - (lst_update_scattering): Remove. - (lst_insert_in_sequence): Remove. - (lst_replace): Remove. - (lst_substitute_3): Remove. - (lst_distribute_lst): Remove. - (lst_remove_all_before_including_pbb): Remove. - (lst_remove_all_before_excluding_pbb): Remove. - (struct scop): Remove original_schedule, transformed_schedule, and - saved_schedule. - (SCOP_ORIGINAL_SCHEDULE, SCOP_TRANSFORMED_SCHEDULE): Remove. - (SCOP_SAVED_SCHEDULE): Remove. - (poly_scattering_new): Remove. - (poly_scattering_free): Remove. - (poly_scattering_copy): Remove. - (store_scattering_pbb): Remove. - (store_lst_schedule): Remove. - (restore_lst_schedule): Remove. - (store_scattering): Remove. - (restore_scattering_pbb): Remove. - (restore_scattering): Remove. - * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): - Remove scattering_dimensions. Do not use pbb_dim_iter_domain: - compute the scattering polyhedron dimension from the dimension of - pbb->domain. - (build_scop_scattering): Update call to - build_pbb_scattering_polyhedrons. - (build_poly_scop): Remove call to scop_to_lst. - * graphite.c (graphite_transform_loops): Add call to print_scop. - (gate_graphite_transforms): Remove use of flag_loop_block, - flag_loop_interchange, and flag_loop_strip_mine. - -2015-08-27 Sebastian Pop - - * common.opt (floop-unroll-and-jam): Make alias of floop-nest-optimize. - * doc/invoke.texi (-floop-unroll-and-jam): Document as alias of - -floop-nest-optimize. - * graphite-isl-ast-to-gimple.c (generate_luj_sepclass_opt): Remove. - (generate_luj_sepclass): Remove. - (generate_luj_options): Remove. - (set_options): Remove opt_luj. - (scop_to_isl_ast): Remove opt_luj. - * graphite-optimize-isl.c (getScheduleForBand): Remove check for - flag_loop_unroll_jam. - (getPrevectorMap_full): Remove. - (getScheduleForBandList): Remove map_sepcl. - (getScheduleMap): Same. - (apply_schedule_map_to_scop): Remove sepcl. - (optimize_isl): Same. - * graphite-poly.c (apply_poly_transforms): Remove check for - flag_loop_unroll_jam. - (new_poly_bb): Remove map_sepclass. - * graphite-poly.h (struct poly_bb): Same. - * graphite.c (gate_graphite_transforms): Remove flag_loop_unroll_jam. - * params.def (PARAM_LOOP_UNROLL_JAM_SIZE) - (PARAM_LOOP_UNROLL_JAM_DEPTH): Remove. - * toplev.c (process_options): Remove flag_loop_unroll_jam. - -2015-08-27 Uros Bizjak - - PR target/67317 - * config/i386/i386.md (*add3_cc): Remove insn pattern. - (addqi3_cc): Ditto. - (UNSPEC_ADD_CARRY): Remove. - (addqi3_cconly_overflow): New expander. - (*add3_doubleword): Split to add3_cconly_overflow. - Adjust for changed add3_carry. - (*neg2_doubleword): Adjust for changed add3_carry. - (*sub3_doubleword): Adjust for changed sub3_carry. - (3_carry): Remove expander. - (*3_carry): Split insn pattern to - add3_carry and sub3_carry. - (plusminus_carry_mnemonic): Remove code attribute. - (add3_carry): Canonicalize insn pattern. - (*addsi3_carry_zext): Ditto. - (sub3_carry): Ditto. - (*subsi3_carry_zext): Ditto. - (adcx3): Remove insn pattern. - (addcarry): New insn pattern. - (subborrow): Ditto. - * config/i386/i386.c (ix86_expand_strlensi_unroll_1): Use - gen_addqi3_cconly_overflow instead of gen_addqi3_cc. - (ix86_expand_builtin) : Use CODE_FOR_subborrowsi, - CODE_FOR_subborrowdi, CODE_FOR_addcarrysi and CODE_FOR_addcarrydi. - Rewrite expander to not clobber carry flag chains. - -2015-08-27 Pat Haugen - - * config/rs6000/vector.md (vec_shr_): Fix to do a shift - instead of a rotate. - -2015-08-27 Marek Polacek - - PR middle-end/67005 - * tree-ssa-dce.c (remove_dead_stmt): Also schedule fixup if removing - an entry into an irreducible region. - -2015-08-27 Francois-Xavier Coudert - - * configure: Regenerate. - -2015-08-27 Alan Lawrence - - PR tree-optimization/67283 - * tree-sra.c (type_consists_of_records_p): Rename to... - (scalarizable_type_p): ...this, add case for ARRAY_TYPE. - - (completely_scalarize_record): Rename to... - (completely_scalarize): ...this, add ARRAY_TYPE case, move some code to: - (scalarize_elem): New. - -2015-08-27 Alan Lawrence - - * tree-sra.c (completely_scalarize_var): Rename to... - (create_total_scalarization_access): ... Here. Drop call to - completely_scalarize_record. - - (analyze_all_variable_accesses): Replace completely_scalarize_var - with create_total_scalarization_access and completely_scalarize_record. - -2015-08-27 Alan Modra - - PR target/67356 - * config/rs6000/rs6000.md (ior_mask): Use constraint "0" - for operand 1. - -2015-08-27 Richard Biener - - * passes.c (rest_of_decl_compilation): Guard early_global_decl - call with !seen_error (). - * cgraphunit.c (symbol_table::finalize_compilation_unit): Move - early debug generation and finish... - (symbol_table::compile): ... here to put it after a !seen_error () - guard. - -2015-08-27 Rainer Orth - - * config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit on - Solaris 12+. - -2015-08-27 Ramana Radhakrishnan - Andre Vieira - - * config/aarch64/aarch64.md (*condjump): Handle functions > 1 MiB. - (*cb1): Likewise. - (*tb1): Likewise. - (*cb1): Likewise. - * config/aarch64/iterators.md (inv_cb): New code attribute. - (inv_tb): Likewise. - * config/aarch64/aarch64.c (aarch64_gen_far_branch): New. - * config/aarch64/aarch64-protos.h (aarch64_gen_far_branch): New. - -2015-08-27 Richard Biener - - * ipa.c (cgraph_build_static_cdtor_1): Set DECL_IGNORED_P. - -2015-08-27 Dominik Vogt - - * config/s390/s390.c (s390_emit_prologue): Add emit_barrier() after - trap to fix ICE. - -2015-08-26 Michael Meissner - - * config/rs6000/rs6000-protos.h (rs6000_expand_float128_convert): - Add declaration. - - * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Fix a - comment. - (rs6000_cannot_change_mode_class): Add support for IEEE 128-bit - floating point in VSX registers. - (rs6000_output_move_128bit): Always print out the set insn if we - can't generate an appropriate 128-bit move. - (rs6000_generate_compare): Add support for IEEE 128-bit floating - point in VSX registers comparisons. - (rs6000_expand_float128_convert): Likewise. - - * config/rs6000/predicates.md (int_reg_operand_not_pseudo): New - predicate for only GPR hard registers. - - * config/rs6000/rs6000.md (FP): Add IEEE 128-bit floating point - modes to iterators. Add new iterators for moving 128-bit values in - scalar FPR registers and VSX registers. - (FMOVE128): Likewise. - (FMOVE128_FPR): Likewise. - (FMOVE128_GPR): Likewise. - (FMOVE128_VSX): Likewise. - (FLOAT128_SFDFTF): New iterators for IEEE 128-bit floating point - in VSX registers. - (IFKF): Likewise. - (IBM128): Likewise. - (TFIFKF): Likewise. - (RELOAD): Add IEEE 128-bit floating point modes. - (signbittf2): Convert TF insns to add support for new IEEE 128-bit - floating point in VSX registers modes. - (signbit2, IBM128 iterator): Likewise. - (mov_64bit_dm, FMOVE128_FPR iterator): Likewise. - (mov_32bit, FMOVE128_FPR iterator): Likewise. - (negtf2): Likewise. - (neg2, TFIFKF iterator): Likewise. - (negtf2_internal): Likewise. - (abstf2): Likewise. - (abs2, TFIFKF iterator): Likewise. - (ieee_128bit_negative_zero): New IEEE 128-bit floating point in - VSX insn support for negate, absolute value, and negative absolute - value. - (ieee_128bit_vsx_neg2): Likewise. - (ieee_128bit_vsx_neg2_internal): Likewise. - (ieee_128bit_vsx_abs2): Likewise. - (ieee_128bit_vsx_abs2_internal): Likewise. - (ieee_128bit_vsx_nabs2): Likewise. - (ieee_128bit_vsx_nabs2_internal): Likewise. - (FP128_64): Update pack/unpack 128-bit insns for IEEE 128-bit - floating point in VSX registers. - (unpack_dm): Likewise. - (unpack_nodm): Likewise. - (pack): Likewise. - (unpackv1ti): Likewise. - (unpack, FMOVE128_VSX iterator): Likewise. - (packv1ti): Likewise. - (pack, FMOVE128_VSX iterator): Likewise. - (extenddftf2): Add support for IEEE 128-bit floating point in VSX - registers. - (extenddftf2_internal): Likewise. - (trunctfdf2): Likewise. - (trunctfdf2_internal2): Likewise. - (fix_trunc_helper): Likewise. - (fix_trunctfdi2"): Likewise. - (floatditf2): Likewise. - (floatunstf2): Likewise. - (extend2): Likewise. - (trunc2): Likewise. - (fix_trunc2): Likewise. - (fixuns_trunc2): Likewise. - (float2): Likewise. - (floatuns2): Likewise. - -2015-08-26 Renlin Li - - * config/aarch64/aarch64.md (*aarch64_bfi4): New. - -2015-08-26 Marcus Shawcroft - Jiong Wang - - * config/aarch64/aarch64.md (UNSPEC_GOTTINYTLS): New UNSPEC. - (tlsie_tiny_): New define_insn. - (tlsie_tiny_sidi): Likewise. - * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Define - SYMBOL_TINY_TLSIE. - (aarch64_symbol_context): New comment for SYMBOL_TINY_TLSIE. - * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support - SYMBOL_TINY_TLSIE. - (aarch64_expand_mov_immediate): Likewise. - (aarch64_print_operand): Likewise. - (arch64_classify_tls_symbol): Likewise. - -2015-08-26 Matthew Wahab - - * config/arm/arm-arches.def: Replace single value flags with - an initializer built from ARM_FSET_MAKE_CPU1. - * config/arm/arm-cores.def: Likewise. - * config/arm/arm.c: (all_cores): Remove ARM_FSET_MAKE_CPU1 - derivation from the ARM_CORE macro definition, use the given value - instead. - (all_architectures): Remove ARM_FSET_MAKE_CPU1 derivation from the - ARM_ARCH macro definition, use the given value instead. - -2015-08-26 Matthew Wahab - - * config/arm/arm-builtins.c (def_mbuiltin): Test all flags in a - feature set. - (struct builtin_description): Replace field mask with field - features. - (IWMMXT_BUILTIN): Use ARM_FSET macros for feature flags. - (IWMMXT2_BUILTIN): Likewise. - (IWMMXT2_BUILTIN2): Likewise. - (FP_BUILTIN): Likewise. - (CRC32_BUILTIN): Likewise. - (CRYPTO_BUILTIN): Likewise. - (iwmmx_mbuiltin): Likewise. - (iwmmx2_mbuiltin): Likewise. - (arm_init_iwmmxt_builtins): Likewise. Also, update for change to - struct builtin_description. - -2015-08-26 Matthew Wahab - - * config/arm/arm-builtins.c (def_mbuiltin): Use ARM_FSET macro. - (struct builtin_description): Change type of mask to unsigned - long. - * config/arm/arm-protos.h (insn_flags): Declare as type - arm_feature_set. - (tune_flags): Likewise. - * config/arm/arm.c (feature_count): New. - (insn_flags): Define as type arm_feature_set. - (tune_flags): Likewise. - (struct processors): Define field flags as type arm_feature_set. - (all_cores): Update for change to struct processors. - (all_architectures): Likewise. - (arm_option_check_internal): Use arm_feature_set and ARM_FSET - macros. - (arm_option_override_internal): Likewise. - (arm_option_override): Likewise. - -2015-08-26 Marcus Shawcroft - Jiong Wang - - * config/aarch64/aarch64.c (initialize_aarch64_tls_size): Set default - tls size for tiny, small, large memory model. - (aarch64_load_symref_appropriately): Support new symbol types. - (aarch64_expand_mov_immediate): Likewise. - (aarch64_print_operand): Likewise. - (aarch64_classify_tls_symbol): Likewise. - * config/aarch64/aarch64-protos.h (aarch64_symbol_context): Likewise. - (aarch64_symbol_type): Likewise. - * config/aarch64/aarch64.md (tlsle): Deleted. - (tlsle12_): New define_insn. - (tlsle24_): Likewise. - (tlsle32_): Likewise. - (tlsle48_): Likewise. - * doc/sourcebuild.texi (AArch64-specific attributes): Document - "aarch64_tlsle32". - -2015-08-26 Matthew Wahab - - * config/arm/arm-protos.h (FL_NONE): New. - (FL_ANY): New. - (arm_feature_set): New. - (ARM_FSET_MAKE): New. - (ARM_FSET_MAKE_CPU1): New. - (ARM_FSET_MAKE_CPU2): New. - (ARM_FSET_CPU1): New. - (ARM_FSET_CPU2): New. - (ARM_FSET_EMPTY): New. - (ARM_FSET_ANY): New. - (ARM_FSET_HAS_CPU1): New. - (ARM_FSET_HAS_CPU2): New. - (ARM_FSET_HAS_CPU): New. - (ARM_FSET_ADD_CPU1): New. - (ARM_FSET_ADD_CPU2): New. - (ARM_FSET_DEL_CPU1): New. - (ARM_FSET_DEL_CPU2): New. - (ARM_FSET_UNION): New. - (ARM_FSET_INTER): New. - (ARM_FSET_XOR): New. - (ARM_FSET_EXCLUDE): New. - (AFM_FSET_IS_EMPTY): New. - (ARM_FSET_CPU_SUBSET): New. - -2015-08-26 Jiong Wang - - * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename - SYMBOL_TLSLE to SYMBOL_TLSLE24. - * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): - Likewise. - (aarch64_expand_mov_immediate): Likewise. - (aarch64_print_operand): Likewise. - (aarch64_classify_symbol): Likewise. - -2015-08-26 Jiong Wang - - * config/aarch64/aarch64.opt (mtls-size): New entry. - * config/aarch64/aarch64.c (initialize_aarch64_tls_size): New function. - (aarch64_override_options_internal): Call initialize_aarch64_tls_size. - * doc/invoke.texi (AArch64 Options): Document -mtls-size. - -2015-08-26 Matthew Wahab - - * config/arm/arm-cores.def: Add FL_FOR_ARCH flag for each - ARM_CORE entry. Fix some white-space. - * config/arm/arm.c: Remove FL_FOR_ARCH derivation from - ARM_CORE definition. - -2015-08-26 Naveen H.S - - * fold-const.c (fold_binary_loc) : Move Optimize - root(x)*root(y) as root(x*y) to match.pd. - Move Optimize expN(x)*expN(y) as expN(x+y) to match.pd. - Move Optimize pow(x,y)*pow(x,z) as pow(x,y+z) to match.pd. - Move Optimize a/root(b/c) into a*root(c/b) to match.pd. - Move Optimize x/expN(y) into x*expN(-y) to match.pd. - * match.pd (mult (root:s @0) (root:s @1)): New simplifier. - (mult (POW:s @0 @1) (POW:s @0 @2)) : New simplifier. - (mult (exps:s @0) (exps:s @1)) : New simplifier. - (rdiv @0 (root:s (rdiv:s @1 @2))) : New simplifier. - (rdiv @0 (exps:s @1)) : New simplifier. - -2015-08-25 Joseph Myers - - * gcc.c (driver::finalize): Only assign to extra_specs if - [EXTRA_SPECS]. - -2015-08-25 Marek Polacek - - PR middle-end/67330 - * varasm.c (declare_weak): Return after giving an error. - -2015-08-25 David Malcolm - - * gcc-main.c (main): Add params to driver ctor. - * gcc.c (class env_manager): New. - (env): New global. - (env_manager::init): New. - (env_manager::get): New. - (env_manager::xput): New. - (env_manager::restore): New. - Poison getenv and putenv. - (DEFAULT_TARGET_SYSTEM_ROOT): New. - (target_system_root): Update initialization to use - DEFAULT_TARGET_SYSTEM_ROOT. - (struct spec_list): Add field "default_ptr". - (INIT_STATIC_SPEC): Initialize new field "default_ptr". - (init_spec): Likewise. - (set_spec): Clear field "default_ptr". - (read_specs): Free "spec" and "buffer". - (xputenv): Reimplement in terms of env_manager. - (process_command): Replace ::getenv calls with calls to the - env_manager singleton. - (process_brace_body): Free string in three places. - (driver::driver): New. - (driver::~driver): New. - (used_arg): Convert from a function to... - (class used_arg_t): ...this class, and... - (used_arg): ...this new global instance. - (used_arg_t::finalize): New function. - (getenv_spec_function): Add "const" to local "value". Replace - ::getenv call with call to the env_manager singleton. - (path_prefix_reset): New function. - (driver::finalize): New function. - * gcc.h (driver::driver): New. - (driver::~driver): New. - (driver::finalize): New. - -2015-08-25 Nathan Sidwell - - * optabs.c (emit_indirect_jump): Don't try an emit a jump if the - target doesn't have one. - -2015-08-25 Segher Boessenkool - - PR target/67346 - * config/rs6000/rs6000.md (*ior_mask): Use a match_scratch. - -2015-08-25 Segher Boessenkool - - PR target/67344 - * config/rs6000/rs6000.md (*and3_imm_dot_shifted): Change to - a define_insn, remove second alternative. - -2015-08-25 Thomas Schwinge - Joseph Myers - - * gcc.c (struct switchstr): Expand comment. - -2015-08-25 Nathan Sidwell - - * config/nvptx/nvptx.c (nvptx_write_function_decl): Reformat. - (nvptx_reorg_subreg): Pass insn pattern to asm_operands. - -2015-08-25 Richard Biener - - PR middle-end/67306 - * genmatch.c (expr::gen_transform): Verify the result of - builtin_decl_implicit. - (dt_simplify::gen_1): Likewise. - -2015-08-25 Thomas Preud'homme - - * config/arm/constraints.md: Also list Cs and US ARM-specific - constraints as used. - -2015-08-24 Kaz Kojima - - PR target/66609 - * config/sh/sh.c (sh_asm_output_addr_const_extra): Handle - UNSPEC_PCREL. - (nonpic_symbol_mentioned_p): Likewise. - (sh_delegitimize_address): Likewise. - (sh_function_ok_for_sibcall): Take into account weak symbols. - (sh_expand_sym_label2reg): New. - * config/sh/sh-protos.h (sh_expand_sym_label2reg): Declare. - * config/sh/sh.md (UNSPEC_PCREL): New enum. - (call_pcrel): Use sh_expand_sym_label2reg. - (call_value_pcrel, sibcall_pcrel, sibcall_value_pcrel): Likewise. - (symPCREL_label2reg) New expand. - -2015-08-24 Aditya Kumar - - * graphite-poly.c: Change type of region from void* to sese. - * graphite-poly.h (struct scop): Changing the type of scop::region - from void* to sese. Change accessor macro accordingly. - * graphite-sese-to-poly.c (extract_affine_chrec): Use accessor macro. - -2015-08-24 Aditya Kumar - - * graphite-scop-detection.c (stmt_simple_for_scop_p): - Constrain only on INTEGER_TYPE. - -2015-08-24 Michael Meissner - - PR target/67211 - * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Set - -mefficient-unaligned-vsx on ISA 2.7. - - * config/rs6000/rs6000.opt (-mefficient-unaligned-vsx): Convert - option to a masked option. - - * config/rs6000/rs6000.c (rs6000_option_override_internal): Rework - logic for -mefficient-unaligned-vsx so that it is set via an arch - ISA option, instead of being set if -mtune=power8 is set. Move - -mefficient-unaligned-vsx and -mallow-movmisalign handling to be - near other default option handling. - -2015-08-24 Richard Sandiford - - * genflags.c (gen_macro): Delete. - (gen_proto): Don't create GEN.*CALL.* macros. - * gensupport.h (get_file_location): Declare. - * gensupport.c (rtx_locs): New variable. - (read_md_rtx): Record rtx locations. - (get_file_location): New function. - * target-insns.def (call, call_pop, call_value, call_value_pop) - (sibcall, sibcall_value): New patterns. - * gentarget-def.c (parse_argument): New function. - (def_target_insn): Use it. Handle optional operands. Raise an - error if an .md pattern has the wrong number of operands for the - pattern name. Remove the names of unused operands from the prototype. - * builtins.c (expand_builtin_apply): Use targetm functions - instead of HAVE_call_value and GEN_CALL_VALUE. - * calls.c (emit_call_1): Likewise. Remove support for sibcall_pop - and sibcall_value_pop. - * config/aarch64/aarch64.md (untyped_call): Use gen_call instead - of GEN_CALL. - * config/alpha/alpha.md (untyped_call): Likewise. - * config/iq2000/iq2000.md (untyped_call): Likewise. - * config/m68k/m68k.md (untyped_call): Likewise. - * config/mips/mips.md (untyped_call): Likewise. - * config/pa/pa.md (untyped_call): Likewise. - * config/rs6000/rs6000.md (untyped_call): Likewise. - * config/sparc/sparc.md (untyped_call): Likewise. - * config/tilegx/tilegx.md (untyped_call): Likewise. - * config/tilepro/tilepro.md (untyped_call): Likewise. - * config/visium/visium.md (untyped_call): Likewise. - * config/alpha/alpha.c (alpha_emit_xfloating_libcall): Use - gen_call_value instead of GEN_CALL_VALUE. - * config/arm/arm.md (untyped_call): Likewise. - * config/cr16/cr16.c (cr16_function_arg): Remove reference to - GEN_CALL. - -2015-08-24 Richard Sandiford - - * ifcvt.c (HAVE_incscc, HAVE_decscc, HAVE_cbranchcc4): Delete. - (have_cbranchcc4): New variable. - (cc_in_cond, noce_emit_cmove, noce_get_alt_condition) - (noce_get_condition): Use it instead of HAVE_cbranchcc4. - (if_convert): Initialize have_cbranchcc4. - -2015-08-24 Richard Sandiford - - * builtins.c (expand_cmpstrn): Rename to... - (expand_cmpstrn_or_cmpmem): ...this. - (expand_builtin_strcmp, expand_builtin_strncmp): Update accordingly. - (expand_builtin_memcmp): Use optabs instead of HAVE_cmpmem/gen_cmpmem. - Remove mode argument. - (expand_builtin): Update accordingly. - -2015-08-24 Richard Sandiford - - * builtins.c (expand_cmpstr, expand_cmpstrn): New functions. - (expand_builtin_strcmp, expand_builtin_strncmp): Use them. Remove - references to HAVE_cmpstr{,n}si and CODE_FOR_cmpstr{,n}si. - * config/m32c/blkmov.md (cmpstrsi): Fix predicates of operands 1 and 2. - Add predicates for operands 0 and 3. - * config/rx/rx.md (cmpstrnsi): Remove force_operand for the length - operand. - * config/sh/sh.md (cmpstrnsi): Change the length predicate from - immediate_operand to nonmemory_operand. - -2015-08-24 Richard Sandiford - - * df-scan.c (df_insn_info_init_fields): New function, split out - from... - (df_insn_create_insn_record): ...here. - (df_insn_info_free_fields): New function, split out from... - (df_insn_info_delete): ...here. - (df_insn_rescan): Use the new functions instead of freeing and - reallocating the df_insn_info. - -2015-08-24 Francois-Xavier Coudert - - * doc/install.texi (Binaries): Remove links no longer valid. - -2015-08-24 Nathan Sidwell - - * config/nvptx/mkoffload.c (process): Replace - GOMP_offload_{,un}register with GOMP_offload_{,un}register_ver. - -2015-08-24 H.J. Lu - - PR target/67329 - * config/i386/i386.c (iamcu_cost): Set MOVE_RATIO cost to 9. - -2015-08-24 Renlin Li - - * config/arm/arm-protos.h (arm_valid_symbolic_address_p): Declare. - * config/arm/arm.c (arm_valid_symbolic_address_p): Define. - * config/arm/arm.md (arm_movt): Use arm_valid_symbolic_address_p. - * config/arm/constraints.md ("j"): Add check for high code. - -2015-08-24 Tom de Vries - - PR tree-optimization/65468 - * omp-low.c (expand_omp_for_static_chunk): Remove inner loop if - chunk_size is one. - -2015-08-24 Nathan Sidwell - - * config/nvptx/nvptx.c (walk_args_for_param): Revert previous - change to nvptx_type_from_mode call. Use arg_promotion for both - split and non-split args. - -2015-08-24 Richard Sandiford - - * target-insns.def (movstr): New pattern. - * builtins.c (HAVE_movstr, CODE_FOR_movstr): Delete. - (expand_movstr): Use targetm rather than HAVE_movstr/ - CODE_FOR_movstr. - -2015-08-24 Richard Sandiford - - * config/microblaze/microblaze.c (microblaze_classify_unspec): Fix - cast syntax. - -2015-08-24 Andrew Pinski - - * config/aarch64/aarch64-tuning-flags.def: Remove all index to - AARCH64_EXTRA_TUNING_OPTION. - * config/aarch64/aarch64-protos.h (aarch64_extra_tuning_flags_index): - New enum. - (aarch64_extra_tuning_flags): Base the shifted value on the index - instead of the argument to AARCH64_EXTRA_TUNING_OPTION. - * config/aarch64/aarch64.c: Remove the last argument to - AARCH64_EXTRA_TUNING_OPTION. - -2015-08-23 Nathan Sidwell - - * config/nvptx/nvptx.c (walk_args_for_param): Promote arg reg - decls. - (nvptx_declare_function_name): Insert formatting tabs for - consistency. - -2015-08-23 Tom de Vries - - * omp-low.c (expand_omp_taskreg): If in ssa, set rhs of parcopy stmt to - parm_decl, rather than generating a dummy default def in cfun. - * tree-cfg.c (replace_ssa_name): Assume no default defs. Make sure - ssa_name from cfun and child_fn do not share a stmt as def stmt. - (move_stmt_op): Handle PARM_DECl. - (gather_ssa_name_hash_map_from): New function. - (move_sese_region_to_fn): Add default defs for function params, and add - them to vars_map. Release copied ssa names. - * tree-cfg.h (gather_ssa_name_hash_map_from): Declare. - -2015-08-23 Tom de Vries - - * doc/sourcebuild.texi: Rename vect_no_int_max with - vect_no_int_min_max. Update description. - -2015-08-22 Andrew Pinski - - * aarch64-fusion-pairs.def: Remove all index to AARCH64_FUSION_PAIR. - * config/aarch64/aarch64-protos.h - (aarch64_fusion_pairs_index): New enum. - (aarch64_fusion_pairs): Base the shifted value on the index instead - Rewrite AARCH64_FUSE_ALL to be based on the end index. - of the argument to AARCH64_FUSION_PAIR. - * config/aarch64/aarch64.c: Remove the last argument to - AARCH64_FUSION_PAIR. - -2015-08-22 Mikhail Maltsev - - * dominance.c (new_zero_array): Define. - (dom_info): Redefine as class with proper encapsulation. - (dom_info::m_n_basic_blocks, m_reverse, m_start_block, m_end_block): - Add new members. - (dom_info::dom_info, ~dom_info): Define. Use new/delete for memory - allocations/deallocations. Pass function as parameter (instead of - using cfun). - (dom_info::get_idom): Define accessor method. - (dom_info::calc_dfs_tree_nonrec, calc_dfs_tree, compress, eval, - link_roots, calc_idoms): Redefine as class members. Do not use cfun. - (calculate_dominance_info): Adjust to use dom_info class. - (verify_dominators): Likewise. - -2015-08-21 Alexandre Oliva - - * print-rtl.c (print_rtx): Check the correct range for - flag_dump_unnumbered_links to behave as documented. - - PR rtl-optimization/67227 - PR rtl-optimization/64164 - * alias.c (memrefs_conflict_p): Handle VALUEs in PLUS better. - (nonoverlapping_memrefs_p): Test offsets and sizes when given - identical gimple_reg exprs. - -2015-08-21 Nathan Sidwell - - * config/nvptx/nvptx.md (allocate_stack): Emit sorry during - expansion. - * config/nvptx/nvptx.c (nvptx_declare_function_name): Look at - crtl->stack_alignment_needed to determine alignment. - (nvptx_get_drap_rtx): New. - (TARGET_GET_DRAP_RTX): Override. - * config/nvptx/nvptx.h (MAX_STACK_ALIGNMENT): Set. - -2015-08-21 Francois-Xavier Coudert - - * config.build: Remove case for m68000-hp-hpux* | m68k-hp-hpux*. - -2015-08-21 Francois-Xavier Coudert - - * configure.ac: Remove uwin* cases. - * config.build: Remove cases for i370-*-opened*, i370-*-mvs*, - i[34567]86-*-sco3.2v5*, i[34567]86-sequent-ptx4*, - i[34567]86-sequent-sysv4*, i[34567]86-*-sysv4*, - i[34567]86-*-udk*, i[34567]86-*-uwin*, i386-*-vsta. - * config.host: Remove cases for i370-*-opened*, i370-*-mvs*, - i[34567]86-*-uwin*, powerpc-*-beos*. - -2015-08-21 Richard Sandiford - - * gencodes.c (gencodes): Print the comma for the preceding - enum value rather than the current one. Use aliased enum values - rather than #defines for compiled-out patterns. - (main): Update accordingly. Replace LAST_INSN_CODE with - NUM_INSN_CODES. - * lra.c (insn_code_data): Update accordingly. - (finish_insn_code_data_once, get_static_insn_data): Likewise. - * recog.h (target_recog): Likewise. - (preprocess_insn_constraints): Change parameter to unsigned int. - * recog.c (preprocess_insn_constraints): Likewise. - (recog_init): Replace LAST_INSN_CODE with NUM_INSN_CODES. - * tree-vect-stmts.c (vectorizable_operation): Simplify. - -2015-08-21 Markus Trippelsdorf - - PR rtl-optimization/61657 - * loop-iv.c (iv_number_of_iterations): Declare up and down as - unsigned. Remove superflous uint64_t cast. - -2014-08-21 Felix Yang - Jiji Jiang - - * value-prof.c (interesting_stringop_to_profile_p): Removed FNDECL - argument and get builtin function code directly from CALL. - (gimple_stringop_fixed_value): Modified accordingly. - (gimple_stringops_transform, gimple_stringops_values_to_profile): - Modified accordingly and only accept BUILT_IN_NORMAL string operations. - -2015-08-21 Dominik Vogt - - * config/s390/s390-builtins.def: Fix value range of vec_load_bndry. - -2015-08-21 Naveen H.S - - * fold-const.c (fold_binary_loc) : Move sqrt(x)*sqrt(x) as x - to match.pd. - Move Optimize pow(x,y)*pow(z,y) as pow(x*z,y)to match.pd. - Move Optimize tan(x)*cos(x) as sin(x) to match.pd. - Move Optimize x*pow(x,c) as pow(x,c+1) to match.pd. - Move Optimize pow(x,c)*x as pow(x,c+1) to match.pd. - Move Optimize sin(x)/cos(x) as tan(x) to match.pd. - Move Optimize cos(x)/sin(x) as 1.0/tan(x) to match.pd. - Move Optimize sin(x)/tan(x) as cos(x) to match.pd. - Move Optimize tan(x)/sin(x) as 1.0/cos(x) to match.pd. - Move Optimize pow(x,c)/x as pow(x,c-1) to match.pd. - Move Optimize x/pow(y,z) into x*pow(y,-z) to match.pd. - - * match.pd (SIN ) : New Operator. - (TAN) : New Operator. - (mult (SQRT@1 @0) @1) : New simplifier. - (mult (POW:s @0 @1) (POW:s @2 @1)) : New simplifier. - (mult:c (TAN:s @0) (COS:s @0)) : New simplifier. - (mult:c (TAN:s @0) (COS:s @0)) : New simplifier. - (rdiv (SIN:s @0) (COS:s @0)) : New simplifier. - (rdiv (COS:s @0) (SIN:s @0)) : New simplifier. - (rdiv (SIN:s @0) (TAN:s @0)) : New simplifier. - (rdiv (TAN:s @0) (SIN:s @0)) : New simplifier. - (rdiv (POW:s @0 REAL_CST@1) @0) : New simplifier. - (rdiv @0 (SQRT:s (rdiv:s @1 @2))) : New simplifier. - (rdiv @0 (POW:s @1 @2)) : New simplifier. - -2015-08-21 Bin Cheng - - * tree-ssa-loop-niter.c (simplify_using_initial_conditions): Break - loop if EXPR is simplified to const value. - -2015-08-21 Yury Gribov - - * sanitizer.def (BUILT_IN_UBSAN_HANDLE_NONNULL_ARG, - BUILT_IN_UBSAN_HANDLE_NONNULL_ARG): Fix builtin types. - -2015-08-21 Richard Biener - - PR middle-end/67285 - * gimple-fold.c (replace_stmt_with_simplification): Assert - seq is empty when replacing a call with itself but different - arguments. - * gimple-match-head.c (maybe_push_res_to_seq): When pushing - a call require that it is const. - -2015-08-20 Trevor Saunders - - * defaults.h (CONSTANT_ALIGNMENT): New macro definition. - * builtins.c (get_object_alignment_2): Adjust. - * varasm.c (align_variable): Likewise. - (get_variable_align): Likewise. - (build_constant_desc): Likewise. - (force_const_mem): Likewise. - * doc/tm.texi.in: Likewise. - * doc/tm.texi: Regenerate. - -2015-08-20 Trevor Saunders - - * genconfig.c (main): Always define HAVE_cc0. - * recog.c (rest_of_handle_peephole2): Adjust. - -2015-08-20 Trevor Saunders - - * reorg.c (relax_delay_slots): Don't use #if to check value of - HAVE_cc0. - -2015-08-20 Trevor Saunders - - * genconfig.c (main): Always define HAVE_CONDITIONAL_EXECUTION. - * targhooks.c (default_have_conditional_execution): Adjust. - -2015-08-20 Richard Sandiford - - * rtl.h (rtvec_all_equal_p): Declare. - (const_vec_duplicate_p, unwrap_const_vec_duplicate): New functions. - * rtl.c (rtvec_all_equal_p): New function. - * expmed.c (expand_mult): Use unwrap_const_vec_duplicate. - * config/aarch64/aarch64.c (aarch64_vect_float_const_representable_p) - (aarch64_simd_dup_constant): Use const_vec_duplicate_p. - * config/arm/arm.c (neon_vdup_constant): Likewise. - * config/s390/s390.c (s390_contiguous_bitmask_vector_p): Likewise. - * config/tilegx/constraints.md (W, Y): Likewise. - * config/tilepro/constraints.md (W, Y): Likewise. - * config/spu/spu.c (spu_legitimate_constant_p): Likewise. - (classify_immediate): Use unwrap_const_vec_duplicate. - * config/tilepro/predicates.md (reg_or_v4s8bit_operand): Likewise. - (reg_or_v2s8bit_operand): Likewise. - * config/tilegx/predicates.md (reg_or_v8s8bit_operand): Likewise. - (reg_or_v4s8bit_operand): Likewise. - -2015-08-20 Bill Schmidt - - * config/rs6000/altivec.h (vec_pmsum_be): New #define. - (vec_shasigma_be): New #define. - * config/rs6000/rs6000-builtin.def (VPMSUMB): New BU_P8V_AV2_2. - (VPMSUMH): Likewise. - (VPMSUMW): Likewise. - (VPMSUMD): Likewise. - (VPMSUM): New BU_P8V_OVERLOAD_2. - * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): New - entries for VEC_MADD and VEC_VPMSUM. - -2015-08-20 Georg-Johann Lay - - * config/avr/avr.c (avr_insert_attributes): In diagnostic essage: - Multiply argument avr_n_flash by 64 to match unit of "KiB". - (avr_pgm_check_var_decl): Same. - -2015-08-20 Alan Lawrence - - * config/arm/arm-builtins.c (arm_init_simd_builtin_types): Move - initialization of HFmode scalar type (float16_t) to... - (arm_init_fp16_builtins): ... Here. Combine with __fp16 initialization - code. - - (arm_init_builtins): Call arm_init_fp16_builtins earlier and always. - - * config/arm/arm_neon.h (vcvt_f16_f32, vcvt_f32_f16): Condition on - having an -mfp16-format. - -2015-08-20 Richard Sandiford - - * config/i386/predicates.md (vector_all_ones_operand): Use - CONSTM1_RTX to simplify definition. - -2015-08-20 Richard Biener - - * toplev.c (compile_file): Remove loop calling late_global_decl - on all symbols. - * varpool.c (varpool_node::assemble_decl): Call late_global_decl - on decls we assembled. - -2015-08-20 James Greenhalgh - - * common/config/aarch64/aarch64-common.c - (AARCH64_CPU_NAME_LENGTH): Delete. - (aarch64_option_extension): New. - (all_extensions): Likewise. - (processor_name_to_arch): Likewise. - (arch_to_arch_name): Likewise. - (all_cores): New. - (all_architectures): Likewise. - (aarch64_get_extension_string_for_isa_flags): Likewise. - (aarch64_rewrite_selected_cpu): Change to rewrite CPU names to - architecture names. - * config/aarch64/aarch64-protos.h - (aarch64_get_extension_string_for_isa_flags): New. - * config/aarch64/aarch64.c (aarch64_print_extension): Delete. - (aarch64_option_print): Get the string to print from - aarch64_get_extension_string_for_isa_flags. - (aarch64_declare_function_name): Likewise. - * config/aarch64/aarch64.h (BIG_LITTLE_SPEC): Rename to... - (MCPU_TO_MARCH_SPEC): This. - (ASM_CPU_SPEC): Use it. - (BIG_LITTLE_SPEC_FUNCTIONS): Rename to... - (MCPU_TO_MARCH_SPEC_FUNCTIONS): ...This. - (EXTRA_SPEC_FUNCTIONS): Use it. - -2015-08-20 Simon Dardis - - * config/mips/mips.c (mips_expand_block_move): Enable inline memcpy - expansion when !ISA_HAS_LWL_LWR. - (mips_block_move_straight): Update the size of elements copied to - account for alignment when !ISA_HAS_LWL_LWR. - * config/mips/mips.h (MIPS_MIN_MOVE_MEM_ALIGN): New macro. - -2015-08-19 Jiong Wang - - * expr.c (expand_expr_real_2): Check gimple statement during - LSHIFT_EXPR expand. - -2015-08-19 Magnus Granberg - - * common.opt (fstack-protector): Initialize to -1. - (fstack-protector-all): Likewise. - (fstack-protector-strong): Likewise. - (fstack-protector-explicit): Likewise. - * configure.ac: Add --enable-default-ssp. - * defaults.h (DEFAULT_FLAG_SSP): New. Default SSP to strong. - * opts.c (finish_options): Update opts->x_flag_stack_protect if it is - -1. - * doc/install.texi: Document --enable-default-ssp. - * config.in: Regenerated. - * configure: Likewise. - -2015-08-19 Alexandre Oliva - - PR rtl-optimization/64164 - * cfgexpand.c (parm_maybe_byref_p): Renamed to... - (parm_in_stack_slot_p): ... this. Disregard mode, what - matters is whether the parm will live in a pseudo or a stack - slot. - (expand_one_ssa_partition): Deal with params without a default - def. Disregard mode. - * cfgexpand.h: Renamed function declaration. - * tree-ssa-coalesce.c: Adjust. - * function.c (split_complex_args): Allocate stack slot for - unassigned parms before splitting. - (parm_in_unassigned_mem_p): New. Use it instead of - parm_maybe_byref_p throughout this file. - (assign_parm_setup_block): Use it. Accept pseudos in the - expand-assigned rtl. - (assign_parm_setup_reg): Drop BLKmode requirement. - (assign_parm_setup_stack): Allocate and fill in the address of - unassigned MEM parms. - -2015-08-19 David Sherwood - - * genmodes.c (emit_mode_unit_size_inline): New function. - (emit_mode_unit_precision_inline): New function. - (emit_insn_modes_h): Emit new #define. Emit new functions. - (emit_mode_unit_size): New function. - (emit_mode_unit_precision): New function. - (emit_mode_adjustments): Add mode_unit_size adjustments. - (emit_insn_modes_c): Emit new arrays. - * machmode.h (GET_MODE_UNIT_SIZE, GET_MODE_UNIT_PRECISION): Update to - use new inline methods. - -2015-08-19 Kyrylo Tkachov - - * config/aarch64/aarch64.c (bit_count): Delete prototype - and definition. - (aarch64_print_operand): Use popcount_hwi instead of the above. - -2015-08-19 Kyrylo Tkachov - - * config/aarch64/aarch64-option-extensions.def: Delete obsolete - comment. - -2015-08-19 Marek Polacek - - PR middle-end/67133 - * gimple-ssa-isolate-paths.c - (insert_trap_and_remove_trailing_statements): Rename to ... - (insert_trap): ... this. Don't remove trailing statements; split - block instead. - (find_explicit_erroneous_behaviour): Don't remove all outgoing edges. - -2015-08-19 Mikael Morin - - PR other/67042 - * hwint.h (sext_hwi): Switch to unsigned for the left shift, and - conditionalize the whole on __GNUC__. Add fallback code - depending neither on undefined nor implementation-defined behaviour. - -2015-08-19 Jiong Wang - - * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Replace - whitespaces with tab. - -2015-08-19 Florian Weimer - - * prj.adb (For_Every_Project_Imported_Context.Recursive_Check_Context): - Move Name_Id_Set instantiation to the Prj package, to avoid trampolines. - * prj-proc.adb (Process.Process_Expression_Variable_Decl): - Move Name_Ids instantiation to the Prj.Proc package, to avoid - trampolines. - -2015-08-19 Kyrylo Tkachov - - * config/arm/arm.c (bounds_check): Use %wd print format - for HOST_WIDE_INT arguments. - -2015-08-18 Trevor Saunders - - * bb-reorder.c, cfgloop.h, collect2.c, combine.c, dse.c, - dwarf2cfi.c, gcse-common.h, genopinit.c, ggc-page.c, machmode.h, - mcf.c, modulo-sched.c, omp-low.c, read-rtl.c, sched-rgn.c, - signop.h, tree-call-cdce.c, tree-dfa.c, tree-diagnostic.c, - tree-inline.h, tree-scalar-evolution.c, tree-ssa-address.c, - tree-ssa-loop-niter.c, tree-ssa-loop.h, tree-ssa-pre.c, - tree-ssa-reassoc.c, tree-ssa-sccvn.h, tree-ssa-structalias.c, - tree-ssa-uninit.c, tree-ssa.h, tree-vect-loop-manip.c, - tree-vectorizer.h, tree-vrp.c, var-tracking.c: Remove useless - typedefs. - -2015-08-18 trevor Saunders - - * bt-load.c, cgraph.h, dwarf2out.c, dwarf2out.h, final.c, - function.c, graphite-scop-detection.c, haifa-sched.c, - ipa-devirt.c, ipa-split.c, recog.c, ree.c, stmt.c, - tree-data-ref.c, tree-ssa-dom.c, tree-ssa-loop-ivopts.c, - varasm.c: Remove typedefs of structs. - -2015-08-18 Bill Schmidt - - * config/rs6000/altivec.h (vec_adde): New define. - (vec_addec): Likewise. - (vec_double): Likewise. - (vec_bperm): Likewise. - (vec_gb): Likewise. - * config/rs6000/rs6000-builtin.def (ADDE): New - BU_ALTIVEC_OVERLOAD_3. - (ADDEC): Likewise. - (DOUBLE): New BU_VSX_OVERLOAD_1. - * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add new - entries for ALTIVEC_BUILTIN_VEC_ADDC, ALTIVEC_BUILTIN_VEC_ADDE, - ALTIVEC_BUILTIN_VEC_ADDEC, ALTIVEC_BUILTIN_VEC_ANDC, - VSX_BUILTIN_VEC_DOUBLE, ALTIVEC_BUILTIN_VEC_MERGEH, - ALTIVEC_BUILTIN_VEC_MERGEL, ALTIVEC_BUILTIN_VEC_NOR, - ALTIVEC_BUILTIN_VEC_OR, ALTIVEC_BUILTIN_VEC_XOR, - ALTIVEC_BUILTIN_VEC_PERM, ALTIVEC_BUILTIN_VEC_SEL, - P8V_BUILTIN_VEC_EQV, P8V_BUILTIN_VEC_NAND, P8V_BUILTIN_VEC_ORC, - and P8V_BUILTIN_VEC_VBPERMQ. - -2015-08-18 Jason Merrill - - * print-tree.c (print_node): Handle TREE_BINFO. - -2015-08-18 Francois-Xavier Coudert - - PR middle-end/36757 - * builtins.c (expand_builtin_signbit): Add asserts to make sure - we can expand BUILT_IN_SIGNBIT inline. - * builtins.def (BUILT_IN_SIGNBIT): Make type-generic. - * doc/extend.texi: Document the type-generic __builtin_signbit. - -2015-08-18 Richard Sandiford - - PR rtl-optimization/67218 - * simplify-rtx.c (exact_int_to_float_conversion_p): New function. - (simplify_unary_operation_1): Use it. - -2015-08-18 Marek Polacek - - PR middle-end/67222 - * gimple-low.c (lower_stmt): Don't lower BUILT_IN_POSIX_MEMALIGN - if the call isn't valid. - * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Check builtins using - gimple_call_builtin_p. - (call_may_clobber_ref_p_1): Likewise. - (stmt_kills_ref_p): Likewise. - -2015-08-18 Robert Suchanek - - * config/mips/mips-protos.h (mips_hard_regno_rename_ok): New prototype. - * config/mips/mips.c (mips_hard_regno_rename_ok): New function. - (mips_hard_regno_scratch_ok): Likewise. - (TARGET_HARD_REGNO_SCRATCH_OK): Define macro. - * config/mips/mips.h (HARD_REGNO_RENAME_OK): New. - -2015-08-18 Bin Cheng - - * tree-ssa-loop-niter.c (refine_value_range_using_guard): New. - (determine_value_range): Call refine_value_range_using_guard for - each loop initial condition to improve value range. - -2015-08-17 Aldy Hernandez - - * config/i386/i386.c: Remove include of fibheap.h. - -2015-08-17 Richard Biener - - PR tree-optimization/67221 - * tree-ssa-sccvn.c (visit_phi): Keep all-TOP args TOP. - (sccvn_dom_walker::before_dom_children): Mark backedges of - non-executable blocks as not executable. - -2015-08-17 David Sherwood - - * config/arm/arm.c (neon_element_bits): Replace call to - GET_MODE_BITSIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_BITSIZE (m). - * config/arm/neon.md (neon_vget_lane): Likewise. - (neon_vget_laneu, neon_vset_lane): Likewise - (neon_vdup_lane): Likewise. - * config/i386/i386.c (ix86_expand_int_vcond): Likewise. - (ix86_expand_multi_arg_builtin, ix86_expand_reduc): Likewise. - (expand_vec_perm_palignr, ix86_expand_sse2_abs): Likewise. - * config/rs6000/rs6000.c (rs6000_do_expand_vec_perm): Likewise. - * config/spu/spu.c (arith_immediate_p): Likewise. - * expmed.c (store_bit_field_1, extract_bit_field_1): Likewise. - * expr.c (expand_expr_real_2): Likewise. - * optabs.c (shift_amt_for_vec_perm_mask): Likewise. - * simplify-rtx.c (simplify_immed_subreg): Likewise. - * tree-cfg.c (verify_gimple_assign_ternary): Likewise. - * tree-vect-patterns.c (vect_recog_mixed_size_cond_pattern): Likewise. - New variable. - * fold-const.c (fold_binary_loc): Replace call to - GET_MODE_PRECISION (GET_MODE_INNER (m)) with - GET_MODE_UNIT_PRECISION (m). - -2015-08-17 Mike Stump - - * config/arm/arm.c (arm_block_move_unaligned_straight): - Emit normal move instead of unaligned load when source or destination - are appropriately aligned. - -2015-08-17 Richard Biener - Naveen H.S - - PR middle-end/16107 - * match.pd (div (coss (op @0) : New simplifier. - -2015-08-14 Alexandre Oliva - - PR rtl-optimization/64164 - PR bootstrap/66978 - PR middle-end/66983 - PR rtl-optimization/67000 - PR middle-end/67034 - PR middle-end/67035 - * Makefile.in (OBJS): Drop tree-ssa-copyrename.o. - * tree-ssa-copyrename.c: Removed. - * opts.c (default_options_table): Drop -ftree-copyrename. Add - -ftree-coalesce-vars. - * passes.def: Drop all occurrences of pass_rename_ssa_copies. - * common.opt (ftree-copyrename): Ignore. - (ftree-coalesce-inlined-vars): Likewise. - * doc/invoke.texi: Remove the ignored options above. - * gimple-expr.h (gimple_can_coalesce_p): Move declaration - * tree-ssa-coalesce.h: ... here. - * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other - headers required by it. - * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing - across variables when flag_tree_coalesce_vars. Check register - use and promoted modes to allow coalescing. Do not coalesce - maybe-byref parms with SSA_NAMEs of other variables, or - anonymous SSA_NAMEs. Moved to tree-ssa-coalesce.c. - * tree-ssa-live.c (struct tree_int_map_hasher): Move along - with its member functions to tree-ssa-coalesce.c. - (var_map_base_init): Likewise. Renamed to - compute_samebase_partition_bases. - (partition_view_normal): Drop want_bases parameter. - (partition_view_bitmap): Likewise. - * tree-ssa-live.h: Adjust declarations. - * tree-ssa-coalesce.c: Include explow.h and cfgexpand.h. - (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's - default defs at the entry point. - (dump_part_var_map): New. - (compute_optimized_partition_bases): New, called by... - (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead - of compute_samebase_partition_bases. Adjust. - * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs. - * cfgexpand.c (leader_merge, parm_maybe_byref_p): New. - (ssa_default_def_partition): New. - (get_rtl_for_parm_ssa_default_def): New. - (align_local_variable, add_stack_var): Support anonymous SSA - names. - (defer_stack_allocation): Likewise. Declare earlier. - (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA - vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too. - Do no record deferred-allocation marker in - SA.partition_to_pseudo. - (expand_stack_vars): Adjust check for the marker in it. - (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop - redundant MEM attr setting. - (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed - from... - (expand_one_stack_var): ... this. New wrapper to check and - skip already expanded SSA partitions. - (record_alignment_for_reg_var): New, factored out of... - (expand_one_var): ... this. - (expand_one_ssa_partition): New. - (adjust_one_expanded_partition_var): New. - (expand_one_register_var): Check and skip already expanded SSA - partitions. - (expand_used_vars): Don't create DECLs for anonymous SSA - names. Expand all SSA partitions, then adjust all SSA names. - (pass::execute): Replace the loops that set - SA.partition_to_pseudo from partition leaders and cleared - DECL_RTL for multi-location variables, and that which used to - rename vars and set attrs, with one that clears DECL_RTL and - checks that PARMs and RESULTs default_defs match DECL_RTL. - * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare. - * emit-rtl.c: Include stor-layout.h. - (set_reg_attrs_for_parm): Handle NULL decl. - (set_reg_attrs_for_decl_rtl): Take mode from expression if - it's not a DECL. - * stmt.c (emit_case_decision_tree): Pass it the SSA_NAME - rather than its possibly-NULL DECL. - * explow.c (promote_ssa_mode): New. - * explow.h (promote_ssa_mode): Declare. - * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs. - (read_complex_part): Export. - * expr.h (read_complex_part): Declare. - * cfgexpand.h (parm_maybe_byref_p): Declare. - * function.c: Include cfgexpand.h. - (use_register_for_decl): Handle SSA_NAMEs, anonymous or not. - (use_register_for_parm_decl): Wrapper for the above to - special-case the result_ptr. - (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def. - (split_complex_args): Take assign_parm_data_all argument. - Pass it to rtl_for_parm. Set up rtl and context for split - args. Reset complex parm before fetching its default decl - rtl. - (assign_parms_unsplit_complex): Use the default-def complex - parm rtl if it matches the components. - (assign_parms_augmented_arg_list): Adjust. - (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with - multiple locations. Recognize split complex args. - (assign_parm_adjust_stack_rtl): Add all and parm arguments, - for rtl_for_parm. For SSA-assigned parms, zero stack_parm. - (assign_parm_setup_block): Prefer SSA-assigned location, and - fill in its address if the memory location of a maybe-byref - parm was not assigned by cfgexpand. - (assign_parm_setup_reg): Likewise. Adjust its mode as - needed. Use entry_parm for equiv if stack_parm is NULL. Make - sure passed_pointer parms don't need conversion. Copy address - or value as needed. - (assign_parm_setup_stack): Prefer SSA-assigned location. - (assign_parms): Maybe reset DECL_RTL of params. Adjust stack - rtl before testing for pointer bounds. Special-case result_ptr. - (expand_function_start): Maybe reset DECL_RTL of result. - Prefer SSA-assigned location for result and static chain. - Factor out DECL_RESULT and SET_DECL_RTL. Convert static chain - to Pmode if needed, from H.J. Lu . - * tree-outof-ssa.c (insert_value_copy_on_edge): Handle - anonymous SSA names. Use promote_ssa_mode. - (get_temp_reg): Likewise. - (remove_ssa_form): Adjust. - * stor-layout.c (layout_decl): Don't set mem attributes of - non-MEMs. - * var-tracking.c (dataflow_set_clear_at_call): Take call_insn - and get its reg_usage for reg invalidation. - (compute_bb_dataflow): Pass it insn. - (emit_notes_in_bb): Likewise. - -2015-08-14 Marek Polacek - - * tree-core.h (tree_base): Fix typo. - -2015-08-14 Marek Polacek - - PR middle-end/67133 - * gimple.c (infer_nonnull_range_by_attribute): Check that the - nonnull argument position is not outside function arguments. - -2015-08-14 Matthew Wahab - - PR target/67143 - * config/aarch64/atomics.md (atomic_): Replace - 'lconst_atomic' with 'const_atomic'. - (atomic_fetch_): Likewise. - (atomic__fetch): Likewise. - * config/aarch64/iterators.md (lconst-atomic): Move below - 'const_atomic'. - (const_atomic): New. - -2015-08-14 Thomas Schwinge - Bernd Schmidt - - * config/nvptx/nvptx.c (nvptx_option_override): Don't override - debug options. - * config/nvptx/nvptx.h (DWARF2_LINENO_DEBUGGING_INFO): Define. - (DWARF2_DEBUGGING_INFO): Don't define. - * debug.h (dwarf2_lineno_debug_hooks): Declare. - * toplev.c (process_options): Add a case for it. - * dwarf2out.c (dwarf2_lineno_debug_hooks): New variable. - (dwarf2out_init): Skip most initializations if - DWARF2_LINENO_DEBUGGING_INFO, but set cur_line_info_table in that - case. - * defaults.h (PREFERRED_DEBUGGING_TYPE): Also use DWARF2_DEBUG if - DWARF2_LINENO_DEBUGGING_INFO. - * opts.c (set_debug_level): Likewise. - -2015-08-14 James Greenhalgh - - * config/arm/types.md (is_neon_type): Add missing types. - -2015-08-14 Yuri Rumyantsev - - * config/i386/driver-i386.c (host_detect_local_cpu): Add support - for skylake. - * config/i386/i386.c (PTA_SKYLAKE): New macros. - (processor_alias_table): Add skylake description. - (enum processor_model): Add skylake processor. - (arch_names_table): Add skylake record. - * doc/invoke.texi: Add skylake item. - -2015-08-13 Andrew MacLeod - - * ira-int.h: Include recog.h. - * ira-build.c: Don't include recog.h. - * ira-color.c: Likewise. - * ira-conflicts.c: Likewise. - * ira-costs.c: Likewise. - * ira-emit.c: Likewise. - * ira-lives.c: Likewise. - * ira.c: Likewise. - * sched-deps.c: Likewise. - * sel-sched.c: Likewise. - * target-globals.c: Likewise. - -2015-08-13 Richard Sandiford - - PR bootstrap/55035 - * reload1.c (elimination_costs_in_insn): Make it obvious to the - compiler that the n_dups and n_operands loop bounds are invariant. - -2015-08-13 Kyrylo Tkachov - - * ifcvt.c (noce_try_store_flag_constants): Handle PLUS-immediate - expressions in A and B. - -2015-08-13 Richard Biener - - * tree.c (nonnull_arg_p): Move from ... - * tree-vrp.c (nonnull_arg_p): ... here. - * tree.h (nonnull_arg_p): Declare. - * tree-ssa-sccvn.c (init_scc_vn): Perform all lattice init - here, register ptr != 0 for nonnull_arg_p pointer arguments. - Properly initialize static chain and by-reference result pointer. - (run_scc_vn): Adjust. - -2015-08-13 Robert Suchanek - - * config/mips/mips.h (ENABLE_LD_ST_PAIRS): Enable load/store pairs for - TUNE_I6400. - -2015-08-13 Matthew Wahab - - * config/aarch64/aarch64-protos.h - (aarch64_gen_atomic_cas): Declare. - * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap): - Choose appropriate instruction pattern for the target. - (aarch64_gen_atomic_cas): New. - * config/aarch64/atomics.md (UNSPECV_ATOMIC_CAS): New. - (atomic_compare_and_swap_1): Rename to - aarch64_compare_and_swap. Fix some indentation. - (aarch64_compare_and_swap_lse): New. - (aarch64_atomic_cas): New. - -2015-08-13 Matthew Wahab - - * config/aarch64/aarch64.h (AARCH64_ISA_LSE): New. - (TARGET_LSE): New. - -2015-08-13 Richard Biener - - PR tree-optimization/67191 - * tree-ssa-sccvn.c (sccvn_dom_walker::before_dom_children): Remove - assert we value-numbered last stmts operand because it can validly - trigger for unreachable code. - -2015-08-13 Kyrylo Tkachov - - PR rtl-optimization/67103 - * ifcvt.c (noce_try_store_flag_constants): Move - x = (-(test != 0) & (b - a)) + a transformation to... - (noce_try_cmove): ... Here. Try it if normal conditional - move fails. - -2015-08-13 Robert Suchanek - - * config/mips/mips.c (mips_rtx_cost_data): Remove costs for W32 and W64 - pseudo-processors. - * config/mips/mips.md (processor): Remove w32 and w64. - -2015-08-13 Richard Biener - - PR tree-optimization/66502 - PR tree-optimization/67167 - * tree-ssa-sccvn.c (vn_phi_compute_hash): Do not include - backedge arguments. - (vn_phi_lookup): Adjust. - (vn_phi_insert): Likewise. - (visit_phi): Prefer to value-number to another PHI node - over value-numbering to a PHI argument. - (init_scc_vn): Mark DFS back edges. - -2015-08-13 Richard Biener - - * gimple.h (gcall::code_): New constant static member. - (gcond::code_): Likewise. - * gimple.c (gcall::code_): Define. - (gcond::code_): Likewise. - (is_a_helper ): Add. - (gimple_call_lhs): Use GIMPLE_CHECK2 in the gimple overload - and forward to a new gcall overload with less checking and a - cheaper way to access the operand. - (gimple_call_lhs_ptr): Likewise. - (gimple_call_set_lhs): Likewise. - (gimple_call_internal_p): Likewise. - (gimple_call_with_bounds_p): Likewise. - (gimple_call_set_with_bounds): Likewise. - (gimple_call_internal_fn): Likewise. - (gimple_call_set_ctrl_altering): Likewise. - (gimple_call_ctrl_altering_p): Likewise. - (gimple_call_fntype): Likewise. - (gimple_call_fn): Likewise. - (gimple_call_fn_ptr): Likewise. - (gimple_call_set_fndecl): Likewise. - (gimple_call_fndecl): Likewise. - (gimple_call_chain): Likewise. - (gimple_call_num_args): Likewise. - (gimple_call_arg): Likewise. - (gimple_call_arg_ptr): Likewise. - (gimple_call_set_arg): Likewise. - (gimple_call_noreturn_p): Likewise. - (gimple_cond_code): Likewise. - (gimple_cond_lhs): Likewise. - (gimple_cond_rhs): Likewise. - (gimple_has_lhs): Reduce checking. - -2015-08-13 Naveen H.S - - PR middle-end/25529 - * match.pd (div (mult @0 @1) @1) : New simplifier. - -2015-08-12 Michael Meissner - - PR target/67071 - * config/rs6000/predicates.md (easy_vector_constant_vsldoi): New - predicate to allow construction of vector constants using the - VSLDOI vector shift instruction. - - * config/rs6000/rs6000-protos.h (vspltis_shifted): Add - declaration. - - * config/rs6000/rs6000.c (vspltis_shifted): New function to return - the number of bytes to be shifted left and filled in with either - all zero or all one bits. - (gen_easy_altivec_constant): Call vsplitis_shifted if no other - methods exist. - (output_vec_const_move): On power8, generate XXLORC to generate - a vector constant with all 1's. Do a split if we need to use a - VSLDOI instruction. - - * config/rs6000/rs6000.h (EASY_VECTOR_MSB): Use mode mask to - properly test for the MSB. - - * config/rs6000/altivec.md (VSLDOI splitter): Add splitter for - vector constants that can be created with VSLDOI. - -2015-08-11 Trevor Saunders - - revert: - * compare-elim.c, dce.c, dse.c, gimple-ssa-isolate-paths.c, - gimple-ssa-strength-reduction.c, graphite.c, init-regs.c, - ipa-pure-const.c, ipa-visibility.c, ipa.c, mode-switching.c, - omp-low.c, reorg.c, sanopt.c, trans-mem.c, tree-eh.c, - tree-if-conv.c, tree-ssa-copyrename.c, tree-ssa-dce.c, - tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c, - tree-ssa-sink.c, tree-ssanames.c, tree-stdarg.c, tree-tailcall.c, - tree-vect-generic.c, tree.c, ubsan.c, var-tracking.c, - vtable-verify.c, web.c: Use GCC_FINAL instead of the anonymous - -2015-08-12 Max Filippov - - * config/xtensa/constraints.md (define_constraint "Y"): New - constraint. - * config/xtensa/elf.h (ASM_SPEC): Add m(no-)auto-litpools. - * config/xtensa/linux.h (ASM_SPEC): Likewise. - * config/xtensa/predicates.md (move_operand): Match constants - and symbols in the presence of TARGET_AUTO_LITPOOLS. - * config/xtensa/xtensa.c (xtensa_valid_move): Don't allow - immediate references to TLS data. - (xtensa_emit_move_sequence): Don't force constants to memory in - the presence of TARGET_AUTO_LITPOOLS. - (print_operand): Add 'y' format, same as default, but capable of - printing SF mode constants as well. - * config/xtensa/xtensa.md (movsi_internal, movhi_internal) - (movsf_internal): Add movi pattern that loads literal. - (movsf, movdf): Don't force constants to memory in the presence - of TARGET_AUTO_LITPOOLS. - (movdf_internal): Add 'Y' constraint. - * config/xtensa/xtensa.opt (mauto-litpools): New option. - * doc/invoke.text (Xtensa options): Document -mauto-litpools. - -2015-08-12 Matthew Wahab - - * config/arm/arm-fpus.def: Replace booleans with feature flags. - Update comment. - * config/arm/arm.c (ARM_FPU): Update macro. - * config/arm/arm.h (TARGET_NEON_FP16): Update feature test. - (TARGET_FP16): Likewise. - (TARGET_CRYPTO): Likewise. - (TARGET_NEON): Likewise. - (struct arm_fpu_desc): Remove fields neon, fp16 and crypto. Add - field features. - -2015-08-12 Tom de Vries - - PR other/67092 - PR other/67098 - * doc/install.texi: Remove --with_host_libstdcxx item. Update - --with-stage1-libs, --with-boot-ldflags and --with-boot-libs items - accordingly. Mention default for --with-stage1-ldflags. - -2015-08-12 Matthew Wahab - - * config/arm/arm.h (arm_fpu_feature_set): New. - (ARM_FPU_FSET_HAS): New. - (FPU_FL_NONE): New. - (FPU_FL_NEON): New. - (FPU_FL_FP16): New. - (FPU_FL_CRYPTO): New. - -2015-08-12 Kyrylo Tkachov - - * config/aarch64/aarch64.c (initialize_aarch64_code_model): Break - after -mcmodel=large -fPIC sorry. - -2015-08-12 Richard Biener - - * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Also canonicalize - comparison operand order and commutative ternary op operand order. - (sccvn_dom_walker::cond_stack): New state to track temporary - expressions. - (sccvn_dom_walker::after_dom_children): Remove tempoary expressions - no longer valid. - (sccvn_dom_walker::record_cond): Add a single temporary conditional - expression. - (sccvn_dom_walker::record_conds): Add a temporary conditional - expressions and all related expressions also true/false. - (sccvn_dom_walker::before_dom_children): Record temporary - expressions based on the controlling condition of a single - predecessor. When trying to simplify a conditional statement - lookup expressions we might have inserted earlier. - -2015-08-12 Yvan Roux - - PR target/67127 - * config/arm/arm.md (movdi): Restrict illegitimate ldrd/strd checking - to ARM core registers. - -2015-08-12 Nathan Sidwell - - * tree-vrp.c (simplify_min_or_max_using_ranges): New. - (simplify_stmt_using_ranges): Simplify MIN and MAX exprs. - -2015-08-12 Simon Dardis - - * config/mips/mips.c (mips_store_data_bypass_p): Bring code into - line with comments. - * config/mips/sb1.md: Update usage of mips_store_data_bypass_p. - -2015-08-12 Richard Biener - - * gimple.h (remove_pointer): New trait. - (GIMPLE_CHECK2): New inline template function. - (gassign::code_): New constant static member. - (is_a_helper): Add. - (gimple_assign_lhs): Use GIMPLE_CHECK2 in the gimple overload - and forward to a new gassign overload with less checking and a - cheaper way to access the operand. - (gimple_assign_lhs_ptr): Likewise. - (gimple_assign_set_lhs): Likewise. - (gimple_assign_rhs1, gimple_assign_rhs1_ptr, gimple_assign_set_rhs1): - Likewise. - (gimple_assign_rhs2, gimple_assign_rhs2_ptr, gimple_assign_set_rhs2): - Likewise. - (gimple_assign_rhs3, gimple_assign_rhs3_ptr, gimple_assign_set_rhs3): - Likewise. - (gimple_assign_rhs_code): Likewise. - * gimple.c (gassign::code_): Define. - -2015-08-12 Richard Biener - - * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): - Eliminate edges marked as not executable by SCCVN. - * tree-ssa-sccvn.c: Include gimple-iterator.h. - (cond_dom_walker): Rename to sccvn_dom_walker. - (sccvn_dom_walker::before_dom_children): Value-number defs - of all stmts. - (run_scc_vn): Remove loop value-numbering all SSA names. - Drop not visited SSA names to varying. - -2015-08-11 Trevor Saunders - - * compare-elim.c, dce.c, dse.c, gimple-ssa-isolate-paths.c, - gimple-ssa-strength-reduction.c, graphite.c, init-regs.c, - ipa-pure-const.c, ipa-visibility.c, ipa.c, mode-switching.c, - omp-low.c, reorg.c, sanopt.c, trans-mem.c, tree-eh.c, - tree-if-conv.c, tree-ssa-copyrename.c, tree-ssa-dce.c, - tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c, - tree-ssa-sink.c, tree-ssanames.c, tree-stdarg.c, tree-tailcall.c, - tree-vect-generic.c, tree.c, ubsan.c, var-tracking.c, - vtable-verify.c, web.c: Use GCC_FINAL instead of the anonymous - -2015-08-11 Uros Bizjak - - PR target/66954 - * config/i386/i386.c (get_builtin_code_for_version): Add P_PCLMUL - to enum feature_priority and feature_list. - (fold_builtin_cpu): Add F_PCLMUL to enum processor_features - and isa_names_table. - -2015-08-11 Yuri Rumyantsev - - * tree-vect-stmts.c (vectorizable_shift): Add missed test on - vect_induction_def. - -2015-08-11 Manuel López-Ibáñez - - PR c/66098 - PR c/66711 - * diagnostic.c (diagnostic_classify_diagnostic): Take -Werror into - account when deciding what was the command-line status. - -2015-08-11 Nathan Sidwell - - * tree-vrp.c (simplify_abs_using_ranges): Simplify. - - * tree-ssa-phiopt.c (minmax_replacement): Create new ssa name if - we're not the only contributor to target phi. - -2015-08-11 Jiong Wang - - * config/aarch64/aarch64.h (REG_CLASS_NAMES): Add the missing ',' after - FIXED_REG0. - -2015-08-11 Tom de Vries - - * tree-cfg.c (move_sese_region_to_fn): Add todo comment. - -2015-08-10 H.J. Lu - - * config/i386/i386.c (processor_alias_table): Replace CPU_KNL - with CPU_SLM. - * config/i386/i386.md (cpu): Remove knl. - -2015-08-10 Thomas Schwinge - - PR libgomp/65742 - PR middle-end/66332 - * builtins.c (expand_builtin_acc_on_device) [ACCEL_COMPILER]: Emit - open-coded sequence. - * omp-low.c (oacc_process_reduction_data): Remove handline of - GOMP_DEVICE_HOST_NONSHM. - - * lto-streamer-in.c (lto_input_mode_table): Adjust to - GET_MODE_INNER changes. - -2015-08-10 Thomas Schwinge - Ilya Verbin - - * lto-streamer-in.c (lto_input_mode_table): Correctly advance iterator. - -2015-08-09 Manuel López-Ibáñez - - * doc/options.texi (EnabledBy): Document that the argument must be - a Common option. - * doc/invoke.texi (Wnull-dereference): Move after Wnonnull. - Not enabled by -Wall. - * optc-gen.awk: Give nicer error messages. Detect if the argument - of EnabledBy is not a Common option. - * common.opt (Wnull-dereference): Not enabled by -Wall. - * opt-functions.awk (lang_enabled_by): Nicer error messages. - -2015-08-09 H.J. Lu - - * config/i386/driver-i386.c (host_detect_local_cpu): Treat - model == 0x4f as Broadwell. - -2015-08-08 Segher Boessenkool - - PR rtl-optimization/67028 - * combine.c (simplify_comparison): Fix comment. Rearrange code. - Add test to see if a const_int fits in the new mode. - -2015-08-07 DJ Delorie - - * config/rx/rx.c (rx_mode_dependent_address_p): Remove unneeded asserts. - -2015-08-07 H.J. Lu - - PR rtl-optimization/67029 - * ira-color.c: Include "recog.h" before including "ira-int.h". - * target-globals.c: Likewise. - * ira-lives.c (ira_implicitly_set_insn_hard_regs): Add an - adds an alternative_mask argument and use it instead of - preferred_alternatives. - * ira.h (ira_implicitly_set_insn_hard_regs): Moved to ... - * ira-int.h (ira_implicitly_set_insn_hard_regs): Here. - * sched-deps.c: Include "ira-int.h" after including "ira.h". - (sched_analyze_insn): Update call to - ira_implicitly_set_insn_hard_regs. - * sel-sched.c: Include "ira-int.h" after including "ira.h". - (implicit_clobber_conflict_p): Update call to - ira_implicitly_set_insn_hard_regs. - -2015-08-06 Uros Bizjak - - * Makefile.in (.INTERMEDIATE): Add gpl.pod. - -2015-08-07 Kaz Kojima - - PR target/67002 - * config/sh/sh.c (sh_recog_treg_set_expr): Return false when - currently_expanding_to_rtl is set. - -2015-08-06 Yaakov Selkowitz - - * configure.ac: Define LIBICONV_DEP with in-tree libiconv. - * configure: Regenerate. - -2015-08-06 Ramana Radhakrishnan - Jiong Wang - - * config/aarch64/aarch64.d (tlsdesc_small_pseudo_): New pattern. - * config/aarch64/aarch64.h (reg_class): New enumeration FIXED_REG0. - (REG_CLASS_NAMES): Likewise. - (REG_CLASS_CONTENTS): Likewise. - * config/aarch64/aarch64.c (aarch64_class_max_nregs): Likewise. - (aarch64_register_move_cost): Likewise. - (aarch64_load_symref_appropriately): Invoke the new added pattern if - possible. - * config/aarch64/constraints.md (Uc0): New constraint. - -2015-08-06 Jiong Wang - - * config/aarch64/constraints.md (Usf): Add the test of - aarch64_is_noplt_call_p. - -2015-08-06 Jiong Wang - - * config/aarch64/aarch64-protos.h (aarch64_is_noplt_call_p): New - declaration. - * config/aarch64/aarch64.c (aarch64_is_noplt_call_p): New function. - * config/aarch64/aarch64.md (call_value_symbol): Check noplt scenarios. - (call_symbol): Likewise. - -2015-08-06 Venkataramanan Kumar - - * tree-vect-patterns.c (vect_recog_mult_pattern): New function - for vectorizing multiplication patterns. - * tree-vectorizer.h: Adjust the number of patterns. - -2015-08-06 Uros Bizjak - - * config/i386/sse.md (*vec_concatv2df): Declare added - alternatives as sselog type. - -2015-08-06 Andreas Krebbel - - * config/s390/s390.c (s390_dwarf_frame_reg_mode): Return Pmode for - all GPRs. - -2015-08-06 Andreas Krebbel - - * config/s390/s390.c (s390_expand_tbegin): Expand either - tbegin_1_z13 or tbegin_1 depending on VX flag. - * config/s390/s390.md ("tbegin_1_z13"): New expander. - -2015-08-06 Andreas Krebbel - - * config/s390/s390.opt: Clarify description for -mzvector - * doc/invoke.texi: Add documentation for -mhtm, -mvx, and - -mzvector. - -2015-08-06 Richard Biener - - * gimple.h (gimple_call_set_fn): Access op member directly. - (gimple_call_chain_ptr): Likewise. - (gimple_call_set_chain): Likewise. - (gimple_cond_lhs_ptr): Likewise. - (gimple_cond_set_lhs): Likewise. - (gimple_cond_rhs_ptr): Likewise. - (gimple_cond_set_rhs): Likewise. - (gimple_cond_true_label): Likewise. - (gimple_cond_set_true_label): Likewise. - (gimple_cond_set_false_label): Likewise. - (gimple_cond_false_label): Likewise. - (gimple_label_label): Likewise. - (gimple_label_set_label): Likewise. - (gimple_goto_set_dest): Likewise. - (gimple_asm_input_op): Likewise. - (gimple_asm_input_op_ptr): Likewise. - (gimple_asm_set_input_op): Likewise. - (gimple_asm_output_op): Likewise. - (gimple_asm_output_op_ptr): Likewise. - (gimple_asm_set_output_op): Likewise. - (gimple_asm_clobber_op): Likewise. - (gimple_asm_set_clobber_op): Likewise. - (gimple_asm_label_op): Likewise. - (gimple_asm_set_label_op): Likewise. - (gimple_switch_index): Likewise. - (gimple_switch_index_ptr): Likewise. - (gimple_return_retval_ptr): Likewise. - (gimple_return_retval): Likewise. - (gimple_return_set_retval): Likewise. - (gimple_switch_set_index): Likewise. Remove superfluous GIMPLE_CHECK. - (gimple_switch_label): Likewise. - (gimple_switch_set_label): Likewise. - -2015-08-06 Richard Biener - - * gimple-fold.c (gimple_fold_stmt_to_constant_1): Simplify - bool comparison canonicalization and restrict to integers. - -2015-08-05 Andrew MacLeod - - * coretypes.h (enum symbol_visibility): Relocate here. - * flag-types.h (enum symbol_visibility): Remove. - * tree-core.h (enum symbol_visibility): Remove. - -2015-08-05 Lynn Boger - - PR target/66870 - * config/rs6000/rs6000.c (rs6000_emit_prologue): Check - for no_split_stack function attribute along with - flag_split_stack. - (rs6000_expand_split_stack_prologue): Likewise. - -2015-08-05 Manuel López-Ibáñez - Jeff Law - - PR c/16351 - * doc/invoke.texi (Wnull-dereference): New. - * tree-vrp.c (infer_value_range): Update call to infer_nonnull_range. - * gimple-ssa-isolate-paths.c (find_implicit_erroneous_behaviour): - Warn for potential NULL dereferences. - (find_explicit_erroneous_behaviour): Warn for NULL dereferences. - * ubsan.c (instrument_nonnull_arg): Call - infer_nonnull_range_by_attribute. - (instrument_nonnull_return): Likewise. - * common.opt (Wnull-dereference); New. - * gimple.c (infer_nonnull_range): Remove bool arguments. - (infer_nonnull_range_by_dereference): New. - (infer_nonnull_range_by_attribute): New. - * gimple.h: Update declarations. - -2015-08-05 Richard Sandiford - - * gensupport.c (sequence_num): Replace with... - (insn_sequence_num, split_sequence_num, peephole2_sequence_num): - ...these new variables. - (init_rtx_reader_args_cb): Update accordingly. - (get_num_code_insns): Likewise. - (read_md_rtx): Rework to use a while loop and get_c_test. - Use the new counters. Remove redundant DEFINE_SUBST case. - * genoutput.c (gen_split): Delete. - (main): Don't call it. - -2015-08-05 Richard Sandiford - - * gensupport.h (get_c_test): Declare. - * gensupport.c (get_c_test): New function. - * genconditions.c (main): Use it. - * genrecog.c (validate_pattern): Likewise. - (match_pattern_1): Likewise. Remove c_test argument. - (match_pattern): Update accordingly and remove c_test argument. - (main): Update accordingly. - -2015-08-05 Richard Sandiford - - * gensupport.h (get_num_insn_codes): Declare. - * gensupport.c (get_num_insn_codes): New function. - * genattrtab.c (optimize_attrs): Rename max_insn_code to - num_insn_codes. - (main): Likewise. Use get_num_insn_codes. - * gencodes.c (main): Remove "last" and use get_num_insn_codes. - -2015-08-05 Richard Sandiford - - PR middle-end/66311 - * wide-int.cc (wi::from_mpz): Make sure that absolute mpz value - is zero- rather than sign-extended. - -2015-08-05 Richard Sandiford - - * target-insns.def (can_extend): Delete. - -2015-08-05 Richard Biener - - PR tree-optimization/67121 - * tree-if-conv.c (combine_blocks): Clear range-info produced - by stmts no longer executed conditionally. - -2015-08-05 Nick Clifton - - * config/rl78/rl78.c (rl78_force_nonfar_3): Remove optimization - to allow identical far pointers to remain. - -2015-08-05 Richard Biener - - PR middle-end/67120 - * match.pd: Compare address bases with == if they are decls - or SSA names, not operand_equal_p. Otherwise fail. - -2015-08-05 Richard Biener - - PR tree-optimization/67055 - * tree-ssa-ccp.c (fold_builtin_alloca_with_align): Handle - NULL gimple_block. - - * g++.dg/torture/pr67055.C: New testcase. - -2015-08-05 Kirill Yukhin - - * config/i386/i386.md (define_attr "isa"): Addd avx512vl and - noavx512vl. - (define_attr "enabled"): Handle avx521vl and noavx512vl. - * config/i386/sse.md (define_insn "vec_dupv2df"): Split - AVX-512 alternative out of SSE. - (define_insn "*vec_concatv2df"): Ditto. - -2015-08-05 Kirill Yukhin - - * config/i386/i386.c (bdesc_args): Rename CODE_FOR_sse4_1_ptest into - CODE_FOR_sse4_1_ptestv2di and CODE_FOR_avx_vtestps256 into - CODE_FOR_avx_ptestv4di. - * config/i386/sse.md (define_mode_iterator V_AVX): New. - (define_mode_attr sse4_1): Extend to other 128/256-bit modes. - (define_insn "avx_ptest256"): Merge this ... - (define_insn "sse4_1_ptest"): And this ... - (define_insn "_ptest"): Into this. Use V_AVX iterator. - -2015-08-05 Richard Biener - - PR tree-optimization/67109 - * tree-vect-data-refs.c (vect_analyze_group_access_1): Check - against too big groups. Print whether this is a load or store - group. Rename from ... - (vect_analyze_group_access): ... this which is now a wrapper - dissolving an invalid group. - (vect_analyze_data_ref_accesses): Print whether this is a load - or store group. - -2015-08-05 Richard Biener - - PR middle-end/67107 - * match.pd: Guard const_binop result checking against NULL_TREE - result. - -2015-08-05 Kugan Vivekanandarajah - - * cse.c (cse_insn): Restoring old behaviour for src_eqv - when dest and value in the REG_EQUAL are same and dest - is STRICT_LOW_PART. - -2015-08-04 Anatoly Sokolov - - * config/moxie/moxie.h (PRINT_OPERAND, - PRINT_OPERAND_ADDRESS): Remove macros. - * config/moxie/moxie-protos.h (moxie_print_operand, - moxie_print_operand_address): Remove declaration. - * config/moxie/moxie.c (TARGET_PRINT_OPERAND, - TARGET_PRINT_OPERAND_ADDRESS): Define. - (moxie_print_operand, moxie_print_operand_address): Make static. - -2015-08-04 Szabolcs Nagy - - PR target/66731 - * config/aarch64/aarch64.c (aarch64_rtx_costs): Fix NEG cost for FNMUL. - (aarch64_rtx_mult_cost): Fix MULT cost with -frounding-math. - -2015-08-04 Richard Biener - - * genmatch.c (dt_node::gen_kids_1): Use gassign and gcall in - generated code. - (dt_operand::gen_gimple_expr): Adjust. - -2015-08-04 Richard Biener - - * gimple-fold.c (gimple_fold_stmt_to_constant_1): Canonicalize - bool compares on RHS. - * match.pd: Add X ==/!= !X is false/true pattern. - -2015-08-04 Pawel Kupidura - - * config/aarch64/aarch64.c: Change inner loop statement cost - to be consistent with other targets. - -2015-08-04 Christophe Lyon - - * config/arm/neon.md (neon_vget_lanev2di): Handle big-endian - targets. - -2015-08-04 Nathan Sidwell - - * config/nvptx/nvptx.h (struct nvptx_pseudo_info): Delete. - (machine_function): Remove pseudos field. - -2015-08-04 Kyrylo Tkachov - - * config/aarch64/aarch64.c (aarch64_option_valid_attribute_p): - Exit early and use target_option_current_node if processing current - pragma. - -2015-08-04 Kyrylo Tkachov - - * doc/extend.texi (AArch64 Function Attributes): New node. - (AArch64 Pragmas): Likewise. - -2015-08-04 Kyrylo Tkachov - - * config/aarch64/aarch64.c (aarch64_option_valid_attribute_p): - Initialize simd builtins if TARGET_SIMD. - * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins): - Make sure that the builtins are initialized only once no matter how - many times the function is called. - (aarch64_init_builtins): Unconditionally initialize crc builtins. - (aarch64_relayout_simd_param): New function. - (aarch64_simd_expand_args): Use above during argument expansion. - * config/aarch64/aarch64-c.c (aarch64_pragma_target_parse): Initialize - simd builtins if TARGET_SIMD. - * config/aarch64/aarch64-protos.h (aarch64_init_simd_builtins): New - prototype. - (aarch64_relayout_simd_types): Likewise. - -2015-08-04 Kyrylo Tkachov - - * config.gcc (aarch64*-*-*): Specify c_target_objs and cxx_target_objs. - * config/aarch64/aarch64.h (REGISTER_TARGET_PRAGMAS): Define. - (TARGET_CPU_CPP_BUILTINS): Redefine to call aarch64_cpu_cpp_builtins. - * config/aarch64/aarch64.c (aarch64_override_options_internal): Remove - static keyword. - (aarch64_reset_previous_fndecl): New function. - (aarch64_handle_attr_isa_flags): Handle "+nothing" in the beginning of - the string. - * config/aarch64/aarch64-c.c: New file. - * config/aarch64/arm_acle.h: Add pragma +crc+nofp at the top. - Push and pop options at beginning and end. Remove ifdef - __ARM_FEATURE_CRC32. - * config/aarch64/arm_neon.h: Remove #ifdef check on __ARM_NEON. - Add pragma +nothing+simd and +nothing+crypto where appropriate. - * config/aarch64/t-aarch64 (aarch64-c.o): New rule. - * config/aarch64/aarch64-protos.h (aarch64_cpu_cpp_builtins): - Define prototype. - (aarch64_register_pragmas): Likewise. - (aarch64_reset_previous_fndecl): Likewise. - (aarch64_process_target_attr): Likewise. - (aarch64_override_options_internal): Likewise. - -2015-08-04 Kyrylo Tkachov - - * config/aarch64/aarch64.c (aarch64_tribools_ok_for_inlining_p): - New function. - (aarch64_can_inline_p): Likewise. - (TARGET_CAN_INLINE_P): Define. - -2015-08-04 Kyrylo Tkachov - - * common/config/aarch64/aarch64-common.c (aarch64_handle_option): - Remove static. Handle OPT_mgeneral_regs_only, - OPT_mfix_cortex_a53_835769, OPT_mstrict_align, - OPT_momit_leaf_frame_pointer. - * config/aarch64/aarch64.c: Include opts.h and diagnostic.h - (aarch64_attr_opt_type): New enum. - (aarch64_attribute_info): New struct. - (aarch64_handle_attr_arch): New function. - (aarch64_handle_attr_cpu): Likewise. - (aarch64_handle_attr_tune): Likewise. - (aarch64_handle_attr_isa_flags): Likewise. - (aarch64_attributes): New table. - (aarch64_process_one_target_attr): New function. - (num_occurences_in_str): Likewise. - (aarch64_process_target_attr): Likewise. - (aarch64_option_valid_attribute_p): Likewise. - (TARGET_OPTION_VALID_ATTRIBUTE_P): Define. - * config/aarch64/aarch64-protos.h: Include input.h - (aarch64_handle_option): Declare prototype. - -2015-08-04 Kyrylo Tkachov - - * config/aarch64/aarch64.h (SWITCHABLE_TARGET): Define. - * config/aarch64/aarch64.c: Include target-globals.h - (aarch64_previous_fndecl): New variable. - (aarch64_set_current_function): New function. - (TARGET_SET_CURRENT_FUNCTION): Define. - -2015-08-04 Kyrylo Tkachov - - * config/aarch64/aarch64.opt (explicit_tune_core): New TargetVariable. - (explicit_arch): Likewise. - (x_aarch64_isa_flags): Likewise. - (mgeneral-regs-only): Mark as Save. - (mfix-cortex-a53-835769): Likewise. - (mcmodel=): Likewise. - (mstrict-align): Likewise. - (momit-leaf-frame-pointer): Likewise. - (mtls-dialect): Likewise. - (master=): Likewise. - * config/aarch64/aarch64.h (ASM_DECLARE_FUNCTION_NAME): Define. - (aarch64_isa_flags): Remove extern declaration. - * config/aarch64/aarch64.c (aarch64_validate_mcpu): Return a bool - to indicate success or failure. - (aarch64_validate_march): Likewise. - (aarch64_validate_mtune): Likewise. - (aarch64_isa_flags): Delete. - (aarch64_override_options_internal): Access opts->x_aarch64_isa_flags - instead of aarch64_isa_flags. - (aarch64_get_tune_cpu): New function. - (aarch64_get_arch): Likewise. - (aarch64_override_options): Use above and set up explicit_tune_core - and explicit_arch. - (aarch64_print_extension): Move earlier in file. Add isa_flags - argument and use that instead of the global aarch64_isa_flags. - (aarch64_option_save): New function. - (aarch64_option_restore): Likewise. - (aarch64_option_print): Likewise. - (aarch64_declare_function_name): Likewise. - (aarch64_start_file): Delete. - (TARGET_ASM_FILE_START): Do not define. - (TARGET_OPTION_RESTORE, TARGET_OPTION_PRINT): Define. - * config/aarch64/aarch64-protos.h (aarch64_declare_function_name): - Declare prototype. - -2015-08-04 Kyrylo Tkachov - - * config/aarch64/aarch64.opt (momit-leaf-frame-pointer): Initialize - flag_omit_leaf_frame_pointer to 2. - -2015-08-04 Kyrylo Tkachov - - * config/aarch64/aarch64.h (TARGET_FIX_ERR_A53_835769_DEFAULT): Always - define to 0 or 1. - (TARGET_FIX_ERR_A53_835769): New macro. - * config/aarch64/aarch64.c (aarch64_override_options_internal): Remove - handling of opts->x_aarch64_fix_a53_err835769. - (aarch64_madd_needs_nop): Check for TARGET_FIX_ERR_A53_835769 rather - than aarch64_fix_a53_err835769. - * config/aarch64/aarch64-elf-raw.h: Update for above changes. - * config/aarch64/aarch64-linux.h: Likewise. - -2015-08-04 Uros Bizjak - - * config/i386/i386.c (ix86_expand_int_movcc): Check result of - ix86_expand_int_movcc as boolean. - -2015-08-04 Kyrylo Tkachov - - * config/aarch64/aarch64.opt (aarch64_arch_string): Delete. - (aarch64_cpu_string): Likewise. - (aarch64_tune_string): Likewise. - * config/aarch64/aarch64.c (aarch64_parse_opt_result): New enum. - (aarch64_parse_extension): Return aarch64_parse_opt_result. - Add extra argument to put result into. - (aarch64_parse_arch): Likewise. Do not set selected_cpu. - (aarch64_parse_cpu): Add arguments to put results into. Return - aarch64_parse_opt_result. - (aarch64_parse_tune): Likewise. - (aarch64_override_options_after_change_1): New function. - (aarch64_override_options_internal): New function. - (aarch64_validate_mcpu): Likewise. - (aarch64_validate_march): Likewise. - (aarch64_validate_mtune): Likewise. - (aarch64_override_options): Update to reflect above changes. - Move some logic into aarch64_override_options_internal. - Initialize target_option_default_node and target_option_current_node. - (aarch64_override_options_after_change): Move logic into - aarch64_override_options_after_change_1 and call it with global_options. - (initialize_aarch64_code_model): Take a gcc_options pointer and use the - flag values from that. - -2015-08-04 Kyrylo Tkachov - - * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define - __ARM_ARCH_8A directly rather than with cpp_define_formatted. - * config/aarch64/aarch64.c (struct processor): Add arch field. - (all_architectures): Handle above, move above all_cores. - (all_cores): Handle above. - (aarch64_parse_arch): Handle above changes. - * config/aarch64/aarch64-arches.def (armv8-a): Extend according to - above. Update comments. - (armv8.1-a): Likewise. - * config/aarch64/aarch64-cores.def: Update according to above. - * config/aarch64/aarch64-opts.h (aarch64_arch): New enum. - * config/aarch64/driver-aarch64.c (struct aarch64_arch): Rename to - aarch64_arch_driver_info. - -2015-08-04 Kyrylo Tkachov - - * config/aarch64/aarch64.c (struct processor): Add ident field. - Rename core sched_core. - (all_cores): Handle above changes. - (all_architectures): Likewise. - (aarch64_parse_arch): Likewise. - (aarch64_override_options): Likewise. - -2015-08-04 Richard Biener - - * gimple-fold.c (gimple_fold_stmt_to_constant_1): Remove - dispatching to fold_binary for GIMPLE_BINARY_RHS and for - comparisons embedded in [VEC_]COND_EXPRs. - -2015-08-03 Abe Skolnik - - * tree-if-conv.c: Fix various typos in comments. - * tree-vect-stmts.c: Likewise. - -2015-08-04 Thomas Preud'homme - - PR tree-optimization/67043 - * loop-invariant.c (move_invariant_reg): Recompute luids in loop - preheader after hoisting invariant in it. - (find_defs): Force recomputation of all luids. - -2015-08-03 Peter Bergner - - * config/rs6000/htm.md (tabort.): Restrict the source operand to - using a base register. - -2015-08-03 David Malcolm - - * main.c (main): Pass in NULL for toplev's external_timer. - * timevar.c: Include coretypes.h. - (class timer::named_items): New. - (timer::named_items::named_items): New. - (timer::named_items::~named_items): New. - (timer::named_items::push): New. - (timer::named_items::pop): New. - (timer::named_items::print): New. - (timer::timer): Initialize field "m_jit_client_items". - (timer::~timer): New. - (timer::push): Move bulk of implementation to... - (timer::push_internal): ...here. New function. - (timer::pop): Move bulk of implementation to... - (timer::pop_internal): ...here. New function. - (timer::push_client_item): New. - (timer::pop_client_item): New. - (timer::print_row): New function, taken from timer::print. - (timer::print): Print "GCC items" header if we also have client - items. Move row-printing to timer::print_row. Print any client - items. - (timer::get_topmost_item_name): New method. - * timevar.def (TV_JIT_ACQUIRING_MUTEX): New. - (TV_JIT_CLIENT_CODE): New. - * timevar.h (timer::push_client_item): New declaration. - (timer::pop_client_item): New declaration. - (timer::get_topmost_item_name): New method. - (timer::push_internal): New declaration. - (timer::pop_internal): New declaration. - (timer::print_row): New declaration. - (timer::named_items): New declaration. - (timer::m_jit_client_items): New field. - (timer): Add friend class named_items. - (auto_timevar::auto_timevar): Add timer param. - (auto_timevar::~auto_timevar): Use field "m_timer". - (auto_timevar::m_timer): New field. - * toplev.c (initialize_rtl): Add g_timer as param when - constructing auto_timevar instance. - (toplev::toplev): Add "external_timer" param, and use it to - initialize the "g_timer" global if non-NULL. - (toplev::~toplev): If this created "g_timer", delete it. - * toplev.h (toplev::toplev): Replace "use_TV_TOTAL" bool param - with "external_timer" timer *. - -2015-08-03 Alexander Basov - - PR middle-end/64744 - PR middle-end/48470 - PR middle-end/43404 - * cfgexpand.c (expand_one_var): Add check if stack is going to - be used in naked function. - * expr.c (expand_expr_addr_expr_1): Remove excess checking - whether expression should not reside in MEM. - * function.c (use_register_for_decl): Do not use registers for - non-register things (volatile, float, BLKMode) in naked functions. - -2015-08-03 John David Anglin - - PR target/67060 - * config/pa/pa.md (call_reg_64bit): Remove reg:DI 1 clobber. - Adjust splits to match new pattern. - -2015-08-03 Michael Meissner - - * config/rs6000/vector.md (VEC_L): Add KFmode and TFmode. - (VEC_M): Likewise. - (VEC_N): Likewise. - (mov, VEC_M iterator): Add support for IEEE 128-bit floating - point in VSX registers. - - * config/rs6000/constraints.md (wb constraint): Document unused - w constraint. - (we constraint): Likewise. - (wo constraint): Likewise. - (wp constraint): New constraint for IEEE 128-bit floating point in - VSX registers. - (wq constraint): Likewise. - - * config/rs6000/predicates.md (easy_fp_constant): Add support for - IEEE 128-bit floating point in VSX registers. - (easy_scalar_constant): Likewise. - - * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add new - constraints (wp, wq) for IEEE 128-bit floating point in VSX - registers. - (rs6000_init_hard_regno_mode_ok): Likewise. - - * config/rs6000/vsx.md (VSX_LE_128): Add support for IEEE 128-bit - floating point in VSX registers. - (VSX_L): Likewise. - (VSX_M): Likewise. - (VSX_M2): Likewise. - (VSm): Likewise. - (VSs): Likewise. - (VSr): Likewise. - (VSa): Likewise. - (VSv): Likewise. - (vsx_le_permute_): Add support to properly swap bytes for - IEEE 128-bit floating point in VSX registers on little endian. - (vsx_le_undo_permute_): Likewise. - (vsx_le_perm_load_): Likewise. - (vsx_le_perm_store_): Likewise. - (splitters for IEEE 128-bit fp moves): Likewise. - - * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Add wp and - wq constraints. - - * config/rs6000/altivec.md (VM): Add support for IEEE 128-bit - floating point in VSX registers. - (VM2): Likewise. - - * doc/md.text (Machine Constraints): Document wp and wq - constraints on PowerPC. - -2015-08-03 Jeff Law - - PR middle-end/66314 - PR gcov-profile/66899 - * tree-ssa-threadupdate.c (mark_threaded_blocks): Correctly - iterate over the jump threading paths when an element in the - jump threading paths array is eliminated. - -2015-08-03 Segher Boessenkool - - * Makefile.in (OBJS): Put gimple-match.o and generic-match.o first. - -2015-08-03 Patrick Palka - - * tree-ssa-uninit.c (find_uninit_use): Declare and pass to - is_use_properly_guarded the variable def_preds. Free its - contents before returning. - (prune_uninit_phi_opnds_in_unrealizable_paths): Same. - (is_use_properly_guarded): Replace local variable def_preds with - a parameter. Adjust accordingly. Only update *def_preds if it's - the empty vector. - -2015-08-03 Richard Biener - - * genmatch.c (simplify::for_subst_vec): New member. - (binary_ok): New helper for for lowering. - (lower_for): Delay substituting operators into result expressions - if we can merge the results eventually again. - (capture_info::walk_result): Adjust for user_id appearing as - result expression operator. - (expr::gen_transform): Likewise. - (dt_simplify::gen_1): Likewise. - (dt_simplify::gen): Pass not substituted operators to tail - functions or initialize local variable with it. - (decision_tree::gen): Adjust function signature. - * match.pd: Fix tests against global code and add default - cases to switch stmts. - -2015-08-03 Richard Biener - - * genmatch.c (dt_simplify::gen): Create captures array - with an initializer. - -2015-08-03 Ulrich Weigand - - * configure.ac: Set aliasing_flags to -fno-strict-aliasing if - the host compiler is affected by placement new aliasing bug. - * configure: Regenerate. - * Makefile.in (ALIASING_FLAGS): New variable. - (ALL_CXXFLAGS): Add $(ALIASING_FLAGS). - -2015-08-03 Szabolcs Nagy - - PR target/66731 - * config/arm/vfp.md (negmuldf3_vfp): Add new pattern. - (negmulsf3_vfp): Likewise. - (muldf3negdf_vfp): Disable for -frounding-math. - (mulsf3negsf_vfp): Likewise. - * config/arm/arm.c (arm_new_rtx_costs): Fix NEG cost for VNMUL, - fix MULT cost with -frounding-math. - -2015-08-03 Kyrylo Tkachov - - * ifcvt.c (noce_try_store_flag_constants): Make logic of the case - when diff == STORE_FLAG_VALUE or diff == -STORE_FLAG_VALUE more - explicit. Prefer to add the flag whenever possible. - (noce_process_if_block): Try noce_try_store_flag_constants before - noce_try_cmove. - -2015-08-03 Richard Biener - - * genmatch.c (struct sinfo, struct sinfo_hashmap_traits, sinfo_map_t): - New hash-map to record equivalent transforms. - (dt_node::analyze): Populate the equivalent transforms hash-map. - (dt_simplify::info): Add reference to hash-map entry. - (dt_simplify::gen): If we have split out a function for the - transform, generate a call to it. - (sinfo_hashmap_traits::hash): New function. - (compare_op): New helper function for ... - (sinfo_hashmap_traits::equal_keys): ... this new function. - (decision_tree::gen): Split out common equivalent transforms - into functions. - -2015-08-03 Richard Biener - - * gimple-fold.c (fold_gimple_assign): Remove folding of - the comparison in COND_EXPRs. - -2015-08-03 Richard Biener - - * gimple-match-head.c (gimple_simplify): For [VEC_]COND_EXPRs - on the rhs of assignments first simplify the embedded - GENERIC condition. - -2015-08-03 Richard Biener - - PR tree-optimization/66917 - * tree-vectorizer.h (struct dataref_aux): Add base_element_aligned - field. - (DR_VECT_AUX): New macro. - (set_dr_misalignment): Adjust. - (dr_misalignment): Likewise. - * tree-vect-data-refs.c (vect_compute_data_ref_alignment): - Compute whether the base is at least element aligned. - * tree-vect-stmts.c (ensure_base_align): Adjust. - (vectorizable_store): If the base is not element aligned - preserve alignment of the original access if misalignment is unknown. - (vectorizable_load): Likewise. - -2015-08-02 Martin Sebor - - * doc/invoke.texi (Wframe-address): Document it. - * doc/extend.texi (__builtin_frame_address, __builtin_return_address): - Clarify possible effects of calling the functions with non-zero - arguments and mention -Wframe-address. - * builtins.c (expand_builtin_frame_address): Handle -Wframe-address. - -2015-08-01 Michael Collison - - * config/arm/arm.md (*arm_smin_cmp): New pattern. - (*arm_umin_cmp): Likewise. - -2015-08-01 Caroline Tice - - PR 66521 - * vtable-verify.c (vtbl_mangled_name_types, vtbl_mangled_name_ids): New - global variables. - (vtbl_find_mangled_name): New function. - (vtbl_register_mangled_name): New function. - (vtbl_map_get_node): If DECL_ASSEMBLER_NAME is "", look up - mangled name in mangled name vectors. - (find_or_create_vtbl_map_node): Ditto. - (var_is_used_for_virtual_call_p): Add recursion_depth parameter; - update recursion_depth on function entry; pass it to every recursive - call; automatically exit if depth > 25 (give up looking at that point). - (verify_bb_vtables): Initialize recursion_depth and pass it to - var_is_used_for_virtual_call_p. - * vtable-verify.h (vtbl_mangbled_name_types, vtbl_mangled_name_ids): New - global variable decls. - (vtbl_register_mangled_name): New extern function decl. - -2015-08-01 Tom de Vries - - * tree.c (operation_can_overflow, operation_no_trapping_overflow): New - function. - * tree.h (operation_can_overflow, operation_no_trapping_overflow): - Declare. - * tree-vect-loop.c (vect_is_simple_reduction_1): Use - operation_no_trapping_overflow. Allow non-overflow operations. - * graphite-sese-to-poly.c (is_reduction_operation_p): Allow non-overflow - operations. - -2015-07-31 Kaz Kojima - - PR target/67049 - * config/sh/sh.md (GOTaddr2picreg): Fix typo. - -2015-07-31 Kyrylo Tkachov - - * config/arm/arm.md (*if_neg_move): Convert to insn_and_split. - Enable for TARGET_32BIT. - (*if_move_neg): Likewise. - -2015-07-31 Nick Clifton - - * config/m32r/m32r.c (m32r_attribute_identifier): New function. - Returns true for __model__. - (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define. - -2015-07-31 Alan Modra - - PR target/66870 - * config/rs6000/rs6000.c (machine_function): Add split_stack_argp_used. - (rs6000_emit_prologue): Set it. - (rs6000_set_up_by_prologue): Specify r12 when split_stack_argp_used. - -2015-07-31 Richard Biener - - * fold-const.c (fold_binary_loc): Remove X ^ C1 == C2 - -> X == (C1 ^ C2) which is already implemented in match.pd. - Remove redundant dispatching to fold_relational_const. - Move unordered self and NaN compares ... - * match.pd: ... as patterns here. Remove some stray captures - and add a comment. - -2015-07-31 Petr Murzin - - * config/i386/i386.c - (bdesc_special_args): Convert mask type from signed to unsigned for - masked builtins. - (ix86_expand_args_builtin): Do not handle UINT_FTYPE_V2DF, - UINT64_FTYPE_V2DF, UINT64_FTYPE_V4SF, V16QI_FTYPE_V8DI, - V16HI_FTYPE_V16SI, V16SI_FTYPE_V16SI, V16SF_FTYPE_FLOAT, - V8HI_FTYPE_V8DI, V8UHI_FTYPE_V8UHI, V8SI_FTYPE_V8DI, V8SF_FTYPE_V8DF, - V8DI_FTYPE_INT64, V8DI_FTYPE_V4DI, V8DI_FTYPE_V8DI, V8DF_FTYPE_DOUBLE, - V8DF_FTYPE_V8SI, V16SI_FTYPE_V16SI_V16SI, V16SF_FTYPE_V16SF_V16SI, - V8DI_FTYPE_V8DI_V8DI, V8DF_FTYPE_V8DF_V8DI, V4SI_FTYPE_V4SF_V4SF, - V4SF_FTYPE_V4SF_UINT64, V2UDI_FTYPE_V4USI_V4USI, V2DI_FTYPE_V2DF_V2DF, - V2DF_FTYPE_V2DF_UINT64, V4UDI_FTYPE_V8USI_V8USI, QI_FTYPE_V8DI_V8DI, - HI_FTYPE_V16SI_V16SI, HI_FTYPE_HI_INT, V16SF_FTYPE_V16SF_V16SF_V16SF, - V16SF_FTYPE_V16SF_V16SI_V16SF, V16SF_FTYPE_V16SI_V16SF_HI, - V16SF_FTYPE_V16SI_V16SF_V16SF, V16SI_FTYPE_V16SF_V16SI_HI, - V8DI_FTYPE_V8SF_V8DI_QI, V8SF_FTYPE_V8DI_V8SF_QI, V8DI_FTYPE_PV4DI, - V8DF_FTYPE_V8DI_V8DF_QI, V16SI_FTYPE_V16SI_V16SI_V16SI, - V2DI_FTYPE_V2DI_V2DI_V2DI, V8DI_FTYPE_V8DF_V8DI_QI, V8DF_FTYPE_PV4DF, - V8SI_FTYPE_V8SI_V8SI_V8SI, V8DF_FTYPE_V8DF_V8DF_V8DF, UINT_FTYPE_V4SF, - V8DF_FTYPE_V8DF_V8DI_V8DF, V8DF_FTYPE_V8DI_V8DF_V8DF, - V8DF_FTYPE_V8SF_V8DF_QI, V8DI_FTYPE_V8DI_V8DI_V8DI, V16SF_FTYPE_PV4SF, - V8SF_FTYPE_V8DF_V8SF_QI, V8SI_FTYPE_V8DF_V8SI_QI, V16SI_FTYPE_PV4SI, - V2DF_FTYPE_V2DF_V4SF_V2DF_QI, V4SF_FTYPE_V4SF_V2DF_V4SF_QI, - V8DI_FTYPE_V8DI_SI_V8DI_V8DI, QI_FTYPE_V8DF_V8DF_INT_QI, - HI_FTYPE_V16SF_V16SF_INT_HI, V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI, - VOID_FTYPE_PDOUBLE_V2DF_QI, VOID_FTYPE_PFLOAT_V4SF_QI, - V2DF_FTYPE_PCDOUBLE_V2DF_QI, V4SF_FTYPE_PCFLOAT_V4SF_QI. - * config/i386/i386-builtin-types.def - (V16QI_FTYPE_V16SI): Remove. - (V8DF_FTYPE_V8SI): Ditto. - (V8HI_FTYPE_V8DI): Ditto. - (V8SI_FTYPE_V8DI): Ditto. - (V8SF_FTYPE_V8DF): Ditto. - (V8SF_FTYPE_V8DF_V8SF_QI): Ditto. - (V16HI_FTYPE_V16SI): Ditto. - (V16SF_FTYPE_V16HI): Ditto. - (V16SF_FTYPE_V16HI_V16SF_HI): Ditto. - (V16SF_FTYPE_V16SI): Ditto. - (V4DI_FTYPE_V4DI): Ditto. - (V16SI_FTYPE_V16SF): Ditto. - (V16SF_FTYPE_FLOAT): Ditto. - (V8DF_FTYPE_DOUBLE): Ditto. - (V8DI_FTYPE_INT64): Ditto. - (V8DI_FTYPE_V4DI): Ditto. - (V16QI_FTYPE_V8DI): Ditto. - (UINT_FTYPE_V4SF): Ditto. - (UINT64_FTYPE_V4SF): Ditto. - (UINT_FTYPE_V2DF): Ditto. - (UINT64_FTYPE_V2DF): Ditto. - (V16SI_FTYPE_V16SI): Ditto. - (V8DI_FTYPE_V8DI): Ditto. - (V16SI_FTYPE_PV4SI): Ditto. - (V16SF_FTYPE_PV4SF): Ditto. - (V8DI_FTYPE_PV2DI): Ditto. - (V8DF_FTYPE_PV2DF): Ditto. - (V4DI_FTYPE_PV2DI): Ditto. - (V4DF_FTYPE_PV2DF): Ditto. - (V16SI_FTYPE_PV2SI): Ditto. - (V16SF_FTYPE_PV2SF): Ditto. - (V8DI_FTYPE_PV4DI): Ditto. - (V8DF_FTYPE_PV4DF): Ditto. - (V8SF_FTYPE_FLOAT): Ditto. - (V4SF_FTYPE_FLOAT): Ditto. - (V4DF_FTYPE_DOUBLE): Ditto. - (V8SF_FTYPE_PV4SF): Ditto. - (V8SI_FTYPE_PV4SI): Ditto. - (V4SI_FTYPE_PV2SI): Ditto. - (V8SF_FTYPE_PV2SF): Ditto. - (V8SI_FTYPE_PV2SI): Ditto. - (V16SF_FTYPE_PV8SF): Ditto. - (V16SI_FTYPE_PV8SI): Ditto. - (V8DI_FTYPE_V8SF): Ditto. - (V4DI_FTYPE_V4SF): Ditto. - (V2DI_FTYPE_V4SF): Ditto. - (V64QI_FTYPE_QI): Ditto. - (V32HI_FTYPE_HI): Ditto. - (V8UHI_FTYPE_V8UHI): Ditto. - (V16UHI_FTYPE_V16UHI): Ditto. - (V32UHI_FTYPE_V32UHI): Ditto. - (V2UDI_FTYPE_V2UDI): Ditto. - (V4UDI_FTYPE_V4UDI): Ditto. - (V8UDI_FTYPE_V8UDI): Ditto. - (V4USI_FTYPE_V4USI): Ditto. - (V8USI_FTYPE_V8USI): Ditto. - (V16USI_FTYPE_V16USI): Ditto. - (V2DF_FTYPE_V2DF_UINT64): Ditto. - (V2DI_FTYPE_V2DF_V2DF): Ditto. - (V2UDI_FTYPE_V4USI_V4USI): Ditto. - (V8DF_FTYPE_V8DF_V8DI): Ditto. - (V4SF_FTYPE_V4SF_UINT64): Ditto. - (V4SI_FTYPE_V4SF_V4SF): Ditto. - (V16SF_FTYPE_V16SF_V16SI): Ditto. - (V64QI_FTYPE_V32HI_V32HI): Ditto. - (V32HI_FTYPE_V16SI_V16SI): Ditto. - (V8DF_FTYPE_V8DF_V8DF_V8DI_INT_QI): Ditto. - (V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI): Ditto. - (V32HI_FTYPE_V64QI_V64QI): Ditto. - (V32HI_FTYPE_V32HI_V32HI): Ditto. - (V16HI_FTYPE_V16HI_V16HI_INT_V16HI_HI): Ditto. - (V16SI_FTYPE_V16SI_V4SI): Ditto. - (V16SI_FTYPE_V16SI_V16SI): Ditto. - (V16SI_FTYPE_V32HI_V32HI): Ditto. - (V16SI_FTYPE_V16SI_SI): Ditto. - (V8DI_FTYPE_V8DI_V8DI): Ditto. - (V4UDI_FTYPE_V8USI_V8USI): Ditto. - (V8DI_FTYPE_V16SI_V16SI): Ditto. - (V8DI_FTYPE_V8DI_V2DI): Ditto. - (QI_FTYPE_QI): Ditto. - (SI_FTYPE_SI): Ditto. - (DI_FTYPE_DI): Ditto. - (QI_FTYPE_QI_QI): Ditto. - (QI_FTYPE_QI_INT): Ditto. - (HI_FTYPE_HI_INT): Ditto. - (SI_FTYPE_SI_INT): Ditto. - (DI_FTYPE_DI_INT): Ditto. - (HI_FTYPE_V16QI_V16QI): Ditto. - (SI_FTYPE_V32QI_V32QI): Ditto. - (DI_FTYPE_V64QI_V64QI): Ditto. - (QI_FTYPE_V8HI_V8HI): Ditto. - (HI_FTYPE_V16HI_V16HI): Ditto. - (SI_FTYPE_V32HI_V32HI): Ditto. - (QI_FTYPE_V4SI_V4SI): Ditto. - (QI_FTYPE_V8SI_V8SI): Ditto. - (QI_FTYPE_V2DI_V2DI): Ditto. - (QI_FTYPE_V4DI_V4DI): Ditto. - (QI_FTYPE_V8DI_V8DI): Ditto. - (HI_FTYPE_V16SI_V16SI): Ditto. - (HI_FTYPE_V16SI_V16SI_INT_HI): Ditto. - (QI_FTYPE_V8DF_V8DF_INT_QI): Ditto. - (HI_FTYPE_V16SF_V16SF_INT_HI): Ditto. - (V32HI_FTYPE_V32HI_V32HI_V32HI): Ditto. - (V4SF_FTYPE_V4SF_V2DF_V4SF_QI): Ditto. - (V8DF_FTYPE_V8DF_V8DF_V8DF): Ditto. - (V16SF_FTYPE_V16SF_V16SF_V16SF): Ditto. - (V8DF_FTYPE_V8SF_V8DF_QI): Ditto. - (V8DI_FTYPE_V8DF_V8DI_QI): Ditto. - (V8DF_FTYPE_V8DI_V8DF_V8DF): Ditto. - (V2DF_FTYPE_V2DF_V4SF_V2DF_QI): Ditto. - (V16SF_FTYPE_V16SI_V16SF_HI): Ditto. - (V16SF_FTYPE_V16SI_V16SF_V16SF): Ditto. - (V8SI_FTYPE_V8DF_V8SI_QI): Ditto. - (V8DI_FTYPE_PCCHAR_V8DI_QI): Ditto. - (V8SF_FTYPE_PCFLOAT_V8SF_QI): Ditto. - (V4SF_FTYPE_PCFLOAT_V4SF_QI): Ditto. - (V4DF_FTYPE_PCDOUBLE_V4DF_QI): Ditto. - (V2DF_FTYPE_PCDOUBLE_V2DF_QI): Ditto. - (V8SI_FTYPE_PCCHAR_V8SI_QI): Ditto. - (V4SI_FTYPE_PCCHAR_V4SI_QI): Ditto. - (V4DI_FTYPE_PCCHAR_V4DI_QI): Ditto. - (V2DI_FTYPE_PCCHAR_V2DI_QI): Ditto. - (V16SF_FTYPE_PCV8SF_V16SF_HI): Ditto. - (V16SI_FTYPE_PCV8SI_V16SI_HI): Ditto. - (V8DF_FTYPE_PCV2DF_V8DF_QI): Ditto. - (V8SF_FTYPE_PCV4SF_V8SF_QI): Ditto. - (V8DI_FTYPE_PCV2DI_V8DI_QI): Ditto. - (V8SI_FTYPE_PCV4SI_V8SI_QI): Ditto. - (V4DF_FTYPE_PCV2DF_V4DF_QI): Ditto. - (V4DI_FTYPE_PCV2DI_V4DI_QI): Ditto. - (VOID_FTYPE_PDOUBLE_V2DF_QI): Ditto. - (VOID_FTYPE_PFLOAT_V4SF_QI): Ditto. - (V16SI_FTYPE_V16SF_V16SI_HI): Ditto. - (V8DI_FTYPE_V8SF_V8DI_QI): Ditto. - (V8SF_FTYPE_V8DI_V8SF_QI): Ditto. - (V8DF_FTYPE_V8DI_V8DF_QI): Ditto. - (V2DF_FTYPE_V2DF_V2DF_V2DI): Ditto. - (V4SF_FTYPE_V4SF_V4SF_V4SI): Ditto. - (V2UDI_FTYPE_V2UDI_V2UDI_V2UDI): Ditto. - (V4USI_FTYPE_V4USI_V4USI_V4USI): Ditto. - (V8UHI_FTYPE_V8UHI_V8UHI_V8UHI): Ditto. - (V16UQI_FTYPE_V16UQI_V16UQI_V16UQI): Ditto. - (V4DF_FTYPE_V4DF_V4DF_V4DI): Ditto. - (V8SF_FTYPE_V8SF_V8SF_V8SI): Ditto. - (V8DI_FTYPE_V8DI_V8DI_V8DI): Ditto. - (V16SI_FTYPE_V16SI_V16SI_V16SI): Ditto. - (V2DF_FTYPE_V2DF_V2DI_V2DF): Ditto. - (V4DF_FTYPE_V4DF_V4DI_V4DF): Ditto. - (V8DF_FTYPE_V8DF_V8DI_V8DF): Ditto. - (V4SF_FTYPE_V4SF_V4SI_V4SF): Ditto. - (V8SF_FTYPE_V8SF_V8SI_V8SF): Ditto. - (V16SF_FTYPE_V16SF_V16SI_V16SF): Ditto. - (V8DI_FTYPE_V8DI_SI_V8DI_V8DI): Ditto. - (PVOID_FTYPE_PVOID_PVOID_ULONG): Ditto. - (V4SF_FTYPE_V2DF_V4SF_QI): Convert mask type from signed to unsigned. - (V4SF_FTYPE_V4DF_V4SF_QI): Ditto. - (V4SF_FTYPE_V8HI_V4SF_QI): Ditto. - (V8SF_FTYPE_V8HI_V8SF_QI): Ditto. - (V16SI_FTYPE_V16SI_V16SI_HI): Ditto. - (V8DI_FTYPE_V8DI_V8DI_QI): Ditto. - (V2DF_FTYPE_V4DF_INT_V2DF_QI): Ditto. - (V2DF_FTYPE_V8DF_INT_V2DF_QI): Ditto. - (V2DI_FTYPE_V2DI_INT_V2DI_QI): Ditto. - (V4DF_FTYPE_V8DF_INT_V4DF_QI): Ditto. - (V4SF_FTYPE_V8SF_INT_V4SF_QI): Ditto. - (V4SI_FTYPE_V2DF_V4SI_QI): Ditto. - (V4SI_FTYPE_V4SI_INT_V4SI_QI): Ditto. - (V4SI_FTYPE_V8HI_V8HI_V4SI_QI): Ditto. - (V4SI_FTYPE_V8SI_INT_V4SI_QI): Ditto. - (V8HI_FTYPE_V16QI_V16QI_V8HI_QI): Ditto. - (V8HI_FTYPE_V8SF_INT_V8HI_QI): Ditto. - (V8HI_FTYPE_V4SF_INT_V8HI_QI): Ditto. - (V8SF_FTYPE_V16SF_INT_V8SF_QI): Ditto. - (V4SF_FTYPE_V16SF_INT_V4SF_QI): Ditto. - (V8DF_FTYPE_V8DF_V2DF_INT_V8DF_QI): Ditto. - (V8DF_FTYPE_V8DF_V4DF_INT_V8DF_QI): Ditto. - (V8DF_FTYPE_V8DF_V8DF_INT_V8DF_QI): Ditto. - (V8DF_FTYPE_V8DF_INT_V8DF_QI): Ditto. - (V4DF_FTYPE_V4DF_V4DF_V4DI_INT_QI): Ditto. - (V2DF_FTYPE_V2DF_V2DF_V2DI_INT_QI): Ditto. - (V16SF_FTYPE_V16SF_V16SF_INT_V16SF_HI): Ditto. - (V16SF_FTYPE_V16SF_INT_V16SF_HI): Ditto. - (V16SI_FTYPE_V16SI_V4SI_INT_V16SI_HI): Ditto. - (V8SF_FTYPE_V8SF_V8SF_V8SI_INT_QI): Ditto. - (V4SF_FTYPE_V4SF_V4SF_V4SI_INT_QI): Ditto. - (V16SF_FTYPE_V16SF_V4SF_INT_V16SF_HI): Ditto. - (V16SF_FTYPE_V16SF_V8SF_INT_V16SF_HI): Ditto. - (V16HI_FTYPE_V32QI_V32QI_V16HI_HI): Ditto. - (V32HI_FTYPE_V64QI_V64QI_V32HI_SI): Ditto. - (V16HI_FTYPE_V16SF_INT_V16HI_HI): Ditto. - (V16SI_FTYPE_V16SI_V8SI_INT_V16SI_HI): Ditto. - (V4SI_FTYPE_V16SI_INT_V4SI_QI): Ditto. - (V16SI_FTYPE_V16SI_V16SI_INT_V16SI_HI): Ditto. - (V8SI_FTYPE_V16HI_V16HI_V8SI_QI): Ditto. - (V16SI_FTYPE_V32HI_V32HI_V16SI_HI): Ditto. - (V8SI_FTYPE_V8SI_INT_V8SI_QI): Ditto. - (V8SI_FTYPE_V16SI_INT_V8SI_QI): Ditto. - (V16SI_FTYPE_V16SI_V4SI_V16SI_HI): Ditto. - (V16SI_FTYPE_V16SI_INT_V16SI_HI): Ditto. - (V8DI_FTYPE_V8DI_V8DI_INT_V8DI_QI): Ditto. - (V8DI_FTYPE_V8DI_V8DI_INT_V8DI_DI): Ditto. - (V4DI_FTYPE_V4DI_V4DI_INT_V4DI_SI): Ditto. - (V2DI_FTYPE_V2DI_V2DI_INT_V2DI_HI): Ditto. - (V8DI_FTYPE_V8DI_V2DI_INT_V8DI_QI): Ditto. - (V8DI_FTYPE_V8DI_V4DI_INT_V8DI_QI): Ditto. - (V4DI_FTYPE_V8DI_INT_V4DI_QI): Ditto. - (V8DI_FTYPE_V8DI_V2DI_V8DI_QI): Ditto. - (V8DI_FTYPE_V8DI_INT_V8DI_QI): Ditto. - (V4DI_FTYPE_V4DI_INT_V4DI_QI): Ditto. - (V2DI_FTYPE_V4DI_INT_V2DI_QI): Ditto. - (V2DI_FTYPE_V8DI_INT_V2DI_QI): Ditto. - (HI_FTYPE_HI): Ditto. - (HI_FTYPE_V16QI): Ditto. - (SI_FTYPE_V32QI): Ditto. - (DI_FTYPE_V64QI): Ditto. - (QI_FTYPE_V8HI): Ditto. - (HI_FTYPE_V16HI): Ditto. - (SI_FTYPE_V32HI): Ditto. - (QI_FTYPE_V4SI): Ditto. - (QI_FTYPE_V8SI): Ditto. - (HI_FTYPE_V16SI): Ditto. - (QI_FTYPE_V2DI): Ditto. - (QI_FTYPE_V4DI): Ditto. - (QI_FTYPE_V8DI): Ditto. - (V16QI_FTYPE_HI): Ditto. - (V32QI_FTYPE_SI): Ditto. - (V64QI_FTYPE_DI): Ditto. - (V8HI_FTYPE_QI): Ditto. - (V16HI_FTYPE_HI): Ditto. - (V32HI_FTYPE_SI): Ditto. - (V4SI_FTYPE_QI): Ditto. - (V4SI_FTYPE_HI): Ditto. - (V8SI_FTYPE_QI): Ditto. - (V8SI_FTYPE_HI): Ditto. - (V2DI_FTYPE_QI): Ditto. - (V4DI_FTYPE_QI): Ditto. - (HI_FTYPE_HI_HI): Ditto. - (SI_FTYPE_SI_SI): Ditto. - (DI_FTYPE_DI_DI): Ditto. - (HI_FTYPE_V16QI_V16QI_HI): Ditto. - (HI_FTYPE_V16QI_V16QI_INT_HI): Ditto. - (SI_FTYPE_V32QI_V32QI_SI): Ditto. - (SI_FTYPE_V32QI_V32QI_INT_SI): Ditto. - (DI_FTYPE_V64QI_V64QI_DI): Ditto. - (DI_FTYPE_V64QI_V64QI_INT_DI): Ditto. - (QI_FTYPE_V8HI_V8HI_QI): Ditto. - (QI_FTYPE_V8HI_V8HI_INT_QI): Ditto. - (HI_FTYPE_V16HI_V16HI_HI): Ditto. - (HI_FTYPE_V16HI_V16HI_INT_HI): Ditto. - (SI_FTYPE_V32HI_V32HI_SI): Ditto. - (SI_FTYPE_V32HI_V32HI_INT_SI): Ditto. - (QI_FTYPE_V4SI_V4SI_QI): Ditto. - (QI_FTYPE_V4SI_V4SI_INT_QI): Ditto. - (QI_FTYPE_V8SI_V8SI_QI): Ditto. - (QI_FTYPE_V8SI_V8SI_INT_QI): Ditto. - (QI_FTYPE_V2DI_V2DI_QI): Ditto. - (QI_FTYPE_V2DI_V2DI_INT_QI): Ditto. - (QI_FTYPE_V4DI_V4DI_QI): Ditto. - (QI_FTYPE_V4DI_V4DI_INT_QI): Ditto. - (QI_FTYPE_V8DI_V8DI_QI): Ditto. - (HI_FTYPE_V16SI_V16SI_HI): Ditto. - (QI_FTYPE_V8DI_V8DI_INT): Ditto. - (QI_FTYPE_V8DI_V8DI_INT_QI): Ditto. - (HI_FTYPE_V16SI_V16SI_INT): Ditto. - (HI_FTYPE_V16SI_V16SI_INT _HI): Ditto. - (QI_FTYPE_V8DF_V8DF_INT): Ditto. - (QI_FTYPE_V8DF_V8DF_INT_QI_INT): Ditto. - (HI_FTYPE_V16SF_V16SF_INT): Ditto. - (HI_FTYPE_V16SF_V16SF_INT_HI_INT): Ditto. - (QI_FTYPE_V2DF_V2DF_INT): Ditto. - (QI_FTYPE_V2DF_V2DF_INT_QI): Ditto. - (QI_FTYPE_V2DF_V2DF_INT_QI_INT): Ditto. - (QI_FTYPE_V4SF_V4SF_INT): Ditto. - (QI_FTYPE_V4SF_V4SF_INT_QI): Ditto. - (QI_FTYPE_V4SF_V4SF_INT_QI_INT): Ditto. - (V16SI_FTYPE_HI): Ditto. - (V8DI_FTYPE_QI): Ditto. - (V2DF_FTYPE_V2DI_V2DF_V2DF_QI): Ditto. - (V2DF_FTYPE_V2DF_V2DI_V2DF_QI): Ditto. - (V4DF_FTYPE_V4DF_V2DF_INT_V4DF_QI): Ditto. - (V4SF_FTYPE_V4SI_V4SF_V4SF_QI): Ditto. - (V4SF_FTYPE_V4SF_V4SI_V4SF_QI): Ditto. - (V4SF_FTYPE_V4SF_V4SF_V4SF_QI): Ditto. - (V8SF_FTYPE_V8SF_V4SF_INT_V8SF_QI): Ditto. - (V8SI_FTYPE_V8SI_V4SI_INT_V8SI_QI): Ditto. - (V4DI_FTYPE_V4DI_V2DI_INT_V4DI_QI): Ditto. - (V2DF_FTYPE_V2DF_V2DF_QI): Ditto. - (V2DF_FTYPE_V4SF_V2DF_QI): Ditto. - (V2DF_FTYPE_V4SI_V2DF_QI): Ditto. - (V4DF_FTYPE_V4DF_V4DF_QI): Ditto. - (V4DF_FTYPE_V4SF_V4DF_QI): Ditto. - (V4DF_FTYPE_V4SI_V4DF_QI): Ditto. - (V8DF_FTYPE_V8DF_V8DF_QI): Ditto. - (V8DF_FTYPE_V8SI_V8DF_QI): Ditto. - (V2DI_FTYPE_V4SI_V2DI_QI): Ditto. - (V2DI_FTYPE_V8HI_V2DI_QI): Ditto. - (V4DI_FTYPE_V4DF_V4DI_QI): Ditto. - (V2DI_FTYPE_V2DF_V2DI_QI): Ditto. - (V2DI_FTYPE_V2DI_V2DI_V2DI_QI): Ditto. - (V2DI_FTYPE_V2DI_V2DI_INT_V2DI_QI): Ditto. - (V4DI_FTYPE_V4DI_V4DI_V4DI_QI): Ditto. - (V4DI_FTYPE_V4DI_V4DI_INT_V4DI_QI): Ditto. - (V8DI_FTYPE_V8SI_V8DI_QI): Ditto. - (V8DI_FTYPE_V8HI_V8DI_QI): Ditto. - (V8DI_FTYPE_V16QI_V8DI_QI): Ditto. - (V2DI_FTYPE_V16QI_V2DI_QI): Ditto. - (V4DI_FTYPE_V16QI_V4DI_QI): Ditto. - (V4DI_FTYPE_V4DI_V4DI_QI): Ditto. - (V4DI_FTYPE_V4SI_V4DI_QI): Ditto. - (V4DI_FTYPE_V8HI_V4DI_QI): Ditto. - (V8DI_FTYPE_V8DI_V8DI_V8DI_QI): Ditto. - (V8DF_FTYPE_V8DI_V8DF_V8DF_QI): Ditto. - (V8DF_FTYPE_V8DF_V8DI_V8DF_QI): Ditto. - (V4DF_FTYPE_V4DI_V4DF_V4DF_QI): Ditto. - (V4DF_FTYPE_V4DF_V4DI_V4DF_QI): Ditto. - (V4DF_FTYPE_V4DF_V4DF_V4DF_QI): Ditto. - (V8DF_FTYPE_V8DF_V8DF_V8DF_QI): Ditto. - (V16QI_FTYPE_V16QI_V16QI_V16QI_HI): Ditto. - (V16HI_FTYPE_V16HI_V16HI_V16HI_HI): Ditto. - (V16SI_FTYPE_V16SI_V16SI_V16SI_HI): Ditto. - (V2DF_FTYPE_V2DF_V2DF_V2DF_QI): Ditto. - (V32HI_FTYPE_V32HI_V32HI_V32HI_SI): Ditto. - (V64QI_FTYPE_V64QI_V64QI_V64QI_DI): Ditto. - (V32QI_FTYPE_V32QI_V32QI_V32QI_SI): Ditto. - (V8HI_FTYPE_V8HI_V8HI_V8HI_QI): Ditto. - (V4SF_FTYPE_V4SF_V4SF_QI): Ditto. - (V4SF_FTYPE_V4SI_V4SF_QI): Ditto. - (V8SF_FTYPE_V8SF_V8SF_QI): Ditto. - (V8SF_FTYPE_V8SI_V8SF_QI): Ditto. - (V16SF_FTYPE_V16SF_V16SF_HI): Ditto. - (V4SI_FTYPE_V16QI_V4SI_QI): Ditto. - (V4SI_FTYPE_V8HI_V4SI_QI): Ditto. - (V8SI_FTYPE_V8SI_V8SI_QI): Ditto. - (V8SI_FTYPE_V8HI_V8SI_QI): Ditto. - (V8SI_FTYPE_V16QI_V8SI_QI): Ditto. - (V4SI_FTYPE_V4SI_V4SI_V4SI_QI): Ditto. - (V4SI_FTYPE_V4SI_V4SI_INT_V4SI_QI): Ditto. - (V8SF_FTYPE_V8SF_V8SF_V8SF_QI): Ditto. - (V8SF_FTYPE_V8SI_V8SF_V8SF_QI): Ditto. - (V8SF_FTYPE_V8SF_V8SI_V8SF_QI): Ditto. - (V8SI_FTYPE_V8SI_V8SI_V8SI_QI): Ditto. - (V8SI_FTYPE_V8SI_V8SI_INT_V8SI_QI): Ditto. - (V16SF_FTYPE_V16SF_V16SF_V16SF_HI): Ditto. - (V16SF_FTYPE_V16SI_V16SF_V16SF_HI): Ditto. - (V16SF_FTYPE_V16SF_V16SI_V16SF_HI): Ditto. - (V16SF_FTYPE_V8SF_V16SF_HI): Ditto. - (V16SF_FTYPE_V4SF_V16SF_HI): Ditto. - (V8DF_FTYPE_V4DF_V8DF_QI): Ditto. - (V8DF_FTYPE_V2DF_V8DF_QI): Ditto. - (V16SI_FTYPE_V8SI_V16SI_HI): Ditto. - (V16SI_FTYPE_V4SI_V16SI_HI): Ditto. - (V16SI_FTYPE_SI_V16SI_HI): Ditto. - (V16SI_FTYPE_V16HI_V16SI_HI): Ditto. - (V16SI_FTYPE_V16QI_V16SI_HI): Ditto. - (V8DI_FTYPE_V4DI_V8DI_QI): Ditto. - (V4SI_FTYPE_V4DF_V4SI_QI): Ditto. - (V8DI_FTYPE_V2DI_V8DI_QI): Ditto. - (V8DI_FTYPE_DI_V8DI_QI): Ditto. - (V16QI_FTYPE_V16SI_V16QI_HI): Ditto. - (V16QI_FTYPE_V8DI_V16QI_QI): Ditto. - (V32HI_FTYPE_V32HI_V32HI_SI): Ditto. - (V32HI_FTYPE_V32QI_V32HI_SI): Ditto. - (V16HI_FTYPE_V16HI_V16HI_HI): Ditto. - (V16HI_FTYPE_V16QI_V16HI_HI): Ditto. - (V8HI_FTYPE_V16QI_V8HI_QI): Ditto. - (V8SF_FTYPE_V4SF_V8SF_QI): Ditto. - (V4DF_FTYPE_V2DF_V4DF_QI): Ditto. - (V8SI_FTYPE_V4SI_V8SI_QI): Ditto. - (V8SI_FTYPE_SI_V8SI_QI): Ditto. - (V4SI_FTYPE_V4SI_V4SI_QI): Ditto. - (V4SI_FTYPE_SI_V4SI_QI): Ditto. - (V4DI_FTYPE_V2DI_V4DI_QI): Ditto. - (V4DI_FTYPE_DI_V4DI_QI): Ditto. - (V2DI_FTYPE_V2DI_V2DI_QI): Ditto. - (V2DI_FTYPE_DI_V2DI_QI): Ditto. - (V64QI_FTYPE_V64QI_V64QI_DI): Ditto. - (V64QI_FTYPE_V16QI_V64QI_DI): Ditto. - (V64QI_FTYPE_QI_V64QI_DI): Ditto. - (V32QI_FTYPE_V32QI_V32QI_SI): Ditto. - (V32QI_FTYPE_V16QI_V32QI_SI): Ditto. - (V32QI_FTYPE_QI_V32QI_SI): Ditto. - (V16QI_FTYPE_V16QI_V16QI_HI): Ditto. - (V16QI_FTYPE_QI_V16QI_HI): Ditto. - (V32HI_FTYPE_V8HI_V32HI_SI): Ditto. - (V32HI_FTYPE_HI_V32HI_SI): Ditto. - (V16HI_FTYPE_V8HI_V16HI_HI): Ditto. - (V16HI_FTYPE_HI_V16HI_HI): Ditto. - (V8HI_FTYPE_V8HI_V8HI_QI): Ditto. - (V8HI_FTYPE_HI_V8HI_QI): Ditto. - (V64QI_FTYPE_PCV64QI_V64QI_DI): Ditto. - (V32HI_FTYPE_PCV32HI_V32HI_SI): Ditto. - (V32QI_FTYPE_PCV32QI_V32QI_SI): Ditto. - (V16SF_FTYPE_PCV16SF_V16SF_HI): Ditto. - (V8DF_FTYPE_PCV8DF_V8DF_QI): Ditto. - (V16SI_FTYPE_PCV16SI_V16SI_HI): Ditto. - (V16HI_FTYPE_PCV16HI_V16HI_HI): Ditto. - (V16QI_FTYPE_PCV16QI_V16QI_HI): Ditto. - (V8SF_FTYPE_PCV8SF_V8SF_QI): Ditto. - (V8DI_FTYPE_PCV8DI_V8DI_QI): Ditto. - (V8SI_FTYPE_PCV8SI_V8SI_QI): Ditto. - (V8HI_FTYPE_PCV8HI_V8HI_QI): Ditto. - (V4DF_FTYPE_PCV4DF_V4DF_QI): Ditto. - (V4SF_FTYPE_PCV4SF_V4SF_QI): Ditto. - (V4DI_FTYPE_PCV4DI_V4DI_QI): Ditto. - (V4SI_FTYPE_PCV4SI_V4SI_QI): Ditto. - (V2DF_FTYPE_PCV2DF_V2DF_QI): Ditto. - (V2DI_FTYPE_PCV2DI_V2DI_QI): Ditto. - (V16HI_FTYPE_V16SI_V16HI_HI): Ditto. - (V8SI_FTYPE_V8DI_V8SI_QI): Ditto. - (V8HI_FTYPE_V8DI_V8HI_QI): Ditto. - (V16QI_FTYPE_V8HI_V16QI_QI): Ditto. - (V16QI_FTYPE_V16HI_V16QI_HI): Ditto. - (V16QI_FTYPE_V4SI_V16QI_QI): Ditto. - (V16QI_FTYPE_V8SI_V16QI_QI): Ditto. - (V8HI_FTYPE_V4SI_V8HI_QI): Ditto. - (V8HI_FTYPE_V8SI_V8HI_QI): Ditto. - (V16QI_FTYPE_V2DI_V16QI_QI): Ditto. - (V16QI_FTYPE_V4DI_V16QI_QI): Ditto. - (V8HI_FTYPE_V2DI_V8HI_QI): Ditto. - (V8HI_FTYPE_V4DI_V8HI_QI): Ditto. - (V4SI_FTYPE_V2DI_V4SI_QI): Ditto. - (V4SI_FTYPE_V4DI_V4SI_QI): Ditto. - (V32QI_FTYPE_V32HI_V32QI_SI): Ditto. - (V2DF_FTYPE_V2DF_INT_V2DF_QI): Ditto. - (V4DF_FTYPE_V4DF_INT_V4DF_QI): Ditto. - (V4SF_FTYPE_V4SF_INT_V4SF_QI): Ditto. - (V8SF_FTYPE_V8SF_INT_V8SF_QI): Ditto. - (V4DF_FTYPE_V4DF_V4DF_INT_V4DF_QI): Ditto. - (V2DF_FTYPE_V2DF_V2DF_INT_V2DF_QI): Ditto. - (V8SF_FTYPE_V8SF_V8SF_INT_V8SF_QI): Ditto. - (V4SF_FTYPE_V4SF_V4SF_INT_V4SF_QI): Ditto. - (VOID_FTYPE_PV8DF_V8DF_QI): Ditto. - (VOID_FTYPE_PV8SI_V8DI_QI): Ditto. - (VOID_FTYPE_PV8HI_V8DI_QI): Ditto. - (VOID_FTYPE_PV8HI_V4DI_QI): Ditto. - (VOID_FTYPE_PV8HI_V2DI_QI): Ditto. - (VOID_FTYPE_PV4SI_V4DI_QI): Ditto. - (VOID_FTYPE_PV4SI_V2DI_QI): Ditto. - (VOID_FTYPE_PV8HI_V8SI_QI): Ditto. - (VOID_FTYPE_PV8HI_V4SI_QI): Ditto. - (VOID_FTYPE_PV4DF_V4DF_QI): Ditto. - (VOID_FTYPE_PV2DF_V2DF_QI): Ditto. - (VOID_FTYPE_PV16SF_V16SF_HI): Ditto. - (VOID_FTYPE_PV8SF_V8SF_QI): Ditto. - (VOID_FTYPE_PV4SF_V4SF_QI): Ditto. - (VOID_FTYPE_PV8DI_V8DI_QI): Ditto. - (VOID_FTYPE_PV4DI_V4DI_QI): Ditto. - (VOID_FTYPE_PV2DI_V2DI_QI): Ditto. - (VOID_FTYPE_PV16SI_V16SI_HI): Ditto. - (VOID_FTYPE_PV16HI_V16SI_HI): Ditto. - (VOID_FTYPE_PV16QI_V16SI_HI): Ditto. - (VOID_FTYPE_PV16QI_V8SI_QI): Ditto. - (VOID_FTYPE_PV16QI_V4SI_QI): Ditto. - (VOID_FTYPE_PV16QI_V8DI_QI): Ditto. - (VOID_FTYPE_PV16QI_V4DI_QI): Ditto. - (VOID_FTYPE_PV16QI_V2DI_QI): Ditto. - (VOID_FTYPE_PV8SI_V8SI_QI): Ditto. - (VOID_FTYPE_PV4SI_V4SI_QI): Ditto. - (VOID_FTYPE_PV32HI_V32HI_SI): Ditto. - (VOID_FTYPE_PV16HI_V16HI_HI): Ditto. - (VOID_FTYPE_PV8HI_V8HI_QI): Ditto. - (VOID_FTYPE_PV64QI_V64QI_DI): Ditto. - (VOID_FTYPE_PV32QI_V32QI_SI): Ditto. - (VOID_FTYPE_PV16QI_V16QI_HI): Ditto. - (V8DI_FTYPE_V8DI_V8DI_V8DI_INT_QI): Ditto. - (V8SI_FTYPE_V8SF_V8SI_QI): Ditto. - (V4SI_FTYPE_V4SF_V4SI_QI): Ditto. - (V4DI_FTYPE_V4SF_V4DI_QI): Ditto. - (V2DI_FTYPE_V4SF_V2DI_QI): Ditto. - (V4SF_FTYPE_V4DI_V4SF_QI): Ditto. - (V4SF_FTYPE_V2DI_V4SF_QI): Ditto. - (V4DF_FTYPE_V4DI_V4DF_QI): Ditto. - (V2DF_FTYPE_V2DI_V2DF_QI): Ditto. - (V32HI_FTYPE_V32HI_INT_V32HI_SI): Ditto. - (V32HI_FTYPE_V32HI_V8HI_V32HI_SI): Ditto. - (V16HI_FTYPE_V16HI_INT_V16HI_HI): Ditto. - (V16HI_FTYPE_V16HI_V8HI_V16HI_HI): Ditto. - (V8HI_FTYPE_V8HI_INT_V8HI_QI): Ditto. - (V32HI_FTYPE_V64QI_V64QI_INT_V32HI_SI): Ditto. - (V16HI_FTYPE_V32QI_V32QI_INT_V16HI_HI): Ditto. - (V8HI_FTYPE_V16QI_V16QI_INT_V8HI_QI): Ditto. - (V64QI_FTYPE_V32HI_V32HI_V64QI_DI): Ditto. - (V32QI_FTYPE_V16HI_V16HI_V32QI_SI): Ditto. - (V16QI_FTYPE_V8HI_V8HI_V16QI_HI): Ditto. - (V32HI_FTYPE_V16SI_V16SI_V32HI_SI): Ditto. - (V16HI_FTYPE_V8SI_V8SI_V16HI_HI): Ditto. - (V8HI_FTYPE_V4SI_V4SI_V8HI_QI): Ditto. - (V8DI_FTYPE_V16SI_V16SI_V8DI_QI): Ditto. - (V4DI_FTYPE_V8SI_V8SI_V4DI_QI): Ditto. - (V2DI_FTYPE_V4SI_V4SI_V2DI_QI): Ditto. - (V16SI_FTYPE_V16SI_V16SI_V16SI_INT_HI): Ditto. - (V8SI_FTYPE_V8SI_V8SI_V8SI_INT_QI): Ditto. - (V4DI_FTYPE_V4DI_V4DI_V4DI_INT_QI): Ditto. - (V4SI_FTYPE_V4SI_V4SI_V4SI_INT_QI): Ditto. - (V2DI_FTYPE_V2DI_V2DI_V2DI_INT_QI): Ditto. - (V8SI_FTYPE_V8SI_V4SI_V8SI_QI): Ditto. - (V4DI_FTYPE_V4DI_V2DI_V4DI_QI): Ditto. - (QI_FTYPE_V4DF_V4DF_INT_QI): Ditto. - (QI_FTYPE_V8SF_V8SF_INT_QI): Ditto. - (QI_FTYPE_V8DF_INT_QI): Ditto. - (QI_FTYPE_V4DF_INT_QI): Ditto. - (QI_FTYPE_V2DF_INT_QI): Ditto. - (HI_FTYPE_V16SF_INT_HI): Ditto. - (QI_FTYPE_V8SF_INT_QI): Ditto. - (QI_FTYPE_V4SF_INT_QI): Ditto. - (V8DF_FTYPE_V8DF_V8DF_V8DF_QI_INT): Ditto. - -2015-07-31 Richard Biener - - * gimple-fold.c (fold_gimple_assign): Remove folding of - GIMPLE_BINARY_RHS. - -2015-07-31 Tom de Vries - - PR tree-optimization/66846 - * omp-low.c (expand_omp_taskreg) [ENABLE_CHECKING]: Call - verify_loop_structure for child_cfun if !LOOPS_NEED_FIXUP. - (expand_omp_target) [ENABLE_CHECKING]: Same. - (execute_expand_omp) [ENABLE_CHECKING]: Call verify_loop_structure for - cfun if !LOOPS_NEED_FIXUP. - (expand_omp_for_static_nochunk): Handle simple latch bb. Handle case - that omp_for already has its own loop struct. - * tree-parloops.c (create_phi_for_local_result) - (create_call_for_reduction): Handle simple latch bb. - (create_parallel_loop): Add simple latch bb to preserve - LOOPS_HAVE_SIMPLE_LATCHES. Record new exit. Handle simple latch bb. - (gen_parallel_loop): Remove call to cancel_loop_tree. - (parallelize_loops): Skip loops that are inner loops of parallelized - loops. - (pass_parallelize_loops::execute) [ENABLE_CHECKING]: Call - verify_loop_structure. - -2015-07-30 Anatoly Sokolov - - * config/v850/v850.h (LIBCALL_VALUE): Remove macros. - * config/v850/v850.md (RV_REGNUM): New constants. - * config/v850/v850.c (v850_libcall_value): New functions. - (v850_function_value_regno_p, v850_function_value): Use RV_REGNUM. - (TARGET_LIBCALL_VALUE): Define. - -2015-07-30 Anatoly Sokolov - - * rtl.h (lowpart_subreg): Move in file. - * loop-iv.c (lowpart_subreg): Move to... - * simplify-rtx.c (lowpart_subreg): ...here. - (simplify_binary_operation_1): Use lowpart_subreg instead of - simplify_gen_subreg. - * expr.c (expand_expr_real_2): Ditto. - * emit-rtl.c (gen_lowpart_common): Ditto. - * combine.c (gen_lowpart_for_combine): Ditto. - * cfgexpand.c (convert_debug_memory_address, expand_debug_expr, - expand_debug_source_expr): Ditto. - -2015-07-30 Richard Sandiford - - * builtins.c (HAVE_atomic_clear, gen_atomic_clear): Delete. - (expand_builtin_atomic_clear): Remove support for atomic_clear - pattern. - -2015-07-30 Richard Biener - - * gimple-fold.c (fold_gimple_assign): Only fold !tcc_comparison - binaries. Move X == 0, X == 1, X != 0, and X != 1 canonicalization ... - (fold_stmt_1): ... here and work on GIMPLE directly. Remove - redundant operand canonicalization. - -2015-07-30 David Sherwood - - * config/aarch64/aarch64-simd.md (aarch64_ext): Replace call to - GET_MODE_SIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_SIZE (m). - * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Likewise. - * config/arm/arm.c (neon_valid_immediate): Likewise. - * config/i386/i386.c (classify_argument, ix86_expand_int_vcond) - (expand_vec_perm_blend, expand_vec_perm_pshufb): Likewise. - (expand_vec_perm_pshufb2, expand_vec_perm_vpshufb2_vpermq): Likewise. - (expand_vec_perm_vpshufb2_vpermq): Likewise. - (expand_vec_perm_vpshufb2_vpermq_even_odd): Likewise. - (expand_vec_perm_vpshufb4_vpermq2): Likewise. - * config/i386/sse.md - (_vinsert_mask): Likewise. - (*ssse3_palignr_perm): Likewise. - * config/rs6000/rs6000.c (rs6000_complex_function_value): Likewise. - * config/spu/spu.c (arith_immediate_p): Likewise. - * simplify-rtx.c (simplify_const_unary_operation): Likewise. - (simplify_binary_operation_1, simplify_ternary_operation): Likewise. - -2015-07-30 Richard Biener - - * genmatch.c (decision_tree::gen_gimple): Merge with ... - (decision_tree::gen_generic): ... this into ... - (decision_tree::gen): ... this. - (main): Adjust callers. - -2015-07-30 Richard Biener - - * genmatch.c (verbose): New global. - (warning_at): Add overload with source_location. - (capture_info::capture_info): Add bool whether generating gimple - or generic. Add gimple member. - (capture_info::cinfo): Add capture member. - (capture_info::walk_match): Record capture. Warn on - non-captured leafs. - (capture_info::walk_c_expr): Add more fragments captures cannot - escape through. Warn on escaped captures. - (dt_simplify::gen_1): Warn on operands we force to have no - side-effects. - (main): Initialize verbose. - * match.pd: Add integer_nonzerop and HONOR_NANS predicates. - -2015-07-30 Richard Biener - - PR middle-end/67053 - * match.pd: Allow both operands to independently have conversion - when simplifying compares of addresses. - -2015-07-29 Segher Boessenkool - - PR target/66217 - PR target/67045 - * config/rs6000/rs6000.md (and3): Put a CONST_INT_P check - around those cases that need one. - -2015-07-29 Aditya Kumar - - * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Default to 3. - -2015-07-29 H.J. Lu - - * config/i386/iamcu.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE): - New. Copied from config/i386/gnu-user.h. - (ASM_COMMENT_START): Likewise. - (DBX_REGISTER_NUMBER): Likewise. - -2015-07-29 Richard Biener - - * gimple-fold.c (fold_gimple_cond): Remove. - (fold_stmt_1): Do not call it. - -2015-07-29 Alan Lawrence - - * config/aarch64/aarch64-builtins.c (aarch64_fp16_type_node): New. - (aarch64_init_builtins): Make aarch64_fp16_type_node, use for __fp16. - - * config/aarch64/aarch64-modes.def: Add HFmode. - - * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define - __ARM_FP16_FORMAT_IEEE and __ARM_FP16_ARGS. Set bit 1 of __ARM_FP. - - * config/aarch64/aarch64.c (aarch64_init_libfuncs, - aarch64_promoted_type): New. - - (aarch64_float_const_representable_p): Disable HFmode. - (aarch64_mangle_type): Mangle half-precision floats to "Dh". - (TARGET_PROMOTED_TYPE): Define to aarch64_promoted_type. - (TARGET_INIT_LIBFUNCS): Define to aarch64_init_libfuncs. - - * config/aarch64/aarch64.md (mov): Include HFmode using GPF_F16. - (movhf_aarch64, extendhfsf2, extendhfdf2, truncsfhf2, truncdfhf2): New. - - * config/aarch64/iterators.md (GPF_F16): New. - -2015-07-29 Richard Biener - - * match.pd: Merge address comparison patterns and make them - handle some more cases. - -2015-07-29 Richard Biener - - * genmatch.c (c_expr::gen_transform): Error on unknown captures. - (parser::parse_capture): Add bool argument on whether to reject - unknown captures. - (parser::parse_expr): Adjust. - (parser::parse_op): Likewise. - (parser::parse_pattern): Likewise. - -2015-07-29 Richard Biener - - * gimple-fold.c (has_use_on_stmt): New function. - (replace_stmt_with_simplification): Use it to allow - abnormals originally referenced in the stmt. - (fold_stmt_1): Canonicalize operand order. - -2015-07-28 David Sherwood - - * config/arm/arm.c (neon_element_bits, neon_valid_immediate): Call - GET_MODE_INNER unconditionally. - * config/spu/spu.c (arith_immediate_p): Likewise. - * config/i386/i386.c (ix86_build_signbit_mask): Likewise. - * expmed.c (synth_mult): Remove check for VOIDmode result from - GET_MODE_INNER. - (expand_mult_const): Likewise. - * fold-const.c (fold_binary_loc): Replace call to element_precision - with call to GET_MODE_PRECISION. - * genmodes.c (emit_mode_inner_inline): Replace void_mode->name with - m->name. - (emit_mode_inner): Likewise. - * lto-streamer-out.c (lto_write_mode_table): Update GET_MODE_INNER - result check. - * machmode.h (GET_MODE_UNIT_SIZE): Simplify. - (GET_MODE_UNIT_PRECISION): Likewise. - * rtlanal.c (subreg_get_info): Call GET_MODE_INNER unconditionally. - * simplify-rtx.c (simplify_immed_subreg): Likewise. - * stor-layout.c (bitwise_type_for_mode): Update assert. - (element_precision): Remove. - -2015-07-28 Richard Sandiford - - * target-insns.def (reload_load_address): New targetm instruction - pattern. - * reload1.c (gen_reload): Use it instead of HAVE_*/gen_* interface. - -2015-07-28 Richard Sandiford - - * target-insns.def (atomic_test_and_set): New targetm instruction - pattern. - * optabs.c (maybe_emit_atomic_test_and_set): Use it instead of - HAVE_*/gen_* interface. - -2015-07-28 Richard Sandiford - - * target-insns.def (can_extend, ptr_extend): New targetm instruction - patterns. - * optabs.c (can_extend_p): Use them instead of HAVE_*/gen_* interface. - * simplify-rtx.c (simplify_unary_operation_1): Likewise. - * emit-rtl.c (set_reg_attrs_from_value): Likewise. - * rtlanal.c (nonzero_bits1): Likewise. - (num_sign_bit_copies1): Likewise. - -2015-07-28 Richard Sandiford - - * target-insns.def (eh_return): New targetm instruction pattern. - * except.c (expand_eh_return): Use it instead of HAVE_*/gen_* - interface. - * function.c (thread_prologue_and_epilogue_insns): Remove - preprocessor condition. - -2015-07-28 Richard Sandiford - - * target-insns.def (indirect_jump): New targetm instruction pattern. - * optabs.c (emit_indirect_jump): Use it instead of HAVE_*/gen_* - interface. - -2015-07-28 Richard Sandiford - - * config/fr30/fr30.md (indirect_jump): Use pmode_register_operand - instead of nonimmediate_operand. Remove C condiition. - -2015-07-28 Richard Biener - - * match.pd: Add more simplification of address comparisons. - -2015-07-28 Richard Biener - - * match.pd: Re-order two cases in comparison with max/min - value simplification to make it apply for bools. - -2015-07-28 Kyrylo Tkachov - - * config/aarch64/aarch64.c (aarch64_rtx_arith_op_extract_p): - Handle simple SIGN_EXTEND or ZERO_EXTEND. - (aarch64_rtx_costs): Properly strip extend or extract before - passing down to rtx costs again. - -2015-07-28 Nick Clifton - - * config/rl78/rl78.c (rl78_addsi3_internal): New function. - Optimizes the case where -mes0 is active and a constant symbolic - address is used. - * config/rl78/rl78-protos.h: Prototype the new function. - * config/rl78/rl78.md (addsi3_internal_real): Call new function. - -2015-07-28 Tom de Vries - - * tree-parloops.c (reduc_stmt_res): New function. - (initialize_reductions, add_field_for_reduction) - (create_phi_for_local_result, create_loads_for_reductions) - (create_stores_for_reduction, build_new_reduction): Handle case that - reduc_stmt is a phi. - (gather_scalar_reductions): Allow double_reduc reductions. - -2015-07-28 Richard Biener - - * fold-const.c (fold_comparison): Remove equality folding - of decl addresses ... - * match.pd: ... here and merge with existing pattern. - -2015-07-28 Thomas Preud'homme - - PR tree-optimization/66828 - * tree-ssa-math-opts.c (perform_symbolic_merge): Change type of inc - from int64_t to uint64_t. - -2015-07-28 Dominik Vogt - - * opts-common.c (read_cmdline_option): List DriverOnly enum values - as valid only in the error message of the driver, not in the - messages of the language compilers. - -2015-07-27 Tom de Vries - - * tree-parloops.c (gather_scalar_reductions): Simplify function - structure. - -2015-07-27 Marek Polacek - - * ipa-devirt.c (types_same_for_odr): Fix typo. - -2015-07-27 Jason Merrill - - PR debug/66468 - * dwarf2out.c (gen_inlined_subroutine_die): Check - cgraph_function_possibly_inlined_p. - -2015-07-27 Wilco Dijkstra - - * config/aarch64/aarch64.md (aarch64_lshr_sisd_or_int_3): - Place integer variant first. - (aarch64_ashr_sisd_or_int_3): Likewise. - -2015-07-27 Alan Lawrence - - PR/63870 - * config/arm/arm-builtins.c (enum arm_builtins): - Add ARM_BUILTIN_NEON_BASE and ARM_BUILTIN_NEON_LANE_CHECK. - (ARM_BUILTIN_NEON_BASE): Rename macro to.... - (ARM_BUILTIN_NEON_PATTERN_START): ...this. - (arm_init_neon_builtins): Register __builtin_arm_lane_check. - (arm_expand_neon_builtin): Handle ARM_BUILTIN_NEON_LANE_CHECK. - -2015-07-27 Alan Lawrence - - PR/63870 - * config/arm/arm-builtins.c (enum arm_type_qualifiers): - Add qualifier_lane_index. - (arm_binop_imm_qualifiers, BINOP_IMM_QUALIFIERS): New. - (arm_getlane_qualifiers): Use qualifier_lane_index. - (arm_lanemac_qualifiers): Rename to... - (arm_mac_n_qualifiers): ...this. - (LANEMAC_QUALIFIERS): Rename to... - (MAC_N_QUALIFIERS): ...this. - (arm_mac_lane_qualifiers, MAC_LANE_QUALIFIERS): New. - (arm_setlane_qualifiers): Use qualifier_lane_index. - (arm_ternop_imm_qualifiers, TERNOP_IMM_QUALIFIERS): New. - (enum builtin_arg): Add NEON_ARG_LANE_INDEX. - (arm_expand_neon_args): Handle NEON_ARG_LANE_INDEX. - (arm_expand_neon_builtin): Handle qualifier_lane_index. - - * config/arm/arm-protos.h (neon_lane_bounds): Add const_tree parameter. - * config/arm/arm.c (bounds_check): Likewise, improve error message. - (neon_lane_bounds, neon_const_bounds): Add arguments to bounds_check. - * config/arm/arm_neon_builtins.def (vshrs_n, vshru_n, vrshrs_n, - vrshru_n, vshrn_n, vrshrn_n, vqshrns_n, vqshrnu_n, vqrshrns_n, - vqrshrnu_n, vqshrun_n, vqrshrun_n, vshl_n, vqshl_s_n, vqshl_u_n, - vqshlu_n, vshlls_n, vshllu_n): Change qualifiers to BINOP_IMM. - (vsras_n, vsrau_n, vrsras_n, vrsrau_n, vsri_n, vsli_n): Change - qualifiers to TERNOP_IMM. - (vdup_lane): Change qualifiers to GETLANE. - (vmla_lane, vmlals_lane, vmlalu_lane, vqdmlal_lane, vmls_lane, - vmlsls_lane, vmlslu_lane, vqdmlsl_lane): Change qualifiers to MAC_LANE. - (vmla_n, vmlals_n, vmlalu_n, vqdmlal_n, vmls_n, vmlsls_n, vmlslu_n, - vqdmlsl_n): Change qualifiers to MAC_N. - - * config/arm/neon.md (neon_vget_lane, neon_vget_laneu, - neon_vget_lanedi, neon_vget_lanev2di, neon_vset_lane, - neon_vset_lanedi, neon_vdup_lane, neon_vdup_lanedi, - neon_vdup_lanev2di, neon_vmul_lane, neon_vmul_lane, - neon_vmull_lane, neon_vqdmull_lane, - neon_vqdmulh_lane, neon_vqdmulh_lane, - neon_vmla_lane, neon_vmla_lane, neon_vmlal_lane, - neon_vqdmlal_lane, neon_vmls_lane, neon_vmls_lane, - neon_vmlsl_lane, neon_vqdmlsl_lane): - Remove call to neon_lane_bounds. - -2015-07-27 Wilco Dijkstra - - * config/aarch64/aarch64.md (aarch64_ashl_sisd_or_int_3): - Place integer variant first. - -2015-07-27 Matthew Wahab - - * config/arm/arm-arches.def: Add "armv6kz". Replace 6ZK with 6KZ - and FL_FOR_ARCH6ZK with FL_FOR_ARCH6KZ. - * config/arm/arm-c.c (arm_cpu_builtins): Emit "__ARM_ARCH_6ZK__" - for armv6kz targets. - * config/arm/arm-cores.def: Replace 6ZK with 6KZ. - * config/arm/arm-protos.h (FL_ARCH6KZ): New. - (FL_FOR_ARCH6ZK): Remove. - (FL_FOR_ARCH6KZ): New. - (arm_arch6zk): New declaration. - * config/arm/arm-tables.opt: Regenerate. - * config/arm/arm.c (arm_arch6kz): New. - (arm_option_override): Set arm_arch6kz. - * config/arm/arm.h (BASE_ARCH_6ZK): Rename to BASE_ARCH_6KZ. - * config/arm/driver-arm.c: Add comment to "armv6zk" entry. - * doc/invoke.texi: Replace "armv6zk" with "armv6kz". - -2015-07-27 Marek Polacek - - PR c++/66555 - PR c/54979 - * doc/invoke.texi: Document -Wtautological-compare. - -2015-07-27 Richard Biener - - * genmatch.c (decision_tree::gen_gimple): Split out large - subtrees into separate functions. - (decision_tree::gen_generic): Likewise. - -2015-07-26 Uros Bizjak - - * config/alpha/alpha.c: Use SUBREG_P predicate. - * config/alpha/predicates.md: Ditto. - -2015-07-25 Dominik Vogt - - * config.host (s390*-*-*): Include driver-native.c only when - building with s390* as host *and* target. - -2015-07-25 Oleg Endo - - PR target/66930 - * config/sh/sh.c (sh_split_movrt_negc_to_movt_xor): Add missing - T bit register modified_between_p check. - -2015-07-25 Uros Bizjak - - * config/i386/i386.c: Use SUBREG_P predicate. - * config/i386/i386.md: Ditto. - * config/i386/sse.md: Ditto. - * config/i386/predicates.md: Ditto. - -2015-07-25 Uros Bizjak - - PR target/67004 - * config/i386/i386.h (ADJUST_INSN_LENGTH): Use NONDEBUG_INSN_P (INSN) - predicate and INSN_CODE (INSN) >= 0 to check for valid instruction. - -2015-07-25 Sebastian Pop - - * Makefile.in: Remove use of TREEBROWSER. - * config.in: Regenerated. - * configure: Regenerated. - * configure.ac: Remove definition of TREEBROWSER. - * tree-browser.c: Removed. - * tree-browser.def: Removed. - -2015-07-25 Sebastian Pop - - * graphite-scop-detection.c: Include gimple-pretty-print.h. - (stmt_simple_for_scop_p): Print when a stmt is not handled in - Graphite. - (scopdet_basic_block_info): Print when a loop or bb cannot be - represented in Graphite. - -2015-07-25 Uros Bizjak - - PR target/66648 - * config/i386/i386.c (ix86_expand_set_or_movmem): Emit main loop - execution guard when min_size is less than size_needed. - -2015-07-25 Sebastian Pop - - * doc/install.texi: Document supported versions of ISL. - -2015-07-25 Jeff Law - - Revert: - PR lto/66752 - * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are - unable to find X NE 0 in the tables, return X as the simplified - condition. - (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are - in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH - to VISISTED_BBS. */ - * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags - after removing the control flow statement and unnecessary edges. - -2015-07-25 David Edelsohn - - Revert: - 2015-07-23 Alexandre Oliva - - PR rtl-optimization/64164 - * Makefile.in (OBJS): Drop tree-ssa-copyrename.o. - * tree-ssa-copyrename.c: Removed. - * opts.c (default_options_table): Drop -ftree-copyrename. Add - -ftree-coalesce-vars. - * passes.def: Drop all occurrences of pass_rename_ssa_copies. - * common.opt (ftree-copyrename): Ignore. - (ftree-coalesce-inlined-vars): Likewise. - * doc/invoke.texi: Remove the ignored options above. - * gimple-expr.h (gimple_can_coalesce_p): Move declaration - * tree-ssa-coalesce.h: ... here. - * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other - headers required by it. - * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing - across variables when flag_tree_coalesce_vars. Check register - use and promoted modes to allow coalescing. Moved to - tree-ssa-coalesce.c. - * tree-ssa-live.c (struct tree_int_map_hasher): Move along - with its member functions to tree-ssa-coalesce.c. - (var_map_base_init): Likewise. Renamed to - compute_samebase_partition_bases. - (partition_view_normal): Drop want_bases parameter. - (partition_view_bitmap): Likewise. - * tree-ssa-live.h: Adjust declarations. - * tree-ssa-coalesce.c: Include explow.h. - (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's - default defs at the entry point. - (dump_part_var_map): New. - (compute_optimized_partition_bases): New, called by... - (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead - of compute_samebase_partition_bases. Adjust. - * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs. - * cfgexpand.c (leader_merge): New. - (get_rtl_for_parm_ssa_default_def): New. - (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA - vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too. - (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop - redundant MEM attr setting. - (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed - from... - (expand_one_stack_var): ... this. New wrapper to check and - skip already expanded SSA partitions. - (record_alignment_for_reg_var): New, factored out of... - (expand_one_var): ... this. - (expand_one_ssa_partition): New. - (adjust_one_expanded_partition_var): New. - (expand_one_register_var): Check and skip already expanded SSA - partitions. - (expand_used_vars): Don't create DECLs for anonymous SSA - names. Expand all SSA partitions, then adjust all SSA names. - (pass::execute): Replace the loops that set - SA.partition_to_pseudo from partition leaders and cleared - DECL_RTL for multi-location variables, and that which used to - rename vars and set attrs, with one that clears DECL_RTL and - checks that PARMs and RESULTs default_defs match DECL_RTL. - * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare. - * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl. - * explow.c (promote_ssa_mode): New. - * explow.h (promote_ssa_mode): Declare. - * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs. - * function.c: Include cfgexpand.h. - (use_register_for_decl): Handle SSA_NAMEs, anonymous or not. - (use_register_for_parm_decl): Wrapper for the above to - special-case the result_ptr. - (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def. - (split_complex_args): Take assign_parm_data_all argument. - Pass it to rtl_for_parm. Set up rtl and context for split - args. - (assign_parms_augmented_arg_list): Adjust. - (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with - multiple locations. Recognize split complex args. - (assign_parm_adjust_stack_rtl): Add all and parm arguments, - for rtl_for_parm. For SSA-assigned parms, zero stack_parm. - (assign_parm_setup_block): Prefer SSA-assigned location. - (assign_parm_setup_reg): Likewise. Use entry_parm for equiv - if stack_parm is NULL. - (assign_parm_setup_stack): Prefer SSA-assigned location. - (assign_parms): Maybe reset DECL_RTL of params. Adjust stack - rtl before testing for pointer bounds. Special-case result_ptr. - (expand_function_start): Maybe reset DECL_RTL of result. - Prefer SSA-assigned location for result and static chain. - Factor out DECL_RESULT and SET_DECL_RTL. - * tree-outof-ssa.c (insert_value_copy_on_edge): Handle - anonymous SSA names. Use promote_ssa_mode. - (get_temp_reg): Likewise. - (remove_ssa_form): Adjust. - * stor-layout.c (layout_decl): Don't set mem attributes of - non-MEMs. - * var-tracking.c (dataflow_set_clear_at_call): Take call_insn - and get its reg_usage for reg invalidation. - (compute_bb_dataflow): Pass it insn. - (emit_notes_in_bb): Likewise. - -2015-07-25 Uros Bizjak - - * config/i386/i386.c (ix86_va_start): Remove - unneeded !TARGET_64BIT check. - (ix86_gimplify_va_arg): Ditto. - -2015-07-24 Tom de Vries - - * graphite-sese-to-poly.c (build_poly_scop): Always call - rewrite_commutative_reductions_out_of_ssa. - -2015-07-24 Tom de Vries - - * graphite-sese-to-poly.c (is_reduction_operation_p): Limit - flag_associative_math to FLOAT_TYPE_P. Honour - TYPE_OVERFLOW_WRAPS for INTEGRAL_TYPE_P. Don't allow any other types. - -2015-07-24 Manuel López-Ibáñez - - PR c++/64079 - * toplev.c (check_global_declaration): Use DECL_SOURCE_LOCATION - and "%qD" in warning_at instead of "%q+D" in warning. - -2015-07-24 Uros Bizjak - - * config/i386/i386.c (ix86_call_abi_override): Call ix86_function_abi. - (ix86_function_abi): Cleanup. - -2015-07-24 Michael Darling - - PR other/66259 - * acinclude.m4: Reflects renaming of configure.in to configure.ac - * configure: Likewise - * configure.ac: Likewise - * doc/install.texi: Likewise - * doc/tm.texi: Likewise - * doc/tm.texi.in: Likewise - -2015-07-24 Kyrylo Tkachov - - * alias.c (nonoverlapping_memrefs_p): Use std::swap instead of - manually swapping values. - * cse.c (fold_rtx): Likewise. - * lra-eliminations.c (form_sum): Likewise. - -2015-07-24 Uros Bizjak - - PR target/64003 - * config/i386/i386.h (ADJUST_INSN_LENGTH): New define. - * config/i386/i386.md (maybe_prefix_bnd): New attribute. - (*jcc_1, *jcc_2, jump, simple_return_internal) - (simple_return_pop_internal): Set attribute maybe_prefix_bnd. - Set length_nobnd attribute instead of length attribute. - (indirect_jump, *tablejump_1): Set attribute maybe_prefix_bnd. - (length_nobnd): Remove attribute. - (length): Remove length_nobnd processing. - -2015-07-24 Nathan Sidwell - - * gimplify.c (omp_default_clause): New function. Reorganize flow - for clarity. Broken out of ... - (omp_notice_variable): ... here. - -2015-07-24 Gary Funck - - PR middle-end/66984 - * fold-const.c (fold_binary_loc): Call fold_convert on arguments to - fold_build2 for CEIL_DIV_EXPR and FLOOR_DIV_EXPR optimization. - -2015-07-24 Tom de Vries - - * tree-parloops.c (gen_parallel_loop): Add debug print for alternative - exit-first loop transform. - -2015-07-24 Cesar Philippidis - - PR 66714 - * tree-cfg.c (struct replace_decls_d): New struct. - (replace_block_vars_by_duplicates_1): New function. - (replace_block_vars_by_duplicates): Use it to replace the decls - in the value exprs by duplicates. - -2015-07-24 Szabolcs Nagy - - * config/aarch64/aarch64-elf-raw.h (LINK_SPEC): Handle -h, -static, - -shared, -symbolic, -rdynamic. - -2015-07-24 Szabolcs Nagy - - PR target/65711 - * config/aarch64/aarch64-linux.h (LINUX_TARGET_LINK_SPEC): Move - -dynamic-linker within %{!static %{!shared, and -rdynamic within - %{!static. - -2015-07-24 Ilya Enkovich - - PR ipa/66566 - * ipa-inline-analysis.c (estimate_calls_size_and_time): Check - edge summary is available. - -2015-07-24 Richard Biener - - * genmatch.c (struct dt_node): Add statistic fields. - (dt_node::analyze): New method. - (decision_tree::gen_gimple): Call analyze on the root node - and print statistics to stderr. - (decision_tree::gen_generic): Likewise. - -2015-07-24 Richard Biener - - * fold-const.c (fold_binary_loc): Move simplifying of comparisons - against the highest or lowest possible integer ... - * match.pd: ... as patterns here. - -2015-07-24 Richard Biener - - * genmatch.c (struct capture_info): Add same_as field. - (capture_info::capture_info): Initialize same_as. - (capture_info::walk_match): Compute same_as. - (capture_info::walk_result): Compute stuff for the leader. - (capture_info::walk_c_expr): Likewise. - (dt_simplify::gen_1): Only look at leaders when deciding - to force no side-effects or emit side-effects of omitted operands. - -2015-07-24 Andreas Krebbel - - * config/s390/s390.c (s390_save_gprs_to_fprs): Add CFA_REGISTER - reg note to the GPR -> FPR save instructions. - -2015-07-24 Andreas Krebbel - - * config/s390/s390.c (s390_rtx_costs): Make risbg patterns - cheaper. - (s390_expand_insv): Don't generate risbg pattern for constant zero - sources. - * config/s390/s390.md ("*insv_zEC12_appendbitsleft") - ("*insv_z10_appendbitsleft"): New pattern definitions. New - splitters. - -2015-07-24 Dominik Vogt - - * config/s390/s390.c (s390_reorg): Clean up handling of processors - with - -mtune= - (s390_issue_rate): Likewise. - (s390_sched_reorder): Likewise. - (s390_sched_variable_issue): Likewise. - (s390_loop_unroll_adjust): Likewise. - (s390_option_override): Likewise. - -2015-07-24 Dominik Vogt - - * config/s390/driver-native.c (s390_host_detect_local_cpu): Handle - processor capabilities with -march=native. - * config/s390/s390.h (MARCH_MTUNE_NATIVE_SPECS): Likewise. - (DRIVER_SELF_SPECS): Likewise. Join specs for 31 and 64 bit. - (S390_TARGET_BITS_STRING): Macro to simplify specs. - -2015-07-24 Dominik Vogt - - * config/s390/s390.c (s390_issue_rate): Handle - PROCESSOR_2094_Z9_EC. - (s390_option_override): Likewise. - (s390_adjust_priority): Likewise. - -2015-07-24 Dominik Vogt - - * config/s390/s390.h: S390: Do not define EXTRA_SPEC_FUNCTIONS - when cross compiling. - -2015-07-24 Richard Biener - - * fold-const.c (maybe_canonicalize_comparison_1): Move - A code CST canonicalization ... - * match.pd: ... to a pattern here. - -2015-07-24 Jiong Wang - - Revert: - 2015-07-22 Jiong Wang - PR target/63521 - * config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define. - (HONOR_REG_ALLOC_ORDER): Define. - -2015-07-24 Richard Biener - - * genmatch.c (add_operator): Allow SSA_NAME as predicate. - * fold-const.c (fold_comparison): Move parameter does not - alias &local simplification ... - * match.pd: ... as a pattern here. - -2015-07-24 Richard Biener - - * gimple-fold.c (replace_stmt_with_simplification): Special-case - valueizing call operands. - * gimple-match-head.c (maybe_push_res_to_seq): Take - number of call arguments from ops array. - (do_valueize): New function. - (gimple_simplify): Return true if valueization changed - any operand even if the result didn't simplify further. - -2015-07-24 Naveen H.S - - PR middle-end/25530 - * match.pd (mult (trunc_div @0 integer_pow2p@1) @1) : New simplifier. - -2015-07-24 Naveen H.S - - PR middle-end/25529 - * match.pd (trunc_div (mult @0 integer_pow2p@1) @1) : New simplifier. - -2015-07-23 Kugan Vivekanandarajah - - * config/arm/arm.c (arm_emit_movpair): Add REG_EQUAL notes to - instruction. - -2015-07-23 Kugan Vivekanandarajah - - * cse.c (cse_insn): Fix missing check for STRICT_LOW_PART and minor - clean up. - -2015-07-23 Uros Bizjak - - * config/i386/i386.c (ix86_build_builtin_va_list_64): Rename - from ix86_build_builtin_va_list_abi. Handle only 64bit non-MS_ABI - targets here. - (ix86_build_builtin_va_list): Rewrite sysv_va_list_type_node and - ms_va_list_type_node initialization. - -2015-07-23 Jeff Law - - PR lto/66752 - * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are - unable to find X NE 0 in the tables, return X as the simplified - condition. - (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are - in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH - to VISISTED_BBS. */ - * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags - after removing the control flow statement and unnecessary edges. - -2015-07-23 Bernd Edlinger - - * tree-pass.h (get_current_pass_name): Removed. - -2015-07-23 Alexandre Oliva - - PR rtl-optimization/64164 - * Makefile.in (OBJS): Drop tree-ssa-copyrename.o. - * tree-ssa-copyrename.c: Removed. - * opts.c (default_options_table): Drop -ftree-copyrename. Add - -ftree-coalesce-vars. - * passes.def: Drop all occurrences of pass_rename_ssa_copies. - * common.opt (ftree-copyrename): Ignore. - (ftree-coalesce-inlined-vars): Likewise. - * doc/invoke.texi: Remove the ignored options above. - * gimple-expr.h (gimple_can_coalesce_p): Move declaration - * tree-ssa-coalesce.h: ... here. - * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other - headers required by it. - * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing - across variables when flag_tree_coalesce_vars. Check register - use and promoted modes to allow coalescing. Moved to - tree-ssa-coalesce.c. - * tree-ssa-live.c (struct tree_int_map_hasher): Move along - with its member functions to tree-ssa-coalesce.c. - (var_map_base_init): Likewise. Renamed to - compute_samebase_partition_bases. - (partition_view_normal): Drop want_bases parameter. - (partition_view_bitmap): Likewise. - * tree-ssa-live.h: Adjust declarations. - * tree-ssa-coalesce.c: Include explow.h. - (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's - default defs at the entry point. - (dump_part_var_map): New. - (compute_optimized_partition_bases): New, called by... - (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead - of compute_samebase_partition_bases. Adjust. - * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs. - * cfgexpand.c (leader_merge): New. - (get_rtl_for_parm_ssa_default_def): New. - (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA - vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too. - (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop - redundant MEM attr setting. - (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed - from... - (expand_one_stack_var): ... this. New wrapper to check and - skip already expanded SSA partitions. - (record_alignment_for_reg_var): New, factored out of... - (expand_one_var): ... this. - (expand_one_ssa_partition): New. - (adjust_one_expanded_partition_var): New. - (expand_one_register_var): Check and skip already expanded SSA - partitions. - (expand_used_vars): Don't create DECLs for anonymous SSA - names. Expand all SSA partitions, then adjust all SSA names. - (pass::execute): Replace the loops that set - SA.partition_to_pseudo from partition leaders and cleared - DECL_RTL for multi-location variables, and that which used to - rename vars and set attrs, with one that clears DECL_RTL and - checks that PARMs and RESULTs default_defs match DECL_RTL. - * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare. - * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl. - * explow.c (promote_ssa_mode): New. - * explow.h (promote_ssa_mode): Declare. - * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs. - * function.c: Include cfgexpand.h. - (use_register_for_decl): Handle SSA_NAMEs, anonymous or not. - (use_register_for_parm_decl): Wrapper for the above to - special-case the result_ptr. - (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def. - (split_complex_args): Take assign_parm_data_all argument. - Pass it to rtl_for_parm. Set up rtl and context for split - args. - (assign_parms_augmented_arg_list): Adjust. - (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with - multiple locations. Recognize split complex args. - (assign_parm_adjust_stack_rtl): Add all and parm arguments, - for rtl_for_parm. For SSA-assigned parms, zero stack_parm. - (assign_parm_setup_block): Prefer SSA-assigned location. - (assign_parm_setup_reg): Likewise. Use entry_parm for equiv - if stack_parm is NULL. - (assign_parm_setup_stack): Prefer SSA-assigned location. - (assign_parms): Maybe reset DECL_RTL of params. Adjust stack - rtl before testing for pointer bounds. Special-case result_ptr. - (expand_function_start): Maybe reset DECL_RTL of result. - Prefer SSA-assigned location for result and static chain. - Factor out DECL_RESULT and SET_DECL_RTL. - * tree-outof-ssa.c (insert_value_copy_on_edge): Handle - anonymous SSA names. Use promote_ssa_mode. - (get_temp_reg): Likewise. - (remove_ssa_form): Adjust. - * stor-layout.c (layout_decl): Don't set mem attributes of - non-MEMs. - * var-tracking.c (dataflow_set_clear_at_call): Take call_insn - and get its reg_usage for reg invalidation. - (compute_bb_dataflow): Pass it insn. - (emit_notes_in_bb): Likewise. - -2015-07-23 Segher Boessenkool - - PR target/66217 - * config/rs6000/rs6000-protos.h (rs6000_emit_2insn_and): Change - prototype. - * config/rs6000/rs6000.c (rs6000_emit_dot_insn): New function. - (rs6000_emit_2insn_and): Handle dot forms. - * config/rs6000/rs6000.md (and3): Adjust. - (*and3_2insn): Remove TODO. Adjust. Add "type" attr. - (*and3_2insn_dot, *and3_2insn_dot2): New. - -2015-07-23 Richard Biener - - * generic-match-head.c: Include cgraph.h. - * gimple-match-head.c: Likewise. - * tree-ssa-sccvn.c (free_scc_vn): Guard against newly created - SSA names. - * fold-const.c (fold_binary_loc): Move &A ==/!= &B simplification... - * match.pd: ...to a pattern here. Add &A ==/!= 0 simplification - pattern. - -2015-07-23 Richard Biener - - * gimple-fold.c (fold_gimple_cond): Do not require folding - results to pass valid_gimple_rhs_p. - * tree-cfg.h (fold_cond_expr_cond): Remove. - * tree-cfg.c (fold_cond_expr_cond): Likewise. - (make_edges): Do not call it. - * tree-inline.c (tree_function_versioning): Likewise. - -2015-07-23 Tom de Vries - - * tree-parloops.c (gather_scalar_reductions): Add arg to call to - vect_force_simple_reduction. - * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Same. - (vect_is_simple_reduction_1): Add and handle - need_wrapping_integral_overflow parameter. - (vect_is_simple_reduction, vect_force_simple_reduction): Add and pass - need_wrapping_integral_overflow parameter. - (vectorizable_reduction): Add arg to call to vect_is_simple_reduction. - * tree-vectorizer.h (vect_force_simple_reduction): Add parameter to - decl. - -2015-07-23 Yuri Rumyantsev - - PR tree-optimization/66926,66951 - * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Delete - INNER_LOOP and fix up condition for renaming virtual operands. - -2015-07-23 Kyrylo Tkachov - - * combine.c (try_combine): Use std::swap instead of manually - swapping. - -2015-07-23 Prachi Godbole - - * config/mips/i6400.md: New file. - * config/mips/mips-cpus.def (mips32r6): Change to PROCESSOR_I6400. - (mips64r6): Likewise. - (i6400): Define. - * config/mips/mips-tables.opt: Regenerate. - * config/mips/mips.c (mips_rtx_cost_data): Add I6400 processor. - (mips_issue_rate): Add support for i6400. - (mips_multipass_dfa_lookahead): Likewise. - * config/mips/mips.h (TUNE_I6400): Define. - * config/mips/mips.md: Include i6400.md. - (processor): Add i6400. - * doc/invoke.texi (-march=@var{arch}): Add i6400. - -2015-07-23 Richard Biener - - PR middle-end/66916 - * match.pd: Guard widen and sign-change comparison simplification - with single_use. - -2015-07-23 Richard Biener - - PR tree-optimization/66945 - * tree-ssa-propagate.c (substitute_and_fold_dom_walker - ::before_dom_children): Force the propagators idea of - non-executable edges to materialize, not what the folder - chooses. - -2015-07-23 Richard Biener - - * gimple.h (gimple_cond_make_false): Use 0 != 0. - (gimple_cond_make_true): Use 1 != 0. - -2015-07-22 DJ Delorie - - * config/msp430/t-msp430 (MULTILIB_DIRNAMES): Remove trailing - slashes. - - * config/msp430/msp430.md (ashlhi3): Optimize shifts of subregs. - (ashrhi3): Likewise. - (lshrhi3): Likewise. - (movhi): Take advantage of zero-extend to load small constants. - (movpsi): Likewise. - (and3): Likewise. - (zero_extendqihi2): Likewise. - (zero_extendqisi2): New. - * config/msp430/constraints.md (N,O): New. - * config/msp430/msp430.h (WORD_REGISTER_OPERATIONS): Define. - -2015-07-22 Uros Bizjak - - PR target/66954 - * config/i386/i386.c (get_builtin_code_for_version): Add P_AES - to enum feature_priority and feature_list. - (fold_builtin_cpu): Add F_AES to enum processor_features - and isa_names_table. - -2015-07-22 Ilya Enkovich - - PR driver/66737 - * config/i386/linux-common.h (MPX_SPEC): Use linker option - for 64bit target only. - -2015-07-22 Bernd Schmidt - - * config/nvptx/nvptx.c: Expand some comments. - -2015-07-22 James Greenhalgh - - * config/arm/cortex-a53 (cortex_53_advsimd): Rename to... - (cortex_a53_advsimd): ...This. - -2015-07-22 Richard Biener - - * genmatch.c (expr::gen_transform): Clarify error message - and display location. - -2015-07-22 Richard Biener - - * genmatch.c (struct operand): Add location member. - (predicate, expr, c_expr, capture, if_expr, with_expr): Adjust - constructors. - (struct simplify): Remove match_location and result_location - members. - (elsehwere): Adjust. - -2015-07-22 Prachi Godbole - - * config/mips/m5100.md: New file. - * config/mips/mips-cpus.def (m5100, m5101): Define. - * config/mips/mips-tables.opt: Regenerate. - * config/mips/mips.c (mips_rtx_cost_data): Add costs for m5100. - * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=m5100 and - -march=m5101 to -mips32r5. - (MIPS_ARCH_FLOAT_SPEC): Map -m5101 to -msoft-float. - (MIPS_ISA_NAN2008_SPEC): Map -march=m51* to -mnan=2008 if - !-msoft-float. - * config/mips/mips.md: Include m5100.md. - (processor): Add m5100. - * doc/invoke.texi (-march=@var{arch}): Add m5100, m5101. - -2015-07-22 Robert Suchanek - - * config/mips/mips-cpus.def (interaptiv): Define. - * config/mips/mips-tables.opt: Regenerate. - * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=interaptiv to - -mips32r2. - (BASE_DRIVER_SELF_SPECS): Likewise but map to -mdsp. - * doc/invoke.texi (-march=@var{arch}): Add interaptiv. - -2015-07-22 Jiong Wang - - PR target/63521 - * config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define. - (HONOR_REG_ALLOC_ORDER): Define. - -2015-07-22 Richard Biener - - PR tree-optimization/66952 - * tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): For - blocks we end up executing unconditionally reset all SSA - info such as range and alignment. - * tree-ssanames.h (reset_flow_sensitive_info): Declare. - * tree-ssanames.c (reset_flow_sensitive_info): New function. - -2015-07-22 Charles Baylis - - * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane): Fix - typo in attribute. - -2015-07-22 Richard Biener - - * genmatch.c (parser::parse_result): Properly handle - match with result operands and conditions. - -2015-07-22 Charles Baylis - - PR target/63870 - * config/aarch64/aarch64-builtins.c (enum aarch64_type_qualifiers): - Add qualifier_struct_load_store_lane_index. - (aarch64_types_loadstruct_lane_qualifiers): Use - qualifier_struct_load_store_lane_index for lane index argument for - last argument. - (aarch64_types_storestruct_lane_qualifiers): Ditto. - (builtin_simd_arg): Add SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX. - (aarch64_simd_expand_args): Add new argument describing mode of - builtin. Check lane bounds for arguments with - SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX. - (aarch64_simd_expand_builtin): Emit error for incorrect lane indices - if marked with SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX. - (aarch64_simd_expand_builtin): Handle arguments with - qualifier_struct_load_store_lane_index. Pass machine mode of builtin to - aarch64_simd_expand_args. - * config/aarch64/aarch64-simd-builtins.def: Declare ld[234]_lane and - vst[234]_lane with BUILTIN_VALLDIF. - * config/aarch64/aarch64-simd.md: - (aarch64_vec_load_lanesoi_lane): Use VALLDIF iterator. Perform - endianness reversal on lane index. - (aarch64_vec_load_lanesci_lane): Ditto. - (aarch64_vec_load_lanesxi_lane): Ditto. - (vec_store_lanesoi_lane): Use VALLDIF iterator. - (vec_store_lanesci_lane): Ditto. - (vec_store_lanesxi_lane): Ditto. - (aarch64_ld2_lane): Use VALLDIF iterator. Remove endianness - reversal of lane index. - (aarch64_ld3_lane): Ditto. - (aarch64_ld4_lane): Ditto. - (aarch64_st2_lane): Ditto. - (aarch64_st3_lane): Ditto. - (aarch64_st4_lane): Ditto. - * config/aarch64/arm_neon.h (__LD2_LANE_FUNC): Rename mode parameter - to qmode. Add new mode parameter. Update uses. - (__LD3_LANE_FUNC): Ditto. - (__LD4_LANE_FUNC): Ditto. - (__ST2_LANE_FUNC): Ditto. - (__ST3_LANE_FUNC): Ditto. - (__ST4_LANE_FUNC): Ditto. - -2015-07-22 Jonathan Wakely - - * doc/invoke.texi (Language Independent Options): Rename node to - Diagnostic Message Formatting Options. - -2015-07-21 Vladimir Makarov - - PR ipa/66424. - * lra-remat.c (operand_to_remat): Prevent using insns with input - subregs processed separately by IRA. - -2015-07-21 Andrew MacLeod - - * ssa-iterators.h (has_zero_uses, has_single_use): Implement as - straight loops. - (single_imm_use): Check for iterator node. - (num_imm_uses): Likewise. - * tree-ssa-operands.c (has_zero_uses_1): Delete. - (single_imm_use_1): Check for iterator node. - -2015-07-21 Mike Frysinger - Bernhard Reutner-Fischer - - * configure.ac: Add check for new options in isl-0.15. - * config.in, configure: Rebuilt. - * graphite-blocking.c: Include - * graphite-interchange.c, graphite-poly.c: Likewise. - * graphhite-scop-detection.c, graphite-sese-to-poly.c: Likewise. - * graphite.c: Likewise. - * graphite-isl-ast-to-gimple.c: Include and - . - * graphite-dependences.c: Include . - (max_number_of_out_dimensions): Returns isl_stat. - (extend_schedule_1): Likewise - (extend_schedule): Corresponding changes. - * graphite-optimize-isl.c: Include and - . - (getSingleMap): Change return type of isl_stat. - (optimize_isl): Conditionally use - isl_options_set_schedule_serialize_sccs. - * graphite-poly.h (isl_stat, isl_stat_ok): Define fallbacks - if not HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS. - -2015-07-21 Georg-Johann Lay - - PR target/66956 - * config/avr/avr-dimode.md (mulsidi3_insn) - (mulsidi3): Don't use if !AVR_HAVE_MUL. - -2015-07-21 Richard Biener - - PR tree-optimization/66948 - * genmatch.c (capture_info::walk_match): Also recurse to - captures. Properly compute expr state from captures of - captures. - * match.pd: Add single-use guards to - (X & C2) >> C1 into (X >> C1) & (C2 >> C1) transform. - -2015-07-21 Nathan Sidwell - - * config/nvptx/mkoffload.c (process): Add static destructor call. - -2015-07-21 Kyrylo Tkachov - - PR middle-end/66915 - * match.pd (A - B -> A + (-B)): Don't allow folding - when type if a fixed-point type. - -2015-07-20 DJ Delorie - - * config/rl78/rl78-real.md (andqi3_real): Expand operands for clr1. - (iorqi3_real): Likewise for set1. - -2015-07-20 Uros Bizjak - - * config/i386/i386.c (ix86_md_asm_adjust): Handle DImode dest_mode - for !TARGET_64BIT. - -2015-07-20 Aditya Kumar - - * graphite-isl-ast-to-gimple.c: - Refactor so that each function can access 'region'. This will help - maintain a parameter rename_map within a region. - -2015-07-20 Segher Boessenkool - - * config/rs6000/rs6000.md (*lt0_disi): New. - -2015-07-20 Segher Boessenkool - - PR target/66217 - * config/rs6000/constraints.md ("S", "T", "t"): Delete. Update - "available letters" comment. - * config/rs6000/predicates.md (mask_operand, mask_operand_wrap, - mask64_operand, mask64_2_operand, any_mask_operand, and64_2_operand, - and_2rld_operand): Delete. - (and_operand): Adjust. - (rotate_mask_operator): New. - * config/rs6000/rs6000-protos.h (build_mask64_2_operands, - includes_lshift_p, includes_rshift_p, includes_rldic_lshift_p, - includes_rldicr_lshift_p, insvdi_rshift_rlwimi_p, extract_MB, - extract_ME): Delete. - (rs6000_is_valid_mask, rs6000_is_valid_and_mask, - rs6000_is_valid_shift_mask, rs6000_is_valid_insert_mask, - rs6000_insn_for_and_mask, rs6000_insn_for_shift_mask, - rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and, - rs6000_emit_2insn_and): New. - * config/rs6000/rs6000.c (num_insns_constant): Adjust. - (build_mask64_2_operands, includes_lshift_p, includes_rshift_p, - includes_rldic_lshift_p, includes_rldicr_lshift_p, - insvdi_rshift_rlwimi_p, extract_MB, extract_ME): Delete. - (rs6000_is_valid_mask, rs6000_is_valid_and_mask, - rs6000_insn_for_and_mask, rs6000_is_valid_shift_mask, - s6000_insn_for_shift_mask, rs6000_is_valid_insert_mask, - rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and, - rs6000_emit_2insn_and): New. - (print_operand) <'b', 'B', 'm', 'M', 's', 'S', 'W'>: Delete. - (rs6000_rtx_costs) : Delete mask_operand and mask64_operand - handling. - : Don't fall through to next case. - : Handle the various rotate-and-mask cases directly. - : Always cost as one insn. - * config/rs6000/rs6000.md (splitter for bswap:SI): Adjust. - (and3): Adjust expander for the new patterns. - (and3_imm, and3_imm_dot, and3_imm_dot2, - and3_imm_mask_dot, and3_imm_mask_dot2): Adjust condition. - (*and3_imm_dot_shifted): New. - (*and3_mask): Delete, rewrite as ... - (and3_mask): ... New. - (*and3_mask_dot, *and3_mask_dot): Rewrite. - (andsi3_internal0_nomc): Delete. - (*andsi3_internal6): Delete. - (*and3_2insn): New. - (insv, insvsi_internal, *insvsi_internal1, *insvsi_internal2, - *insvsi_internal3, *insvsi_internal4, *insvsi_internal5, - *insvsi_internal6, insvdi_internal, *insvdi_internal2, - *insvdi_internal3): Delete. - (*rotl3_mask, *rotl3_mask_dot, *rotl3_mask_dot2, - *rotl3_insert, *rotl3_insert_2, *rotl3_insert_3, - *rotl3_insert_4, two splitters for multi-precision shifts, - *ior_mask): New. - (extzv, extzvdi_internal, *extzvdi_internal1, *extzvdi_internal2, - *rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2, - *ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2, - *lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2): - Delete. - (ashr3): Delete expander. - (*ashr3): Rename to ... - (ashr3): ... This. - (ashrdi3_no_power, *ashrdisi3_noppc64be): Delete. - (*rotldi3_internal4, *rotldi3_internal5 and split, - *rotldi3_internal6 and split, *ashldi3_internal4, ashldi3_internal5 - and split, *ashldi3_internal6 and split, *ashldi3_internal7, - ashldi3_internal8 and split, *ashldi3_internal9 and split): Delete. - (*anddi3_2rld, *anddi3_2rld_dot, *anddi3_2rld_dot2): Delete. - (splitter for loading a mask): Adjust. - * doc/md.texi (Machine Constraints): Remove q, S, T, t constraints. - -2015-07-20 Marek Polacek - - * genemit.c (print_code, gen_exp, gen_insn, gen_expand, gen_split, - output_add_clobbers, output_added_clobbers_hard_reg_p, - gen_rtx_scratch): Remove declarations. - -2015-07-20 Marek Polacek - - PR c++/55095 - * doc/invoke.texi: Document -Wshift-overflow and -Wshift-overflow=. - -2015-07-20 Kyrylo Tkachov - - * simplify-rtx.c (simplify_unary_operation_1, NEG case): - (neg (x ? (neg y) : y)) -> !x ? (neg y) : y. - -2015-07-20 Kyrylo Tkachov - - * combine.c (combine_simplify_rtx): Move simplification step - before various transformations/substitutions. - -2015-07-20 Mikhail Maltsev - - * wide-int.h (struct binary_traits): Fix partial specialization syntax. - (struct int_traits): Likewise. - -2015-07-18 Trevor Saunders - - * vmsdbgout.c (vmsdbgout_decl): Change name of prototyped - function to vmsdbgout_function_decl. - -2015-07-18 Uros Bizjak - - PR target/66922 - * config/i386/i386.c (ix86_expand_pextr): Reject extractions - from misaligned positions. - (ix86_expand_pinsr): Reject insertions to misaligned positions. - -2015-07-18 Sebastian Pop - - PR middle-end/46851 - PR middle-end/60340 - * Makefile.in: Removed omega.o. - * common.opt: Document flag fcheck-data-deps as deprecated. - * doc/invoke.texi: Remove documentation for fcheck-data-deps and - its associated params: omega-max-vars, omega-max-geqs, - omega-max-eqs, omega-max-wild-cards, omega-hash-table-size, - omega-max-keys, omega-eliminate-redundant-constraints. - * doc/loop.texi: Remove all the section on Omega. - * graphite-blocking.c: Include missing params.h: it used to be - included through tree-data-ref.h and omega.h. - * graphite-isl-ast-to-gimple.c: Same. - * graphite-optimize-isl.c: Same. - * graphite-sese-to-poly.c: Same. - * graphite.c: Same. - * omega.c: Remove. - * omega.h: Remove. - * params.def: Removed PARAM_OMEGA_MAX_VARS, PARAM_OMEGA_MAX_GEQS, - PARAM_OMEGA_MAX_EQS, PARAM_OMEGA_MAX_WILD_CARDS, - PARAM_OMEGA_HASH_TABLE_SIZE, PARAM_OMEGA_MAX_KEYS, and - PARAM_OMEGA_ELIMINATE_REDUNDANT_CONSTRAINTS. - * passes.def: Remove pass_check_data_deps. - * tree-data-ref.c (dump_affine_function): Declare DEBUG_FUNCTION. - (dump_conflict_function): Same. - (dump_subscript): Same. - (print_direction_vector): Same. - (print_dir_vectors): Same. - (print_lambda_vector): Same. - (print_dist_vectors): Same. - (dump_data_dependence_relation): Same. - (dump_data_dependence_relations): Same. - (dump_dist_dir_vectors): Same. - (dump_ddrs): Same. - (init_omega_eq_with_af): Removed. - (omega_extract_distance_vectors): Removed. - (omega_setup_subscript): Removed. - (init_omega_for_ddr_1): Removed. - (init_omega_for_ddr): Removed. - (ddr_consistent_p): Removed. - (compute_affine_dependence): Do not use omega to check data - dependences. - (compute_data_dependences_for_bb): Removed. - (analyze_all_data_dependences): Removed. - (tree_check_data_deps): Removed. - * tree-data-ref.h: Do not include omega.h. - (compute_data_dependences_for_bb): Removed. - (tree_check_data_deps): Removed. - * tree-ssa-loop.c (pass_check_data_deps): Removed. - (make_pass_check_data_deps): Removed. - * tree-ssa-phiopt.c: Include params.h. - * tree-vect-data-refs.c: Same. - * tree-vect-slp.c: Same. - -2015-07-18 Uros Bizjak - - * config/i386/i386.md (pushsf splitter): Pass curr_insn to - find_constant_src. FAIL if find_constant_src returns NULL_RTX. - (mem->fpreg splitters): Ditto. - (general_operand->nonimmediate_operand splitter): Use explicit modes. - Disable DFmode for TARGET_64BIT. - -2015-07-17 H.J. Lu - - PR target/66906 - * config/i386/i386.c (ix86_expand_prologue): Replicate static - chain on the stack. - -2015-07-17 Nathan Sidwell - - * config/nvptx/mkoffload.c (process): Constify host data. - * config/i386/intelmic-mkoffload.c (generate_target_descr_file): - Constify host data. - (generate_host_descr_file): Likewise. - -2015-07-17 Aditya Kumar - Sebastian Pop - - PR middle-end/61929 - * graphite-dependences.c (add_pdr_constraints): Renamed - pdr->extent to pdr->subscript_sizes. - * graphite-interchange.c (build_linearized_memory_access): Add - back all gcc_assert's that the "isl_int to isl_val conversion" - patch has removed. Refactored. - (pdr_stride_in_loop): Renamed pdr->extent to pdr->subscript_sizes. - * graphite-poly.c (new_poly_dr): Same. - (free_poly_dr): Same. - * graphite-poly.h (struct poly_dr): Same. - * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Ignore - all data references other than ARRAY_REF, MEM_REF, and COMPONENT_REF. - * graphite-scop-detection.h: Fix space. - * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Add - back all gcc_assert's removed by a previous patch. - (wrap): Remove the_isl_ctx global variable that the same patch has - added. - (build_loop_iteration_domains): Same. - (add_param_constraints): Same. - (pdr_add_data_dimensions): Same. Refactored. - (build_poly_dr): Renamed extent to subscript_sizes. - -2015-07-17 Marek Polacek - - * fold-const.c (fold_binary_loc): Move A - (A & B) into ~B & A ... - * match.pd: ... here. - -2015-07-17 Nathan Sidwell - - * config/nvptx/mkoffload.c (process): Constify target data. - * config/i386/intelmic-mkoffload.c (generate_target_descr_file): - Constify target data. - (generate_target_offloadend_file): Likewise. - -2015-07-17 Yuri Rumyantsev - - * tree-vect-loop-manip.c (rename_variables_in_bb): Add argument - to allow renaming of PHI arguments on edges incoming from outer - loop header, add corresponding check before start PHI iterator. - (slpeel_tree_duplicate_loop_to_edge_cfg): Introduce new bool - variable DUPLICATE_OUTER_LOOP and set it to true for outer loops - with true force_vectorize. Set-up dominator for outer loop too. - Pass DUPLICATE_OUTER_LOOP as argument to rename_variables_in_bb. - (slpeel_can_duplicate_loop_p): Allow duplicate of outer loop if it - was marked with force_vectorize and has restricted cfg. - (slpeel_tree_peel_loop_to_edge): Do not rename exit PHI uses in - inner loop. - * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not - do peeling for outer loops. - -2015-07-17 Yvan Roux - Matthias Klose - - * configure.ac: Move AC_ARG_WITH checks for native-system-header-dir, - build-sysroot, sysroot from the `Miscenalleous configure options' to - the `Directories' section and strip trailing `/' from with_sysroot. - (gcc_gxx_include_dir): Don't strip a `/' sysroot value. - * configure: Regenerated. - -2015-07-17 Uros Bizjak - - PR target/66824 - * config/i386/i386.h (TARGET_HARD_SF_REGS): New define. - (TARGET_HARD_DF_REGS): Ditto. - (TARGET_HARD_XF_REGS): Ditto. - * config/i386/i386.md (*movxf_internal): Add alternatives 9 and 10. - Enable alternatives 9 and 10 only for !TARGET_HARD_XF_REG target. - (*movdf_internal): Add alternatives 22, 23, 24 and 25. Enable - alternatives 22, 23, 24 and 25 only for !TARGET_HARD_DF_REG target. - (*movsf_internal): Add alternatives 16 and 17. Enable - alternatives 16 and 17 only for !TARGET_HARD_SF_REG target. - -2015-07-17 Uros Bizjak - - PR rtl-optimization/66891 - * calls.c (expand_call): Wrap precompute_register_parameters with - NO_DEFER_POP/OK_DEFER_POP to prevent deferred pops. - -2015-07-16 Nathan Sidwell - - * config/nvptx/mkoffload.c (process): Constify mapping variables. - Define target data struct and initialize it. - -2015-07-16 Vladimir Makarov - - PR rtl-optimization/66626 - * ira.h (emit-rtl.h): Include. - (non_spilled_static_chain_regno_p): New. - * ira-color.c (setup_profitable_hard_regs): Clear profitable regs - unless it is non spilled static chain pseudo. - (assign_hard_rego): Spill memory profitable allocno unless it is - non spilled static chain pseudo. - (allocno_spill_priority_compare): Put non spilled static chain - pseudo at the end of sorted array. - (improve_allocation): Do nothing if we have static chain and - non-local goto. - (allocno__priority_compare_func): Put non spilled static chain - pseudo at the beginning of sorted array. - (move_spill_restore): Ignore non spilled static chain pseudo. - * ira-costs.c (find_costs_and_classes): Don't assign class NO_REGS - to non spilled static chain pseudo. - * lra-assigns.c (pseudo_compare_func): Put non spilled static chain - pseudo at the beginning of sorted array. - (spill_for): Spill non spilled static chain pseudo last. - * lra-constraints.c (lra_constraints): Remove static chain pseudo - check for equivalence. - -2015-07-16 Martin Liska - - PR ipa/66896. - * ipa-prop.c (update_jump_functions_after_inlining): Create properly - dst_ctx if it does not exist. - -2015-07-16 Martin Liska - - * hash-set.h (remove): New function. - (iterator): New iteration class for hash_set. - -2015-07-16 Richard Sandiford - - * genattrtab.c (make_canonical): Add a file_location parameter. - Use fatal_at rather than fatal. - (get_attr_value): Likewise. Update call to make_canonical. - (fill_attr, make_length_attrs, optimize_attrs, gen_attr) - (make_internal_attr): Update calls accordingly. - -2015-07-16 Richard Sandiford - - * read-md.h (message_with_line, error_with_line): Delete. - * read-md.c (message_with_line, error_with_line): Delete. - * gensupport.h: Include read-md.h. - (md_rtx_info): New structure. - (read_md_rtx): Use it. Return a bool success value. - * gensupport.c (read_md_rtx): Likewise. - * genattr-common.c (gen_attr): Take an md_rtx_info rather than an rtx. - (main): Update after interface changes. - * genattr.c (gen_attr): Take an md_rtx_info rather than an rtx. - (main): Update after interface changes. - * genattrtab.c (insn_code_number): Delete. - (optimize_attrs): Add a max_insn_code parameter and use it instead - of insn_code_number. - (gen_attr): Take an md_rtx_info rather than an rtx and lineno. - Use *_at rather than *_with_line functions. - (gen_insn): Likewise. - (gen_delay): Likewise. - (gen_insn_reserv): Likewise. - (gen_bypass): Take an md_rtx_info rather than an rtx. - (main): Update after interface changes. Use a local max_insn_code - variable instead of insn_code_number. - * genautomata.c (gen_cpu_unit): Take an md_rtx_info rather than - an rtx. Use fatal_at rather than fatal. - (gen_query_cpu_unit, gen_bypass, gen_excl_set) - (gen_presence_absence_set, gen_presence_set, gen_final_presence_set) - (gen_absence_set, gen_final_absence_set, gen_automaton) - (gen_automata_option, gen_reserv, gen_insn_reserv): Likewise. - (main): Update after interface changes. - * gencodes.c (gen_insn): Take an md_rtx_info rather than an rtx - and code number. - (main): Update after interface changes. - * genconditions.c (main): Use new read_md_rtx interface. - * genconfig.c (gen_insn): Take an md_rtx_info rather than an rtx. - (gen_expand, gen_split, gen_peephole, gen_peephole2): Likewise. - (main): Update after interface changes. - * genemit.c (insn_code_number, insn_index_number): Delete. - (gen_insn): Take an md_rtx_info rather than an rtx and lineno. - Use fatal_at rather than fatal. - (gen_expand): Take an md_rtx_info rather than an rtx. Use fatal_at - rather than fatal. - (gen_split): Likewise. - (main): Update after interface changes. - * genextract.c (line_no): Delete. - (gen_insn): Take an md_rtx_info rather than an rtx and lineno. - Update call to walk_rtx. - (VEC_safe_set_locstr): Add an md_rtx_info argument. Use message_at - rather than message_with_line. - (walk_rtx): Add an md_rtx_info argument. Update call to - VEC_safe_set_locstr. - (main): Update after interface changes. - * genflags.c (gen_insn): Take an md_rtx_info rather than an rtx - and lineno. Use error_at rather than separate message_with_line - calls and have_error assignments. - (main): Update after interface changes. - * genmddump.c (main): Use new read_md_rtx interface. - * genopinit.c (insn): Take an md_rtx_info rather than an rtx. - (main): Update after interface changes. - * genoutput.c (next_code_number): Delete. - (gen_insn): Take an md_rtx_info rather than an rtx and lineno. - (gen_peephole, gen_expand, gen_split): Likewise. - (note_constraint): Likewise. Use *_at rather than *_with_line - functions. - (main): Update after interface changes. - * genpeep.c (gen_peephole): Take an md_rtx_info rather than an - rtx and lineno. - (main): Update after interface changes. - * genpreds.c (process_define_predicate): Take an md_rtx_info rather - than an rtx and lineno. - (process_define_constraint): Likewise. - (process_define_register_constraint): Likewise. - (main): Update after interface changes. - * genrecog.c (next_insn_code, pattern_lineno): Delete. - (validate_pattern): Replace top-level rtx with an md_rtx_info. - Use *_at rather than *_with_line functions. - (match_pattern_2): Likewise. - (match_pattern_1, match_pattern): Add an md_rtx_info parameter. - (get_peephole2_pattern): Take an md_rtx_info rather than an rtvec. - Use *_at rather than *_with_line functions. - * gentarget-def.c (add_insn): New function. - (main): Use it. Use new read_md_rtx interface. - -2015-07-16 Richard Sandiford - - * gensupport.h (compute_test_codes): Take a file_location rather - than a line number. - * gensupport.c (compute_test_codes): Likewise. Use *_at functions - rather than *_with_line functions. - (process_define_predicate): Update call to compute_test_codes. - * genpreds.c (validate_exp): Take a file_location rather than a - line number. Use *_at functions rather than *_with_line functions. - (process_define_predicate): Update call to validate_exp. - (constraint_data): Replace lineno field with a file_location. - (add_constraint): Take a file_location rather than a line number. - Use *_at functions rather than *_with_line functions. Fix error - message for address constraints. Update after changes to - validate_exp, constraint_data and compute_test_codes. - (process_define_constraint): Update accordingly. - (process_define_register_constraint): Likewise. - -2015-07-16 Richard Sandiford - - * genoutput.c (data): Use a file_location to record the source - position. - (nothing): Delete. - (idata, idata_end): Remove initialization. - (constraint_data): Replace lineno with a file_location. - (output_insn_data): Update after changes to data. - (gen_insn, gen_peephole, gen_expand, gen_split): Likewise. - (scan_operands): Likewise, using *_at rather than *_with_line - functions. - (process_template): Likewise. - (validate_insn_alternatives): Likewise. - (validate_insn_operands): Likewise. - (validate_optab_operands): Likewise. - (init_insn_for_nothing): Initialize idata and idata_end. - (note_constraint): Update after changes to constraint_data, - using at rather than with_line functions. - (mdep_constraint_len): Take a file_location rather than a - line number. Use at rather than with_line functions. - -2015-07-16 Richard Sandiford - - * read-md.h (fatal_at): Declare. - * read-md.c (fatal_at): New function. - * genattrtab.c (insn_def, attr_desc, delay_desc): Use a file_location - to record the source position. - (check_attr_test): Take a file_location instead of a line number. - Use fatal_at instead of fatal. - (check_attr_value): Update after above changes, using "at" - rather than "with_line" reporting functions. - (convert_set_attr_alternative): Likewise. - (gen_attr): Likewise. - (check_defs): Likewise. Don't assign to read_md_filename. - (gen_insn): Update initialization after above changes. - (gen_delay): Likewise. - (write_insn_cases): Print the filename for a define_peephole. - (gen_insn_reserv): Take a line number as argument and update - the call to check_attr_test. - (main): Pass a line number to gen_insn_reserv. - -2015-07-16 Richard Sandiford - - * read-md.h (file_location): New structure. - (directive_handler_t): Take a file_location rather than a line number. - (message_at, error_at): Declare. - (read_skip_construct): Delete. - * read-md.c (message_with_line_1): Replace with... - (message_at_1): ...this new function. - (message_at, error_at): New functions. - (message_with_line, error_with_line): Update to use message_at_1. - (handle_enum): Take a file_location rather than a line number - and use error_at for error reporting. - (handle_include): Likewise. - (read_skip_construct): Likewise. Make static. - (handle_file): Update after above changes. Pass a file_location - rather than a line number to handle_directive. - * gensupport.c (queue_elem): Replace separate filename and lineno - with a file_location. - (queue_pattern): Replace filename and lineno arguments with a - file_location. Update after change to queue_elem. - (process_define_predicate): Replace lineno argument with a - file_location and use error_at for error reporting. Update - after above changes. - (process_rtx): Likewise. - (subst_pattern_match): Likewise. - (get_alternatives_number): Likewise. - (alter_predicate_for_insn): Likewise. - (rtx_handle_directive): Likewise. - (is_predicable): Update after above changes, using error_at rather - than error_with_line. - (has_subst_attribute): Likewise. - (identify_predicable_attribute): Likewise. - (alter_attrs_for_subst_insn): Likewise. - (process_one_cond_exec): Likewise. - (process_substs_on_one_elem): Likewise. - (process_define_subst): Likewise. - (check_define_attr_duplicates): Likewise. - (read_md_rtx): Update after change to queue_elem. - -2015-07-16 Richard Sandiford - - * genoutput.c (next_index_number): Delete. - (data): Remove index_number. - (gen_insn, gen_peephole, gen_expand, gen_split): Update accordingly. - (main): Remove manipulation of next_index_number. - -2015-07-16 Richard Sandiford - - * genattrtab.c (check_attr_value): Remove handling of null attrs. - (make_canonical): Likewise. - -2015-07-16 Eric Botcazou - - * config/sparc/sparc.md (save_stack_nonlocal): Use adjust_address - instead of adjust_address_nv. - (restore_stack_nonlocal): Likewise. - (nonlocal_goto): Likewise. - -2015-07-16 Tom de Vries - - * tree-parloops.c (create_parallel_loop): Handle case that exit phi does - not have a corresponding loop header phi. - -2015-07-16 Tom de Vries - - * tree-parloops.c (create_loads_for_reductions): Handle case that - reduction is unused. - -2015-07-16 Richard Biener - - PR tree-optimization/66894 - * tree-vrp.c (register_edge_assert_for_2): Fix bad assumption - about deriving NE_EXPR from truncated values. - -2015-07-16 Martin Liska - - * alloc-pool.h - (object_allocator): Add new class. - (pool_allocator::initialize): Use the underlying class. - (pool_allocator::allocate): Likewise. - (pool_allocator::remove): Likewise. - (operator new): A new generic allocator. - * asan.c (struct asan_mem_ref): Remove unused members. - (asan_mem_ref_new): Replace new operator with - object_allocator::allocate. - (free_mem_ref_resources): Change deallocation. - * cfg.c (initialize_original_copy_tables): Replace pool_allocator - with object_allocator. - * config/sh/sh.c (add_constant): Replace new operator with - object_allocator::allocate. - (sh_reorg): Change call to a release method. - * cselib.c (struct elt_list): Remove unused members. - (new_elt_list): Replace new operator with - object_allocator::allocate. - (new_elt_loc_list): Likewise. - (new_cselib_val): Likewise. - (unchain_one_elt_list): Change delete operator with remove method. - (unchain_one_elt_loc_list): Likewise. - (unchain_one_value): Likewise. - (cselib_finish): Release newly added static allocators. - * cselib.h (struct cselib_val): Remove unused members. - (struct elt_loc_list): Likewise. - * df-problems.c (df_chain_alloc): Replace pool_allocator with - object_allocator. - * df-scan.c (struct df_scan_problem_data): Likewise. - (df_scan_alloc): Likewise. - * df.h (struct dataflow): Likewise. - * dse.c (struct read_info_type): Likewise. - (struct insn_info_type): Likewise. - (struct dse_bb_info_type): Likewise. - (struct group_info): Likewise. - (struct deferred_change): Likewise. - (get_group_info): Likewise. - (delete_dead_store_insn): Likewise. - (free_read_records): Likewise. - (replace_read): Likewise. - (check_mem_read_rtx): Likewise. - (scan_insn): Likewise. - (dse_step1): Likewise. - (dse_step7): Likewise. - * et-forest.c (struct et_occ): Remove unused members. - (et_new_occ): Use allocate instead of new operator. - (et_new_tree): Likewise. - (et_free_tree): Call release method explicitly. - (et_free_tree_force): Likewise. - (et_free_pools): Likewise. - (et_split): Use remove instead of delete operator. - * et-forest.h (struct et_node): Remove unused members. - * ipa-cp.c: Change pool_allocator to object_allocator. - * ipa-inline-analysis.c: Likewise. - * ipa-profile.c: Likewise. - * ipa-prop.c: Likewise. - * ipa-prop.h: Likewise. - * ira-build.c (initiate_cost_vectors): Cast return value. - (ira_allocate_cost_vector): Likewise. - * ira-color.c (struct update_cost_record): Remove unused members. - * lra-int.h (struct lra_live_range): Likewise. - (struct lra_copy): Likewise. - (struct lra_insn_reg): Likewise. - * lra-lives.c (lra_live_ranges_finish): Release new static allocator. - * lra.c (new_insn_reg): Replace new operator with allocate method. - (free_insn_regs): Same for operator delete. - (finish_insn_regs): Release new static allocator. - (finish_insn_recog_data): Likewise. - (lra_free_copies): Replace delete operator with remove method. - (lra_create_copy): Replace operator new with allocate method. - (invalidate_insn_data_regno_info): Same for remove method. - * regcprop.c (struct queued_debug_insn_change): Remove unused members. - (free_debug_insn_changes): Replace delete operator with remove method. - (replace_oldest_value_reg): Replace operator new with allocate method. - (pass_cprop_hardreg::execute): Release new static variable. - * sched-deps.c (sched_deps_init): Change pool_allocator to - object_allocator. - * sel-sched-ir.c: Likewise. - * sel-sched-ir.h: Likewise. - * stmt.c (expand_case): Likewise. - (expand_sjlj_dispatch_table): Likewise. - * tree-sra.c (struct access): Remove unused members. - (struct assign_link): Likewise. - (sra_deinitialize): Release newly added static pools. - (create_access_1):Replace operator new with allocate method. - (build_accesses_from_assign): Likewise. - (create_artificial_child_access): Likewise. - * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Change - pool_allocator to object_allocator. - * tree-ssa-pre.c: Likewise. - * tree-ssa-reassoc.c: Likewise. - * tree-ssa-sccvn.c (allocate_vn_table): Likewise. - * tree-ssa-strlen.c: Likewise. - * tree-ssa-structalias.c: Likewise. - * var-tracking.c (onepart_pool_allocate): New function. - (unshare_variable): Use the newly added function. - (variable_merge_over_cur): Likewise. - (variable_from_dropped): Likewise. - (variable_was_changed): Likewise. - (set_slot_part): Likewise. - (emit_notes_for_differences_1): Likewise. - (vt_finalize): Release newly added static pools. - -2015-07-16 Martin Jambor - - * ipa-prop.h (param_aa_status): Rename to ipa_param_aa_status. Adjust - all uses. Fix two typos in its general comment. - (func_body_info): Rename to ipa_func_body_info. Adjust all uses. - -2015-07-16 Ilya Enkovich - - * config/i386/linux-common.h (LINK_MPX): New. - (MPX_SPEC): Use LINK_MPX instead of %(link_mpx). - * configure.ac: Add HAVE_LD_BNDPLT_SUPPORT macro - indicating '-z bndplt' support by linker. - * configure: Regenerate. - * config.in: Regenerate. - -2015-07-16 Richard Biener - - * fold-const.c (fold_widened_comparison): Remove. - (fold_sign_changed_comparison): Likewise. - (fold_comparison): Move widened and sign-changed comparison - simplification ... - * match.pd: ... to patterns here. - * generic-match-head.c: Include target.h. - * gimple-match-head.c: Likewise. - -2015-07-16 Richard Biener - - * tree-ssa-dom.c (dom_valueize): New function. - (record_temporary_equivalences): Also record equivalences - for dominating stmts that have uses of equivalences we are - about to record. - -2015-07-16 Bin Cheng - - * tree-ssa-loop-ivopts.c (add_candidate): Remove call to - add_autoinc_candidates. - (add_iv_candidate_for_biv): Rename to add_iv_candidate_for_biv. - (add_iv_candidate_for_biv): Rename from add_iv_candidate_for_biv. - (add_old_ivs_candidates): Rename to add_iv_candidate_for_bivs. - (add_iv_candidate_for_bivs): Rename from add_old_ivs_candidates. - Call new function. - (add_iv_value_candidates): Rename to add_iv_candidate_for_use. - (add_iv_candidate_for_use): Rename from add_iv_value_candidates. - Remove parameter struct iv*. Call add_autoinc_candidates here. - (add_derived_ivs_candidates): Rename to add_iv_candidate_for_uses. - (add_iv_candidate_for_uses): Rename from add_derived_ivs_candidates. - Call new function. - (find_iv_candidates): Call new functions. - -2015-07-16 Sandra Loosemore - - * config/nios2/nios2.c (nios2_emit_stack_limit_check): Fix - uninitialized-variable warning. - -2015-07-16 Kaz Kojima - - PR target/65249 - * config/sh/sh.md (movdi): Split simple reg move to two movsi - when the destination is R0. - -2015-07-16 Uros Bizjak - - PR target/66866 - * config/i386/i386-protos.h (ix86_expand_pextr): New prototype. - * config/i386/i386.c (ix86_expand_pextr): New function. - (ix86_expand_pinsr): Handle V1TI and TI modes. Call ix86_expand_pextr - for non-lowpart subregs. - * config/i386/i386.md (extzv): Expand with ix86_expand_pextr. - (insv): Use SWI248 mode iterator. - (insv_1): Ditto. - -2015-07-15 Aditya Kumar - Sebastian Pop - - * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Point - iterator to use_stmt. - -2015-07-15 Aditya Kumar - Sebastian Pop - - * graphite-scop-detection.c (build_scops_1): Discard scops for - which entry==exit. - -2015-07-15 Aditya Kumar - Sebastian Pop - - * graphite-scop-detection.c (stmt_simple_for_scop_p): Bail out in - case of a return statement in scop. - -2015-07-15 Aditya Kumar - Sebastian Pop - - * graphite-sese-to-poly.c (parameter_index_in_region): Only handle - INTEGER_TYPE parameters. - (scan_tree_for_params): Handle REAL_CST, COMPLEX_CST, and - VECTOR_CST in scan_tree_for_params. - (add_conditions_to_domain): Only constrain on INTEGER_TYPE. - -2015-07-15 Andrew MacLeod - - * gimple-pretty-print.h: Don't include pretty-print.h. - * tree-streamer.h: Don't include lto-streamer.h. - * gimple-streamer.h: Include tree-streamer.h rather than lto-streamer.h. - * gimple-streamer-in.c: Remove redundant includes. - * gimple-streamer-out.c: Likewise. - * ipa-devirt.c: Likewise. - * ipa-icf.c: Likewise. - * ipa-inline-analysis.c: Likewise. - * ipa-polymorphic-call.c: Likewise. - * ipa-profile.c: Likewise. - * ipa-prop.c: Likewise. - * ipa-pure-const.c: Likewise. - * lto-cgraph.c: Likewise. - * lto-streamer-in.c: Likewise. - * lto-streamer-out.c: Likewise. - * lto-streamer.c: Likewise. - * tree-streamer-in.c: Likewise. - * tree-streamer-out.c: Likewise. - * tree-streamer.c: Likewise. - -2015-07-15 Andrew MacLeod - - * opth-gen.awk: Check for UNKNOWN_LOCATION rather than GCC_TM_H, don't - include input.h. - * opts.c: Remove multiline #include comment. - -2015-07-15 Nathan Sidwell - - * config/nvptx/mkoffload.c (process): Add C++ protection to - emitted code. - -2015-07-14 Michael Meissner - - PR target/66854 - * config/rs6000/rs6000.c (rs6000_pass_by_reference): Move test for - null before IEEE 128-bit floating point support patch. - -2015-07-15 Bill Schmidt - - * simplify-rtx.c (simplify_ternary_operation): Add simplification - for (!c) != {0,...,0} ? a : b for vector modes. - -2015-07-15 Paolo Bonzini - Martin Jambor - - * ipa-inline-analysis.c (unmodified_parm_or_parm_agg_item): Accept - struct func_body_info* instead of struct ipa_node_params*, expecting - fbi->info to be filled in. Replace throughout. Adjust call to - ipa_load_from_parm_agg. - (set_cond_stmt_execution_predicate): Accept struct func_body_info* - instead of struct ipa_node_params*. Adjust calls to other functions - so that they pass either fbi or fbi->info. - (set_switch_stmt_execution_predicate): Likewise. - (will_be_nonconstant_predicate): Likewise. - (compute_bb_predicates): Likewise. - (estimate_function_body_sizes): Move asserts earlier. Fill in - struct func_body_info, replace parms_info with fbi.info. Adjust - calls to functions that now accept struct func_body_info. - * ipa-prop.c (param_aa_status, struct ipa_bb_info): Move to ipa-prop.h. - (struct func_body_info): Likewise. - (ipa_load_from_parm_agg_1): Rename to ipa_load_from_parm_agg, - remove static. Adjust callers. - (ipa_load_from_parm_agg): Remove. - * ipa-prop.h (param_aa_status, ipa_bb_info): Move from ipa-prop.c. - (func_body_info): Likewise. - (ipa_load_from_parm_agg): Adjust prototype. - -2015-07-12 Trevor Saunders - - * gensupport.c (rtx_handle_directive): Adjust. - * read-rtl.c (apply_iterators): Take vector to add rtxs to - instead of expr list rtx. - (add_define_attr_for_define_subst): Likewise. - (add_define_subst_attr): Likewise. - (read_subst_mapping): Likewise. - (read_rtx): Likewise. - * rtl.h (read_rtx): Adjust. - -2015-07-15 Kyrylo Tkachov - - * config/aarch64/aarch64.md (*csinc2_insn): Use cinc mnemonic. - -2015-07-15 Uros Bizjak - - PR target/58066 - * config/i386/i386.md (*tls_global_dynamic_64_): Depend on SP_REG. - (*tls_local_dynamic_base_64_): Ditto. - (*tls_local_dynamic_base_64_largepic): Ditto. - (tls_global_dynamic_64_): Update expander pattern. - (tls_local_dynamic_base_64_): Ditto. - -2015-07-15 Richard Biener - - * fold-const.c (fold_binary_loc): Move bool_var != 0 -> bool_var - and bool_var == 1 -> bool_var simplifications ... - * match.pd: ... to patterns here. Factor out negate_expr_p - cases from the A - B -> A + (-B) patterns as negate_expr_p - predicate and add a -(A + B) -> (-B) - A pattern. - -2015-07-15 Robert Suchanek - - * config/mips/mips.c (mips_emit_save_slot_move): Fix typo. - -2015-07-15 Matthew Fortune - Robert Suchanek - - * config/mips/mips.c (mips_int_mask): New enum. - (mips_shadow_set): Likewise. - (int_mask): New variable. - (use_shadow_register_set_p): Change type to enum mips_shadow_set. - (machine_function): Add int_mask and use_shadow_register_set. - (mips_attribute_table): Add attribute handlers for interrupt and - use_shadow_register_set. - (mips_interrupt_mask): New static function. - (mips_handle_interrupt_attr): Likewise. - (mips_handle_use_shadow_register_set_attr): Likewise. - (mips_use_shadow_register_set): Change return type to enum - mips_shadow_set. Add argument handling for use_shadow_register_set - attribute. - (mips_interrupt_extra_called_saved_reg_p): Update the conditional to - compare with mips_shadow_set enum. - (mips_compute_frame_info): Add interrupt mask and - use_shadow_register_set to per-function information structure. - Add a stack slot for EPC unconditionally. - (mips_expand_prologue): Compare use_shadow_register_set value - with mips_shadow_set enum. Save EPC always in K1, clobber only K1 for - masked interrupt register but in EIC mode use K0 and save Cause in K0. - EPC saved and restored unconditionally. Use PMODE_INSN macro when - copying the stack pointer from the shadow register set. - * config/mips/mips.h (SR_IM0): New define. - * config/mips/mips.md (mips_rdpgpr): Rename to... - (mips_rdpgpr_): ...this. Use the Pmode iterator. - * doc/extend.texi (Declaring Attributes of Functions): Document - optional arguments for interrupt and use_shadow_register_set - attributes. - -2015-07-15 Robert Suchanek - - * config/mips/mips.c (mips_compute_frame_info): Allow -mhard-float in - interrupt attribute. - (mips_expand_prologue): Disable the floating point unit in an ISR. - * config/mips/mips.h (SR_COP1): New define. - -2015-07-15 Richard Biener - - * genmatch.c (parser::peek, parser::peek_ident): Add argument - to tell how many tokens to peek ahead (default 1). - (parser::eat_token, parser::eat_ident): Return token consumed. - (parser::parse_result): Parse new switch statement. - * match.pd: Use case statements where appropriate. - -2015-07-15 Uros Bizjak - - PR rtl-optimization/58066 - * calls.c (expand_call): Precompute register parameters before stack - alignment is performed. - -2015-07-15 Uros Bizjak - - PR rtl-optimization/66838 - * postreload.c (reload_cse_move2add): Also process - CALL_INSN_FUNCTION_USAGE when resetting information of - call-clobbered registers. - -2015-07-14 Sandra Loosemore - Cesar Philippidis - Chung-Lin Tang - - * config/nios2/constraints.md (U, v): New constraints. - * config/nios2/predicates.md (rdprs_dcache_operand): New. - (ldstex_memory_operand): New. - * config/nios2/sync.md: New file. - * config/nios2/nios2.md (unspecv): Add new builtin function - UNSPECV codes. - (rdprs, flushd, flushda, wrpie, eni): New patterns. - (top-level): Include sync.md. - * config/nios2/nios2.c (N2_FTYPES): Add function types for - new builtins. - (N2_BUILTINS): Add arch field setting, add new builtins. - (enum nios2_builtin_code,nios2_builtins): Update N2_BUILTIN_DEF - for arch field. - (nios2_expand_ldst_builtin): Rename from nios2_expand_ldstio_builtin. - Also handle ldex/stex/ldsex/stsex builtins. - (nios2_expand_rdprs_builtin): New function. - (nios2_expand_cache_builtin): New function. - (nios2_expand_wrpie_builtin): New function. - (nios2_expand_eni_builtin): New function. - (nios2_expand_builtin): Add arch field handling and new builtin - cases. - * doc/extend.texi (Altera Nios II Built-in Functions): Document - new builtins. - * doc/md.texi (Machine Constraints): Document U and v constraints. - -2015-07-14 Sandra Loosemore - Cesar Philippidis - Chung-Lin Tang - - * config/nios2/nios2-protos.h (nios2_expand_return): Declare. - * config/nios2/nios2.c (struct GTY (()) machine_function): Add - callee_save_reg_size and uses_anonymous_args fields. - (nios2_compute_frame_layout): Update for CDX push.n/pop.n usage. - (nios2_create_cfa_notes): New function. - (nios2_adjust_stack): New function for adjusting stack. - (nios2_expand_prologue): Update for CDX push.n/pop.n usage. - Use nios2_adjust_stack. - (nios2_expand_epilogue): Likewise. - (nios2_expand_return): New function. - (nios2_can_use_return_insn): Update for CDX pop.n usage. - (nios2_setup_incoming_varargs): Set uses_anonymous_args flag. - If TARGET_HAS_CDX, defer pushing regs to nios2_expand_prologue. - * config/nios2/nios2.md (return): Use nios2_expand_return. - -2015-07-14 Sandra Loosemore - Cesar Philippidis - Chung-Lin Tang - - * config/nios2/predicates.md (pop_operation): New. - (ldwm_operation, stwm_operation): New. - (nios2_hard_register_operand): New. - * config/nios2/nios2-protos.h (pop_operation_p): Declare. - (ldstwm_operation_p): Declare. - (gen_ldstwm_peep): Declare. - * config/nios2/nios2.c: (nios2_ldst_parallel): Declare. - (base_reg_adjustment_p): New. - (pop_operation_p): New. - (CDX_LDSTWM_VALID_REGS_0, CDX_LDSTWM_VALID_REGS_1): Define. - (nios2_ldstwm_regset_p): New. - (ldstwm_operation_p): New. - (gen_ldst): New. - (nios2_ldst_parallel): New. - (struct ldswm_operand): Declare. - (compare_ldstwm_operands): New. - (can_use_cdx_ldstw): New. - (gen_ldstwm_peep): New. - * config/nios2/nios2-ldstwm.sml: New. - * config/nios2/nios2.md: Include ldstwm.md. - * config/nios2/ldstwm.md: Generated. - -2015-07-14 Sandra Loosemore - Cesar Philippidis - Chung-Lin Tang - - * config/nios2/nios2.h (LABEL_ALIGN): Define. - (REG_ALLOC_ORDER): Define. - (ADJUST_REG_ALLOC_ORDER): Define. - (HONOR_REG_ALLOC_ORDER): Define. - (CDX_REG_P): Define. - (ANDCLEAR_INT): Define. - * config/nios2/nios2-protos.h (nios2_add_insn_asm): Declare. - (nios2_label_align): Declare. - (nios2_cdx_narrow_form_p): Declare. - (nios2_adjust_reg_alloc_order): Declare. - * config/nios2/nios2.c (nios2_rtx_costs): Adjust for BMX zero-extract - operation. - (nios2_large_unspec_reloc_p): New function, split from... - (nios2_legitimate_pic_operand_p): ...here. - (nios2_emit_move_sequence): Add *high/*lo_sum constant expand code. - (nios2_print_operand_punct_valid_p): New. - (nios2_print_operand): Add %., %!, %x, %y, %A. Remove %U. - (split_mem_address): New. - (split_alu_insn): New. - (cdxreg): New. - (cdx_add_immed, cdx_and_immed, cdx_mov_immed, cdx_shift_immed): New. - (enum nios2_add_insn_kind): New. - (nios2_add_insn_names, nios2_add_insn_narrow): New. - (nios2_add_insn_classify): New. - (nios2_add_insn_asm): New. - (nios2_cdx_narrow_form_p): New. - (label_align, min_labelno, max_labelno): New. - (nios2_reorg): New. - (nios2_label_align): New. - (nios2_adjust_reg_alloc_order): New. - (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define. - (TARGET_MACHINE_DEPENDENT_REORG): Define. - * config/nios2/constraints.md (P): New constraint. - * config/nios2/predicates.md (const_and_operand): New. - (and_operand): New. - (stack_memory_operand): New. - * config/nios2/nios2.md (SP_REGNO): Define stack pointer regno. - (length): Update to use nios2_cdx_narrow_form_p(). - (type): Add new insn type values. - (control, alu, st, ld, shift): Update insn reservations with - new insn type values. - (*high, *lo_sum): Define new insn patterns for constant generation. - (movqi_internal, movhi_internal, movsi_internal): Reduce - alternatives, update asm template to handle CDX variants, update - type attributes. - (zero_extendhisi2, zero_extendqi2): Add CDX variants to asm - template, update type attributes. - (extendhisi2, extendqi2): Likewise. - (addsi3): Change to use function for asm string. - (subsi3): Add CDX notation to asm template, update type attributes. - (negsi3, one_cmplsi3): Likewise. - (andsi3): New pattern, specialized from logical patterns. - (si3): Remove and case, combine alternatives, update asm - template. - (si3): Add CDX notation, update type attributes. - (rotrsi3): Update type attribute. - (*merge, extzv, insv): New insn patterns. - (return): Change to define_expand. - (simple_return): Add CDX notation, update type attributes. - (indirect_jump): Add CDX notation. - (jump): Update asm cases, update length attribute expression. - (*call, *call_value, *sibcall, *sibcall_value): Add CDX variant. - (nios2_cbranch): Update asm cases and length attribute expression - to handle CDX variants. - (nios2_cmp): Update asm template. - (nop): Add CDX notation, update type attributes. - (trap): Add CDX notation. - (ctrapsi4): Update asm cases and length attribute expression to - handle CDX variant. - * doc/md.texi (Machine Constraints): Document P constraint. - -2015-07-14 Sandra Loosemore - Cesar Philippidis - Chung-Lin Tang - - * config/nios2/nios2.h (SMALL_INT12): New macro. - * config/nios2/nios2.c (nios2_valid_addr_offset_p): New function. - (nios2_valid_addr_expr_p): Use it. - (nios2_symbol_ref_in_small_data_p): Disallow GP-relative addressing - with implicit "io" instructions on R2. - * config/nios2/constraints.md (w): New constraint. - * config/nios2/predicates.md (ldstio_memory_operand): New. - * config/nios2/nios2.md (ldio, ldio): Update memory - operand predicate and constraint. - (ldio_signed, stio>): Likewise. - * doc/md.texi (Machine Constraints): Document w constraint. - -2015-07-14 Sandra Loosemore - Cesar Philippidis - Chung-Lin Tang - - * config/nios2/nios2.opt (march, mbmx, mcdx): New options. - * config/nios2/nios2-opts.h (enum nios2_arch_type): New enum for - Nios II architecture level. - * config/nios2/nios2.h (TARGET_ARCH_R2): New define. - (TARGET_CPU_CPP_BUILTINS): Add definition of __nios2_arch__ symbol. - (OPTION_DEFAULT_SPECS): Define. - (ASM_SPEC): Add -march= spec strings. - * config/nios2/nios2.c (nios2_option_override): Check for - conflicts involving new options. - * config.gcc (nios2*-*-*): Support --with-arch=. - * doc/invoke.texi (Option Summary, Nios II Options): Document - -march=, -mbmx, and -mcdx. - -2015-07-14 Vladimir Makarov - - PR rtl-optimization/66626 - * lra-constraints.c (lra_constraints): Prevent equivalence - substitution for static chain pseudo in functions with nonlocal - goto. - -2015-07-14 Sandra Loosemore - - * config/nios2/nios2.c (TEMP_REG_NUM): Move define up in file. - (nios2_emit_stack_limit_check): Add size parameter. Handle - -fstack-limit-symbol as well as -fstack-limit-register. - (nios2_expand_prologue): Emit only a single stack limit check, - even if multiple stack adjustments are required. - (nios2_option_override): Diagnose unsupported combination of -fpic - and -stack-limit-symbol. - -2015-07-14 H.J. Lu - - * Makefile.in (top_srcdir): New. - * configure.ac: Use AM_ZLIB. - * configure: Regeneated. - -2015-07-14 Matthias Klose - - PR target/66840 - * config/rs6000/t-rs6000 (TM_H): Add rs6000-cpus.def. - -2015-07-14 Richard Biener - - PR tree-optimization/66863 - * tree-vrp.c (register_edge_assert_for_2): Properly restrict - what we record for conversion use stmt lhs inequalities. - -2015-07-14 Richard Biener - - * genmatch.c (dt_node::gen_kids_1): Fix case label indenting. - (decision_tree::gen_gimple): Likewise. - -2015-07-14 Tom de Vries - - * gcc.c (greater_than_spec_func): Declare forward. - (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use gt to ignore - -ftree-parallelize-loops={0,1}. - (static_spec_functions): Add greater_than_spec_func function with name - "gt". - (greater_than_spec_func): New function. - -2015-07-14 Richard Biener - - * tree-ssa-dom.c (record_temporary_equivalences): Merge - wideing type conversion case from record_equivalences_from_incoming_edge - and use record_equality to record equivalences. - (record_equivalences_from_incoming_edge): Call - record_temporary_equivalences. - -2015-07-14 Richard Biener - - * genmatch.c (struct operand): Add OP_IF and OP_WITH op_types. - (struct if_expr): New. - (struct with_expr): Likewise. - (is_a_helper): Add helpers for if_expr and with_expr. - (struct simplify): Add simplify_kind enum and member. Remove - ifexpr_vec member. - (simplify::simplify): Adjust. - (lower_commutative): Adjust. - (lower_opt_convert): Likewise. - (lower_cond): Likewise. - (replace_id): Handle with_expr and if_expr. - (lower_for): Adjust. - (dt_simplify::gen_1): New recursive worker, split out from ... - (dt_simplify::gen): ... here. Deal with if and with expansion - recursively. - (capture_info::capture_info): Take context argument - (capture_info::walk_result): Only analyze specific result. - (parser::parse_result): New function. - (parser::parse_simplify): Adjust to parse ifs with then end - else case. - (parser::parse_if): Simplify. - (parser::parse_pattern): Pass down simplify kind. - * match.pd: Convert if structure to new syntax. - -2015-07-13 Marek Polacek - - * rtl.c (rtx_equal_p_cb): Fix typo. - -2015-07-13 Andrew MacLeod - - * omega.h: Don't include config.h, don't include params.h again if - omega.h has already been included. - * graphite-poly.h: Include sese.h. - * graphite.c: Don't include sese.h, remove needless includes and - minimize includes outside #ifdef HAVE_isl block. - * graphite-blocking.c: Don't include sese.h, remove needless includes, - and wrap entire file in #ifdef HAVE_isl - * graphite-dependences.c: Likewise. - * graphite-interchange.c: Likewise. - * graphite-isl-ast-to-gimple.c: Likewise. - * graphite-optimize-isl.c: Likewise. - * graphite-poly.c: Likewise. - * graphite-scop-detection.c: Likewise. - * graphite-sese-to-poly.c: Likewise. - -2015-07-13 Tom de Vries - - * omp-low.c (build_receiver_ref): Mark *.omp_data_i as non-trapping. - -2015-07-13 Renlin Li - - PR rtl/66556 - * simplify-rtx.c (simplify_const_relational_operation): Add - side_effects_p checks. - -2015-07-12 Aldy Hernandez - - * bitmap.h: Fix double word typos. - * builtins.c: Same. - * calls.c: Same. - * cfgloopmanip.c: Same. - * cgraph.c: Same. - * cgraph.h: Same. - * cgraphclones.c: Same. - * combine.c: Same. - * config/aarch64/aarch64-protos.h: Same. - * config/aarch64/aarch64.c: Same. - * config/aarch64/aarch64.md: Same. - * config/arm/arm.md: Same. - * config/arm/arm1020e.md: Same. - * config/arm/arm1026ejs.md: Same. - * config/arm/arm926ejs.md: Same. - * config/arm/fa526.md: Same. - * config/arm/fa606te.md: Same. - * config/arm/fa626te.md: Same. - * config/arm/fa726te.md: Same. - * config/arm/fmp626.md: Same. - * config/darwin.c: Same. - * config/epiphany/epiphany.c: Same. - * config/frv/frv.c: Same. - * config/ft32/ft32.c: Same. - * config/gnu-user.h: Same. - * config/h8300/constraints.md: Same. - * config/i386/i386.c: Same. - * config/i386/i386.md: Same. - * config/iq2000/iq2000.md: Same. - * config/mips/mips.c: Same. - * config/mmix/mmix.md: Same. - * config/moxie/moxie.c: Same. - * config/nds32/nds32.md: Same. - * config/pa/pa.h: Same. - * config/rs6000/aix.h: Same. - * config/rs6000/rs6000.h: Same. - * config/sh/sh.c: Same. - * config/tilegx/tilegx.md: Same. - * config/tilepro/gen-mul-tables.cc: Same. - * cse.c: Same. - * dbxout.c: Same. - * doc/invoke.texi: Same. - * dse.c: Same. - * dwarf2out.c: Same. - * final.c: Same. - * gcc.c: Same. - * genmatch.c: Same. - * gimplify.c: Same. - * hash-table.h: Same. - * internal-fn.c: Same. - * ipa-cp.c: Same. - * ipa-devirt.c: Same. - * ipa-icf.c: Same. - * ipa-icf.h: Same. - * ipa-profile.c: Same. - * ipa-prop.c: Same. - * ipa-prop.h: Same. - * ira.c: Same. - * omp-low.c: Same. - * reg-stack.c: Same. - * regcprop.c: Same. - * reorg.c: Same. - * rtl.h: Same. - * sbitmap.h: Same. - * tree-eh.c: Same. - * tree-inline.c: Same. - * tree-sra.c: Same. - * tree-ssa-dom.c: Same. - * tree-ssa-loop-ivopts.c: Same. - * tree-ssa-structalias.c: Same. - * tree-ssa-tail-merge.c: Same. - * tree-ssa-ter.c: Same. - * tree-ssa-threadupdate.c: Same. - * tree-ssa-uninit.c: Same. - * tree-ssanames.c: Same. - * tree-vect-loop-manip.c: Same. - * tree-vrp.c: Same. - * tree.c: Same. - * valtrack.c: Same. - * vec.h: Same. - -2015-07-12 Kugan Vivekanandarajah - - PR middle-end/66726 - * tree-ssa-phiopt.c(factor_out_conditional_conversion): New function. - tree_ssa_phiopt_worker): Call it. - -2015-07-12 Kugan Vivekanandarajah - - * cse.c (cse_insn): Calculate src_eqv for ZERO_EXTRACT. - * emit-rtl.c (set_for_reg_notes): Allow ZERO_EXTRACT to set - REG_EQUAL note. - -2015-07-11 Marek Polacek - - PR middle-end/66353 - * basic-block.h (has_abnormal_call_or_eh_pred_edge_p): New function. - * ira-lives.c (bb_has_abnormal_call_pred): Remove function. - (process_bb_node_lives): Call has_abnormal_call_or_eh_pred_edge_p - rather than bb_has_abnormal_call_pred. - * lra-lives.c (bb_has_abnormal_call_pred): Remove function. - (process_bb_lives): Call has_abnormal_call_or_eh_pred_edge_p - rather than bb_has_abnormal_call_pred. - -2015-07-10 Anatoly Sokolov - - * config/v850/v850.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, - REG_OK_FOR_BASE_P_STRICT, REG_OK_FOR_INDEX_P_STRICT, STRICT, - RTX_OK_FOR_BASE_P, GO_IF_LEGITIMATE_ADDRESS): Remove macros. - * config/v850/v850.c (v850_reg_ok_for_base_, v850_rtx_ok_for_base_p, - v850_legitimate_address_p): New functions. - (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define. - -2015-07-10 H.J. Lu - - PR target/66819 - * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow - indirect sibcall with register arguments if register available - for argument passing. - (init_cumulative_args): Set cfun->machine->arg_reg_available - to (cum->nregs > 0) or to true if function has a variable - argument list. - (function_arg_advance_32): Set cfun->machine->arg_reg_available - to false if cum->nregs <= 0. - * config/i386/i386.h (machine_function): Add arg_reg_available. - -2015-07-10 Uros Bizjak - - * config/i386/sse.md (movdi_to_sse): Use gen_lowpart - and gen_higpart instead of gen_rtx_SUBREG. - * config/i386/i386.md - (floatdi2_i387_with_xmm splitter): Ditto. - (read-modify peephole2): Use gen_lowpart instead of - gen_rtx_SUBREG for operand 5. - -2015-07-10 Andrew MacLeod - - * config/tilepro/gen-mul-tables.cc (main): Change include list for - generated files. - * config/tilepro/mul-tables.c: Regenerate. - * config/tilegx/mul-tables.c: Regenerate. - -2015-07-10 Richard Biener - - * fold-const.c (distribute_bit_expr): Remove. - (fold_binary_loc): Move simplifying (A & C1) + (B & C2) - to (A & C1) | (B & C2), distributing (A & B) | (A & C) - to A & (B | C) and simplifying A << C1 << C2 to ... - * match.pd: ... patterns here. - -2015-07-10 Jiong Wang - - * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): - Mark mem as READONLY and NOTRAP for PIC symbol. - -2015-07-10 Andrew MacLeod - - * gimple-predict.h: New file. - (gimple_predict_predictor, gimple_predict_set_predictor, - gimple_predict_outcome, gimple_predict_set_outcome, - gimple_build_predict): Relocate here. - * gimple.h (gimple_predict_predictor, gimple_predict_set_predictor, - gimple_predict_outcome, gimple_predict_set_outcome): Move to - gimple-predict.h. - * gimple.c (gimple_build_predict): Move to gimple-predict.h - * basic-block.h: Don't include cfghooks.h. - * backend.h: Don't include predict.h. - * cfghooks.h: Include predict.h. - * gimple-pretty-print.c: Include gimple-predict.h. - * gimplify.c: Likwise. - * predict.c: Adjust includes. - * tree-inline.c: Likewise. - * asan.c: Likewise. - * auto-inc-dec.c: Likewise. - * auto-profile.c: Likewise. - * bb-reorder.c: Likewise. - * builtins.c: Likewise. - * caller-save.c: Likewise. - * calls.c: Likewise. - * cfganal.c: Likewise. - * cfgbuild.c: Likewise. - * cfg.c: Likewise. - * cfgcleanup.c: Likewise. - * cfgexpand.c: Likewise. - * cfghooks.c: Likewise. - * cfgloopanal.c: Likewise. - * cfgloop.c: Likewise. - * cfgloopmanip.c: Likewise. - * cfgrtl.c: Likewise. - * cgraph.c: Likewise. - * cgraphunit.c: Likewise. - * combine.c: Likewise. - * cprop.c: Likewise. - * cse.c: Likewise. - * dce.c: Likewise. - * dojump.c: Likewise. - * dse.c: Likewise. - * except.c: Likewise. - * expmed.c: Likewise. - * expr.c: Likewise. - * final.c: Likewise. - * fold-const.c: Likewise. - * function.c: Likewise. - * fwprop.c: Likewise. - * gcc-plugin.h: Likewise. - * gcse.c: Likewise. - * genattrtab.c: Likewise. - * genemit.c: Likewise. - * gengtype.c: Likewise. - * genopinit.c: Likewise. - * genoutput.c: Likewise. - * genpreds.c: Likewise. - * genrecog.c: Likewise. - * gimple-fold.c: Likewise. - * gimple-iterator.c: Likewise. - * gimple-ssa-isolate-paths.c: Likewise. - * gimple-ssa-strength-reduction.c: Likewise. - * graph.c: Likewise. - * graphite-blocking.c: Likewise. - * graphite.c: Likewise. - * graphite-dependences.c: Likewise. - * graphite-interchange.c: Likewise. - * graphite-isl-ast-to-gimple.c: Likewise. - * graphite-optimize-isl.c: Likewise. - * graphite-poly.c: Likewise. - * graphite-scop-detection.c: Likewise. - * graphite-sese-to-poly.c: Likewise. - * haifa-sched.c: Likewise. - * ifcvt.c: Likewise. - * internal-fn.c: Likewise. - * ipa-cp.c: Likewise. - * ipa-profile.c: Likewise. - * ipa-split.c: Likewise. - * ipa-utils.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. - * jump.c: Likewise. - * loop-doloop.c: Likewise. - * loop-init.c: Likewise. - * loop-invariant.c: Likewise. - * loop-unroll.c: Likewise. - * lower-subreg.c: Likewise. - * lra-assigns.c: Likewise. - * lra.c: Likewise. - * lra-coalesce.c: Likewise. - * lra-constraints.c: Likewise. - * lra-lives.c: Likewise. - * lto-cgraph.c: Likewise. - * lto-streamer-in.c: Likewise. - * mode-switching.c: Likewise. - * modulo-sched.c: Likewise. - * omp-low.c: Likewise. - * optabs.c: Likewise. - * passes.c: Likewise. - * postreload.c: Likewise. - * postreload-gcse.c: Likewise. - * profile.c: Likewise. - * recog.c: Likewise. - * regstat.c: Likewise. - * reload1.c: Likewise. - * reorg.c: Likewise. - * rtlanal.c: Likewise. - * sched-ebb.c: Likewise. - * sel-sched-ir.c: Likewise. - * sese.c: Likewise. - * shrink-wrap.c: Likewise. - * simplify-rtx.c: Likewise. - * stmt.c: Likewise. - * store-motion.c: Likewise. - * tracer.c: Likewise. - * trans-mem.c: Likewise. - * tree-call-cdce.c: Likewise. - * tree-cfg.c: Likewise. - * tree-cfgcleanup.c: Likewise. - * tree-chkp.c: Likewise. - * tree-complex.c: Likewise. - * tree-eh.c: Likewise. - * tree-if-conv.c: Likewise. - * tree-loop-distribution.c: Likewise. - * tree-outof-ssa.c: Likewise. - * tree-parloops.c: Likewise. - * tree-predcom.c: Likewise. - * tree-pretty-print.c: Likewise. - * tree-profile.c: Likewise. - * tree-sra.c: Likewise. - * tree-ssa.c: Likewise. - * tree-ssa-coalesce.c: Likewise. - * tree-ssa-dce.c: Likewise. - * tree-ssa-dom.c: Likewise. - * tree-ssa-forwprop.c: Likewise. - * tree-ssa-ifcombine.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-prefetch.c: Likewise. - * tree-ssa-loop-unswitch.c: Likewise. - * tree-ssa-math-opts.c: Likewise. - * tree-ssa-phiopt.c: Likewise. - * tree-ssa-pre.c: Likewise. - * tree-ssa-reassoc.c: Likewise. - * tree-ssa-sink.c: Likewise. - * tree-ssa-tail-merge.c: Likewise. - * tree-ssa-threadedge.c: Likewise. - * tree-ssa-threadupdate.c: Likewise. - * tree-switch-conversion.c: Likewise. - * tree-tailcall.c: Likewise. - * tree-vect-data-refs.c: Likewise. - * tree-vect-loop.c: Likewise. - * tree-vect-loop-manip.c: Likewise. - * tree-vectorizer.c: Likewise. - * tree-vrp.c: Likewise. - * ubsan.c: Likewise. - * value-prof.c: Likewise. - * varasm.c: Likewise. - * var-tracking.c: Likewise. - * config/aarch64/aarch64-builtins.c: Likewise. - * config/aarch64/aarch64.c: Likewise. - * config/aarch64/cortex-a57-fma-steering.c: Likewise. - * config/alpha/alpha.c: Likewise. - * config/arc/arc.c: Likewise. - * config/arm/arm.c: Likewise. - * config/avr/avr.c: Likewise. - * config/bfin/bfin.c: Likewise. - * config/c6x/c6x.c: Likewise. - * config/cr16/cr16.c: Likewise. - * config/cris/cris.c: Likewise. - * config/darwin.c: Likewise. - * config/darwin-c.c: Likewise. - * config/epiphany/epiphany.c: Likewise. - * config/epiphany/mode-switch-use.c: Likewise. - * config/epiphany/resolve-sw-modes.c: Likewise. - * config/fr30/fr30.c: Likewise. - * config/frv/frv.c: Likewise. - * config/ft32/ft32.c: Likewise. - * config/h8300/h8300.c: Likewise. - * config/i386/i386.c: Likewise. - * config/i386/winnt.c: Likewise. - * config/ia64/ia64.c: Likewise. - * config/iq2000/iq2000.c: Likewise. - * config/lm32/lm32.c: Likewise. - * config/m32c/m32c.c: Likewise. - * config/m32r/m32r.c: Likewise. - * config/m68k/m68k.c: Likewise. - * config/mcore/mcore.c: Likewise. - * config/mep/mep.c: Likewise. - * config/microblaze/microblaze.c: Likewise. - * config/mips/mips.c: Likewise. - * config/mmix/mmix.c: Likewise. - * config/mn10300/mn10300.c: Likewise. - * config/moxie/moxie.c: Likewise. - * config/msp430/msp430.c: Likewise. - * config/nds32/nds32.c: Likewise. - * config/nds32/nds32-cost.c: Likewise. - * config/nds32/nds32-fp-as-gp.c: Likewise. - * config/nds32/nds32-intrinsic.c: Likewise. - * config/nds32/nds32-isr.c: Likewise. - * config/nds32/nds32-md-auxiliary.c: Likewise. - * config/nds32/nds32-memory-manipulation.c: Likewise. - * config/nds32/nds32-pipelines-auxiliary.c: Likewise. - * config/nds32/nds32-predicates.c: Likewise. - * config/nios2/nios2.c: Likewise. - * config/nvptx/nvptx.c: Likewise. - * config/pa/pa.c: Likewise. - * config/pdp11/pdp11.c: Likewise. - * config/rl78/rl78.c: Likewise. - * config/rs6000/rs6000.c: Likewise. - * config/rx/rx.c: Likewise. - * config/s390/s390.c: Likewise. - * config/sh/sh.c: Likewise. - * config/sh/sh-mem.cc: Likewise. - * config/sh/sh_optimize_sett_clrt.cc: Likewise. - * config/sh/sh_treg_combine.cc: Likewise. - * config/sparc/sparc.c: Likewise. - * config/spu/spu.c: Likewise. - * config/stormy16/stormy16.c: Likewise. - * config/tilegx/tilegx.c: Likewise. - * config/tilepro/tilepro.c: Likewise. - * config/v850/v850.c: Likewise. - * config/vax/vax.c: Likewise. - * config/visium/visium.c: Likewise. - * config/xtensa/xtensa.c: Likewise. - -2015-07-10 Richard Biener - - * genmatch.c (dt_node::gen_kids_1): Fix indenting of case labels. - (decision_tree::gen_gimple): Likewise. - (decision_tree::gen_generic): Likewise. - -2015-07-10 Uros Bizjak - - PR target/66813 - * config/i386/i386.c (ix86_md_asm_adjust): Emit movstrictqi - sequence for TARGET_ZERO_EXTEND_WITH_AND targets. - -2015-07-10 Jakub Jelinek - - PR middle-end/66820 - * gimplify.c (maybe_fold_stmt): Don't fold in ORT_PARALLEL - or ORT_TASK contexts. - * omp-low.c (lower_omp): Call fold_stmt even if taskreg_nesting_level - is non-zero. - -2015-07-10 Kyrylo Tkachov - - * expr.c (expand_cond_expr_using_cmove): Fix typos in comment - above function. - -2015-07-10 Tom de Vries - - * tree-parloops.c (try_transform_to_exit_first_loop_alt): If not found, - insert nit + 1 bound. - -2015-07-10 Richard Biener - - * tree-if-conv.c (if_convertible_gimple_assign_stmt_p): - Use ifcvt_could_trap_p also when not flag_tree_loop_if_convert_stores. - (if_convertible_loop_p_1): For this always compute bb predicates. - (if_convertible_loop_p): And free them. - -2015-07-10 Bernhard Reutner-Fischer - - * ipa-icf.c (sem_item_optimizer::do_congruence_step): Fix typo - in dump message. - -2015-07-10 Richard Biener - - PR tree-optimization/66823 - * tree-if-conv.c (memrefs_read_or_written_unconditionally): Fix - inverted predicate. - -2015-07-09 Steve Ellcey - - * config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): Update - to handle mips[32|64]r3 and mips[32|64]r5. - -2015-07-09 Jakub Jelinek - - PR middle-end/66633 - * tree-nested.c (get_static_chain): Or in a flag into - info->static_chain_added. - (get_frame_field, get_nonlocal_debug_decl): Likewise. - (convert_nonlocal_omp_clauses, convert_local_omp_clauses): Revert - 2015-07-01 changes. - (convert_tramp_reference_stmt): If a frame_decl or chain_decl - is needed newly inside of GIMPLE_OMP_{PARALLEL,TASK,TARGET} body, - add it to clauses. - - PR tree-optimization/66718 - * tree-vect-stmts.c (struct simd_call_arg_info): Add simd_lane_linear - field. - (vect_simd_lane_linear): New function. - (vectorizable_simd_clone_call): Support using linear arguments for - addresses of arrays elements indexed by GOMP_SIMD_LANE result. - -2015-07-09 H.J. Lu - - PR target/66821 - * config/i386/i386.c (iamcu_cost): Adjust variable shift costs. - -2015-07-09 Michael Meissner - - * config/rs6000/rs6000-protos.h (rs6000_secondary_reload_memory): - Use machine mode, not enum machine_mode in the prototype. - - * config/rs6000/rs6000.h (FLOAT128_IEEE_P): New helper macros to - classify 128-bit floating point support. - (FLOAT128_IBM_P): Likewise. - (FLOAT128_VECTOR_P): Likewise. - (FLOAT128_2REG_P): Likewise. - (SCALAR_FLOAT_MODE_NOT_VECTOR_P): Likewise. - (SLOW_UNALIGNED_ACCESS): Add IEEE 128-bit floating point support. - (HARD_REGNO_CALLER_SAVE_MODE): Likewise. - (HARD_REGNO_CALL_PART_CLOBBERED): Likewise. - - * config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Drop - tests against TFmode/TDmode, since those modes do not use VSX - addresses. - (rs6000_hard_regno_mode_ok): Add IEEE 128-bit floating point - support. - (rs6000_init_hard_regno_mode_ok): Use new helper macros instead of - tests against TFmode, etc. - (invalid_e500_subreg): Add tests against IFmode/KFmode. - (reg_offset_addressing_ok_p): Likewise. - (rs6000_legitimate_offset_address_p): Likewise. - (rs6000_legitimize_address): Likewise. - (rs6000_legitimize_reload_address): Likewise. - (rs6000_legitimate_address_p): Clean up tests against TFmode and - TDmode to use the new helper macros, which will include IFmode and - KFmode. - (rs6000_emit_move): Likewise. - (rs6000_darwin64_record_arg_recurse): Likewise. - (print_operand): Likewise. - (rs6000_member_type_forces_blk): Treat IEEE 128-bit floating point - that uses a single vector register as a vector and not as a - floating point register in terms of the calling sequence. - (rs6000_discover_homogeneous_aggregate): Likewise. - (rs6000_return_in_memory): Likewise. - (init_cumulative_args): Likewise. - (rs6000_function_arg_boundary): Likewise. - (rs6000_function_arg_advance_1): Likewise. - (rs6000_function_arg): Likewise. - (rs6000_pass_by_reference): Likewise. - (rs6000_gimplify_va_arg): Likewise. - (rs6000_secondary_reload_memory): Use machine_mode not enum - machine mode. - (rs6000_split_multireg_move): Use new helper macros. - (spe_func_has_64bit_regs_p): Likewise. - (rs6000_output_function_epilogue): Add IFmode/KFmode support. - (output_toc): Use new helper macros. - (rs6000_register_move_cost): Likewise. - (rs6000_function_value): Add IEEE 128-bit floating point calling - sequence support. - (rs6000_libcall_value): Likewise. - (rs6000_scalar_mode_supported_p): Add support for IEEE 128-bit - floating point support. - (rs6000_vector_mode_supported_p): Likewise. - -2015-07-09 Vladimir Makarov - - PR rtl-optimization/66782 - * lra-int.h (struct lra_insn_recog_data): Add comment about - clobbered hard regs for arg_hard_regs. - * lra.c (lra_set_insn_recog_data): Add clobbered hard regs. - * lra-lives.c (process_bb_lives): Process clobbered hard regs. - Add condition for processing used hard regs. - * lra-constraints.c (update_ebb_live_info, inherit_in_ebb): - Process clobbered hard regs. - -2015-07-09 Michael Matz - - * genmatch.c (fprintf_indent): New function. - (operand::gen_transform): Add indent parameter. - (expr::gen_transform, c_expr::gen_transform, - capture::gen_transform): Ditto and use fprintf_indent. - (dt_node::gen, dt_node::gen_kids, dt_node::gen_kids_1): Ditto. - (dt_operand::gen, dt_operand::gen_predicate, - dt_operand::gen_match_op, dt_operand::gen_gimple_expr, - dt_operand::gen_generic_expr, dt_simplify::gen): Ditto. - (decision_tree::gen_gimple): Adjust calls and indent generated - code. - (decision_tree::gen_generic): Ditto. - (write_predicate): Ditto. - -2015-07-08 Uros Bizjak - - PR target/66814 - * config/i386/predicates.md (nonimmediate_gr_operand): New predicate. - * config/i386/i386.md (not peephole2): Use nonimmediate_gr_operand. - (varous peephole2s): Use {GENERAL,SSE,MMX}_REGNO_P instead of - {GENERAL,SSE,MMX}_REG_P where appropriate. - -2015-07-09 Andrew MacLeod - - * lto-streamer.h: Don't include target.h and alloc-pool.h. - * builtins.c: Adjust includes. - * gimple.c: Likewise. - * ipa-icf.c: Likewise. - * lto-opts.c: Likewise. - * ipa-reference.c: Likewise. - * lto-section-out.c: Likewise. - * lto-streamer-in.c: Likewise. - * lto-streamer-out.c: Likewise. - * opts-global.c: Likewise. - * symtab.c: Likewise. - * tree-chkp.c: Likewise. - * tree-ssa-live.c: Likewise. - * tree-streamer-in.c: Likewise. - * tree-streamer-out.c: Likewise. - * config/darwin.c: Likewise. - * config/i386/winnt.c: Likewise. - -2015-07-09 Richard Biener - - * genmatch.c (struct expr): Add force_single_use flag. - (expr::expr): Add copy constructor. - (capture_info::walk_match): Gather force_single_use captures. - (expr::gen_transform): Use possibly NULLified sequence. - (dt_simplify::gen): Apply single-use restrictions by NULLifying - seq if any constrained expr is not single-use. - (parser::parse_expr): Refactor to allow multiple flags. Handle - 's' flag to force an expression have a single-use if the pattern - simplifies to more than one statement. - * match.pd: Convert most single_use conditionals to :s flags. - -2015-07-09 H.J. Lu - - * config/i386/iamcu.h (ASM_OUTPUT_ALIGNED_BSS): New. - (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise. - (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise. - -2015-07-09 Andrew MacLeod - - * flags.h: Don't include flag-types.h or options.h. - * opts-common.c: Adjust includes. - * opts-global.c: Likewise. - * common/config/epiphany/epiphany-common.c: Likewise. - -2015-07-09 H.J. Lu - - PR target/66818 - * config/i386/i386.h (ATTRIBUTE_ALIGNED_VALUE): Defined to 32 - for IA MCU. - -2015-07-09 H.J. Lu - - PR target/66817 - * config/i386/i386.c (ix86_return_in_memory): Return true - if int_size_in_bytes returns negative for IA MCU. - -2015-07-09 Marek Polacek - - PR tree-optimization/66718 - * Makefile.in (OBJS): Add gimple-laddress.o. - * passes.def: Schedule pass_laddress. - * timevar.def (DEFTIMEVAR): Add TV_GIMPLE_LADDRESS. - * tree-pass.h (make_pass_laddress): Declare. - * gimple-laddress.c: New file. - -2015-07-09 Richard Biener - - * toplev.c (compile_file): Reset maximum_field_alignment after parsing. - -2015-07-09 Richard Biener - - PR tree-optimization/66807 - * tree-chkp-opt.c (chkp_opt_fini): Free post dominator info. - -2015-07-08 Kito Cheng - - * function.c (stack_protect_epilogue): Use if rather than switch for - check targetm.have_stack_protect_test. - -2015-07-08 Trevor Saunders - - * defaults.h: Provide default for WORD_REGISTER_OPERATIONS. - * config/alpha/alpha.h: Define WORD_REGISTER_OPERATIONS to 1. - * config/arc/arc.h: Likewise. - * config/arm/arm.h: Likewise. - * config/bfin/bfin.h: Likewise. - * config/epiphany/epiphany.h: Likewise. - * config/frv/frv.h: Likewise. - * config/ia64/ia64.h: Likewise. - * config/iq2000/iq2000.h: Likewise. - * config/lm32/lm32.h: Likewise. - * config/m32r/m32r.h: Likewise. - * config/mcore/mcore.h: Likewise. - * config/mep/mep.h: Likewise. - * config/microblaze/microblaze.h: Likewise. - * config/mips/mips.h: Likewise. - * config/mmix/mmix.h: Likewise. - * config/mn10300/mn10300.h: Likewise. - * config/nds32/nds32.h: Likewise. - * config/nios2/nios2.h: Likewise. - * config/pa/pa.h: Likewise. - * config/rl78/rl78.h: Likewise. - * config/sh/sh.h: Likewise. - * config/sparc/sparc.h: Likewise. - * config/stormy16/stormy16.h: Likewise. - * config/tilegx/tilegx.h: Likewise. - * config/tilepro/tilepro.h: Likewise. - * config/v850/v850.h: Likewise. - * config/xtensa/xtensa.h: Likewise. - * doc/tm.texi: Regenerate. - * doc/tm.texi.in: Adjust. - * combine.c (simplify_set): Likewise. - (simplify_comparison): Likewise. - * expr.c (store_constructor): Likewise. - * internal-fn.c (expand_arith_overflow): Likewise. - * reload.c (push_reload): Likewise. - (find_reloads): Likewise. - (find_reloads_subreg_address): Likewise. - * reload1.c (eliminate_regs_1): Likewise. - * rtlanal.c (nonzero_bits1): Likewise. - (num_sign_bit_copies1): Likewise. - * simplify-rtx.c (simplify_truncation): Likewise. - -2015-07-08 Trevor Saunders - - * auto-inc-dec.c (pass_inc_dec::execute): Don't check the value - of AUTO_INC_DEC with the preprocessor. - * combine.c (combine_instructions): Likewise. - (can_combine_p): Likewise. - (try_combine): Likewise. - * emit-rtl.c (try_split): Likewise. - * loop-invariant.c (calculate_loop_reg_pressure): Likewise. - * lower-subreg.c (resolve_simple_move): Likewise. - * lra.c (update_inc_notes): Likewise. - * recog.c (asm_operand_ok): Likewise. - (constrain_operands): Likewise. - * regrename.c (scan_rtx_address): Likewise. - * reload.c (update_auto_inc_notes): Likewise. - (reg_inc_found_and_valid_p): Likewise. - * reload1.c (reload): Likewise. - (emit_input_reload_insns): Likewise. - (delete_output_reload): Likewise. - * sched-deps.c (init_insn_reg_pressure_info): Likewise. - * valtrack.c (cleanup_auto_inc_dec): Likewise. - -2015-07-08 Trevor Saunders - - * rtl.h: Always define AUTO_INC_DEC. - * auto-inc-dec.c (pass_inc_dec::execute): Adjust. - * combine.c (combine_instructions): Likewise. - (can_combine_p): Likewise. - (try_combine): Likewise. - * emit-rtl.c (try_split): Likewise. - * loop-invariant.c (calculate_loop_reg_pressure): Likewise. - * lower-subreg.c (resolve_simple_move): Likewise. - * lra.c (update_inc_notes): Likewise. - * recog.c (asm_operand_ok): Likewise. - (constrain_operands): Likewise. - * regrename.c (scan_rtx_address): Likewise. - * reload.c (update_auto_inc_notes): Likewise. - (find_equiv_reg): Likewise. - * reload1.c (reload): Likewise. - (reload_as_needed): Likewise. - (choose_reload_regs): Likewise. - (emit_input_reload_insns): Likewise. - (delete_output_reload): Likewise. - * sched-deps.c (init_insn_reg_pressure_info): Likewise. - * valtrack.c (cleanup_auto_inc_dec): Likewise. - -2015-07-08 Trevor Saunders - - * combine.c (can_combine_def_p): Don't check the value of - HARD_FRAME_POINTER_IS_FRAME_POINTER with the preprocessor. - (combinable_i3pat): Likewise. - (mark_used_regs_combine): Likewise. - * regrename.c (rename_chains): Likewise. - * reload.c (find_reloads_address): Likewise. - * sel-sched.c (mark_unavailable_hard_regs): Likewise. - -2015-07-08 Trevor Saunders - - * combine.c (update_rsp_from_reg_equal): Don't check if - SHORT_IMMEDIATES_SIGN_EXTEND is defined. - (reg_nonzero_bits_for_combine): Likewise. - * config/alpha/alpha.h: Define SHORT_IMMEDIATES_SIGN_EXTEND to - 1. - * config/frv/frv.h: Likewise. - * config/lm32/lm32.h: Likewise. - * config/mep/mep.h: Likewise. - * config/mips/mips.h: Likewise. - * config/rs6000/rs6000.h: Likewise. - * config/sh/sh.h: Likewise. - * config/tilegx/tilegx.h (enum reg_class): Likewise. - * config/tilepro/tilepro.h: Likewise. - * defaults.h: Add default for SHORT_IMMEDIATES_SIGN_EXTEND. - * doc/tm.texi: Regenerate. - * doc/tm.texi.in: Adjust. - * rtlanal.c (nonzero_bits1): Likewise. - -2015-07-08 Trevor Saunders - - * combine.c (do_SUBST_MODE): Don't check the value of HAVE_cc0 - with the preprocessor. - (combine_instructions): Likewise. - (try_combine): Likewise. - (subst): Likewise. - (distribute_notes): Likewise. - -2015-07-08 Trevor Saunders - - * combine.c (try_combine): Don't check if LOAD_EXTEND_OP is - defined. - (simplify_set): Likewise. - * cse.c (cse_insn): Likewise. - * fold-const.c (fold_single_bit_test): Likewise. - (fold_unary_loc): Likewise. - * postreload.c (reload_cse_simplify_set): Likewise. - (reload_cse_simplify_operands): Likewise. - -2015-07-08 Jiong Wang - - * config/aarch64/aarch64.c (aarch64_unspec_may_trap_p): New function. - (TARGET_UNSPEC_MAY_TRAP_P): Define as aarch64_unspec_may_trap_p. - -2015-07-08 H.J. Lu - - PR target/66746 - * config/i386/x86intrin.h: Include even if - __iamcu__ is defined. - -2015-07-08 Uros Bizjak - - * config/i386/predicates.md (general_reg_operand): Use GENERAL_REGNO_P. - -2015-07-08 Iain Sandoe - - PR target/66523 - * config/darwin.c (darwin_mark_decl_preserved): Exclude 'L' label - names from preservation. - -2015-07-08 H.J. Lu - - PR target/66806 - * config/i386/i386.c (type_natural_mode): Don't warn vector ABI - change for IAMCU. - (function_arg_advance_32): Don't pass vectors in registers for - IAMCU. - (function_arg_32): Likewise. - (ix86_return_in_memory): Don't return vectors in registers for - IAMCU. - -2015-07-08 Vladimir Makarov - - PR middle-end/66334 - * ira-lives.c (process_bb_node_lives): Make conflicts with PIC - hard regno live at the start of BB with incoming abnormal edges. - * lra-lives.c (process_bb_lives): Ditto. - -2015-07-08 Thomas Schwinge - - PR libgomp/65099 - * config/nvptx/mkoffload.c (main): Create an offload image only in - 64-bit configurations. - -2015-07-08 Martin Liska - - PR bootstrap/66744 - * tree-sra.c (create_access_1): Call ctor without brackets. - (create_artificial_child_access): Likewise. - -2015-07-08 Richard Biener - - PR tree-optimization/66793 - * gimple-ssa-isolate-paths.c (insert_trap_and_remove_trailing_statemen): - Properly split the block after stmts ending it. - -2015-07-08 Richard Biener - - PR tree-optimization/66794 - * passes.c (execute_function_todo): Assert that post-dominators - are not computed. - * gimple-ssa-isolate-paths.c (gimple_ssa_isolate_erroneous_paths): - Free post-dominators. - -2015-07-08 Andreas Krebbel - - * config/s390/s390.c (s390_init_frame_layout): Replace assertion - with early exit. - -2015-07-08 Uros Bizjak - - * config/i386/i386.md (*jcc_bt): Only allow const_int values - more than or equal 8 and less than 32 when optimizing for size. - -2015-07-08 Kyrylo Tkachov - - * config/arm/arm.c (arm_new_rtx_costs): Initialise cost to - COSTS_N_INSNS (1) and increment it appropriately throughout the - function. - -2015-07-08 Richard Biener - - * fold-const.c (fold_widened_comparison): Fix inverted comparison. - -2015-07-08 Alan Modra - - * target.def (rtx_costs): Remove "code" param, add "mode". - * rtl.h (rtx_cost, get_full_rtx_cost): Update prototype. - (set_src_cost, get_full_set_src_cost): Likewise. Move later in file. - (set_rtx_cost, get_full_set_rtx_cost): Move later in file. - * rtlanal.c (rtx_cost): Add "mode" parameter. Update targetm.rtx_costs - call. Track mode when given in rtx. - (get_full_rtx_cost): Add "mode" parameter. Update rtx_cost calls. - (default_address_cost): Pass Pmode to rtx_cost. - (insn_rtx_cost): Pass dest mode of set to set_src_cost. - * cprop.c (try_replace_reg): Ensure set_rtx_cost is not called - with NULL set. - * cse.c (COST, COST_IN): Add MODE param. Update all uses. - (notreg_cost): Add mode param. Use it. - * gcse.c (want_to_gcse_p): Delete forward declaration. Add - mode param and pass to set_src_cost. Update all calls. - (hash_scan_set): Formatting. - * hooks.c (hook_bool_rtx_int_int_int_intp_bool_false): Delete. - (hook_bool_rtx_mode_int_int_intp_bool_false): New function. - * hooks.h: Ditto. - * expmed.c (init_expmed_one_conv, init_expmed_one_mode, - init_expmed, expand_mult, mult_by_coeff_cost, expand_smod_pow2, - emit_store_flag): Update set_src_cost and rtx_cost calls. - * auto-inc-dec.c (attempt_change): Likewise. - * calls.c (precompute_register_parameters): Likewise. - * combine.c (expand_compound_operation, make_extraction, - force_to_mode, distribute_and_simplify_rtx): Likewise. - * dojump.c (prefer_and_bit_test): Likewise. - * dse.c (find_shift_sequence): Likewise. - * expr.c (compress_float_constant): Likewise. - * fwprop.c (should_replace_address, try_fwprop_subst): Likewise. - * ifcvt.c (noce_try_sign_mask): Likewise. - * loop-doloop.c (doloop_optimize): Likewise. - * loop-invariant.c (create_new_invariant): Likewise. - * lower-subreg.c (shift_cost, compute_costs): Likewise. - * optabs.c (avoid_expensive_constant, prepare_cmp_insn, - lshift_cheap_p): Likewise. - * postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands, - try_replace_in_use, reload_cse_move2add): Likewise. - * reload1.c (calculate_elim_costs_all_insns, note_reg_elim_costly): - Likewise. - * simplify-rtx.c (simplify_binary_operation_1): Likewise. - * tree-ssa-loop-ivopts.c (computation_cost): Likewise. - * tree-ssa-reassoc.c (optimize_range_tests_to_bit_test): Likewise. - * tree-switch-conversion.c (emit_case_bit_tests): Likewise. - * config/aarch64/aarch64.c (aarch64_rtx_costs): Delete "code" param, - add "mode" param. Use "mode: in place of GET_MODE (x). Pass mode - to rtx_cost calls. - * config/alpha/alpha.c (alpha_rtx_costs): Likewise. - * config/arc/arc.c (arc_rtx_costs): Likewise. - * config/arm/arm.c (arm_rtx_costs): Likewise. - * config/avr/avr.c (avr_rtx_costs, avr_rtx_costs_1): Likewise. - * config/bfin/bfin.c (bfin_rtx_costs): Likewise. - * config/c6x/c6x.c (c6x_rtx_costs): Likewise. - * config/cris/cris.c (cris_rtx_costs): Likewise. - * config/epiphany/epiphany.c (epiphany_rtx_costs): Likewise. - * config/frv/frv.c (frv_rtx_costs): Likewise. - * config/h8300/h8300.c (h8300_rtx_costs): Likewise. - * config/i386/i386.c (ix86_rtx_costs): Likewise. - * config/ia64/ia64.c (ia64_rtx_costs): Likewise. - * config/iq2000/iq2000.c (iq2000_rtx_costs): Likewise. - * config/lm32/lm32.c (lm32_rtx_costs): Likewise. - * config/m32c/m32c.c (m32c_rtx_costs): Likewise. - * config/m32r/m32r.c (m32r_rtx_costs): Likewise. - * config/m68k/m68k.c (m68k_rtx_costs): Likewise. - * config/mcore/mcore.c (mcore_rtx_costs): Likewise. - * config/mep/mep.c (mep_rtx_cost): Likewise. - * config/microblaze/microblaze.c (microblaze_rtx_costs): Likewise. - * config/mips/mips.c (mips_rtx_costs): Likewise. - * config/mmix/mmix.c (mmix_rtx_costs): Likewise. - * config/mn10300/mn10300.c (mn10300_rtx_costs): Likewise. - * config/msp430/msp430.c (msp430_rtx_costs): Likewise. - * config/nds32/nds32-cost.c (nds32_rtx_costs_impl): Likewise. - * config/nds32/nds32-protos.h (nds32_rtx_costs_impl): Likewise. - * config/nds32/nds32.c (nds32_rtx_costs): Likewise. - * config/nios2/nios2.c (nios2_rtx_costs): Likewise. - * config/pa/pa.c (hppa_rtx_costs): Likewise. - * config/pdp11/pdp11.c (pdp11_rtx_costs): Likewise. - * config/rl78/rl78.c (rl78_rtx_costs): Likewise. - * config/rs6000/rs6000.c (rs6000_rtx_costs): Likewise. - * config/s390/s390.c (s390_rtx_costs): Likewise. - * config/sh/sh.c (sh_rtx_costs): Likewise. - * config/sparc/sparc.c (sparc_rtx_costs): Likewise. - * config/spu/spu.c (spu_rtx_costs): Likewise. - * config/stormy16/stormy16.c (xstormy16_rtx_costs): Likewise. - * config/tilegx/tilegx.c (tilegx_rtx_costs): Likewise. - * config/tilepro/tilepro.c (tilepro_rtx_costs): Likewise. - * config/v850/v850.c (v850_rtx_costs): Likewise. - * config/vax/vax.c (vax_rtx_costs): Likewise. - * config/visium/visium.c (visium_rtx_costs): Likewise. - * config/xtensa/xtensa.c (xtensa_rtx_costs): Likewise. - * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Change type of - "code" param, and pass as outer_code to first rtx_cost call. Pass - mode to rtx_cost calls. - (aarch64_address_cost, aarch64_if_then_else_costs): Update rtx_cost - calls. - (aarch64_rtx_costs_wrapper): Update. - * config/arm/arm.c (arm_rtx_costs_1, arm_size_rtx_costs, - arm_unspec_cost, arm_new_rtx_costs, arm_slowmul_rtx_costs): Update - rtx_cost calls. - * config/avr/avr.c (avr_final_prescan_insn): Update set_src_cost - and rtx_cost calls. - (avr_operand_rtx_cost): Similarly. - (avr_rtx_costs_1): Correct mode passed to avr_operand_rtx_cost - for subexpressions of ZERO_EXTEND, SIGN_EXTEND and COMPARE. - * config/mips/mips.c (mips_stack_address_p): Comment typo. - (mips_binary_cost): Update rtx_cost and set_src_cost calls. - (mips_rtx_costs): Use GET_MODE (x) to detect const_int. - * config/mn10300/mn10300.c (mn10300_address_cost): Pass Pmode to - rtx_cost. - (mn10300_rtx_costs): Correct mode passed to mn10300_address_cost. - * config/rs6000/rs6000.c (rs6000_debug_rtx_costs): Update. - * config/sh/sh.c (and_xor_ior_costs): Update rtx_cost call. - * doc/tm.texi: Regenerate. - -2015-07-07 Andrew MacLeod - - * tree-core.h: Include symtab.h. - * rtl.h: Include hard-reg-set.h but not flags.h. - (HARD_CONST): Remove condition compilation involving HARD_CONST since - hard-reg-set.h is always included. - * regs.h: Don't include hard-reg-set.h or rtl.h. - * cfg.h: Include dominance.h. - * gimple.h: Include tree-ssa-alias.h and gimple-expr.h. - * backend.h: New. Aggregate commonly used backend header files. - * gimple-ssa.h: Don't include tree-hasher.h. - * ssa.h: New. Aggregate commonly used SSA header files. - * regset.h: Remove bitmap.h and hard-reg-set.h #includes. - * sel-sched-ir.h: Flatten includes. - * lra-int.h: Flatten completely. - * sel-sched-dump.h: Flatten includes. - * ira-int.h: Flatten includes. - * gimple-streamer.h: Remove all includes. - * cfgloop.h: Remove all #includes except cfgloopmanip.h. - * resource.h: Flatten hard-reg-set.h and df.h. - * sched-int.h: Flatten insn-arrt.h and df.h. - * valtrack.h: flatten bitmap.h, df.h, and rtl.h - * df.h: Flatten includes, leaving regset.h, alloc-pool.h and timevar.h. - * genattrtab.c (write_header): Adjust generated includes. - * genautomata.c (main): Likewise. - * genconditions.c (write-header): Likewise. - * genemit.c (main): Likewise. - * gengtype.c (open_base_files): Likewise. - * genopinit.c (main): Likewise. - * genoutput.c (output_prologue): Likewise. - * genpeep.c (main): Likewise. - * genpreds.c (write_insn_preds_c): Likewise. - * genrecog.c (write_header): Likewise. - * alias.c: Adjust includes. - * 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. - * 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. - * et-forest.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. - * gcc-plugin.h: Likewise. - * gcse-common.c: Likewise. - * gcse.c: Likewise. - * generic-match-head.c: Likewise. - * ggc-page.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-blocking.c: Likewise. - * graphite-dependences.c: Likewise. - * graphite-interchange.c: Likewise. - * graphite-isl-ast-to-gimple.c: Likewise. - * graphite-optimize-isl.c: Likewise. - * graphite-poly.c: Likewise. - * graphite-scop-detection.c: Likewise. - * graphite-sese-to-poly.c: Likewise. - * graphite.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. - * 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. - * omega.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-rtl.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. - * rtlanal.c: Likewise. - * rtlhooks.c: Likewise. - * sanopt.c: Likewise. - * sched-deps.c: Likewise. - * sched-ebb.c: Likewise. - * sched-rgn.c: Likewise. - * sched-vis.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. - * 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-browser.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-copyrename.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. - * valtrack.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.cc: Likewise. - * xcoffout.c: Likewise. - * config/aarch64/aarch64-builtins.c: Likewise. - * config/aarch64/aarch64.c: Likewise. - * config/aarch64/cortex-a57-fma-steering.c: Likewise. - * config/alpha/alpha.c: Likewise. - * config/arc/arc.c: Likewise. - * config/arm/aarch-common.c: Likewise. - * config/arm/arm-builtins.c: Likewise. - * config/arm/arm-c.c: Likewise. - * config/arm/arm.c: Likewise. - * config/avr/avr-c.c: Likewise. - * config/avr/avr-log.c: Likewise. - * config/avr/avr.c: Likewise. - * config/bfin/bfin.c: Likewise. - * config/c6x/c6x.c: Likewise. - * config/cr16/cr16.c: Likewise. - * config/cris/cris.c: Likewise. - * config/darwin-c.c: Likewise. - * config/darwin.c: Likewise. - * config/epiphany/epiphany.c: Likewise. - * config/epiphany/mode-switch-use.c: Likewise. - * config/epiphany/resolve-sw-modes.c: Likewise. - * config/fr30/fr30.c: Likewise. - * config/frv/frv.c: Likewise. - * config/ft32/ft32.c: Likewise. - * config/h8300/h8300.c: Likewise. - * config/i386/i386-c.c: Likewise. - * config/i386/i386.c: Likewise. - * config/i386/msformat-c.c: Likewise. - * config/i386/winnt-cxx.c: Likewise. - * config/i386/winnt-stubs.c: Likewise. - * config/i386/winnt.c: Likewise. - * config/ia64/ia64-c.c: Likewise. - * config/ia64/ia64.c: Likewise. - * config/iq2000/iq2000.c: Likewise. - * config/lm32/lm32.c: Likewise. - * config/m32c/m32c-pragma.c: Likewise. - * config/m32c/m32c.c: Likewise. - * config/m32r/m32r.c: Likewise. - * config/m68k/m68k.c: Likewise. - * config/mcore/mcore.c: Likewise. - * config/mep/mep-pragma.c: Likewise. - * config/mep/mep.c: Likewise. - * config/microblaze/microblaze-c.c: Likewise. - * config/microblaze/microblaze.c: Likewise. - * config/mips/mips.c: Likewise. - * config/mmix/mmix.c: Likewise. - * config/mn10300/mn10300.c: Likewise. - * config/moxie/moxie.c: Likewise. - * config/msp430/msp430-c.c: Likewise. - * config/msp430/msp430.c: Likewise. - * config/nds32/nds32-cost.c: Likewise. - * config/nds32/nds32-fp-as-gp.c: Likewise. - * config/nds32/nds32-intrinsic.c: Likewise. - * config/nds32/nds32-isr.c: Likewise. - * config/nds32/nds32-md-auxiliary.c: Likewise. - * config/nds32/nds32-memory-manipulation.c: Likewise. - * config/nds32/nds32-pipelines-auxiliary.c: Likewise. - * config/nds32/nds32-predicates.c: Likewise. - * config/nds32/nds32.c: Likewise. - * config/nios2/nios2.c: Likewise. - * config/nvptx/nvptx.c: Likewise. - * config/pa/pa.c: Likewise. - * config/pdp11/pdp11.c: Likewise. - * config/rl78/rl78-c.c: Likewise. - * config/rl78/rl78.c: Likewise. - * config/rs6000/rs6000-c.c: Likewise. - * config/rs6000/rs6000.c: Likewise. - * config/rx/rx.c: Likewise. - * config/s390/s390-c.c: Likewise. - * config/s390/s390.c: Likewise. - * config/sh/sh-c.c: Likewise. - * config/sh/sh-mem.cc: Likewise. - * config/sh/sh.c: Likewise. - * config/sh/sh_optimize_sett_clrt.cc: Likewise. - * config/sh/sh_treg_combine.cc: Likewise. - * config/sol2-c.c: Likewise. - * config/sol2-cxx.c: Likewise. - * config/sol2-stubs.c: Likewise. - * config/sol2.c: Likewise. - * config/sparc/sparc-c.c: Likewise. - * config/sparc/sparc.c: Likewise. - * config/spu/spu-c.c: Likewise. - * config/spu/spu.c: Likewise. - * config/stormy16/stormy16.c: Likewise. - * config/tilegx/mul-tables.c: Likewise. - * config/tilegx/tilegx-c.c: Likewise. - * config/tilegx/tilegx.c: Likewise. - * config/tilepro/mul-tables.c: Likewise. - * config/tilepro/tilepro-c.c: Likewise. - * config/tilepro/tilepro.c: Likewise. - * config/v850/v850-c.c: Likewise. - * config/v850/v850.c: Likewise. - * config/vax/vax.c: Likewise. - * config/visium/visium.c: Likewise. - * config/vms/vms-c.c: Likewise. - * config/vms/vms.c: Likewise. - * config/vxworks.c: Likewise. - * config/xtensa/xtensa.c: Likewise. - -2015-07-07 Uros Bizjak - - * config/i386/i386.md (*jcc_bt): Only split before reload. - Remove operand constraints. Change operand 2 predicate to - nonmemory operand. Limit const_int values to mode bitsize. Only - allow const_int values less than 32 when optimizing for size. - (*jcc_bt_1, *jcc_bt_mask): Only split before reload. - Remove operand constraints. - (*bt): Use SImode for const_int values less than 32. - (regmode): Remove mode attribute. - -2015-07-07 Anatoly Sokolov - - * config/moxie/moxie.h (GO_IF_LEGITIMATE_ADDRESS): Remove macros. - * config/moxie/moxie.c (moxie_reg_ok_for_base_p, - moxie_legitimate_address_p): New functions. - (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define. - -2015-07-07 Tom de Vries - - PR tree-optimization/66642 - * tree-parloops.c (transform_to_exit_first_loop_alt): Update function - header comment. Rename split_edge variable to edge_at_split. Split - exit edge to create new loop exit bb. Insert loop exit phis in new - loop exit bb. - -2015-07-07 Tom de Vries - - * tree-cfg.c (get_virtual_phi): New function. - * tree-cfg.h (get_virtual_phi): Declare. - * tree-ssa-loop-manip.c (replace_uses_in_dominated_bbs) - (rewrite_virtuals_into_loop_closed_ssa): New function. - * tree-ssa-loop-manip.h (rewrite_virtuals_into_loop_closed_ssa): - Declare. - * tree-parloops.c (replace_uses_in_bbs_by): Remove. - (transform_to_exit_first_loop_alt): Use - rewrite_virtuals_into_loop_closed_ssa. - -2015-07-07 Richard Biener - - * fold-const.c (fold_binary_loc): Move - (X & C2) << C1 -> (X << C1) & (C2 << C1) simplification ... - * match.pd: ... here. - Add (X * C1) % C2 -> 0 simplification pattern derived from - extract_muldiv_1. - -2015-07-07 Kaz Kojima - - PR target/66780 - * config/sh/sh.md (symGOT_load): Revert a part of 2015-03-03 - change for target/65249. - -2015-07-07 Paulo Matos - - * symtab.c (address_matters_1): Fix typo in comment above. - (can_increase_alignment_p): Likewise. - -2015-07-07 Prathamesh Kulkarni - - * function.c (free_after_compilation): Clear PROP_cfg in - f->curr_properties. - -2015-07-07 Richard Biener - - * tree-ssa-propagate.c (add_ssa_edge): Dump what edge list we - add which use to. - (add_control_edge): Remove excessive vertical space in dumping. - (process_ssa_edge_worklist): Simulate at most one statement and - return whether we did. Do not simulate PHIs if they are in a - BB not yet simulated. - (ssa_propagate): Adjust to always drain the BB worklist whenever - a BB is available there, likewise the VARYING edges list before - the interesting edge list. - -2015-07-07 Christian Bruel - - PR target/52144 - * config/arm/elf.h (TARGET_ASM_FILE_START_APP_OFF): Delete. - -2015-07-07 Richard Biener - - PR middle-end/66739 - * match.pd: Condition A - B ==/!= 0 -> A ==/!= B on single-use - A - B. - -2015-07-06 Uros Bizjak - - * config/i386/i386.md (insv): Rename from insv. Use SWI48 - modes for operands 0 and 3. Use SImode for operands 2 and 3. - Copy operand 0 to a temporary if !ext_register_operand. Remove - ancient extract_bit_field workaround. - (insv_1): Rename from mov_insv_1. - (*insvqi): Rename from *movqi_insv_2. - * config/i386/i386.c (emit_i386_cw_initialization): Update calls - for renamed insvsi_1. - (promote_duplicated_reg): Ditto for renamed insv_1. - -2015-07-06 Nathan Sidwell - - * config/nvptx/nvptx.c (nvptx_reorg): Remove unused vars. Fix - call to nvptx_reorg_subreg. - -2015-07-06 Jim Wilson - - * graphite-blocking.c (HAVE_isl): Include . - * graphite-dependencies.c, graphite-interchange.c, - graphite-isl-ast-to-gimple.c, graphite-optimize-isl.c, graphite-poly.c, - graphite-scop-detection.c, graphite-sese-to-poly.c, graphite.c: - Likewise. - -2015-07-06 Marc Glisse - - * match.pd: Remove element_mode inside HONOR_*. - (~ (-A) -> A - 1, ~ (A - 1) -> -A): Handle complex types. - (~X | X -> -1, ~X ^ X -> -1): Merge. - * tree.c (build_each_one_cst): New function. - * tree.h (build_each_one_cst): Likewise. - -2015-07-06 H.J. Lu - - * config/i386/i386-c.c (ix86_target_macros_internal): Handle - PROCESSOR_IAMCU. - -2015-07-06 Steve Ellcey - - * config.gcc : Add fused-madd.opt. - * config/mips/mips.opt (mfused-madd): Remove. - * config/mips/mips.c (mips_rtx_costs): Update cost calculations. - * config/mips/mips.h (TARGET_MIPS8000): New. - (ISA_HAS_FP_MADD4_MSUB4): Remove. - (ISA_HAS_FP_MADDF_MSUBF): Remove. - (ISA_HAS_FP_MADD3_MSUB3): Remove. - (ISA_HAS_NMADD4_NMSUB4): Remove. - (ISA_HAS_NMADD3_NMSUB3): Remove. - (ISA_HAS_FUSED_MADD4): New. - (ISA_HAS_UNFUSED_MADD4): New. - (ISA_HAS_FUSED_MADDF): New. - (ISA_HAS_FUSED_MADD3): New. - * config/mips/mips.md: (fma4) Change from insn to expand. - (*fma4_madd3) New. - (*fma4_madd4) New. - (*fma4_maddf) New. - (fms4) New. - (*fms4_msub3) New. - (*fms4_msub4) New. - (fnma4) New. - (*fnma4_nmadd3) New. - (*fnma4_nmadd4) New. - (fnms4) New. - (*fnms4_nmsub3) New. - (*fnms4_nmsub4) New. - (*madd4) Modify to be unfused only. - (*msub4) Modify to be unfused only. - (*nmadd4) Modify to be unfused only. - (*nmsub4) Modify to be unfused only. - (*madd3) Remove. - (*msub3) Remove. - (*nmadd3) Remove. - (*nmsub3) Remove. - (*nmadd3_fastmath) Remove. - (*nmsub3_fastmath) Remove. - (*nmadd4_fastmath) Update condition. - (*nmsub4_fastmath) Update condition. - -2015-07-06 Alan Lawrence - - PR target/65956 - * config/arm/arm.c (arm_needs_doubleword_align): Drop any outer - alignment attribute, exploring one level down for records and arrays. - -2015-07-06 Uros Bizjak - - * config/i386/i386.md (extv): Rename from extv. Use SWI24 - modes for operands 0 and 1. Use SImode for operands 2 and 3. - Copy operand 1 to a temporary if !ext_register_operand. Remove - ancient extract_bit_field workaround. - (*extv): Rename from *mov_extv_1. - (*extvqi): Rename from *movqi_extv_1. - (extzv): Rename from extzv. Use SWI248 modes for - operands 0 and 1. Use SImode for operands 2 and 3. Copy operand 1 - to a temporary if !ext_register_operand. Remove ancient - extract_bit_field workaround. - (*extzv): Rename from *mov_extzv_1. - (*extzvqi): Rename from *movqi_extzv_2. - (*testqi_ext_3): Remove modes from const_int_operand predicated - operands. Add "n" constraint. - (*btsq, *btrq, *btcq): Remove mode from const_0_to_63 predicated - operand. Add "J" constraint. - (*btsq, *btrq, *btcq peephole2s): Remove mode from - const_0_to_63 predicated operand. - (regmode): New insn attribute. - (*bt): Use SImode for operand 1. Change operand 1 predicate - to nonmemory_operand. Use regmode insn attribute. - (*jcc_bt_1): Convert operand 2 to SImode. - (*jcc_bt_mask): Remove mode from operand 3. - (*jcc_btsi_1, *jcc_btsi_mask_1): Remove patterns. - (tbm_bextri_): Remove modes from const_0_to_255 predicated - operands. Use "N" constraint instead of "n". - -2015-07-06 Alan Lawrence - - * config/arm/arm.md (movdi): Avoid odd-number ldrd/strd in ARM state. - -2015-07-06 H.J. Lu - - PR target/66749 - * config/i386/i386.c (iamcu_cost): New. - (m_IAMCU): Likewise. - (initial_ix86_arch_features): Disable X86_ARCH_CMOV for m_IAMCU. - (processor_target_table): Add an entry for "iamcu". - (processor_alias_table): Likewise. - (ix86_issue_rate): Handle PROCESSOR_IAMCU. - (ix86_adjust_cost): Likewise. - (ia32_multipass_dfa_lookahead): Likewise. - * config/i386/i386.h (processor_type): Add PROCESSOR_IAMCU. - * config/i386/x86-tune.def: Updated for m_IAMCU. - -2015-07-06 Richard Biener - - PR tree-optimization/66772 - * tree-ssa-ccp.c (ccp_visit_phi_node): Make sure that copy - values are available in the PHI node BB when there are - still unexecutable edges. - -2015-07-06 Richard Biener - - PR tree-optimization/66767 - * tree-vect-loop-manip.c (vect_create_cond_for_align_checks): - Make sure to build the alignment test on a SSA name without - final alignment info valid only if the alignment test - evaluates to true. - -2015-07-06 Bernd Schmidt - - PR target/66620 - * config/bfin/bfin.c (hwloop_optimize): Create new bb between jump and - loop start when inserting LSETUP. - -2015-07-06 H.J. Lu - - PR target/53383 - * config/i386/i386.c (ix86_option_override_internal): Allow - -mincoming-stack-boundary=3 for 64-bit if SSE is disabled. - -2015-07-06 Rainer Orth - - * read-md.c (decimal_string): Rename to ... - (md_decimal_string): ... this. - (handle_enum): Reflect this. - -2015-07-06 Szabolcs Nagy - - PR target/66731 - * config/aarch64/aarch64.md (fnmul3): Handle -frounding-math. - -2015-07-06 Richard Biener - - PR middle-end/66759 - * match.pd: Add missing constraint of y to REAL_CST in - REAL_CST - x CMP y to y - CST CMP x simplification. - -2015-07-06 Eric Botcazou - - PR tree-optimization/66757 - * match.pd: Add missing condition to ~X ^ C -> X ^ ~C. - -2015-07-05 Chung-Lin Tang - Sandra Loosemore - - * config/nios2/nios2-protos.h (nios2_symbol_ref_in_small_data_p): - Delete extern declaration. - (gprel_constant_p): Add extern declaration. - * config/nios2/constraints.md ("S"): Use gprel_constant_p - instead of nios2_symbol_ref_in_small_data_p. - * config/nios2/nios2.c (nios2_legitimate_address_p): Likewise. - (nios2_symbol_ref_in_small_data_p): Make static. - (gprel_constant_p): Make non-static. - -2015-07-05 Gerald Pfeifer - - * doc/fragments.texi (Target Fragment): Convert debian.org - link to use https. - * doc/install.texi (Configuration): Ditto. - -2015-07-05 Jakub Jelinek - - PR tree-optimization/66718 - * tree-vect-stmts.c (vectorizable_call): Replace uses of - GOMP_SIMD_LANE outside of loop with vf - 1 rather than 0. - - PR tree-optimization/66718 - * tree-vect-stmts.c (vectorizable_assignment, vectorizable_store, - vectorizable_load, vectorizable_condition): Move vectype, - nunits, ncopies computation after checking what kind of statement - stmt is. - -2015-07-05 Richard Sandiford - - * target-insns.def (extv, extzv, insv): New targetm instruction - patterns. - * optabs.c (get_extraction_insn): Use them instead of HAVE_*/gen_* - interface. - * recog.c (simplify_while_replacing): Likewise. - -2015-07-05 Richard Sandiford - - * target-insns.def (doloop_begin, doloop_end): New targetm - instruction patterns. - * loop-init.c: Include target.h. - (pass_loop2::gate): Use the new targetm patterns instead of - HAVE_*/gen_* interface. - (pass_rtl_doloop::gate): Likewise. - (pass_rtl_doloop::execute): Remove preprocessor condition. - * hw-doloop.c: Build unconditionally. - * loop-doloop.c: Likewise. - (doloop_optimize): Use the new targetm patterns instead of - HAVE_*/gen_* interface. - (doloop_modify): Likewise. Change type of doloop_seq to rtx_insn *. - * modulo-sched.c (doloop_register_get): Likewise. - -2015-07-05 Richard Sandiford - - * target-insns.def (clear_cache): New targetm instruction pattern. - * builtins.c (expand_builtin___clear_cache): Use it instead of - HAVE_*/gen_* interface. - -2015-07-05 Richard Sandiford - - * target-insns.def (allocate_stack, check_stack, probe_stack) - (probe_stack_address, split_stack_prologue, split_stack_space_check): - New targetm instruction patterns. - * explow.c (allocate_dynamic_stack_space): Use them instead of - HAVE_*/gen_* interface. - (emit_stack_probe): Likewise. - (probe_stack_range): Likewise. - * function.c (thread_prologue_and_epilogue_insns): Likewise. - -2015-07-05 Richard Sandiford - - * target-insns.def (stack_protect_set, stack_protect_test): New - targetm instruction patterns. - * cfgexpand.c (stack_protect_prologue): Use them instead of - HAVE_*/gen_* interface. - * function.c (stack_protect_epilogue): Likewise. - -2015-07-05 Richard Sandiford - - * expr.h (gen_move_insn_uncast): Delete. - * expr.c (gen_move_insn_uncast): Delete. - -2015-07-05 Richard Sandiford - - * target-insns.def (restore_stack_block, restore_stack_function) - (restore_stack_nonlocal, save_stack_block, save_stack_function) - (save_stack_nonlocal): New targetm instruction patterns. - * builtins.c (expand_builtin_apply): Use them instead of - HAVE_*/gen_* interface. - * explow.c (emit_stack_save, emit_stack_restore): Likewise. - -2015-07-05 Richard Sandiford - - * target-insns.def (trap): New targetm instruction pattern. - * builtins.c (expand_builtin_trap): Use it instead of HAVE_*/gen_* - interface. - * explow.c (allocate_dynamic_stack_space): Likewise. - * ifcvt.c (find_if_header): Likewise. - -2015-07-05 Richard Sandiford - - * target-insns.def (prefetch): New targetm instruction pattern. - * tree-ssa-loop-prefetch.c: Include targeth. - (tree_ssa_prefetch_arrays): Use prefetch targetm pattern instead - of HAVE_*/gen_* interface. - * builtins.c (expand_builtin_prefetch): Likewise. - * toplev.c (process_options): Likewise. - -2015-07-05 Richard Sandiford - - * target-insns.def (untyped_call, untyped_return): New targetm - instruction patterns. - * builtins.c (expand_builtin_apply): Use them instead of - HAVE_*/gen_* interface. - (result_vector): Define unconditionally. - -2015-07-05 Richard Sandiford - - * target-insns.def (builtin_longjmp, builtin_setjmp_receiver) - (builtin_setjmp_setup, exception_receiver, nonlocal_goto) - (nonlocal_goto_receiver): New targetm instruction patterns. - * builtins.c (expand_builtin_setjmp_setup): Use them instead - of HAVE_*/gen_* interface. - (expand_builtin_setjmp_receiver): Likewise. - (expand_builtin_longjmp, expand_builtin_nonlocal_goto): Likewise. - * except.c (expand_dw2_landing_pad_for_region): Likewise. - -2015-07-05 Richard Sandiford - - * target.def: Add code_for_* hooks. - * gentarget-def.c (def_target_insn): Add TARGET_CODE_FOR_* macros. - * defaults.h (HAVE_tablejump, gen_tablejump): Delete. - * target-insns.def (casesi, tablejump): New targetm instruction - patterns. - * expr.c (try_casesi): Use them instead of HAVE_*/gen_* interface. - (do_tablejump): Likewise. - * stmt.c (expand_switch_as_decision_tree_p): Likewise. - (expand_sjlj_dispatch_table): Likewise. - * targhooks.c (default_case_values_threshold): Likewise. - -2015-07-04 Sandra Loosemore - - * config/nios2/nios2.c (save_reg, restore_reg): Use plus_constant. - Use rtx_insn * instead of rtx. - (nios2_emit_add_constant): Use rtx_insn * instead of rtx. - (nios2_expand_prologue, nios2_expand_epilogue): Likewise. - (nios2_call_tls_get_addr): Likewise. - (nios2_emit_expensive_div): Likewise. - (nios2_emit_move_sequence): Change return type to bool. - * config/nios2/nios2-protos.h (nios2_emit_move_sequence): - Change return type to bool. - -2015-07-04 Bernd Edlinger - - PR target/66747 - * config/mips/mips.c (mips_find_gp_ref): Handle instruction sequences. - -2015-07-04 John David Anglin - - PR target/66114 - * config/pa/pa.md (indirect_jump): Use pmode_register_operand instead - of register_operand. Remove constraint. - -2015-07-04 Marc Glisse - - * tree-cfg.c (verify_gimple_assign_ternary) : Check - the first argument. - -2015-07-03 Paolo Carlini - - * attribs.c (decl_attributes): Guard inform with the return value - of the preceding warning. - -2015-07-03 James Greenhalgh - - * doc/invoke.texi (moverride): Move to correct section. - -2015-07-03 Richard Biener - - * genmatch.c (commutative_tree_code, commutative_ternary_tree_code): - Copy from tree.c - (dt_operand::gen_gimple_expr): After valueizing operands - re-canonicalize operand order for commutative tree codes. - -2015-07-03 H.J. Lu - - PR target/66746. - * config/i386/ia32intrin.h (__crc32b): Don't define if __iamcu__ - is defined. - (__crc32w): Likewise. - (__crc32d): Likewise. - (__rdpmc): Likewise. - (__rdtscp): Likewise. - (_rdpmc): Likewise. - (_rdtscp): Likewise. - * config/i386/x86intrin.h: Only include ia32intrin.h if __iamcu__ - is defined. - -2015-07-03 Richard Biener - - * fold-const.c (fold_mathfn_compare): Remove. - (fold_inf_compare): Likewise. - (fold_comparison): Move floating point comparison simplifications... - * match.pd: ... to patterns here. Introduce simple_comparisons - operator list and use it for patterns formerly in fold_comparison. - -2015-07-03 James Greenhalgh - - PR tree-optimization/66119 - * toplev.c (process_options): Don't set up default values for - the sra_max_scalarization_size_{speed,size} parameters. - * tree-sra (analyze_all_variable_accesses): If no values - have been set for the sra_max_scalarization_size_{speed,size} - parameters, call get_move_ratio to get target defaults. - -2015-07-03 Richard Biener - - * fold-const.c (fold_binary_loc): Move (T)ptr & CST folding... - * match.pd: ... here. - -2015-07-03 Gerald Pfeifer - - PR target/37072 - * doc/invoke.texi (i386 and x86-64 Options): -mno-fancy-math-387 - is not actually the default on FreeBSD. - -2015-07-02 Bill Schmidt - - * config/rs6000/rs6000-builtin.def (CMPGE_16QI): New built-in - definition. - (CMPGE_8HI): Likewise. - (CMPGE_4SI): Likewise. - (CMPGE_2DI): Likewise. - (CMPGE_U16QI): Likewise. - (CMPGE_U8HI): Likewise. - (CMPGE_U4SI): Likewise. - (CMPGE_U2DI): Likewise. - (CMPLE_16QI): Likewise. - (CMPLE_8HI): Likewise. - (CMPLE_4SI): Likewise. - (CMPLE_2DI): Likewise. - (CMPLE_U16QI): Likewise. - (CMPLE_U8HI): Likewise. - (CMPLE_U4SI): Likewise. - (CMPLE_U2DI): Likewise. - * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add - overloads for ALTIVEC_BUILTIN_VEC_CMPGE and - ALTIVEC_BUILTIN_VEC_CMPLE. - * config/rs6000/vector.md (vector_ge): Restrict to - floating-point vector modes. - (vector_nlt): New define_expand. - (vector_nltu): Likewise. - (vector_ngt): Likewise. - (vector_ngtu): Likewise. - -2015-07-02 Segher Boessenkool - - PR rtl-optimization/66706 - * combine.c (make_compound_operation): If an AND of SUBREG of - LSHIFTRT does not simplify, see if just the AND of SUBREG does. - -2015-07-02 Alan Lawrence - - * tree-pass.h (make_pass_ch_vect): New. - * passes.def: Add pass_ch_vect just before pass_if_conversion. - - * tree-ssa-loop-ch.c (ch_base, pass_ch_vect, pass_data_ch_vect, - pass_ch::process_loop_p, pass_ch_vect::process_loop_p, - make_pass_ch_vect): New. - (pass_ch): Extend ch_base. - - (pass_ch::execute): Move all but loop_optimizer_init/finalize to... - (ch_base::copy_headers): ...here. - -2015-07-02 Richard Biener - - * builtins.c (get_pointer_alignment_1): Handle POINTER_PLUS_EXPR. - * fold-const.c (get_pointer_modulus_and_residue): Remove. - (fold_binary_loc): Implement (T)ptr & CST in terms of - get_pointer_alignment_1. - * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): - Make sure to build the alignment test on a SSA name without - final alignment info valid only after the prologue. - -2015-07-02 Hans-Peter Nilsson - - * config/cris/cris.md ("epilogue"): Remove condition. - ("prologue"): Ditto. - -2015-07-02 Richard Biener - - * tree-ssa-dom.c (build_and_record_new_cond): Add optional - parameter to record a condition that is false. - (record_conditions): When recording an extra NE_EXPR that is - true also record a EQ_EXPR that is false. - -2015-07-02 Bin Cheng - - * tree-ssa-loop-ivopts.c (struct ivopts_data): New field iv_obstack. - (tree_ssa_iv_optimize_init): Initialize iv_obstack. - (alloc_iv): New parameter. Allocate struct iv using obstack_alloc. - (set_iv, find_interesting_uses_address, add_candidate_1): New - argument to alloc_iv. - (find_interesting_uses_op, find_interesting_uses_cond): Don't - duplicate struct iv. - (free_loop_data): Don't free struct iv explicitly. - (tree_ssa_iv_optimize_finalize): Free iv_obstack. - -2015-07-01 DJ Delorie - - * config/s390/tpf.h (LIBSTDCXX): Change to CPP1. - (LIB_SPEC): Add. - (SUPPORTS_DISCRIMINATOR): Define. - -2015-07-01 Richard Sandiford - - PR bootstrap/66685 - * rtl.c (classify_insn): Only return JUMP_INSN for parallel returns if - there are no CALLs in the same pattern. - -2015-07-01 Bernd Edlinger - - PR rtl-optimization/61047 - * rtlanal.c (get_initial_register_offset): New function. - (rtx_addr_can_trap_p_1): Check offsets of stack references. - -2015-07-01 Richard Biener - - * fold-const.c (fold_comparison): Move X - Y CMP 0 -> X CMP Y, - X * C1 CMP 0 -> X CMP 0, X CMP X, ~X CMP ~Y -> Y CMP X and - ~X CMP C -> X CMP' ~C to ... - * match.pd: ... patterns here. - -2015-07-01 Nick Clifton - - * config/msp430/msp430.md (zero_extendhipsi2): Use MOVX.A to store - a 16-bit value into a 20-bit memory slot. - -2015-07-01 Jiong Wang - - * doc/sourcebuild.texi (AArch64-specific attributes): Document - "aarch64_tiny", "aarch64_small", "aarch64_large", - "aarch64_little_endian", "aarch64_big_endian". - -2015-07-01 Jiong Wang - - * doc/sourcebuild.texi (AArch64-specific attributes): New subsection. - Document "aarch64_small_fpic". - -2015-07-01 Jiong Wang - - * configure.ac: Add check for aarch64 assembler -fpic relocation - modifier support. - * configure: Regenerate. - * config.in: Regenerate. - * config/aarch64/aarch64.c (initialize_aarch64_code_model): Fall back - to -fPIC if not support of -fpic relocation modifier in assembler. - -2015-07-01 Richard Sandiford - - PR bootstrap/66685 - * rtl.c (classify_insn): Handle returns in PARALLELs. - -2015-07-01 Eric Botcazou - - PR middle-end/66633 - * tree-nested.c (convert_nonlocal_omp_clauses): Initialize need_chain - to true if the function is nested and if not optimizing. - (convert_local_omp_clauses): Initialize need_frame to true if the - function contains nested functions and if not optimizing. - -2015-07-01 Richard Biener - - * fold-const.c (fold_binary_loc): Move ~X ^ X -> -1 and - (X & Y) ^ Y -> ~X & Y transforms to ... - * match.pd: ... here. - -2015-07-01 Richard Biener - - * genmatch.c (expr::gen_transform): Shortcut re-simplifying - of converts to avoid uninteresting noise from the conversion - simplifying patterns. - -2015-06-30 Sandra Loosemore - - * config/c6x/c6x.c (try_rename_operands): Do not depend on - gcc_assert evaluating its argument for side-effect. - -2015-06-30 Kaz Kojima - - PR target/64833 - * config/sh/sh.md (casesi_worker_1): Set length to 8 when - flag_pic is set. - -2015-06-30 Eric Botcazou - - * lto-streamer-out.c (class DFS): Adjust hash_scc method. - (DFS::DFS): Pass this_ref_p and ref_p to hash_scc. - (hash_scc): Add this_ref_p and ref_p parameters and pass them - to the inner DFS walk. - -2015-06-30 Richard Sandiford - - * target-insns.def (jump): New targetm instruction pattern. - * bb-reorder.c (get_uncond_jump_length): Use targetm.gen_jump - instead of gen_jump. - (fix_up_crossing_landing_pad): Likewise. - (add_labels_and_missing_jumps): Likewise. - (fix_crossing_conditional_branches): Likewise. - * cfgrtl.c (try_redirect_by_replacing_jump): Likewise. - (force_nonfallthru_and_redirect): Likewise. - * cse.c (cse_insn): Likewise. - * expmed.c (expand_divmod): Likewise. - * expr.c (store_expr_with_bounds, expand_expr_real_2): Likewise. - * haifa-sched.c (init_before_recovery): Likewise. - (sched_create_recovery_edges): Likewise. - * ifcvt.c (find_cond_trap): Likewise. - * optabs.c (expand_doubleword_shift, expand_doubleword_clz): Likewise. - (expand_float, expand_fix): Likewise. - * stmt.c (emit_jump): Likewise. - -2015-06-30 Richard Sandiford - - * defaults.h (HAVE_load_multiple, gen_load_multiple) - (HAVE_store_multiple, gen_store_multiple): Delete. - * target-insns.def (load_multiple, store_multiple): New targetm - instruction patterns. - * expr.c (move_block_to_reg, move_block_from_reg): Use them instead - of HAVE_*/gen_* interface. - -2015-06-30 Richard Sandiford - - * defaults.h (HAVE_mem_thread_fence, gen_mem_thread_fence) - (HAVE_memory_barrier, gen_memory_barrier, HAVE_mem_signal_fence) - (gen_mem_signal_fence): Delete. - * target-insns.def (mem_signal_fence, mem_thread_fence) - (memory_barrier): New targetm instruction patterns. - * optabs.c (expand_mem_thread_fence): Use them instead of HAVE_*/gen_* - interface. - (expand_mem_signal_fence): Likewise. - -2015-06-30 Richard Sandiford - - * defaults.h (HAVE_epilogue, gen_epilogue): Delete. - * target-insns.def (epilogue, prologue, sibcall_prologue): New - targetm instruction patterns. - * alias.c (init_alias_analysis): Use them instead of HAVE_*/gen_* - interface. - * calls.c (expand_call): Likewise. - * cfgrtl.c (cfg_layout_finalize): Likewise. - * df-scan.c (df_get_entry_block_def_set): Likewise. - (df_get_exit_block_use_set): Likewise. - * dwarf2cfi.c (pass_dwarf2_frame::gate): Likewise. - * final.c (final_start_function): Likewise. - * function.c (thread_prologue_and_epilogue_insns): Likewise. - (reposition_prologue_and_epilogue_notes): Likewise. - * reorg.c (find_end_label): Likewise. - * toplev.c (process_options): Likewise. - -2015-06-30 David Malcolm - - * typed-splay-tree.h: New file. - -2015-06-30 Vladimir Makarov - - PR debug/66691 - * lra-int.h (lra_substitute_pseudo): Add a parameter. - (lra_substitute_pseudo_within_insn): Ditto. - * lra.c (lra_substitute_pseudo): Add a parameter. Simplify subreg - of constant. - (lra_substitute_pseudo_within_insn): Add a parameter. Transfer it - to lra_substitute_pseudo. - * lra-lives.c (process_bb_lives): Add an argument to - lra_substitute_pseudo_within_insn call. - * lra-constraints.c (inherit_reload_reg, split_reg): Add an - argument to lra_substitute_pseudo and - lra_substitute_pseudo_within_insn calls. - (remove_inheritance_pseudos, undo_optional_reloads): Ditto. - -2015-06-30 H.J. Lu - - * configure: Regenerated. - -2015-06-30 H.J. Lu - - * config.gcc: Support i[34567]86-*-elfiamcu target. - * config/i386/iamcu.h: New. - * config/i386/i386.opt: Add -miamcu. - * doc/invoke.texi: Document -miamcu. - * common/config/i386/i386-common.c (ix86_handle_option): Turn - off x87/MMX/SSE/AVX codegen for -miamcu. - * config/i386/i386-c.c (ix86_target_macros_internal): Define - __iamcu/__iamcu__ for -miamcu. - * config/i386/i386.h (PREFERRED_STACK_BOUNDARY_DEFAULT): Set - to MIN_STACK_BOUNDARY if TARGET_IAMCU is true. - (BIGGEST_ALIGNMENT): Set to 32 if TARGET_IAMCU is true. - * config/i386/i386.c (ix86_option_override_internal): Ignore and - warn -mregparm for Intel MCU. Turn on -mregparm=3 for Intel - MCU by default. Default long double to 64-bit for Intel MCU. - Turn on -freg-struct-return for Intel MCU. Issue an error when - -miamcu is used in 64-bit or x32 mode or if x87, MMX, SSE or - AVX is turned on. - (function_arg_advance_32): Pass value whose size is no larger - than 8 bytes in registers for Intel MCU. - (function_arg_32): Likewise. - (ix86_return_in_memory): Return value whose size is no larger - than 8 bytes in registers for Intel MCU. - (iamcu_alignment): New function. - (ix86_data_alignment): Call iamcu_alignment if TARGET_IAMCU is - true. - (ix86_local_alignment): Don't increase alignment for Intel MCU. - (x86_field_alignment): Return iamcu_alignment if TARGET_IAMCU is - true. - -2015-06-30 Marek Polacek - - * match.pd (X - (X / Y) * Y): Use convert1 and convert2. Convert - both operands of the resulting expression. - - * match.pd (~x | x): Don't use tree_nop_conversion_p. Build - the final expression with the operand's type and then convert - it to the type of the expression. - -2015-06-30 Richard Biener - - * fold-const.c (fold_binary_loc): Move ~x & ~y -> ~(x | y) and - ~x | ~y -> ~(x & y), (x & CST) ^ (x & CST2) -> (x & CST) | (x & CST2), - (X | Y) ^ X -> Y & ~ X, ~X ^ ~Y to X ^ Y and ~X ^ C to X ^ ~C ... - * match.pd: ... to patterns here. - -2015-06-30 Richard Biener - - PR tree-optimization/66704 - * tree-vect-data-refs.c (vect_setup_realignment): Use - make_ssa_name for non-SSA name source. - -2015-06-30 Jakub Jelinek - - PR middle-end/66702 - * omp-low.c (simd_clone_adjust): Handle addressable linear - or uniform parameters or non-gimple type uniform parameters. - -2015-06-30 Richard Biener - - * fold-const.c (fold_unary_loc): Move abs(abs(x)) -> abs(x), - ~ (-A) to A - 1, ~ (A - 1) or ~ (A + -1) to -A and some cases of - ~(X ^ Y) to ~X ^ Y or X ^ ~Y if ~X or ~Y simplify to ... - * match.pd: ... here. - Add a few cases of A - B -> A + (-B) when B "easily" negates. - Move (x & y) | x -> x and friends before - (x | CST1) & CST2 -> (x & CST2) | (CST1 & CST2). - -2015-06-30 Eric Botcazou - - * config/sparc/leon.md (leon_load): Enable for all LEON variants if - -mfix-ut699 is not specified. - (leon3_load): Rename into... - (ut699_load): ...this. Enable for all LEON variants if -mfix-ut699 - is specified. - -2015-06-30 Marek Polacek - - * fold-const.c (fold_binary_loc): Move ~X | X folding ... - * match.pd: ... here. - -2015-06-30 Richard Biener - - * target-insns.def (canonicalize_funcptr_for_compare): Add. - * fold-const.c (build_range_check): Replace uses of - HAVE_canonicalize_funcptr_for_compare. - (fold_widened_comparison): Likewise. - (fold_sign_changed_comparison): Likewise. - * dojump.c: Include "target.h". - (do_compare_and_jump): Replace uses of - HAVE_canonicalize_funcptr_for_compare and - gen_canonicalize_funcptr_for_compare. - * expr.c (do_store_flag): Likewise. - -2015-06-30 Tom de Vries - - PR tree-optimization/66652 - * tree-parloops.c (try_transform_to_exit_first_loop_alt): Use - max_loop_iterations to determine if nit + 1 overflows. - -2015-06-30 Richard Biener - - * tree-vrp.c (register_edge_assert_for_2): Also register - asserts for dominating conversion results. - -2015-06-30 Bin Cheng - - * tree-ssa-loop-ivopts.c (record_sub_use): Don't reset ssa_name - field in struct iv. - -2015-06-29 Jack Howarth - - PR target/66509 - * configure.ac: Fix filds and fildq test for 64-bit. - * configure: Regenerated. - -2015-06-29 Nathan Sidwell - - * config/nvptx/nvptx.md (nvptx_reorg_subreg): New fn, broken out of ... - (nvptx_reorg): Here. Keep the non-subreg pieces. - -2015-06-29 H.J. Lu - - * config/gnu-user.h (GNU_USER_TARGET_ENDFILE_SPEC): Use - PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined. - -2015-06-29 Uros Bizjak - - * config/i386/i386.md (*jcc_1): Use %! in asm template. - Set attribute "length_nobnd" instead of "length". - (*jcc_2): Ditto. - (jump): Ditto. - (*jcc_1_bnd, *jcc_2_bnd, jump_bnd): Remove insn patterns. - -2015-06-29 Sandra Loosemore - - * config/nios2/nios2.c (nios2_delegitimize_address): Make - assert less restrictive. - -2015-06-29 Manuel López-Ibáñez - - PR fortran/66605 - * cgraphunit.c (cgraph_node::finalize_function): Do not call - do_warn_unused_parameter. - * function.c (do_warn_unused_parameter): Move from here. - * function.h (do_warn_unused_parameter): Do not declare. - -2015-06-29 Matthew Wahab - - PR target/65697 - * gcc.target/arm/armv-sync-comp-swap.c: New. - * gcc.target/arm/armv-sync-op-acquire.c: New. - * gcc.target/arm/armv-sync-op-full.c: New. - * gcc.target/arm/armv-sync-op-release.c: New. - -2015-06-29 Matthew Wahab - - PR target/65697 - * config/armc/arm.c (arm_split_compare_and_swap): For ARMv8, replace an - initial acquire barrier with final barrier. - -2015-06-29 Matthew Wahab - - PR target/65697 - * config/armc/arm.c (arm_split_atomic_op): For ARMv8, replace an - initial acquire barrier with final barrier. - -2015-06-29 Richard Henderson - - * config/i386/constraints.md (Bf): New constraint. - * config/i386/i386-c.c (ix86_target_macros): Define - __GCC_ASM_FLAG_OUTPUTS__. - * config/i386/i386.c (ix86_md_asm_adjust): Handle =@cc* constraints - as flags outputs. - * doc/extend.texi (FlagOutputOperands): Document them. - -2015-06-29 Jiong Wang - - * config/arch64/aarch64.md (UNSPEC_TLSLE): New enumeration. - * config/arch64/aarch64.md (tlsle_small): Rename to tlsle and use new - unspec name. - (tlsle_small_): Rename to tlsle_ and use new unspec name. - * config/arch64/aarch64-protos.h (arch64_symbol_type): Rename - SYMBOL_SMALL_TPREL to SYMBOL_TLSLE. - (aarch64_symbol_context): Ditto. - * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto - and use new pattern name. - (aarch64_expand_mov_immediate): Ditto. - (aarch64_print_operand): Ditto. - (aarch64_classify_tls_symbol): Ditto. - -2015-06-29 Marek Polacek - Marc Glisse - - * fold-const.c (fold_binary_loc): Move X - (X / Y) * Y -> X % Y to ... - * match.pd: ... pattern here. - -2015-06-29 Tom de Vries - - * tree-parloops.c (try_transform_to_exit_first_loop_alt): Simplify - function structure. - -2015-06-29 Matthew Wahab - - * doc/invoke.texi (Aarch64 Options, -march): Split out arch and - feature description, split out the native option, add a link to - the feature documentation, rearrange and slightly rewrite text. - (Aarch64 options, -mcpu): Likewise. - (Aarch64 options, Feature Modifiers): Add an anchor. Mention - +rdma implies Adv. SIMD. - -2015-06-29 Marek Polacek - - PR c/66322 - * function.c (stack_protect_epilogue): Remove a cast to int. - * doc/invoke.texi: Update -Wswitch-bool description. - -2015-06-29 Richard Biener - - * genmatch.c (add_operator): Treat ADDR_EXPR as atom. - * fold-const.c (fold_binary_loc): Move &A - &B simplification - via ptr_difference_const ... - * match.pd: ... here. - When matching (X ^ Y) == Y also match with swapped operands. - -2015-06-29 Richard Biener - - * lto-streamer.h (LTO_major_version): Bump to 5. - -2015-06-29 Richard Biener - - PR tree-optimization/66677 - * tree-vect-stmts.c (vect_transform_stmt): Make assert about - STMT_VINFO_VEC_STMT clobbering less strict. - -2015-06-29 Kugan Vivekanandarajah - - PR middle-end/64130 - * tree-vrp.c (extract_range_from_binary_expr_1): For unsigned - division, compute max and min when value ranges for dividend and - divisor are available. - -2015-06-28 Chung-Lin Tang - Sandra Loosemore - - * regrename.h (regrename_do_replace): Change to return bool. - * regrename.c (rename_chains): Check return value of - regname_do_replace. - (regrename_do_replace): Re-validate the modified insns and - return bool status. - * config/aarch64/cortex-a57-fma-steering.c (rename_single_chain): - Update to match rename_chains changes. - * config/c6x/c6x.c (try_rename_operands): Assert that - regrename_do_replace returns true. - -2015-06-28 Uros Bizjak - - * config/i386/i386.md (_ldx): Do not zero-extend non-Pmode - operand 2 here. Use copy_addr_to_reg to copy non-index - register operand 2 to a temporary. - (_stx): Ditto for operand 1. - (*_ldx, *_stx): Remove enclosing parallel. - * config/i386/i386.c (ix86_load_bounds): Zero-extend non-Pmode ptr here. - (ix86_store_bounds): Ditto. - -2015-06-27 Patrick Palka - - * print-tree.c (print_node) [TREE_VEC]: Print its length. - -2015-06-26 Andrew MacLeod - - * gimple.c (gimple_call_set_fndecl): Remove. - * gimple.h (gimple_call_set_fndecl): Relocate to gimple.h and call - build1_loc directly instead of build_fold_addr_expr_loc. - -2015-06-26 Richard Sandiford - - * hash-map.h (hash_map::traverse): Use the definition of the - Key typedef rather than the typedef itself. - -2015-06-26 Martin Jambor - - PR debug/66301 - * tree-ssa-pre.c (before_dom_children): Check that dump_file is not - NULL instead of calling dump_enabled_p. - -2015-06-26 James Greenhalgh - - * config/aarch64/aarch64.opt: (override): New. - * doc/invoke.texi (override): Document. - * config/aarch64/aarch64.c (aarch64_flag_desc): New - (aarch64_fusible_pairs): Likewise. - (aarch64_tuning_flags): Likewise. - (aarch64_tuning_override_function): Likewise. - (aarch64_tuning_override_functions): Likewise. - (aarch64_parse_one_option_token): Likewise. - (aarch64_parse_boolean_options): Likewise. - (aarch64_parse_fuse_string): Likewise. - (aarch64_parse_tune_string): Likewise. - (aarch64_parse_one_override_token): Likewise. - (aarch64_parse_override_string): Likewise. - (aarch64_override_options): Parse the -override string if it - is present. - -2015-06-26 James Greenhalgh - - * config/aarch64/aarch64-protos.h (tune_params): Remove - const from members. - (aarch64_tune_params): Remove const, change to no longer be - a pointer. - * config/aarch64/aarch64.c (aarch64_tune_params): Remove const, - change to no longer be a pointer, initialize to generic_tunings. - (aarch64_min_divisions_for_recip_mul): Change dereference of - aarch64_tune_params to member access. - (aarch64_reassociation_width): Likewise. - (aarch64_rtx_mult_cost): Likewise. - (aarch64_address_cost): Likewise. - (aarch64_branch_cost): Likewise. - (aarch64_rtx_costs): Likewise. - (aarch64_register_move_cost): Likewise. - (aarch64_memory_move_cost): Likewise. - (aarch64_sched_issue_rate): Likewise. - (aarch64_builtin_vectorization_cost): Likewise. - (aarch64_override_options): Take a copy of the selected tuning - struct in to aarch64_tune_params, rather than just setting - a pointer, change dereferences of aarch64_tune_params to member - accesses. - (aarch64_override_options_after_change): Change dereferences of - aarch64_tune_params to member access. - (aarch64_macro_fusion_p): Likewise. - (aarch_macro_fusion_pair_p): Likewise. - * config/aarch64/cortex-a57-fma-steering.c (gate): Likewise. - -2015-06-26 James Greenhalgh - - * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Delete. - (aarch64_tune_flags): Likewise. - (AARCH64_TUNE_FMA_STEERING): Likewise. - * config/aarch64/aarch64-cores.def (cortex-a57): Remove reference - to AARCH64_FL_USE_FMA_STEERING_PASS. - (cortex-a57.cortex-a53): Likewise. - (cortex-a72): Use cortexa72_tunings. - (cortex-a72.cortex-a53): Likewise. - (exynos-m1): Likewise. - * config/aarch64/aarch64-protos.h (tune_params): Add - a field: extra_tuning_flags. - * config/aarch64/aarch64-tuning-flags.def: New. - * config/aarch64/aarch64-protos.h (AARCH64_EXTRA_TUNING_OPTION): New. - (aarch64_extra_tuning_flags): Likewise. - (aarch64_tune_params): Declare here. - * config/aarch64/aarch64.c (generic_tunings): Set extra_tuning_flags. - (cortexa53_tunings): Likewise. - (cortexa57_tunings): Likewise. - (thunderx_tunings): Likewise. - (xgene1_tunings): Likewise. - (cortexa72_tunings): New. - * config/aarch64/cortex-a57-fma-steering.c: Include aarch64-protos.h. - (gate): Check against aarch64_tune_params. - * config/aarch64/t-aarch64 (cortex-a57-fma-steering.o): Depend on - aarch64-protos.h. - -2015-06-26 James Greenhalgh - - * config/aarch64/aarch64-fusion-pairs.def: New. - * config/aarch64/aarch64-protos.h (aarch64_fusion_pairs): New. - * config/aarch64/aarch64.c (AARCH64_FUSE_NOTHING): Move to - aarch64_fusion_pairs. - (AARCH64_FUSE_MOV_MOVK): Likewise. - (AARCH64_FUSE_ADRP_ADD): Likewise. - (AARCH64_FUSE_MOVK_MOVK): Likewise. - (AARCH64_FUSE_ADRP_LDR): Likewise. - (AARCH64_FUSE_CMP_BRANCH): Likewise. - -2015-06-26 Jiong Wang - - * config/aarch64/aarch64-protos.h (aarch64_symbol_type): New type - SYMBOL_SMALL_GOT_28K. - * config/aarch64/aarch64.md: (ldr_got_small_): Support new GOT - relocation modifiers. - (unspec): New enum "UNSPEC_GOTMALLPIC28K. - (ldr_got_small_28k_): New. - (ldr_got_small_28k_sidi): New. - * config/aarch64/iterators.md (got_modifier): New mode iterator. - * config/aarch64/aarch64-otps.h (aarch64_code_model): New model. - * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support - SYMBOL_SMALL_GOT_28K. - (aarch64_rtx_costs): Add costs for new instruction sequences. - (initialize_aarch64_code_model): Initialize new model. - (aarch64_classify_symbol): Recognize new model and new symbol classification. - (aarch64_asm_preferred_eh_data_format): Support new model. - (aarch64_load_symref_appropriately): Generate new instruction - sequences for -fpic. - (TARGET_USE_PSEUDO_PIC_REG): New definition. - (aarch64_use_pseudo_pic_reg): New function. - -2015-06-26 Jiong Wang - - * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename - SYMBOL_SMALL_GOT to SYMBOL_SMALL_GOT_4G. - * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto. - (aarch64_expand_mov_immediate): Ditto. - (aarch64_print_operand): Ditto. - (aarch64_classify_symbol): Ditto. - -2015-06-26 Nathan Sidwell - - * config/nvptx/nvptx.md (call_operation): Remove unused variables. - -2015-06-26 Bin Cheng - - PR bootstrap/66638 - * tree-ssa-loop-niter.c (loop_exits_before_overflow): Skip if - assertion failed. Remove assertion itself. - -2015-06-26 Richard Biener - - * fold-const.c (fold_binary_loc): Remove -A CMP -B -> A CMP B - and -A CMP CST -> A CMP -CST which is redundant with a pattern - in match.pd. - Move (A | C) == D where C & ~D != 0 -> 0, (X ^ Y) ==/!= 0 -> X ==/!= Y, - (X ^ Y) ==/!= {Y,X} -> {X,Y} ==/!= 0 and - (X ^ C1) op C2 -> X op (C1 ^ C2) to ... - * match.pd: ... patterns here. - -2015-06-26 Marek Polacek - - * match.pd ((x | y) & ~(x & y) -> x ^ y, - (x | y) & (~x ^ y) -> x & y): New patterns. - -2015-06-26 Richard Sandiford - - * rtl.h (emit): Add an optional boolean parameter to control - whether barriers are emitted. - * emit-rtl.c (emit): Likewise. - * gensupport.c (get_emit_function): Return null rather than "emit". - * genemit.c (gen_emit_seq): Handle the null return value. - Don't emit barriers after the final instruction in the sequence. - * gentarget-def.c (main): Don't emit barriers after the instruction. - -2015-06-26 Ramana Radhakrishnan - - * config/arm/arm.c (arm_output_multireg_pop): Fix use of - TARGET_UNIFIED_ASM. - -2015-06-26 Richard Biener - - * match.pd: Allow associating FLOAT_TYPE_P when flag_associative_math. - -2015-06-26 Richard Biener - - * match.pd: Allow (p +p off1) +p off2 to (p +p (off1 + off2)) - irrespective on whether the inner operation has a single use - of both off are constant. - -2015-06-26 Uros Bizjak - Segher Boessenkool - - PR target/66412 - * config/i386/i386.md (various splitters): Use shallow_copy_rtx - before doing PUT_MODE or PUT_CODE on operands to avoid - in-place RTX modification. - -2015-06-25 H.J. Lu - - * gentarget-def.c (def_target_insn): Cast return of strtol to - unsigned int. - -2015-06-25 Andrew MacLeod - - * gimple.h (gimple_call_set_fn): Move inline function. - * gimple.c (gimple_call_set_fn): Relocate here. - -2015-06-25 Oleg Endo - - PR target/65979 - PR target/66611 - * config/sh/sh.md (tstsi_t peephole2): Use insn_invalid_p to check if - the replacement insn will work. - -2015-06-25 H.J. Lu - - * gcc.c (driver_handle_option): Validate -pie if PIE is enabled - by default. - -2015-06-25 Andrew MacLeod - - * function.h (ipa_opt_pass, ipa_opt_pass_d): Move forward declarations. - * cgraph.h: Include ipa-ref.h and plugin-api.h. - (ipa_opt_pass, ipa_opt_pass_d)): Relocate forward declarations here. - (symtab_node::address_can_be_compared_p): Move function. - * cgraph.c (symtab_node::address_can_be_compared_p): Relocate function - definition here. - * asan.c: Remove ipa-ref.h and plugin-api.h from include list. - * auto-profile.c: Likewise. - * bb-reorder.c: Likewise. - * builtins.c: Likewise. - * calls.c: Likewise. - * cfgexpand.c: Likewise. - * cgraphbuild.c: Likewise. - * cgraphclones.c: Likewise. - * cgraphunit.c: Likewise. - * combine.c: Likewise. - * coverage.c: Likewise. - * data-streamer-in.c: Likewise. - * data-streamer-out.c: Likewise. - * data-streamer.c: Likewise. - * dbxout.c: Likewise. - * dwarf2out.c: Likewise. - * except.c: Likewise. - * expr.c: Likewise. - * final.c: Likewise. - * fold-const.c: Likewise. - * ggc-page.c: Likewise. - * gimple-fold.c: Likewise. - * gimple-iterator.c: Likewise. - * gimple-pretty-print.c: Likewise. - * gimple-streamer-in.c: Likewise. - * gimple-streamer-out.c: Likewise. - * gimple.c: Likewise. - * gimplify.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. - * langhooks.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. - * omp-low.c: Likewise. - * opts-global.c: Likewise. - * passes.c: Likewise. - * predict.c: Likewise. - * print-tree.c: Likewise. - * profile.c: Likewise. - * ree.c: Likewise. - * sanopt.c: Likewise. - * stor-layout.c: Likewise. - * symtab.c: Likewise. - * toplev.c: Likewise. - * trans-mem.c: Likewise. - * tree-cfg.c: Likewise. - * tree-chkp.c: Likewise. - * tree-eh.c: Likewise. - * tree-emutls.c: Likewise. - * tree-inline.c: Likewise. - * tree-nested.c: Likewise. - * tree-parloops.c: Likewise. - * tree-pretty-print.c: Likewise. - * tree-profile.c: Likewise. - * tree-sra.c: Likewise. - * tree-ssa-alias.c: Likewise. - * tree-ssa-live.c: Likewise. - * tree-ssa-loop-ivcanon.c: Likewise. - * tree-ssa-loop-ivopts.c: Likewise. - * tree-ssa-pre.c: Likewise. - * tree-ssa-sccvn.c: Likewise. - * tree-ssa-strlen.c: Likewise. - * tree-ssa-structalias.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-stmts.c: Likewise. - * tree-vectorizer.c: Likewise. - * tree.c: Likewise. - * tsan.c: Likewise. - * ubsan.c: Likewise. - * value-prof.c: Likewise. - * varasm.c: Likewise. - * varpool.c: Likewise. - * config/arm/arm.c: Likewise. - * config/bfin/bfin.c: Likewise. - * config/c6x/c6x.c: Likewise. - * config/cris/cris.c: Likewise. - * config/darwin-c.c: Likewise. - * config/darwin.c: Likewise. - * config/i386/i386.c: Likewise. - * config/i386/winnt.c: Likewise. - * config/microblaze/microblaze.c: Likewise. - * config/mips/mips.c: Likewise. - * config/rs6000/rs6000.c: Likewise. - * config/rx/rx.c: Likewise. - * config/s390/s390.c: Likewise. - * config/tilegx/mul-tables.c: Likewise. - -2015-06-25 Richard Sandiford - - * config/aarch64/aarch64.c, config/alpha/alpha.c, - config/arm/arm.c, config/avr/avr.c, config/bfin/bfin.c, - config/c6x/c6x.c, config/cr16/cr16.c, config/cris/cris.c, - config/fr30/fr30.c, config/frv/frv.c, config/h8300/h8300.c, - config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c, - config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c, - config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c, - config/microblaze/microblaze.c, config/mips/mips.c, - config/mmix/mmix.c, config/mn10300/mn10300.c, - config/moxie/moxie.c, config/msp430/msp430.c, - config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c, - config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c, - config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c, - config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c, - config/stormy16/stormy16.c, config/tilegx/tilegx.c, - config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c, - config/visium/visium.c, config/xtensa/xtensa.c: Add comment above - target-def.h include. - * config/ft32/ft32.c: Likewise. Fix misapplied hunk. - -2015-06-25 Richard Sandiford - - * Makefile.in (TARGET_DEF): Add target-insns.def. - (.PRECIOUS, simple_rtl_generated_h): Add insn-target-def.h. - (build/gentarget-def.o): New rule. - (genprogrtl): Add target-def. - * target-insns.def, gentarget-def.c: New files. - * target.def: Add targetm.have_* and targetm.gen_* hooks, - based on the contents of target-insns.def. - * defaults.h (HAVE_simple_return, gen_simple_return): Delete. - (HAVE_return, gen_return): Delete. - * target-def.h: Include insn-target-def.h. - * cfgrtl.c (force_nonfallthru_and_redirect): Use targetm interface - instead of direct calls. Rely on them to do the appropriate assertions. - * function.c (gen_return_pattern): Likewise. Return an rtx_insn *. - (convert_jumps_to_returns): Use targetm interface instead of - direct calls. - (thread_prologue_and_epilogue_insns): Likewise. - * reorg.c (find_end_label, dbr_schedule): Likewise. - * shrink-wrap.h (SHRINK_WRAPPING_ENABLED): Likewise. - * shrink-wrap.c (convert_to_simple_return): Likewise. - (try_shrink_wrapping): Use SHRINK_WRAPPING_ENABLED. - -2015-06-25 Richard Sandiford - - * config/aarch64/aarch64.c, config/alpha/alpha.c, config/arm/arm.c, - config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c, - config/cr16/cr16.c, config/cris/cris.c, config/fr30/fr30.c, - config/frv/frv.c, config/ft32/ft32.c, config/h8300/h8300.c, - config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c, - config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c, - config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c, - config/microblaze/microblaze.c, config/mips/mips.c, config/mmix/mmix.c, - config/mn10300/mn10300.c, config/moxie/moxie.c, config/msp430/msp430.c, - config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c, - config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c, - config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c, - config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c, - config/stormy16/stormy16.c, config/tilegx/tilegx.c, - config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c, - config/visium/visium.c, config/xtensa/xtensa.c: Move target-def.h - includes to end. - -2015-06-25 Richard Sandiford - - * hash-map-traits.h (simple_hashmap_traits::key_type): New typedef. - (unbounded_int_hashmap_traits::key_type): Likewise. - * hash-map.h (hash_map): Get the key type from the traits. - * hash-traits.h (default_hash_traits): By default, inherit from the - template parameter. - * alias.c (alias_set_traits): Delete. - (alias_set_entry_d::children): Use alias_set_hash as the first - template parameter. - (record_alias_subset): Update accordingly. - * except.c (tree_hash_traits): Delete. - (type_to_runtime_map): Use tree_hash as the first template parameter. - (init_eh): Update accordingly. - * genmatch.c (capture_id_map_hasher): Delete. - (cid_map_t): Use nofree_string_hash as first template parameter. - * ipa-icf.h (symbol_compare_hashmap_traits): Delete. - * ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs): - Use symbol_compare_hash as the first template parameter in - subdivide_hash_map. - * mem-stats.h (mem_usage_pair::mem_alloc_hashmap_traits): Delete. - (mem_usage_pair::mem_map_t): Use mem_location_hash as the first - template parameter. - * passes.c (pass_registry_hasher): Delete. - (name_to_pass_map): Use nofree_string_hash as the first template - parameter. - (register_pass_name): Update accordingly. - * sanopt.c (sanopt_tree_map_traits): Delete. - (sanopt_tree_triplet_map_traits): Delete. - (sanopt_ctx::asan_check_map): Use tree_operand_hash as the first - template parameter. - (sanopt_ctx::vptr_check_map): Use sanopt_tree_triplet_hash as - the first template parameter. - * sese.c (rename_map_hasher): Delete. - (rename_map_type): Use tree_ssa_name_hash as the first template - parameter. - * symbol-summary.h (function_summary::summary_hashmap_traits): Delete. - (function_summary::m_map): Use map_hash as the first template - parameter. - (function_summary::release): Update accordingly. - * tree-if-conv.c (phi_args_hash_traits): Delete. - (predicate_scalar_phi): Use tree_operand_hash as the first template - parameter to phi_arg_map. - * tree-inline.h (dependence_hasher): Delete. - (copy_body_data::dependence_map): Use dependence_hash as the first - template parameter. - * tree-inline.c (remap_dependence_clique): Update accordingly. - * tree-ssa-strlen.c (stridxlist_hash_traits): Delete. - (decl_to_stridxlist_htab): Use tree_decl_hash as the first template - parameter. - (addr_stridxptr): Update accordingly. - * value-prof.c (profile_id_traits): Delete. - (cgraph_node_map): Use profile_id_hash as the first template - parameter. - (init_node_map): Update accordingly. - * config/alpha/alpha.c (string_traits): Delete. - (machine_function::links): Use nofree_string_hash as the first - template parameter. - (alpha_use_linkage, alpha_write_linkage): Update accordingly. - * config/m32c/m32c.c (pragma_traits): Delete. - (pragma_htab): Use nofree_string_hash as the first template parameter. - (m32c_note_pragma_address): Update accordingly. - * config/mep/mep.c (pragma_traits): Delete. - (pragma_htab): Use nofree_string_hash as the first template parameter. - (mep_note_pragma_flag): Update accordingly. - * config/mips/mips.c (mips16_flip_traits): Delete. - (mflip_mips16_htab): Use nofree_string_hash as the first template - parameter. - (mflip_mips16_use_mips16_p): Update accordingly. - (local_alias_traits): Delete. - (mips16_local_aliases): Use nofree_string_hash as the first template - parameter. - (mips16_local_alias): Update accordingly. - -2015-06-25 Richard Sandiford - - * hash-map-traits.h (default_hashmap_traits): Delete. - -2015-06-25 Richard Sandiford - - * hash-map-traits.h (unbounded_hashmap_traits): New class. - (unbounded_int_hashmap_traits): Likewise. - * cfgexpand.c (part_traits): Use unbounded_int_hashmap_traits. - -2015-06-25 Richard Sandiford - - * ipa-icf.h (symbol_compare_hash): New class. - (symbol_compare_hashmap_traits): Use it. - * mem-stats.h (mem_alloc_description::mem_location_hash): New class. - (mem_alloc_description::mem_alloc_hashmap_traits): Use it. - (mem_alloc_description::reverse_mem_map_t): Remove redundant - default_hashmap_traits. - * sanopt.c (sanopt_tree_triplet_hash): New class. - (sanopt_tree_triplet_map_traits): Use it. - -2015-06-25 Richard Sandiford - - * gengtype-parse.c (require_template_declaration): Allow '+' in - template parameters. Consolidate cases. - * hash-traits.h (int_hash): New class. - * alias.c (alias_set_hash): New structure. - (alias_set_traits): Use it. - * symbol-summary.h (function_summary::map_hash): New class. - (function_summary::summary_hashmap_traits): Use it. - * tree-inline.h (dependence_hash): New class. - (dependence_hasher): Use it. - * tree-ssa-reassoc.c (oecount_hasher): Use int_hash. - * value-prof.c (profile_id_hash): New class. - (profile_id_traits): Use it. - -2015-06-25 Richard Sandiford - - * config/mips/mips.c (mips16_flip_traits): Use it. - (local_alias_traits, mips16_local_aliases): Convert from a map of - rtxes to a map of symbol names. - (mips16_local_alias): Update accordingly. - -2015-06-25 Richard Sandiford - - * hash-traits.h (string_hash, nofree_string_hash): New classes. - * genmatch.c (capture_id_map_hasher): Use nofree_string_hash. - * passes.c (pass_registry_hasher): Likewise. - * config/alpha/alpha.c (string_traits): Likewise. - * config/i386/winnt.c (i386_find_on_wrapper_list): Likewise. - * config/m32c/m32c.c (pragma_traits): Likewise. - * config/mep/mep.c (pragma_traits): Likewise. - -2015-06-25 Richard Sandiford - - * tree-hash-traits.h (tree_hash): New class. - * except.c: Include tree-hash-traits.h. - (tree_hash_traits): Use tree_hash. - -2015-06-25 Richard Sandiford - - * tree-hash-traits.h (tree_ssa_name_hasher): New class. - * sese.c: Include tree-hash-traits.h. - (rename_map_hasher): Use tree_ssa_name_hasher. - -2015-06-25 Richard Sandiford - - * tree-hash-traits.h (tree_decl_hash): New class. - * tree-ssa-strlen.c: Include tree-hash-traits.h. - (stridxlist_hash_traits): Use tree_decl_hash. - -2015-06-25 Richard Sandiford - - * tree-hash-traits.h: New file. - (tree_operand_hash): New class. - * sanopt.c: Include tree-hash-traits.h. - (sanopt_tree_map_traits): Use tree_operand_hash. - * tree-if-conv.c: Include tree-hash-traits.h. - (phi_args_hash_traits): Use tree_operand_hash. - * tree-ssa-uncprop.c: Include tree-hash-traits.h. - (val_ssa_equiv_hash_traits): Use tree_operand_hash. - -2015-06-25 Richard Sandiford - - * hash-map-traits.h: Include hash-traits.h. - (simple_hashmap_traits): New class. - * mem-stats.h (hash_map): Change the default traits to - simple_hashmap_traits >. - -2015-06-25 Richard Sandiford - - * hash-table.h: Update comments. - -2015-06-25 Richard Sandiford - - * hash-traits.h (default_hash_traits): New structure. - * hash-set.h (default_hashset_traits): Delete. - (hash_set): Use default_hash_traits instead of - default_hashset_traits. Delete hash_entry type and use Key directly. - * ipa-devirt.c (pair_traits): Delete. - (default_hash_traits ): Override. - (odr_subtypes_equivalent_p): Remove pair_types template parameter. - (odr_types_equivalent_p, add_type_duplicate): Likewise. - -2015-06-25 Richard Sandiford - - * hash-traits.h (typed_noop_remove): Don't require a pointer type. - -2015-06-25 Richard Sandiford - - * hash-table.h (has_is_deleted, is_deleted_helper): Delete. - (has_is_empty, is_empty_helper): Delete. - (has_mark_deleted, mark_deleted_helper): Delete. - (has_mark_empty, mark_empty_helper): Delete. - (hash_table::is_deleted): Call the Descriptor unconditionally. - (hash_table::is_empty): Likewise. - (hash_table::mark_deleted): Likewise. - (hash_table::mark_empty): Likewise. - -2015-06-25 Richard Sandiford - - * cgraph.h (asmname_hasher): Inherit from ggc_ptr_hash. Remove - redundant typedefs and members. - * coverage.c (counts_entry): Inherit from pointer_hash. Remove - redundant typedefs. - * dwarf2out.c (cu_hash_table_entry_hasher): Likewise. - * ipa-devirt.c (odr_name_hasher): Likewise. - (polymorphic_call_target_hasher): Likewise. - * ira-costs.c (cost_classes_hasher): Likewise. - * statistics.c (stats_counter_hasher): Likewise. - * trans-mem.c (log_entry_hasher): Likewise. - * tree-ssa-dom.c (expr_elt_hasher): Likewise. - * tree-ssa-sccvn.c (vn_phi_hasher, vn_reference_hasher): Likewise. - * tree-ssa-tail-merge.c (same_succ_def): Likewise. - * var-tracking.c (variable_hasher): Likewise. - * valtrack.h (dead_debug_hash_descr): Inherit from free_ptr_hash. - Remove redundant typedefs and members. - -2015-06-25 Richard Sandiford - - * hash-traits.h (ggc_cache_hasher): Rename to... - (ggc_cache_remove): ...this and remove typedefs. - (ggc_cache_ptr_hash): New class. - * hash-table.h: Update commentary. - * emit-rtl.c (const_int_hasher): Inherit from ggc_cache_ptr_hash - rather than ggc_cache_hasher. - (const_wide_int_hasher, reg_attr_hasher): Likewise. - (const_double_hasher, const_fixed_hasher): Likewise. - * function.c (insn_cache_hasher): Likewise. - * trans-mem.c (tm_wrapper_hasher): Likewise. - * tree.h (tree_decl_map_cache_hasher): Likewise. - * tree.c (type_cache_hasher, int_cst_hasher): Likewise. - (cl_option_hasher, tree_vec_map_cache_hasher): Likewise. - * ubsan.c (tree_type_map_cache_hasher): Likewise. - * varasm.c (tm_clone_hasher): Likewise. - * config/i386/i386.c (dllimport_hasher): Likewise. - * config/nvptx/nvptx.c (declared_libfunc_hasher): Likewise. - (tree_hasher): Likewise. - -2015-06-25 Richard Sandiford - - * hash-traits.h (ggc_hasher): Rename to... - (ggc_remover): ...this and remove typedefs. - (ggc_cache_hasher): Update accordingly. Add typedefs. - (ggc_ptr_hash): New class. - * hash-table.h: Update comment. - * cfgloop.h (loop_exit_hasher): Inherit from ggc_ptr_hash rather than - ggc_hasher. - * cgraph.h (section_name_hasher, cgraph_edge_hasher): Likewise. - (tree_descriptor_hasher): Likewise. - * cgraph.c (function_version_hasher): Likewise. - * dwarf2out.c (indirect_string_hasher, dwarf_file_hasher): Likewise. - (decl_die_hasher, block_die_hasher, decl_loc_hasher): Likewise. - (dw_loc_list_hasher, addr_hasher): Likewise. - * function.h (used_type_hasher): Likewise. - * function.c (temp_address_hasher): Likewise. - * gimple-ssa.h (tm_restart_hasher, ssa_name_hasher): Likewise. - * libfuncs.h (libfunc_hasher): Likewise. - * lto-streamer.h (decl_state_hasher): Likewise. - * optabs.c (libfunc_decl_hasher): Likewise. - * tree-scalar-evolution.c (scev_info_hasher): Likewise. - * varasm.c (section_hasher, object_block_hasher): Likewise. - (const_rtx_desc_hasher): Likewise. - * config/darwin.c (indirection_hasher, cfstring_hasher): Likewise. - * config/rs6000/rs6000.c (toc_hasher, builtin_hasher): Likewise. - -2015-06-25 Richard Sandiford - - * hash-traits.h (free_ptr_hash): New class. - * dwarf2out.c (decl_table_entry_hasher): Inherit from free_ptr_hash - rather than typed_free_remove. Remove redudant typedefs. - (external_ref_hasher): Likewise. - * except.c (action_record_hasher, ttypes_filter_hasher): Likewise. - (ehspec_hasher): Likewise. - * ggc-common.c (saving_hasher): Likewise. - * gimplify.c (gimplify_hasher): Likewise. - * haifa-sched.c (delay_i2_hasher): Likewise. - * loop-invariant.c (invariant_expr_hasher): Likewise. - * loop-iv.c (biv_entry_hasher): Likewise. - * loop-unroll.c (iv_split_hasher, var_expand_hasher): Likewise. - * trans-mem.c (tm_mem_map_hasher, tm_memop_hasher): Likewise. - * tree-cfg.c (locus_discrim_hasher): Likewise. - * tree-eh.c (finally_tree_hasher): Likewise. - * tree-into-ssa.c (var_info_hasher): Likewise. - * tree-parloops.c (reduction_hasher, name_to_copy_hasher): Likewise. - * tree-ssa-loop-ivopts.c (iv_inv_expr_hasher): Likewise. - * tree-ssa-phiopt.c (ssa_names_hasher): Likewise. - * tree-ssa-pre.c (expr_pred_trans_d): Likewise. - * tree-ssa-sccvn.c (vn_constant_hasher): Likewise. - * tree-ssa-structalias.c (equiv_class_hasher): Likewise. - (shared_bitmap_hasher): Likewise. - * tree-ssa-threadupdate.c (redirection_data): Likewise. - * tree-vectorizer.h (peel_info_hasher): Likewise. - * tree-vectorizer.c (simduid_to_vf, simd_array_to_simduid): Likewise. - * config/mips/mips.c (mips_lo_sum_offset_hasher): Likewise. - -2015-06-25 Richard Sandiford - - * hash-table.h: Update comments. - * hash-traits.h (pointer_hash): Don't inherit from typed_noop_remove. - (nofree_ptr_hash): New class. - * asan.c (asan_mem_ref_hasher): Inherit from nofree_ptr_hash rather - than typed_noop_remove. Remove redudant typedefs. - * attribs.c (attribute_hasher): Likewise. - * cfg.c (bb_copy_hasher): Likewise. - * cselib.c (cselib_hasher): Likewise. - * dse.c (invariant_group_base_hasher): Likewise. - * dwarf2cfi.c (trace_info_hasher): Likewise. - * dwarf2out.c (macinfo_entry_hasher): Likewise. - (comdat_type_hasher, loc_list_hasher): Likewise. - * gcse.c (pre_ldst_expr_hasher): Likewise. - * genmatch.c (id_base): Likewise. - * genrecog.c (test_pattern_hasher): Likewise. - * gimple-ssa-strength-reduction.c (cand_chain_hasher): Likewise. - * haifa-sched.c (delay_i1_hasher): Likewise. - * hard-reg-set.h (simplifiable_subregs_hasher): Likewise. - * ipa-icf.h (congruence_class_group_hash): Likewise. - * ipa-profile.c (histogram_hash): Likewise. - * ira-color.c (allocno_hard_regs_hasher): Likewise. - * lto-streamer.h (string_slot_hasher): Likewise. - * lto-streamer.c (tree_entry_hasher): Likewise. - * plugin.c (event_hasher): Likewise. - * postreload-gcse.c (expr_hasher): Likewise. - * store-motion.c (st_expr_hasher): Likewise. - * tree-sra.c (uid_decl_hasher): Likewise. - * tree-ssa-coalesce.c (coalesce_pair_hasher): Likewise. - (ssa_name_var_hash): Likewise. - * tree-ssa-live.c (tree_int_map_hasher): Likewise. - * tree-ssa-loop-im.c (mem_ref_hasher): Likewise. - * tree-ssa-pre.c (pre_expr_d): Likewise. - * tree-ssa-sccvn.c (vn_nary_op_hasher): Likewise. - * vtable-verify.h (registration_hasher): Likewise. - * vtable-verify.c (vtbl_map_hasher): Likewise. - * config/arm/arm.c (libcall_hasher): Likewise. - * config/i386/winnt.c (wrapped_symbol_hasher): Likewise. - * config/ia64/ia64.c (bundle_state_hasher): Likewise. - * config/sol2.c (comdat_entry_hasher): Likewise. - * fold-const.c (fold): Use nofree_ptr_hash instead of pointer_hash. - (print_fold_checksum, fold_checksum_tree): Likewise. - (debug_fold_checksum, fold_build1_stat_loc): Likewise. - (fold_build2_stat_loc, fold_build3_stat_loc): Likewise. - (fold_build_call_array_loc): Likewise. - * tree-ssa-ccp.c (gimple_htab): Likewise. - * tree-browser.c (tree_upper_hasher): Inherit from nofree_ptr_hash - rather than pointer_type. - -2015-06-25 Richard Sandiford - - * hash-traits.h (pointer_hash::mark_deleted, pointer_hash::mark_empty) - (pointer_hash::is_deleted, pointer_hash::is_empty): New functions. - -2015-06-25 Richard Sandiford - - * hash-traits.h (ggc_hasher::remove): Take a reference parameter. - (ggc_hasher::ggc_mx): Likewise. - (ggc_cache_hasher): Inherit from ggc_hasher. Remove definitions - that duplicate ggc_hasher ones. - -2015-06-25 Richard Sandiford - - * hash-table.h (hash_table): Add gt_cleare_cache as a friend. - (gt_cleare_cache): Check here for deleted and empty entries. - Replace handle_cache_entry with a call to keep_cache_entry. - * hash-traits.h (ggc_cache_hasher::handle_cache_entry): Delete. - (ggc_cache_hasher::keep_cache_entry): New function. - * trans-mem.c (tm_wrapper_hasher::handle_cache_entry): Delete. - (tm_wrapper_hasher::keep_cache_entry): New function. - * tree.h (tree_decl_map_cache_hasher::handle_cache_entry): Delete. - (tree_vec_map_cache_hasher::keep_cache_entry): New function. - * tree.c (type_cache_hasher::handle_cache_entry): Delete. - (type_cache_hasher::keep_cache_entry): New function. - (tree_vec_map_cache_hasher::handle_cache_entry): Delete. - (tree_vec_map_cache_hasher::keep_cache_entry): New function. - * ubsan.c (tree_type_map_cache_hasher::handle_cache_entry): Delete. - (tree_type_map_cache_hasher::keep_cache_entry): New function. - * varasm.c (tm_clone_hasher::handle_cache_entry): Delete. - (tm_clone_hasher::keep_cache_entry): New function. - * config/i386/i386.c (dllimport_hasher::handle_cache_entry): Delete. - (dllimport_hasher::keep_cache_entry): New function. - -2015-06-25 Richard Sandiford - - * hash-table.h: Include hash-traits.h. - (typed_free_remove, typed_noop_remove, pointer_hash, ggc_hasher) - (ggc_cache_hasher): Move to... - * hash-traits.h: ...this new file. - -2015-06-25 Andrew MacLeod - - * tree-core.h (struct tree_optimization_option): Make opts a pointer to - struct cl_optimization. - * tree.h (TREE_OPTIMIZATION): Return the pointer, not the address of it. - * tree.c (make_node_stat): Allocate cl_optimization struct. - (copy_node_stat): Allocate and copy cl_optimization struct. - -2015-06-25 Andrew MacLeod - - * function.h (struct incoming_args): Move struct. - (pass_by_reference, reference_callee_copied): Remove prototypes. - * emit-rtl.h (struct incoming_args): Relocate struct here. - * calls.h (pass_by_reference, reference_callee_copied): Relocate - prototypes here. - * function.c (pass_by_reference, reference_callee_copied): Move. - * calls.c (pass_by_reference, reference_callee_copied): Relocate here. - * cfgloop.h: Don't include tm.h or hard-reg-set.h. - * ipa-chkp.c: Include calls.h. - -2015-06-25 Andrew Macleod - - * alias.h (alias_set_type): Move typedef. - * coretypes.h (alias_set_type): Relocate typedef here. - * rtl.h: Don't include alias.h. - -2015-06-25 Andrew MacLeod - - * cgraph.h (cgraph_rtl_info): Move to rtl.h - (cgraph_node): Maintain pointer to struct cgraph_rtl_info instead of - and instance. - * rtl.h (struct cgraph_rtl_info): Define when HARD_REG_SET available. - * cgraph.c (cgraph_node::rtl_info): Allocate cgraph_rtl_info if one - doesn't exist. - * calls.c: Include hard-reg-set.h before rtl.h. - * ira.c: Likewise. - -2015-06-25 Zhouyi Zhou - Vladimir Makarov - - * ira-color.c (assign_hard_reg): Remove unecessary bitmap check. - Add assert. - -2015-06-25 Richard Biener - - * fold-const.c (fold_binary_loc): Move simplification of - (X <<>> C1) & C2 ... - * match.pd: ... here. - -2015-06-25 Eric Botcazou - - * lto-streamer-out.c (DFS::hash_scc): Fix typos & formatting glitches. - -2015-06-25 Richard Sandiford - - * match.pd: Add patterns for vec_conds between 1 and 0. - -2015-06-25 Richard Biener - - * tree-vect-stmts.c (vectorizable_conversion): Do not set - STMT_VINFO_VEC_STMT for SLP. - (vectorizable_store): Likewise. - (vectorizable_load): Likewise. - (vect_transform_stmt): Catch SLP vectorization clobbering - STMT_VINFO_VEC_STMT. - -2015-06-25 Richard Biener - - * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Improve debug - dumping. - (vect_create_mask_and_perm): Do not set STMT_VINFO_VEC_STMT and - cleanup resulting dead code and parameters. - (vect_transform_slp_perm_load): Adjust. - -2015-06-25 Nick Clifton - - * config/bfin/bfin.c (bfin_expand_prologue): Set - current_function_static_stack_size if flag_stack_usage_info is set. - * config/ft32/ft32.c (ft32_expand_prologue): Likewise. - * config/h8300/h8300.c (h8300_expand_prologue): Likewise. - * config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise. - * config/m32c/m32c.c (m32c_emit_prologue): Likewise. - -2015-06-25 Tom de Vries - - * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Don't claim in header - comment that the generated IV is unsigned. - -2015-06-25 Ramana Radhakrishnan - - PR target/29693 - * config/arm/arm.c (arm_dbx_register_number): Return - DWARF_FRAME_REGISTERS by default. - -2015-06-25 Tom de Vries - - * dominance.c (calculate_dominance_info): Fix verify_dominators call - argument. Call verify_dominator when reusing dominator info. - -2015-06-24 Kaz Kojima - - PR target/66563 - * config/sh/sh.md (GOTaddr2picreg): Add a new operand for - an additional element of the unspec vector. Modify indices - of operands. - (builtin_setjmp_receiver): Pass const0_rtx to gen_GOTaddr2picreg. - * config/sh/sh.c (prepare_move_operands): Pass incremented - const_int to gen_GOTaddr2picreg. - (sh_expand_prologue): Pass const0_rtx to gen_GOTaddr2picreg. - -2015-06-24 Alan Lawrence - - * config/aarch64/aarch64.md (2): - Condition on TARGET_FLOAT. - -2015-06-24 Alan Lawrence - - * doc/invoke.texi: Clarify AArch64 feature modifiers (no)fp, (no)simd - and (no)crypto. - -2015-06-24 Alan Lawrence - - * config/aarch64/aarch64-protos.h (aarch64_err_no_fpadvsimd): New. - - * config/aarch64/aarch64.md (mov/GPF, movtf): Use - aarch64_err_no_fpadvsimd. - - * config/aarch64/aarch64.c (aarch64_err_no_fpadvsimd): New. - (aarch64_layout_arg, aarch64_init_cumulative_args): Use - aarch64_err_no_fpadvsimd if !TARGET_FLOAT and we need FP regs. - (aarch64_expand_builtin_va_start, aarch64_setup_incoming_varargs): - Turn error into assert, test TARGET_FLOAT. - (aarch64_gimplify_va_arg_expr): Use aarch64_err_no_fpadvsimd, test - TARGET_FLOAT. - -2015-06-24 Aldy Hernandez - - PR debug/66482 - * dwarf2out.c (gen_formal_parameter_die): Remove assert. - -2015-06-24 Ilya Enkovich - - * tree-vect-slp.c (vect_build_slp_tree_1): Init vectype. - -2015-06-24 Renlin Li - - * config/aarch64/aarch64.h(TARGET_CPU_CPP_BUILTINS): Add - __ARM_ALIGN_MAX_PWR, __ARM_ALIGN_MAX_STACK_PWR. - -2015-06-24 Richard Biener - - * genmatch.c (enum tree_code): Add VIEW_CONVERT[012]. - (main): Likewise. - (lower_opt_convert): Support lowering of conditional view_convert. - (parser::parse_operation): Likewise. - (parser::parse_for): Likewise. - -2015-06-24 Renlin Li - - * varasm.c (emit_local): Use unsigned int for align variable. - -2015-06-24 Ramana Radhakrishnan - - PR target/63408 - * config/arm/arm.c (vfp3_const_double_for_fract_bits): Disable - for negative numbers. - -2015-06-24 Andreas Krebbel - - PR rtl-optimization/66306 - * reload.c (find_reloads): Swap the match_dup info for - commutative operands. - -2015-06-24 Andreas Krebbel - - * config/s390/vx-builtins.md - ("vec_scatter_element_") - ("vec_scatter_element_SI"): Replace gf mode - attribute with bhfgq. - -2015-06-24 Andreas Krebbel - - * config/s390/s390-builtins.def: Fix vpopct instruction comments. - -2015-06-24 Andreas Krebbel - - * config/s390/s390-builtin-types.def: Add flag to indicate the - options under which the function type is needed. - * config/s390/s390-builtins.def: Add flag to indicate the options - under which the builtin is enabled. - * config/s390/s390-builtins.h: Add flags parameter to macro - definitions. - (bflags_for_builtin): New function. - (flags_for_builtin): Renamed to ... - (opflags_for_builtin): ... this. - * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Rename - flags_for_builtin to bflags_for_builtin and - flags_overloaded_builtin_var to opflags_overloaded_builtin_var. - * config/s390/s390.c: Add initialization of bflags_builtin and - opflags_builtin arrays. - Remove code for flags_builtin. - (s390_init_builtins): Only create builtin function types if one of - their flags is active. - Only create builtins if all of their flags are active. - (s390_expand_builtin): Rename flags_for_builtin to - opflags_for_builtin. - -2015-06-24 Andreas Krebbel - - * config/s390/vecintrin.h: Remove internal builtins. - -2015-06-24 Andreas Krebbel - - * config/s390/s390.c (s390_secondary_reload): Fix check for - GENERAL_REGS register class. - -2015-06-24 Andreas Krebbel - - * config/s390/s390.c (s390_support_vector_misalignment): Call - default implementation for !TARGET_VX. - -2015-06-24 Andreas Krebbel - - * config/s390/s390.c (s390_legitimate_constant_p): Add - TARGET_VX check. - -2015-06-24 Andreas Krebbel - - * config/s390/s390.c (s390_vector_abi): New variable definition. - (s390_check_type_for_vector_abi): New function. - (TARGET_ASM_FILE_END): New macro definition. - (s390_asm_file_end): New function. - (s390_function_arg): Call s390_check_type_for_vector_abi. - (s390_gimplify_va_arg): Likewise. - * configure: Regenerate. - * configure.ac: Check for .gnu_attribute Binutils feature. - -2015-06-23 Chen Gang - - PR target/65803 - * config/bfin/bfin.c (hwloop_optimize): Initialize - JUMP_LABEL for newly created jump. - -2015-06-23 Tristan Gingold - - * collect-utils.c (collect_wait): Unlink the response file here - instead of... - (do_wait): ...here. - (utils_cleanup): ...and here. - -2015-06-23 Richard Sandiford - - * df-scan.c: Don't include target-def.h. - * targhooks.c: Likewise. - * config/arm/arm-c.c: Likewise. - * config/i386/i386-c.c: Likewise. - * config/nds32/nds32-cost.c: Likewise. - * config/nds32/nds32-fp-as-gp.c: Likewise. - * config/nds32/nds32-intrinsic.c: Likewise. - * config/nds32/nds32-isr.c: Likewise. - * config/nds32/nds32-md-auxiliary.c: Likewise. - * config/nds32/nds32-memory-manipulation.c: Likewise. - * config/nds32/nds32-pipelines-auxiliary.c: Likewise. - * config/nds32/nds32-predicates.c: Likewise. - -2015-06-23 Richard Biener - - PR tree-optimization/66636 - * tree-vect-stmts.c (vectorizable_store): Properly compute the - def type for further defs for strided stores. - -2015-06-23 Nathan Sidwell - - * config/nvptx/nvptx.md (sel_true, sel_false): New - conditional selects. - (setcc_int, setcc_float): Reformat. - -2015-06-23 Marek Polacek - - * match.pd ((x + y) - (x | y) -> x & y, - (x + y) - (x & y) -> x | y): New patterns. - -2015-06-23 Ludovic Courtès - - PR 65711 - * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Move - '-dynamic-linker' within %{!shared: ...}. - -2015-06-23 Uros Bizjak - - PR target/66560 - * config/i386/predicates.md (addsub_vm_operator): New predicate. - (addsub_vs_operator): Ditto. - (addsub_vs_parallel): Ditto. - * config/i386/sse.md (ssedoublemode): Add V4SF and V2DF modes. - (avx_addsubv4df3, avx_addsubv8sf3, sse3_addsubv2df3, sse3_addsubv4sf3): - Put minus RTX before plus and adjust vec_merge selector. - (*avx_addsubv4df3_1, *avx_addsubv4df3_1s, *sse3_addsubv2df3_1) - (*sse_addsubv2df3_1s, *avx_addsubv8sf3_1, *avx_addsubv8sf3_1s) - (*sse3_addsubv4sf3_1, *sse_addsubv4sf3_1s): Remove insn patterns. - (addsub vec_merge splitters): New combiner splitters. - (addsub vec_select/vec_concat splitters): Ditto. - -2015-06-23 Bin Cheng - - PR tree-optimization/66449 - * tree-ssa-loop-niter.c (loop_exits_before_overflow): Use - POINTER_PLUS_EXPR for pointers. - -2015-06-23 Alan Modra - - * rtlanal.c (commutative_operand_precedence): Correct comments. - * simplify-rtx.c (simplify_plus_minus_op_data_cmp): Delete forward - declaration. Return an int. Distinguish REG,REG return from - others. - (struct simplify_plus_minus_op_data): Make local to function. - (simplify_plus_minus): Don't set canonicalized if merely sorting - registers. Avoid packing ops if nothing changes. White space fixes. - -2015-06-22 Pierre-Marie de Rodat - - * gcc.c (default_compilers): Pass "-o %g.s" to cc1 for headers even if - -fdump-ada-spec is passed but not if -fsyntax-only is. - -2015-06-22 Vladimir Makarov - - PR bootstrap/63740 - * lra-lives.c (process_bb_lives): Check insn copying the same - reload pseudo and don't create a copy for it. - -2015-06-22 Tom de Vries - - * tree-parloops.c (transform_to_exit_first_loop_alt): Add update_stmt - for cond_stmt. - -2015-06-22 Tom de Vries - - * builtins.def (DEF_GOMP_BUILTIN): Test - 'flag_tree_parallelize_loops > 1' instead of - 'flag_tree_parallelize_loops'. Test flag_cilkplus. - -2015-06-22 Tom de Vries - - * dominance.c (calculate_dominance_info): Verify dominators if - early-out. - -2015-06-22 Marek Polacek - - * match.pd ((x ^ y) ^ (x | y) -> x & y, - (x & y) + (x ^ y) -> x | y, (x & y) | (x ^ y) -> x | y, - (x & y) ^ (x ^ y) -> x | y, (x & y) + (x | y) -> x + y, - (x | y) - (x ^ y) -> x & y, (x | y) - (x & y) -> x ^ y): New patterns. - -2015-06-22 Uros Bizjak - - PR target/65871 - * config/i386/i386.c (ix86_rtx_costs) : Ignore the - cost of embedded comparison. - -2015-06-22 Bill Schmidt - - PR target/65914 - * config/rs6000/predicates.md (altivec_register_operand): Permit - virtual stack registers. - (vsx_register_operand): Likewise. - (vfloat_operand): Likewise. - (vint_operand): Likewise. - (vlogical_operand): Likewise. - -2015-06-22 Richard Biener - - * tree-vectorizer.h (_loop_vec_info): Add scalar_cost_vec - and single_scalar_iteration_cost members. - (LOOP_VINFO_SCALAR_ITERATION_COST): New. - (LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST): Likewise. - (vect_get_single_scalar_iteration_cost): Remove. - * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): - Use LOOP_VINFO_SCALAR_ITERATION_COST. - * tree-vect-loop.c (destroy_loop_vec_info): Free - scalar_cost_vec. - (vect_get_single_scalar_iteration_cost): Compute result into - LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST and - LOOP_VINFO_SCALAR_ITERATION_COST. Make static. - (vect_analyze_loop_2): Call vect_get_single_scalar_iteration_cost. - (vect_estimate_min_profitable_iters): Use them. - -2015-06-22 Christian Bruel - - PR target/52144 - * config/arm/arm.c (add_attribute, arm_insert_attributes): New functions - (TARGET_INSERT_ATTRIBUTES): Define. - (thumb_flipper): New var. - * config/arm/arm.opt (-mflip-thumb): New switch. - -2015-06-22 Jan Hubicka - Martin Liska - - PR ipa/65908 - * ipa-icf.c (sem_item::target_supports_symbol_aliases): Remove - construction of arg_types. - (sem_function::sem_function): Likewise. - (sem_function::~sem_function): Remove destruction of arg_types. - (sem_function::compatible_parm_types_p): New function. - (sem_function::equals_wpa): Reorg matching of return values - and parameter types. - (sem_function::equals_private): Reorg mathcing of argument types. - (sem_function::parse_tree_args): Remove. - * ipa-icf.h (init_wpa): Do not call it. - (parse_tree_args): Remove. - (compatible_parm_types_p): Declare. - (result_type): Remove. - (arg_types): Remove. - -2015-06-22 Jan Hubicka - - PR ipa/66351 - * ipa-polymorphic-call.c - (ipa_polymorphic_call_context::get_dynamic_type): Fix thinko when - initializing alias oracle; fix formating; set base_alias_set if it - is known. - -2015-06-22 Mikhail Maltsev - - * auto-inc-dec.c (reverse_mem, reverse_inc): Remove. - (parse_add_or_inc): Use std::swap instead of reverse_{mem,inc}. - (find_inc): Likewise. - * combine.c (combine_simplify_rtx): Use std::swap instead of manually - swapping. - * df-core.c (df_worklist_dataflow_doublequeue): Likewise. - * df-scan.c (df_swap_refs): Remove. - (df_sort_and_compress_refs): Use std::swap instead of df_swap_refs. - * dominance.c (link_roots): Use std::swap instead of manually swapping. - * expr.c (expand_expr_real_2, do_store_flag): Likewise. - * fold-const.c (fold_relational_const): Likewise. - * genattrtab.c (simplify_test_exp): Likewise. - * gimple-match-head.c (gimple_resimplify2, gimple_resimplify3, - gimple_simplify): Likewise. - * ifcvt.c (noce_try_abs, find_if_header): Likewise. - * internal-fn.c (expand_addsub_overflow, expand_mul_overflow): Likewise. - * ipa-devirt.c (add_type_duplicate): Likewise. - * loop-iv.c (get_biv_step_1, iv_number_of_iterations): Likewise. - * lra-lives.c (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise. - * lra.c (lra_create_copy): Likewise. - * lto-streamer-out.c (DFS::DFS): Likewise. - * modulo-sched.c (get_sched_window): Likewise. - * omega.c (omega_pretty_print_problem): Likewise. - * optabs.c (prepare_float_lib_cmp, expand_mult_highpart): Likewise. - * reload1.c (reloads_unique_chain_p): Likewise. - * sel-sched-ir.c (exchange_lv_sets, exchange_av_sets): Remove. - (exchange_data_sets): Move logic from exchange_{av,lv}_sets here and - use std::swap. - * simplify-rtx.c (simplify_unary_operation_1): Use std::swap instead of - manually swapping. - * tree-if-conv.c (is_cond_scalar_reduction, predicate_scalar_phi, - predicate_mem_writes): Likewise. - * tree-loop-distribution.c (pg_add_dependence_edges): Likewise. - * tree-predcom.c (combine_chains): Likewise. - * tree-ssa-alias.c (nonoverlapping_component_refs_p, - refs_may_alias_p_1): Likewise. - * tree-ssa-ifcombine.c (recognize_if_then_else): Likewise. - * tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise. - * tree-ssa-loop-niter.c (refine_bounds_using_guard, - number_of_iterations_cond): Likewise. - * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise. - * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Likewise. - * tree-vect-slp.c (vect_build_slp_tree): Likewise. - * tree-vect-stmts.c (supportable_widening_operation): Likewise. - * tree-vrp.c (extract_range_from_binary_expr_1, - extract_range_from_unary_expr_1): Likewise. - -2015-06-20 Marek Polacek - - * common.opt (fsanitize-undefined-trap-on-error): Add Driver. - -2015-06-19 Kaz Kojima - - PR target/66591 - * config/sh/sh.c (prepare_move_operands): Replace subreg - index term with R0 for base and index addressing. - -2015-06-19 Jim Wilson - - * config/aarch64/aarch64.md (mov:GPF): Don't call force_reg if - op1 is an fp zero. - (movsf_aarch64): Change condition from register_operand to - aarch64_reg_or_fp_zero for op1. Change type for alternative 6 to - load1. Change type for alternative 7 to store1. - (movdf_aarch64): Likewise. - -2015-06-19 James Greenhalgh - - * config/vax/vax.md: Adjust sign/zero extend patterns to - handle SUBREGs in operands[1]. - -2015-06-19 Kyrylo Tkachov - - * config/i386/i386.c (ix86_function_versions): Use std::swap instead - of manually swapping. - (expand_vec_perm_interleave2): Likewise. - -2015-06-19 Ilya Enkovich - - * tree-chkp.c (chkp_compute_bounds_for_assignment): Don't - reuse bounds created for abnormal ssa names. - -2015-06-19 Jakub Jelinek - - * config/nvptx/nvptx.md (allocate_stack): Rename to... - (allocate_stack_): ... this, and add :P on both - match_operand and unspec. - (allocate_stack): New expander. - -2015-06-19 Christian Bruel - - PR target/66541 - PR target/52144 - * config/arm/arm.c (arm_set_current_function): Handle - explicit default options. - -2015-06-18 Uros Bizjak - - * config/i386/i386.md (*movsicc_noc_zext): New insn. - (zero-extended cmove with mem peephole2): New pattern. - (cmove with mem peephole2): Merge patterns. - -2015-06-18 Segher Boessenkool - - * config/rs6000/rs6000.h (WORD_REGISTER_OPERATIONS): Delete. - -2015-06-18 Steve Ellcey - - * config/mips/mips.c (mips_rtx_costs): Remove HONOR_NAN check. - * config/mips/mips.md (*madd4): Ditto. - (*nmadd3) Ditto. - (*nmadd4_fastmath): Ditto. - (*nmadd3_fastmath): Ditto. - (*nmsub4): Ditto. - (*nmsub3): Ditto. - (*nmsub4_fastmath): Ditto. - (*nmsub3_fastmath): Ditto. - -2015-06-18 Michael Matz - - PR middle-end/66253 - * tree-vect-stmts.c (vectorizable_store): Implement non-SLP - grouped strided stores. - (vectorizable_load): Don't use the DR from first_stmt in - the non-SLP grouped strided case. - -2015-06-18 Ilya Enkovich - - PR target/66569 - * function.c (assign_bounds): Add arguments assign_regs, - assign_special, assign_bt. - (assign_parms): For vararg functions handle bounds in BT - and special slots after incoming vararg bounds. - -2015-06-18 Ilya Enkovich - - PR middle-end/66568 - * cfgexpand.c (expand_return): Handle missing bounds. - (expand_gimple_stmt_1): Likewise. - * tree-chkp.c (chkp_expand_zero_bounds): New. - * tree-chkp.h (chkp_expand_zero_bounds): New. - -2015-06-18 Ilya Enkovich - - PR middle-end/66567 - * ipa-chkp.c (chkp_maybe_create_clone): Require - functions to be instrumentable. - * tree-chkp.c (chkp_replace_function_pointer): Use - chkp_instrumentable_p instead of attribute check. - -2015-06-18 Richard Biener - - PR tree-optimization/66510 - * tree-vect-stmts.c (vectorizable_load): Properly compute the - number of vector loads for SLP permuted loads. - * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Also - check the stride for loop vectorization. - (vect_enhance_data_refs_alignment): Deal with SLP adjusted - vectorization factor. - (vect_analyze_group_access): If the group size is not a power - of two require a epilogue loop. - * tree-vect-loop.c (vect_analyze_loop_2): Move alignment - compute and optimizing and alias test pruning after final - vectorization factor computation. - * tree-vect-slp.c (vect_build_slp_tree_1): Remove check on - vector alignment. - (vect_transform_slp_perm_load): Properly compute the original - number of vector load stmts. - -2015-06-18 Uros Bizjak - - * doc/invoke.texi (-fsanitize-sections): Split @var to avoid - "unlikely character , in @var" warning. - -2015-06-17 Uros Bizjak - - * config/i386/i386.c (ix86_function_arg): Nest TARGET_64BIT code. - (ix86_function_arg_advance): Ditto. - (ix86_pass_by_reference): Ditto. Rewrite MS_ABI part. - -2015-06-17 Andrew MacLeod - - * function.h (struct rtl_data): Remove struct and accessor macros. - * emit-rtl.h (struct rtl_data): Relocate to here. - * Makefile.in (GTFILES): Add emit-rtl.h. - * df-core.c: Include emit-rtl.h. - * genattrtab.c: Likewise. - * genconditions.c: Likewise. - * genpreds.c: Likewise. - * genrecog.c: Likewise. - * regcprop.c: Likewise. - * resource.c: Likewise. - * sched-rgn.c: Likewise. - * config/aarch64/cortex-a57-fma-steering.c: Likewise. - * config/i386/winnt.c: Likewise. - -2015-06-17 Jakub Jelinek - - PR middle-end/66429 - * omp-low.c (expand_omp_taskreg, expand_omp_target): Use child_cfun - instead of DECL_STRUCT_FUNCTION (child_fn). Or in has_simduid_loops - and has_force_vectorize_loops flags from cfun into - child_cfun. - (expand_omp_simd): For broken loop, set cfun->has_simduid_loops - if simduid is non-NULL. - * tree-pass.h (make_pass_simduid_cleanup): New prototype. - * passes.def (pass_simduid_cleanup): Add new pass after loop - passes. - * tree-vectorizer.c (adjust_simduid_builtins): Remove one unnecessary - indirection from htab argument's type. - (shrink_simd_arrays): New function. - (vectorize_loops): Use it. Adjust adjust_simduid_builtins caller. - Don't call adjust_simduid_builtins if there are no loops. - (pass_data_simduid_cleanup, pass_simduid_cleanup): New variables. - (pass_simduid_cleanup::execute): New method. - (make_pass_simduid_cleanup): New function. - -2017-06-17 Andrew MacLeod - - * tree-core.h (tree_target_option): Make opts field a pointer to a - cl_target_option instead of an instance of the struct. - * tree.h (TREE_TARGET_OPTION): Return the pointer, not an address of - the structure. - * tree.c (make_node_stat ): Allocate a cl_target_option struct for - TARGET_OPTION_NODE. - (copy_node_stat): Allocate and copy struct cl_target_option. - -2015-06-17 Andrew MacLeod - - * tree.h (merge_dllimport_decl_attributes, handle_dll_attribute): - Remove conditional exposure of prototypes. - (ANON_AGGRNAME_FORMAT, ANON_AGGRNAME_P): Delete. - * tree.c (anon_aggrname_format, anon_aggrname_p): New. Replace macro - definitions in tree.h with functions. - * lto-streamer-out.c (DFS_write_tree_body, hash_tree): Use - anon_aggrname_p. - * tree-streamer-out.c (write_ts_decl_minimal_tree_pointers): Likewise. - -2015-06-17 Segher Boessenkool - - * config/rs6000/rs6000.md (*cmp_internal1): Rename to... - (*cmp_signed): ... this. - (*cmpsi_internal2, *cmpdi_internal2): Merge, rename to... - (*cmp_unsigned): ... this. Remove %b. - -2015-06-17 Andrew MacLeod - - * coretypes.h: Include input.h and as-a.h. - * rtl.h: Include input.h and as-a.h for generator files. - * hwint.c: Include coretypes.h, don't include diagnostic-core.h. - * vec.c: Don't include diagnostic-core.h. - * alias.c: Do not include input.h, line-map.h or is-a.h. - * 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. - * cfgloop.h: 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. - * df.h: Likewise. - * dfp.c: Likewise. - * diagnostic-core.h: Likewise. - * diagnostic.c: Likewise. - * dojump.c: Likewise. - * dominance.c: Likewise. - * domwalk.c: Likewise. - * double-int.c: Likewise. - * dse.c: Likewise. - * dumpfile.c: Likewise. - * dumpfile.h: Likewise. - * dwarf2asm.c: Likewise. - * dwarf2cfi.c: Likewise. - * dwarf2out.c: Likewise. - * emit-rtl.c: Likewise. - * et-forest.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. - * gcc-plugin.h: Likewise. - * gcse.c: Likewise. - * generic-match-head.c: Likewise. - * ggc-page.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-streamer.h: Likewise. - * gimple-walk.c: Likewise. - * gimple.c: Likewise. - * gimplify-me.c: Likewise. - * gimplify.c: Likewise. - * godump.c: Likewise. - * graph.c: Likewise. - * graphite-blocking.c: Likewise. - * graphite-dependences.c: Likewise. - * graphite-interchange.c: Likewise. - * graphite-isl-ast-to-gimple.c: Likewise. - * graphite-optimize-isl.c: Likewise. - * graphite-poly.c: Likewise. - * graphite-scop-detection.c: Likewise. - * graphite-sese-to-poly.c: Likewise. - * graphite.c: Likewise. - * haifa-sched.c: Likewise. - * hw-doloop.c: Likewise. - * ifcvt.c: Likewise. - * init-regs.c: Likewise. - * input.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. - * 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. - * omega.c: Likewise. - * omp-low.c: Likewise. - * optabs.c: Likewise. - * opts-global.c: Likewise. - * opts.h: Likewise. - * passes.c: Likewise. - * plugin.c: Likewise. - * postreload-gcse.c: Likewise. - * postreload.c: Likewise. - * predict.c: Likewise. - * pretty-print.h: Likewise. - * print-rtl.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. - * sched-vis.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. - * streamer-hooks.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-browser.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-copyrename.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. - * valtrack.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.cc: Likewise. - * xcoffout.c: Likewise. - * common/common-target.h: Do not include input.h, line-map.h or is-a.h. - * common/common-targhooks.c: Likewise. - * config/aarch64/aarch64-builtins.c: Likewise. - * config/aarch64/aarch64.c: Likewise. - * config/alpha/alpha.c: Likewise. - * config/arc/arc.c: Likewise. - * config/arm/aarch-common.c: Likewise. - * config/arm/arm-builtins.c: Likewise. - * config/arm/arm-c.c: Likewise. - * config/arm/arm.c: Likewise. - * config/avr/avr-c.c: Likewise. - * config/avr/avr-log.c: Likewise. - * config/avr/avr.c: Likewise. - * config/bfin/bfin.c: Likewise. - * config/c6x/c6x.c: Likewise. - * config/cr16/cr16.c: Likewise. - * config/cris/cris.c: Likewise. - * config/darwin-c.c: Likewise. - * config/darwin.c: Likewise. - * config/default-c.c: Likewise. - * config/epiphany/epiphany.c: Likewise. - * config/epiphany/mode-switch-use.c: Likewise. - * config/epiphany/resolve-sw-modes.c: Likewise. - * config/fr30/fr30.c: Likewise. - * config/frv/frv.c: Likewise. - * config/ft32/ft32.c: Likewise. - * config/glibc-c.c: Likewise. - * config/h8300/h8300.c: Likewise. - * config/i386/i386-c.c: Likewise. - * config/i386/i386.c: Likewise. - * config/i386/msformat-c.c: Likewise. - * config/i386/winnt-cxx.c: Likewise. - * config/i386/winnt-stubs.c: Likewise. - * config/i386/winnt.c: Likewise. - * config/ia64/ia64-c.c: Likewise. - * config/ia64/ia64.c: Likewise. - * config/iq2000/iq2000.c: Likewise. - * config/lm32/lm32.c: Likewise. - * config/m32c/m32c-pragma.c: Likewise. - * config/m32c/m32c.c: Likewise. - * config/m32r/m32r.c: Likewise. - * config/m68k/m68k.c: Likewise. - * config/mcore/mcore.c: Likewise. - * config/mep/mep-pragma.c: Likewise. - * config/mep/mep.c: Likewise. - * config/microblaze/microblaze-c.c: Likewise. - * config/microblaze/microblaze.c: Likewise. - * config/mips/mips.c: Likewise. - * config/mmix/mmix.c: Likewise. - * config/mn10300/mn10300.c: Likewise. - * config/moxie/moxie.c: Likewise. - * config/msp430/msp430-c.c: Likewise. - * config/msp430/msp430.c: Likewise. - * config/nds32/nds32-cost.c: Likewise. - * config/nds32/nds32-fp-as-gp.c: Likewise. - * config/nds32/nds32-intrinsic.c: Likewise. - * config/nds32/nds32-isr.c: Likewise. - * config/nds32/nds32-md-auxiliary.c: Likewise. - * config/nds32/nds32-memory-manipulation.c: Likewise. - * config/nds32/nds32-pipelines-auxiliary.c: Likewise. - * config/nds32/nds32-predicates.c: Likewise. - * config/nds32/nds32.c: Likewise. - * config/nios2/nios2.c: Likewise. - * config/nvptx/nvptx.c: Likewise. - * config/pa/pa.c: Likewise. - * config/pdp11/pdp11.c: Likewise. - * config/rl78/rl78-c.c: Likewise. - * config/rl78/rl78.c: Likewise. - * config/rs6000/rs6000-c.c: Likewise. - * config/rs6000/rs6000.c: Likewise. - * config/rx/rx.c: Likewise. - * config/s390/s390-c.c: Likewise. - * config/s390/s390.c: Likewise. - * config/sh/sh-c.c: Likewise. - * config/sh/sh-mem.cc: Likewise. - * config/sh/sh.c: Likewise. - * config/sh/sh_optimize_sett_clrt.cc: Likewise. - * config/sh/sh_treg_combine.cc: Likewise. - * config/sol2-c.c: Likewise. - * config/sol2-cxx.c: Likewise. - * config/sol2-stubs.c: Likewise. - * config/sol2.c: Likewise. - * config/sparc/sparc-c.c: Likewise. - * config/sparc/sparc.c: Likewise. - * config/spu/spu-c.c: Likewise. - * config/spu/spu.c: Likewise. - * config/stormy16/stormy16.c: Likewise. - * config/tilegx/mul-tables.c: Likewise. - * config/tilegx/tilegx-c.c: Likewise. - * config/tilegx/tilegx.c: Likewise. - * config/tilepro/mul-tables.c: Likewise. - * config/tilepro/tilepro-c.c: Likewise. - * config/tilepro/tilepro.c: Likewise. - * config/v850/v850-c.c: Likewise. - * config/v850/v850.c: Likewise. - * config/vax/vax.c: Likewise. - * config/visium/visium.c: Likewise. - * config/vms/vms-c.c: Likewise. - * config/vms/vms.c: Likewise. - * config/vxworks.c: Likewise. - * config/winnt-c.c: Likewise. - * config/xtensa/xtensa.c: Likewise. - -2015-06-17 Robert Suchanek - - * config/mips/mips.c (mips_ira_change_pseudo_allocno_class): New - function. - (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Define macro. - -2015-06-17 Richard Biener - - PR tree-optimization/66251 - * tree-vect-stmts.c (vectorizable_store): Fix gathering of vectorized - stmts for SLP strided stores. - - Revert - 2015-05-22 Richard Biener - - PR tree-optimization/66251 - * tree-vect-stmts.c (vectorizable_conversion): Properly - set STMT_VINFO_VEC_STMT even for the SLP case. - - 2015-05-26 Michael Matz - - PR middle-end/66251 - * tree-vect-stmts.c (vect_create_vectorized_demotion_stmts): Always set - STMT_VINFO_VEC_STMT, also with SLP. - -2015-06-16 Uros Bizjak - - PR target/56766 - * config/i386/sse.md (*avx_addsubv4df3_1): New insn pattern. - (*avx_addsubv4df3_1s): Ditto. - (*sse3_addsubv2df3_1): Ditto. - (*sse3_addsubv2df3_1s): Ditto. - (*avx_addsubv8sf3_1): Ditto. - (*avx_addsubv8sf3_1s): Ditto. - (*sse3_addsubv4sf3_1): Ditto. - (*sse3_addsubv4sf3_1s): Ditto. - -2015-06-16 Steve Ellcey - - * config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): New. - (SYSROOT_SUFFIX_SPEC): Update. - (SYSROOT_HEADERS_SUFFIX_SPEC): New. - (STARTFILE_PREFIX_SPEC): Update. - * config/mips/t-mti-linux (MULTILIB_EXCEPTIONS): Remove. - (MULTILIB_REQUIRED): New. - (MULTILIB_OSDIRNAMES): New. - * config/mips/t-img-linux (MULTILIB_EXCEPTIONS): Remove. - (MULTILIB_REQUIRED): New. - (MULTILIB_OSDIRNAMES): New. - -2015-06-16 Matthew Wahab - - * config/aarch64/aarch64-arches.def: Add "armv8.1-a". - * config/aarch64/aarch64-options-extensions.def: Update "fP", - "simd" and "crypto". Add "lse", "pan", "lor" and "rdma". - * config/aarch64/aarch64.h (AARCH64_FL_LSE): New. - (AARCH64_FL_PAN): New. - (AARCH64_FL_LOR): New. - (AARCH64_FL_RDMA): New. - (AARCH64_FL_FOR_ARCH8_1): New. - * doc/invoke.texi (AArch64 Options): Add "armv8.1-a" to - -march. Add "lse", "pan", "lor", "rdma" to feature modifiers. - -2015-06-16 Martin Liska - - * bitmap.c (dump_bitmap_statistics): Fix GNU coding style. - * hash-table.c (void dump_hash_table_loc_statistics): Add missing - guard. - -2015-06-16 Richard Biener - - * tree-vect-stmts.c (vectorizable_store): Adjust. - (vectorizable_load): Likewise. - * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): - Simplify. - (vect_create_data_ref_ptr): Likewise. - (bump_vector_ptr): Adjust. - -2015-06-16 Richard Biener - - * tree-vect-stmts.c (vectorizable_load): Properly start loads - with the first element if this is grouped loads. - -2015-06-16 James Greenhalgh - - * config/arm/arm-protos.h (struct tune_params): Rename - log_op_non_sc to log_op_non_short_circuit, and rename enum - values to expand SC to SHORT_CIRCUIT. - * config/arm/arm.c (arm_slowmul_tune): Expand LOG_OP_NON_SC - to LOG_OP_NON_SHORT_CIRCUIT. - (arm_fastmul_tune):Likewise - (arm_strongarm_tune): Likewise. - (arm_xscale_tune): Likewise. - (arm_9e_tune): Likewise. - (arm_marvell_pj4_tune): Likewise. - (arm_v6t2_tune): Likewise. - (arm_cortex_tune): Likewise. - (arm_cortex_a8_tune): Likewise. - (arm_cortex_a7_tune): Likewise. - (arm_cortex_a15_tune): Likewise. - (arm_cortex_a53_tune): Likewise. - (arm_cortex_a57_tune): Likewise. - (arm_xgene1_tune): Likewise. - (arm_cortex_a5_tune): Likewise. - (arm_cortex_a9_tune): Likewise. - (arm_cortex_a12_tune): Likewise. - (arm_v7m_tune): Likewise. - (arm_cortex_m7_tune): Likewise. - (arm_v6m_tune): Likewise. - (arm_fa726te_tune): Likewise. - -2015-06-15 David Edelsohn - - * altivec.md: Delete UNSPEC_VMLADDUHM. - (mulv4si3_p8): New pattern. - (mulv4si3): Use it for POWER8. - (mulv8hi3): Use vmladduhm with zero addend. - (altivec_vmladduhm): Descriptive RTL. - -2015-06-15 Jim Wilson - - * config/aarch64/aarch64.md (mov_aarch64): Change alternative 2 - to use neon_move instead of mov_imm. - (movdi_aarch64): Change alternative 14 to use neon_move not fmov. - (movtf_aarch64): Change alternative 4 to use neon_move_q not fconstd. - - * config/aarch64/aarch64.c (aarch64_valid_floating_const): Move - aarch64_float_const_zero_rtx_p check before TFmode check. - * config/aarch64/aarch64.md (movtf): Don't call force_reg if op1 is - an fp zero. - (movtf_aarch64): Separate ?rY alternative into two. Adjust assembly - code and attributes to match. Change condition from register_operand - to aarch64_reg_or_fp_zero for op1. Change type for ldp from - neon_load1_2reg to load2. Change type for stp from neon_store1_2reg - to store2. - -2015-06-15 Aldy Hernandez - - PR debug/66535 - * dwarf2out.c (gen_subprogram_die): Do not check a parent's tag if - there is no parent. - -2015-06-14 Shiva Chen - - * aarch64.c (aarch64_simd_lane_bounds): Change %ld to %wd for - HOST_WIDE_INT parameter. - -2015-06-14 Jan Hubicka - - PR ipa/66181 - * lto-streamer-out.c (hash_tree): Do not hash TYPE_NO_FORCE_BLK. - * tree-streamer-out.c (pack_ts_type_common_value_fields): Do not stream - TYPE_NO_FORCE_BLK. - * tree-streamer-in.c (unpack_ts_type_common_value_fields): Likewise. - -2015-06-14 Richard Sandiford - - * rtl.h (classify_insn): Declare. - * emit-rtl.c (classify_insn): Move to... - * rtl.c: ...here and add generator support. - * gensupport.h (get_emit_function, needs_barrier_p): Declare. - * gensupport.c (get_emit_function, needs_barrier_p): New functions. - * genemit.c (gen_emit_seq): New function. - (gen_expand, gen_split): Use it. - -2015-06-13 Patrick Palka - - * tree.c (make_vector_stat): Fix comment to state that the - function returns a VECTOR_CST. - -2015-06-13 Richard Sandiford - - * gensupport.h (add_implicit_parallel): Declare. - * genrecog.c (add_implicit_parallel): Move to... - * gensupport.c (add_implicit_parallel): ...here. - (process_one_cond_exec): Use it. - * genemit.c (gen_insn): Likewise. - -2015-06-13 Iain Sandoe - - PR bootstrap/66448 - * passes.c (rest_of_decl_compilation): Do not register globals for - early debug if they are declared in built-ins. - -2015-06-12 Aldy Hernandez - - * dwarf2out.c (check_die): Protect with ENABLE_CHECKING. - -2015-06-12 Kyrylo Tkachov - - * ifcvt.c (noce_try_store_flag_constants): Use std::swap instead of - manually swapping. - (noce_try_cmove_arith): Likewise. - (noce_get_alt_condition): Likewise. - -2015-06-12 Venkataramanan Kumar - - * common/config/i386/i386-common.c - (OPTION_MASK_ISA_MWAITX_SET): New. - (ix86_handle_option): Handle mwaitx. - * config.gcc (i[34567]86-*-*): Add mwaitxintrin.h, - (x86_64-*-*): Likewise. - * config/i386/mwaitxintrin.h: New header. - * config/i386/cpuid.h (bit_MWAITX): Define. - * config/i386/driver-i386.c (host_detect_local_cpu): Detect - MWAITX support. - * config/i386/i386.opt (mwaitx): New. - * config/i386/i386-builtin-types.def - (VOID_FTYPE_UNSIGNED_ UNSIGNED_UNSIGNED): New function type. - * config/i386/i386-c.c: Define __MWAITX__ if needed. - * config/i386/i386.c (ix86_target_string): Define -mmwaitx option. - (PTA_MWAITX): New. - (ix86_option_override_internal): Handle new option. - (processor_alias_table): Added PTA_MWAITX. - (ix86_valid_target_attribute_inner_p): Add OPT_mmwaitx. - (ix86_builtins): Add IX86_BUILTIN_MWAITX, IX86_BUILTIN_MONITORX. - (ix86_expand_builtin): Handle IX86_BUILTIN_MWAITX and - IX86_BUILTIN_MONITORX built-ins. - * config/i386/i386.h (TARGET_MWAITX): New. - * config/i386/i386.md (unspecv): Add UNSPEC_MWAITX and - UNSPEC_MONITORX. - (mwaitx): New pattern. - (monitorx_): New pattern. - * config/i386/x86intrin.h: Include mwaitxintrin.h. - * doc/extend.texi: Document monitorx and mwaitx builtins. - * doc/invoke.texi: Document -mmwaitx option. - -2015-06-12 Uros Bizjak - - * emit-rtl.c (need_atomic_barrier_p): Mask model with - MEMMODEL_BASE_MASK. Remove MEMMODEL_SYNC_* cases. - -2015-06-11 David Edelsohn - - * dbxout.c (xcoff_debug_hooks): Provide a function for - register_main_translation_unit hook. - -2015-06-11 David Edelsohn - - * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier): Remove SYNC - variants cases from switch. - (rs6000_post_atomic_barrier): Same. - (rs6000_expand_atomic_compare_and_swap): Use memmodel_base. - (rs6000_expand_atomic_exchange): Same. - (rs6000_expand_atomic_op): Same. - * config/rs6000/sync.md (mem_thread_fence): Use memodel_base. Remove - SYNC variants cases from switch. - (atomic_load): Same. - (atomic_store): Same. - -2015-06-11 John David Anglin - - * config/pa/pa.c (pa_output_global_address): Handle LABEL_REF plus - CONST_INT for goto. - -2015-06-11 Aldy Hernandez - - PR bootstrap/66448 - * dwarf2out.c (check_die): Check for common duplicate attributes. - (add_location_or_const_value_attribute): Do not add duplicate - attributes. - (gen_formal_parameter_die): Do not add DW_AT_artificial the second - time around. - (gen_struct_or_union_type_die): Bail early if TREE_ASM_WRITTEN. - (gen_type_die_with_usage): Call check_die. - (dwarf2out_decl): Only call check_die() when ENABLE_CHECKING. - -2015-06-11 Jason Merrill - - * dwarf2out.c (prune_unused_types): Handle unused top-level limbo - dies. - -2015-06-11 Marek Polacek - - * match.pd ((x & y) ^ (x | y)): Don't check for single_use. - -2015-06-11 Eric Botcazou - - PR bootstrap/66252 - * config/sparc/sparc.c (hard_regno_mode_classes): Add ??? comment. - * config/sparc/sparc.md (zero_extendsidi2_insn_sp32): Use single order. - (*addx_extend_sp32): Fix pasto. - (*subx_extend): Rename into... - (*subx_extend_sp32): ...this. - (*adddi3_extend_sp32): Add earlyclobber. - (*subdi3_insn_sp32): Likewise. - (*subdi3_extend_sp32): Likewise. - (*and_not_di_sp32): Likewise. - (*or_not_di_sp32): Likewise. - (*xor_not_di_sp32): Likewise. - (*negdi2_sp32): Likewise. - (*one_cmpldi2_sp32): Likewise. - -2015-06-11 Pierre-Marie de Rodat - - * debug.h (struct gcc_debug_hooks): Add a - register_main_translation_unit hook. - * debug.c (do_nothing_debug_hooks): Provide a function for this - new hook. - * dbxout.c (dbx_debug_hooks): Likewise. - * sdbout.c (sdb_debug_hooks): Likewise. - * vmsdbgout.c (vmsdbg_debug_hooks): Likewise. - * dwarf2out.c (main_translation_unit): New global variable. - (dwarf2out_register_main_translation_unit): New function - implementing the new hook. - (dwarf2_debug_hooks): Assign - dwarf2out_register_main_translation_unit to this new hook. - (dwarf2out_init): Associate any main translation unit to - comp_unit_die (). - -2015-06-11 Marek Polacek - - * match.pd ((x & y) ^ (x | y) -> x ^ y): New pattern. - -2015-06-11 Marek Polacek - - * match.pd: Use single_use throughout. - -2015-06-11 Kyrylo Tkachov - - * config/arm/arm.c (arm_option_params_internal): When optimising - for speed set max_insns_skipped when arm_restrict_it. - -2015-06-11 Christian Bruel - - PR target/52144 - * config/arm/arm-c.c (arm_cpu_cpp_builtins): Conditionally define - macros in ... - (arm_cpu_builtins): New function. - (arm_pragma_target_parse): Call arm_cpu_builtins. - * config/arm/arm-protos.h (arm_cpu_builtins): Declare. - (arm_register_target_pragmas): Likewise. - * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): - Call arm_register_target_pragmas. - * config/arm/arm-c.c (arm_register_target_pragmas): New function. - (arm_pragma_target_parse): Likewise. - -2015-06-10 Kaz Kojima - - * config/sh/sh.md (tstsi_t): Add '?' modifier to 'r' alternative - of the second operand. - -2015-06-10 Uros Bizjak - - PR target/66473 - * config/i386/i386.c (ix86_expand_vector_set): Use gen_int_mode - to prepare mask operand for AVX512 modes. - -2015-06-10 Michael Meissner - - PR target/66474 - * doc/md.texi (Machine Constraints): Document that on the PowerPC - if you use a constraint that targets a VSX register, you must use - %x in the template. - -2015-06-10 Max Filippov - - * config/xtensa/xtensa.h (TARGET_DEBUG): New definition. - * config/xtensa/xtensa.md (define_attr "type"): New type "trap". - (define_insn "trap"): New definition. - -2015-06-10 Richard Biener - - * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Split - out from ... - (vect_supported_load_permutation_p): ... here. Handle - supportable permutations in reductions. - * tree-vect-stmts.c (vectorizable_load): Handle SLP permutations - for vectorizing strided group loads. - -2015-06-10 Jakub Jelinek - - PR target/66470 - * config/i386/i386.c (ix86_split_long_move): For collisions - involving direct tls segment refs, move the UNSPEC_TP possibly - wrapped in ZERO_EXTEND out of the address for lea, to each of - the memory loads. - -2015-06-10 Ramana Radhakrishnan - - * config/arm/sync.md (*memory_barrier): Use dmb ish instead of - dmb sy. Adjust tabs. - -2015-06-10 Tom de Vries - - * omp-low.c (expand_omp_target): Remove duplicate declaration of node. - -2015-06-10 Martin Liska - - PR bootstrap/66471 - * mem-stats-traits.h (enum mem_alloc_origin): Add _ORIGIN suffix for - all enum values in mem_alloc_origin. - * alloc-pool.c (dump_alloc_pool_statistics): Use newly changed enum - name. - * alloc-pool.h (pool_allocator::pool_allocator): Likewise. - * bitmap.c (bitmap_register): Likewise. - (dump_bitmap_statistics): Likewise. - * ggc-common.c (dump_ggc_loc_statistics): Likewise. - (ggc_record_overhead): Likewise. - * hash-map.h: Likewise. - * hash-set.h: Likewise. - * hash-table.c (void dump_hash_table_loc_statistics): Likewise. - * hash-table.h: Likewise. - * vec.c (vec_prefix::register_overhead): Likewise. - (vec_prefix::release_overhead): Likewise. - (dump_vec_loc_statistics): Likewise. - -2015-06-09 Christian Bruel - - PR target/52144 - * config/arm/arm.opt (THUMB, arm_restrict_it, inline_asm_unified): Save. - * config/arm/arm-protos.h (arm_valid_target_attribute_tree): Declare. - (arm_reset_previous_fndecl, arm_change_mode_p): Likewise. - * config/arm/arm.h (SWITCHABLE_TARGET): Define. - * config/arm/arm.c (arm_reset_previous_fndecl): New functions. - (arm_valid_target_attribute_tree, arm_change_mode_p): Likewise. - (arm_valid_target_attribute_p): Likewise. - (arm_set_current_function, arm_can_inline_p): Likewise. - (arm_valid_target_attribute_rec): Likewise. - (arm_previous_fndecl): New variable. - (TARGET_SET_CURRENT_FUNCTION, TARGET_OPTION_VALID_ATTRIBUTE_P): Define. - (TARGET_CAN_INLINE_P): Define. - (arm_asm_trampoline_template): Emit mode. - (arm_file_start): Don't set unified syntax. - (arm_declare_function_name): Set unified syntax and mode. - (arm_option_override): Init target_option_default_node. - and target_option_current_node. - * config/arm/arm.md (*call_value_symbol): Set mode when possible. - (*call_symbol): Likewise. - * doc/extend.texi: Document ARM/Thumb target attribute. - * doc/invoke.texi: Likewise. - -2015-06-09 Alexandre Oliva - - Revert: - 2015-06-09 Alexandre Oliva - PR rtl-optimization/64164 - * Makefile.in (OBJS): Drop tree-ssa-copyrename.o. - * tree-ssa-copyrename.c: Removed. - * opts.c (default_options_table): Drop -ftree-copyrename. Add - -ftree-coalesce-vars. - * passes.def: Drop all occurrences of pass_rename_ssa_copies. - * common.opt (ftree-copyrename): Ignore. - (ftree-coalesce-inlined-vars): Likewise. - * doc/invoke.texi: Remove the ignored options above. - * gimple-expr.h (gimple_can_coalesce_p): Move declaration - * tree-ssa-coalesce.h: ... here. - * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other - headers required by it. - * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing - across variables when flag_tree_coalesce_vars. Check register - use and promoted modes to allow coalescing. Moved to - tree-ssa-coalesce.c. - * tree-ssa-live.c (struct tree_int_map_hasher): Move along - with its member functions to tree-ssa-coalesce.c. - (var_map_base_init): Likewise. Renamed to - compute_samebase_partition_bases. - (partition_view_normal): Drop want_bases parameter. - (partition_view_bitmap): Likewise. - * tree-ssa-live.h: Adjust declarations. - * tree-ssa-coalesce.c: Include explow.h. - (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's - default defs at the entry point. - (dump_part_var_map): New. - (compute_optimized_partition_bases): New, called by... - (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead - of compute_samebase_partition_bases. Adjust. - * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs. - * cfgexpand.c (leader_merge): New. - (get_rtl_for_parm_ssa_default_def): New. - (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA - vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too. - (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop - redundant MEM attr setting. - (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed - from... - (expand_one_stack_var): ... this. New wrapper to check and - skip already expanded SSA partitions. - (record_alignment_for_reg_var): New, factored out of... - (expand_one_var): ... this. - (expand_one_ssa_partition): New. - (adjust_one_expanded_partition_var): New. - (expand_one_register_var): Check and skip already expanded SSA - partitions. - (expand_used_vars): Don't create DECLs for anonymous SSA - names. Expand all SSA partitions, then adjust all SSA names. - (pass::execute): Replace the loops that set - SA.partition_to_pseudo from partition leaders and cleared - DECL_RTL for multi-location variables, and that which used to - rename vars and set attrs, with one that clears DECL_RTL and - checks that PARMs and RESULTs default_defs match DECL_RTL. - * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare. - * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl. - * explow.c (promote_ssa_mode): New. - * explow.h (promote_ssa_mode): Declare. - * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs. - * function.c: Include cfgexpand.h. - (use_register_for_decl): Handle SSA_NAMEs, anonymous or not. - (use_register_for_parm_decl): Wrapper for the above to - special-case the result_ptr. - (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def. - (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with - multiple locations. - (assign_parm_adjust_stack_rtl): Add all and parm arguments, - for rtl_for_parm. For SSA-assigned parms, zero stack_parm. - (assign_parm_setup_block): Prefer SSA-assigned location. - (assign_parm_setup_reg): Likewise. Use entry_parm for equiv - if stack_parm is NULL. - (assign_parm_setup_stack): Prefer SSA-assigned location. - (assign_parms): Maybe reset DECL_RTL of params. Adjust stack - rtl before testing for pointer bounds. Special-case result_ptr. - (expand_function_start): Maybe reset DECL_RTL of result. - Prefer SSA-assigned location for result and static chain. - Factor out DECL_RESULT and SET_DECL_RTL. - * tree-outof-ssa.c (insert_value_copy_on_edge): Handle - anonymous SSA names. Use promote_ssa_mode. - (get_temp_reg): Likewise. - (remove_ssa_form): Adjust. - * var-tracking.c (dataflow_set_clear_at_call): Take call_insn - and get its reg_usage for reg invalidation. - (compute_bb_dataflow): Pass it insn. - (emit_notes_in_bb): Likewise. - * tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't - fail assert on conversion between unsigned types. - -2015-06-09 Tom de Vries - - PR tree-optimization/65460 - * omp-low.c (expand_omp_target): Set parallelized_function on - cgraph_node for child_fn. - -2015-06-09 Tom de Vries - - * omp-low.c (finalize_task_copyfn, expand_omp_taskreg): Mark function - parallelized_function before add_new_function. - -2015-06-09 Andrew MacLeod - - * gcc-plugin.h: Move decls to plugin.h and include it. - * plugin.h: Relocate decls from gcc-plugin.h - * ggc-page.c: Include required header files. - * passes.c: Likewise. - * cgraphunit.c: Likewise. - -2015-06-09 Tom de Vries - - * tree-stdarg.c (expand_ifn_va_arg_1): Handle location. - -2015-06-09 Jason Merrill - - PR bootstrap/66448 - * toplev.c (check_global_declaration): Don't warn about a clone. - -2015-06-09 Marek Polacek - - PR tree-optimization/66299 - * match.pd ((CST1 << A) == CST2 -> A == ctz (CST2) - ctz (CST1) - ((CST1 << A) != CST2 -> A != ctz (CST2) - ctz (CST1)): New - patterns. - -2015-06-09 Richard Biener - - * tree-vect-slp.c (vect_build_slp_tree_1): Remove bailout on gaps. - (vect_analyze_slp_instance): Instead do not falsely drop - load permutations. - -2015-06-09 Richard Biener - - PR middle-end/66423 - * match.pd: Handle A % (unsigned)(1 << B). - -2015-06-09 Aldy Hernandez - - * varasm.c (output_object_block_htab): Remove. - (output_object_block_compare): New. - (output_object_blocks): Sort named object_blocks before outputting - them. - -2015-06-09 Richard Biener - - PR tree-optimization/66419 - * tree-vect-slp.c (vect_supported_load_permutation_p): Properly - consider GROUP_GAP when detecting a perfect subchain. - -2015-06-09 Nick Clifton - - * config/rl78/rl78.c (rl78_select_section): When -mes0 is active - place read only data in the .frodata section. - -2015-06-09 Shiva Chen - - * sync.md (atomic_load): Add conditional code for lda/ldr - (atomic_store): Likewise. - -2015-06-09 Richard Biener - - * cfgloop.c (get_loop_body_in_bfs_order): Fix assert. - -2015-06-09 Richard Biener - - PR middle-end/66413 - * tree-inline.c (insert_init_debug_bind): Unshare value. - -2015-06-09 Richard Biener - - PR tree-optimization/66396 - * graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl): - Rename virtual operands. - -2015-06-09 Tom de Vries - - * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Don't - always return false. - -2015-06-09 Alexandre Oliva - - PR rtl-optimization/64164 - * Makefile.in (OBJS): Drop tree-ssa-copyrename.o. - * tree-ssa-copyrename.c: Removed. - * opts.c (default_options_table): Drop -ftree-copyrename. Add - -ftree-coalesce-vars. - * passes.def: Drop all occurrences of pass_rename_ssa_copies. - * common.opt (ftree-copyrename): Ignore. - (ftree-coalesce-inlined-vars): Likewise. - * doc/invoke.texi: Remove the ignored options above. - * gimple-expr.h (gimple_can_coalesce_p): Move declaration - * tree-ssa-coalesce.h: ... here. - * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other - headers required by it. - * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing - across variables when flag_tree_coalesce_vars. Check register - use and promoted modes to allow coalescing. Moved to - tree-ssa-coalesce.c. - * tree-ssa-live.c (struct tree_int_map_hasher): Move along - with its member functions to tree-ssa-coalesce.c. - (var_map_base_init): Likewise. Renamed to - compute_samebase_partition_bases. - (partition_view_normal): Drop want_bases parameter. - (partition_view_bitmap): Likewise. - * tree-ssa-live.h: Adjust declarations. - * tree-ssa-coalesce.c: Include explow.h. - (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's - default defs at the entry point. - (dump_part_var_map): New. - (compute_optimized_partition_bases): New, called by... - (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead - of compute_samebase_partition_bases. Adjust. - * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs. - * cfgexpand.c (leader_merge): New. - (get_rtl_for_parm_ssa_default_def): New. - (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA - vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too. - (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop - redundant MEM attr setting. - (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed - from... - (expand_one_stack_var): ... this. New wrapper to check and - skip already expanded SSA partitions. - (record_alignment_for_reg_var): New, factored out of... - (expand_one_var): ... this. - (expand_one_ssa_partition): New. - (adjust_one_expanded_partition_var): New. - (expand_one_register_var): Check and skip already expanded SSA - partitions. - (expand_used_vars): Don't create DECLs for anonymous SSA - names. Expand all SSA partitions, then adjust all SSA names. - (pass::execute): Replace the loops that set - SA.partition_to_pseudo from partition leaders and cleared - DECL_RTL for multi-location variables, and that which used to - rename vars and set attrs, with one that clears DECL_RTL and - checks that PARMs and RESULTs default_defs match DECL_RTL. - * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare. - * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl. - * explow.c (promote_ssa_mode): New. - * explow.h (promote_ssa_mode): Declare. - * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs. - * function.c: Include cfgexpand.h. - (use_register_for_decl): Handle SSA_NAMEs, anonymous or not. - (use_register_for_parm_decl): Wrapper for the above to - special-case the result_ptr. - (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def. - (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with - multiple locations. - (assign_parm_adjust_stack_rtl): Add all and parm arguments, - for rtl_for_parm. For SSA-assigned parms, zero stack_parm. - (assign_parm_setup_block): Prefer SSA-assigned location. - (assign_parm_setup_reg): Likewise. Use entry_parm for equiv - if stack_parm is NULL. - (assign_parm_setup_stack): Prefer SSA-assigned location. - (assign_parms): Maybe reset DECL_RTL of params. Adjust stack - rtl before testing for pointer bounds. Special-case result_ptr. - (expand_function_start): Maybe reset DECL_RTL of result. - Prefer SSA-assigned location for result and static chain. - Factor out DECL_RESULT and SET_DECL_RTL. - * tree-outof-ssa.c (insert_value_copy_on_edge): Handle - anonymous SSA names. Use promote_ssa_mode. - (get_temp_reg): Likewise. - (remove_ssa_form): Adjust. - * var-tracking.c (dataflow_set_clear_at_call): Take call_insn - and get its reg_usage for reg invalidation. - (compute_bb_dataflow): Pass it insn. - (emit_notes_in_bb): Likewise. - * tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't - fail assert on conversion between unsigned types. - -2015-06-09 Alexandre Oliva - - PR debug/58315 - * tree-inline.c (reset_debug_binding): New. - (reset_debug_bindings): Likewise. - (expand_call_inline): Call it. - -2015-06-08 Jan Hubicka - - * tree.c (gimple_canonical_types_compatible_p): Drop comparsion of - TYPE_STRING_FLAG. - -2015-06-08 Jan Hubicka - - * lto-streamer-out.c (lto_output_location): Stream - reserved locations correctly. - * lto-streamer-in.c (lto_output_location): Likewise. - -2015-06-08 Andrew MacLeod - - * coretypes.h: Include hash-table.h and hash-set.h for host files. - * ggc.h: Don't include statistics.h> - * hash-map.h: Remove all includes. - * hash-set.h: Likewise. - * hash-table.h: Add statistics.h, inchash.h and hash-map-traits.h to - the include list. Remove . - * inchash.h: Remove all includes. - * mem-stats.h: Likewise. - * vec.h: No special processing for generators or ggc. - * alias.c : Adjust include files. - * alloc-pool.c : Likewise. - * alloc-pool.h : Likewise. - * asan.c : Likewise. - * attribs.c : Likewise. - * auto-inc-dec.c : Likewise. - * auto-profile.c : Likewise. - * bb-reorder.c : Likewise. - * bitmap.c : Likewise. - * bitmap.h : 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. - * cfgloop.h : 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. - * context.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. - * data-streamer.h : 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. - * df.h : 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. - * et-forest.c : Likewise. - * except.c : Likewise. - * except.h : 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. - * gcc-plugin.h : Likewise. - * gcc.c : Likewise. - * gcse-common.c : Likewise. - * gcse.c : Likewise. - * genattrtab.c : Likewise. - * genautomata.c : Likewise. - * genconditions.c : Likewise. - * genemit.c : Likewise. - * generic-match-head.c : Likewise. - * genextract.c : Likewise. - * gengtype-state.c : Likewise. - * gengtype.c : Likewise. - * genhooks.c : Likewise. - * genmatch.c : Likewise. - * genmodes.c : Likewise. - * genrecog.c : Likewise. - * gensupport.c : Likewise. - * ggc-common.c : Likewise. - * ggc-internal.h : Likewise. - * ggc-none.c : Likewise. - * ggc-page.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-ssa.h : Likewise. - * gimple-streamer-in.c : Likewise. - * gimple-streamer-out.c : Likewise. - * gimple-streamer.h : Likewise. - * gimple-walk.c : Likewise. - * gimple.c : Likewise. - * gimplify-me.c : Likewise. - * gimplify.c : Likewise. - * godump.c : Likewise. - * graph.c : Likewise. - * graphds.c : Likewise. - * graphite-blocking.c : Likewise. - * graphite-dependences.c : Likewise. - * graphite-interchange.c : Likewise. - * graphite-isl-ast-to-gimple.c : Likewise. - * graphite-optimize-isl.c : Likewise. - * graphite-poly.c : Likewise. - * graphite-scop-detection.c : Likewise. - * graphite-sese-to-poly.c : Likewise. - * graphite.c : Likewise. - * haifa-sched.c : Likewise. - * hard-reg-set.h : Likewise. - * hw-doloop.c : Likewise. - * ifcvt.c : Likewise. - * inchash.c : Likewise. - * incpath.c : Likewise. - * init-regs.c : Likewise. - * input.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. - * libfuncs.h : 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. - * lto-streamer.h : Likewise. - * mcf.c : Likewise. - * mode-switching.c : Likewise. - * modulo-sched.c : Likewise. - * omega.c : Likewise. - * omp-low.c : Likewise. - * optabs.c : Likewise. - * opts-global.c : Likewise. - * opts.h : Likewise. - * passes.c : Likewise. - * plugin.c : Likewise. - * postreload-gcse.c : Likewise. - * postreload.c : Likewise. - * predict.c : Likewise. - * print-rtl.c : Likewise. - * print-tree.c : Likewise. - * profile.c : Likewise. - * read-md.c : Likewise. - * read-md.h : Likewise. - * read-rtl.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.c : Likewise. - * rtl.h : Likewise. - * rtlanal.c : Likewise. - * rtlhash.c : Likewise. - * rtlhash.h : Likewise. - * rtlhooks.c : Likewise. - * sanopt.c : Likewise. - * sched-deps.c : Likewise. - * sched-ebb.c : Likewise. - * sched-rgn.c : Likewise. - * sched-vis.c : Likewise. - * sdbout.c : Likewise. - * sel-sched-dump.c : Likewise. - * sel-sched-ir.c : Likewise. - * sel-sched-ir.h : Likewise. - * sel-sched.c : Likewise. - * sese.c : Likewise. - * shrink-wrap.c : Likewise. - * shrink-wrap.h : 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. - * tlink.c : Likewise. - * toplev.c : Likewise. - * tracer.c : Likewise. - * trans-mem.c : Likewise. - * tree-affine.c : Likewise. - * tree-affine.h : Likewise. - * tree-browser.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-eh.h : Likewise. - * tree-emutls.c : Likewise. - * tree-hasher.h : Likewise. - * tree-if-conv.c : Likewise. - * tree-inline.c : Likewise. - * tree-inline.h : 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-copyrename.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-streamer.h : 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-vectorizer.h : Likewise. - * tree-vrp.c : Likewise. - * tree.c : Likewise. - * tsan.c : Likewise. - * ubsan.c : Likewise. - * valtrack.c : Likewise. - * valtrack.h : Likewise. - * value-prof.c : Likewise. - * var-tracking.c : Likewise. - * varasm.c : Likewise. - * varpool.c : Likewise. - * vec.c: Likewise. - * vmsdbgout.c : Likewise. - * vtable-verify.c : Likewise. - * vtable-verify.h : Likewise. - * web.c : Likewise. - * wide-int.cc : Likewise. - * xcoffout.c : Likewise. - * config/aarch64/aarch64-builtins.c : Likewise. - * config/aarch64/aarch64.c : Likewise. - * config/aarch64/cortex-a57-fma-steering.c : Likewise. - * config/alpha/alpha.c : Likewise. - * config/arc/arc.c : Likewise. - * config/arm/aarch-common.c : Likewise. - * config/arm/arm-builtins.c : Likewise. - * config/arm/arm-c.c : Likewise. - * config/arm/arm.c : Likewise. - * config/avr/avr-c.c : Likewise. - * config/avr/avr-log.c : Likewise. - * config/avr/avr.c : Likewise. - * config/bfin/bfin.c : Likewise. - * config/c6x/c6x.c : Likewise. - * config/cr16/cr16.c : Likewise. - * config/cris/cris.c : Likewise. - * config/darwin-c.c : Likewise. - * config/darwin.c : Likewise. - * config/default-c.c : Likewise. - * config/epiphany/epiphany.c : Likewise. - * config/epiphany/mode-switch-use.c : Likewise. - * config/epiphany/resolve-sw-modes.c : Likewise. - * config/fr30/fr30.c : Likewise. - * config/frv/frv.c : Likewise. - * config/ft32/ft32.c : Likewise. - * config/glibc-c.c : Likewise. - * config/h8300/h8300.c : Likewise. - * config/i386/i386-c.c : Likewise. - * config/i386/i386.c : Likewise. - * config/i386/msformat-c.c : Likewise. - * config/i386/winnt-cxx.c : Likewise. - * config/i386/winnt-stubs.c : Likewise. - * config/i386/winnt.c : Likewise. - * config/ia64/ia64-c.c : Likewise. - * config/ia64/ia64.c : Likewise. - * config/iq2000/iq2000.c : Likewise. - * config/lm32/lm32.c : Likewise. - * config/m32c/m32c-pragma.c : Likewise. - * config/m32c/m32c.c : Likewise. - * config/m32r/m32r.c : Likewise. - * config/m68k/m68k.c : Likewise. - * config/mcore/mcore.c : Likewise. - * config/mep/mep-pragma.c : Likewise. - * config/mep/mep.c : Likewise. - * config/microblaze/microblaze-c.c : Likewise. - * config/microblaze/microblaze.c : Likewise. - * config/mips/mips.c : Likewise. - * config/mmix/mmix.c : Likewise. - * config/mn10300/mn10300.c : Likewise. - * config/moxie/moxie.c : Likewise. - * config/msp430/msp430-c.c : Likewise. - * config/msp430/msp430.c : Likewise. - * config/nds32/nds32-cost.c : Likewise. - * config/nds32/nds32-fp-as-gp.c : Likewise. - * config/nds32/nds32-intrinsic.c : Likewise. - * config/nds32/nds32-isr.c : Likewise. - * config/nds32/nds32-md-auxiliary.c : Likewise. - * config/nds32/nds32-memory-manipulation.c : Likewise. - * config/nds32/nds32-pipelines-auxiliary.c : Likewise. - * config/nds32/nds32-predicates.c : Likewise. - * config/nds32/nds32.c : Likewise. - * config/nios2/nios2.c : Likewise. - * config/nvptx/nvptx.c : Likewise. - * config/pa/pa.c : Likewise. - * config/pdp11/pdp11.c : Likewise. - * config/rl78/rl78-c.c : Likewise. - * config/rl78/rl78.c : Likewise. - * config/rs6000/rs6000-c.c : Likewise. - * config/rs6000/rs6000.c : Likewise. - * config/rx/rx.c : Likewise. - * config/s390/s390-c.c : Likewise. - * config/s390/s390.c : Likewise. - * config/sh/sh-c.c : Likewise. - * config/sh/sh-mem.cc : Likewise. - * config/sh/sh.c : Likewise. - * config/sh/sh_optimize_sett_clrt.cc : Likewise. - * config/sh/sh_treg_combine.cc : Likewise. - * config/sol2-c.c : Likewise. - * config/sol2-cxx.c : Likewise. - * config/sol2-stubs.c : Likewise. - * config/sol2.c : Likewise. - * config/sparc/sparc-c.c : Likewise. - * config/sparc/sparc.c : Likewise. - * config/spu/spu-c.c : Likewise. - * config/spu/spu.c : Likewise. - * config/stormy16/stormy16.c : Likewise. - * config/tilegx/mul-tables.c : Likewise. - * config/tilegx/tilegx-c.c : Likewise. - * config/tilegx/tilegx.c : Likewise. - * config/tilepro/mul-tables.c : Likewise. - * config/tilepro/tilepro-c.c : Likewise. - * config/tilepro/tilepro.c : Likewise. - * config/v850/v850-c.c : Likewise. - * config/v850/v850.c : Likewise. - * config/vax/vax.c : Likewise. - * config/visium/visium.c : Likewise. - * config/vms/vms-c.c : Likewise. - * config/vms/vms.c : Likewise. - * config/vxworks.c : Likewise. - * config/winnt-c.c : Likewise. - * config/xtensa/xtensa.c : Likewise. - -2015-06-08 Jan Hubicka - - PR lto/65378 - * ipa-utils.h (warn_types_mismatch): Update prototype. - * ipa-devirt.c (odr_types_equivalent_p): Add loc1/loc2 - parameters. - (type_mismatch_p): New function. - (warn_types_mismatch): Reorg to work better on non-C++ types. - (odr_types_equivalent_p): Add loc1/loc2 parameters. - (add_type_duplicate): Update. - -2015-06-08 Tom de Vries - - PR rtl-optimization/66444 - * postreload.c (reload_combine): Use get_call_reg_set_usage instead of - call_used_regs. - -2015-06-08 Richard Biener - - PR tree-optimization/66422 - * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Split - block after inserted gcc_unreachable. - -2015-06-08 Nick Clifton - - * config/rx/rx.c (rx_function_value): Do not promote vector types. - (rx_promote_function_mode): Likewise. - * config/rx/rx.h (LIBCALL_VALUE): Likewise. - -2015-06-08 Jakub Jelinek - - * genattrtab.c (insn_alternatives): Change type from int * - to uint64_t *. - (check_attr_test): Shift ((uint64_t) 1) instead of 1 up. - (get_attr_value): Change type of num_alt to uint64_t. - (compute_alternative_mask): Change return type from - int to uint64_t, shift ((uint64_t) 1) instead of 1 up. - (make_alternative_compare, mk_attr_alt): Change argument type - from int to uint64_t. - (simplify_test_exp): Change type of i from int to uint64_t. - Shift ((uint64_t) 1) instead of 1 up. - (main): Adjust oballocvec first argument from int to uint64_t. - Shift ((uint64_t) 1) instead of 1 up. - -2015-06-08 Jan Kratochvil - - PR other/65366 - * gdbhooks.py: Import sys. - (intptr): New function. Replace int(...) by intptr(...). - -2015-06-08 Richard Biener - - * tree-vect-stmts.c (vectorizable_load): Compute the pointer - adjustment for gaps at the end of a SLP load group properly. - * tree-vect-slp.c (vect_supported_load_permutation_p): Allow - all permutations we can generate. - (vect_transform_slp_perm_load): Use the correct group-size. - -2015-06-08 Marc Glisse - - * genmatch.c (expr::gen_transform): For conditions, guess the type - from the second operand. - -2015-06-08 Tom de Vries - - PR tree-optimization/66442 - * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Add function. - * tree-parloops.c (try_transform_to_exit_first_loop_alt): Return false - if the loop latch is not a singleton. Use - gimple_seq_nondebug_singleton_p instead of gimple_seq_singleton_p. - -2015-06-08 Marek Polacek - - PR sanitizer/66452 - * toplev.c (check_global_declaration): Don't warn about artificial - decls. - -2015-06-08 Tom de Vries - - PR tree-optimization/66436 - * cgraphunit.c (cgraph_node::analyze): Don't dump function to gimple - dump file. - * gimplify.c: Add tree-dump.h include. - (gimplify_function_tree): Dump function to gimple dump file. - * stor-layout.c (finalize_size_functions): Don't dump function to gimple - dump file. - -2015-06-08 Tom de Vries - - PR tree-optimization/66435 - * cgraphunit.c (cgraph_node::add_new_function): Dump message on new - function. - -2015-06-06 Jan Hubicka - - * alias.c (get_alias_set): Be ready for TYPE_CANONICAL - of ptr_type_node to not be ptr_to_node. - * tree.c (gimple_types_compatible_p): Do not match TREE_CODE of - TREE_TYPE of pointers. - * gimple-expr.c (useless_type_conversion): Reorder the check for - function pointers and TYPE_CANONICAL. - -2015-06-06 John David Anglin - - PR bootstrap/66319 - * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Rearrange builtin - defines. Define _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE for c++. - Define _XOPEN_UNIX and _XOPEN_SOURCE_EXTENDED for c++ if unix95 or - later. - * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Likewise. - Define _INCLUDE_STDC_SOURCE_PRE_199901, _INCLUDE_STDC_SOURCE_199901, - _INCLUDE_XOPEN_SOURCE_PRE_500, _INCLUDE_XOPEN_SOURCE_520, - _INCLUDE_XOPEN_SOURCE_PRE_600 and _INCLUDE_XOPEN_SOURCE_600 for c++ - and non iso if unix2003. - -2015-06-06 Aldy Hernandez - - * dwarf2out.c (gen_lexical_block_die): Initialize stmt_die. - -2015-06-06 Richard Sandiford - - * emit-rtl.c, expr.c, gcse.c, optabs.c, optabs.h, print-rtl.c, - rtl.h, bb-reorder.c, builtins.c, calls.c, cfgbuild.c, cfgexpand.c, - cfgrtl.c, cilk-common.c, config/i386/i386.md, cse.c, dwarf2cfi.c, - except.c, final.c, function.c, gcse-common.c, genemit.c, - haifa-sched.c, ifcvt.c, jump.c, loop-invariant.c, loop-iv.c, - lra-constraints.c, lra.c, reload1.c, resource.c, rtlanal.c, - sched-deps.c, sched-ebb.c, sel-sched-ir.c, sel-sched.c, - shrink-wrap.c, stmt.c, store-motion.c: Replace rtx base types with - more derived ones. - -2015-06-06 Mikhail Maltsev - - * combine.c (combine_split_insns): Remove cast. - * config/bfin/bfin.c (hwloop_fail): Add cast in try_split call. - * config/sh/sh.c (sh_try_split_insn_simple): Remove cast. - * config/sh/sh_treg_combine.cc (sh_treg_combine::execute): Add cast. - * emit-rtl.c (try_split): Promote type of trial argument to rtx_insn. - * genemit.c (gen_split): Change return type of generated functions to - rtx_insn. - * genrecog.c (get_failure_return): Use NULL instead of NULL_RTX. - (print_subroutine_start): Promote rtx to rtx_insn in gen_split_* and - gen_peephole2_* functions. - (print_subroutine, main): Likewise. - * recog.c (peephole2_optimize): Remove cast. - (peep2_next_insn): Promote return type to rtx_insn. - * recog.h (peep2_next_insn): Fix prototype. - * rtl.h (try_split, split_insns): Likewise. - -2015-06-06 DJ Delorie - - * config/msp430/msp430.c (msp430_asm_integer): Support addition - and subtraction too. - -2015-06-05 Kaz Kojima - - PR target/66410 - * config/sh/constraints.md (Sid, Ssd): New memory constraints. - * config/sh/sh.md (*mov): Use Sid and Ssd alternatives - instead of Snd. Disparage Sid/z alternative with '^'. - -2015-06-05 Aldy Hernandez - - * dwarf2out.c: Remove deferred_locations*. - (dwarf2_debug_hooks): Add early_finish hook. - Remove global_decl hook. - Add early_global_decl and late_global_decl hook. - New global early_dwarf. - New structure set_early_dwarf. - (output_die): Indicate whether a DIE was generated early - when generating assembly with -dA. - (struct limbo_die_struct): Document created_for field. - Remove file_table_last_lookup. - (remove_AT): Return TRUE if successful. - (remove_child_TAG): Clear die_parent. - (reparent_child): New function abstracted from... - (splice_child_die): ...here. - (new_die): ICE if a DIE ends up in limbo too late. - (check_die): New. - (defer_location): Remove. - (add_subscript_info): Reuse DW_TAG_subrange_type if available. - (fill_variable_array_bounds): New. - (decl_start_label): Call fill_variable_array_bounds. - (gen_formal_parameter_die): Rewrite to reuse previously generated - DIEs. - (gen_subprogram_die): Same. - (gen_variable_die): Same. - (gen_const_die): Same. - (gen_label_die): Same. - (gen_lexical_block_die): Same. - (decl_will_get_specification_p): New. - (local_function_static): New. - (gen_struct_or_union_type_die): Fill in variable-length fields. - (gen_typedef_die): Fill in variable-length typedefs. - (gen_tagged_type_die): Gracefully return on error_mark_node. - Handle re-entrancy. - (gen_type_die_with_usage): Handle variable-length types. - Remove duplicate code for ARRAY_TYPE case. - (process_scope_var): Only process imported modules during early - dwarf. - (dwarf2out_early_global_decl): New. - (dwarf2out_late_global_decl): Rename from dwarf2out_global_decl. - (dwarf2out_type_decl): Set early_dwarf while calling - dwarf2out_decl. - (dwarf2out_decl): Verify that we did not recreate a previously - generated DIE. - Do not return on DECL_EXTERNALs in VAR_DECLs. - Abstract some code to local_function_static. - (lookup_filename): Remove use of file_table_last_lookup. - Gracefully exit on missing file_name. - (dwarf2out_finish): Verify limbo list. - Remove deferred_locations_list use. - Move deferred_asm_name and limbo flushing to... - (dwarf2out_early_finish): ...here. New. - (dwarf2out_c_finalize): Remove set of deferred_location_list, - deferred_asm_name, and file_table_last_lookup. - * cgraph.h (referred_to_p): Add default argument. - * cgraphunit.c (referred_to_p): Add and handle include_self - argument. - (analyze_functions): Add first_time argument. - Call check_global_declaration for all symbols. - Call late_global_decl for nodes for moribund nodes. - (finalize_compilation_unit): Add new argument to - analyze_functions. - Call early_global_decl for functions. - Call early_finish debug hook. - * dbxout.c (dbxout_early_global_decl): New. - (dbxout_late_global_decl): New. Adapted from dbxout_global_decl. - (dbx_debug_hooks): Add new hooks. - (xcoff_debug_hooks): Same. - * debug.c (do_nothing_debug_hooks): Add early_finish field. - Add early and late debug hooks. - Remove global_decl hook. - * debug.h (struct gcc_debug_hooks): Add early_finish, - early_global_decl, and late_global_decl fields. - Remove global_decl field. - Document gcc_debug_hooks. - * gengtype.c (output_typename): Remove. - * godump.c (go_early_global_decl): New. - (go_late_global_decl): New. - (go_global_decl): Remove. - (dump_go_spec_init): Remove global_decl. Add - {early,late}_global_decl. - * langhooks-def.h (LANG_HOOKS_WRITE_GLOBALS): Remove. - (LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): New. - * langhooks.c (lhd_warn_unused_global_decl): Adjust comment. - (write_global_declarations): Remove. - (global_decl_processing): New. - * langhooks.h (struct lang_hooks_for_decls): Remove - final_write_globals field. - Add post_compilation_parsing_cleanups field. - * passes.c (rest_of_decl_compilation): Call early_global_decl. - * sdbout.c: Add early and late_global_decl hooks. Remove - sdbout_global_decl hook. - Add early_finish field for sdb_debug_hooks. - (sdbout_global_decl): Remove. - (sdbout_early_global_decl): New. - (sdbout_late_global_decl): New. - * timevar.def (TV_PHASE_LATE_PARSING_CLEANUPS): New. - * toplev.c (check_global_declaration): Rename from - check_global_declaration_1. - Adapt to use symtab infrastructure. - (check_global_declarations): Remove. - (emit_debug_global_declarations): Remove. - (compile_file): Remove call to final_write_globals langhook. - Run the actual compilation process. - Perform any post compilation parser cleanups. - Generate late debug info. - * toplev.h (check_global_declaration): New. - (check_global_declaration_1): Remove. - (check_global_declarations): Remove. - (write_global_declarations): Remove. - (emit_debug_global_declarations): Remove. - (global_decl_processing): New. - * tree-core.h (struct tree_block): Add DIE field. - * tree.h (BLOCK_DIE): New. - * vmsdbgout.c (vmsdbgout_global_decl): Remove function and its use - throughout. - (vmsdbgout_early_global_decl): New. - (vmsdbgout_late_global_decl): New. - Add early_finish debug hook field to vmsdbg_debug_hooks. - Remove vmsdbgout_decl to vmsdbgout_function_decl. - Add early and late_global_decl debug hooks. - -2015-06-05 Julian Brown - Sandra Loosemore - - * config/print-sysroot-suffix.sh: Handle MULTILIB_REUSE settings. - * config/t-sysroot-suffix (sysroot-suffix.h): Pass MULTILIB_REUSE - to print-sysroot-suffix.sh script. - -2015-06-05 Tom de Vries - - merge from gomp4 branch: - 2015-05-28 Tom de Vries - - PR tree-optimization/65443 - * tree-parloops.c (replace_imm_uses, replace_uses_in_bb_by) - (replace_uses_in_bbs_by, transform_to_exit_first_loop_alt) - (try_transform_to_exit_first_loop_alt): New function. - (transform_to_exit_first_loop): Use - try_transform_to_exit_first_loop_alt. - -2015-06-05 James Greenhalgh - - * builtins.c (expand_builtin_atomic_compare_exchange): Call - emit_cmp_and_jump_insns with the mode of target. - -2015-06-05 Venkataramanan Kumar - - * config/i386/sse.md (sse3_mwait): Swap the operand constriants. - -2015-06-04 DJ Delorie - - * config/msp430/msp430.md (movsi_s): New. Special case for - storing a 20-bit symbol into a 32-bit register. - * config/msp430/msp430.c (msp430_subreg): Add support for it. - * config/msp430/predicates.md (msp430_symbol_operand): New. - -2015-06-04 Sriraman Tallam - - * calls.c (prepare_call_address): Check for noplt - attribute. - * config/i386/i386.c (ix86_expand_call): Check - for noplt attribute. - (ix86_nopic_noplt_attribute_p): New function. - (ix86_output_call_insn): Output indirect call for non-pic - no plt calls. - * doc/extend.texi (noplt): Document new attribute. - * doc/invoke.texi: Document new attribute. - -2015-06-04 Andrew MacLeod - - * coretypes.h: Include machmode.h, signop.h, wide-int.h, double-int.h, - real.h, and fixed-value.h when included in host source files. - * double-int.h: Remove redundant #includes listed above. - * fixed-value.h: Likewise. - * real.h: Likewise. - * wide-int.h: Likewise. - * inchash.h: Likewise. - * rtl.h: Add some include files When included from a generator file. - * target.h: Remove wide-int.h and insn-modes.h from the include list. - * internal-fn.h: Don't include coretypes.h. - * alias.c: Adjust includes for restructured coretypes.h. - * 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. - * cfgloop.h: 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. - * df.h: 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. - * dwarf2out.h: Likewise. - * emit-rtl.c: Likewise. - * et-forest.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. - * gcc-plugin.h: Likewise. - * gcse.c: Likewise. - * generic-match-head.c: Likewise. - * ggc-page.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-streamer.h: Likewise. - * gimple-walk.c: Likewise. - * gimple.c: Likewise. - * gimplify-me.c: Likewise. - * gimplify.c: Likewise. - * godump.c: Likewise. - * graph.c: Likewise. - * graphite-blocking.c: Likewise. - * graphite-dependences.c: Likewise. - * graphite-interchange.c: Likewise. - * graphite-isl-ast-to-gimple.c: Likewise. - * graphite-optimize-isl.c: Likewise. - * graphite-poly.c: Likewise. - * graphite-scop-detection.c: Likewise. - * graphite-sese-to-poly.c: Likewise. - * graphite.c: Likewise. - * haifa-sched.c: Likewise. - * hooks.h: 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. - * 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. - * omega.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-rtl.c: Likewise. - * print-tree.c: Likewise. - * profile.c: Likewise. - * real.c: Likewise. - * realmpfr.c: Likewise. - * realmpfr.h: Likewise. - * recog.c: Likewise. - * ree.c: Likewise. - * reg-stack.c: Likewise. - * regcprop.c: Likewise. - * reginfo.c: Likewise. - * regrename.c: Likewise. - * regs.h: Likewise. - * regstat.c: Likewise. - * reload.c: Likewise. - * reload1.c: Likewise. - * reorg.c: Likewise. - * resource.c: Likewise. - * rtl-chkp.c: Likewise. - * rtlanal.c: Likewise. - * rtlhooks.c: Likewise. - * sanopt.c: Likewise. - * sched-deps.c: Likewise. - * sched-ebb.c: Likewise. - * sched-rgn.c: Likewise. - * sched-vis.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. - * shrink-wrap.h: 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-affine.h: Likewise. - * tree-browser.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-pretty-print.h: 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-copyrename.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-loop.h: 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. - * valtrack.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-print.h: Likewise. - * wide-int.cc: Likewise. - * xcoffout.c: Likewise. - * config/aarch64/aarch64-builtins.c: Likewise. - * config/aarch64/aarch64.c: Likewise. - * config/aarch64/cortex-a57-fma-steering.c: Likewise. - * config/alpha/alpha.c: Likewise. - * config/arc/arc.c: Likewise. - * config/arm/aarch-common.c: Likewise. - * config/arm/arm-builtins.c: Likewise. - * config/arm/arm-c.c: Likewise. - * config/arm/arm.c: Likewise. - * config/avr/avr-c.c: Likewise. - * config/avr/avr-log.c: Likewise. - * config/avr/avr.c: Likewise. - * config/bfin/bfin.c: Likewise. - * config/c6x/c6x.c: Likewise. - * config/cr16/cr16.c: Likewise. - * config/cris/cris.c: Likewise. - * config/darwin-c.c: Likewise. - * config/darwin.c: Likewise. - * config/default-c.c: Likewise. - * config/epiphany/epiphany.c: Likewise. - * config/epiphany/mode-switch-use.c: Likewise. - * config/epiphany/resolve-sw-modes.c: Likewise. - * config/fr30/fr30.c: Likewise. - * config/frv/frv.c: Likewise. - * config/ft32/ft32.c: Likewise. - * config/glibc-c.c: Likewise. - * config/h8300/h8300.c: Likewise. - * config/i386/i386-c.c: Likewise. - * config/i386/i386.c: Likewise. - * config/i386/msformat-c.c: Likewise. - * config/i386/winnt-cxx.c: Likewise. - * config/i386/winnt-stubs.c: Likewise. - * config/i386/winnt.c: Likewise. - * config/ia64/ia64-c.c: Likewise. - * config/ia64/ia64.c: Likewise. - * config/iq2000/iq2000.c: Likewise. - * config/lm32/lm32.c: Likewise. - * config/m32c/m32c-pragma.c: Likewise. - * config/m32c/m32c.c: Likewise. - * config/m32r/m32r.c: Likewise. - * config/m68k/m68k.c: Likewise. - * config/mcore/mcore.c: Likewise. - * config/mep/mep-pragma.c: Likewise. - * config/mep/mep.c: Likewise. - * config/microblaze/microblaze-c.c: Likewise. - * config/microblaze/microblaze.c: Likewise. - * config/mips/mips.c: Likewise. - * config/mmix/mmix.c: Likewise. - * config/mn10300/mn10300.c: Likewise. - * config/moxie/moxie.c: Likewise. - * config/msp430/msp430-c.c: Likewise. - * config/msp430/msp430.c: Likewise. - * config/nds32/nds32-cost.c: Likewise. - * config/nds32/nds32-fp-as-gp.c: Likewise. - * config/nds32/nds32-intrinsic.c: Likewise. - * config/nds32/nds32-isr.c: Likewise. - * config/nds32/nds32-md-auxiliary.c: Likewise. - * config/nds32/nds32-memory-manipulation.c: Likewise. - * config/nds32/nds32-pipelines-auxiliary.c: Likewise. - * config/nds32/nds32-predicates.c: Likewise. - * config/nds32/nds32.c: Likewise. - * config/nios2/nios2.c: Likewise. - * config/nvptx/nvptx.c: Likewise. - * config/pa/pa.c: Likewise. - * config/pdp11/pdp11.c: Likewise. - * config/rl78/rl78-c.c: Likewise. - * config/rl78/rl78.c: Likewise. - * config/rs6000/rs6000-c.c: Likewise. - * config/rs6000/rs6000.c: Likewise. - * config/rx/rx.c: Likewise. - * config/s390/s390-c.c: Likewise. - * config/s390/s390.c: Likewise. - * config/sh/sh-c.c: Likewise. - * config/sh/sh-mem.cc: Likewise. - * config/sh/sh.c: Likewise. - * config/sh/sh_optimize_sett_clrt.cc: Likewise. - * config/sh/sh_treg_combine.cc: Likewise. - * config/sol2-c.c: Likewise. - * config/sol2-cxx.c: Likewise. - * config/sol2-stubs.c: Likewise. - * config/sol2.c: Likewise. - * config/sparc/sparc-c.c: Likewise. - * config/sparc/sparc.c: Likewise. - * config/spu/spu-c.c: Likewise. - * config/spu/spu.c: Likewise. - * config/stormy16/stormy16.c: Likewise. - * config/tilegx/mul-tables.c: Likewise. - * config/tilegx/tilegx-c.c: Likewise. - * config/tilegx/tilegx.c: Likewise. - * config/tilepro/mul-tables.c: Likewise. - * config/tilepro/tilepro-c.c: Likewise. - * config/tilepro/tilepro.c: Likewise. - * config/v850/v850-c.c: Likewise. - * config/v850/v850.c: Likewise. - * config/vax/vax.c: Likewise. - * config/visium/visium.c: Likewise. - * config/vms/vms-c.c: Likewise. - * config/vms/vms.c: Likewise. - * config/vxworks.c: Likewise. - * config/winnt-c.c: Likewise. - * config/xtensa/xtensa.c: Likewise. - * common/config/bfin/bfin-common.c: Likewise. - -2015-06-04 Jan Hubicka - - * tree.h (tree_code_for_canonical_type_merging): New function. - * tree.c (gimple_canonical_types_compatible_p): Use - tree_code_for_canonical_type_merging.. - -2015-06-04 Ramana Radhakrishnan - - PR c++/66192 - PR target/66200 - * doc/tm.texi: Regenerate. - * doc/tm.texi.in (TARGET_RELAXED_ORDERING): Delete. - * target.def (TARGET_RELAXED_ORDERING): Likewise. - * config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Likewise. - * config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Likewise. - * config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Likewise. - * config/sparc/linux.h (SPARC_RELAXED_ORDERING): Likewise. - * config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise. - * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Likewise. - * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Likewise. - -2015-06-04 Kyrylo Tkachov - - * config/aarch64/aarch64.c (aarch64_override_options): Unconditionally - register fma steering pass. - * config/aarch64/cortex-a57-fma-steering.c (gate): Add gating on - AARCH64_TUNE_FMA_STEERING. - -2015-06-03 Jan Hubicka - - * tree.c (verify_type_variant): Verify that type and variant is - compatible. - (gimple_canonical_types_compatible_p): Look for main variants. - -2015-06-03 Michael Meissner - - * config.gcc (powerpc*-*-*): Add support for a new configure - option --with-advance-toolchain= which overrides using the - default header files, libraries and dynamic linker. - - * config/rs6000/linux64.h (SUBSUBTARGET_EXTRA_SPECS): Add new - specs to support the configure --with-advance-toolchain= - option. - (INCLUDE_EXTRA_SPEC): Likewise. - (LINK_OS_EXTRA_SPEC32): Likewise. - (LINK_OK_EXTRA_SPEC64): Likewise. - (LINK_OS_NEW_DTAGS_SPEC): Likewise. - (DYNAMIC_LINKER_PREFIX): Likewise. - (CPP_OS_DEFAULT_SPEC): Use the new specs for providing advance - toolchain support. - (GLIBC_DYNAMIC_LINKER32): Likewise. - (GLIBC_DYNAMIC_LINKER64): Likewise. - (LINK_OS_LINUX_SPEC32): Likewise. - (LINK_OS_LINUX_SPEC64): Likewise. - - * doc/install.texi (--enable-advance-toolchain=): Document new - configuration option. - -2015-06-03 Uros Bizjak - - PR target/66275 - * config/i386/i386.c (ix86_function_arg_regno): Use ix86_cfun_abi - to determine current function ABI. - (ix86_function_value_regno_p): Ditto. - -2015-06-03 Martin Liska - - * alloc-pool.h (struct pool_usage): Correct GNU coding style. - * bitmap.h (struct bitmap_usage): Likewise. - * ggc-common.c (struct ggc_usage): Likewise. - * mem-stats.h (struct mem_location): Likewise. - (struct mem_usage): Likewise. - * vec.c (struct vec_usage): Likewise. - -2015-06-03 Benigno B. Junior - - * config/netbsd-elf.h (NETBSD_LINK_SPEC_ELF): Turn -symbolic into - -Bsymbolic. - -2015-06-02 Andres Tiraboschi - - * doc/plugins.texi (enum plugin_event): New event. - * plugin.c (register_callback): Handle PLUGIN_START_PARSE_FUNCTION - and PLUGIN_FINISH_FUNCTION. - * plugin.def (PLUGIN_START_PARSE_FUNCTION): Add plugin event - (PLUGIN_FINISH_PARSE_FUNCTION): Likewise. - -2015-06-03 Richard Biener - - * tree-vect-data-refs.c (vect_analyze_group_access): Properly - compute GROUP_GAP for the first element. - * tree-vect-slp.c (vect_build_slp_tree_1): Remove restriction - on in-group gaps. - -2015-06-03 Nick Clifton - - * config/rl78/rl78-real.md: Add peepholes to avoid a register - copy when calling a function. - * config/rl78/rl78.c (need_to_save): Do not push the frame - pointer in an interrupt handler prologue if it is never used. - -2015-06-03 Kyrylo Tkachov - - * ifcvt (end_ifcvt_sequence): Fix typo in comment above. - -2015-06-03 Ilya Enkovich - - * ipa-chkp.c (chkp_maybe_create_clone): Create alias - reference when cloning alias node. - -2015-06-03 Martin Liska - - * alloc-pool.h (struct pool_usage): Correct space padding. - * ggc-page.c (ggc_print_statistics): Align columns in a report. - * mem-stats.h (struct mem_usage): Add argument to print_dash_line. - * tree.c (dump_tree_statistics): Align columns in a report. - -2015-06-03 Martin Liska - - * alloc-pool.c (allocate_pool_descriptor): Remove. - (struct pool_output_info): Likewise. - (print_alloc_pool_statistics): Likewise. - (dump_alloc_pool_statistics): Likewise. - * alloc-pool.h (struct pool_usage): New struct. - (pool_allocator::initialize): Change usage of memory statistics - to a new interface. - (pool_allocator::release): Likewise. - (pool_allocator::allocate): Likewise. - (pool_allocator::remove): Likewise. - * mem-stats-traits.h (enum mem_alloc_origin): Add new enum value - for a pool allocator. - * mem-stats.h (struct mem_location): Add new ctor. - (struct mem_usage): Add counter for number of - instances. - (mem_alloc_description::register_descriptor): New overload of - * mem-stats.h (mem_location::to_string): New function. - * bitmap.h (struct bitmap_usage): Use this new function. - * ggc-common.c (struct ggc_usage): Likewise. - the function. - -2015-06-03 Richard Sandiford - - * defaults.h (SWITCHABLE_TARGET, TARGET_SUPPORTS_WIDE_INT): Move out - of GCC_INSN_FLAGS_H block. - -2015-06-03 Andrew Bennett - - * explow.c (plus_constant): Update check after force_const_mem call - to see if the value returned is not a NULL_RTX. - -2015-06-03 Ilya Enkovich - - * ipa.c (symbol_table::remove_unreachable_nodes): Don't - remove instumentation thunks calling reachable functions. - * lto-cgraph.c (output_refs): Always output IPA_REF_CHKP. - * lto/lto-partition.c (privatize_symbol_name_1): New. - (privatize_symbol_name): Privatize both decl and orig_decl - names for instrumented functions. - * cgraph.c (cgraph_node::verify_node): Add transparent - alias chain check for instrumented node. - -2015-06-03 Marek Polacek - - PR c/64223 - PR c/29358 - * tree.c (attribute_value_equal): Handle attribute format. - (cmp_attrib_identifiers): Factor out of lookup_ident_attribute. - -2015-06-03 Richard Biener - - PR tree-optimization/63916 - * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): - Forward-propagate non-invariant addresses by splicing their - reference ops if the result isn't going to be used by PRE. - (vn_reference_lookup_3): Remove pointless assert. - -2015-06-03 Richard Biener - - PR tree-optimization/66375 - * tree-scalar-evolution.c (follow_ssa_edge_binary): First - add to the evolution before following SSA edges. - -2015-06-03 Bin Cheng - - * tree-ssa-loop-ivopts.c (dump_iv): New parameter. - (dump_use, dump_cand, find_induction_variables): Pass new argument - to dump_iv. - (record_use): Preserve the ssa name information in IV. - -2015-06-03 Richard Sandiford - - * genpreds.c (mark_mode_tests): Mark all MATCH_CODEs as - NO_MODE_TEST. - (add_mode_tests): Don't add mode tests if the predicate only - accepts scalar constant integers. Otherwise, allow the mode - of "op" to be VOIDmode if the predicate does accept such integers. - -2015-06-02 Jim Wilson - - PR target/66258 - * config/aarch64/aarch64.c (aarch64_function_value_regno_p): Change - !TARGET_GENERAL_REGS_ONLY to TARGET_FLOAT. - (aarch64_secondary_reload): Likewise - (aarch64_expand_builtin_va_start): Change TARGET_GENERAL_REGS_ONLY - to !TARGET_FLOAT. - (aarch64_gimplify_va_arg_expr, aarch64_setup_incoming_varargs): - Likewise. - -2015-06-03 Kugan Vivekanandarajah - Zhenqiang Chen - - PR target/65768 - * cprop.c (try_replace_reg): Check cost of constants before propagating. - -2015-06-02 Michael Meissner - - * config/rs6000/rs6000-modes.def (IFmode): Define IFmode to - provide access to the IBM extended double floating point mode if - long double is IEEE 128-bit floating point. - (KFmode): Define KFmode to provide access to IEEE 128-bit floating - point if long double is the IBM extended double type. - - * config/rs6000/rs6000.opt (-mfloat128-none): New switches to - enable adding IEEE 128-bit floating point support. - (-mfloat128-software): Likewise. - (-mfloat128-sw): Likewise. - - * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Do not allow - 128-bit floating point types to occupy any register if - -mlong-double-64. Do not allow use of IFmode/KFmode unless - -mfloat128-software is enabled. - (rs6000_debug_reg_global): Add IEEE 128-bit floating point debug - support. - (rs6000_option_override_internal): Add -mfloat128-* support. - (rs6000_init_builtins): Setup __ibm128 and __float128 type modes. - - * config/rs6000/rs6000.h (rs6000_builtin_type_index): Add ibm128 - and float128 type nodes. - (ieee128_float_type_node): Likewise. - (ibm128_float_type_node): Likewise. - -2015-06-02 Szabolcs Nagy - - PR target/66136 - * config/aarch64/geniterators.sh: Rewrite in awk. - -2015-06-02 Martin Liska - - * alloc-pool.h (pool_allocator::pool_allocator): Set implicit - values to avoid -Wmaybe-uninitialized errors. - -2015-06-02 Richard Biener - - PR debug/65549 - * dwarf2out.c (lookup_context_die): New function. - (resolve_addr): Avoid forcing a full DIE for the - target of a DW_TAG_GNU_call_site during late compilation. - Instead create a stub DIE without a type if we have a - context DIE present. - -2015-06-02 Uros Bizjak - - * df-scan.c (df_scan_start_dump): Add space between regno and regname. - -2015-06-02 Bin Cheng - - PR tree-optimization/48052 - * cfgloop.h (struct control_iv): New. - (struct loop): New field control_ivs. - * tree-ssa-loop-niter.c : Include "stor-layout.h". - (number_of_iterations_lt): Set no_overflow information. - (number_of_iterations_exit): Init control iv in niter struct. - (record_control_iv): New. - (estimate_numbers_of_iterations_loop): Call record_control_iv. - (loop_exits_before_overflow): New. Interface factored out of - scev_probably_wraps_p. - (scev_probably_wraps_p): Factor loop niter related code into - loop_exits_before_overflow. - (free_numbers_of_iterations_estimates_loop): Free control ivs. - * tree-ssa-loop-niter.h (free_loop_control_ivs): New. - -2015-06-02 Eric Botcazou - - * gimplify.c (gimplify_modify_expr): Do not create a DECL_DEBUG_EXPR if - the target doesn't belong to the current function. - -2015-06-02 Marek Polacek - - PR middle-end/66345 - * gimple-fold.c (gimple_fold_builtin_snprintf): Return false if - get_maxval_strlen does not produce an INTEGER_CST. - -2015-06-02 Richard Sandiford - - * config/arc/constraints.md: Use lower-case names in match_code. - * config/mmix/constraints.md: Likewise. - -2015-06-02 Richard Biener - - PR tree-optimization/65961 - * tree-vect-slp.c (vect_get_and_check_slp_defs): Remove bogus - check and clarify dump message. - (vect_build_slp_tree): If all children are built up from scalars - build up the parent from scalars instead. - * tree-vect-stmts.c (vect_is_simple_use): Cleanup. - -2015-06-02 Jan Kratochvil - - PR other/65366 - * gdbhooks.py: Use int(...) instead of long(...). Use print(...) - instead of print ... . - -2015-06-02 Alan Modra - - * config/rs6000/vsx.md (vsx_extract_v4sf): Revert accidental - 2014-08-11 change. - -2015-06-02 Bin Cheng - - PR tree-optimization/52563 - PR tree-optimization/62173 - * tree-ssa-loop-ivopts.c (struct iv): New field. Reorder fields. - (alloc_iv, set_iv): New parameter. - (determine_biv_step): Delete. - (find_bivs): Inline original determine_biv_step. Pass new - argument to set_iv. - (idx_find_step): Use no_overflow information for conversion. - * tree-scalar-evolution.c (analyze_scalar_evolution_in_loop): Let - resolve_mixers handle folded_casts. - (instantiate_scev_name): Change bool parameter to bool pointer. - (instantiate_scev_poly, instantiate_scev_binary): Ditto. - (instantiate_array_ref, instantiate_scev_not): Ditto. - (instantiate_scev_3, instantiate_scev_2): Ditto. - (instantiate_scev_1, instantiate_scev_r): Ditto. - (instantiate_scev_convert, ): Change parameter. Pass argument - to chrec_convert_aggressive. - (instantiate_scev): Change argument. - (resolve_mixers): New parameter and set it. - (scev_const_prop): New argument. - * tree-scalar-evolution.h (resolve_mixers): New parameter. - * tree-chrec.c (convert_affine_scev): Call chrec_convert instead - of chrec_conert_1. - (chrec_convert): New parameter. Move definition below. - (chrec_convert_aggressive): New parameter and set it. Call - convert_affine_scev. - * tree-chrec.h (chrec_convert): New parameter. - (chrec_convert_aggressive): Ditto. - -2015-06-01 Eric Botcazou - - * gimplify.c (gimplify_modify_expr_rhs): Use simple test on the size. - * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Do not remove - the LHS of a no-return call if its type has variable size. - * tree-cfgcleanup.c (fixup_noreturn_call): Likewise. - * tree-cfg.c (verify_gimple_call): Accept these no-return calls. - -2015-06-01 Andreas Tobler - - * read-rtl.c: Adapt to use HAVE_DECL_ATOLL instead of HAVE_ATOLL. - * config.in: Regenerate. - -2015-06-01 Yuri Rumyantsev - - * tree-vect-data-refs.c (vect_analyze_data_ref_access): Allow - consecutive accesses within outer-loop with force_vectorize - for references with zero step in inner-loop. - -2015-06-01 Vidya Praveen - - * Makefile.in: Pick up gcov-dump dependencies from gcc/ directory - rather than from gcc/build directory. - -2015-06-01 Matthew Wahab - - PR target/65697 - * config/aarch64/aarch64.c (aarch64_split_compare_and_swap): Check - for __sync memory models, emit initial loads and final barriers as - appropriate. - -2015-06-01 Matthew Wahab - - PR target/65697 - * config/aarch64/aarch64.c (aarch64_emit_post_barrier):New. - (aarch64_split_atomic_op): Check for __sync memory models, emit - appropriate initial loads and final barriers. - -2015-06-01 Vidya Praveen - - * Makefile.in: Fix gcov dependencies that should - not point to a build folder. - -2015-06-01 Richard Biener - - Revert - 2015-05-29 Richard Biener - - PR tree-optimization/66314 - * tree-ssa-threadupdate.c (create_block_for_threading): Add - parameter that says which loop the new block belongs to. - (ssa_create_duplicates): Blocks duplicated for the threaded - path belong to the loop of the thread destination. - -2015-06-01 Martin Liska - - * sched-deps.c: Include pool-alloc.h before - cselib.h header file is included. - -2015-06-01 Richard Biener - - * tree-ssa-structalias.c (ipa_pta_execute): Handle address-taken - functions. - -2015-06-01 Martin Liska - - * alloc-pool.h: Add ATTRIBUTE_UNUSED for - a function local variable. - -2015-06-01 Martin Liska - - * alloc-pool.c (create_alloc_pool): Remove. - (empty_alloc_pool): Likewise. - (free_alloc_pool): Likewise. - (free_alloc_pool_if_empty): Likewise. - (pool_alloc): Likewise. - (pool_free): Likewise. - * alloc-pool.h: Remove old declarations. - -2015-06-01 Martin Liska - - * ira-build.c (initiate_allocnos): Use new type-based pool allocator. - (ira_create_object): Likewise. - (ira_create_allocno): Likewise. - (ira_create_live_range): Likewise. - (copy_live_range): Likewise. - (ira_finish_live_range): Likewise. - (ira_free_allocno_costs): Likewise. - (finish_allocno): Likewise. - (finish_allocnos): Likewise. - (initiate_prefs): Likewise. - (ira_create_pref): Likewise. - (finish_pref): Likewise. - (finish_prefs): Likewise. - (initiate_copies): Likewise. - (ira_create_copy): Likewise. - (finish_copy): Likewise. - (finish_copies): Likewise. - (finish_prefs): Likewise. - -2015-06-01 Martin Liska - - * ipa-cp.c (ipcp_value::add_source): Use new type-based pool allocator. - (allocate_and_init_ipcp_value): Likewise. - (ipcp_lattice::add_value): Likewise. - (merge_agg_lats_step): Likewise. - (ipcp_driver): Likewise. - * ipa-prop.c (ipa_free_all_structures_after_ipa_cp): Likewise. - (ipa_free_all_structures_after_iinln): Likewise. - * ipa-prop.h: Likewise. - -2015-06-01 Martin Liska - - * ipa-inline-analysis.c (edge_set_predicate): Use new type-based - pool allocator. - (set_hint_predicate): Likewise. - (inline_summary_alloc): Likewise. - (reset_inline_edge_summary): Likewise. - (reset_inline_summary): Likewise. - (set_cond_stmt_execution_predicate): Likewise. - (set_switch_stmt_execution_predicate): Likewise. - (compute_bb_predicates): Likewise. - (estimate_function_body_sizes): Likewise. - (inline_free_summary): Likewise. - -2015-06-01 Martin Liska - - * ipa-prop.c (ipa_set_jf_constant): Use new type-based pool allocator. - (ipa_edge_duplication_hook): Likewise. - (ipa_free_all_structures_after_ipa_cp): Likewise. - (ipa_free_all_structures_after_iinln): Likewise. - -2015-06-01 Martin Liska - - * ipa-profile.c (account_time_size): Use new type-based pool allocator. - (ipa_profile_generate_summary): Likewise. - (ipa_profile_read_summary): Likewise. - (ipa_profile): Likewise. - -2015-06-01 Martin Liska - - * tree-ssa-structalias.c (new_var_info): Use new type-based - pool allocator. - (new_constraint): Likewise. - (init_alias_vars): Likewise. - (delete_points_to_sets): Likewise. - -2015-06-01 Martin Liska - - * tree-ssa-strlen.c (new_strinfo): Use new type-based pool allocator. - (free_strinfo): Likewise. - (pass_strlen::execute): Likewise. - -2015-06-01 Martin Liska - - * tree-ssa-sccvn.c (vn_reference_insert): Use new type-based - pool allocator. - (vn_reference_insert_pieces): Likewise. - (vn_phi_insert): Likewise. - (visit_reference_op_call): Likewise. - (copy_phi): Likewise. - (copy_reference): Likewise. - (process_scc): Likewise. - (allocate_vn_table): Likewise. - (free_vn_table): Likewise. - -2015-06-01 Martin Liska - - * tree-ssa-reassoc.c (add_to_ops_vec): Use new type-based - pool allocator. - (add_repeat_to_ops_vec): Likewise. - (get_ops): Likewise. - (maybe_optimize_range_tests): Likewise. - (init_reassoc): Likewise. - (fini_reassoc): Likewise. - -2015-06-01 Martin Liska - - * tree-ssa-pre.c (get_or_alloc_expr_for_name): Use new type-based - pool allocator. - (bitmap_set_new): Likewise. - (get_or_alloc_expr_for_constant): Likewise. - (get_or_alloc_expr_for): Likewise. - (phi_translate_1): Likewise. - (compute_avail): Likewise. - (init_pre): Likewise. - (fini_pre): Likewise. - -2015-06-01 Martin Liska - - * sched-deps.c (create_dep_node): Use new type-based pool allocator. - (delete_dep_node): Likewise. - (create_deps_list): Likewise. - (free_deps_list): Likewise. - (sched_deps_init): Likewise. - (sched_deps_finish): Likewise. - -2015-06-01 Martin Liska - - * regcprop.c (free_debug_insn_changes): Use new type-based - pool allocator. - (replace_oldest_value_reg): Likewise. - (pass_cprop_hardreg::execute): Likewise. - -2015-06-01 Martin Liska - - * ira-build.c (initiate_cost_vectors): Use new type-based - pool allocator. - (ira_allocate_cost_vector): Likewise. - (ira_free_cost_vector): Likewise. - (finish_cost_vectors): Likewise. - -2015-06-01 Martin Liska - - * sel-sched-ir.c (alloc_sched_pools): Use new type-based - pool allocator. - (free_sched_pools): Likewise. - * sel-sched-ir.h (_list_alloc): Likewise. - (_list_remove): Likewise. - -2015-06-01 Martin Liska - - * stmt.c (add_case_node): Use new type-based pool allocator. - (expand_case): Likewise. - (expand_sjlj_dispatch_table): Likewise. - -2015-06-01 Martin Liska - - * tree-ssa-math-opts.c (occ_new): Use new type-based pool allocator. - (free_bb): Likewise. - (pass_cse_reciprocals::execute): Likewise. - -2015-06-01 Martin Liska - - * tree-sra.c (sra_initialize): Use new type-based pool allocator. - (sra_deinitialize) Likewise. - (create_access_1) Likewise. - (build_accesses_from_assign) Likewise. - (create_artificial_child_access) Likewise. - -2015-06-01 Martin Liska - - * dse.c (get_group_info):Use new type-based pool allocator. - (dse_step0) Likewise. - (free_store_info) Likewise. - (delete_dead_store_insn) Likewise. - (free_read_records) Likewise. - (record_store) Likewise. - (replace_read) Likewise. - (check_mem_read_rtx) Likewise. - (scan_insn) Likewise. - (dse_step1) Likewise. - (dse_step7) Likewise. - -2015-06-01 Martin Liska - - * df-scan.c (struct df_scan_problem_data):Use new type-based - pool allocator. - (df_scan_free_internal) Likewise. - (df_scan_alloc) Likewise. - (df_grow_reg_info) Likewise. - (df_free_ref) Likewise. - (df_insn_create_insn_record) Likewise. - (df_mw_hardreg_chain_delete) Likewise. - (df_insn_info_delete) Likewise. - (df_free_collection_rec) Likewise. - (df_mw_hardreg_chain_delete_eq_uses) Likewise. - (df_sort_and_compress_mws) Likewise. - (df_ref_create_structure) Likewise. - (df_ref_record) Likewise. - -2015-06-01 Martin Liska - - * df-problems.c (df_chain_create):Use new type-based pool allocator. - (df_chain_unlink_1) Likewise. - (df_chain_unlink) Likewise. - (df_chain_remove_problem) Likewise. - (df_chain_alloc) Likewise. - (df_chain_free) Likewise. - * df.h (struct dataflow) Likewise. - -2015-06-01 Martin Liska - - * cselib.c (new_elt_list):Use new type-based pool allocator. - (new_elt_loc_list) Likewise. - (unchain_one_elt_list) Likewise. - (unchain_one_elt_loc_list) Likewise. - (unchain_one_value) Likewise. - (new_cselib_val) Likewise. - (cselib_init) Likewise. - (cselib_finish) Likewise. - -2015-06-01 Martin Liska - - * config/sh/sh.c (add_constant):Use new type-based pool allocator. - (sh_reorg) Likewise. - -2015-06-01 Martin Liska - - * cfg.c (initialize_original_copy_tables):Use new type-based - pool allocator. - (free_original_copy_tables) Likewise. - (copy_original_table_clear) Likewise. - (copy_original_table_set) Likewise. - -2015-06-01 Martin Liska - - * asan.c (asan_mem_ref_get_alloc_pool):Use new type-based - pool allocator. - (asan_mem_ref_new) Likewise. - (free_mem_ref_resources) Likewise. - -2015-06-01 Martin Liska - - * var-tracking.c (variable_htab_free):Use new type-based - pool allocator. - (attrs_list_clear) Likewise. - (attrs_list_insert) Likewise. - (attrs_list_copy) Likewise. - (shared_hash_unshare) Likewise. - (shared_hash_destroy) Likewise. - (unshare_variable) Likewise. - (var_reg_delete_and_set) Likewise. - (var_reg_delete) Likewise. - (var_regno_delete) Likewise. - (drop_overlapping_mem_locs) Likewise. - (variable_union) Likewise. - (insert_into_intersection) Likewise. - (canonicalize_values_star) Likewise. - (variable_merge_over_cur) Likewise. - (dataflow_set_merge) Likewise. - (remove_duplicate_values) Likewise. - (variable_post_merge_new_vals) Likewise. - (dataflow_set_preserve_mem_locs) Likewise. - (dataflow_set_remove_mem_locs) Likewise. - (variable_from_dropped) Likewise. - (variable_was_changed) Likewise. - (set_slot_part) Likewise. - (clobber_slot_part) Likewise. - (delete_slot_part) Likewise. - (loc_exp_insert_dep) Likewise. - (notify_dependents_of_changed_value) Likewise. - (emit_notes_for_differences_1) Likewise. - (vt_emit_notes) Likewise. - (vt_initialize) Likewise. - (vt_finalize) Likewise. - -2015-06-01 Martin Liska - - * ira-color.c (init_update_cost_records):Use new type-based - pool allocator. - (get_update_cost_record) Likewise. - (free_update_cost_record_list) Likewise. - (finish_update_cost_records) Likewise. - (initiate_cost_update) Likewise. - -2015-06-01 Martin Liska - - * lra.c (init_insn_regs): Use new type-based pool allocator. - (new_insn_reg) Likewise. - (free_insn_reg) Likewise. - (free_insn_regs) Likewise. - (finish_insn_regs) Likewise. - (init_insn_recog_data) Likewise. - (init_reg_info) Likewise. - (finish_reg_info) Likewise. - (lra_free_copies) Likewise. - (lra_create_copy) Likewise. - (invalidate_insn_data_regno_info) Likewise. - -2015-06-01 Martin Liska - - * lra-lives.c (free_live_range): Use new type-based pool allocator. - (free_live_range_list) Likewise. - (create_live_range) Likewise. - (copy_live_range) Likewise. - (lra_merge_live_ranges) Likewise. - (remove_some_program_points_and_update_live_ranges) Likewise. - (lra_live_ranges_init) Likewise. - (lra_live_ranges_finish) Likewise. - -2015-06-01 Martin Liska - - * et-forest.c (et_new_occ): Use new type-based pool allocator. - (et_new_tree): Likewise. - (et_free_tree): Likewise. - (et_free_tree_force): Likewise. - (et_free_pools): Likewise. - (et_split): Likewise. - -2015-06-01 Martin Liska - - * alloc-pool.c (struct alloc_pool_descriptor): Move definition - to header file. - * alloc-pool.h (pool_allocator::pool_allocator): New function. - (pool_allocator::release): Likewise. - (inline pool_allocator::release_if_empty): Likewise. - (inline pool_allocator::~pool_allocator): Likewise. - (pool_allocator::allocate): Likewise. - (pool_allocator::remove): Likewise. - -2015-06-01 James Greenhalgh - - * sched-deps.c (sched_analyze_2): Replace fuseable with fusible - in comment. - -2015-06-01 James Greenhalgh - - * config/arm/arm-protos.h (tune_params): Rename fuseable_ops - to fusible_ops. - * config/arm/arm.c (arm_print_tune_info): Likewise. - (arm_macro_fusion_p): Likewise. - (arm_macro_fusion_pair_p): Likewise. - -2015-06-01 James Greenhalgh - - * config/aarch64/aarch64-protos.h (tune_params): Rename - fuseable_ops to fusible_ops. - * config/aarch64/aarch64.c (generic_tunings): Rename - fuseable_ops to fusible_ops. - (cortexa53_tunings): Likewise. - (cortexa57_tunings): Likewise. - (thunderx_tunings): Likewise. - (xgene1_tunings): Likewise. - (aarch64_macro_fusion_p): Likewise. - (aarch64_macro_fusion_pair_p): Likewise. - -2015-06-01 Dominik Vogt - - * config/s390/driver-native.c: New file. - * config/s390/x-native: New file. - * config.host: Add new files for s390. - * config/s390/s390.h (DRIVER_SELF_SPECS): Add support for -mtune=native - and -march=native - * config.gcc: Likewise. - * config/s390/s390.opt (march): Likewise; add PROCESSOR_NATIVE - * config/s390/s390-opts.h (enum processor_type): Ditto. - * config/s390/s390.c (s390_option_override): Catch unhandled - PROCESSOR_NATIVE - -2015-06-01 Ilya Enkovich - - PR target/65527 - * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Add - redirection for instrumented calls. - * lto-wrapper.c (merge_and_complain): Merge -fcheck-pointer-bounds. - (append_compiler_options): Append -fcheck-pointer-bounds. - * tree-chkp.h (chkp_copy_call_skip_bounds): New. - (chkp_redirect_edge): New. - * tree-chkp.c (chkp_copy_call_skip_bounds): New. - (chkp_redirect_edge): New. - -2015-06-01 Richard Biener - - PR tree-optimization/66280 - * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Fix pattern - def-use walking. - -2015-06-01 Kyrylo Tkachov - - * config/aarch64/aarch64.md - (*_one_cmpl_3): Change type to - logic_shift_imm. - -2015-06-01 Eric Botcazou - - * config/i386/winnt.c (i386_pe_encode_section_info) : - Remove obsolete kludge. - -2015-06-01 Richard Biener - - * tree-ssa-reassoc.c (get_rank): Simplify. - -2015-05-31 H.J. Lu - - * configure.ac (NO_PIE_CFLAGS): Check CXXFLAGS instead of CFLAGS. - * configure: Regenerated. - -2015-05-31 Mikhail Maltsev - - * config/cris/cris.h (CRIS_ARCH_CPP_DEFAULT): Fix C++11 compatibility - issue (add space between string literal and macro). - * config/i386/mingw32.h (REAL_LIBGCC_SPEC): Likewise. - -2015-05-30 Andreas Schwab - - * config/m68k/m68k.h (ASM_PCREL_SPEC): Pass --pcrel also for - implict or explicit -fPIE or -fpie. - -2015-05-30 Mike Frysinger - - * config/alpha/elf.h (ASM_SPEC): Add %{mcpu=*:-m%*}. - -2015-05-28 DJ Delorie - - * expmed.c (extract_bit_field_1): Avoid clobbering a - yet-to-be-used base/index register. - -2015-05-30 Jan Hubicka - - * alias.c (alias_set_entry_d): Add is_pointer and has_pointer. - (alias_stats): Add num_universal. - (alias_set_subset_of): Special case pointers; be ready for NULL - children. - (alias_sets_conflict_p): Special case pointers; be ready for NULL - children. - (init_alias_set_entry): Break out from ... - (record_alias_subset): ... here; propagate new fields; - allocate children only when really needed. - (get_alias_set): Do less generous pointer globbing. - (dump_alias_stats_in_alias_c): Update statistics. - -2015-05-30 Alan Modra - - * config/rs6000/rs6000.c (split_stack_arg_pointer_used_p): Scan - correct block for use of r12. - (rs6000_expand_split_stack_prologue): Error on r29 asm global reg. - -2015-05-29 Dominik Vogt - - PR target/66215 - * config/s390/s390.c (s390_reorg): Fix placement of post-label NOPs - with -mhotpatch=. - -2015-05-29 Jakub Jelinek - - PR tree-optimization/66142 - * tree-if-conv.c (if_convertible_phi_p): Don't give up on - virtual phis that feed themselves. - -2015-05-29 Richard Biener - - PR tree-optimization/66314 - * tree-ssa-threadupdate.c (create_block_for_threading): Add - parameter that says which loop the new block belongs to. - (ssa_create_duplicates): Blocks duplicated for the threaded - path belong to the loop of the thread destination. - -2015-05-29 Bernhard Reutner-Fischer - - * config/arm/neon-testgen.ml (emit_epilogue): Remove manual call - to cleanup-saved-temps. - * doc/sourcebuild.texi (Clean up generated test files): Expand - introduction. - (dg-keep-saved-temps): Document new proc. - (cleanup-ipa-dump, cleanup-rtl-dump, cleanup-tree-dump, - cleanup-saved-temps): Remove. - -2015-05-28 Andreas Tobler - - * configure.ac: Move the atoll check from AC_CHECK_FUNCS to - gcc_AC_CHECK_DECLS. - * configure: Regenerate. - -2015-05-28 Mike Frysinger - - * config/nios2/linux.h (CPP_SPEC): Define. - -2015-05-28 Mike Frysinger - - * config/microblaze/linux.h (CPP_SPEC): Define. - -2015-05-28 Mike Frysinger - - * config/pa/pa-linux.h (CPP_SPEC): Change so -D_REENTRANT is used when - -pthread is specified. - -2015-05-28 Richard Biener - - * tree-vect-loop.c (vect_fixup_reduc_chain): New function. - (vect_fixup_scalar_cycles_with_patterns): Likewise. - (vect_analyze_loop_2): Call vect_fixup_scalar_cycles_with_patterns - after pattern recog. - (vect_create_epilog_for_reduction): Properly handle reductions - with patterns. - (vectorizable_reduction): Likewise. - * tree-vect-slp.c (vect_analyze_slp_instance): Properly mark - reduction chains. - (vect_get_constant_vectors): Create the correct number of - initial values for reductions. - (vect_schedule_slp_instance): Handle reduction chains that are - type changing properly. - * tree-vect-stmts.c (vect_analyze_stmt): Adjust. - -2015-05-28 Richard Biener - - PR tree-optimization/66142 - * tree-ssa-sccvn.c (vn_reference_lookup_3): Handle non-GIMPLE - values better in memcpy destination handling. Handle non-aliasing - we discover here. - -2015-05-28 Lawrence Velázquez - - PR target/63810 - * config/darwin-c.c (version_components): New global enum. - (parse_version, version_as_legacy_macro) - (version_as_modern_macro, macosx_version_as_macro): New functions. - (version_as_macro): Remove. - (darwin_cpp_builtins): Use new function. - -2015-05-28 H.J. Lu - - * builtins.c (expand_builtin_acc_on_device): Mark parameters - with ATTRIBUTE_UNUSED. - -2015-05-28 Julian Brown - - PR libgomp/65742 - - * builtins.c (expand_builtin_acc_on_device): Don't use open-coded - sequence for !ACCEL_COMPILER. - -2015-05-28 Nick Clifton - - * config/rx/rx.c (push_regs): New function. Extracts code from... - (rx_expand_prologue): ... here. Use push_regs to push even small - spans of registers. - (pop_regs): New function. - (rx_expand_epilogue): Use pop_regs to pop even small spans of - registers. - -2015-05-28 Richard Biener - - * tree-vectorizer.h (struct _slp_instance): Remove body_cost_vec - member. - (SLP_INSTANCE_BODY_COST_VEC): Remove. - (vect_update_slp_costs_according_to_vf): Likewise. - (vect_slp_analyze_operations): Update prototype. - * tree-vect-loop.c (vect_analyze_loop_2): Remove call to - vect_update_slp_costs_according_to_vf, adjust. - * tree-vect-slp.c (vect_free_slp_instance): Adjust. - (vect_analyze_slp_cost_1): Likewise. - (vect_analyze_slp_cost): Likewise. Properly deal with - widening reduction ops. Commit body costs. - (vect_analyze_slp_instance): Adjust. Do not analyze SLP - cost for loops from here. - (vect_slp_analyze_operations): But do it from here when - the vectorization factor is known and stmts are analyzed. - (vect_bb_vectorization_profitable_p): Simplify. - (vect_slp_analyze_bb_1): Do not compute SLP cost here. - (vect_update_slp_costs_according_to_vf): Remove. - -2015-05-27 Magnus Granberg - H.J. Lu - - * Makefile.in (COMPILER): Add @NO_PIE_CFLAGS@. - (BUILD_CFLAGS): Likewise. - (BUILD_CXXFLAGS): Likewise. - (LINKER): Add @NO_PIE_FLAG@. - (BUILD_LDFLAGS): Likewise. - (libgcc.mvars): Set NO_PIE_CFLAGS to -fno-PIE for - --enable-default-pie. - * common.opt (fPIE): Initialize to -1. - (fpie): Likewise. - (no-pie): New option. - (pie): Replace "Negative(shared)" with "Negative(no-pie)". - * configure.ac: Add --enable-default-pie. - (NO_PIE_CFLAGS): New. Check if -fno-PIE works. AC_SUBST. - (NO_PIE_FLAG): New. Check if -no-pie works. AC_SUBST. - * defaults.h (DEFAULT_FLAG_PIE): New. Default PIE to -fPIE. - * gcc.c (NO_PIE_SPEC): New. - (PIE_SPEC): Likewise. - (NO_FPIE1_SPEC): Likewise. - (FPIE1_SPEC): Likewise. - (NO_FPIE2_SPEC): Likewise. - (FPIE2_SPEC): Likewise. - (NO_FPIE2_SPEC): Likewise. - (FPIE_SPEC): Likewise. - (NO_FPIE_SPEC): Likewise. - (NO_FPIC1_SPEC): Likewise. - (FPIC1_SPEC): Likewise. - (NO_FPIC2_SPEC): Likewise. - (FPIC2_SPEC): Likewise. - (NO_FPIC2_SPEC): Likewise. - (FPIC_SPEC): Likewise. - (NO_FPIC_SPEC): Likewise. - (NO_FPIE1_AND_FPIC1_SPEC): Likewise. - (FPIE1_OR_FPIC1_SPEC): Likewise. - (NO_FPIE2_AND_FPIC2_SPEC): Likewise. - (FPIE2_OR_FPIC2_SPEC): Likewise. - (NO_FPIE_AND_FPIC_SPEC): Likewise. - (FPIE_OR_FPIC_SPEC): Likewise. - (LD_PIE_SPEC): Likewise. - (LINK_PIE_SPEC): Handle -no-pie. Use PIE_SPEC and LD_PIE_SPEC. - * opts.c (finish_options): Update opts->x_flag_pie if it is -1. - * config/darwin.h (PIE_SPEC): Renamed to ... - (DARWIN_PIE_SPEC): This. - (LINK_SPEC): Replace PIE_SPEC with DARWIN_PIE_SPEC. - * config/darwin9.h (PIE_SPEC): Renamed to ... - (DARWIN_PIE_SPEC): This. - * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Use - PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined. - * config/openbsd.h (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and - FPIE2_OR_FPIC2_SPEC. - * config/m68k/netbsd-elf.h (ASM_SPEC): Likewise. - * config/m68k/openbsd.h (ASM_SPEC): Likewise. - * config/sol2.h (ASM_PIC_SPEC): Likewise. - * config/arm/freebsd.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise. - * config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise. - * config/arm/semi.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise. - * config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise. - * config/m32r/m32r.h (ASM_SPEC): Likewise. - * config/m68k/uclinux.h (DRIVER_SELF_SPECS): Likewise. - * config/rs6000/linux64.h (ASM_SPEC32): Likewise. - * config/rs6000/sysv4.h (ASM_SPEC): Likewise. - * config/sparc/freebsd.h (ASM_SPEC): Likewise. - * config/sparc/linux.h (ASM_SPEC): Likewise. - * config/sparc/linux64.h (ASM_SPEC): Likewise. - * config/sparc/netbsd-elf.h (ASM_SPEC): Likewise. - * config/sparc/openbsd64.h (ASM_SPEC): Likewise. - * config/sparc/sp-elf.h (ASM_SPEC): Likewise. - * config/sparc/sp64-elf.h (ASM_SPEC): Likewise. - * config/sparc/sparc.h (ASM_SPEC): Likewise. - * config/sparc/sysv4.h (ASM_SPEC): Likewise. - * config/sparc/vxworks.h (ASM_SPEC): Likewise. - * config/c6x/elf-common.h (ASM_SPEC): Use NO_FPIC2_SPEC, - FPIC2_SPEC, FPIC1_SPEC and FPIC2_SPEC. - * config/c6x/uclinux-elf.h (LINK_SPEC): Use FPIE_SPEC. - * config/frv/frv.h (DRIVER_SELF_SPECS): Use FPIC_SPEC, - NO_FPIC_SPEC and NO_FPIE1_AND_FPIC1_SPEC. - (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and FPIE2_OR_FPIC2_SPEC. - * config/m68k/m68k.h (ASM_PCREL_SPEC): Use FPIC_SPEC and NO_FPIC_SPEC. - * config/mips/gnu-user.h (NO_SHARED_SPECS): Use NO_FPIE_AND_FPIC_SPEC. - * config/mips/vxworks.h (SUBTARGET_ASM_SPEC): Use FPIC_SPEC. - * config/rs6000/freebsd64.h (ASM_SPEC32): Likewise. - * config/rs6000/vxworks.h (ASM_SPEC): Likewise. - * config/vax/linux.h (ASM_SPEC): Likewise. - * doc/install.texi: Document --enable-default-pie. - * doc/invoke.texi: Document -no-pie. - * config.in: Regenerated. - * configure: Likewise. - -2015-05-28 Thomas Preud'homme - - PR rtl-optimization/66168 - * loop-invariant.c (move_invariant_reg): Pass dest rather than reg to - can_move_invariant_reg. - -2015-05-27 John David Anglin - - PR target/66148 - * config/pa/pa.c (pa_emit_move_sequence): Correct placement of - REG_EQUAL note when doing insert. - - * config/pa/pa.c (pa_print_operand): Use HOST_WIDE_INT_PRINT_DEC - instead of "%d" for 'o' operand. - -2015-05-27 Nathan Sidwell - - PR c++/66270 - * tree.c (build_pointer_type_for_mode): Canonical type does not - inherit can_alias_all. - (build_reference_type_for_mode): Likewise. - -2015-05-27 Eric Botcazou - - * expr.h (array_at_struct_end_p): Move to... - (array_ref_element_size): Likewise. - (component_ref_field_offset): Likewise. - * tree.h (array_ref_element_size): ...here. - (array_at_struct_end_p): Likewise. - (component_ref_field_offset): Likewise. - * expr.c (array_ref_element_size): Move to... - (array_ref_low_bound): Likewise. - (array_at_struct_end_p): Likewise. - (array_ref_up_bound): Likewise. - (component_ref_field_offset): Likewise. - * tree.c (array_ref_element_size): ...here. - (array_ref_low_bound): Likewise. - (array_ref_up_bound): Likewise. - (array_at_struct_end_p): Likewise. - (component_ref_field_offset): Likewise. - -2015-05-27 Gregor Richards - Szabolcs Nagy - - * config/aarch64/aarch64-linux.h (MUSL_DYNAMIC_LINKER): Define. - -2015-05-27 Jason Merrill - - PR bootstrap/66304 - * configure.ac: Use ACX_PROG_CXX_WARNING_OPTS, - ACX_PROG_CXX_WARNING_ALMOST_PEDANTIC, and - ACX_PROG_CXX_WARNINGS_ARE_ERRORS. - -2015-05-22 Aditya Kumar - - * auto-profile.c (afdo_calculate_branch_prob): Break once has_sample - is true. - - * statistics.c (statistics_fini_pass): Print pass name. - -2015-05-27 Richard Biener - - PR tree-optimization/66272 - Revert parts of - 2014-08-15 Richard Biener - - PR tree-optimization/62031 - * tree-data-ref.c (dr_analyze_indices): Do not set - DR_UNCONSTRAINED_BASE. - (dr_may_alias_p): All indirect accesses have to go the - formerly DR_UNCONSTRAINED_BASE path. - * tree-data-ref.h (struct indices): Remove - unconstrained_base member. - (DR_UNCONSTRAINED_BASE): Remove. - -2015-05-27 Aldy Hernandez - - * dwarf2out.c: Remove block_map. - (gen_call_site_die): Replace block_map use with BLOCK_DIE. - (gen_lexical_block_die): Same. - (dwarf2out_function_decl): Remove block_map use. - (dwarf2out_c_finalize): Same. - * tree-core.h (struct tree_block): Add die field. - * tree.h (BLOCK_DIE): New. - -2015-05-27 Kyrylo Tkachov - - PR target/65358 - * expr.c (memory_load_overlap): New function. - (emit_push_insn): When pushing partial args to the stack would - clobber the register part load the overlapping part into a pseudo - and put it into the hard reg after pushing. Change return type - to bool. Add bool argument. - * expr.h (emit_push_insn): Change return type to bool. - Add bool argument. - * calls.c (expand_call): Cancel sibcall optimization when encountering - partial argument on targets with ARGS_GROW_DOWNWARD and - !STACK_GROWS_DOWNWARD. - (emit_library_call_value_1): Update callsite of emit_push_insn. - (store_one_arg): Likewise. - -2015-05-27 Gregor Richards - - * config/arm/linux-eabi.h (MUSL_DYNAMIC_LINKER): Define. - -2015-05-27 Martin Liska - - * Makefile.in: Add additional dependencies related to memory report - enhancement. - * alloc-pool.c (allocate_pool_descriptor): Use new ctor. - * bitmap.c (struct bitmap_descriptor_d): Remove. - (struct loc): Likewise. - (struct bitmap_desc_hasher): Likewise. - (bitmap_desc_hasher::hash): Likewise. - (bitmap_desc_hasher::equal): Likewise. - (get_bitmap_descriptor): Likewise. - (bitmap_register): User new memory descriptor API. - (register_overhead): Likewise. - (bitmap_find_bit): Register nsearches and search_iter statistics. - (struct bitmap_output_info): Remove. - (print_statistics): Likewise. - (dump_bitmap_statistics): Use new memory descriptor. - * bitmap.h (struct bitmap_usage): New class. - * genmatch.c: Extend header file inclusion. - * genpreds.c: Likewise. - * ggc-common.c (struct ggc_usage): New class. - (struct ggc_loc_desc_hasher): Remove. - (ggc_loc_desc_hasher::hash): Likewise. - (ggc_loc_desc_hasher::equal): Likewise. - (struct ggc_ptr_hash_entry): Likewise. - (struct ptr_hash_hasher): Likewise. - (ptr_hash_hasher::hash): Likewise. - (ptr_hash_hasher::equal): Likewise. - (make_loc_descriptor): Likewise. - (ggc_prune_ptr): Likewise. - (dump_ggc_loc_statistics): Use new memory descriptor. - (ggc_record_overhead): Likewise. - (ggc_free_overhead): Likewise. - (final_cmp_statistic): Remove. - (cmp_statistic): Likewise. - (ggc_add_statistics): Liekwise. - (ggc_prune_overhead_list): Likewise. - * hash-map-traits.h: New file. - * hash-map.h (struct default_hashmap_traits): Move the traits to a - separate header file. - * hash-set.h: Pass memory statistics info to ctor. - * hash-table.c (void dump_hash_table_loc_statistics): New function. - * hash-table.h (hash_table::hash_table): Add new ctor arguments. - (hash_table::~hash_table): Register memory release operation. - (hash_table::alloc_entries): Handle memory allocation operation. - (hash_table::expand): Likewise. - * inchash.c (iterative_hash_hashval_t): Move implementation to header - file. - (iterative_hash_host_wide_int): Likewise. - * inchash.h (class hash): Likewise. - * mem-stats-traits.h: New file. - * mem-stats.h: New file. - (mem_location): Add new class. - (mem_usage): Likewise. - (mem_alloc_description): Likewise. - * sese.c: Add new header file inclusision. - * toplev.c (dump_memory_report): Add report for hash_table, hash_map - and hash_set. - * tree-sra.c: Add new header file inclusision. - * vec.c (struct vec_descriptor): Remove. - (hash_descriptor): Likewise. - (struct vec_usage): Likewise. - (struct ptr_hash_entry): Likewise. - (hash_ptr): Likewise. - (eq_ptr): Likewise. - (vec_prefix::register_overhead): Use new memory descriptor API. - (vec_prefix::release_overhead): Likewise. - (add_statistics): Remove. - (dump_vec_loc_statistics): Use new memory descriptor API. - * vec.h (struct vec_prefix): Likewise. - (va_heap::reserve): Likewise. - (va_heap::release): Likewise. - * emit-rtl.c (gen_raw_REG): Fix passing MEM_STAT. - -2015-05-27 Richard Biener - - * tree-vect-stmts.c (vectorizable_load): Initialize slp_perm - earlier and remove ??? comment. - (vect_analyze_stmt): If we are analyzing a pure SLP stmt - and got called from loop analysis bail out. Always pass the SLP - node to the vectorizable_* functions. - * tree-vect-loop.c (vect_analyze_loop_operations): Remove - the premature SLP check here. - * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Dump hybrid - detected SLP stmts. - (vect_detect_hybrid_slp_1): Likewise. - -2015-05-26 Jeff Law - - * combine.c (find_split_point): Verify that the shift count is a - constant when choosing (plus (ashift ...)) as a split point. - - * tree-ssa-threadupdate.c: Replace 8 space sequences with tabs. - No functional changes. - -2015-05-26 Jan Hubicka - - * ipa-polymorphic-call.c - (ipa_polymorphic_call_context::get_dynamic_type): Short circuit the - case when call target is already known. - -2015-05-26 Oleg Endo - - PR target/65979 - * config/sh/sh.md (tstsi_t peephole2): Use gen_rtx_SET and - take into account the case that operands[1] and operands[2] - are the same register. - -2015-05-26 Michael Matz - - PR middle-end/66251 - - * tree-vect-stmts.c (vect_model_store_cost): Handled strided group - stores. - (vect_create_vectorized_demotion_stmts): Always set - STMT_VINFO_VEC_STMT, also with SLP. - (vectorizable_store): Handle strided group stores. - -2015-05-26 Venkataramanan Kumar - - PR target/66049 - * config/aarch64/aarch64.md - (*adds_shift_imm_): New pattern. - (*subs_shift_imm_): Likewise. - (*adds__shift_): Likewise. - (*subs__shift_): Likewise. - (*add_uxt_shift2): Likewise. - (*add_uxtsi_shift2_uxtw): Likewise. - (*sub_uxt_shift2): Likewise. - (*sub_uxtsi_shift2_uxtw): Likewise. - -2015-05-26 David Edelsohn - - * config/rs6000/constraints.md (Y, U): Use match_test. - -2015-05-26 Christian Bruel - - PR target/52144 - * config/arm/arm.c (arm_option_check_internal) - (arm_option_params_internal): Check opts->target_flags to set macros. - (TREE_TARGET_ARM, TREE_TARGET_THUMB) - (TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Replace with... - (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P) - (builtin_define): Replaced with def_or_undef_macro. - * config/arm/arm.h (TREE_TARGET_ARM, TREE_TARGET_THUMB) - TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Redefine with... - (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P) - (TARGET_32BIT_P, TARGET_ARM_QBIT_P, TARGET_ARM_SAT_P, TARGET_IDIV_P) - (TARGET_HAVE_LDREX_P, TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P) - (TARGET_ARM_FEATURE_LDREX_P) - (TARGET_DSP_MULTIPLY_P, TARGET_INT_SIMD_P): New macros. - * config/arm/arm-c.c (def_or_undef_macro): New function. - (arm_cpu_cpp_builtins): Use def_or_undef_macro for macros definition. - -2015-05-26 Christian Bruel - - * c-common.h (builtin_define_with_int_value) - (builtin_define_type_sizeof): Declare. - * c-cppbuiltin.c (builtin_define_with_int_value) - (builtin_define_type_sizeof): Externalize. - (builtin_define_std): Cleanup declaration. - * config/arm/arm-protos.h (arm_cpu_cpp_builtins): Declare. - * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Move macro defines into... - * config/arm/arm-c.c (arm_cpu_cpp_builtins): New function. - (builtin_define, builtin_assert): New macros. - -2015-05-26 Richard Biener - - PR tree-optimization/66142 - * tree-ssa-sccvn.c (vn_reference_lookup_3): Manually compare - MEM_REFs for the same base address. - -2015-05-26 Ramana Radhakrishnan - - PR ipa/66181 - * tree.c (verify_type_variant): Do not check TYPE_NO_FORCE_BLK. - -2015-05-26 Jason Merrill - - * configure.ac: Set CXXFLAGS for ISL test. - * configure: Regenerate. - - * configure.ac: Use C++ for all tests. Use AC_CHECK_DECLS for - strstr and basename. - * configure: Regenerate. - -2015-05-26 Richard Biener - - * fold-const.c (fold_binary_loc): Move X % -Y -> X % Y and - X % C -> X & (C - 1) for C being a power-of two to ... - * match.pd: ... patterns. - -2015-05-26 Marc Glisse - - * match.pd (swapped_tcc_comparison): New operator list. - (-A CMP -B): New simplification. - * fold-const.c (fold_comparison): Remove corresponding code. - -2015-05-26 Richard Sandiford - - * caller-save.c (init_caller_save): Base temporary register numbers - on LAST_VIRTUAL_REGISTER + 1 rather than FIRST_PSEUDO_REGISTER. - * cfgloopanal.c (init_set_costs): Likewise. - * dojump.c (prefer_and_bit_test): Likewise. - * expr.c (init_expr_target): Likewise. - * ira.c (setup_prohibited_mode_move_regs): Likewise. - * lower-subreg.c (init_lower_subreg): Likewise. - * postreload.c (reload_cse_regs_1): Likewise. - -2015-05-26 Richard Sandiford - - * gensupport.h (compute_test_codes): Declare. - * gensupport.c (compute_predicate_codes): Rename to... - (compute_test_codes): ...this. Generalize error message. - (process_define_predicate): Update accordingly. - * genpreds.c (compute_maybe_allows): Delete. - (add_constraint): Use compute_test_codes to determine whether - something can accept a SUBREG, REG or MEM. - -2015-05-26 Torvald Riegel - - * doc/extend.texi (__atomic Builtins): Use 'memory order' instead of - 'memory model' to align with C++11; fix description of memory orders; - fix a few typos. - -2015-05-26 Richard Biener - - * tree-vect-loop.c (vect_update_vf_for_slp): Split out from ... - (vect_analyze_loop_operations): ... here. Remove slp parameter, - detect whether we apply SLP. Remove call to - vect_update_slp_costs_according_to_vf. - (vect_analyze_loop_2): Call vect_update_vf_for_slp and - vect_update_slp_costs_according_to_vf from here. Dispatch - to vect_slp_analyze_operations to analyze SLP stmts. - * tree-vect-slp.c (vect_slp_analyze_node_operations): Drop - unused bb_vec_info parameter, adjust assert. - (vect_slp_analyze_operations): Pass in the slp instance tree - instead of bb_vec_info. - (vect_slp_analyze_bb_1): Adjust call to vect_slp_analyze_operations. - * tree-vectorizer.h (vect_slp_analyze_operations): Declare. - -2015-05-25 Alexander Monakov - - * config/i386/i386.h (enum reg_class): Move CLOBBERED_REGS prior to - Q_REGS. Expand comment. - (REG_CLASS_NAMES): Ditto. - (REG_CLASS_CONTENTS): Ditto. - -2015-05-25 Uros Bizjak - - PR target/66274 - * config/i386/i386.c (print_reg): Only print "r" for TARGET_64BIT - when LEGACY_INT_REGNO_P is processed. - -2015-05-25 Alexander Monakov - - * config/i386/i386.c (ix86_function_ok_for_sibcall): Check flag_plt. - -2015-05-25 Pitchumani Sivanupandi - - * config/avr/avr.c (avr_out_load_psi_reg_no_disp_tiny): Restore base - register if not marked dead/unused, before return. - -2015-05-24 Jan Hubicka - - PR lto/66180 - * ipa-devirt.c (type_with_linkage): Check that TYPE_STUB_DECL - is set; check for assembler name at LTO time. - (type_in_anonymous_namespace): Remove hacks, check that all - anonymous types are called "" - (odr_type_p): Simplify; add check for "" - (odr_subtypes_equivalent): Add odr_type_p check. - * tree.c (need_assembler_name_p): Even anonymous namespace needs - assembler name. - -2015-05-24 Jan Hubicka - - * ipa-utils.h (method_class_type): Remove. - * cgraphunit.c (walk_polymorphic_call_targets): Use - TYPE_METHOD_BASETYPE. - * ipa-devirt.c (type_in_anonymous_namespace_p): Check that it is called - on main variants only. - (method_class_type): Remove. - (update_type_inheritance_graph): Use TYPE_METHOD_BASETYPE. - (build_type_inheritance_graph): Likewise. - * ipa-icf.c (sem_function::equals_wpa): Likewise. - * pa-polymorphic-call.c (decl_maybe_in_construction_p, - check_stmt_for_type_change): Use TYPE_METHOD_BASETYPE. - -2015-05-24 Jan Hubicka - - * tree.c (prototype_p, virtual_method_call_p, obj_type_ref_class, - is_typedef_decl, typedef_variant_p): Constify. - * tree.h (prototype_p, virtual_method_call_p, obj_type_ref_class, - is_typedef_decl, typedef_variant_p): Constify. - -2015-05-23 Trevor Saunders - - * defaults.h (gen_tablejump): New function. - (HAVE_tablejump): Add default value. - * expr.c: Adjust. - * stmt.c: Likewise. - -2015-05-23 Trevor Saunders - - * defaults.h (gen_store_multiple): New function. - (HAVE_store_multiple): Add default value. - * expr.c (move_block_from_reg): Adjust. - -2015-05-23 Trevor Saunders - - * defaults.h (gen_load_multiple): New function. - (HAVE_load_multiple): Add default value. - * expr.c (move_block_to_reg): Adjust. - -2015-05-23 Trevor Saunders - - * defaults.h (gen_mem_signal_fence): New function. - (HAVE_mem_signal_fence): Add default value. - * optabs.c: Adjust. - -2015-05-23 Trevor Saunders - - * defaults.h (gen_memory_barrier): New function. - (HAVE_memory_barrier): Add default value. - * optabs.c: Adjust. - -2015-05-23 Trevor Saunders - - * defaults.h (gen_mem_thread_fence): New function. - (HAVE_mem_thread_fence): Add default definition. - * optabs.c: Adjust. - -2015-05-23 Trevor Saunders - - * combine.c (find_split_point): Check the value of HAVE_lo_sum - instead of if it is defined. - (combine_simplify_rtx): Likewise. - * lra-constraints.c (process_address_1): Likewise. - * config/darwin.c: Adjust. - * genconfig.c (main): Always define HAVE_lo_sum. - -2015-05-23 Prathamesh Kulkarni - - * genmatch.c (parser::parse_operation): Reject expanding - operator-list inside 'for'. - -2015-05-23 Prathamesh Kulkarni - - * genmatch.c (parser::parse_for): Reject iterator if used as - operator-list. - -2015-05-23 Prathamesh Kulkarni - - * genmatch.c (parser::parse_operator_list): Check for CPP_CLOSE_PAREN - after end of id-list. - -2015-05-22 Jan Hubicka - - * tree.c (gimple_canonical_types_compatible_p): Sanity check that - we do not try to compute canonical type for type that does not need - alias set. - (verify_type): Drop FIXME for METHOD_TYPE, update FIXME for - FUNCITON_TYPE. - * tree.h (type_with_alias_set_p): New. - -2015-05-22 Jan Hubicka - - * tree.c (gimple_canonical_types_compatible_p): Do not compare - function attributes. - (verify_type): Remove METHOD_TYPE FIXME; update FUNCTION_TYPE. - -2015-05-22 Jim Wilson - - * Makefile.in (check_gcc_parallelize): Delete. - (lang_checks_parallelized): Update comment. - -2015-05-22 Mikhail Maltsev - - PR rtl-optimization/66237 - * bb-reorder.c (fix_crossing_conditional_branches): Fix wrong - location of an "as_a" cast. - -2015-05-22 Jeff Law - - * config/pa/pa.md (non-canonical shift-add insns): Remove. - (peepholes with non-canonical RTL sources): Remove. - (peepholes for indexed stores of FP regs in integer modes): Match and - generate canonical RTL. - -2015-05-22 Marc Glisse - - PR tree-optimization/63387 - * match.pd ((X /[ex] A) * A -> X): Remove unnecessary condition. - ((x ord x) & (y ord y) -> (x ord y), - (x ord x) & (x ord y) -> (x ord y)): New simplifications. - * fold-const.c (tree_unary_nonnegative_warnv_p) : Handle - vectors like scalars. - -2015-05-22 Marc Glisse - - * convert.c (convert_to_integer, convert_to_vector): Include the - types in the error message. - -2015-05-22 Marc Glisse - - * match.pd ((x | y) & ~x -> y & ~x, (x & y) | ~x -> y | ~x): New - simplifications. - -2015-05-22 Jeff Law - - * config/pa/pa.md (integer_indexed_store splitters): Use - mem_shadd_operand. Use ASHIFT rather than MULT in the resulting - insns -- adjusting the constant 2nd operand accordingly. - - * combine.c (try_combine): Canonicalize (plus (mult X pow2) Y) into - (plus (ashift X log2) Y) if it is a split point. - - * config/pa/pa.c (mem_shadd_or_shadd_rtx_p): New function factoredx - out of hppa_legitimize_address to handle both forms of a multiply - by 2, 4 or 8. - (hppa_legitimize_address): Use mem_shadd_or_shadd_rtx_p. - Always generate the ASHIFT variant as the result is not directly - used in a MEM. Update comments and refactor slightly to improve - readability. - -2015-05-22 Kyrylo Tkachov - - PR target/65491 - * config/aarch64/aarch64.c (aarch64_short_vector_p): Move above - aarch64_composite_type_p. Remove check for aarch64_composite_type_p. - (aarch64_composite_type_p): Return false if given type and mode are - for a short vector. - -2015-05-22 Richard Biener - - * tree-vectorizer.h (struct _slp_oprnd_info): Add second_pattern - member. - * tree-vect-loop.c (vect_analyze_loop_operations): Look at - patterns when determining whether SLP is pure. - (vect_is_slp_reduction): Remove check for pattern stmts. - (vect_is_simple_reduction_1): Remove dead code. - * tree-vect-slp.c (vect_create_oprnd_info): Initialize second_pattern. - (vect_get_and_check_slp_defs): Pass in the stmt number. - Allow the first def in a reduction to be not a pattern stmt when - the rest of the stmts def are patterns. - (vect_build_slp_tree_1): Allow tcc_expression codes like - SAD_EXPR and DOT_PROD_EXPR. - (vect_build_slp_tree): Adjust. - (vect_analyze_slp): Refactor and move BB vect error message ... - (vect_slp_analyze_bb_1): ... here. - -2015-05-22 Aldy Hernandez - - * tree-switch-conversion.c (build_one_array): Set DECL_IGNORED_P - for CSWTCH temporary. - -2015-05-22 Kyrylo Tkachov - - * config/arm/arm.c (arm_new_rtx_costs): Handle UNSPEC_VOLATILE. - (arm_unspec_cost): Allow UNSPEC_VOLATILE. Do not recurse inside - unknown unspecs. - -2015-05-22 Richard Biener - - PR tree-optimization/66251 - * tree-vect-stmts.c (vectorizable_conversion): Properly - set STMT_VINFO_VEC_STMT even for the SLP case. - -2015-05-22 Marek Polacek - - * doc/extend.texi: Use @pxref instead of @xref. - -2015-05-22 hiraditya - - * gimple.h (gimple_expr_type): Refactor to make it concise. Remove - redundant if. - -2015-05-22 Richard Biener - - PR tree-optimization/65701 - * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): - Move peeling cost models into one place. Peel for alignment - for single loads only if an aligned load is cheaper than - an unaligned load. - -2015-05-22 Marek Polacek - - PR c/47043 - * doc/extend.texi (Enumerator Attributes): New section. - Document syntax of enumerator attributes. - -2015-05-22 Richard Biener - - * tree-vect-loop.c (get_reduction_op): New function. - (vect_model_reduction_cost): Use it, add reduc_index parameter. - Make ready for BB reductions. - (vect_create_epilog_for_reduction): Use get_reduction_op. - (vectorizable_reduction): Init reduc_index to a valid value. - Adjust vect_model_reduction_cost call. - * tree-vect-slp.c (vect_get_constant_vectors): Use the proper - operand for reduction defaults. Add SAD_EXPR support. - Assert we have a neutral op for SLP reductions. - * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): When - walking pattern stmt ops only recurse to SSA names. - -2015-05-22 Richard Biener - - * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Replace - assert with guard, remove check on detected reduction. - (vect_recog_sad_pattern): Likewise. - (vect_recog_widen_sum_pattern): Likewise. - -2015-05-22 Kyrylo Tkachov - - * config/aarch64/arm_neon.h (vaeseq_u8): Add __extension__ and - __always_inline__ attribute. - (vaesdq_u8): Likewise. - (vaesmcq_u8): Likewise. - (vaesimcq_u8): Likewise. - (vsha1cq_u32): Likewise. - (vsha1mq_u32): Likewise. - (vsha1pq_u32): Likewise. - (vsha1h_u32): Likewise. - (vsha1su0q_u32): Likewise. - (vsha1su1q_u32): Likewise. - (vsha256hq_u32): Likewise. - (vsha256h2q_u32): Likewise. - (vsha256su0q_u32): Likewise. - (vsha256su1q_u32): Likewise. - (vmull_p64): Likewise. - (vmull_high_p64): Likewise. - -2015-05-21 Trevor Saunders - - * final.c (final_scan_insn): Don't check HAVE_peephole with the - preprocessor. - * output.h: Likewise. - * genconfig.c (main): Alwways define HAVE_peephole. - * genpeep.c: Don't emit checks of HAVE_peephole. - -2015-05-21 Trevor Saunders - - * combine.c, expmed.c, expr.c, optabs.c optabs.h, toplev.c: DOn't - check HAVE_conditional_move with the preprocessor. - -2015-05-21 Trevor Saunders - - * genconfig.c (main): Always define HAVE_conditional_move. - * combine.c, expmed.c, expr.c, ifcvt.c, optabs.c, optabs.h, - toplev.c, tree-ssa-phiopt.c: Don't check if HAVE_conditional_move - is defined. - -2015-05-21 Trevor Saunders - - * combine.c, df-problems.c, df-scan.c, emit-rtl.c, reginfo.c, - reload.c, rtlanal.c: Remove comparison of ARG_FRAME_POINTER_REGNUM - and FRAME_POINTER_REGNUM with the preprocessor. - -2015-05-21 Trevor Saunders - - * defaults.h: Add default for STACK_PUSH_CODE. - * expr.c: Don't redefine STACK_PUSH_CODE. - * recog.c: Likewise. - -2015-05-21 Trevor Saunders - - * builtins.c, dwarf2cfi.c, explow.c, expr.c, recog.c, - sched-deps.c: Use if instead of preprocessor checks with - STACK_GROWS_DOWNWARD. - -2015-05-21 Trevor Saunders - - * *.c: Check the value of STACK_GROWS_DOWNWARD rather than if it - is defined. - * config/**/*.h: Define STACK_GROWS_DOWNWARD to an integer. - * defaults.h: Provide default for STACK_GROWS_DOWNWARD. - * doc/tm.texi.in: Update references to STACK_GROWS_DOWNWARD. - * doc/tm.texi: Regenerate. - -2015-05-21 H.J. Lu - - PR target/66232 - * config/i386/constraints.md (Bg): New constraint for GOT memory - operand. - * config/i386/i386.md (*call_got_x32): New pattern. - (*call_value_got_x32): Likewise. - * config/i386/predicates.md (GOT_memory_operand): New predicate. - -2015-05-21 Jakub Jelinek - - PR tree-optimization/66233 - * match.pd (ocvt (icvt@1 @0)): Don't handle vector types. - Simplify. - -2015-05-21 Jeff Law - - * config/pa/pa.md (add-with-constant splitter): Use ASHIFT rather - than MULT for shadd sequences. - -2015-05-08 Jan Hubicka - - * alias.c (alias_stats): New static var. - (alias_sets_conflict_p, alias_sets_must_conflict_p): Update stats. - (dump_alias_stats_in_alias_c): New function. - * alias.h (dump_alias_stats_in_alias_c): Declare. - * tree-ssa-alias.c (dump_alias_stats): Call it. - -2015-05-08 Michael Matz - - * tree-vectorizer.h (struct _stmt_vec_info): Rename stride_load_p - to strided_p. - (STMT_VINFO_STRIDE_LOAD_P): Rename to ... - (STMT_VINFO_STRIDED_P): ... this. - * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Adjust. - (vect_verify_datarefs_alignment): Likewise. - (vect_enhance_data_refs_alignment): Likewise. - (vect_analyze_data_ref_access): Likewise. - (vect_analyze_data_refs): Accept strided stores. - * tree-vect-stmts.c (vect_model_store_cost): Count strided stores. - (vect_model_load_cost): Adjust for macro rename. - (vectorizable_mask_load_store): Likewise. - (vectorizable_load): Likewise. - (vectorizable_store): Open code strided stores. - -2015-05-21 Kyrylo Tkachov - - * doc/sourcebuild.texi (7.2.3.9 Other hardware attributes): - Document sqrt_insn. - -2015-05-21 Richard Biener - - PR c++/66211 - * match.pd: Guard pattern optimzing (int)(float)int - conversions to apply only on GIMPLE. - -2015-05-21 Jeff Law - - * combine.c (find_split_point): Handle ASHIFT like MULT to encourage - multiply-accumulate/shift-add insn generation. - -2015-05-21 Oleg Endo - - PR target/54236 - * config/sh/sh.md (*round_int_even): Reject pattern if operands[0] and - operands[1] are the same. - -2015-05-21 Ilya Enkovich - - PR middle-end/66221 - * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Use - build_distinct_type_copy to copy bounds. - -2015-05-21 Thomas Schwinge - - * genrecog.c (MAX_DEPTH, MIN_NUM_STATEMENTS, MAX_NUM_STATEMENTS): - Change to unsigned int. - -2015-05-20 Jeff Law - - * config/pa/pa.c (pa_print_operand): New 'o' output modifier. - (pa_mem_shadd_constant_p): Renamed from pa_shadd_constant_p. - (pa_shadd_constant_p): Allow constants for shadd insns rather - than valid scaling constants for memory addresses. - * config/pa/pa-protos.h (pa_mem_shadd_constant_p): Add prototype. - * config/pa/predicates.md (mem_shadd_operand): New predicate. - * config/pa/pa.md (shift-add insns using MULT): Use mem_shadd_operand. - (shift-add insns using ASHIFT): New patterns. - -2015-05-20 Mikhail Maltsev - - * bb-reorder.c (set_edge_can_fallthru_flag): Use rtx_jump_insn where - feasible. - (fix_up_fall_thru_edges): Likewise. - (fix_crossing_conditional_branches): Likewise. Promote jump targets - from to rtx_insn to rtx_code_label where feasible. - * bt-load.c (move_btr_def): Remove as-a cast of the value returned by - gen_move_insn (returned type changed to rtx_insn). - * builtins.c (expand_errno_check): Fix arguments of - do_compare_rtx_and_jump (now expects rtx_code_label). - (expand_builtin_acc_on_device): Likewise. - * cfgcleanup.c (try_simplify_condjump): Add cast when calling - invert_jump (now exprects rtx_jump_insn). - * cfgexpand.c (label_rtx_for_bb): Promote return type to rtx_code_label. - (construct_init_block): Use rtx_code_label. - * cfgrtl.c (block_label): Promote return type to rtx_code_label. - (try_redirect_by_replacing_jump): Use cast to rtx_jump_insn when - calling redirect_jump. - (patch_jump_insn): Likewise. - (redirect_branch_edge): Likewise. - (force_nonfallthru_and_redirect): Likewise. - (fixup_reorder_chain): Explicitly use rtx_jump_insn instead of rtx_insn - when suitable. - (rtl_lv_add_condition_to_bb): Update call of do_compare_rtx_and_jump. - * cfgrtl.h: Promote return type of block_label to rtx_code_label. - * config/bfin/bfin.c (hwloop_optimize): Fix call of emit_label_before. - * config/i386/i386.c (ix86_emit_cmove): Explicitly use rtx_code_label - to store the value retured by gen_label_rtx. - * config/mips/mips.c (mips16_split_long_branches): Promote rtx_insn to - rtx_jump_insn. - * config/sh/sh.c (gen_far_branch): Likewise. Fix call of invert_jump. - (split_branches): Fix calls of redirect_jump. - * dojump.c (jumpifnot): Promote argument type from rtx to - rtx_code_label. - (jumpifnot_1): Likewise. - (jumpif): Likewise. - (jumpif_1): Likewise. - (do_jump_1): Likewise. - (do_jump): Likewise. Use rtx_code_label when feasible. - (do_jump_by_parts_greater_rtx): Likewise. - (do_jump_by_parts_zero_rtx): Likewise. - (do_jump_by_parts_equality_rtx): Likewise. - (do_compare_rtx_and_jump): Likewise. - * dojump.h: Update function prototypes. - * dse.c (emit_inc_dec_insn_before): Remove case (gen_move_insn now - returns rtx_insn). - * emit-rtl.c (emit_jump_insn_before_noloc): Promote return type to - rtx_jump_insn. - (emit_label_before): Likewise. - (emit_jump_insn_after_noloc): Likewise. - (emit_jump_insn_after_setloc): Likewise. - (emit_jump_insn_after): Likewise - (emit_jump_insn_before_setloc): Likewise. - (emit_jump_insn_before): Likewise. - (emit_label_before): Promote return type to rtx_code_label. - (emit_label): Likewise. - * except.c (sjlj_emit_dispatch_table): Use jump_target_rtx. - * explow.c (emit_stack_save): Use gen_move_insn_uncast instead of - gen_move_insn. - (emit_stack_restore): Likewise. - * expmed.c (emit_store_flag_force): Fix calls of do_compare_rtx_and_jump. - (do_cmp_and_jump): Likewise. - * expr.c (expand_expr_real_2): Likewise. Promote some local variables - from rtx to rtx_code_label. - (gen_move_insn_uncast): New function. - * expr.h: Update return type of gen_move_insn (promote to rtx_insn). - * function.c (convert_jumps_to_returns): Fix call of redirect_jump. - * gcse.c (pre_insert_copy_insn): Use rtx_insn instead of rtx. - * ifcvt.c (dead_or_predicable): Use rtx_jump_insn when calling - invert_jump_1 and redirect_jump_1. - * internal-fn.c (expand_arith_overflow_result_store): Fix call of - do_compare_rtx_and_jump. - (expand_addsub_overflow): Likewise. - (expand_neg_overflow): Likewise. - (expand_mul_overflow): Likewise. - * ira.c (split_live_ranges_for_shrink_wrap): Use rtx_insn for - return value of gen_move_insn. - * jump.c (redirect_jump): Promote argument from rtx to rtx_jump_insn. - * loop-doloop.c (add_test): Use rtx_code_label. - (doloop_modify): Likewise. - (doloop_optimize): Likewise. - * loop-unroll.c (compare_and_jump_seq): Promote rtx to rtx_code_label. - * lra-constraints.c (emit_spill_move): Remove cast of value returned - by gen_move_insn. - (inherit_reload_reg): Add cast when calling dump_insn_slim. - (split_reg): Likewise. - * modulo-sched.c (schedule_reg_moves): Remove cast of value returned by - gen_move_insn. - * optabs.c (expand_binop_directly): Remove casts of values returned by - maybe_gen_insn. - (expand_unop_direct): Likewise. - (expand_abs): Likewise. - (maybe_emit_unop_insn): Likewise. - (maybe_gen_insn): Promote return type to rtx_insn. - * optabs.h: Update prototype of maybe_gen_insn. - * postreload-gcse.c (eliminate_partially_redundant_load): Remove - redundant cast. - * recog.c (struct peep2_insn_data): Promote type of insn field to - rtx_insn. - (peep2_reinit_state): Use NULL instead of NULL_RTX. - (peep2_attempt): Remove casts of insn in peep2_insn_data. - (peep2_fill_buffer): Promote argument from rtx to rtx_insn - * recog.h (struct insn_gen_fn): Promote return types of function - pointers and operator ().from rtx to rtx_insn. - * reorg.c (fill_simple_delay_slots): Promote rtx_insn to rtx_jump_insn. - (fill_eager_delay_slots): Likewise. - (relax_delay_slots): Likewise. - (make_return_insns): Likewise. - (dbr_schedule): Likewise. - (optimize_skips): Likewise. - (reorg_redirect_jump): Likewise. - (fill_slots_from_thread): Likewise. - * reorg.h: Update prototypes. - * resource.c (find_dead_or_set_registers): Use dyn_cast to - rtx_jump_insn instead of check. Use it's jump_target method. - * rtl.h (rtx_jump_insn::jump_label): Define new method. - (rtx_jump_insn::jump_target): Define new method. - (rtx_jump_insn::set_jump_target): Define new method. - * rtlanal.c (tablejump_p): Promote type of one local variable. - * sched-deps.c (sched_analyze_2): Promote rtx to rtx_insn_list. - (sched_analyze_insn): Likewise. - * sched-vis.c (print_insn_with_notes): Promote rtx to rtx_insn. - (print_insn): Likewise. - * stmt.c (label_rtx): Promote return type to rtx_insn. - (force_label_rtx): Likewise. - (jump_target_rtx): Define new function. - (expand_label): Use it, get rid of one cast. - (expand_naked_return): Promote rtx to rtx_code_label. - (do_jump_if_equal): Fix do_compare_rtx_and_jump call. - (expand_case): Use rtx_code_label instread of rtx where feasible. - (expand_sjlj_dispatch_table): Likewise. - (emit_case_nodes): Likewise. - * stmt.h: Declare jump_target_rtx. Update prototypes. Fix comments. - * store-motion.c (insert_store): Make use of new return type of - gen_move_insn and remove a cast. - (replace_store_insn): Likewise. - -2015-05-20 Max Filippov - - * config/xtensa/xtensa.c (init_alignment_context): Replace MULT - by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT). - -2015-05-20 Jeff Law - - * tree-ssa-threadupdate.c (mark_threaded_blocks): Properly - dispose of the jump thread path when the jump threading - opportunity is cancelled. - -2015-05-20 Manuel López-Ibáñez - - * diagnostic.c (diagnostic_print_caret_line): Fix off-by-one error - when printing the caret character. - -2015-05-20 Marek Polacek - - * cfgexpand.c (expand_debug_expr): Use UNARY_CLASS_P. - -2015-05-20 Marek Polacek - - * expr.c (expand_cond_expr_using_cmove): Use COMPARISON_CLASS_P. - * gimple-expr.c (gimple_cond_get_ops_from_tree): Likewise. - * gimple-fold.c (canonicalize_bool): Likewise. - (same_bool_result_p): Likewise. - * tree-if-conv.c (parse_predicate): Likewise. - -2015-05-20 Marek Polacek - - * gimple-fold.c (fold_const_aggregate_ref_1): Use DECL_P. - * gimplify.c (gimplify_modify_expr_rhs): Likewise. - -2015-05-20 Kyrylo Tkachov - - * config/aarch64/aarch64.c (aarch64_class_max_nregs): - Use UNITS_PER_VREG and UNITS_PER_WORD instead of their direct - values. - -2015-05-20 Robert Suchanek - - * config/mips/mips.h (micromips_globals): Declare. - -2015-05-20 David Malcolm - - * timevar.def (TV_INITIALIZE_RTL): New. - * toplev.c (initialize_rtl): Use an auto_timevar to account this - function's time to TV_INITIALIZE_RTL. - -2015-05-20 Ilya Enkovich - - * tree-chkp.c (chkp_maybe_copy_and_register_bounds): Remove useless - gimple_build_nop calls. - (chkp_find_bounds_for_elem): Likewise. - (chkp_get_zero_bounds): Likewise. - (chkp_get_none_bounds): Likewise. - (chkp_get_bounds_by_definition): Likewise. - (chkp_generate_extern_var_bounds): Likewise. - (chkp_get_bounds_for_decl_addr): Likewise. - (chkp_get_bounds_for_string_cst): Likewise. - -2015-05-20 Bin Cheng - - PR tree-optimization/65447 - * tree-ssa-loop-ivopts.c (struct iv_use): New fields. - (dump_use, dump_uses): Support to dump sub use. - (record_use): New parameters to support sub use. Remove call to - dump_use. - (record_sub_use, record_group_use): New functions. - (compute_max_addr_offset, split_all_small_groups): New functions. - (group_address_uses, rewrite_use_address): New functions. - (strip_offset): New declaration. - (find_interesting_uses_address): Call record_group_use. - (add_candidate): New assertion. - (infinite_cost_p): Move definition forward. - (add_costs): Check INFTY cost and return immediately. - (get_computation_cost_at): Clear setup cost and dependent bitmap - for sub uses. - (determine_use_iv_cost_address): Compute cost for sub uses. - (rewrite_use_address_1): Rename from old rewrite_use_address. - (free_loop_data): Free sub uses. - (tree_ssa_iv_optimize_loop): Call group_address_uses. - -2015-05-20 Kugan Vivekanandarajah - Jim Wilson - - * config/arm/aarch-common-protos.h (struct mem_cost_table): Added - new fields loadv and storev. - * config/aarch64/aarch64-cost-tables.h (thunderx_extra_costs): - Initialize loadv and storev. - * config/arm/aarch-cost-tables.h (generic_extra_costs): Likewise. - (cortexa53_extra_costs): Likewise. - (cortexa57_extra_costs): Likewise. - (xgene1_extra_costs): Likewise. - * config/aarch64/aarch64.c (aarch64_rtx_costs): Update vector - rtx_costs. - -2015-05-20 Kugan Vivekanandarajah - - * config/arm/arm.c (cortexa9_extra_costs): Initialize loadv and - storev. - (cortexa8_extra_costs): Likewise. - (cortexa5_extra_costs): Likewise. - (cortexa7_extra_costs): Likewise. - (cortexa12_extra_costs): Likewise. - (cortexa15_extra_costs): Likewise. - (v7m_extra_costs): Likewise. - -2015-05-20 Jeff Law - - * tree-ssa-threadupdate.c (thread_single_edge): Use delete_jump_thread - instead of open-coded version. Also delete the jump thread created - within this function. - -2015-05-20 Alan Modra - - * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Return - stack adjusting insn. Formatting. - (rs6000_emit_prologue): Track stack adjusting insn, and use of - r12. If possible, emit first -fsplit-stack arg pointer insn - before stack adjust. Don't use r12 to save cr if split-stack. - -2015-05-20 Alan Modra - - * common/config/rs6000/rs6000-common.c (TARGET_SUPPORTS_SPLIT_STACK): - Define. - (rs6000_supports_split_stack): New function. - * config/rs6000/rs6000.c (machine_function): Add - split_stack_arg_pointer. - (TARGET_EXTRA_LIVE_ON_ENTRY, TARGET_INTERNAL_ARG_POINTER): Define. - (setup_incoming_varargs): Use crtl->args.internal_arg_pointer - rather than virtual_incoming_args_rtx. - (rs6000_va_start): Likewise. - (split_stack_arg_pointer_used_p): New function. - (rs6000_emit_prologue): Set up arg pointer for -fsplit-stack. - (morestack_ref): New var. - (gen_add3_const, rs6000_expand_split_stack_prologue, - rs6000_internal_arg_pointer, rs6000_live_on_entry, - rs6000_split_stack_space_check): New functions. - (rs6000_elf_file_end): Call file_end_indicate_split_stack. - * config/rs6000/rs6000.md (UNSPEC_STACK_CHECK): Define. - (UNSPECV_SPLIT_STACK_RETURN): Define. - (split_stack_prologue, load_split_stack_limit, - load_split_stack_limit_di, load_split_stack_limit_si, - split_stack_return, split_stack_space_check): New expands and insns. - * config/rs6000/rs6000-protos.h - (rs6000_expand_split_stack_prologue): Declare. - (rs6000_split_stack_space_check): Declare. - -2015-05-20 Alan Modra - - * config/rs6000/rs6000.c (struct rs6000_stack): Correct comments. - (direct_return): Test vrsave_size rather than vrsave_mask. - (rs6000_emit_prologue): Likewise. Remove redundant altivec tests. - (rs6000_emit_epilogue): Likewise. - -2015-05-20 Alan Modra - - * config/rs6000/rs6000.c (rs6000_stack_info): Don't zero offsets - when not saving registers. - (debug_stack_info): Adjust to omit printing unused offsets, - as before. - (rs6000_emit_epilogue): Adjust use_backchain_to_restore_sp - expression. - -2015-05-19 Trevor Saunders - - PR c++/65835 - * config/i386/winnt.c (struct wrapped_symbol_hasher): Change - value_type to const char *. - -2015-05-19 Sandra Loosemore - - * config.gcc [powerpc*-*-linux*]: Allow --enable-targets=all - to build a biarch toolchain again. - -2015-05-19 Jan Hubicka - - * ipa-devirt.c (type_in_anonymous_namespace_p): Return true - or implicit declarations. - (odr_type_p): Check that TYPE_NAME is TYPE_DECL before looking - into it. - (get_odr_type): Check type has linkage before adding bases. - (register_odr_type): Check that type has linkage before adding it. - (type_known_to_have_no_deriavations_p): Rename to .. - (type_known_to_have_no_derivations_p): This one. - * ipa-utils.h (type_known_to_have_no_deriavations_p): Rename to .. - (type_known_to_have_no_derivations_p): This one. - * ipa-polymorphic-call.c - (ipa_polymorphic_call_context::restrict_to_inner_type): Check that - type has linkage. - -2015-05-19 Eric Botcazou - - * stor-layout.c (finalize_type_size): Use AGGREGATE_TYPE_P. - (layout_type): Use RECORD_OR_UNION_TYPE_P. - -2015-05-19 Andreas Krebbel - - * config/s390/s390.c (s390_vector_bool_type_p): New function. - (s390_invalid_binary_op): New function. - (TARGET_INVALID_BINARY_OP): Define macro. - -2015-05-19 David Sherwood - - * loop-invariant.c (create_new_invariant): Don't calculate address cost - if mode is not a scalar integer. - (get_inv_cost): Increase computational cost for unused invariants. - -2015-05-19 Andreas Krebbel - - * config.gcc: Add vecintrin.h to extra_headers. Add s390-c.o to - c_target_objs and cxx_target_objs. Add t-s390 to tmake_file. - * config/s390/s390-builtin-types.def: New file. - * config/s390/s390-builtins.def: New file. - * config/s390/s390-builtins.h: New file. - * config/s390/s390-c.c: New file. - * config/s390/s390-modes.def: Add modes CCVEQANY, CCVH, - CCVHANY, CCVHU, CCVHUANY, CCVFHANY, CCVFHEANY. - * config/s390/s390-protos.h (s390_expand_vec_compare_cc) - (s390_cpu_cpp_builtins, s390_register_target_pragmas): Add - prototypes. - * config/s390/s390.c (s390-builtins.h, s390-builtins.def): - Include. - (flags_builtin, flags_overloaded_builtin_var, s390_builtin_types) - (s390_builtin_fn_types, s390_builtin_decls, code_for_builtin): New - variable definitions. - (s390_const_operand_ok): New function. - (s390_expand_builtin): Rewrite. - (s390_init_builtins): New function. - (s390_handle_vectorbool_attribute): New function. - (s390_attribute_table): Add s390_vector_bool attribute. - (s390_match_ccmode_set): Handle new cc modes CCVH, CCVHU. - (s390_branch_condition_mask): Generate masks for new modes. - (s390_expand_vec_compare_cc): New function. - (s390_mangle_type): Add mangling for vector bool types. - (enum s390_builtin): Remove. - (s390_atomic_assign_expand_fenv): Rename constants for sfpc and - efpc builtins. - * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Call - s390_cpu_cpp_builtins. - (REGISTER_TARGET_PRAGMAS): New macro. - * config/s390/s390.md: Define more UNSPEC_VEC_* constants. - (insn_cmp mode attribute): Add new CC modes. - (s390_sfpc, s390_efpc): Rename patterns to sfpc and efpc. - (lcbb): New pattern definition. - * config/s390/s390intrin.h: Include vecintrin.h. - * config/s390/t-s390: New file. - * config/s390/vecintrin.h: New file. - * config/s390/vector.md: Include vx-builtins.md. - * config/s390/vx-builtins.md: New file.S/390 zvector builtin - support. - -2015-05-19 Andreas Krebbel - - * config/s390/s390-modes.def: Add new modes CCVEQ, CCVFH, and - CCVFHE. - * config/s390/s390.c (s390_match_ccmode_set): Handle new modes. - (s390_select_ccmode): Likewise. - (s390_canonicalize_comparison): Swap operands if necessary. - (s390_expand_vec_compare_scalar): Expand DFmode compare using - single element vector instructions. - (s390_emit_compare): Call s390_expand_vec_compare_scalar. - (s390_branch_condition_mask): Generate CC masks for the new modes. - * config/s390/s390.md (v0, vf, vd): New mode attributes. - (VFCMP, asm_fcmp, insn_cmp): New mode iterator and attributes. - (*vec_cmpdf_cconly, *fixuns_truncdfdi2_z13) - (*fix_trunc2_bfp, *floatunsdidf2_z13) - (*floatuns2, *extendsfdf2_z13) - (*extend2): New insn definition. - (fix_trunc2_bfp, loatuns2) - (extend2): Turn into expander. - (floatdi2, truncdfsf2, add3, sub3, mul3) - (div3, *neg2, *abs2, *negabs2) - (sqrt2): Add vector instruction. - -2015-05-19 Andreas Krebbel - - * config/s390/constraints.md (j00, jm1, jxx, jyy, v): New - constraints. - * config/s390/predicates.md (const0_operand, constm1_operand) - (constable_operand): Accept vector operands. - * config/s390/s390-modes.def: Add supported vector modes. - * config/s390/s390-protos.h (s390_cannot_change_mode_class) - (s390_function_arg_vector, s390_contiguous_bitmask_vector_p) - (s390_bytemask_vector_p, s390_expand_vec_strlen) - (s390_expand_vec_compare, s390_expand_vcond) - (s390_expand_vec_init): Add prototypes. - * config/s390/s390.c (VEC_ARG_NUM_REG): New macro. - (s390_vector_mode_supported_p): New function. - (s390_contiguous_bitmask_p): Mask out the irrelevant bits. - (s390_contiguous_bitmask_vector_p): New function. - (s390_bytemask_vector_p): New function. - (s390_split_ok_p): Vector regs don't work either. - (regclass_map): Add VEC_REGS. - (s390_legitimate_constant_p): Handle vector constants. - (s390_cannot_force_const_mem): Handle CONST_VECTOR. - (legitimate_reload_vector_constant_p): New function. - (s390_preferred_reload_class): Handle CONST_VECTOR. - (s390_reload_symref_address): Likewise. - (s390_secondary_reload): Vector memory instructions only support - short displacements. Rename reload*_nonoffmem* to reload*_la*. - (s390_emit_ccraw_jump): New function. - (s390_expand_vec_strlen): New function. - (s390_expand_vec_compare): New function. - (s390_expand_vcond): New function. - (s390_expand_vec_init): New function. - (s390_dwarf_frame_reg_mode): New function. - (print_operand): Handle addresses with 'O' and 'R' constraints. - (NR_C_MODES, constant_modes): Add vector modes. - (s390_output_pool_entry): Handle vector constants. - (s390_hard_regno_mode_ok): Handle vector registers. - (s390_class_max_nregs): Likewise. - (s390_cannot_change_mode_class): New function. - (s390_invalid_arg_for_unprototyped_fn): New function. - (s390_function_arg_vector): New function. - (s390_function_arg_float): Remove size variable. - (s390_pass_by_reference): Handle vector arguments. - (s390_function_arg_advance): Likewise. - (s390_function_arg): Likewise. - (s390_return_in_memory): Vector values are returned in a VR if - possible. - (s390_function_and_libcall_value): Handle vector arguments. - (s390_gimplify_va_arg): Likewise. - (s390_call_saved_register_used): Consider the arguments named. - (s390_conditional_register_usage): Disable v16-v31 for non-vec - targets. - (s390_preferred_simd_mode): New function. - (s390_support_vector_misalignment): New function. - (s390_vector_alignment): New function. - (TARGET_STRICT_ARGUMENT_NAMING, TARGET_DWARF_FRAME_REG_MODE) - (TARGET_VECTOR_MODE_SUPPORTED_P) - (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN) - (TARGET_VECTORIZE_PREFERRED_SIMD_MODE) - (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT) - (TARGET_VECTOR_ALIGNMENT): Define target macro. - * config/s390/s390.h (FUNCTION_ARG_PADDING): Define macro. - (FIRST_PSEUDO_REGISTER): Increase value. - (VECTOR_NOFP_REGNO_P, VECTOR_REGNO_P, VECTOR_NOFP_REG_P) - (VECTOR_REG_P): Define macros. - (FIXED_REGISTERS, CALL_USED_REGISTERS) - (CALL_REALLY_USED_REGISTERS, REG_ALLOC_ORDER) - (HARD_REGNO_CALL_PART_CLOBBERED, REG_CLASS_NAMES) - (FUNCTION_ARG_REGNO_P, FUNCTION_VALUE_REGNO_P, REGISTER_NAMES): - Add vector registers. - (CANNOT_CHANGE_MODE_CLASS): Call C function. - (enum reg_class): Add VEC_REGS, ADDR_VEC_REGS, GENERAL_VEC_REGS. - (SECONDARY_MEMORY_NEEDED): Allow SF<->SI mode moves without - memory. - (DBX_REGISTER_NUMBER, FIRST_VEC_ARG_REGNO, LAST_VEC_ARG_REGNO) - (SHORT_DISP_IN_RANGE, VECTOR_STORE_FLAG_VALUE): Define macro. - * config/s390/s390.md (UNSPEC_VEC_*): New constants. - (VR*_REGNUM): New constants. - (ALL): New mode iterator. - (INTALL): Remove mode iterator. - Include vector.md. - (movti): Implement TImode moves for VRs. - Disable TImode splitter for VR targets. - Implement splitting TImode GPR<->VR moves. - (reload*_tomem_z10, reload*_toreg_z10): Replace INTALL with ALL. - (reload_nonoffmem_in, reload_nonoffmem_out): Rename to - reload_la_in, reload_la_out. - (*movdi_64, *movsi_zarch, *movhi, *movqi, *mov_64dfp) - (*mov_64, *mov_31): Add vector instructions. - (TD/TF mode splitter): Enable for GPRs only (formerly !FP). - (mov SF SD): Prefer lder, lde for loading. - Add lrl and strl instructions. - Add vector instructions. - (strlen): Rename old strlen to strlen_srst. - Call s390_expand_vec_strlen on z13. - (*cc_to_int): Change predicate to nonimmediate_operand. - (addti3): Rename to *addti3. New expander. - (subti3): Rename to *subti3. New expander. - * config/s390/vector.md: New file. - -2015-05-19 Andreas Krebbel - - * common/config/s390/s390-common.c (processor_flags_table): Add - z13. - * config.gcc: Add z13. - * config/s390/s390-opts.h (enum processor_type): Add - PROCESSOR_2964_Z13. - * config/s390/s390.c (s390_adjust_priority): Check for - PROCESSOR_2964_Z13. - (s390_reorg): Likewise. - (s390_sched_reorder): Likewise. - (s390_sched_variable_issue): Likewise. - (s390_loop_unroll_adjust): Likewise. - (s390_option_override): Likewise. Default to -mvx when available. - * config/s390/s390.h (enum processor_flags): Add PF_Z13 and PF_VX. - (TARGET_CPU_Z13, TARGET_CPU_VX, TARGET_Z13, TARGET_VX) - (TARGET_VX_ABI): Define macros. - macros. - (TARGET_DEFAULT): Add MASK_OPT_VX. - * config/s390/s390.md ("cpu" attribute): Add z13. - ("cpu_facility" attribute): Add vec. - * config/s390/s390.opt (processor_type): Add z13. - (mvx): New options. - * doc/invoke.texi: Add z13 option for -march. - -2015-05-19 Andreas Krebbel - - * config/s390/predicates.md (shift_count_or_setmem_operand): Add - mode check to make sure that only scalar integer values are - accepted. - -2015-05-19 Jan Hubicka - - * tree.c (verify_type_variant): Fix #undef. - (gimple_canonical_types_compatible_p): Move here from lto.c - (verify_type): Verify TYPE_CANONICAL compatibility. - * tree.h (gimple_canonical_types_compatible_p): Declare. - -2015-05-19 Jakub Jelinek - - PR middle-end/66199 - * tree.h (OMP_TEAMS_COMBINED): Define. - * gimplify.c (enum gimplify_omp_var_data): Add - GOVD_LINEAR_LASTPRIVATE_NO_OUTER. - (enum omp_region_type): Add ORT_COMBINED_TEAMS. - (omp_notice_variable): Accept both ORT_TEAMS - and ORT_COMBINED_TEAMS. Don't recurse if - GOVD_LINEAR_LASTPRIVATE_NO_OUTER is set and either - GOVD_LINEAR is set, or GOVD_LASTPRIVATE without - GOVD_FIRSTPRIVATE. - (omp_no_lastprivate): New function. - (gimplify_scan_omp_clauses): For OMP_CLAUSE_LASTPRIVATE - and OMP_CLAUSE_LINEAR, if omp_no_lastprivate, don't - notice_outer and set appropriate bits, otherwise make - sure default(none) combined constructs won't complain. - (gimplify_adjust_omp_clauses): Remove OMP_CLAUSE_LINEAR - outer special casing, for OMP_CLAUSE_LASTPRIVATE if - omp_no_lastprivate either remove the clause or turn it - into OMP_CLAUSE_PRIVATE. - (gimplify_omp_for): Fix up handling of implicit - lastprivate or linear iterators. - (gimplify_omp_workshare): For OMP_TEAMS_COMBINED use - ORT_COMBINED_TEAMS. - * omp-low.c (lower_omp_for_lastprivate): For combined - for simd use fd.loop.n2 from the for rather than simd. - -2015-05-19 Richard Sandiford - - * config/cris/cris.c (cris_expand_prologue): Use gen_raw_REG - instead of gen_rtx_raw_REG. - (cris_expand_epilogue): Likewise. - * config/microblaze/microblaze.c (microblaze_classify_address): - Likewise. - * config/sparc/sparc.md: Likewise. - -2015-05-19 Uros Bizjak - - * config/alpha/alpha.c (alpha_legitimize_reload_address) - (alpha_preferred_reload_class, alpha_legitimate_constant_p): Use - CONST_INT_P, CONST_SCALAR_INT_P and CONST_DOUBLE_P predicates. - (alpha_split_reload_pair) : - Use CASE_CONST_SCALAR_INT. - (print_operand) : Use mode_width_operand to check the - value of the constant. - * config/alpha/alpha.md (movti): Use CONST_SCALAR_INT_P predicate. - * config/alpha/predicates.md (input_operand): Use general_operand - instead of match_code as operand check. - (symbolic_operand): Use match_code with subexpression digits. - * config/alpha/constraints.md (Q): Ditto. - -2015-05-19 Andreas Krebbel - - * optabs.c (expand_vec_perm): Don't re-use SEL as target operand. - -2015-05-19 Andreas Krebbel - - * config/s390/s390.c (s390_secondary_reload): Fix check for - load/store relative. - -2015-05-19 Andreas Krebbel - - * recog.h: Increase MAX_RECOG_ALTERNATIVES. Change type of - alternative_mask to uint64_t. - -2015-05-19 Jakub Jelinek - - PR tree-optimization/66187 - * match.pd ((bit_and (plus/minus (convert @0) (convert @1)) mask)): - Pass TYPE_SIGN to tree_int_cst_min_precision. If - !TYPE_OVERFLOW_WRAPS, ensure @4 is non-negative. - -2015-05-19 David Malcolm - - * diagnostic.c (diagnostic_report_current_module): Strengthen - local "new_map" from const line_map * to - const line_map_ordinary *. - * genmatch.c (error_cb): Likewise for local "map". - (output_line_directive): Likewise for local "map". - * input.c (expand_location_1): Likewise for local "map". - Pass NULL rather than &map to - linemap_unwind_to_first_non_reserved_loc, since the value is never - read from there, and the value written back not read from here. - (is_location_from_builtin_token): Strengthen local "map" from - const line_map * to const line_map_ordinary *. - (dump_location_info): Strengthen locals "map" from - line_map *, one to const line_map_ordinary *, the other - to const line_map_macro *. - * tree-diagnostic.c (loc_map_pair): Strengthen field "map" from - const line_map * to const line_map_macro *. - (maybe_unwind_expanded_macro_loc): Add a call to - linemap_check_macro when writing to the "map" field of the - loc_map_pair. - Introduce local const line_map_ordinary * "ord_map", using it in - place of "map" in the part of the function where we know we have - an ordinary map. Strengthen local "m" from const line_map * to - const line_map_ordinary *. - -2015-05-19 Nick Clifton - - PR target/66156 - * config/msp430/msp430.md (zero_extendhisi2): Add support for - separate source and destination registers. - -2015-05-19 Richard Biener - - PR tree-optimization/66165 - * tree-vect-slp.c (vect_supported_load_permutation_p): Add guard - for no load permutation. - - PR tree-optimization/66185 - * tree-vect-slp.c (vect_build_slp_tree): Properly roll back - when building the SLP node from scalars. - -2015-05-19 Eric Botcazou - Tristan Gingold - - * insn-notes.def (UPDATE_SJLJ_CONTEXT): New note. - * builtins.c (expand_builtin_update_setjmp_buf): Make global. - (expand_stack_restore): Call record_new_stack_level. - (expand_stack_save): Do not call do_pending_stack_adjust. - * builtins.h (expand_builtin_update_setjmp_buf): Declare. - * calls.c (expand_call): Call record_new_stack_level for alloca. - * except.c (sjlj_mark_call_sites): Expand builtin_update_setjmp_buf - wherever a NOTE_INSN_UPDATE_SJLJ_CONTEXT note is present. - (update_sjlj_context): New global function. - * except.h (update_sjlj_context): Declare. - * explow.c (record_new_stack_level): New global function. - (allocate_dynamic_stack_space): Call record_new_stack_level. - * explow.h (record_new_stack_level): Declare. - * final.c (final_scan_insn): Deal with NOTE_INSN_UPDATE_SJLJ_CONTEXT. - * cfgrtl.c (duplicate_insn_chain): Likewise. - -2015-05-19 Kyrylo Tkachov - - * calls.c: Always define STACK_GROWS_DOWNWARD as 0 or 1. - (mem_overlaps_already_clobbered_arg_p): Rewrite ifdef - STACK_GROWS_DOWNWARD as normal if. - (expand_call): Likewise. - -2015-05-19 Oleg Endo - - PR target/54236 - * config/sh/sh.md (*round_int_even): New insn_and_split and - accompanying new unnamed split. - -2015-05-19 Richard Sandiford - - * bitmap.c (bitmap_set_range): Handle count==1 specially. - (bitmap_clear_range): Likewise. - * cfgcleanup.c (mark_effect): Use bitmap_clear_range and - bitmap_set_range unconditionally. - * df-problems.c (df_simulate_one_insn_forwards): Likewise. - * df-scan.c (df_mark_reg): Likewise. - * haifa-sched.c (setup_ref_regs): Likewise. - * sched-rgn.c (update_live_1): Likewise. - -2015-05-19 Richard Sandiford - - * regs.h (END_HARD_REGNO): Delete. - (END_REGNO): Move to... - * rtl.h: ...here. - * bt-load.c (note_btr_set): Use END_REGNO instead of END_HARD_REGNO. - * caller-save.c (mark_set_regs): Likewise. - * combine.c (move_deaths, distribute_notes): Likewise. - * cse.c (invalidate, invalidate_for_call): Likewise. - * df-scan.c (df_ref_record): Likewise. - * postreload-gcse.c (reg_changed_after_insn_p): Likewise. - (record_last_reg_set_info): Likewise. - * reg-stack.c (convert_regs_exit): Likewise. - * reload.c (reg_overlap_mentioned_for_reload_p): Likewise. - * resource.c (update_live_status): Likewise. - * rtlanal.c (find_reg_fusage, find_regno_fusage): Likewise. - -2015-05-19 Richard Sandiford - - * rtl.h (reg_info): Add an nregs field. - (REG_NREGS): Use it. - (SET_REGNO_RAW): Delete. - (set_regno_raw): New function. - * regs.h (END_HARD_REGNO): Make equivalent to END_REGNO. - (END_REGNO): Redefine in terms of REG_NREGS. - * read-rtl.c (read_rtx_code): Call set_regno_raw instead of - SET_REGNO_RAW. - * emit-rtl.c (set_mode_and_regno): Likewise. - * df-scan.c (df_ref_change_reg_with_loc): Use set_mode_and_regno - instead of SET_REGNO_RAW. - -2015-05-19 Richard Sandiford - - * rtl.h (PUT_MODE_RAW): New macro. - (PUT_REG_NOTE_KIND): Use it. - (set_mode_and_regno): Declare. - (gen_raw_REG): Change regno to "unsigned int". - (gen_rtx_REG): Change "unsigned" to "unsigned int". - (PUT_MODE): Forward to PUT_MODE_RAW for generators, otherwise - use set_mode_and_regno to change the mode of registers. - * gengenrtl.c (gendef): Use PUT_MODE_RAW. - * emit-rtl.c (set_mode_and_regno): New function. - (gen_raw_REG): Change regno to unsigned int. Use set_mode_and_regno. - * caller-save.c (reg_save_code): Use set_mode_and_regno. - * expr.c (init_expr_target): Likewise. - * ira.c (setup_prohibited_mode_move_regs): Likewise. - * postreload.c (reload_cse_simplify_operands): Likewise. - -2015-05-19 Richard Sandiford - - * caller-save.c (init_caller_save): Use word_mode and - FIRST_PSEUDO_REGISTER when creating temporary rtxes. - * expr.c (init_expr_target): Likewise. - * ira.c (setup_prohibited_mode_move_regs): Likewise. - * postreload.c (reload_cse_regs_1): Likewise. - -2015-05-19 Richard Sandiford - - * rtl.def (REG): Change format to "r". - * rtl.h (rtunion): Remove rt_reg. - (reg_info): New structure. - (rtx_def): Add reg field to main union. - (X0REGATTR): Delete. - (REG_CHECK): New macro. - (SET_REGNO_RAW, rhs_regno, REG_ATTRS): Use it. - * rtl.c (rtx_format): Document "r". - (rtx_code_size): Handle REG specially. - * gengenrtl.c (special_format): Return true for formats - that include 'r'. - * gengtype.c (adjust_field_rtx_def): Handle 'r' fields. - Deal with REG_ATTRS after the field loop. - * emit-rtl.c (gen_raw_REG): Call rtx_alloc_stat directly. - * expmed.c (init_expmed): Call gen_raw_REG instead of - gen_rtx_raw_REG. - * expr.c (init_expr_target): Likewise. - * regcprop.c (maybe_mode_change): Likewise. - * varasm.c (make_decl_rtl): Likewise. - * final.c (leaf_renumber_regs_insn): Return early after - handling REGs. - * genemit.c (gen_exp): Handle 'r' fields. - * genpeep.c (match_rtx): Likewise. - * gensupport.c (subst_pattern_match): Likewise. - (get_alternatives_number, collect_insn_data, alter_predicate_for_insn) - (alter_constraints, subst_dup): Likewise. - * read-rtl.c (read_rtx_code): Likewise. - * print-rtl.c (print_rtx): Likewise. - * genrecog.c (find_operand, find_matching_operand): Likewise. - (validate_pattern, match_pattern_2): Likewise. - (parameter::UINT, rtx_test::REGNO_FIELD): New enum values. - (rtx_test::regno_field): New function. - (operator ==, safe_to_hoist_p, transition_parameter_type) - (parameter_type_string, print_parameter_value) - (print_nonbool_test, print_test): Handle new enum values. - * cselib.c (rtx_equal_for_cselib_1): Handle REG specially. - * lra-constraints.c (operands_match_p): Likewise. - -2015-05-19 Richard Sandiford - - * df.h (df_ref_change_reg_with_loc): Remove old_regno parameter. - Change type of new_regno to unsigned int. - * df-scan.c (df_ref_change_reg_with_loc_1): Change type of - new_regno to unsigned int. - (df_ref_change_reg_with_loc): Remove old_regno parameter. - Change type of new_regno to unsigned int. Use SET_REGNO_RAW. - * rtl.h (SET_REGNO): Update call to df_ref_change_reg_with_loc. - (SET_REGNO_RAW): Add space after ",". - -2015-05-19 Richard Sandiford - - * rtl.h (REG_NREGS): New macro - * alias.c (record_set): Use it. - * cfgcleanup.c (mark_effect): Likewise. - * combine.c (likely_spilled_retval_1): Likewise. - (likely_spilled_retval_p, can_change_dest_mode): Likewise. - (move_deaths, distribute_notes): Likewise. - * cselib.c (cselib_record_set): Likewise. - * df-problems.c (df_simulate_one_insn_forwards): Likewise. - * df-scan.c (df_mark_reg): Likewise. - * dse.c (look_for_hardregs): Likewise. - * dwarf2out.c (reg_loc_descriptor): Likewise. - (multiple_reg_loc_descriptor): Likewise. - * expr.c (write_complex_part, read_complex_part): Likewise. - (emit_move_complex): Likewise. - * haifa-sched.c (setup_ref_regs): Likewise. - * ira-lives.c (mark_hard_reg_live): Likewise. - * lra.c (lra_set_insn_recog_data): Likewise. - * mode-switching.c (create_pre_exit): Likewise. - * postreload.c (reload_combine_recognize_const_pattern): Likewise. - (reload_combine_recognize_pattern): Likewise. - (reload_combine_note_use, move2add_record_mode): Likewise. - (reload_cse_move2add): Likewise. - * reg-stack.c (subst_stack_regs_pat): Likewise. - * regcprop.c (kill_value, copy_value): Likewise. - (copyprop_hardreg_forward_1): Likewise. - * regrename.c (verify_reg_in_set, scan_rtx_reg): Likewise. - (build_def_use): Likewise. - * sched-deps.c (mark_insn_reg_birth, mark_reg_death): Likewise. - (deps_analyze_insn): Likewise. - * sched-rgn.c (check_live_1, update_live_1): Likewise. - * sel-sched.c (count_occurrences_equiv): Likewise. - * valtrack.c (dead_debug_insert_temp): Likewise. - -2015-05-19 Richard Sandiford - - * cfgcleanup.c (mentions_nonequal_regs): Use END_REGNO. - * dse.c (note_add_store): Likewise. - * ira-lives.c (mark_hard_reg_dead): Likewise. - * loop-invariant.c (mark_reg_store): Likewise. - (mark_reg_death): Likewise. - * postreload.c (reload_combine): Likewise. - (reload_combine_note_store): Likewise. - (reload_combine_note_use): Likewise. - * recog.c (peep2_reg_dead_p): Likewise. - -2015-05-19 Alan Modra - - * config/rs6000/predicates.md (gpc_reg_operand): Don't allow all - hard registers numbered greater or equal to ARG_POINTER_REGNUM. - (reg_or_neg_short_operand, fix_trunc_dest_operand): Delete - unused predicates. - * config/rs6000/altivec.md (save_vregs_*, restore_vregs_*): - Use altivec_register_operand. Make insn predicate TARGET_ALTIVEC. - * config/rs6000/rs6000.md (extzvdi_internal2): Use cc_reg_operand. - * config/rs6000/vsx.md (vsx_float2): Expand comment. - -2015-05-19 Sameera Deshpande - - * config/mips/mips.md (JOIN_MODE): New mode iterator. - (join2_load_Store): New pattern. - (join2_loadhi): Likewise. - (define_peehole2): Add peephole2 patterns to join 2 HI/SI/SF/DF-mode - load-load and store-stores. - * config/mips/mips.opt (mload-store-pairs): New option. - (TARGET_LOAD_STORE_PAIRS): New macro. - * config/mips/mips.h (ENABLE_LD_ST_PAIRS): Likewise. - * config/mips/mips-protos.h (mips_load_store_bonding_p): New prototype. - * config/mips/mips.c (mips_load_store_bonding_p): New function. - -2015-05-19 Mikhail Maltsev - - * bb-reorder.c (fix_up_fall_thru_edges): Use std::swap instead of - explicit swaps. - * dojump.c (do_compare_rtx_and_jump): Likewise. - * expmed.c (emit_store_flag_1): Likewise. - * fibonacci_heap.h (fibonacci_heap::union_with): Likewise. - * final.c (sprint_ul): Use std::reverse for reversing a string. - * fold-const.c (extract_muldiv_1): Use std::swap. - * genmodes.c (emit_mode_int_n): Likewise. - * ifcvt.c (dead_or_predicable): Likewise. - * ira-build.c (ira_merge_live_ranges): Likewise. - (swap_allocno_copy_ends_if_necessary): Likewise. - * ira.c (ira_setup_alts): Likewise. - * loop-iv.c (iv_analyze_expr): Likewise. - (implies_p): Likewise. - (canon_condition): Likewise. - * lra-constraints.c (swap_operands): Likewise. - * lra-lives.c (lra_merge_live_ranges): Likewise. - * omega.c (swap): Remove. - (bswap): Remove. - (omega_unprotect_1): Use std::swap. - (omega_solve_geq): Likewise. - * optabs.c (expand_binop_directly): Likewise. - (expand_binop): Likewise. - (emit_conditional_move): Likewise. - (emit_conditional_add): Likewise. - * postreload.c (reload_cse_simplify_operands): Likewise. - * reg-stack.c (emit_swap_insn): Likewise. - (swap_to_top): Likewise. - (compare_for_stack_reg): Likewise. - (subst_asm_stack_regs): Likewise. - * reload.c (find_reloads): Likewise. - * reload1.c (gen_reload_chain_without_interm_reg_p): Likewise. - * sel-sched.c (invoke_reorder_hooks): Likewise. - (create_block_for_bookkeeping): Likewise. - * tree-data-ref.c (lambda_matrix_row_exchange): Remove. - (lambda_matrix_right_hermite): Use std::swap. - * tree-ssa-coalesce.c (sort_coalesce_list): Likewise. - * tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise. - * tree-ssa-loop-ivopts.c (iv_ca_delta_reverse): Likewise. - * tree-ssa-math-opts.c (is_widening_mult_p): Likewise. - * tree-ssa-phiopt.c (hoist_adjacent_loads): Likewise. - * tree-ssa-reassoc.c (linearize_expr_tree): Likewise. - * tree-ssa-threadedge.c (simplify_control_stmt_condition): Likewise. - * tree-vrp.c (compare_ranges): Likewise. - * var-tracking.c (add_with_sets): Likewise. - (vt_find_locations): Likewise. - -2015-05-18 Andreas Tobler - - * config/freebsd-spec.h (FBSD_STARTFILE_SPEC): Add the bits to build - pie executables. - (FBSD_ENDFILE_SPEC): Likewise. - * config/i386/freebsd.h (STARTFILE_SPEC): Remove and use the one from - config/freebsd-spec.h. - (ENDFILE_SPEC): Likewise. - -2015-05-18 Uros Bizjak - Richard Henderson - - PR target/57032 - * config/alpha/constraints.md (Q): Rewrite as define_memory_constraint. - Check for a memory location that is not a reference (using an AND) - to an unaligned location here. - * config/alpha/predicates.md (normal_memory_operand): Remove. - -2015-05-18 Alex Velenko - - * config/arm/arm.md (andsi_not_shiftsi_si_scc): New pattern. - (andsi_not_shiftsi_si_scc_no_reuse): New pattern. - -2015-05-18 Robert Suchanek - - * config/mips/mips.c (micromips_globals): New variable. - (mips_set_compression_mode): Save and reinitialize target-dependent - state for microMIPS. - -2015-05-18 Martin Liska - - * dbgcnt.def: Add new counter. - * ipa-icf.c (sem_item_optimizer::merge_classes): Use the counter. - -2015-05-18 Martin Liska - - * dbgcnt.def: Sort counters. - * opts.c (common_handle_option): Do not compile if - -fdbg-cnt-list is enabled. - -2015-05-18 Tom de Vries - - * gimplify.c (gimplify_modify_expr): Remove do_deref handling. - (gimplify_va_arg_expr): Remove do_deref handling. Remove adding of - address operator to va_list operand. - * tree-stdarg.c (expand_ifn_va_arg_1): Do deref of va_list operand - unconditionally. - * config/i386/i386.c (ix86_gimplify_va_arg): Remove deref on va_list - operand. - * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Same. - * config/s390/s390.c (s390_gimplify_va_arg): Same. - * config/spu/spu.c (spu_gimplify_va_arg_expr): Same. - -2015-05-18 Tom de Vries - - * tree-ssa-tail-merge.c: Fix whitespace. - -2015-05-17 Jim Wilson - - * doc/invoke.texi (ARM Options, mtune): Add generic-armv7-a, - cortex-a17, and cortex-a17.cortex-a7. - -2015-05-17 Oleg Endo - - PR target/54236 - * config/sh/sh.md (*addc_2r_t): Use ashift instead of mult. - -2015-05-17 Uros Bizjak - - PR target/66174 - * config/i386/i386.c (expand_vec_perm_blend): Enable HImode and - QImode inner modes for TARGET_AVX512BW. Force mask operand - to a register for AVX512F modes. - -2015-05-16 Jan Hubicka - - * toplev.c (emit_debug_global_declarations): Do not output debug info - when doing slim LTO objects. - -2015-05-16 Jan Hubicka - - * ipa-utils.h (warn_types_mismatch, odr_or_derived_type_p, - odr_types_equivalent_p): Declare. - (odr_type_p): Use gcc_checking_assert. - (type_in_anonymous_namespace_p) Declare. - (type_with_linkage_p): Declare. - * common.opt (Wlto-type-mismatch): New warning. - * ipa-devirt.c (compound_type_base): New function. - (odr_or_derived_type_p): New function. - (odr_types_equivalent_p): New function. - (add_type_duplicate): Simplify. - (type_with_linkage_p): Add hack to prevent false positives on C types - (type_in_anonymous_namespace_p): Likewise. - * tree.c (need_assembler_name_p): Use type_with_linkage. - * tree.h (type_in_anonymous_namespace_p): Remove. - * doc/invoke.texi (-Wlto-type-mismatch): Document - -2015-05-16 Jan Hubicka - - * tree.c (verify_type_variant): Verify tree_base and type_common flags. - (verify_type): Verify STRING_FLAG. - -2015-05-16 Manuel López-Ibáñez - - PR fortran/44054 - * tree-pretty-print.c (percent_K_format): Replace locus pointer - with accessor function. - * tree-diagnostic.c (diagnostic_report_current_function): Use - diagnostic_location function. - (maybe_unwind_expanded_macro_loc): Likewise. - (virt_loc_aware_diagnostic_finalizer): Likewise. - (default_tree_printer): Replace locus pointer with accessor function. - * diagnostic.c (diagnostic_initialize): Initialize caret_chars array. - (diagnostic_set_info_translated): Initialize second location. - (diagnostic_build_prefix): Use CARET_LINE_MARGIN. - (diagnostic_show_locus): Handle two locations. Call - diagnostic_print_caret_line. - (diagnostic_print_caret_line): New. - (default_diagnostic_starter): Use diagnostic_location function. - (diagnostic_report_diagnostic): Use diagnostic_location function. - (verbatim): Do not set text.locus. - * diagnostic.h (struct diagnostic_info): Remove location field. - (struct diagnostic_context): Make caret_chars an array of two. - (diagnostic_location): New inline. - (diagnostic_expand_location): Handle two locations. - (diagnostic_same_line): New inline. - (diagnostic_print_caret_line): Declare. - (CARET_LINE_MARGIN): New constant. - * pretty-print.c (pp_printf): Do not set text.locus. - (pp_verbatim): Do not set text.locus. - * pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): New constant. - (struct text_info): Replace locus pointer with locations - array. Add accessor functions. - -2015-05-16 Kugan Vivekanandarajah - Zhenqiang Chen - - PR target/65768 - * config/arm/arm.h (DONT_EARLY_SPLIT_CONSTANT): New macro. - * config/arm/arm.md (subsi3, andsi3, iorsi3, xorsi3, movsi): Keep some - large constants in register instead of splitting them. - -2015-05-16 Uros Bizjak - - PR target/66140 - * config/alpha/alpha.c (get_aligned_mem): Also look for reload - replacements in memory addresses. - (get_unaligned_address): Ditto. - -2015-05-16 James Bowman - - * config/ft32/*: New files for FT32 port. - * doc/install.texi: Add FT32 information. - * doc/invoke.texi: Add FT32 information. - * doc/md.texi: Add FT32 information. - * doc/contrib.texi: Self added. - -2015-05-15 Marc Glisse - - PR tree-optimization/64454 - * match.pd ((X % Y) % Y, (X % Y) < Y): New patterns. - (-1 - A -> ~A): Remove unnecessary condition. - -2015-05-15 Gregor Richards - - * config/i386/linux.h (MUSL_DYNAMIC_LINKER): Define. - * config/i386/linux64.h (MUSL_DYNAMIC_LINKER32): Define. - (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32): Define. - -2015-05-15 Ilya Enkovich - - * ipa-chkp.h (chkp_wrap_function): New. - * ipa-chkp.c (chkp_wrap_function): Remove 'static'. - (chkp_wrap_function_name): New. - (chkp_build_instrumented_fndecl): Use chkp_wrap_function_name - to get wrapper name. - * lto-cgraph.c: Include ipa-chkp.h. - (input_cgraph_1): Avoid alias chain for wrappers. - -2015-05-15 Ilya Enkovich - - PR middle-end/66134 - * tree-chkp.c (chkp_get_orginal_bounds_for_abnormal_copy): New. - (chkp_maybe_copy_and_register_bounds): Don't copy abnormal copy. - -2015-05-15 Kyrylo Tkachov - - * config/aarch64/aarch64.h (AARCH64_TUNE_SLOWMUL): Delete. - (AARCH64_FL_SLOWMUL): Delete. - (AARCH64_FL_CRC): Redefine to 1<<3. - (AARCH64_FL_USE_FMA_STEERING_PASS): Redefine to 1<<4. - -2015-05-15 Ramana Radhakrishnan - - * config/arm/arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Add appropriate - casting. - -2015-05-15 Uros Bizjak - - * config/alpha/alpha.md (extendqidi2): Use general_operand - instead of some_operand for operand[1] predicate. - (extendhidi2): Ditto. - (cbranchdi4): Use general_operand instead of some_operand - for operand[1] and operands[2] predicates. - (cstoredi4): Ditto. - * config/alpha/predicates.md (some_operand): Remove unused predicate. - (some_ni_operand): Ditto. - -2015-05-15 Uros Bizjak - - * config/alpha/alpha.c (alpha_extract_integer): Do not handle - CONST_WIDE_INT and CONST_DOUBLE. Assert CONST_INT_P (x). - (alpha_legitimate_constant_p) : Check high and - low part of the constant using alpha_emit_set_const_1. - (alpha_expand_mov): Do not handle CONST_WIDE_INT and CONST_DOUBLE. - -2015-05-14 Rohit Arul Raj - - * varasm.c (output_constant_pool_1): Pass down alignment from - constant pool entry's descriptor to output_constant_pool_2. - (output_object_block): Add comment prior to call to - output_constant_pool_1. - -2015-05-14 Vladimir Makarov - - PR rtl-optimization/65862 - * target.def (ira_change_pseudo_allocno_class): New hook. - * targhooks.c (default_ira_change_pseudo_allocno_class): Default - value of the hook. - * targhooks.h (default_ira_change_pseudo_allocno_class): New extern. - * doc/tm.texi.in (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Add the - hook. - * ira-costs.c (find_costs_and_classes): Call the hook and change - classes when it is necessary. - * doc/tm.texi: Update. - -2015-05-14 Alexander Monakov - - * config/i386/i386.md (sibcall_memory): Check that register with - callee address is not also used as one of the arguments, instead - of checking that it is not live after the sibcall. - (sibcall_pop_memory): Ditto. - (sibcall_value_memory): Ditto. - (sibcall_value_pop_memory): Ditto. - -2015-05-14 Marc Glisse - - * generic-match-head.c (types_match): Handle non-types. - * gimple-match-head.c (types_match): Likewise. - * match.pd: Remove unnecessary TREE_TYPE for types_match. - -2015-05-14 Wilco Dijkstra - - * config/aarch64/aarch64.md (absdi2): Optimize abs expansion. - (csneg3_insn): Enable expansion of pattern. - -2015-05-14 Nick Clifton - - * config/rl78/rl78.c (rl78_select_section): Select the correct - default section based upon the category of the decl. - -2015-05-13 Segher Boessenkool - - PR rtl-optimization/30967 - * config/rs6000/rs6000.c (rs6000_rtx_costs): Don't consider - destination mode for the cost of scc patterns. - -2015-05-13 Uros Bizjak - - * config/i386/i386.md (*mul3_1): Merge with *mulhi3_1 - using SWIM248 mode iterator. - (*mulv4): Use x86_64_sext_operand for operand[2] constraint. - (*mulvhi4): mark operand[1] as commutative. Use nonimmediate_operand - for operand[2] constraint. - (*mulv4_1): Merge with *mulvhi4_1 using SWI248 mode iterator. - -2015-05-13 Jakub Jelinek - - PR middle-end/66133 - * omp-low.c (expand_omp_taskreg): For GIMPLE_OMP_TASK expansion, - make sure it is never noreturn, even when the task body does not - return. - (lower_omp_taskreg): For GIMPLE_OMP_TASK, emit GIMPLE_OMP_CONTINUE - right before GIMPLE_OMP_RETURN. - (make_gimple_omp_edges): Accept GIMPLE_OMP_CONTINUE as ->cont - for GIMPLE_OMP_TASK. For GIMPLE_OMP_RETURN corresponding to - GIMPLE_OMP_TASK add an EDGE_ABNORMAL edge from entry to exit. - -2015-05-13 Kyrylo Tkachov - - * params.def (PARAM_MAX_POW_SQRT_DEPTH): New param. - * tree-ssa-math-opts.c: Include params.h - (pow_synth_sqrt_info): New struct. - (representable_as_half_series_p): New function. - (get_fn_chain): Likewise. - (print_nested_fn): Likewise. - (dump_fractional_sqrt_sequence): Likewise. - (dump_integer_part): Likewise. - (expand_pow_as_sqrts): Likewise. - (gimple_expand_builtin_pow): Use above to attempt to expand - pow as series of square roots. Removed now unused variables. - -2015-05-13 Uros Bizjak - - * config/alpha/alpha.c (alpha_emit_set_long_const): Remove c1 argument. - (alpha_extract_integer): Redeclare as static HOST_WIDE_INT. - Remove *p0 and *p1 arguments. Rewrite function. - (alpha_legitimate_constant_p): Update call to alpha_extract_integer. - (alpha_split_const_mov): Update calls to alpha_extract_integer and - alpha_emit_set_long_const. - (alpha_expand_epilogue): Update calls to alpha_emit_set_long_const. - (alpha_output_mi_thunk_osf): Ditto. - * config/alpha/alpha.md (movti): Do not check operands[1] - for CONST_DOUBLE. - -2015-05-13 Richard Biener - - PR tree-optimization/66129 - * tree-vect-slp.c (vect_build_slp_tree): Make sure all ops are - commutative. - (vect_schedule_slp_instance): Fix typo. - -2015-05-13 David Malcolm - - * common.opt (fdump-internal-locations): New option. - * input.c: Include diagnostic-core.h. - (get_end_location): New function. - (write_digit): New function. - (write_digit_row): New function. - (dump_location_range): New function. - (dump_labelled_location_range): New function. - (dump_location_info): New function. - * input.h (dump_location_info): New prototype. - * toplev.c (compile_file): Handle flag_dump_locations. - -2015-05-13 Eric Botcazou - - * gimple-expr.h (is_gimple_constant): Reorder. - * tree-ssa-propagate.c (before_dom_children): Use inline accessor. - -2015-05-13 Segher Boessenkool - - * combine.c (simplify_set): When generating a CC set, if the - source already is in the correct mode, do not wrap it in a - compare. Simplify the rest of that code. - -2015-05-13 Richard Biener - - PR tree-optimization/66123 - * tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found - a taken edge. - -2015-05-13 Richard Biener - - PR middle-end/66110 - * alias.c (alias_sets_conflict_p): Do not treat has_zero_child - specially. - * Makefile.in (dfp.o-warn): Add -Wno-strict-aliasing. - -2015-05-13 Michael Haubenwallner - - * doc/install.texi: Bump latest automake 1.11 version to 1.11.6. - * aclocal.m4: Regenerated with automake-1.11.6. - -2015-05-13 Tom de Vries - - PR tree-optimization/66010 - * gimplify.h (gimplify_va_arg_internal): Remove declaration. - * gimplify.c (gimplify_va_arg_internal): Remove and inline into ... - * tree-stdarg.c (expand_ifn_va_arg_1): ... here. Choose between lval - and rval based on do_deref. - -2015-05-13 Ilya Enkovich - - PR target/65103 - * config/i386/i386.c (ix86_rtx_costs): We want to propagate - link time constants into adress expressions and therefore set - their cost to 0. - -2015-05-13 Jakub Jelinek - - PR target/66112 - * config/i386/i386.md (mulv4, umulv4, *umulv4): - Use SWI248 iterator instead of SWI. - (*mulv4_1): Use SWI48 instead of SWI. Simplify output template. - Use eq_attr "alternative" "0" instead of match_test in - length_immediate attribute computation. - (*mulvhi4, *mulvhi4_1): New define_insns. - - PR target/66112 - * internal-fn.c (get_min_precision): Use UNSIGNED instead of - SIGNED to get precision of non-negative value. - -2015-05-13 Ilya Enkovich - - PR target/66048 - * function.c (diddle_return_value_1): Process bounds first. - * config/i38/i386.c (ix86_function_value_regno_p): Add bnd1 - register. - -2015-05-13 Thomas Preud'homme - - PR rtl-optimization/64616 - * loop-invariant.c (can_move_invariant_reg): New. - (move_invariant_reg): Call above new function to decide whether - instruction can just be moved, skipping creation of temporary - register. - -2015-05-12 Jan Hubicka - - PR target/pr66047.c - * i386.c (ix86_function_sseregparm): Only return -1 if local function - with implied regparm is called from -mno-sse function. - (init_cumulative_args): Output error if ix86_function_sseregparm - return -1 and SSE register would be needed. - (function_arg_advance_32): Likewise. - (function_arg_32): Likewise. - * i386.h (ix86_args): Add decl field. - -2015-05-12 Jan Hubicka - - PR ipa/65873 - * ipa-inline.c (can_inline_edge_p): Allow early inlining of always - inlines across optimization boundary. - -2015-05-12 Jason Merrill - - * config/mmix/mmix.c, config/msp430/msp430.c: Add space between - string literal and macro name. - -2015-05-12 Steve Ellcey - - * config/mips/mips.c (mips_print_operand): Remove 'y' operand code. - * config/mips/mips.md (lsa): Rewrite with shift operator. - * config/mips/predicates.md (const_immlsa_operand): Remove log call. - -2015-05-12 David Malcolm - - * doc/invoke.texi (Warning Options): Add -Wmisleading-indentation. - (-Wmisleading-indentation): New option. - * Makefile.in (C_COMMON_OBJS): Add c-family/c-indentation.o. - -2015-05-12 Uros Bizjak - - * config/alpha/alpha.h (TARGET_SUPPORTS_WIDE_INT): New define. - * config/alpha/alpha.c (alpha_rtx_costs): Handle CONST_WIDE_INT. - (alpha_extract_integer): Ditto. - (alpha_legitimate_constant_p): Ditto. - (alpha_split_tmode_pair): Ditto. - (alpha_preferred_reload_class): Add CONST_WIDE_INT. - (alpha_expand_mov): Ditto. - (print_operand): Remove handling of 'H' modifier. - : Remove CONST_DOUBLE handling. - (summarize_insn): Handle CONST_WIDE_INT. - * config/alpha/alpha.md (*andsi_internal): Remove H constraint. - (anddi3): Ditto. - (movti): Handle CONST_WIDE_INT. - * config/alpha/constraints.md ('H'): Remove constraint definition. - ('G'): Do not match MODE_FLOAT class. - * config/alpha/predicates.md (const0_operand): Also match - const_wide_int. - (non_add_const_operand): Ditto. - (non_zero_const_operand): Ditto. - (some_operand): Ditto. - (input_operand): Ditto. Handle CONST_WIDE_INT. - (and_operand): Do not match const_double. - * config/alpha/sync.md (fetchop_constr): Remove H constraint. - -2015-05-12 Andrew MacLeod - - PR target/65697 - * coretypes.h (MEMMODEL_SYNC, MEMMODEL_BASE_MASK): New macros. - (enum memmodel): Add SYNC_{ACQUIRE,RELEASE,SEQ_CST}. - * tree.h (memmodel_from_int, memmodel_base, is_mm_relaxed, - is_mm_consume,is_mm_acquire, is_mm_release, is_mm_acq_rel, - is_mm_seq_cst, is_mm_sync): New accessor functions. - * builtins.c (expand_builtin_sync_operation, - expand_builtin_compare_and_swap): Use MEMMODEL_SYNC_SEQ_CST. - (expand_builtin_sync_lock_release): Use MEMMODEL_SYNC_RELEASE. - (get_memmodel, expand_builtin_atomic_compare_exchange, - expand_builtin_atomic_load, expand_builtin_atomic_store, - expand_builtin_atomic_clear): Use new accessor routines. - (expand_builtin_sync_synchronize): Use MEMMODEL_SYNC_SEQ_CST. - * optabs.c (expand_compare_and_swap_loop): Use MEMMODEL_SYNC_SEQ_CST. - (maybe_emit_sync_lock_test_and_set): Use new accessors and - MEMMODEL_SYNC_ACQUIRE. - (expand_sync_lock_test_and_set): Use MEMMODEL_SYNC_ACQUIRE. - (expand_mem_thread_fence, expand_mem_signal_fence, expand_atomic_load, - expand_atomic_store): Use new accessors. - * emit-rtl.c (need_atomic_barrier_p): Add additional enum cases. - * tsan.c (instrument_builtin_call): Update check for memory model beyond - final enum to use MEMMODEL_LAST. - * c-family/c-common.c: Use new accessor for memmodel_base. - * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap): Use new - accessors. - * config/aarch64/atomics.md (atomic_load,atomic_store, - arch64_load_exclusive, aarch64_store_exclusive, - mem_thread_fence, *dmb): Likewise. - * config/alpha/alpha.c (alpha_split_compare_and_swap, - alpha_split_compare_and_swap_12): Likewise. - * config/arm/arm.c (arm_expand_compare_and_swap, - arm_split_compare_and_swap, arm_split_atomic_op): Likewise. - * config/arm/sync.md (atomic_load, atomic_store, - atomic_loaddi): Likewise. - * config/i386/i386.c (ix86_destroy_cost_data, ix86_memmodel_check): - Likewise. - * config/i386/sync.md (mem_thread_fence, atomic_store): Likewise. - * config/ia64/ia64.c (ia64_expand_atomic_op): Add new memmodel cases and - use new accessors. - * config/ia64/sync.md (mem_thread_fence, atomic_load, - atomic_store, atomic_compare_and_swap, - atomic_exchange): Use new accessors. - * config/mips/mips.c (mips_process_sync_loop): Likewise. - * config/pa/pa.md (atomic_loaddi, atomic_storedi): Likewise. - * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier, - rs6000_post_atomic_barrier): Add new cases. - (rs6000_expand_atomic_compare_and_swap): Use new accessors. - * config/rs6000/sync.md (mem_thread_fence): Add new cases. - (atomic_load): Add new cases and use new accessors. - (store_quadpti): Add new cases. - * config/s390/s390.md (mem_thread_fence, atomic_store): Use new - accessors. - * config/sparc/sparc.c (sparc_emit_membar_for_model): Use new accessors. - * doc/extend.texi: Update docs to indicate 16 bits are used for memory - model, not 8. - -2015-05-12 Jan Hubicka - - * ipa-devirt.c (type_with_linkage_p): New function. - (type_in_anonymous_namespace_p): Move here from tree.c; assert that - type has linkage. - (odr_type_p): Move here from ipa-utils.h; use type_with_linkage_p. - (can_be_name_hashed_p): Simplify. - (hash_odr_name): Check that type has linkage before checking if it is - anonymous. - (types_same_for_odr): Likewise. - (odr_name_hasher::equal): Likewise. - (odr_subtypes_equivalent_p): Likewise. - (warn_types_mismatch): Likewise. - (get_odr_type): Likewise. - (odr_types_equivalent_p): Fix checking of TYPE_MAIN_VARIANT. - * ipa-utils.h (odr_type_p): Move offline. - * tree.c (need_assembler_name_p): Fix handling of types - without linkages. - (type_in_anonymous_namespace_p): Move to ipa-devirt.c - -2015-05-12 David Malcolm - - * timevar.c (timevar_enable): Delete in favor of... - (g_timer): New global. - (struct timevar_def): Move to timevar.h inside class timer. - (struct timevar_stack_def): Likewise. - (timevars): Delete global in favor of field "m_timevars" within - class timer in timevar.h - (stack): Likewise, in favor of field "m_stack". - (unused_stack_instances): Likewise, in favor of field - "m_unused_stack_instances". - (start_time): Likewise, in favor of field "m_start_time". - (get_time): Eliminate check for timevar_enable. - (timer::timer): New function, built from part of timevar_init. - (timevar_init): Rewrite idempotency test from using - "timevar_enable" bool to using dynamic allocation of "g_timer". - Move rest of implementation into timer's constructor. - (timevar_push_1): Rename to... - (timer::push): ...this, adding "m_" prefixes to variables that - are now fields of timer. - (timevar_pop_1): Likewise, rename to... - (timer::pop): ...this, and add "m_" prefixes. - (timevar_start): Replace test for "timevar_enable" with one for - "g_timer", and move bulk of implementation to... - (timer::start): ...here, adding "m_" prefixes. - (timevar_stop): Likewise, from here... - (timer::stop): ...to here. - (timevar_cond_start): Likewise, from here... - (timer::cond_start): ...to here. - (timevar_cond_stop): Likewise, from here... - (timer::cond_stop): ...to here. - (validate_phases): Rename to... - (timer::validate_phases): ...this, and add "m_" prefixes. Make - locals "total" and "tv" const. - (timevar_print): Rename to... - (timer::print): ...this, and add "m_" prefixes. Make locals - "total" and "tv" const. Eliminate test for timevar_enable. - * timevar.h (timevar_enable): Eliminate. - (g_timer): New declaration. - (timevar_push_1): Eliminate. - (timevar_pop_1): Eliminate. - (timevar_print): Eliminate. - (class timer): New class. - (timevar_push): Rewrite to use g_timer. - (timevar_pop): Likewise. - * toplev.c (toplev::~toplev): Likewise. - -2015-05-12 Richard Earnshaw - - * arm-protos.h (arm_sched_autopref): Delete. - (tune_params): Re-organize, use enums for flag values. - (FUSE_OPS): New macro. - * arm.c (ARM_PREFETCH_NOT_BENEFICIAL): Update. - (ARM_PREFETCH_BENEFICIAL): Likewise. - (ARM_FUSE_NOTHING, ARM_FUSE_MOVW_MOVT): Delete. - (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune) - (arm_xscale_tune, arm_9e_tune, arm_marvell_pj4_tune) - (arm_v6t2_tune, arm_cortex_tune, arm_cortex_a8_tune) - (arm_cortex_a7_tune, arm_cortex_a15_tune, arm_cortex_a53_tune) - (arm_cortex_a57_tune, arm_xgene1_tune, arm_cortex_a5_tune) - (arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune) - (arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune): Use new - format. - (arm_option_override, thumb2_reorg, arm_print_tune_info) - (aarch_macro_fusion_pair_p): Update uses of current_tune. - * arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Likewise. - -2015-05-12 Sandra Loosemore - - * config/nios2/nios2.md (trap, ctrapsi4): Use "trap" instead of - "break". - -2015-05-12 Chung-Lin Tang - Sandra Loosemore - - * config/nios2/nios2.h (enum reg_class): Add IJMP_REGS enum - value. - (REG_CLASS_NAMES): Add "IJMP_REGS". - (REG_CLASS_CONTENTS): Add new entry for IJMP_REGS. - * config/nios2/nios2.md (indirect_jump,*tablejump): Adjust to - use new "c" register constraint. - * config/nios2/constraint.md (c): New register constraint - corresponding to IJMP_REGS. - -2015-05-12 Segher Boessenkool - - * config/rs6000/rs6000.md (*rotlsi3_internal4, *rotlsi3_internal5, - *rotlsi3_internal6, rlwinm, 5 unnamed define_insns, and 6 - define_splits): Delete, revamp, transmogrify into ... - (*rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2, - *ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2, - *lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2): - New. - -2015-05-12 Segher Boessenkool - - * config/rs6000/rs6000.md (rs6000_adjust_atomic_subword): Use - gen_ashlsi3 and gen_andsi3 instead of gen_rlwinm. - -2015-05-12 Segher Boessenkool - - * config/rs6000/rs6000.md (extzv): FAIL for SImode. - (extzvsi_internal, *extzvsi_internal1, *extzvsi_internal2, - *rotlsi3_internal7le, *rotlsi3_internal7be, *rotlsi3_internal8le, - *rotlsi3_internal8be, *rotlsi3_internal9le, *rotlsi3_internal9be, - *rotlsi3_internal10le, *rotlsi3_internal10be, *rotlsi3_internal11le, - *rotlsi3_internal11be, *rotlsi3_internal12le, *rotlsi3_internal12be, - *lshiftrt_internal1le, *lshiftrt_internal1be, *lshiftrt_internal2le, - *lshiftrt_internal2be, *lshiftrt_internal3le, *lshiftrt_internal3be, - *lshiftrt_internal4le, *lshiftrt_internal4be, *lshiftrt_internal5le, - *lshiftrt_internal5be, *lshiftrt_internal5le, *lshiftrt_internal5be, - *rotldi3_internal7le, *rotldi3_internal7be, *rotldi3_internal8le, - *rotldi3_internal8be, *rotldi3_internal9le, *rotldi3_internal9be, - *rotldi3_internal10le, *rotldi3_internal10be, *rotldi3_internal11le, - *rotldi3_internal11be, *rotldi3_internal12le, *rotldi3_internal12be, - *rotldi3_internal13le, *rotldi3_internal13be, *rotldi3_internal14le, - *rotldi3_internal14be, *rotldi3_internal15le, *rotldi3_internal15be, - and 30 corresponding splitters): Delete. - -2015-05-12 Segher Boessenkool - - * config/rs6000/rs6000.md (define_split for bswaphi): Don't use - zero_extract. - -2015-05-12 Segher Boessenkool - - * combine.c (recog_for_combine_1): New function, factored out - from recog_for_combine. - (change_zero_ext): New function. - (recog_for_combine): If recog fails, try again with the pattern - modified by change_zero_ext; if that still fails, restore the - pattern. - -2015-05-12 Segher Boessenkool - - * combine.c (get_undo_marker): New function. - (undo_to_marker): New function, largely factored out from ... - (undo_all): ... this. Adjust. - -2015-05-12 Richard Biener - - PR tree-optimization/66101 - * tree-ssa-dce.c (remove_dead_stmt): Properly mark loops for - fixup if we turn a loop exit edge to a fallthru edge. - -2015-05-12 Richard Biener - - PR tree-optimization/37021 - * tree-vectorizer.h (struct _slp_tree): Add two_operators flag. - (SLP_TREE_TWO_OPERATORS): New define. - * tree-vect-slp.c (vect_create_new_slp_node): Initialize - SLP_TREE_TWO_OPERATORS. - (vect_build_slp_tree_1): Allow two mixing plus/minus in an - SLP node. - (vect_build_slp_tree): Adjust. - (vect_analyze_slp_cost_1): Likewise. - (vect_schedule_slp_instance): Vectorize mixing plus/minus by - emitting two vector stmts and mixing the results. - -2015-05-12 Dominik Vogt - - * call.c (print_z_candidates): Remove dead code. - -2015-05-12 Andreas Krebbel - - * config/s390/2827.md: Split zEC12_simple into zEC12_simple_int - and zEC12_simple_fp. - * config/s390/s390.c (s390_issue_rate): Set issue rate for zEC12 - to 1. - -2015-05-12 Tom de Vries - - PR tree-optimization/66010 - * gimplify.c (gimplify_modify_expr): Handle new do_deref argument of - ifn_va_arg. - * gimplify.h (gimplify_va_arg_internal): Remove loc parameter. - (gimplify_va_arg_internal): Remove loc parameter. Assert no array-typed - va_lists are passed, and remove corresponding handling. - (gimplify_va_arg_expr): Only take address of ap if necessary. Add - do_deref argument to ifn_va_arg. - * tree-stdarg.c (expand_ifn_va_arg_1): Handle new do_deref argument of - ifn_va_arg. - -2015-05-12 Kyrylo Tkachov - - PR target/65955 - * config/arm/arm.md (movcond_addsi): Check that operands[2] is a - REG before taking its REGNO. - -2015-05-12 Thomas Preud'homme - - * combine.c i(set_nonzero_bits_and_sign_copies): Split code updating - rsp->sign_bit_copies and rsp->nonzero_bits into ... - (update_rsp_from_reg_equal): This. Also use REG_EQUAL note on src if - present to get more accurate information about the number of sign bit - copies and non zero bits. - -2015-05-12 Richard Biener - - * tree-vect-slp.c (vect_build_slp_tree_1): For BB vectorization - do not allow unrolling. - -2015-05-11 Richard Henderson - - * config/i386/i386-modes.def (CCP): New. - * config/i386/i386.c (put_condition_code): Handle it. - (ix86_match_ccmode, ix86_cc_modes_compatible): Likewise. - -2015-05-11 Richard Henderson - - * target.def (md_asm_clobbers): Replace with... - (md_asm_adjust): this. - * tm.texi.in (TARGET_MD_ASM_CLOBBERS): Remove. - (TARGET_MD_ASM_ADJUST): New. - * tm.texi: Rebuild. - * hooks.c (hook_tree_tree_tree_tree_3rd_identity): Remove. - * hooks.h (hook_tree_tree_tree_tree_3rd_identity): Remove. - * system.h (TARGET_MD_ASM_CLOBBERS): Poison. - - * cfgexpand.c (check_operand_nalternatives): Accept vector of - constraints instead of lists of outputs and inputs. - (expand_asm_stmt): Save and restore input_location around the - body of the function. Move asm data into vectors instead of - building tree lists. Generate cleanup sequences as needed, - rather than waiting til the end. Use new md_asm_adjust hook. - - * config/vxworks.c: Include vec.h before target.h. - * gimple.c: Likewise. - * incpath.c: Likewise. - * mode-switching.c: Likewise. - - * config/cris/cris.c (cris_md_asm_clobbers): Convert to... - (cris_md_asm_adjust): this. - (TARGET_MD_ASM_CLOBBERS): Remove. - (TARGET_MD_ASM_ADJUST): New. - * config/i386/i386.c (ix86_md_asm_clobbers): Convert to... - (ix86_md_asm_adjust): this. - (TARGET_MD_ASM_CLOBBERS): Remove. - (TARGET_MD_ASM_ADJUST): New. - * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): Convert to... - (mn10300_md_asm_adjust): this. - (TARGET_MD_ASM_CLOBBERS): Remove. - (TARGET_MD_ASM_ADJUST): New. - * config/rs6000/rs6000.c (rs6000_md_asm_clobbers): Convert to... - (rs6000_md_asm_adjust): this. - (TARGET_MD_ASM_CLOBBERS): Remove. - (TARGET_MD_ASM_ADJUST): New. - * config/visium/visium.c (visium_md_asm_clobbers): Convert to... - (visium_md_asm_adjust): this. - (TARGET_MD_ASM_CLOBBERS): Remove. - (TARGET_MD_ASM_ADJUST): New. - -2015-05-11 Richard Henderson - - * gimplify.c (gimplify_asm_expr): Set gimple_asm_volatile_p - if noutputs is zero. - * cfgexpand.c (expand_asm_stmt): Use gimple_asm_volatile_p unchanged. - - * cfgexpand.c (expand_asm_operands): Merge into... - (expand_asm_stmt): ... here. - - * cfgexpand.c (expand_asm_operands): Don't call - resolve_asm_operand_names. - * stmt.c (resolve_asm_operand_names): Clarify block comment. - -2015-05-11 Jan Hubicka - - * dwarf2out.c (gen_member_die): Sanity check that we access - TYPE_MAIN_VARIANT for TYPE_METHODS. - * function.c (use_register_for_decl): Look for TYPE_MAIN_VARIANT when - checking TYPE_METHODS. - * tree.c (free_lang_data_in_type): See TYPE_METHODS to error_mark_node - if non-null. - (build_distinct_type_copy): Clear TYPE_METHODS. - (verify_type_variant): Verify that TYPE_METHODS is NULL for variants. - (verify_type): Allow TYPE_METHODS to be error_mark_node. - * tree.def: Update docs of TYPE_STUB_DECL and TYPE_METHODS. - -2015-05-11 Eric Botcazou - - * emit-rtl.c (emit_pattern_after_setloc): Add missing guard. - (emit_pattern_before_setloc): Likewise. - -2015-05-11 Richard Sandiford - - * genrecog.c (match_pattern_1): Expect the pattern to be a SEQUENCE - for define_peephole2s. - (get_peephole2_pattern): New function. - (main): Use it. Call validate_pattern. - -2015-05-11 Pitchumani Sivanupandi - - * config/avr/avr.c (avr_hard_regno_call_part_clobbered): Use - LAST_CALLEE_SAVED_REG instead of hard-coded register number. - (Last callee saved reg is different for AVR_TINY architecture) - -2015-05-11 Uros Bizjak - - * config/i386/i386.c (ix86_loop_unroll_adjust): Use PATTERN (insn) - when looking for memory references. - -2015-05-11 Alexander Monakov - - PR target/65753 - * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow PIC sibcalls - via function pointers. - -2015-05-11 Alexander Monakov - - * calls.c (prepare_call_address): Transform PLT call to GOT lookup and - indirect call by forcing address into a pseudo with -fno-plt. - * common.opt (flag_plt): New option. - * doc/invoke.texi (Code Generation Options): Add -fno-plt. - ([-fno-plt]): Document. - -2015-05-11 Markus Trippelsdorf - - PR bootstrap/66105 - * config/rs6000/option-defaults.h: Add space between string literal - and macro name. - -2015-05-11 Thomas Preud'homme - - * gcc.target/arm/pr64616.c: Test dump rather than assembly to work - accross ARM targets. - -2015-05-11 Christian Bruel - - * config/arm/arm-protos.h (thumb_code, thumb1_code): Remove. - * config/arm/vxworks.h (thumb_code): Replace with TARGET_THUMB. - -2015-05-11 Richard Sandiford - - PR rtl-optimization/66076 - * rtlanal.c (generic_subrtx_iterator ::add_single_to_queue): - Don't grow the heap array if it is already big enough from a - previous iteration. - -2015-05-11 Christian Bruel - - * config/arm/arm-protos.h (arm_declare_function_name): Declare. - (is_called_in_ARM_mode): Remove. - * config/arm/arm.c (is_called_in_ARM_mode): Declare static bool. - (arm_declare_function_name): Moved from from ARM_DECLARE_FUNCTION_NAME. - * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Call - arm_declare_function_name. - -2015-05-11 Christian Bruel - - * config/arm/arm.c (arm_option_override): Reoganized and split into : - (arm_option_params_internal); New function. - (arm_option_check_internal): New function. - (arm_option_override_internal): New function. - (thumb_code, thumb1_code): Remove. - * config/arm/arm.h (TREE_TARGET_THUMB, TREE_TARGET_THUMB1): New macros. - (TREE_TARGET_THUM2, TREE_TARGET_ARM): Likewise. - (thumb_code, thumb1_code): Remove. - * config/arm/arm.md (is_thumb, is_thumb1): Check TARGET flag. - -2015-05-11 Uros Bizjak - - * config/alpha/alpha.c (alpha_emit_set_const_1) - (alpha_emit_set_long_const, alpha_extract_integer) - (alpha_legitimate_constant_p, alpha_split_const_mov) - (alpha_expand_block_clear, alpha_expand_zap_mask, print_operand): - [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code. - (alpha_emit_set_const_1): Change "(HOST_WIDE_INT) 1" to - HOST_WIDE_INT_1U. - * config/alpha/predicates.md (mode_mask_operand): Do not match - const_double RTX. - [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code. - * config/alpha/alpha.md (abstf, *abstf_internal, UNSPEC_ZAP splitter): - Change "(HOST_WIDE_INT) 1" to HOST_WIDE_INT_1U. - [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code. - (*negtf_internal): Use gen_int_mode instead of immed_double_const. - -2015-05-11 Jakub Jelinek - - PR target/65780 - * config/s390/linux.h (TARGET_BINDS_LOCAL_P): Define to - default_binds_local_p_2. - * config/arm/linux-elf.h (TARGET_BINDS_LOCAL_P): Likewise. - * config/aarch64/aarch64-linux.h (TARGET_BINDS_LOCAL_P): Likewise. - -2015-05-09 Jan Hubicka - - * tree.c (verify_type_variant): Check TYPE_VALUES_RAW and TYPE_PRECISION - -2015-05-09 Jan Hubicka - - Patch by Richard Biener - * coverage.c (coverage_obj_init): Delay building of type variant - until the type is finished. - -2015-05-09 Jan Hubicka - - * ipa-devirt.c (warn_types_mismatch): Do not ICE when warning about - mismatch between C and C++ type; compoare correctly ARG_TYPES - for non-prototypes and output correctly parameter index for METHOD_TYPE. - (odr_types_equivalent_p): Fix wording of warning about attributes; - it is OK to match prototype and non-prototype. - -2015-05-09 Jan Hubicka - - * tree.c (free_lang_data_in_type): Free TREE_PURPOSE of - TYPE_ARG_TYPES list. - (verify_type): Permit non-NULL TREE_PURPOSE in non-LTO builds. - * tree.def (FUNCTION_TYPE): Document TREE_PURPOSE in TYPE_ARG_TYPES - -2015-05-09 Jan Hubicka - - * tree.c (verify_type): Verify TYPE_BINFO and TYPE_VALUES_RAW. - * tree.h (is_lang_specific): Constify. - -2015-05-09 Marc Glisse - - PR tree-optimization/64454 - * tree-vrp.c (extract_range_from_binary_expr_1) : - Rewrite. - -2015-05-08 Jason Merrill - - * bitmap.c, c/c-aux-info.c, cfg.c, cfghooks.c, cgraph.c, - config/aarch64/aarch64.md config/alpha/vms.h, config/darwin.c, - config/darwin.h, config/darwin9.h, config/elfos.h, - config/i386/bsd.h, config/ia64/ia64.c, config/lm32/lm32.h, - config/microblaze/microblaze.h, config/mips/mips.h, - config/mmix/mmix.c, config/msp430/msp430.c, config/nios2/nios2.h, - config/nvptx/nvptx.c, config/nvptx/nvptx.h, config/pa/pa.c, - config/pa/pa.h, config/rs6000/rs6000.c, config/rs6000/sysv4.h, - config/rs6000/xcoff.h, config/rx/rx.h, config/s390/s390.h, - config/sparc/sol2.h, config/sparc/sparc.h, config/visium/visium.h, - cppbuiltin.c, defaults.h, doc/invoke.texi, dwarf2cfi.c, - dwarf2out.c, final.c, gcc.c, gcov-dump.c, gcov.c, ipa-cp.c, - ipa-inline.c, ipa-polymorphic-call.c, ipa-profile.c, ipa-prop.c, - ira-color.c, ira.c, loop-doloop.c, loop-iv.c, mcf.c, - modulo-sched.c, predict.c, profile.c, stor-layout.c, toplev.c, - tree-ssa-reassoc.c, value-prof.c, wide-int-print.cc: Add space - between string literal and macro name. - -2015-05-08 Trevor Saunders - - * jump.c: Change argument types to rtx_insn *. - * rtl.h: Adjust. - -2015-05-08 Trevor Saunders - - * lra-constraints.c: Change argument type to rtx_insn *. - -2015-05-08 Trevor Saunders - - * df-problems.c: Change argument type to rtx_insn *. - -2015-05-08 Trevor Saunders - - * combine.c: Change argument type to rtx_insn *. - -2015-05-08 Trevor Saunders - - * rtl.h: Adjust. - * rtlanal.c: Change argument type to rtx_insn *. - -2015-05-08 Trevor Saunders - - * sched-deps.c: Change argument types to rtx_insn *. - * sched-int.h: Adjust. - -2015-05-08 Trevor Saunders - - * dwarf2cfi.c: Change argument type to rtx_insn *. - -2015-05-08 Trevor Saunders - - * ira.c (decrease_live_ranges_number): Changetype of local - variable to rtx_insn *. - * recog.c: Change argument types to rtx_insn *. - * recog.h: Adjust. - -2015-05-08 Trevor Saunders - - * reorg.c: Change argument types to rtx_insn *. - -2015-05-08 Trevor Saunders - - * ira-color.c: Change argument types to rtx_insn *. - * lra-eliminations.c: Likewise. - * ira.h: Adjust. - -2015-05-08 Trevor Saunders - - * gcse.c: Change argument types to rtx_insn *. - -2015-05-08 Trevor Saunders - - * cse.c (cse_change_cc0_mode): Change argument type to rtx_insn *. - -2015-05-08 Trevor Saunders - - * emit-rtl.c (emit_debug_insn_before): Change argument type to - rtx_insn *. - * rtl.h: Adjust. - -2015-05-08 Trevor Saunders - - * emit-rtl.c (emit_note_before): Change argument type to rtx_insn *. - * rtl.h: Adjust. - -2015-05-08 Trevor Saunders - - * emit-rtl.c (emit_note_after): Change argument type to rtx_insn *. - * rtl.h: Adjust. - -2015-05-08 Trevor Saunders - - * emit-rtl.c (prev_cc0_setter): Change argument type to rtx_insn *. - * rtl.h: Adjust. - -2015-05-08 Trevor Saunders - - * rtlanal.c (noop_move_p): Change argument type to rtx_insn *. - * rtl.h: Adjust. - -2015-05-08 Trevor Saunders - - * rtlanal.c (add_shallow_copy_of_reg_note): Change argument type - to rtx_insn *. - * rtl.h: Adjust. - -2015-05-08 Trevor Saunders - - * rtlanal.c (remove_reg_equal_equiv_notes): Change argument type - to rtx_insn *. - * rtl.h: Likewise. - -2015-05-08 Trevor Saunders - - * except.c (can_nonlocal_goto): Change type of argument to - rtx_insn *. - * rtl.h: Adjust. - -2015-05-08 Trevor Saunders - - * rtlanal.c (computed_jump_p): Cange argument type to rtx_insn *. - * rtl.h: Adjust. - -2015-05-08 Trevor Saunders - - * rtlanal.c (in_insn_list_p): Renamed from in_expr_list_p. - * cfgrtl.c (can_delete_label_p): Adjust. - * rtl.h: likewise. - -2015-05-08 Trevor Saunders - - * reorg.c (stop_search_p): Change argument to rtx_insn *. - -2015-05-08 Trevor Saunders - - * except.c (make_reg_eh_region_note): Change argument to - rtx_insn *. - (make_reg_eh_region_note_nothrow_nononlocal): Likewise. - * except.h: Adjust. - -2015-05-08 Trevor Saunders - - * mode-switching.c (commit_mode_sets): Change type of local - variable from rtx to rtx_insn *. - -2015-05-08 Jim Wilson - - * doc/install.texi (--enable-languages): Add missing jit and lto info. - Add ^ to grep command. - * doc/match-and-simplify.texi (GIMPLE API): Add missing fourth tree - arg to last gimple_simplify declaration. Add missing gimple_build - declaration for built-in function case with four tree args. - -2015-05-08 Gregor Richards - Szabolcs Nagy - - * config/mips/linux.h (MUSL_DYNAMIC_LINKER32): Define. - (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERN32): Define. - (GNU_USER_DYNAMIC_LINKERN32): Update. - -2015-05-08 Richard Biener - - PR tree-optimization/66036 - * tree-vect-data-refs.c (vect_compute_data_ref_alignment): - Handle strided group loads. - (vect_verify_datarefs_alignment): Likewise. - (vect_enhance_data_refs_alignment): Likewise. - (vect_analyze_group_access): Likewise. - (vect_analyze_data_ref_access): Likewise. - (vect_analyze_data_ref_accesses): Likewise. - * tree-vect-stmts.c (vect_model_load_cost): Likewise. - (vectorizable_load): Likewise. - -2015-05-08 Segher Boessenkool - - * config/rs6000/rs6000.md: Require operand inequality in one - of the peepholes. - -2015-05-08 Richard Sandiford - Franz Sirl - - * config/i386/i386.md (_ldx, *_ldx): Remove mode - from (set ...). - * config/rx/rx.md (movdi, movdf): Likewise. - Likewise for define_peephole2s. - -2015-05-08 Alan Lawrence - - * config/aarch64/arm_neon.h (vceq_s64, vceq_u64, vceqz_s64, vceqz_u64, - vcge_s64, vcge_u64, vcgez_s64, vcgt_s64, vcgt_u64, vcgtz_s64, vcle_s64, - vcle_u64, vclez_s64, vclt_s64, vclt_u64, vcltz_s64, vtst_s64, - vtst_u64): Rewrite using gcc vector extensions. - -2015-05-08 Alan Lawrence - - * config/aarch64/aarch64-simd.md (aarch64_vcond_internal, - vcond, vcondu): Add DImode variant. - -2015-05-08 Alan Lawrence - - * optabs.c (vector_compare_rtx): Handle RTL operands having VOIDmode. - -2015-05-08 Szabolcs Nagy - - * config/glibc-stdint.h (OPTION_MUSL): Define. - (INT_FAST16_TYPE, INT_FAST32_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE): - Change the definition based on OPTION_MUSL for 64 bit targets. - * config/linux.h (OPTION_MUSL): Redefine. - * config/alpha/linux.h (OPTION_MUSL): Redefine. - * config/rs6000/linux.h (OPTION_MUSL): Redefine. - * config/rs6000/linux64.h (OPTION_MUSL): Redefine. - -2015-05-08 Gregor Richards - Szabolcs Nagy - - * config.gcc (LIBC_MUSL): New tm_defines macro. - * config/linux.h (OPTION_MUSL): Define. - (MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER32,) - (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32,) - (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,) - (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,) - (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define. - * config/linux.opt (mmusl): New option. - * doc/invoke.texi (GNU/Linux Options): Document -mmusl. - * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*. - (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*. - * configure: Regenerate. - -2015-05-08 H.J. Lu - Bernhard Reutner-Fischer - - PR target/48904 - * config.gcc (x86_64-*-knetbsd*-gnu): Add i386/knetbsd-gnu64.h. - * config/i386/knetbsd-gnu64.h: New file. - -2015-05-08 Marek Polacek - - PR c/64918 - * doc/invoke.texi: Document -Woverride-init-side-effects. - -2015-05-07 Marek Polacek - - PR c/65179 - * doc/invoke.texi: Document -Wshift-negative-value. - -2015-05-06 Aditya Kumar - - * gcov-tool.c (do_merge): Refactore to remove int ret. - * ipa-icf.c (sem_item::hash_referenced_symbol_properties): Change - !type == FUNC to type != FUNC. - * reload.h (struct target_reload): Changee to type of - x_spill_indirect_levels from bool to unsigned char. - -2015-05-07 Richard Sandiford - - * rtl.h (always_void_p): New function. - * gengenrtl.c (always_void_p): Likewise. - (genmacro): Don't add a mode parameter to gen_rtx_foo if rtxes - with code foo are always VOIDmode. - * genemit.c (gen_exp): Update gen_rtx_foo calls accordingly. - * builtins.c, caller-save.c, calls.c, cfgexpand.c, combine.c, - compare-elim.c, config/aarch64/aarch64.c, - config/aarch64/aarch64.md, config/alpha/alpha.c, - config/alpha/alpha.md, config/arc/arc.c, config/arc/arc.md, - config/arm/arm-fixed.md, config/arm/arm.c, config/arm/arm.md, - config/arm/ldrdstrd.md, config/arm/thumb2.md, config/arm/vfp.md, - config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c, - config/c6x/c6x.md, config/cr16/cr16.c, config/cris/cris.c, - config/cris/cris.md, config/darwin.c, config/epiphany/epiphany.c, - config/epiphany/epiphany.md, config/fr30/fr30.c, config/frv/frv.c, - config/frv/frv.md, config/h8300/h8300.c, config/i386/i386.c, - config/i386/i386.md, config/i386/sse.md, config/ia64/ia64.c, - config/ia64/vect.md, config/iq2000/iq2000.c, - config/iq2000/iq2000.md, config/lm32/lm32.c, config/lm32/lm32.md, - config/m32c/m32c.c, config/m32r/m32r.c, config/m68k/m68k.c, - config/m68k/m68k.md, config/mcore/mcore.c, config/mcore/mcore.md, - config/mep/mep.c, config/microblaze/microblaze.c, - config/mips/mips.c, config/mips/mips.md, config/mmix/mmix.c, - config/mn10300/mn10300.c, config/msp430/msp430.c, - config/nds32/nds32-memory-manipulation.c, config/nds32/nds32.c, - config/nds32/nds32.md, config/nios2/nios2.c, config/nvptx/nvptx.c, - config/pa/pa.c, config/pa/pa.md, config/rl78/rl78.c, - config/rs6000/altivec.md, config/rs6000/rs6000.c, - config/rs6000/rs6000.md, config/rs6000/vector.md, - config/rs6000/vsx.md, config/rx/rx.c, config/rx/rx.md, - config/s390/s390.c, config/s390/s390.md, config/sh/sh.c, - config/sh/sh.md, config/sh/sh_treg_combine.cc, - config/sparc/sparc.c, config/sparc/sparc.md, config/spu/spu.c, - config/spu/spu.md, config/stormy16/stormy16.c, - config/tilegx/tilegx.c, config/tilegx/tilegx.md, - config/tilepro/tilepro.c, config/tilepro/tilepro.md, - config/v850/v850.c, config/v850/v850.md, config/vax/vax.c, - config/visium/visium.c, config/xtensa/xtensa.c, cprop.c, dse.c, - expr.c, gcse.c, ifcvt.c, ira.c, jump.c, lower-subreg.c, - lra-constraints.c, lra-eliminations.c, lra.c, postreload.c, ree.c, - reg-stack.c, reload.c, reload1.c, reorg.c, sel-sched.c, - var-tracking.c: Update calls accordingly. - -2015-05-07 Segher Boessenkool - - PR middle-end/192 - PR middle-end/54303 - * varasm.c (function_mergeable_rodata_prefix): New function. - (mergeable_string_section): Use it. - (mergeable_constant_section): Use it. - -2015-05-07 Jeff Law - - PR target/39726 - * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New - simplifier to narrow arithmetic. - * generic-match-head.c: (types_match, single_use): New functions. - * gimple-match-head.c: (types_match, single_use): New functions. - -2015-05-07 Venkataramanan Kumar - - * combine.c (make_compound_operation): Remove checks for PLUS/MINUS - rtx type. - -2015-05-07 Richard Biener - - PR tree-optimization/66002 - * passes.def: Schedule another pass_merge_phi after ifcombine, right - before phiopt. - -2015-05-07 Marek Polacek - Martin Uecker - - * doc/invoke.texi: Document -fsanitize=bounds-strict. - * flag-types.h (enum sanitize_code): Add SANITIZE_BOUNDS_STRICT, or it - into SANITIZE_NONDEFAULT. - * opts.c (common_handle_option): Handle -fsanitize=bounds-strict. - -2015-05-07 Uros Bizjak - - PR target/66015 - * config/alpha/alpha.c (alpha_override_options_after_change): New. - (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New. - (alpha_override_options): Move align_loops, align_jumps and - align_functions handling into alpha_override_options_after_change. - -2015-05-06 Sandra Loosemore - Chris Jones - Joshua Conner - - * config/arm/unknown-elf.h (STARTFILE_SPEC): Add conditional - linking of crtfastmath.o. - * config/arm/linux-eabi.h (STARTFILE_SPEC): Likewise. - -2015-05-06 Segher Boessenkool - - * config/rs6000/rs6000.md (cstore4_signed_imm): New expander. - (cstore4_unsigned_imm): New expander. - (cstore4): Remove empty constraint strings. Use the new - expanders. - -2015-05-06 Yvan Roux - - PR target/64208 - * config/arm/iwmmxt.md ("*iwmmxt_arm_movdi"): Cleanup redundant - alternatives. - -2015-05-06 Szabolcs Nagy - - * config/aarch64/geniterators.sh: Use standard BRE in sed. - -2015-05-06 Alan Modra - - PR target/66033 - * config/rs6000/rs6000.md (nop): Use an unspec pattern. - (UNSPEC_NOP): Define. - (reload_vsx_from_gpr): Add missing DONE. - (reload_gpr_from_vsx): Likewise. - * config/rs6000/vsx.md (vsx_mul_v2di): Likewise. - (vsx_div_v2di, vsx_udiv_v2di): Likewise. - -2015-05-06 Christian Bruel - - PR target/66015 - * config/aarch64/aarch64.c (aarch64_override_options): Move align_loops, - align_jumps, align_functions into aarch64_override_options_after_change. - -2015-05-06 Richard Biener - - * tree-vect-slp.c (vect_supported_load_permutation_p): Use - vect_transform_slp_perm_load to check if we support a permutation - for basic-block vectorization. - -2015-05-06 Nick Clifton - - * config/rl78/rl78.c (need_to_save): Save register 22 if it is - used, even if it is not being used as a frame pointer. - -2015-05-05 Jason Merrill - - * dwarf2out.c (gen_member_die): Don't emit anything for an - anonymous class constructor. - -2015-05-05 David Malcolm - - * auto-profile.c (afdo_find_equiv_class): Fix indentation so - that it reflects the block structure. - (afdo_propagate_edge): Likewise. - (afdo_calculate_branch_prob): Likewise. - (afdo_annotate_cfg): Likewise. - * cfgcleanup.c (equal_different_set_p): Likewise. - (try_crossjump_to_edge): Likewise. - * cgraph.c (cgraph_node::verify_node): Likewise. - * cgraphunit.c (expand_all_functions): Likewise. - * config/i386/i386.c (ix86_expand_copysign): Likewise. - (exact_dependency_1): Likewise. - * dwarf2asm.c (dw2_output_indirect_constants): Likewise. - * dwarf2out.c (tree_add_const_value_attribute_for_decl): Likewise. - * gensupport.c (process_define_subst): Likewise. - * lto-wrapper.c (merge_and_complain): Likewise. - * tree-if-conv.c (if_convertible_bb_p): Likewise. - * tree-ssa-loop-prefetch.c (find_or_create_group): Likewise. - * tree-ssa-tail-merge.c (gsi_advance_fw_nondebug_nonlocal): Likewise. - * tree-vect-data-refs.c (vect_grouped_load_supported): Likewise. - * tree-vect-loop.c (vectorizable_reduction): Likewise. - * tree-vect-slp.c (vect_transform_slp_perm_load): Likewise. - * tree-vect-stmts.c (vectorizable_shift): Likewise. - * tree-vrp.c (vrp_finalize): Likewise. - * tree.c (variably_modified_type_p): Likewise. - -2015-05-05 Jack Howarth - - * config.gcc: Use darwin9.h, darwin10.h and darwin12.h - on darwin12 and later. - * config/darwin12.h (LINK_GCC_C_SEQUENCE_SPEC): Add - file to pass -rdynamic on darwin12 and later. - * config/darwin.opt (rdynamic): Add. - -2015-05-05 Uros Bizjak - - * doc/extend.texi (C Extensions): Update menu for moved Variable - Attributes and Type Attributes sections. - -2015-05-05 Uros Bizjak - - PR target/65990 - * config/i386/i386.c (ix86_parse_stringop_strategy_string): Error out - if rep_8byte stringop strategy was specified for 32-bit target. - -2015-05-05 Ilya Tocar - - PR target/65915 - * config/i386/i386.md (vector convert to float spltiter): Check for - xmm16+, when splitting scalar float conversion. - * config/i386/sse.md (sse2_cvtsi2sd): Support EVEX version. - -2015-05-05 Nick Clifton - - * config/msp430/msp430-opts.h (enum msp430_regions): New. - * config/msp430/msp430.c (msp430_override_options): Complain if - -mcode-region or -mdata-region is used on a non MSP430X. - (msp430_section_attr): New function. Checks lower, upper and - either attributes. - (msp430_attribute_table): Add lower, upper and either. - (gen_prefix): New function. Generates a prefix for a section - name. - (msp430_select_section): New function - handles the choice of - section for an object. Takes into account memory region - attributes and options. - (msp430_function_section): Use gen_prefix. - (TARGET_SECTION_TYPE_FLAGS): Define. - (msp430_section_type_flags): New function. - (TARGET_ASM_UNIQUE_SECTION): Define. - (msp430_unique_section): New function. - (msp430_output_aligned_decl_common): New function. - (msp430_do_not_relax_short_jumps): New function. - * config/msp430/msp430.h (USE_SELECT_SECTION_FOR_FUNCTIONS): - Define. - (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define. - * config/msp430/msp430-protos.h - (msp430_do_not_relax_short_jumps): New prototype. - (msp430_output_aligned_decl_common): New prototype. - * config/msp430/msp430.md (length): New attribute. - (cbranchhi4_real): If msp430_do_not_relax_short_jumps is true - then use a long code sequence for short jumps. - * config/msp430/msp430.opt (mcode-region): New. - (mdata-region): New. - * doc/invoke.texi: Document new options. - * doc/extend.texi: Document new attributes. - -2015-05-05 Matthew Wahab - - * config/aarch64-protos.h (struct cpu_branch_cost): New. - (tune_params): Add field branch_costs. - (aarch64_branch_cost): Declare. - * config/aarch64.c (generic_branch_cost): New. - (generic_tunings): Set field cpu_branch_cost to generic_branch_cost. - (cortexa53_tunings): Likewise. - (cortexa57_tunings): Likewise. - (thunderx_tunings): Likewise. - (xgene1_tunings): Likewise. - (aarch64_branch_cost): Define. - * config/aarch64/aarch64.h (BRANCH_COST): Redefine. - -2015-05-05 Uros Bizjak - - * config/i386/i386.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1 - and HOST_WIDE_INT_1U instead of (unsigned HOST_WIDE_INT) 1. - * config/i386/i386.md: Ditto. - * config/i386/winnt.c: Ditto. - -2015-05-05 Matthew Wahab - - * doc/extend.texi (__atomic Builtins): Move implementation details - to the end of the description, rewrite opening paragraphs, state - difference with __sync builtins, state C11/C++11 assumptions, - weaken itemized descriptions, add explanation of memory model - behaviour, expand description of compare-exchange, simplify text. - -2015-05-05 Renlin Li - - * config/aarch64/aarch64.md (add3): Use mov when allowed. - -2015-05-05 Yvan Roux - - * config/aarch64/aarch64-elf-raw.h (CA53_ERR_843419_SPEC): Define. - (LINK_SPEC): Include CA53_ERR_843419_SPEC. - * config/aarch64/aarch64-linux.h (CA53_ERR_843419_SPEC): Define. - (LINK_SPEC): Include CA53_ERR_843419_SPEC. - * config/aarch64/aarch64.opt (mfix-cortex-a53-843419): New option. - * configure: Regenerate. - * configure.ac: Add --enable-fix-cortex-a53-843419 option. - * doc/install.texi (aarch64*-*-*): Document new - --enable-fix-cortex-a53-843419 option. - * doc/invoke.texi (AArch64 Options): Document -mfix-cortex-a53-843419 - and -mno-fix-cortex-a53-843419 options. - -2015-05-05 Uros Bizjak - - PR target/65871 - * config/i386/i386.md (*bmi_andn__ccno): New pattern. - -2015-05-04 Jan Hubicka - - * tree.c (verify_type): Check various uses of TYPE_MAXVAL; - fix overactive TYPE_MIN_VALUE check and add FIXME for type - compatibility problems. - -2015-05-04 Ajit Agarwal - - * config/microblaze/microblaze.md (cbranchsi4): Added immediate - constraints. - (cbranchsi4_reg): New. - * config/microblaze/microblaze.c - (microblaze_expand_conditional_branch_reg): New. - * config/microblaze/microblaze-protos.h - (microblaze_expand_conditional_branch_reg): New prototype. - -2015-05-04 Ajit Agarwal - - * config/microblaze/microblaze.md (peephole2): New. - -2015-05-04 Jeff Law - - Revert: - 2015-05-04 Jeff Law - - * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New - simplifier to narrow arithmetic. - * generic-match-head.c: (types_match, single_use): New functions. - * gimple-match-head.c: (types_match, single_use): New functions. - -2015-05-04 Kaz Kojima - - PR target/65987 - * config/sh/sh.c (output_far_jump): Take into account crossing jumps. - (split_branches): Likewise. - -2015-05-04 Sandra Loosemore - - * common.opt (fdelete-null-pointer-checks): Init to -1. - * config/nios2/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define to - override flag_delete_null_pointer_checks default. - * doc/invoke.texi (-fdelete-null-pointer-checks): Clarify - behavior re address zero. Better document target-specific behavior. - (-fisolate-errneous-paths-dereference): Mention relationship to - -fdelete-null-pointer-checks. - -2015-05-04 Jakub Jelinek - - PR tree-optimization/65984 - * ubsan.c: Include tree-cfg.h. - (instrument_bool_enum_load): Use stmt_ends_bb_p instead of - stmt_could_throw_p test, rename can_throw variable to ends_bb. - -2015-05-04 Uros Bizjak - - * config/i386/i386.c: Change GET_CODE (...) == CONST_DOUBLE check - to CONST_DOUBLE_P predicate. - (standard_sse_constant_p): Return 0 for !TARGET_SSE. - (ix86_legitimate_constant_p) : For 32bit targets, - allow only operands that satisfy standard_sse_constant_p predicate. - * config/i386/i386.md: Change GET_CODE (...) == CONST_DOUBLE check - to CONST_DOUBLE_P predicate. - -2015-05-04 Jeff Law - - * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New - simplifier to narrow arithmetic. - * generic-match-head.c: (types_match, single_use): New functions. - * gimple-match-head.c: (types_match, single_use): New functions. - -2015-05-04 Andreas Tobler - - * config/arm/arm.c: Restore bootstrap. - -2015-05-04 Uros Bizjak - - * config/i386/i386.h (TARGET_SUPPORTS_WIDE_INT): New define. - * config/i386/i386.c (ix86_legitimate_constant_p): Handle TImode - as CONST_WIDE_INT, not CONST_DOUBLE. - (ix86_cannot_force_const_mem): Handle CONST_WIDE_INT. - (output_pic_addr_const): Do not handle VOIDmode CONST_DOUBLEs. - (ix86_find_base_term): Do not check for CONST_DOUBLE. - (ix86_print_operand): Do not handle non-FPmode CONST_DOUBLEs. - (ix86_build_signbit_mask): Rewrite using wide ints. - (ix86_split_to_parts) [HOST_BITS_PER_WIDE_INT < 64]: Remove. - (ix86_rtx_costs): Handle CONST_WIDE_INT. - (find_constant): Ditto. - * config/i386/i386.md (bts, btr, btc peepholes): Rewrite - using gen_int_mode. - * config/i386/predicates.md (x86_64_immediate_operand) - : Remove HOST_BITS_PER_WIDE_INT == 32 code. - (x86_64_zext_immediate_operand): Remove CONST_DOUBLE handling. - : Remove HOST_BITS_PER_WIDE_INT == 32 code. - (const0_operand): Also match const_wide_int. - (constm1_operand): Ditto. - (const1_operand): Ditto. - -2015-05-04 Richard Biener - - PR tree-optimization/65965 - * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Split - store groups at gaps. - -2015-05-04 Richard Biener - - PR tree-optimization/65935 - * tree-vect-slp.c (vect_build_slp_tree): If we swapped operands - then make sure to apply that swapping to the IL. - -2015-05-04 Jakub Jelinek - - * Makefile.in (PATCHLEVEL_c): New variable. - (DATESTAMP_s, REVISION_s): If PATCHLEVEL_c is not 0, - expand the same way as if DEVPHASE_c was non-empty. - -2015-05-04 Kai Tietz - - PR target/65559 - * lto-wrapper.c (run_gcc): Open filename - in binary-mode. - -2015-05-03 Sandra Loosemore - - * doc/extend.texi (Variable Attributes, Type Attributes): Move - sections up in file, to immediately after the Function Attributes - section. - -2015-05-02 Jan Hubicka - - * tree.c (verify_type): Check various uses of TYPE_MINVAL. - -2015-05-02 Trevor Saunders - - * tree-outof-ssa.c (emit_partition_copy): Return rtx_insn *. - (insert_partition_copy_on_edge): Adjust. - (insert_rtx_to_part_on_edge): Likewise. - (insert_part_to_rtx_on_edge): Likewise. - -2015-05-02 Trevor Saunders - - * function.c (set_return_jump_label): Change type of argument to - rtx_insn *. - * function.h (set_return_jump_label): Adjust. - -2015-05-02 Trevor Saunders - - * reload.h (struct reg_equivs_t): Change type of init to - rtx_insn *. - * ira.c (fix_reg_equiv_init): Adjust. - * reload1.c (eliminate_regs_1): Likewise. - (init_eliminable_invariants): Likewise. - -2015-05-02 Trevor Saunders - - * cselib.c (fp_setter_insn): Take a rtx_insn *. - * cselib.h (fp_setter_insn): Adjust. - -2015-05-02 Trevor Saunders - - * recog.c (struct validate_replace_src_data): Change type of - insn field to rtx_insn *. - (validate_replace_src_group): Change type of argument to rtx_insn *. - * recog.h (validate_replace_src_group): Adjust. - -2015-05-02 Trevor Saunders - - * haifa-sched.c: Change the type of some variables to rtx_insn *. - * sched-deps.c: Likewise. - * sched-int.h: Likewise. - * sched-rgn.c: Likewise. - * sel-sched.c: Likewise. - -2015-05-02 Trevor Saunders - - to rtx_insn *. - * config/i386/i386.c: Change the type of some arguments to - rtx_insn *. - * config/arm/arm.c: Likewise. - -2015-05-02 Trevor Saunders - - * lra-constraints.c: Change type of some arguments to rtx_insn *. - -2015-05-02 Trevor Saunders - - * regcprop.c (kill_autoinc_value): Change type of argument to - rtx_insn *. - -2015-05-02 Trevor Saunders - - * genrecog.c (print_subroutine): Adjust. - * recog.c (get_bool_attr_mask_uncached): Likewise. - * recog.h (struct recog_data_d): Change the type of insn to - rtx_insn *. - -2015-05-02 Trevor Saunders - - * dwarf2cfi.c (add_cfi_insn): Change type to rtx_insn *. - -2015-05-02 Trevor Saunders - - * df-problems.c (df_set_note): Change type of argument to - rtx_insn *. - -2015-05-02 Trevor Saunders - - * builtins.c (expand_builtin_trap): Change type of local - variable to rtx_insn *. - (add_sched_insns_for_speculation): Likewise. - (ix86_emit_save_regs): Likewise. - (get_scratch_register_on_entry): Likewise. - (ix86_emit_restore_reg_using_pop): Likewise. - (ix86_emit_leave): Likewise. - (ix86_emit_restore_regs_using_mov): Likewise. - (ix86_expand_epilogue): Likewise. - Likewise. - (rl78_alloc_physical_registers_umul): Likewise. - * cselib.c (discard_useless_locs): Likewise. - (cselib_invalidate_regno): Likewise. - (cselib_invalidate_mem): Likewise. - * function.c (expand_function_start): Likewise. - (emit_use_return_register_into_block): Likewise. - * gcse.c: Likewise. - * haifa-sched.c (ok_for_early_queue_removal): Likewise. - * ifcvt.c (noce_get_alt_condition): Likewise. - * loop-doloop.c (doloop_condition_get): Likewise. - * lra-constraints.c (inherit_in_ebb): Likewise. - * modulo-sched.c (sms_schedule_by_order): Likewise. - * recog.c (next_insn_tests_no_inequality): Likewise. - * reorg.c (emit_delay_sequence): Likewise. - (update_reg_dead_notes): Likewise. - (fix_reg_dead_note): Likewise. - (fill_slots_from_thread): Likewise. - (delete_computation): Likewise. - -2015-05-01 Sandra Loosemore - - * doc/extend.texi (Variable Attributes): Add menu and proper - @nodes to subsections. Move Microsoft Windows attributes to - their own subsection. - (Type Attributes): Reorganize introduction to remove duplicate - list of attributes. Add menu and proper @nodes to subsections. - Alphabetize the main table of common attributes. - -2015-05-01 Rasmus Villemoes - - * match.pd: New simplification patterns. - (x + (x & 1)) -> ((x + 1) & ~1) - (x & ~(x & y)) -> ((x & ~y)) - (x | ~(x | y)) -> ((x | ~y)) - -2015-05-01 Kyrylo Tkachov - - * target.def (attribute_table): Mention that struct attribute_spec - is defined in tree-core.h rather than tree.h - * doc/tm.texi: Regenerate. - -2015-05-01 Richard Sandiford - - * genrecog.c (test): Rename to rtx_test. Update rest of file - accordingly. - -2015-05-01 Andreas Schwab - - PR translation/65959 - * params.h (DEFPARAM): Rename msgid to nocmsgid. - -2015-05-01 Wilco Dijkstra - - * config/aarch64/aarch64-protos.h (tune_params): - Add min_div_recip_mul_sf and min_div_recip_mul_df fields. - * config/aarch64/aarch64.c (aarch64_min_divisions_for_recip_mul): - Return value depending on target. - (generic_tunings): Initialize new target settings. - (cortexa53_tunings): Likewise. - (cortexa57_tunings): Likewise. - (thunderx_tunings): Likewise. - (xgene1_tunings): Likewise. - -2015-05-01 Wilco Dijkstra - - * config/arm/aarch-cost-tables.h (cortexa53_extra_costs): - Make Cortex-A53 shift costs more accurate. - -2015-05-01 Kyrylo Tkachov - - * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle FLOAT and - UNSIGNED_FLOAT. - -2015-05-01 Wilco Dijkstra - - * config/aarch64/aarch64.c (aarch64_rtx_costs): - Calculate cost of op0 and op1 in PLUS and MINUS cases. - -2015-05-01 Kyrylo Tkachov - - * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case): - Add cost of op0 in the compare-with-fpzero case. - -2015-04-30 David Malcolm - - * builtins.c (fold_builtin_1): Remove spurious second - semicolon. - * cgraph.h (symtab_node::get_availability): Likewise. - * opts.c (common_handle_option): Remove spurious second semicolon. - * tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise. - * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Likewise. - -2015-04-30 Caroline Tice - - PR gcov-profile/65929 - * config/elfos.h (ASM_DECLARE_COLD_FUNCTION_NAME): New macro definition. - (ASM_DECLARE_COLD_FUNCTION_SIZE): New macro definition. - * doc/tm.texi.in (ASM_DECLARE_COLD_FUNCTION_NAME): Document new macro. - (ASM_DECLARE_COLD_FUNCTION_SIZE): Document new macro. - * doc/tm.texi: Regenerate. - * final.c (final_scan_insn): Use ASM_DECLARE_COLD_FUNCTION_NAME - instead of ASM_DECLARE_FUNCTION_NAME for cold partition name. - * varasm.c (assemble_end_function): Use ASM_DECLARE_COLD_FUNCTION_SIZE - instead of ASM_DECLARE_FUNCTION_SIZE for cold partition size. - -2015-04-30 Marek Polacek - - * varasm.c (handle_cache_entry): Fix logic. - -2015-04-30 Kyrylo Tkachov - - * config/aarch64/aarch64.md (*extr5_insn_alt): New pattern. - (*extrsi5_insn_uxtw_alt): Likewise. - * config/aarch64/aarch64.c (aarch64_extr_rtx_p): New function. - (aarch64_rtx_costs, IOR case): Use above to properly cost extr - operations. - -2015-04-30 Kyrylo Tkachov - - * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle pattern for - fabd in ABS case. - -2015-04-30 Kyrylo Tkachov - - * config/aarch64/aarch64.md - (*eor_one_cmpl_3_alt): New pattern. - (*eor_one_cmpl_sidi3_alt_ze): Likewise. - * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle MVN-shift - appropriately. Handle alternative EON form. - -2015-04-30 Renlin Li - - * config/aarch64/aarch64-simd.md (vec_shr): Defined as an unspec. - * config/aarch64/iterators.md (unspec): Add UNSPEC_VEC_SHR. - -2015-04-30 Jan Hubicka - - PR ipa/65873 - * ipa-inline.c (can_inline_edge_p): It is safe to inline across - -fstrict-aliasing boundaries. - -2015-04-30 Kyrylo Tkachov - - * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Handle MNEG - and [SU]MNEGL patterns. - -2015-04-30 Kyrylo Tkachov - - * config/aarch64/aarch64.c (aarch64_shift_p): New function. - (aarch64_rtx_mult_cost): Update comment to reflect that it also handles - combined arithmetic-shift ops. Properly handle all shift and extend - operations that can occur in combination with PLUS/MINUS. - Rename maybe_fma to compound_p. - (aarch64_rtx_costs): Use aarch64_shift_p when costing compound - arithmetic and shift operations. - -2015-04-30 Kyrylo Tkachov - - * config/aarch64/aarch64.c (aarch64_rtx_costs): Use extend_arith - rather than arith_shift cost when costing ADD/MINUS of an - extended value. - -2015-04-30 Jan Hubicka - - PR lto/65948 - * ipa-devirt.c (odr_types_equivalent_p): NULLPTR_TYPE is equivalent - to itself. - -2015-04-30 Richard Sandiford - - * genrecog.c (simplify_tests): Check that CONST_INT and XWINT tests - are for the same position. - -2015-04-29 Aditya Kumar - - * tree-vectorizer.c (set_uid_loop_bbs): New. Factored out of - vectorize_loops. - (vectorize_loops): Use it. - -2015-04-29 Jan Hubicka - - * ipa-devirt.c (odr_subtypes_equivalent_p): Compare TYPE_NAME only - for aggregate types. - (register_odr_type): Be ready for MAIN_VARIANT of ODR type - type to be non_ODR. - * tree.c (need_assembler_name_p): Compute mangled name for - non-fundamental types and integer types. - -2015-04-29 Mikhail Maltsev - - * dojump.c (do_compare_rtx_and_jump): Use std::swap instead of - manual swaps. - * expr.c (expand_expr_real_2): Likewise. - -2015-04-29 Jan Hubicka - - * tree.c (build_common_builtin_nodes): Do not build - __builtin_alloca_with_align as equivalent of library alloca. - -2015-04-29 Jan Hubicka - - * dwarf2out.c (gen_type_die_with_usage): Call verify_type. - * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Do not produce - bugus variants. - * tree.c: Include print-tree.h and ipa-utils.h - (free_lang_data_in_type): Clear TYPE_VFIELD leaked by C FE. - (free_lang_data_in_cgraph): Call verify_type. - (verify_type_variant): New function. - (verify_type): New function. - * tree.h (verify_type): Declare. - -2015-04-29 Steve Ellcey - - * config/mips/mips-cpus.def: (mips4): Change default processor - from PROCESSOR_R8000 to PROCESSOR_R10000. - -2015-04-29 Petar Jovanovic - - * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Fix the macro to use - la/jalr instead of jal. - -2015-04-29 Uros Bizjak - - PR target/65871 - * config/i386/i386.md (*bmi_bextr__ccz): New pattern. - (*bmi2_bzhi_3_1_ccz): Ditto. - (setcc+movzbl peephole2): Check also clobbered reg. - (setcc+andl peephole2): Ditto. - -2015-04-29 Thomas Schwinge - - PR libgomp/65099 - * config/nvptx/mkoffload.c (target_ilp32): New variable. - (main): Set it depending on "-foffload-abi=[...]". - (compile_native, main): Use it to pass "-m32" or "-m64" to the - compiler. - -2015-04-29 Alan Lawrence - - PR target/65770 - * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane, - vec_store_lanesci_lane, vec_store_lanesxi_lane): - Flip lane index back at assembly time for bigendian. - -2015-04-29 Thomas Schwinge - - * tree.h (OMP_STANDALONE_CLAUSES): New macro. - * gimplify.c (gimplify_omp_workshare): Use it. - -2015-04-29 Richard Sandiford - - * Makefile.in (build/genrecog.o): Depend on inchash.h. - (build/genrecog$(build_exeext): Depend on build/hash-table.o and - build/inchash.o - * genrecog.c: Rewrite most of the code except for the third page. - -2015-04-29 Richard Sandiford - - * inchash.h, inchash.c: Include bconfig.h for build objects. - * Makefile.in (build/inchash.o): New rule. - -2015-04-29 Yvan Roux - - PR target/65924 - * config/arm/thumb2.md (*thumb2_addsi3_compare0_scratch): Fix operand - number in type attribute expression. - -2015-04-29 Richard Sandiford - - * loop-iv.c (canon_condition): Generalize to all types of integer - constant. - -2015-04-29 Bernhard Reuther-Fischer - - * gimple-walk.c: Prune duplicate or unneeded includes. - (walk_gimple_asm): Only call parse_input_constraint or - parse_output_constraint if their findings are used. - Honour parse_input_constraint and parse_output_constraint - result. - -2015-04-29 Alan Lawrence - - * config/arm/neon.md (vec_shl, vec_shr): Remove. - -2015-04-29 Tom de Vries - - PR tree-optimization/65893 - * passes.def (pass_all_optimizations): Move pass_stdarg to after - pass_dce. - -2015-04-29 Richard Biener - - * tree-vect-data-refs.c (vect_analyze_group_access): Properly - compute GROUP_SIZE for basic-block SLP. - * tree-vect-slp.c (vect_get_place_in_interleaving_chain): Properly - take into account gaps. - (vect_get_mask_element): Properly reject references to previous - vectors. - (vect_transform_slp_perm_load): Likewise. - -2015-04-29 Christian Bruel - - PR target/64835 - * config/i386/i386.c (ix86_default_align): New function. - (ix86_override_options_after_change): Call ix86_default_align. - (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New hook. - (ix86_override_options_after_change): New function. - -2015-04-28 Jeff Law - - * tree-ssa-dom.c (record_equality); Fix comment typos. - -2015-04-28 Tom de Vries - - PR tree-optimization/65887 - * gimplify.c (gimplify_modify_expr): Remove ifn_va_arg ap fixup. - -2015-04-28 Sandra Loosemore - - * doc/extend.texi (Declaring Attributes of Functions): Split into - subsections by target. Alphabetize the table of common attributes. - Rewrite some of the introductory text to reflect the new structure. - Update some cross-references to point to the new subsections. - (Attribute Syntax): Put paragraph about "__" naming here. Remove - duplicate copies in the discussion of function, label, and type - attributes. - -2015-04-28 Dominique d'Humieres - - PR bootstrap/65910 - * varasm.c (assemble_end_function): Guard ASM_DECLARE_FUNCTION_SIZE. - -2015-04-28 Jason Merrill - - PR c++/65734 - * stor-layout.c (layout_type): Layout the TYPE_MAIN_VARIANT. - (finalize_type_size): Respect TYPE_USER_ALIGN. - (layout_type) [ARRAY_TYPE]: Likewise. - -2015-04-28 Yvan Roux - - * config/arm/arm.md (*arm_movt): Fix type attribute. - (*cmpsi_shiftsi): Likewise. - (*cmpsi_shiftsi_swp): Likewise. - (*movsicc_insn): Likewise. - (*cond_move): Likewise. - (*if_plus_move): Likewise. - (*if_move_plus): Likewise. - (*if_arith_move): Likewise. - (*if_move_arith): Likewise. - (*if_shift_move): Likewise. - (*if_move_shift): Likewise. - (*arm_movtas_ze): Likewise. - * config/arm/thumb2.md (*thumb2_movsicc_insn): Fix alternative - redundancy and type attribute. - (*thumb2_movsi_insn): Fix type attribute. - (*thumb2_addsi_short): Likewise. - (thumb2_addsi3_compare0): Likewise. - (*thumb2_addsi3_compare0_scratch): Merge alternatives and fix - attributes accordingly. - -2015-04-28 Markus Trippelsdorf - - PR other/65911 - * function.c (pad_to_arg_alignment): Add parentheses. - -2015-04-28 Uros Bizjak - - * config/frv/frv.h (CRT_GET_RFIB_DATA): Move definition to - libgcc/config/frv/elf-lib.h. - -2015-04-28 Tom de Vries - - * tree-call-cdce.c: Fix example in header comment. - -2015-04-28 Richard Biener - - PR tree-optimization/62283 - * tree-vect-slp.c (vect_build_slp_tree): When the SLP build - fails fatally and we are vectorizing a basic-block simply - cause the child to be constructed piecewise. - (vect_analyze_slp_cost_1): Adjust. - (vect_detect_hybrid_slp_stmts): Likewise. - (vect_bb_slp_scalar_cost): Likewise. - (vect_get_constant_vectors): For piecewise constructed - constants place them after the last def. - (vect_get_slp_defs): Adjust. - * tree-vect-stmts.c (vect_is_simple_use): Detect in-BB - externals for basic-block vectorization. - -2015-04-28 Thomas Preud'homme - - PR target/63503 - * config.gcc: Add cortex-a57-fma-steering.o to extra_objs for - aarch64-*-*. - * config/aarch64/t-aarch64: Add a rule for cortex-a57-fma-steering.o. - * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Define. - (AARCH64_TUNE_FMA_STEERING): Likewise. - * config/aarch64/aarch64-cores.def: Set - AARCH64_FL_USE_FMA_STEERING_PASS for cores with dynamic steering of - FMUL/FMADD instructions. - * config/aarch64/aarch64.c (aarch64_register_fma_steering): Declare. - (aarch64_override_options): Include cortex-a57-fma-steering.h. Call - aarch64_register_fma_steering () if AARCH64_TUNE_FMA_STEERING is true. - * config/aarch64/cortex-a57-fma-steering.h: New file. - * config/aarch64/cortex-a57-fma-steering.c: Likewise. - -2015-04-28 Richard Sandiford - - * gensupport.c (std_preds): Add missing codes to address_operand entry. - -2015-04-28 Richard Biener - - PR tree-optimization/65851 - * tree-ssa-ccp.c (set_lattice_value): Perform a meet when - changing CONSTANT to CONSTANT non-copy. Get new_val by reference. - (ccp_lattice_meet): Remove stray argument. Use operand_equal_p - rather than simple_cst_equal as the latter doesn't handle COMPLEX_CST. - (ccp_visit_phi_node): Adjust. - (evaluate_stmt): For simplifications to SSA names return its - lattice value if that isn't VARYING. Return immediately when - simplified to a constant. - (visit_assignment): Adjust. - (ccp_visit_stmt): Likewise. - -2015-04-28 Tom de Vries - - PR tree-optimization/65818 - * tree-stdarg.c (expand_ifn_va_arg_1): Ensure that side-effects are - evaluated. - -2015-04-27 Trevor Saunders - - * calls.c (save_fixed_argument_area): Don't check - ARGS_GROW_DOWNWARD with the preprocessor. - (restore_fixed_argument_area): Likewise. - (mem_overlaps_already_clobbered_arg_p): Likewise. - (check_sibcall_argument_overlap): Likewise. - (expand_call): Likewise. - (emit_library_call_value_1): Likewise. - (store_one_arg): Likewise. - * function.c (assign_parms): Likewise. - (locate_and_pad_parm): Likewise. - (pad_to_arg_alignment): Likewise. - * targhooks.c (std_gimplify_va_arg_expr): Likewise. - -2015-04-27 Trevor Saunders - - * config/pa/pa.h (ARGS_GROW_DOWNWARD): Define to 1. - * defaults.h (ARGS_GROW_DOWNWARD): Define it to 0 by default. - * calls.c (save_fixed_argument_area): Don't chekc if - ARGS_GROW_DOWNWARD is defined. - (restore_fixed_argument_area): Likewise. - (mem_overlaps_already_clobbered_arg_p): Likewise. - (check_sibcall_argument_overlap): Likewise. - (expand_call): Likewise. - (emit_library_call_value_1): Likewise. - (store_one_arg): Likewise. - * function.c (assign_parms): Likewise. - (locate_and_pad_parm): Likewise. - (pad_to_arg_alignment): Likewise. - * targhooks.c (std_gimplify_va_arg_expr): Likewise. - -2015-04-27 Trevor Saunders - - * defaults.h (gen_epilogue): New function. - * alias.c (init_alias_analysis): don't check if HAVE_epilogue is - defined. - * cfgrtl.c (cfg_layout_finalize): Likewise. - * df-scan.c: Likewise. - * function.c (thread_prologue_and_epilogue_insns): Likewise. - (reposition_prologue_and_epilogue_notes): Likewise. - * reorg.c (find_end_label): Likewise. - * toplev.c: Likewise. - -2015-04-27 Trevor Saunders - - * bb-reorder.c (HAVE_return): Don't check if its undefined. - * defaults.h (gen_simple_return): New function. - (gen_simple_return): Likewise. - (HAVE_return): Add default definition to false. - (HAVE_simple_return): Likewise. - * cfgrtl.c (force_nonfallthru_and_redirect): Remove checks if - HAVE_return and HAVE_simple_return are defined. - * function.c (gen_return_pattern): Likewise. - (convert_jumps_to_returns): Likewise. - (thread_prologue_and_epilogue_insns): Likewise. - * reorg.c (find_end_label): Likewise. - (dbr_schedule): Likewise. - * shrink-wrap.c: Likewise. - * shrink-wrap.h: Likewise. - -2015-04-27 Trevor Saunders - - * defaults.h (EPILOGUE_USES): Add default definition of false. - * df-scan.c (EPILOGUE_USES): Remove check if its undefined. - * resource.c (init_resource_info): Likewise. - -2015-04-27 Trevor Saunders - - * defaults.h (PCC_BITFIELD_TYPE_MATTERS): Add default definition - to false. - * dwarf2out.c (field_byte_offset): REmove check if - PCC_BITFIELD_TYPE_MATTERS is defined. - * stor-layout.c (layout_decl): Likewise. - (update_alignment_for_field): Likewise. - (place_field): Likewise. - -2015-04-27 Trevor Saunders - - * defaults.h (HARD_REGNO_RENAME_OK): Add default definition to - true. - * regrename.c (check_new_reg_p): Remove check if - HARD_REGNO_RENAME_OK is defined. - * sel-sched.c (sel_hard_regno_rename_ok): Likewise. - -2015-04-27 Trevor Saunders - - * calls.c (prepare_call_address): Remove ifdef NO_FUNCTION_CSE. - * cse.c (fold_rtx): Likewise. - * config/alpha/alpha.h (NO_FUNCTION_CSE): Define to 1. - * config/arc/arc.h (NO_FUNCTION_CSE): Likewise. - * config/avr/avr.h (NO_FUNCTION_CSE): Likewise. - * config/cr16/cr16.h (NO_FUNCTION_CSE): Likewise. - * config/epiphany/epiphany.h (NO_FUNCTION_CSE): Likewise. - * config/frv/frv.h (NO_FUNCTION_CSE): Likewise. - * config/h8300/h8300.h (NO_FUNCTION_CSE): Likewise. - * config/i386/i386.h (NO_FUNCTION_CSE): Likewise. - * config/ia64/ia64.h (NO_FUNCTION_CSE): Likewise. - * config/lm32/lm32.h (enum reg_class) (NO_FUNCTION_CSE): - * Likewise. - * config/m32r/m32r.h (NO_FUNCTION_CSE): Likewise. - * config/mep/mep.h (NO_FUNCTION_CSE): Likewise. - * config/mn10300/mn10300.h (NO_FUNCTION_CSE): Likewise. - * config/nds32/nds32.h (NO_FUNCTION_CSE): Likewise. - * config/nios2/nios2.h (NO_FUNCTION_CSE): Likewise. - * config/pa/pa.h (NO_FUNCTION_CSE): Likewise. - * config/rs6000/rs6000.h (NO_FUNCTION_CSE): Likewise. - * config/s390/s390.h (NO_FUNCTION_CSE): Likewise. - * config/sparc/sparc.h (NO_FUNCTION_CSE): Likewise. - * config/spu/spu.h (NO_FUNCTION_CSE): Likewise. - * config/stormy16/stormy16.h (NO_FUNCTION_CSE): Likewise. - * config/v850/v850.h (NO_FUNCTION_CSE): Likewise. - * defaults.h (NO_FUNCTION_CSE): Provide default definition to 0. - * doc/tm.texi: Regenerate. - * doc/tm.texi.in: Document NO_FUNCTION_CSE is always defined to - either true or false. - -2015-04-27 Jeff Law - - PR tree-optimization/65217 - * tree-ssa-dom.c (record_equality): Given two SSA_NAMEs, if just one - of them has a single use, make sure it is the LHS of the implied - copy. - -2015-04-28 Alan Modra - - PR target/65810 - * config/rs6000/rs6000.c (POWERPC64_TOC_POINTER_ALIGNMENT): Define. - (offsettable_ok_by_alignment): Use minimum of decl and toc - pointer alignment. Replace dead code with assertion. - (use_toc_relative_ref): Add mode arg. Return false in -mcmodel=medium - case if size exceeds toc pointer alignment. - (rs6000_legitimize_reload_address): Update use_toc_relative_ref call. - (rs6000_emit_move): Likewise. - * configure.ac: Add linker toc pointer alignment check. - * configure: Regenerate. - * config.in: Regenerate. - -2015-04-27 Yoshinori Sato - - * config.gcc: Add h8300-*-linux. - * config/h8300/linux.h: New. - * config/h8300/t-linux: New. - * config/h8300/h8300.c (h8300_option_override): Normal mode - is not supported for h8300-*-linux. - (h8300_file_start): Target priority change. - (get_shift_alg): Likewise. - (h8300_shift_need_scratch_p): Likewise. - * config/h8300/h8300.h (TARGET_CPU_CPP_BUILTINS): Likewise. - * config/h8300/h8300.md (define_peephole2): Remove duplicate condition. - -2015-04-27 Caroline Tice - - * final.c (final_scan_insn): Output cold_function_name as function - type. - * varasm.c (cold_function_name): Make global. - (assemble_start_function): Re-set cold_function_name. - (assemble_end_function): Output cold partition size. - * varasm.h (cold_function_name): Declare global. - -2015-04-27 Ilya Tocar - - * config/i386/i386.h (EXT_REX_SSE_REG_P): New. - * config/i386/i386.md (*cmpi_mixed): Use "v" - constraint. - (*movxi_internal_avx512f): Ditto. - (define_split): Check for xmm16+, when splitting scalar float_extend. - (*extendsfdf2_mixed): Use "v" constraint. - (define_split): Check for xmm16+, when splitting scalar float_truncate. - (*truncdfsf_fast_sse): Use "v" constraint. - (fix_trunc_sse): Ditto. - (*float2_sse): Ditto. - (define_peephole2): Check for xmm16+, when converting scalar - float_truncate. - (define_peephole2): Check for xmm16+, when converting scalar - float_extend. - (*fop__comm_mixed): Use "v" constraint. - (*fop__comm_sse): Ditto. - (*fop__1_mixed): Ditto. - (*sqrt2_sse): Ditto. - (*ieee_s3): Ditto. - -2015-04-27 Kyrylo Tkachov - - * combine.c (simplify_if_then_else): Use std::swap instead - of manually swapping. - (known_cond): Likewise. - (simplify_comparison): Likewise. - -2015-04-27 Peter Bergner - - PR target/64579 - * config/rs6000/htm.md: Remove all define_expands. - (UNSPECV_HTM_TABORTDC, UNSPECV_HTM_TABORTDCI, UNSPECV_HTM_TABORTWC, - UNSPECV_HTM_TABORTWCI): Remove. - (UNSPECV_HTM_TABORTXC, UNSPECV_HTM_TABORTXCI, UNSPECV_HTM_TTEST): New. - (tabort_internal, tbegin_internal, tcheck_internal, tend_internal, - trechkpt_internal, treclaim_internal, tsr_internal): Rename from this... - (tabort, tbegin, tcheck, tend, trechkpt, treclaim, tsr): ...to this. - (tabortdc_internal, tabortdci_internal, tabortwc_internal, - tabortwci_internal): Remove define_insns. - (tabortc, tabortci): New define_insns. - (tabort): Use gpc_reg_operand. - (tcheck): Remove operand. - (htm_mfspr_, htm_mtspr_): Use GPR mode macro. - * config/rs6000/htmxlintrin.h (__TM_end): Use _HTM_TRANSACTIONAL as - expected value. - * config/rs6000/rs6000-builtin.def (BU_HTM_SPR0): Remove. - (BU_HTM_SPR1): Rename to BU_HTM_V1. Remove use of RS6000_BTC_SPR. - (tabort, tabortdc, tabortdci, tabortwc, tabortwci, tbegin, - tcheck, tend, tendall, trechkpt, treclaim, tresume, tsuspend, - tsr, ttest): Pass in the RS6000_BTC_CR attribute. - (get_tfhar, set_tfhar, get_tfiar, set_tfiar, get_texasr, set_texasr, - get_texasru, set_texasru): Pass in the RS6000_BTC_SPR attribute. - (tcheck): Remove builtin argument. - * config/rs6000/rs6000.c (rs6000_htm_spr_icode): Use TARGET_POWERPC64 - not TARGET_64BIT. - (htm_expand_builtin): Fix usage of expandedp. Disallow usage of the - tabortdc and tabortdci builtins when not in 64-bit mode. - Modify code to handle the loss of the HTM define_expands. - Emit code to copy the CR register to TARGET. - (htm_init_builtins): Modify code to handle the loss of the HTM - define_expands. - * config/rs6000/rs6000.h (RS6000_BTC_32BIT): Delete. - (RS6000_BTC_64BIT): Likewise. - (RS6000_BTC_CR): New macro. - * doc/extend.texi: Update documentation for htm builtins. - -2015-04-27 Kyrylo Tkachov - - * simplify-rtx.c (simplify_gen_binary): Use std::swap instead - of manually swapping. - (simplify_associative_operation): Likewise. - (simplify_binary_operation): Likewise. - (simplify_plus_minus): Likewise. - (simplify_relational_operation): Likewise. - (simplify_ternary_operation): Likewise. - -2015-04-27 Richard Sandiford - - * config/stormy16/predicates.md (xs_hi_general_operand): Delete. - (xs_hi_nonmemory_operand): Remove error. - * config/stormy16/stormy16.md (movhi, movhi_internal): Use - general_operand rather than xs_hi_general_operand. - -2015-04-27 Richard Biener - - * tree-ssa-dom.c (record_equivalences_from_phis): Valueize PHI arg. - (record_equivalences_from_stmt): Valueize rhs. - (record_equality): Canonicalize x and y order via - tree_swap_operands_p. Do not swap operands for same loop depth. - -2015-04-27 Georg-Johann Lay - - PR target/65296 - PR target/65895 - * config/avr/gen-avr-mmcu-specs.c (print_mcu): Close file. - Add hint how to use own spec file. - -2015-04-27 Jakub Jelinek - - PR tree-optimization/65875 - * tree-vrp.c (update_value_range): If in is_new case setting - old_vr to VR_VARYING, also set new_vr to it. Remove - old_vr->type == VR_VARYING test. - (vrp_visit_phi_node): Return SSA_PROP_VARYING instead of - SSA_PROP_INTERESTING if update_value_range returned true, - but new range is VR_VARYING. - -2015-04-27 Thomas Preud'homme - - * combine.c (sign_extend_short_imm): New. - (set_nonzero_bits_and_sign_copies): Use above new function for sign - extension of src short immediate. - (reg_nonzero_bits_for_combine): Likewise for tem. - -2015-04-27 Eric Botcazou - - * stor-layout.c (self_referential_component_ref_p): New predicate. - (copy_self_referential_tree_r): Use it. - (self_referential_size): Punt for simple operations directly involving - self-referential component references. - * tree-cfg.c (dump_function_to_file): Add missing final curly bracket. - -2015-04-27 Eric Botcazou - - * ipa-icf.c (icf_handled_component_p): Remove redundant tests. - -2015-04-27 Richard Sandiford - - * vec.h (vec): Make splice arguments const. Update definitions - accordingly. - -2015-04-27 Yvan Roux - - * config/arm/arm.md (*arm_subsi3_insn): Fixed redundant - alternatives. - -2015-04-26 Tom de Vries - - PR tree-optimization/65826 - * internal-fn.def: Mark VA_ARG with ECF_LEAF. - -2015-04-24 Steve Ellcey - - * config/mips/mips.md: (*madd4) Remove accum_in attribute. - (*madd3): Ditto. - (*msub4): Ditto. - (*msub3): Ditto. - (*nmadd4): Ditto. - (*nmadd3): Ditto. - (*nmadd4_fastmath): Ditto. - (*nmadd3_fastmath): Ditto. - (*nmsub4): Ditto. - (*nmsub3): Ditto. - (*nmsub4_fastmath): Ditto. - (*nmsub3_fastmath): Ditto. - -2015-04-24 Jason Merrill - - PR c++/50800 - * tree.c (build_reference_type_for_mode): Don't pass can_alias_all - down when building TYPE_CANONICAL. - (build_pointer_type_for_mode): Likewise. - -2015-04-24 Chen Gang - - * genrecog.c (validate_pattern): Check matching constraint refers - to a lower numbered operand. - -2015-04-24 Michael Meissner - - PR target/65849 - * config/rs6000/rs6000.opt (-mvsx-align-128): Make options that - save to independent variables use the Save attribute. This will - allow these options to be modified with the #pragma/attribute - target support. - (-mallow-movmisalign): Likewise. - (-mallow-df-permute): Likewise. - (-msched-groups): Likewise. - (-malways-hint): Likewise. - (-malign-branch-targets): Likewise. - (-mvectorize-builtins): Likewise. - (-msave-toc-indirect): Likewise. - - * config/rs6000/rs6000.c (rs6000_opt_masks): Add more options that - can be set via the #pragma/attribute target support. - (rs6000_opt_vars): Likewise. - (rs6000_inner_target_options): If VSX was set, also set - -mno-avoid-indexed-addresses. - -2015-04-24 Kyrylo Tkachov - - * config/arm/iterators.md (shiftable_ops): Rename to... - (SHIFTABLE_OPS): ... This. Update use in comments. - (ior_xor): Rename to... - (IOR_XOR): ... This. - (vqh_ops): Rename to... - (VQH_OPS): ... This. - (vqhs_ops): Rename to... - (VQHS_OPS): ... This. - (rshifts): Rename to... - (RSHIFTS): ... This. - (returns): Rename to... - (RETURNS): ... This. - * config/arm/arm.md: Update uses of the above. - * config/arm/neon.md: Likewise. - -2014-04-24 Kyrylo Tkachov - - * config.host (case ${host}): Add aarch64*-*-linux case. - * config/aarch64/aarch64-cores.def: Add IMPLEMENTER_ID and PART_NUMBER - fields to all the cores. - * config/aarch64/aarch64-elf.h (DRIVER_SELF_SPECS): - Add MCPU_MTUNE_NATIVE_SPECS. - * config/aarch64/aarch64-option-extensions.def: Add FEATURE_STRING - field to all extensions. - * config/aarch64/aarch64-opts.h: Adjust definition of AARCH64_CORE. - * config/aarch64/aarch64.c: Adjust definition of AARCH64_CORE. - Adjust definition of AARCH64_OPT_EXTENSION. - * config/aarch64/aarch64.h: Adjust definition of AARCH64_CORE. - (MCPU_MTUNE_NATIVE_SPECS): Define. - * config/aarch64/driver-aarch64.c: New file. - * config/aarch64/x-arch64: New file. - * doc/invoke.texi (AArch64 Options): Document native value for -mcpu, - -mtune and -march. - -2015-04-24 Uros Bizjak - Wei Mi - - * config/i386/i386-protos.h (ix86_operands_ok_for_move_multiple): New. - * config/i386/i386.c (extract_base_offset_in_addr): New function. - (ix86_operands_ok_for_move_multiple): Ditto. - * config/i386/sse.md (movsd/movhpd to movupd peephole2): New pattern. - (movlpd/movhpd to movupd peephole2): Ditto. - -2015-04-24 Marek Polacek - - PR c/61534 - * input.h (from_macro_expansion_at): Define. - - PR c/63357 - * doc/invoke.texi: Update description of -Wlogical-op. - -2015-04-24 Thomas Preud'homme - - * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): fix - ternary operator in fprintf and harmonize spacing. - -2015-04-24 Uros Bizjak - - * config/i386/sse.md (*vec_widen_smult_even_v8si): - Mark operand1 commutative. - -2015-04-24 Uros Bizjak - - * config/i386/sse.md (*vec_concatv2sf_sse4_1): Do not allow both - input operands in memory. - (*vec_concatv2si_sse4_1): Ditto. - (*vec_concatv2df): Ditto, except for SSE3 and equal input operands. - (vec_extract_lo_): Change operand 1 predicate to - register_operand. - (vec_extract_hi_v32hi): Ditto. - (vec_extract_hi_v64hi): Ditto. - (avx512f_unpckhpd512): Ditto. - -2015-04-24 Thomas Preud'homme - Steven Bosscher - - PR rtl-optimization/34503 - * cprop.c (cprop_reg_p): New. - (hash_scan_set): Use above function to check if register can be - propagated. - (find_avail_set): Return up to two sets, one whose source is a - register and one whose source is a constant. Sets are returned in an - array passed as parameter rather than as a return value. - (cprop_insn): Use a do while loop rather than a goto. Try each of the - sets returned by find_avail_set, starting with the one whose source is - a constant. Use cprop_reg_p to check if register can be propagated. - (do_local_cprop): Use cprop_reg_p to check if register can be - propagated. - (implicit_set_cond_p): Likewise. - -2015-04-23 Jan Hubicka - - * ipa-icf.c (sem_function::equals_wpa): Compare thunk info. - (sem_function::equals): IGNORED_NODES parameter is now unused; - update call of equals_private. - (sem_function::equals_private): Do not call equals_wpa; skip - gimple body matching if there is no body. - (sem_function::init): Add logic to hash tthunk info. - (sem_function::parse): Also parse thunks. - * ipa-icf.h (equals_private): Update declaration. - -2015-04-23 Bill Schmidt - - * config/rs6000/altivec.md (*altivec_lvx__internal): Remove - asterisk from name so this can be generated directly. - (*altivec_stvx__internal): Likewise. - * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Add assert - that this is never called during or after reload/lra. - (rs6000_frame_related): Remove split_reg - argument and logic that references it. - (emit_frame_save): Remove last parameter from call to - rs6000_frame_related. - (rs6000_emit_prologue): Remove last parameter from eight calls to - rs6000_frame_related. Force generation of stvx instruction for - Altivec register saves. Remove split_reg handling, which is no - longer needed. - (rs6000_emit_epilogue): Force generation of lvx instruction for - Altivec register restores. - -2015-04-23 Bill Schmidt - - * config/rs6000/rs6000.opt (mcrypto): Change option description to - match category changes in ISA 2.07B. - -2015-04-23 Kyrylo Tkachov - - * config/arm/iterators.md (GTGE, GTUGEU, COMPARISONS): New code - iterators. - (cmp_op, cmp_type): New code attributes. - (NEON_VCMP, NEON_VACMP): New int iterators. - (cmp_op_unsp): New int attribute. - * config/arm/neon.md (neon_vc): New define_expand. - (neon_vceq): Delete. - (neon_vc_insn): New pattern. - (neon_vc_insn_unspec): Likewise. - (neon_vcgeu): Delete. - (neon_vcle): Likewise. - (neon_vclt: Likewise. - (neon_vcage): Likewise. - (neon_vcagt): Likewise. - (neon_vca): New define_expand. - (neon_vca_insn): New pattern. - (neon_vca_insn_unspec): Likewise. - -2015-04-23 Jan Hubicka - - * tree.h (attribute_value_equal): Declare. - * tree.c (attribute_value_equal): Export. - -2015-04-23 Jan Hubicka - - * ipa-icf.c (sem_item::compare_attributes): New function. - (sem_item::compare_referenced_symbol_properties): Compare variable - attributes. - (sem_item::hash_referenced_symbol_properties): Record DECL_ALIGN. - (sem_function::param_used_p): New function. - (sem_function::equals_wpa): Fix attribute comparsion; match - parameter type codes; do not compare paremter flags when - they are not used; compare edge flags; compare indirect calls. - (sem_item::update_hash_by_addr_refs): Hash reference type. - (sem_function::equals_private): Do not match DECL_ATTRIBUTES. - (sem_variable::equals_wpa): Do not match DECL_ALIGN; match - reference use type. - (sem_item_optimizer::update_hash_by_addr_refs): Use param_used_p. - * ipa-icf.h (compare_attributes, param_used_p): Declare. - -2015-04-23 Jan Hubicka - - * ipa-icf.c (symbol_compare_collection::symbol_compare_collection): - cleanup. - (sem_function::get_hash): Do not hash DECL_DISREGARD_INLINE_LIMITS, - DECL_DECLARED_INLINE_P and DECL_IS_OPERATOR_NEW. - (sem_item::compare_referenced_symbol_properties): New. - (sem_item::hash_referenced_symbol_properties): New. - (sem_item::compare_cgraph_references): Rename to ... - (sem_item::compare_symbol_references): ... this one; use - compare_referenced_symbol_properties. - (sem_function::equals_wpa): Do not compare - DECL_DISREGARD_INLINE_LIMITS, DECL_DECLARED_INLINE_P, - DECL_IS_OPERATOR_NEW; compare pointer sizes. - (sem_item::update_hash_by_addr_refs): Call - hash_referenced_symbol_properties. - (sem_item::update_hash_by_local_refs): Cleanup. - (sem_function::merge): Do not mix up symbol properties. - (sem_variable::equals_wpa): Use compare_symbol_references. - * ipa-icf.h (sem_item::compare_referenced_symbol_properties): New. - (sem_item::hash_referenced_symbol_properties): New. - (sem_item::compare_symbol_references): New. - (sem_item::compare_cgraph_references): Remove. - -2015-04-23 Kwok Cheung Yeung - - PR target/26702 - * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): - Emit size of local. - -2015-04-23 Nick Clifton - - * config/rl78/rl78.c (rl78_preferred_reload_class): Add - ATTRIBUTE_UNUSED to x parameter. - * config/rl78/rl78-opts.h (enum rl78_mul_types): Remove unused MUL_RL78. - -2015-04-23 Bill Schmidt - - * config/rs6000/crypto.md (crypto_vpmsum): Change - TARGET_CRYPTO to TARGET_P8_VECTOR> - (crypto_vpermxor_): Likewise. - * config/rs6000/rs6000-builtin.def (BU_CRYPTO_2A): New #define. - (BU_CRYPTO_3A): Likewise. - (BU_CRYPTO_OVERLOAD_2A): Rename from BU_CRYPTO_OVERLOAD_2. - (BU_CRYPTO_OVERLOAD_3A): New #define. - (VPMSUMB): Change from BU_CRYPTO_2 to BU_CRYPTO_2A. - (VPMSUMH): Likewise. - (VPMSUMW): Likewise. - (VPMSUMD): Likewise. - (VPERMXOR_V2DI): Change from BU_CRYPTO_3 to BU_CRYPTO_3A. - (VPERMXOR_V4SI): Likewise. - (VPERMXOR_V8HI): Likewise. - (VPERMXOR_V16QI): Likewise. - (VPMSUM): Change from BU_CRYPTO_OVERLOAD_2 to - BU_CRYPTO_OVERLOAD_2A. - (VPERMXOR): Change from BU_CRYPTO_OVERLOAD3 to - BU_CRYPTO_OVERLOAD_3A. - * config/rs6000/rs6000.opt (mcrypto): Change description of - option. - -2015-04-23 Richard Biener - - * passes.def: Remove copy propagation passes run directly after CCP. - * tree-ssa-ccp.c (get_value_for_expr): Fall back to a COPY for - SSA names. - (ccp_visit_phi_node): Rework to handle first executable edge - specially. - -2015-04-23 Matthew Wahab - - * config/arm/arm.h (LEGITIMIZE_RELOAD_ADDRESS): Remove. - (ARM_LEGITIMIZE_RELOAD_ADDRESS): Remove. - (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Remove. - * config/arm/arm.c (arm_legimitimize_reload_address): Remove. - (thumb_legimitimize_reload_address): Remove. - * config/arm/arm-protos.h (arm_legimitimize_reload_address): - Remove. - (thumb_legimitimize_reload_address): Remove. - -2015-04-23 Kyrylo Tkachov - - * conditions.h (CC_STATUS_INIT): Gate on #ifndef CC_STATUS_INIT. - -2015-04-23 Kyrylo Tkachov - - * config/arm/arm.md (load_multiple): Reject operand 2 greater than - MAX_LDM_STM_OPS. - (store_multiple): Likewise. - -2015-04-23 Kyrylo Tkachov - - * config/arm/arm-protos.h (struct tune_params): Add issue_rate field. - * config/arm/arm.c (arm_slowmul_tune, arm_fastmul_tune, - arm_strongarm_tune, arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, - arm_cortex_tune, arm_cortex_a8_tune, arm_cortex_a7_tune, - arm_cortex_a15_tune, arm_cortex_a53_tune, arm_cortex_a57_tune, - arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, - arm_fa726te_tune arm_cortex_a5_tune, arm_xgene1_tune): - Specify issue_rate value. - (arm_issue_rate): Look up issue rate from tuning structs. Remove - large switch statement. - (arm_marvell_pj4_tune): New struct. - * config/arm/arm-cores.def (marvell-pj4): Use arm_marvell_pj4_tune - struct. - -2015-04-23 Richard Biener - - * tree-vect-slp.c (vect_find_first_load_in_slp_instance): Remove. - (vect_find_last_store_in_slp_instance): Rename to ... - (vect_find_last_scalar_stmt_in_slp): ... this and generalize. - (vect_analyze_slp_cost_1): Use vector_load for constant defs - and vec_construct for external defs when estimating prologue cost. - (vect_analyze_slp_instance): Do not init SLP_INSTANCE_FIRST_LOAD_STMT. - Compute costs here only when vectorizing loops. - (vect_slp_analyze_bb_1): Compute SLP cost here, after vector types - have been determined. - (vect_schedule_slp_instance): Simplify vectorized code placement - and prepare for in-BB external defs. - * tree-vectorizer.h (struct _slp_instance): Remove first_load member. - (SLP_INSTANCE_FIRST_LOAD_STMT): Remove. - * tree-vect-stmts.c (vect_model_store_cost): Remove PURE_SLP_STMT - guard. - (vect_model_load_cost): Likewise. - (vectorizable_store): Instead add it here. - (vectorizable_load): Likewise. - (vect_is_simple_use): Dump def type textually. - -2015-04-23 Richard Biener - - * cfgexpand.c (expand_gimple_stmt_1): Use ops.code. - * cfgloop.c (verify_loop_structure): Verify the root loop node. - * except.c (duplicate_eh_regions): Call get_eh_region_from_lp_number_fn - instead of get_eh_region_from_lp_number. - * loop-init.c (fix_loop_structure): If we removed a loop, reset - the SCEV cache. - -2015-04-23 Anton Blanchard - - * config/rs6000/rs6000.c (rs6000_output_function_prologue): No - need for -mprofile-kernel to save LR to stack. - -2015-04-22 Bill Schmidt - - * config/rs6000/rs6000.c (rtx_is_swappable_p): Commentary - adjustments. - (insn_is_swappable_p): Return 1 for a convert from double to - single precision when all of its uses are splats of BE element - zero. - -2015-04-23 Kugan Vivekanandarajah - - * ira-costs.c (record_operand_costs): Fix typo (remove redundant code). - -2015-04-22 Bill Schmidt - - PR target/65456 - * config/rs6000/rs6000.c (rs6000_option_override_internal): For - VSX + POWER8, enable TARGET_ALLOW_MOVMISALIGN and - TARGET_EFFICIENT_UNALIGNED_VSX if not selected by command line - option. - (rs6000_builtin_mask_for_load): Return 0 for targets with - efficient unaligned VSX accesses so that the vectorizer will use - direct unaligned loads. - (rs6000_builtin_support_vector_misalignment): Always return true - for targets with efficient unaligned VSX accesses. - (rs6000_builtin_vectorization_cost): Cost of unaligned loads and - stores on targets with efficient unaligned VSX accesses is almost - always the same as the cost of an aligned load or store, so model - it that way. - * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Return 0 for - unaligned vectors if we have efficient unaligned VSX accesses. - * config/rs6000/rs6000.opt (mefficient-unaligned-vector): New - undocumented option. - -2015-04-22 Kyrylo Tkachov - - Revert: - 2015-04-22 Gregor Richards - - * config.gcc (LIBC_MUSL): New tm_defines macro. - * config/linux.h (OPTION_MUSL): Define. - (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,) - (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,) - (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define. - - * config/linux.opt (mmusl): New option. - * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*. - (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*. - - * configure: Regenerate. - -2015-04-22 Gregor Richards - - * config.gcc (LIBC_MUSL): New tm_defines macro. - * config/linux.h (OPTION_MUSL): Define. - (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,) - (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,) - (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define. - - * config/linux.opt (mmusl): New option. - * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*. - (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*. - - * configure: Regenerate. - -2015-04-22 Yury Gribov - - * doc/invoke.texi (-fsanitize-sections): Update description. - * asan.c (set_sanitized_sections): Parse incoming arg. - (section_sanitized_p): Support wildcards. - -2015-04-22 Tom de Vries - - PR tree-optimization/65823 - * gimplify.c (gimplify_modify_expr): Use operand_equal_p to test for - equality between ap_copy and ap. - -2015-04-22 Bernhard Reutner-Fischer - - PR target/47098 - * config/openbsd-oldgas.h (OBSD_LIB_SPEC): Add. - -2015-04-22 Bernhard Reutner-Fischer - - PR target/47122 - * config.gcc (vax-*-openbsd*): Fix name of pthread spec header. - -2015-04-22 Bernhard Reutner-Fischer - - PR target/55144 - * config.gcc (bfin*-linux-uclibc*): Prepend tmake_file and - remove already contained t-files. - -2015-04-22 Bernhard Reutner-Fischer - - * tree-tailcall.c (suitable_for_tail_opt_p, find_tail_calls): - Remove unneeded forward declarations. - (suitable_for_tail_call_opt_p): Commentary typo fix. - -2015-04-22 Bernhard Reutner-Fischer - - * varasm.c (emit_bss): Remove redundant guard. - -2015-04-22 Bernhard Reutner-Fischer - - * config/c6x/c6x.h (TARGET_CPU_CPP_BUILTINS): Add unk_isa. - -2015-04-22 Bernhard Reutner-Fischer - - * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Add BFIN_CPU_UNKNOWN. - -2015-04-22 Hale Wang - Terry Guo - - PR rtl-optimization/64818 - * combine.c (can_combine_p): Don't combine user-specified - register if it is in an asm input. - -2015-04-21 Jan Hubicka - - PR ipa/65076 - * passes.def (early_optimizations): Add pass_dse. - -2015-04-21 Trevor Saunders - - * defaults.h (INSN_REFERENCES_ARE_DELAYED): New definition. - * reorg.c (redundant_insn): Remove ifdef - INSN_REFERENCES_ARE_DELAYED. - * resource.c (mark_referenced_resources): Likewise. - -2015-04-21 Trevor Saunders - - * defaults.h (INSN_SETS_ARE_DELAYED): New definition. - * reorg.c (redundant_insn): Remove ifdef INSN_SETS_ARE_DELAYED. - * resource.c (mark_set_resources): Likewise. - -2015-04-21 Trevor Saunders - - * caller-save.c (insert_one_insn): Remove ifdef HAVE_cc0. - * cfgcleanup.c (flow_find_cross_jump): Likewise. - (flow_find_head_matching_sequence): Likewise. - (try_head_merge_bb): Likewise. - * combine.c (can_combine_p): Likewise. - (try_combine): Likewise. - (distribute_notes): Likewise. - * df-problems.c (can_move_insns_across): Likewise. - * final.c (final): Likewise. - * gcse.c (insert_insn_end_basic_block): Likewise. - * ira.c (find_moveable_pseudos): Likewise. - * reorg.c (try_merge_delay_insns): Likewise. - (fill_simple_delay_slots): Likewise. - (fill_slots_from_thread): Likewise. - * sched-deps.c (sched_analyze_2): Likewise. - -2015-04-21 Trevor Saunders - - * df-scan.c (df_get_entry_block_def_set): Remove #ifdef - PIC_OFFSET_TABLE_REGNUM. - -2015-04-21 Trevor Saunders - - * alias.c (init_alias_target): Remove ifdef - * HARD_FRAME_POINTER_IS_FRAME_POINTER. - * df-scan.c (df_insn_refs_collect): Likewise. - (df_get_regular_block_artificial_uses): Likewise. - (df_get_eh_block_artificial_uses): Likewise. - (df_get_entry_block_def_set): Likewise. - (df_get_exit_block_use_set): Likewise. - * emit-rtl.c (gen_rtx_REG): Likewise. - * ira.c (ira_setup_eliminable_regset): Likewise. - * reginfo.c (init_reg_sets_1): Likewise. - * regrename.c (rename_chains): Likewise. - * reload1.c (reload): Likewise. - (eliminate_regs_in_insn): Likewise. - * resource.c (mark_referenced_resources): Likewise. - (init_resource_info): Likewise. - -2015-04-21 Trevor Saunders - - * defaults.h (MASK_RETURN_ADDR): New definition. - * except.c (expand_builtin_extract_return_addr): Remove ifdef - MASK_RETURN_ADDR. - -2015-04-21 Trevor Saunders - - * defaults.h (RETURN_ADDR_OFFSET): New definition. - * except.c (expand_builtin_extract_return_addr): Remove ifdef - RETURN_ADDR_OFFSET. - (expand_builtin_frob_return_addr): Likewise. - -2015-04-21 Trevor Saunders - - * cfgrtl.c (rtl_merge_blocks): Change #if HAVE_cc0 to if (HAVE_cc0) - (try_redirect_by_replacing_jump): Likewise. - (rtl_tidy_fallthru_edge): Likewise. - * combine.c (insn_a_feeds_b): Likewise. - (find_split_point): Likewise. - (simplify_set): Likewise. - * cprop.c (cprop_jump): Likewise. - * cse.c (cse_extended_basic_block): Likewise. - * df-problems.c (can_move_insns_across): Likewise. - * function.c (emit_use_return_register_into_block): Likewise. - * haifa-sched.c (sched_init): Likewise. - * ira.c (find_moveable_pseudos): Likewise. - * loop-invariant.c (find_invariant_insn): Likewise. - * lra-constraints.c (curr_insn_transform): Likewise. - * postreload.c (reload_combine_recognize_const_pattern): - * Likewise. - * reload.c (find_reloads): Likewise. - * reorg.c (delete_scheduled_jump): Likewise. - (steal_delay_list_from_target): Likewise. - (steal_delay_list_from_fallthrough): Likewise. - (redundant_insn): Likewise. - (fill_simple_delay_slots): Likewise. - (fill_slots_from_thread): Likewise. - (delete_computation): Likewise. - * sched-rgn.c (add_branch_dependences): Likewise. - -2015-04-21 Trevor Saunders - - * genconfig.c (main): Always define HAVE_cc0. - * caller-save.c (insert_one_insn): Change ifdef HAVE_cc0 to #if - HAVE_cc0. - * cfgcleanup.c (flow_find_cross_jump): Likewise. - (flow_find_head_matching_sequence): Likewise. - (try_head_merge_bb): Likewise. - * cfgrtl.c (rtl_merge_blocks): Likewise. - (try_redirect_by_replacing_jump): Likewise. - (rtl_tidy_fallthru_edge): Likewise. - * combine.c (do_SUBST_MODE): Likewise. - (insn_a_feeds_b): Likewise. - (combine_instructions): Likewise. - (can_combine_p): Likewise. - (try_combine): Likewise. - (find_split_point): Likewise. - (subst): Likewise. - (simplify_set): Likewise. - (distribute_notes): Likewise. - * cprop.c (cprop_jump): Likewise. - * cse.c (cse_extended_basic_block): Likewise. - * df-problems.c (can_move_insns_across): Likewise. - * final.c (final): Likewise. - (final_scan_insn): Likewise. - * function.c (emit_use_return_register_into_block): Likewise. - * gcse.c (insert_insn_end_basic_block): Likewise. - * haifa-sched.c (sched_init): Likewise. - * ira.c (find_moveable_pseudos): Likewise. - * loop-invariant.c (find_invariant_insn): Likewise. - * lra-constraints.c (curr_insn_transform): Likewise. - * optabs.c (prepare_cmp_insn): Likewise. - * postreload.c (reload_combine_recognize_const_pattern): - * Likewise. - * reload.c (find_reloads): Likewise. - (find_reloads_address_1): Likewise. - * reorg.c (delete_scheduled_jump): Likewise. - (steal_delay_list_from_target): Likewise. - (steal_delay_list_from_fallthrough): Likewise. - (try_merge_delay_insns): Likewise. - (redundant_insn): Likewise. - (fill_simple_delay_slots): Likewise. - (fill_slots_from_thread): Likewise. - (delete_computation): Likewise. - (relax_delay_slots): Likewise. - * sched-deps.c (sched_analyze_2): Likewise. - * sched-rgn.c (add_branch_dependences): Likewise. - -2015-04-21 Trevor Saunders - - * combine.c (find_single_use): Remove HAVE_cc0 ifdef for code - that is trivially ded on non cc0 targets. - (simplify_set): Likewise. - (mark_used_regs_combine): Likewise. - * cse.c (new_basic_block): Likewise. - (fold_rtx): Likewise. - (cse_insn): Likewise. - (cse_extended_basic_block): Likewise. - (set_live_p): Likewise. - * rtlanal.c (canonicalize_condition): Likewise. - * simplify-rtx.c (simplify_binary_operation_1): Likewise. - -2015-04-21 Trevor Saunders - - * conditions.h: Define macros even if HAVE_cc0 is undefined. - * emit-rtl.c: Define functions even if HAVE_cc0 is undefined. - * final.c: Likewise. - * jump.c: Likewise. - * recog.c: Likewise. - * recog.h: Declare functions even when HAVE_cc0 is undefined. - * sched-deps.c (sched_analyze_2): Always compile case for cc0. - -2015-04-21 Trevor Saunders - - * defaults.h: New definition of EH_RETURN_DATA_REGNO. - * except.c: Remove definition of EH_RETURN_DATA_REGNO. - * builtins.c (expand_builtin): Remove check if - EH_RETURN_DATA_REGNO is defined. - * df-scan.c (df_bb_refs_collect): Likewise. - (df_get_exit_block_use_set): Likewise. - * haifa-sched.c (initiate_bb_reg_pressure_info): Likewise. - * ira-lives.c (process_bb_node_lives): Likewise. - * lra-lives.c (process_bb_lives): Likewise. - -2015-04-21 Uros Bizjak - - * config/i386/i386.md (ARGP_REG, FRAME_REG, BND2_REG, BND3_REG, - FIRST_PSEUDO_REG): New. - * config/i386/i386.h (STACK_POINTER_REGNUM): Define to SP_REG. - (ARG_POINTER_REGNUM): Define to ARGP_REG. - (FRAME_POINTER_REGNUM): Define to FRAME_REG. - (HARD_FRAME_POINTER_REGNUM): Define to BP_REG. - (FIRST_PSEUDO_REGISTER): Define to FIRST_PSEUDO_REG. - (FIRST_INT_REG): New. - (LAST_INT_REG): New. - (FIRST_*_REG): Define using *_REG. - (LAST_*_REG): Ditto. - (QI_REGNO_P): Define using FIRST_QU_REG and LAST_QI_REG. - (LEGACY_INT_REGNO_P): Define using FIRST_INT_REG and LAST_INT_REG. - (FIRST_FLOAT_REG): Define to FIRST_STACK_REG. - -2015-04-21 Kyrylo Tkachov - - * expmed.c: (synth_mult): Only assume overlapping - shift with previous steps in alg_sub_t_m2 case. - -2015-04-21 Richard Biener - - PR tree-optimization/65650 - * tree-ssa-ccp.c (valid_lattice_transition): Allow lattice - transitions involving copies. - (set_lattice_value): Adjust for copy lattice state. - (ccp_lattice_meet): Do not merge UNDEFINED and a copy to the copy - if that doesn't dominate the merge point. - (bit_value_unop): Adjust what we treat as varying mask. - (bit_value_binop): Likewise. - (bit_value_assume_aligned): Likewise. - (evaluate_stmt): When we simplified to a SSA name record a copy - instead of dropping to varying. - (visit_assignment): Simplify. - - * gimple-match.h (gimple_simplify): Add another callback. - * gimple-fold.c (fold_stmt_1): Adjust caller. - (gimple_fold_stmt_to_constant_1): Likewise - pass valueize - for the 2nd callback. - * gimple-match-head.c (gimple_simplify): Add a callback that is - used to valueize the stmt operands and use it that way. - -2015-04-21 Richard Biener - - PR tree-optimization/65788 - * tree-ssa-ccp.c (evaluate_stmt): Evaluate to UNDEFINED early. - -2015-04-21 Richard Biener - - * config/i386/i386.c (ix86_builtin_vectorization_cost): Scale - vec_construct cost by vec_stmt_cost. - -2015-04-21 Richard Biener - - * cfghooks.h (create_basic_block): Replace with two overloads - for RTL and GIMPLE. - (split_block): Likewise. - * cfghooks.c (split_block): Rename to ... - (split_block_1): ... this. - (split_block): Add two type-safe overloads for RTL and GIMPLE. - (split_block_after_labels): Call split_block_1. - (create_basic_block): Rename to ... - (create_basic_block_1): ... this. - (create_basic_block): Add two type-safe overloads for RTL and GIMPLE. - (create_empty_bb): Call create_basic_block_1. - * cfgrtl.c (fixup_fallthru_exit_predecessor): Use - split_block_after_labels. - * omp-low.c (expand_parallel_call): Likewise. - (expand_omp_target): Likewise. - (simd_clone_adjust): Likewise. - * tree-chkp.c (chkp_get_entry_block): Likewise. - * cgraphunit.c (init_lowered_empty_function): Use the GIMPLE - create_basic_block overload. - (cgraph_node::expand_thunk): Likewise. - * tree-cfg.c (make_blocks): Likewise. - (handle_abnormal_edges): Likewise. - * tree-inline.c (copy_bb): Likewise. - -2015-04-21 Kyrylo Tkachov - - * config/aarch64/aarch64.md (*_one_cmplsidi3_ze): - New pattern. - (*xor_one_cmplsidi3_ze): Likewise. - -2015-04-21 Thomas Preud'homme - - * df-core.c (df_finish_pass): Iterate over df->problems_by_index[] and - use df_remove_problem rather than manually removing problems, leaving - holes in df->problems_in_order[]. - -2015-04-21 Tom de Vries - - PR tree-optimization/65802 - * internal-fn.def (VA_ARG): Add ECF_NOTROW to flags. - -2015-04-21 Kyrylo Tkachov - - * common/config/aarch64/aarch64-common.c (AARCH64_CPU_NAME_LENGTH): - Increase to 128. - (aarch64_rewrite_selected_cpu): Do not chop off extensions starting - at '.'. Assert that there's enough space for everything. - -2015-04-21 Uros Bizjak - - PR tree-optimization/64950 - Revert: - 2010-08-02 Uros Bizjak - - PR target/41089 - * config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset - as volatile. - -2015-04-20 Shiva Chen - - PR rtl-optimization/64916 - * cfgcleanup.c (values_equal_p): New function. - (can_replace_by): Use it. - -2015-04-20 Paolo Carlini - - PR c++/65801 - * doc/invoke.texi ([-Wnarrowing]): Update. - -2015-04-20 Jeff Law - - PR tree-optimization/65658 - * tree-ssa-threadupdate.c (redirection_block_p): Remove - redundant test for GIMPLE_ASSIGN in last change. - -2015-04-20 Uros Bizjak - - * config/i386/i386.c (set_pic_reg_ever_live): Remove. - (legitimize_pic_address): Do not call set_pic_reg_ever_live. - (legitimize_tls_address): Ditto. - (ix86_expand_move): Ditto. - (ix86_expand_binary_operator): Remove reload_in_progress checks. - (ix86_expand_unary_operator): Ditto. - * config/i386/predicates.md (index_register_operand): Ditto. - -2015-04-20 Selim Belbachir - - * reorg.c (try_merge_delay_insns): Improve correctness checking - for targets with multiple delay slots. - -2015-04-20 Jeff Law - - PR tree-optimization/65658 - * tree-ssa-threadupdate.c (redirection_block_p): Ignore clobber - statements too. - -2015-04-20 Alan Lawrence - - * config/aarch64/aarch64.c (aarch64_simd_emit_pair_result_insn): Delete. - * config/aarch64/aarch64-protos.h (aarch64_simd_emit_pair_result_insn): - Delete. - -2015-04-20 Jakub Jelinek - - PR debug/65807 - * dwarf2out.c (add_AT_wide): Clear attr.dw_attr_val.val_entry. - -2015-04-20 Richard Biener - - * gimple-fold.h (gimple_build): Remove optional valueize arguments. - * gimple-fold.c (gimple_build_valueize): New function. - (gimple_build): Always use gimple_build_valueize as valueize hook. - -2015-04-20 Alan Lawrence - - PR target/64134 - * config/aarch64/aarch64.c (aarch64_expand_vector_init): Load constant - and overwrite variable parts if <= 1/2 the elements are variable. - -2015-04-19 Vladimir Makarov - - PR rtl-optimization/65805 - * lra-eliminations.c (lra_eliminate_regs_1): Add new assert. - Don't use difference of offset and previous offset if - update_sp_offset is non-zero. - (eliminate_regs_in_insn): Ditto. - * lra-spills.c (remove_pseudos): Exchange 4th and 6th args in - lra_eliminate_regs_1 call. - * lra-constraints.c (get_equiv_with_elimination): Ditto. - -2015-04-18 Trevor Saunders - - * hash-table.h: Remove version of hash_table that stored value_type *. - * asan.c, attribs.c, bitmap.c, cfg.c, cgraph.h, config/arm/arm.c, - config/i386/winnt.c, config/ia64/ia64.c, config/mips/mips.c, - config/sol2.c, coverage.c, cselib.c, dse.c, dwarf2cfi.c, - dwarf2out.c, except.c, gcse.c, genmatch.c, ggc-common.c, - gimple-ssa-strength-reduction.c, gimplify.c, haifa-sched.c, - hard-reg-set.h, hash-map.h, hash-set.h, ipa-devirt.c, ipa-icf.h, - ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c, - loop-iv.c, loop-unroll.c, lto-streamer.h, plugin.c, postreload-gcse.c, - reginfo.c, statistics.c, store-motion.c, trans-mem.c, tree-cfg.c, - tree-eh.c, tree-hasher.h, tree-into-ssa.c, tree-parloops.c, - tree-sra.c, tree-ssa-coalesce.c, tree-ssa-dom.c, tree-ssa-live.c, - tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c, - tree-ssa-pre.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c, - tree-ssa-structalias.c, tree-ssa-tail-merge.c, - tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h, - valtrack.h, var-tracking.c, vtable-verify.c, vtable-verify.h: Adjust. - -2015-04-17 Bill Schmidt - Jakub Jelinek - - PR target/65787 - * config/rs6000/rs6000.c (rtx_is_swappable_p): Ensure that a - subsequent SH_NONE operand does not overwrite an existing *special - value. - (adjust_extract): Handle case where a vec_extract operation is - wrapped in a PARALLEL. - -2015-04-17 H.J. Lu - - PR target/65780 - * config/i386/i386.c (ix86_binds_local_p): Define only if - TARGET_MACHO and TARGET_DLLIMPORT_DECL_ATTRIBUTES are false. - -2015-04-17 Jeff Law - - PR tree-optimization/47679 - * Makefile.in (OBJS); Add tree-ssa-scopedtables.o. - * tree-ssa-scopedtables.c: New file. - * tree-ssa-scopedtables.h: New file. - * tree-ssa-dom.c: Include tree-ssa-scopedtables.h. - (const_and_copies): Change name/type. - (record_const_or_copy): Move into tree-ssa-scopedtables.c - (record_const_or_copy_1): Similarly. - (restore_vars_to_original_value): Similarly. - (pass_dominator::execute): Create and destroy const_and_copies table. - (thread_across_edge): Update passing of const_and_copies. - (record_temporary_equivalence): Use method calls rather than - manipulating const_and_copies directly. - (record_equality, cprop_into_successor_phis): Similarly. - (dom_opt_dom_walker::before_dom_children): Similarly. - (dom_opt_dom_walker::after_dom_children): Similarly. - (eliminate_redundant_computations): Similarly. - * tree-ssa-threadedge.c (remove_temporary_equivalences): Delete. - (record_temporary_equivalence): Likewise. - (invalidate_equivalences): Likewise. - (record_temporary_equivalences_from_phis): Update due to type - change of const_and_copies. Use method calls rather than - manipulating the stack directly. - (record_temporary_equivalences_from_stmts_at_dest): Likewise. - (thread_through_normal_block, thread_across_edge): Likewise. - (thread_across_edge): Likewise. - * tree-ssa-threadedge.h (thread_across_edge): Update prototype. - * tree-vrp.c: Include tree-ssa-scopedtables.h. Change type - of equiv_stack. - (identify_jump_threads): Update due to type change of equiv_stack. - (finalize_jump_threads): Delete the equiv_stack when complete. - -2015-04-17 Uros Bizjak - - * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): Remove. - * config/i386/i386.c (ix86_legitimize_reload_address): Ditto. - * config/i386/i386-protos.h (ix86_legitimize_reload_address): Ditto. - -2015-04-17 Andreas Tobler - - PR target/65535 - * config.gcc: Exit with a comment when we do not have a major version - number for the FreeBSD target. - -2015-04-17 Jakub Jelinek - - PR target/65689 - * genpreds.c (struct constraint_data): Add maybe_allows_reg and - maybe_allows_mem bitfields. - (maybe_allows_none_start, maybe_allows_none_end, - maybe_allows_reg_start, maybe_allows_reg_end, maybe_allows_mem_start, - maybe_allows_mem_end): New variables. - (compute_maybe_allows): New function. - (add_constraint): Use it to initialize maybe_allows_reg and - maybe_allows_mem fields. - (choose_enum_order): Sort the non-is_register/is_const_int/is_memory/ - is_address constraints such that those that allow neither mem nor - reg come first, then those that only allow reg but not mem, then - those that only allow mem but not reg, then the rest. - (write_allows_reg_mem_function): New function. - (write_tm_preds_h): Call it. - * stmt.c (parse_output_constraint, parse_input_constraint): Use - the generated insn_extra_constraint_allows_reg_mem function - instead of always setting *allows_reg = true; *allows_mem = true; - for unknown extra constraints. - -2015-04-17 H.J. Lu - - PR target/65780 - * output.h (default_binds_local_p_3): New. - * varasm.c (default_binds_local_p_3): Make it public. Take an - argument to indicate if common symbol may be local. If common - symbol may be local, treat non-external variable as defined - locally. - (default_binds_local_p_2): Pass !flag_pic to default_binds_local_p_3. - (default_binds_local_p_1): Pass false to default_binds_local_p_3. - * config/i386/i386.c (ix86_binds_local_p): New. - (TARGET_BINDS_LOCAL_P): Replace default_binds_local_p_2 with - ix86_binds_local_p. - -2015-04-17 Jakub Jelinek - - PR debug/65771 - * dwarf2out.c (mem_loc_descriptor): For CONST, fallback to - trying mem_loc_descriptor on XEXP (rtl, 0). - -2015-04-17 Martin Liska - - * ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs): - Release symbol_compare_collection. - * ipa-reference.c: Add TODO that a vector should be released. - -2015-04-17 Sivanupandi Pitchumani - - PR target/65296 - * config/avr/gen-avr-mmcu-specs.c (*avrlibc_startfile): Adjust - to new AVR-LibC file layout (bug #44574). - (*avrlibc_devicelib): Same. - * config/avr/avr-mcus.def: Adjust comments. - * config/avr/avr.opt (nodevicelib): Adjust help. - -2015-04-17 Alan Lawrence - - * config/aarch64/arm_neon.h (vdup_n_f32): Remove forward declaration. - -2015-04-17 Patrick Palka - - PR c++/64527 - * gimplify.c (gimplify_init_constructor): Always emit a - side-effecting constructor. - -2015-04-17 Tom de Vries - - PR tree-optimization/64950 - * gimplify.c (gimplify_function_tree): Tentatively set PROP_gimple_lva - in cfun->curr_properties. - (gimplify_va_arg_expr): Clear PROP_gimple_lva in cfun->curr_properties - if we generate an IFN_VA_ARG. - * tree-inline.c (expand_call_inline): Reset PROP_gimple_lva in dest - function if PROP_gimple_lva is not set in src function. - -2015-04-17 Tom de Vries - Michael Matz - - PR tree-optimization/64950 - * gimple-iterator.c (update_modified_stmts): Remove static. - * gimple-iterator.h (update_modified_stmts): Declare. - * gimplify.c (gimplify_modify_expr): Handle IFN_VA_ARG. - (gimplify_va_arg_internal): New function. - (gimplify_va_arg_expr): Use IFN_VA_ARG. - * gimplify.h (gimplify_va_arg_internal): Declare. - * internal-fn.c (expand_VA_ARG): New unreachable function. - * internal-fn.def (VA_ARG): New DEF_INTERNAL_FN. - * tree-stdarg.c (gimple_call_ifn_va_arg_p, expand_ifn_va_arg_1) - (expand_ifn_va_arg): New function. - (pass_data_stdarg): Add PROP_gimple_lva to properties_provided field. - (pass_stdarg::execute): Call expand_ifn_va_arg. - (pass_data_lower_vaarg): New pass_data. - (pass_lower_vaarg): New gimple_opt_pass. - (pass_lower_vaarg::gate, pass_lower_vaarg::execute) - (make_pass_lower_vaarg): New function. - * cfgexpand.c (pass_data_expand): Add PROP_gimple_lva to - properties_required field. - * passes.def (all_passes): Add pass_lower_vaarg. - * tree-pass.h (PROP_gimple_lva): Add define. - (make_pass_lower_vaarg): Declare. - -2015-04-17 Tom de Vries - - * fold-const.c (operand_equal_p): Handle INTERNAL_FNs. - * calls.c (call_expr_flags): Same. - -2015-04-17 Tom de Vries - - * tree-stdarg.c (optimize_va_list_gpr_fpr_size): Factor out of ... - (pass_stdarg::execute): ... here. - -2015-04-17 Tom de Vries - Michael Matz - - * tree-cfg.c (make_blocks_1): Factor out of ... - (make_blocks): ... here. - (make_edges_bb): Factor out of ... - (make_edges): ... here. - (gimple_find_sub_bbs): New function. - * tree-cfg.h (gimple_find_sub_bbs): Declare. - -2015-04-17 Tom de Vries - - * tree.c (free_lang_data): Disable lang_hooks.gimplify_expr. - -2015-04-17 Yury Gribov - - * asan.c (set_sanitized_sections): New function. - (section_sanitized_p): Ditto. - (asan_protect_global): Optionally sanitize user-defined - sections. - * asan.h (set_sanitized_sections): Declare new function. - * common.opt (fsanitize-sections): New option. - * doc/invoke.texi (-fsanitize-sections): Document new option. - * opts-global.c (handle_common_deferred_options): Handle new - option. - -2015-04-17 Jakub Jelinek - - PR debug/65771 - * dwarf2out.c (loc_list_from_tree): Return NULL - for DEBUG_EXPR_DECL. - -2015-04-17 Christian Bruel - - * ipa-inline.c (can_inline_edge_p): Allow inlining of functions with - same attributes. - -2015-04-16 Zhouyi Zhou - - * ira-color.c (setup_left_conflict_sizes_p): Do not process - node itself when computing left conflict subnode size. - -2015-04-16 Uros Bizjak - - * config/i386/predicates.md (register_mixssei387nonimm_operand): New. - * config/i386/i386.md (*fop__1_mixed): Merge with - *fop__1_sse using enabled attribute. Use - register_mixssei387nonimm_operand operand 1 predicate. Change - alternative 3 constraints from "x" to "v". - -2015-04-16 Richard Biener - - PR tree-optimization/65774 - * tree-ssa-ccp.c (evaluate_stmt): Constrain types we invoke - bit-value tracking on. - -2015-04-16 Richard Biener - - PR tree-optimization/64277 - * tree-vrp.c (check_array_ref): Fix anti-range handling, - simplify upper bound handling. - (search_for_addr_array): Simplify. - (check_array_bounds): Handle ADDR_EXPRs here. - (check_all_array_refs): Simplify. - -2015-04-16 Uros Bizjak - - * config/i386/i386.c (print_reg): Rewrite function. - -2015-04-16 Andreas Krebbel - - * config/s390/s390.h (IRA_HARD_REGNO_ADD_COST_MULTIPLIER): - Invert the condition. - -2015-04-16 Renlin Li - - * simplify-rtx.c (simplify_unary_operation_1): Fix a typo. Enable two - simplifications for UNSIGNED_FLOAT. - -2015-04-16 Nick Clifton - - * config/rl78/rl78-opts.h (enum rl78_mul_types): Add MUL_G14 and - MUL_UNINIT. - (enum rl78_cpu_type): New. - * config/rl78/rl78-virt.md (attr valloc): Add divhi and divsi. - (umulhi3_shift_virt): Remove m constraint from operand 1. - (umulqihi3_virt): Likewise. - * config/rl78/rl78.c (rl78_option_override): Add code to process - -mcpu and -mmul options. - (rl78_alloc_physical_registers): Add code to handle divhi and - divsi valloc attributes. - (set_origin): Likewise. - * config/rl78/rl78.h (RL78_MUL_G14): Define. - (TARGET_G10, TARGET_G13, TARGET_G14): Define. - (TARGET_CPU_CPP_BUILTINS): Define __RL78_MUL_xxx__ and - __RL78_Gxx__. - (ASM_SPEC): Pass -mcpu on to assembler. - * config/rl78/rl78.md (mulqi3): Add a clobber of AX. - (mulqi3_rl78): Likewise. - (mulhi3_g13): Likewise. - (mulhi3): Generate the G13 or G14 versions of the insn directly. - (mulsi3): Likewise. - (mulhi3_g14): Add clobbers of AX and BC. - (mulsi3_g14): Likewise. - (mulsi3_g13): Likewise. - (udivmodhi4, udivmodhi4_g14, udivmodsi4): New patterns. - (udivmodsi4_g14, udivmodsi4_g13): New patterns. - * config/rl78/rl78.opt (mmul): Initialise value to - RL78_MUL_UNINIT. - (mcpu): New option. - (m13, m14, mrl78): New option aliases. - * config/rl78/t-rl78 (MULTILIB_OPTIONS): Add mg13 and mg14. - (MULTILIB_DIRNAMES): Add g13 and g14. - * doc/invoke.texi: Document -mcpu and -mmul options. - -2015-04-16 Richard Biener - - * tree-ssa-ccp.c (likely_value): See if we have operands that - are marked as never simulate again and return CONSTANT in this - case. - * tree-ssa-propagate.c (simulate_stmt): Mark stmts that do - not have any operands that will be simulated again as - not being simulated again. - -2015-04-15 Uros Bizjak - - * config/i386/i386.md (*cmpi_mixed): - Merge with *cmpi_sse using enabled attribute. - (*extendsfdf2_mixed): Merge with *extendsfdf2_sse using enabled - attribute. - (*truncdfsf_fast_mixed): Merge with *truncdfsf_fast_sse using - enabled attribute. - (*float2_mixed): Rename from - *float2_sse. - (*absneg2_mixed): Merge with *absneg2_sse using - enabled attribute. - (*fop__comm_mixed): Merge with *fop__comm_sse using - enabled attribute. - -2015-04-15 Tom de Vries - - PR other/65487 - * function.c (push_dummy_function): New function. - (init_dummy_function_start): Use push_dummy_function. - (pop_dummy_function): New function. Factored out of ... - (expand_dummy_function_end): ... here. - * function.h (push_dummy_function, pop_dummy_function): Declare. - * passes.c (pass_manager::dump_passes): Use push_dummy_function and - pop_dummy_function. - * tree-chkp.c (chkp_gate): Handle cgraph_node::get (cfun->decl) == NULL. - -2015-04-15 Jeff Law - - PR tree-optimization/47679 - * tree-ssa-dom.c (build_and_record_new_cond): Moved to avoid - need for forward declaration in upcoming changes. - (record_conditions, record_edge_info): Likewise. - - PR rtl-optimization/42522 - * cse.c (fold_rtx): Try to simplify a ZERO_EXTRACT or - SIGN_EXTRACT as a whole object rather than simplifying - its operand. - -2015-04-15 Jakub Jelinek - - PR ipa/65765 - * ipa-icf-gimple.c (func_checker::compare_bb): For GIMPLE_NOP - and GIMPLE_PREDICT use break instead of return true. For - GIMPLE_EH_DISPATCH, compare dispatch region. - -2015-04-14 Matthew Wahab - - * doc/extend.texi (__sync Builtins): Simplify some text. Update - details about the implementation. Make clear preference for - __atomic builtins. Reduce possibility of future change. - -2015-04-15 Nick Clifton - - * config/rx/rx.opt (mallow-string-insns): New option. - * config/rx/rx.c (RX_BUILTIN_RMPA): Disable the use of this - builtin if string instructions are denied. - * config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Define - __RX_ALLOW_STRING_INSNS__ or __RX_DISALLOW_STRING_INSNS__, as - appropriate. - (ASM_SPEC): Pass -mno-allow-string-insns on to the assembler. - * config/rx/rx.md (movstr): Enable pattern only if string - instructions are allowed. - (rx_movstr, rx_strend, movmemsi, rx_movmem): Likewise. - (cmpstrnsi, cmpstrsi, rx_cmpstrn, rmpa): Likewise. - * config/rx/t-rx (MULTILIB_OPTIONS): Add mno-allow-string-insns. - (MULTILIB_DIRNAMES): Add no-strings. - * doc/invoke.texi: Document -mno-allow-string-insns. - -2015-04-15 Alan Modra - - PR target/65408 - PR target/58744 - PR middle-end/36043 - * calls.c (load_register_parameters): Don't load past end of - mem unless suitably aligned. - -2015-04-15 Nick Clifton - - * config/rl78/rl78.c (rl78_expand_prologue): Mark large stack - decrement instruction as being frame related. - (rl78_print_operand_1): Handle 'p' modifier to add +0 to HL - based addresses. - If zero extending a function address enclose the operation in - %code(...). - (rl78_preferred_reload_class): New function. - (TARGET_PREFERRED_RELOAD_CLASS): Define. - * config/rl78/rl78.md: Remove useless constraints in expanders. - (mulqi3_rl78): Remove + qualifier on input-only operand 1. - (mulhi3_rl78): Likewise. - (mulhi3_g13): Likewise. - (mulsi3_rl78): Likewise. - (es_addr): Move to before the multiply patterns. - -2015-04-15 Alan Modra - - * function.h (struct emit_status): Delete x_first_insn, x_last_insn - and sequence_stack. Add seq. - (seq_stack): Delete. - * function.c (prepare_function_start): Don't access x_last_insn. - * emit-rtl.h (get_current_sequence, get_topmost_sequence): New. - (get_insns, set_first_insn, get_last_insn, set_last_insn): Use them. - * emit_rtl.c (start_sequence, push_topmost_sequence, - pop_topmost_sequence, end_sequence, in_sequence_p, init_emit): Use - sequence accessors. - (get_last_insn_anywhere, add_insn_after_nobb, add_insn_before_nobb, - remove_insn): Likewise. Simplify. - * config/m32c/m32c.c (m32c_leaf_function_p): Use push_topmost_sequence - and pop_topmost_sequence. - (m32c_function_needs_enter): Use get_topmost_sequence. Ignore - debug insns. - * config/rs6000/rs6000.c (rs6000_call_aix): Use get_current_sequence. - -2015-04-14 Yvan Roux - - PR target/65729 - * lra-constraints.c (prohibited_class_reg_set_mode_p): Restore and fix - the assertiion. - -2015-04-14 Uros Bizjak - - * config/i386/i386.h (LEGACY_INT_REG_P): New define. - (LEGACY_INT_REGNO_P): Ditto. - (GENERAL_REGNO_P): Use LEGACY_INT_REGNO_P. - (ANY_MASK_REG_P): Remove. - (BND_REG_P): Rename from ANY_BND_REG_P. - * config/i386/i386.c (print_reg): Use LEGACY_INT_REG_P to print - legacy integer registers. Do not handle MMX_REG_P in a special way. - Merge 64byte and 32byte SSE handling. - -2015-04-14 Nick Clifton - - * expr.c (expand_assignment): Force an address offset computation - into a register before changing its mode. - (expand_expr_real_1): Likewise. - -2015-04-14 Alan Lawrence - - * config/aarch64/arm_neon.h (vst1_lane_f32, vst1_lane_f64, - vst1_lane_p8, vst1_lane_p16, vst1_lane_s8, vst1_lane_s16, - vst1_lane_s32, vst1_lane_s64, vst1_lane_u8, vst1_lane_u16, - vst1_lane_u32, vst1_lane_u64, vst1q_lane_f32, vst1q_lane_f64, - vst1q_lane_p8, vst1q_lane_p16, vst1q_lane_s8, vst1q_lane_s16, - vst1q_lane_s32, vst1q_lane_s64, vst1q_lane_u8, vst1q_lane_u16, - vst1q_lane_u32, vst1q_lane_u64): Reimplement with pointer dereference - and __aarch64_vget_lane_any. - -2015-04-14 Jakub Jelinek - - PR rtl-optimization/65761 - * cfgrtl.c (rtl_split_edge): For EDGE_CROSSING split, use - get_last_bb_insn (after) instead of NEXT_INSN (BB_END (after)). - -2015-04-14 Richard Biener - - * graphite-scop-detection.c: Do not include cp/cp-tree.h. - (graphite_can_represent_scev): Use POINTER_TYPE_P. - -2015-04-14 Richard Biener - - PR tree-optimization/65758 - * tree-ssa-ccp.c (get_value_from_alignment): Adjust mask test - against -1. - (ccp_lattice_meet): Likewise. - (bit_value_unop): Likewise. - (bit_value_binop): Likewise. - (bit_value_assume_aligned): Likewise. - -2015-04-14 Christian Bruel - - * execute_dwarf2_frame (dw_frame_pointer_regnum): Reinitialize for each - function. - -2015-04-14 Marc Glisse - - PR tree-optimization/63387 - * match.pd ((x unord x) | (y unord y) -> (x unord y), - (x unord x) | (x unord y) -> (x unord y)): New simplifications. - -2015-04-14 Uros Bizjak - - * config/i386/predicates.md (any_QIreg_operand): Rename from - q_regs_operand. Do not process subregs. - (QIreg_operand): Use QI_REGNO_P predicate. - (ext_QIreg_operand): Ditto. - (ext_register_operand): Ditto. - * config/i386/i386.md (TEST splitters): Use QIreg_operand predicate. - (AND splitters): Ditto. - (AND with -65536 splitter): Add SWI48 mode for operand 0. - (AND with -256 splitter): Use any_QIreg_operand predicate and - SWI248 mode for operand 0. - (AND with -65281 splitter): Use QIreg_operand predicate and SWI248 - mode for operand 0. - (SETCC + MOVZBL peepholes): Update for renamed any_QIreg_operand. - -2015-04-13 Gerald Pfeifer - - * doc/plugins.texi: Rewrite first introductory paragraph. - -2015-04-12 Jan Hubicka - - * tree-vrp.c (nonnull_arg_p): THIS pointers and references are non-zero. - (gimple_stmt_nonzero_warnv_p): Reference return values are non-zero. - -2015-04-12 Jan Hubicka - - * ipa-profie.c (ipa_profile): Check number of parameters - and possible polymorphic call targets before - devirtualizing. - -2015-04-13 Uros Bizjak - - * config/i386/i386.md (*bmi2_umul3_1): Merge from - *bmi2_umulsidi3_1 and *bmi2_umulditi3_1 using DWIH mode iterator. - -2015-04-13 Richard Biener - - PR tree-optimization/65204 - * tree-ssa-ccp.c (evaluate_stmt): Always evaluate address - takens for bit-CCP. - -2015-04-13 Richard Biener - - PR target/65660 - * config/i386/i386.c (bdver1_cost): Double cond_taken_branch_cost - and cond_not_taken_branch_cost to 4 and 2. - (bdver2_cost): Likewise. - (bdver3_cost): Likewise. - (bdver4_cost): Likewise. - -2015-04-12 Jan Hubicka - - * hash-table.h (hash_table constructor): Add mem stats. - (alloc_entries): Likewise. - -2015-04-12 Jan Hubicka - - * ipa-cp.c (ipcp_driver): Relase prev_edge. - * passes.c (execute_one_pass): Only add transform if pass has one. - -2015-04-12 Joseph Myers - - * config/i386/i386.c (ix86_option_override_internal): Don't set - -fprefetch-loop-arrays if optimizing for size. - -2015-04-12 Jan Hubicka - Gerald Pfeifer - - * doc/contrib.texi (Contributors): Add Martin Jambor and - Michael Matz. - -2015-04-12 Jakub Jelinek - - * BASE-VER: Set to 6.0.0. - - PR tree-optimization/65747 - * ipa-icf-gimple.c (func_checker::compare_operand): Use compare_operand - rather than compare_ssa_name for OBJ_TYPE_REF_OBJECT. - -2015-04-12 Gerald Pfeifer - - * doc/invoke.texi (-Wmemset-transposed-args): Break a long - sentence. Improve grammar. - -2015-04-12 Gerald Pfeifer - - * doc/contrib.texi (Contributors): Add Maxim Kuvyrkov. - -2015-04-11 Jan Hubicka - - PR ipa/65743 - * ipa-inline-transform.c (speculation_removed): Remove static var. - (check_speculations): New function. - (clone_inlined_nodes): Do not check spculations. - (inline_call): Call check_speculations. - * ipa-prop.c (ipa_make_edge_direct_to_target): Do not - consider non-invariants. - -2015-04-11 Jan Hubicka - Martin Liska - - PR ipa/65722 - * ipa-icf.c (sem_item::compare_cgraph_references): function and - variable can not match. - (sem_item::update_hash_by_addr_refs): Fix handling of virtual tables. - (sem_variable::equals_wpa): Fix checking of DECL_FINAL_P patch. - -2015-04-11 Jakub Jelinek - - PR tree-optimization/65735 - * tree-ssa-threadedge.c (fsm_find_control_statement_thread_paths): - Remove visited_phis argument, add visited_bbs, avoid recursing into the - same bb rather than just into the same phi node. - (thread_through_normal_block): Adjust caller. - -2015-04-11 Gerald Pfeifer - - * doc/contrib.texi (Contributors): Add Ira Rosen. - -2015-04-11 Benno Schulenberg - - * gcov.c (find_source): Fix miswording in error message. - * config/i386/i386.c (ix86_handle_cconv_attribute): Likewise. - (ix86_expand_sse_comi_round): Fix typo in error message. - -2015-04-11 Gerald Pfeifer - - * doc/contrib.texi (Contributors): Add Laurynas Biveinis. - -2015-04-10 Gerald Pfeifer - - * doc/contrib.texi (Contributors): Update Joe Buck's entry. - -2015-04-10 Vladimir Makarov - - PR target/65710 - * lra-assigns.c (spill_for): Update smallest_bad_spills_num. - Print bad_spills_num and insn_pseudos_num. - -2015-04-10 Kyrylo Tkachov - - PR target/65694 - * config/arm/arm.c (arm_canonicalize_comparison): Use ARM_SIGN_EXTEND - when creating +1 values for SImode. - -2015-04-10 Vladimir Makarov - - PR target/65729 - * lra-constraints.c (prohibited_class_reg_set_mode_p): Comment the - assert. - -2015-04-10 Jakub Jelinek - Iain Sandoe - - PR target/65351 - * configure: Regenerate. - -2015-04-09 Kirill Yukhin - - PR target/65671 - * config/i386/sse.md: Generate vextract32x4 if AVX-512DQ is disabled. - -2015-04-09 Gerald Pfeifer - - * doc/contrib.texi (Contributors): Add John Marino. - -2015-04-09 Jakub Jelinek - - PR tree-optimization/65709 - * ubsan.c (instrument_mem_ref): Use TREE_TYPE (base) instead of - TREE_TYPE (TREE_TYPE (t)). - -2015-04-09 Vladimir Makarov - - PR target/65710 - * lra-int.h (lra_bad_spill_regno_start): New. - * lra.c (lra_bad_spill_regno_start): New. - (lra): Set up lra_bad_spill_regno_start. Set up - lra_constraint_new_regno_start unconditionally. - * lra-assigns.c (spill_for): Use lra_bad_spill_regno_start for - spill preferences. - -2015-04-09 Marek Polacek - Jakub Jelinek - - PR middle-end/65554 - * gimple-fold.c (gimple_fold_builtin_memory_op): Update comment. - (fold_ctor_reference): Use STRIP_USELESS_TYPE_CONVERSION instead - of STRIP_NOPS. - -2015-04-09 Segher Boessenkool - - PR rtl-optimization/65693 - * combine.c (is_parallel_of_n_reg_sets): Move outside of - #ifndef HAVE_cc0. - -2015-04-09 Georg-Johann Lay - - PR target/65296 - * config/avr/driver-avr.c (avr_devicespecs_file): Don't specify a - device specs file if "device-specs%s" didn't resolve to a path. - -2015-04-09 Kirill Yukhin - - PR target/65676 - * config/i386/i386.c (fixup_modeless_constant): New. - (ix86_expand_args_builtin): Fixup modeless constant operand. - (ix86_expand_round_builtin): Ditto. - (ix86_expand_special_args_builtin): Ditto. - (ix86_expand_builtin): Ditto. - -2015-04-09 Jakub Jelinek - - PR target/65693 - * config/i386/i386.md (*udivmod4_pow2): Allow - any pow2 integer in between 2 and 0x80000000U inclusive. - -2015-04-08 Segher Boessenkool - - PR rtl-optimization/65693 - * combine.c (is_parallel_of_n_reg_sets): Change first argument - from an rtx_insn * to an rtx. - (try_combine): Adjust both callers. Use it once more. - -2015-04-08 Ilya Enkovich - - * tree-chkp.c (chkp_find_const_bounds_var): Remove. - (chkp_make_static_const_bounds): Search existing - symbol by assembler name. Use make_decl_one_only. - (chkp_get_zero_bounds_var): Remove node search which - is now performed in chkp_make_static_const_bounds. - (chkp_get_none_bounds_var): Likewise. - -2015-04-08 Michael Witten - - * doc/extend.texi (Attribute Syntax): Add a trailing semicolon - to an example. - -2015-04-08 Bernhard Reutner-Fischer - - * tree.h (CONVERT_EXPR_P): Commentary typo fix. - -2015-04-08 Gerald Pfeifer - - * doc/extend.texi (__sync Builtins): Fix grammar. - -2015-04-08 Bernhard Reutner-Fischer - - * doc/cfg.texi (GIMPLE statement iterators): Fix typo. - -2015-04-08 Bernhard Reutner-Fischer - - * varasm.c (emit_local): Move definition of align. - -2015-04-08 Julian Brown - - * config/nvptx/mkoffload.c (process): Support variable mapping. - -2015-03-27 Trevor Saunders - - * config/alpha/alpha.c (alpha_use_linkage): Change type of slot to - alpha_links **. - (alpha_write_one_linkage): Correct typo. - -2015-04-08 Ilya Enkovich - - * ipa-comdats.c (propagate_comdat_group): Walk through thunks. - -2015-04-08 Gerald Pfeifer - - * doc/install.texi (bootstrap-lto-noplugin): Rewrite. - -2015-04-08 Ilya Enkovich - - * tree-chkp.h (chkp_insert_retbnd_call): New. - * tree-chkp.c (chkp_insert_retbnd_call): New. - * ipa-split.c (insert_bndret_call_after): Remove. - (split_function): Use chkp_insert_retbnd_call. - * cgraphunit.c (cgraph_node::expand_thunk): Build returned - bounds for instrumented functions. - -2015-04-07 Jan Hubicka - - PR ipa/65540 - * calls.c (initialize_argument_information): When producing tail - call also turn SSA_NAMES passed by references to original PARM_DECLs - -2015-04-07 Vladimir Makarov - - PR target/65648 - * lra-remat.c (do_remat): Process input and non-input insn - registers separately. - -2015-04-07 Jakub Jelinek - - PR debug/65678 - * valtrack.c (debug_lowpart_subreg): New function. - (dead_debug_insert_temp): Use it. - - PR middle-end/65680 - * expr.c (get_inner_reference): Handle bit_offset that doesn't fit - into signed HOST_WIDE_INT the same as negative bit_offset. - -2015-04-07 Ilya Enkovich - - * ipa-comdats.c (ipa_comdats): Visit all thunks - to set proper comdat group. - -2015-04-07 Kyrylo Tkachov - - PR target/65489 - * config/arm/arm.c (arm_legitimate_constant_p_1): Remove restriction - on constants for NEON VSTRUCT modes. - -2015-04-07 Jakub Jelinek - Iain Sandoe - - PR target/65351 - * configure: Regenerate. - -2015-04-06 Michael Meissner - - PR target/65614 - * config/rs6000/rs6000.c (struct processor_costs): Add cost field - for SF->DF conversions to make FLOAT_EXTEND more expensive, so - that LFD is used to load double constants instead of LFS. Add - defaults for all costs structures. Add comments for missing - initialization fields. - (size32_cost): Likewise. - (size64_cost): Likewise. - (rs64a_cost): Likewise. - (mpccore_cost): Likewise. - (ppc403_cost): Likewise. - (ppc405_cost): Likewise. - (ppc440_cost): Likewise. - (ppc476_cost): Likewise. - (ppc601_cost): Likewise. - (ppc603_cost): Likewise. - (ppc604_cost): Likewise. - (ppc604e_cost): Likewise. - (ppc620_cost): Likewise. - (ppc630_cost): Likewise. - (ppccell_cost): Likewise. - (ppc750_cost): Likewise. - (ppc7450_cost): Likewise. - (ppc8540_cost): Likewise. - (ppce300c2c3_cost): Likewise. - (ppce500mc_cost): Likewise. - (ppce500mc64_cost): Likewise. - (ppce5500_cost): Likewise. - (ppce6500_cost): Likewise. - (titan_cost): Likewise. - (power4_cost): Likewise. - (power6_cost): Likewise. - (power7_cost): Likewise. - (power8_cost): Likewise. - (ppca2_cost): Likewise. - (rs6000_rtx_costs): Make FLOAT_EXTEND use SFDF_convert field. - - * config/rs6000/rs6000.md (extendsfdf2_fpr): Generate XSCPSGNDP - instead of XXLOR to copy SFmode to clear out dirty bits created - when SFmode denormals are generated. - (mov_hardfloat, FMOVE32 case): Likewise. - (truncdfsf2_fpr): Add support for ISA 2.07 XSRSP instruction. - -2015-04-06 Evandro Menezes - - * doc/invoke.texi (AARCH64/mtune): Add exynos-m1 as an option. - * config/aarch64/aarch64-cores.def (exynos-m1): New core. - * config/aarch64/aarch64-tune.md: Regenerate. - -2015-04-06 Evandro Menezes - - * doc/invoke.texi (ARM/mtune): Add "exynos-m1" as an option. - * config/arm/arm.c (arm_issue_rate): Specify "3" for "exynosm1". - * config/arm/arm-cores.def (exynos-m1): New core. - * config/arm/arm-tune.md: Regenerate. - * config/arm/arm-tables.opt: Add entry for "exynos-m1". - * config/arm/bpabi.h: Likewise. - -2015-04-06 Ilya Enkovich - - * ipa-cp (set_single_call_flag): Remove too - restrictive assert. - -2015-04-06 Ilya Verbin - - * config/i386/intelmic-mkoffload.c (generate_host_descr_file): Call - GOMP_offload_unregister from the destructor. - -2015-04-06 Ilya Enkovich - - * ipa-chkp.c (chkp_maybe_create_clone): Reset cdtor - flags for instrumentation thunk. - (chkp_produce_thunks): Likewise. - -2015-04-05 Martin Liska - - PR ipa/65665 - * ipa-icf.c (sem_function::equals_wpa): Verify that IPA CP - has computed data structure. - (sem_item_optimizer::update_hash_by_addr_refs): Likewise. - -2015-04-04 Jan Hubicka - - * invoke.texi (inline-unit-growth): Increase growth to 20% - * params.def (PARAM_INLINE_UNIT_GROWTH): Likewise. - -2015-04-04 Vladimir Makarov - - PR target/65647 - * lra-int.h (LRA_MAX_REMATERIALIZATION_PASSES): New. Add its - value checking. - (lra_rematerialization_iter): New. - * lra.c (lra): Initialize lra_rematerialization_iter. - Stop updating lra_constraint_new_regno_start after switching of - inheritance and rematerialization. - * lra-remat.c (lra_rematerialization_iter): New. - (lra_remat): Add printing pass iteration. Do rematerialization - only first LRA_MAX_REMATERIALIZATION_PASSES iterations. - -2015-04-04 Richard Biener - - PR tree-optimization/64909 - PR tree-optimization/65660 - * tree-vectorizer.h (vect_get_known_peeling_cost): Adjust - to take a cost vector for scalar iteration cost. - (vect_get_single_scalar_iteration_cost): Likewise. - * tree-vect-loop.c (vect_get_single_scalar_iteration_cost): - Compute the scalar iteration cost into a cost vector. - (vect_get_known_peeling_cost): Use the scalar cost vector to - account for the cost of the peeled iterations. - (vect_estimate_min_profitable_iters): Likewise. - * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): - Likewise. - -2015-04-04 Alan Modra - - PR target/65576 - PR target/65240 - * config/rs6000/predicates.md (zero_reg_mem_operand): Exclude - 0.0 constant unless TARGET_VSX. - * config/rs6000/rs6000.md (extenddftf2_internal): Remove last - alternative. - -2015-04-03 Jan Hubicka - - PR ipa/65654 - * ipa-inline-transform.c (inline_call): Skip sanity check to work - around the ICE - -2015-04-03 Jan Hubicka - - PR ipa/65655 - * ipa-inline-analysis.c (edge_set_predicate): Do not redirect - speculative indirect edges to avoid ordering issue. - -2015-04-03 Jan Hubicka - - PR ipa/65076 - * ipa-inline.c (edge_badness): Add combined size to the denominator. - -2015-04-03 Jakub Jelinek - - * omp-low.c (scan_omp_parallel, scan_omp_task, scan_omp_target): Set - TYPE_ARTIFICIAL on the .omp_data* types. - -2015-04-02 Ilya Enkovich - - * cgraphunit.c (cgraph_node::expand_thunk): Don't expand - instrumentation thunks. - -2015-04-02 Ilya Enkovich - - * config/i386/i386.c (ix86_expand_call): Avoid nested - PARALLEL in returned call value. - -2015-04-02 Ilya Enkovich - - * lto-cgraph.c (input_cgraph_1): Always link instrumented - assembler name with original one. - -2015-04-02 Uros Bizjak - - * config/i386/i386.c (ix86_register_priority): Use AX_REG. - -2015-04-02 Uros Bizjak - - Revert parts of r216820. - * config/i386/i386.md (movqi_internal): Correct type calculation - for alternatives 3 and 5. - -2015-04-02 Jakub Jelinek - - PR preprocessor/61977 - * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Don't - predefine __vector/__bool/__pixel macros nor context sensitive - macros for CLK_ASM. - * config/spu/spu-c.c (spu_cpu_cpp_builtins): Similarly. - -2015-04-02 John David Anglin - - * config/pa/pa.c (pa_output_move_double): Directly handle register - indexed memory operand. Simplify handling of scaled register indexed - memory operands. - -2015-04-02 Ilya Enkovich - - PR driver/65444 - * config/i386/linux-common.h (MPX_SPEC): New. - (CHKP_SPEC): Add MPX_SPEC. - * doc/invoke.texi (-fcheck-pointer-boudns): Document - possible issues with '-z bndplt' support in linker. - -2015-04-02 Uros Bizjak - - * config/i386/sync.md (UNSPEC_FILD_ATOMIC, UNSPEC_FIST_ATOMIC): New. - (loaddi_via_fpu): Use UNSPEC_FILD_ATOMIC. - (storedi_via_fpu): Use UNSPEC_FIST_ATOMIC. - * reg-stack.c (get_true_reg): Change UNSPEC_LDA to UNSPEC_FILD_ATOMIC. - (subst_stack_regs_pat): Change UNSPEC_STA to UNSPEC_FIST_ATOMIC. - -2015-04-01 Uros Bizjak - - * config/i386/sync.md (UNSPEC_MOVA): Remove. - (atomic_load): Change operand 0 predicate to - nonimmediate_operand and fix up the destination when needed. - Use UNSPEC_LDA. - (atomic_loaddi_fpu): Use UNSPEC_LDA. - (atomic_store): Change operand 1 predicate to - nonimmendate_operand and move the source to register when needed. - Use UNSPEC_STA. - (atomic_store_1): Use UNSPEC_STA. - (atomic_storedi_fpu): Change operand 1 to nonimmediate_operand. - Fix moves from memory operand. Use UNSPEC_STA. - -2015-04-01 Bernd Edlinger - - * expmed.c (strict_volatile_bitfield_p): Check that the access will - not cross a MODESIZE boundary. - (store_bit_field, extract_bit_field): Added assertions in the - strict volatile bitfields code path. - -2015-04-01 Max Ostapenko - - PR target/65624 - * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_builtin): - Increase args array size by one to avoid buffer overflow. - -2015-03-31 Jan Hubicka - - * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream - split_part. - * ipa-inline.c (edge_badness): Add wrapper penalty. - (sum_callers): Move up. - (inline_small_functions): Set single_caller. - * ipa-inline.h (inline_summary): Add single_caller. - * ipa-split.c (split_function): Set split_part. - (cgraph_node::create_clone): Do not shadow decl; copy split_part. - * cgraph.h (cgraph_node): Add split_part. - -2015-03-31 Uros Bizjak - - PR target/58945 - * config/i386/sync.md (atomic_compare_and_swap_doubleword): - Do not split operands 0 and operands 2 to halfmode. - (atomic_compare_and_swap): Update for - atomic_compare_and_swap_doubleword changes. - -2015-03-31 Jan Hubicka - - * tree.c (need_assembler_name_p): Artificial types have no ODR names. - * ipa-devirt.c (warn_odr): Do not try to apply ODR cache when - no caching is done. - -2015-03-31 Martin Liska - - PR ipa/65557 - * ipa-icf.c (sem_function::equals_wpa): Check if IPA CP - has already filled up function summary. - (sem_item_optimizer::update_hash_by_addr_refs): Likewise. - -2015-03-31 Richard Biener - - * tree-sra.c (create_access_replacement): Drop under-/over-alignment - of types. - -2015-03-31 Dominik Vogt - - * config/s390/s390.c (s390_function_num_hotpatch_hw): Allow hotpatching - nested functions. - (s390_reorg): Adapt to new signature of s390_function_num_hotpatch_hw. - (s390_asm_output_function_label): Adapt to new signature of - s390_function_num_hotpatch_hw - Optimise the code generating assembler output. - Add comments to assembler file. - -2015-03-31 Richard Biener - - PR middle-end/65626 - * tree-cfgcleanup.c (fixup_noreturn_call): Only split the block - of the noreturn call so it is last and cleanup_control_flow_bb - can do the CFG part. - -2015-03-31 Ilya Enkovich - - PR target/65531 - * ipa-chkp.c (chkp_maybe_create_clone): Don't set - same_comdat_group for external symbols. - * symtab.c (symtab_node::verify_symtab_nodes): Avoid - infinite same_comdat_group traversal loop. - -2015-03-31 Jakub Jelinek - - PR plugins/61176 - * Makefile.in (install-plugin): Add all gcc/*.{h,def} files - automatically to $headers. - -2015-03-30 Jakub Jelinek - - PR ipa/65610 - * ipa-utils.h (inlined_polymorphic_ctor_dtor_block_p): Declare. - * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): New - function. - (decl_maybe_in_construction_p, noncall_stmt_may_be_vtbl_ptr_store): - Use it. - * ipa-prop.c (param_type_may_change_p): Likewise. - * tree-ssa-live.c: Include ipa-utils.h and its dependencies. - (remove_unused_scope_block_p): Add in_ctor_dtor_block - argument. Before inlining, preserve - inlined_polymorphic_ctor_dtor_block_p blocks and the outermost block - with FUNCTION_DECL BLOCK_ABSTRACT_ORIGIN inside of them. Adjust - recursive calls. - (remove_unused_locals): Adjust remove_unused_scope_block_p caller. - -2015-03-27 Jan Hubicka - - PR ipa/65076 - * ipa-inline.c (edge_badness): Base denominator on callee's - grwoth squared. - -2015-03-27 Martin Jambor - - PR ipa/65478 - * params.def (PARAM_IPA_CP_RECURSION_PENALTY) : New. - (PARAM_IPA_CP_SINGLE_CALL_PENALTY): Likewise. - * ipa-prop.h (ipa_node_params): New flags node_within_scc and - node_calling_single_call. - * ipa-cp.c (count_callers): New function. - (set_single_call_flag): Likewise. - (initialize_node_lattices): Count callers and set single_flag_call if - necessary. - (incorporate_penalties): New function. - (good_cloning_opportunity_p): Use it, dump new flags. - (propagate_constants_topo): Set node_within_scc flag if appropriate. - * doc/invoke.texi (ipa-cp-recursion-penalty, - ipa-cp-single-call-pentalty): Document. - -2015-03-27 Jan Hubicka - - PR ipa/65588 - * symtab.c (symtab_node::get_partitioning_class): Register vars - are duplicated. - * varpool.c (symbol_table::output_variables) Do not assemble unefined - decls for non-symbols. - -2015-03-27 H.J. Lu - - PR target/65248 - * output.h (default_binds_local_p_2): New. - * varasm.c (default_binds_local_p_2): Renamed to ... - (default_binds_local_p_3): This. Don't return true on protected - data symbol if protected data may be external. - (default_binds_local_p): Use default_binds_local_p_3. - (default_binds_local_p_1): Likewise. - (default_binds_local_p_2): New. - * config/i386/i386.c (TARGET_BINDS_LOCAL_P): Set to - default_binds_local_p_2 if TARGET_MACHO is undefined. - -2015-03-27 Jakub Jelinek - - PR target/65593 - * config/i386/i386.c (legitimize_pic_address): If base - is SYMBOL_REF or LABEL_REF using %rip addressing, force - it to reg to avoid PLUS of SYMBOL_REF/LABEL_REF and register. - -2015-03-27 Jan Hubicka - - PR target/65531 - * symtab.c (symtab_node::verify_symtab_nodes): Fix verification of - comdat groups. - -2015-03-27 Jan Hubicka - - PR ipa/65600 - * cgraph.c (cgraph_update_edges_for_call_stmt_node): Fix the case - of optimized out indirect call. - (redirect_to_unreachable): Always build symbol table node for - BUILT_IN_UNREACHABLE - -2015-03-27 Vladimir Makarov - - PR target/65407 - * ira-costs.c (record_reg_classes): Process all constraint string - containing 0-9. - -2015-03-27 Bernd Schmidt - - * config/c6x/c6x.md (movmisalign): Use MEM_P, not - memory_operand. - - PR target/65052 - * config/c6x/constraints.md (S3): New constraint. - * config/c6x/c6x.md (real_jump): Use it. - -2015-03-26 Jan Hubicka - - PR middle-end/65595 - * cgraph.c (cgraph_update_edges_for_call_stmt_node): Only - do redirection if the call is not optimized out. - -2015-03-27 Ilya Enkovich - - PR target/65495 - * c-family/c.opt (fcheck-pointer-bounds): List supported languages. - (fchkp-check-incomplete-type): Add LTO. - (fchkp-zero-input-bounds-for-main): Likewise. - (fchkp-first-field-has-own-bounds): Likewise. - (fchkp-narrow-bounds): Likewise. - (fchkp-narrow-to-innermost-array): Likewise. - (fchkp-use-static-bounds): Likewise. - (fchkp-use-static-const-bounds): Likewise. - (fchkp-treat-zero-dynamic-size-as-infinite): Likewise. - -2015-03-27 Marek Polacek - - * gimple-iterator.h (gsi_prev_nondebug): Fix typo. - -2015-03-27 Marek Polacek - - PR sanitizer/65583 - * ubsan.c (ubsan_create_edge): New function. - (instrument_bool_enum_load): Call it. - (instrument_nonnull_arg): Likewise. - (instrument_nonnull_return): Likewise. - (instrument_object_size): Likewise. - -2015-03-26 Jan Hubicka - - * lto-streamer.h (class lto_location_cache): Turn loc_cache into - auto_vec. - -2015-03-26 Jan Hubicka - - PR lto/65536 - * lto-streamer.h (class lto_location_cache): New. - (struct data_in): Add location_cache. - (lto_input_location): Update prototype. - (stream_input_location_now): New. - * streamer-hooks.h (struct streamer_hooks): Make input_location to take - pointer to location. - (stream_input_location): Update. - * ipa-devirt.c: Include streamer-hooks.h and lto-streamer.h - (warn_odr): Apply location cache before warning. - (lto_input_location): Update prototype. - * gimple-streamer-in.c (input_phi, input_gimple_stmt): - Use stream_input_location_now. - * lto-streamer-in.c (lto_location_cache::current_cache): New static - variable. - (lto_location_cache::cmp_loc): New function. - (lto_location_cache::apply_location_cache): New function. - (lto_location_cache::accept_location_cache): New function. - (lto_location_cache::revert_location_cache): New function. - (lto_location_cache::input_location): New function. - (lto_input_location): Do location caching. - (stream_input_location_now): New function. - (input_eh_region, input_struct_function_base): Use - stream_input_location_now. - (lto_data_in_create): use new. - (lto_data_in_delete): Use delete. - * tree-streamer-in.c (unpack_ts_block_value_fields, - unpack_ts_omp_clause_value_fields, streamer_read_tree_bitfields, - lto_input_ts_exp_tree_pointers): Update for cached location api. - -2015-03-26 Jan Hubicka - - PR ipa/65076 - * passes.def: Add pass_nothrow. - * ipa-pure-const.c: (pass_data_nothrow): New. - (pass_nothrow): New. - (pass_nothrow::execute): New. - (make_pass_nothrow): New. - * tree-pass.h (make_pass_nothrow): Declare. - -2015-03-26 Jan Hubicka - - * ipa-inline-analysis.c (redirect_to_unreachable): Be prepared for - edge to change by speculation resolution or redirection. - (edge_set_predicate): Likewise. - (inline_summary_t::duplicate): Likewise. - (remap_edge_summaries): Likewise. - -2015-03-26 Jan Hubicka - - * ipa-inline.c (check_maybe_up, check_maybe_down, check_match): - New macros. - (can_inline_edge_p): Relax option matching for always inline functions. - -2015-03-26 Uros Bizjak - - PR target/65561 - * config/i386/sse.md (avx512dq_vextract64x2_1_maskm): - Check operand 4 and operand 0 for equality. - (avx512f_vextract32x4_1_maskm): - Check operand 6 and operand 0 for equality. - (vec_extract_lo__maskm): Check operand 2 and operand 0 - for equality. - (vec_extract_hi__maskm): Ditto. - -2015-03-26 Jan Hubicka - - * cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not bring - dead calls back to live. - (cgraph_edge::verify_count_and_frequency): Move cgraph/cfg frequency - cross check to ... - (cgraph_node::verify_node): ... here; verify only callee edges, - not caller. - * cif-code.def (CILK_SPAWN): New code. - -2015-03-26 Jan Hubicka - - * ipa-inline-analysis.c (redirect_to_unreachable): New function. - (edge_set_predicate): Use it to mark unreachable edges. - (inline_summary_t::duplicate): Remove unnecesary code. - (remap_edge_summaries): Likewise. - (dump_inline_summary): Report contains_cilk_spawn. - (compute_inline_parameters): Compute contains_cilk_spawn. - (inline_read_section, inline_write_summary): Stream - contains_cilk_spawn. - * ipa-inline.c (can_inline_edge_p): Do not touch - DECL_STRUCT_FUNCTION that may not be available; - use CIF_CILK_SPAWN for cilk; fix optimization attribute checks; - remove check for callee_fun->can_throw_non_call_exceptions and - replace it by optimization attribute check; check for flag_exceptions. - * ipa-inline-transform.c (inline_call): Maintain - DECL_FUNCTION_PERSONALITY - * ipa-inline.h (inline_summary): Add contains_cilk_spawn. - -2015-03-26 Jakub Jelinek - - PR tree-optimization/65551 - * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use - TYPE_PRECISION only for INTEGRAL_TYPE_P types. - -2015-03-26 Richard Biener - - PR middle-end/65555 - * tree-cfg.c (verify_gimple_call): Do not require a call to - have no LHS if it wasn't recognized as control altering yet. - -2015-03-26 Jakub Jelinek - - PR tree-optimization/64715 - * passes.def: Add another instance of pass_object_sizes before ccp1. - * tree-object-size.c (pass_object_sizes::execute): In - first_pass_instance, only handle __bos (, 1) and __bos (, 3) - calls, and keep the call in the IL, as {MIN,MAX}_EXPR of the - __bos result and the computed constant. Remove redundant - checks, obsoleted by gimple_call_builtin_p test. - - * var-tracking.c (variable_tracking_main_1): Don't track - variables for targetm.no_register_allocation targets. - -2015-03-26 Oleg Endo - - * config/sh/t-linux (DEFAULT_ENDIAN, MULTILIB_EXCEPTIONS): Remove. - * config/sh/t-sh (MULTILIB_EXCEPTIONS): Handle default endian. - -2015-03-25 Michael Meissner - - PR target/65569 - * config/rs6000/rs6000.md (extenddftf2_fprs): On VSX systems use - XXLXOR to create 0.0. On pre-VSX systems make sure the constant - 0.0 is correctly setup. - (extenddftf2_internal): Likewise. - -2015-03-25 Sebastian Pop - - PR tree-optimization/65177 - * tree-ssa-threadupdate.c (verify_seme): Renamed verify_jump_thread. - (bb_in_bbs): New. - (duplicate_seme_region): Renamed duplicate_thread_path. Redirect all - edges not adjacent on the path to the original code. - -2015-03-25 Uros Bizjak - - PR bootstrap/65537 - * doc/install.texi (Building a native compiler): Document new - bootstrap-lto-noplugin configuration. Mention that bootstrap-lto - configuration assumes that the host supports the linker plugin. - -2015-03-25 Ilya Enkovich - - PR target/65508 - * tree-chkp.c (chkp_add_bounds_to_call_stmt): Set static - chain for generated call. - -2015-03-25 Richard Biener - - * passes.c (pass_manager::execute_early_local_passes): Guard - execution of pass_chkp_instrumentation_passes with - flag_check_pointer_bounds. - (pass_chkp_instrumentation_passes::gate): Likewise. - -2015-03-25 Martin Liska - - PR tree-optimization/65538 - * symbol-summary.h (function_summary::~function_summary): - Relese memory for allocated summaries. - (function_summary::release): New function. - -2015-03-25 Jakub Jelinek - - PR lto/65515 - * lto-streamer-out.c (DFS::worklist): New struct. - (DFS::worklist_vec): New data member. - (DFS::next_dfs_num): Remove. - (DFS::DFS): Rewritten using worklist instead of recursion, - using most of code from DFS::DFS_write_tree. - (DFS::DFS_write_tree_body): Remove SINGLE_P argument, don't - pass it to DFS_write_tree calls. - (DFS::DFS_write_tree): Remove SINGLE_P argument, after - quick initial checks push it into worklist_vec and return. - -2015-03-25 Richard Biener - - PR middle-end/65519 - * genmatch.c (expr::gen_transform): Re-write to avoid - using gimple_build. - -2015-03-25 Bin Cheng - - * doc/sourcebuild.texi (arm_tune_string_ops_prefer_neon): New. - -2015-03-25 Bin Cheng - - * config/arm/arm.opt (print_tune_info): New option. - * config/arm/arm.c (arm_print_tune_info): New function. - (arm_file_start): Call arm_print_tune_info. - * config/arm/arm-protos.h (struct tune_params): Add comment. - * doc/invoke.texi (@item -mprint-tune-info): New item. - (-mtune): mention it in ARM Option Summary. - -2015-03-25 DJ Delorie - - * config/rl78/rl78.c (rl78_print_operand_1): Move 'p' test to - correct clause. - -2015-03-24 Jan Hubicka - Martin Liska - - * ipa-icf-gimple.h (return_with_result): Add missing colon to dump. - * ipa-icf.c (sem_function::get_hash): Hash new declaration properties. - (sem_item::add_type): New function. - (sem_function::hash_stmt): Add TREE_TYPE of gimple_op. - (sem_function::compare_polymorphic_p): Do not consider indirect calls. - (sem_item_optimizer::update_hash_by_addr_refs): Add ODR type to hash. - (sem_function::equals_wpa): Fix typo. - * ipa-icf.h (sem_item::add_type): New function. - (symbol_compare_hashmap_traits): Replace hashing of pointer with symbol - order. - -2015-03-24 Jakub Jelinek - - PR tree-optimization/65533 - * tree-vect-slp.c (vect_build_slp_tree): Before re-trying - with swapped operands, call vect_free_slp_tree on - SLP_TREE_CHILDREN of child and truncate the SLP_TREE_CHILDREN - vector. - -2015-03-24 Richard Biener - - PR middle-end/65517 - * tree-cfg.c (remove_edge_and_dominated_blocks): Mark loops - for fixup if necessary. - -2015-03-23 Sandra Loosemore - - * doc/extend.texi (Function Attributes): Add @cindex entries - for all attributes and regularize their format. Delete text - about long-obsolete 68HC11 and 68HC12 targets. Move misplaced - information about "eightbit_data", "tiny_data", and "model" - variable attributes to the Variable Attributes section. Fix - some obvious typos and copy-editing issues. - (Variable Attributes, Type Attributes): Likewise add/fix - @cindex entries for all attributes. - -2015-03-23 Jakub Jelinek - - PR target/65523 - * tree-chkp.c (chkp_build_returned_bound): Ignore - ERF_RETURNS_ARG calls if they have fewer than needed arguments. - -2015-03-23 Oleg Endo - - PR target/65505 - * config/sh/predicates.md (simple_mem_operand, - displacement_mem_operand): Add test for reg. - (short_displacement_mem_operand): Test for displacement_mem_operand - before invoking sh_disp_addr_displacement. - * config/sh/constraints.md (Sdd, Sra): Simplify. - * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): - Remove redundant displacement_mem_operand tests. - -2015-03-23 Georg-Johann Lay - - PR target/65296 - * config/avr/driver-avr.c (avr_devicespecs_file): Allow to specify - the same -mmcu=MCU more than once. - -2015-03-23 Jakub Jelinek - - PR bootstrap/65522 - * ipa-devirt.c: Remove duplicate demangle.h include. - - PR target/65504 - * config/i386/i386.c (ix86_copy_addr_to_reg): Set REG_POINTER - on the pseudo. - (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Set - REG_POINTER on *destptr after adjusting it for prologue size. - - PR ipa/65521 - * ipa-icf.c (sem_item::update_hash_by_addr_refs): Hash - ultimate_alias_target ()->order ints instead of - ultimate_alias_target () pointers. - -2015-03-23 Richard Biener - - PR tree-optimization/65518 - * tree-vect-stmts.c (vectorizable_load): Reject single-element - interleaving cases we generate absymal code for. - -2015-03-23 Richard Biener - - PR tree-optimization/65494 - * tree-vect-slp.c (vect_build_slp_tree): Do not (re-)allocate - matches here. - (vect_analyze_slp_instance): But do that here, always and once. - -2015-03-23 Kyrylo Tkachov - - * expmed.c (synth_mult): Fix comment about multiplying by T-1 and - adding T or multiplying by T+1 and subracting T. - -2015-03-22 Jeff Law - - PR rtl-optimization/64317 - * Makefile.in (OBJS): Add gcse-common.c - * gcse.c: Include gcse-common.h - (struct modify_pair_s): Move structure definition to gcse-common.h - (compute_transp): Move function to gcse-common.c. - (canon_list_insert): Similarly. - (record_last_mem_set_info): Break out some code and put it into - gcse-common.c. Call into the new common code. - (compute_local_properties): Pass additional arguments to compute_transp. - * postreload-gcse.c: Include gcse-common.h and df.h - (modify_mem_list_set, blocks_with_calls): New variables. - (modify_mem_list, canon_modify_mem_list, transp): Likewise. - (get_bb_avail_insn): Pass in the expression index too. - (alloc_mem): Allocate memory for the new bitmaps and lists. - (free_mem): Free memory for the new bitmaps and lists. - (insert_expr_in_table): Record a bitmap index for each entry we - add to the table. - (record_last_mem_set_info): Call into common code in gcse-common.c. - (get_bb_avail_insn): If no available insn was found in the requested - BB. If BB has a single predecessor, see if the expression is - transparent in BB and available in that single predecessor. - (compute_expr_transp): New wrapper for compute_transp. - (eliminate_partially_redundant_load): Pass expression's bitmap_index - to get_bb_avail_insn. Compute next_pred_bb_end a bit later. - (gcse_after_reload_main): If there are elements in the hash table, - then compute transparency for all the elements in the hash table. - * gcse-common.h: New file. - * gcse-common.c: New file. - -2015-03-22 Sandra Loosemore - - * doc/cpp.texi (Search Path): Hyphenate "command-line" when used - as an adjective. - (System Headers): Likewise. - (Ifdef): Likewise. - (Traditional macros): Likewise. - (Invocation): Likewise. - (Option Index): Likewise. - * doc/cppopts.texi (-M): Likewise. - (-finput-charset): Likewise. - (--help): Likewise. - * doc.invoke.texi (AVR Options): Likewise. - (V850 Options): Likewise. - -2015-03-22 Jan Hubicka - - PR ipa/65475 - * ipa-devirt.c: Include demangle.h - (odr_type_d): Add field rtti_broken. - (odr_subtypes_equivalent_p): Do not require name to match. - (compare_virtual_tables): Fix typo; if type already has ODR violation, - bypass the tests; be ready for function referneces in vtables that are - not DECL_VIRTUAL; make warnings to be OPT_Wodr. - (warn_odr): Give up for nameless types. - (warn_types_mismatch): Report mismatch in mangled names; - report mismatch in anonymous namespaces; look into component types to - give useful error; report when mismatch is dragged in from other ODR - type. - (odr_types_equivalent_p): Match types for being polymorphic; avoid - duplicated diagnostics. - (add_type_duplicate): Reorder checks so more informative ones come - first; fix typo; do not output "the extra base is defined here" when - we did not warn. - (BINFO_N_BASE_BINFOS): Relax sanity check. - -2015-03-22 Martin Liska - Jakub Jelinek - - * config/i386/i386.c (def_builtin): Set deferred_isa_values for - masks that can potentially include a builtin. - (ix86_add_new_builtins): Introduce fast filter for isa values - that cannot trigger builtin inclusion. - -2015-03-22 Martin Liska - - * ipa-icf.c (sem_item::update_hash_by_addr_refs): New function. - (sem_item::update_hash_by_local_refs): Likewise. - (sem_variable::get_hash): Empty line is fixed. - (sem_item_optimizer::execute): Include adding of hash references. - (sem_item_optimizer::update_hash_by_addr_refs): New function. - (sem_item_optimizer::build_hash_based_classes): Use local hash. - * ipa-icf.h (sem_item::update_hash_by_addr_refs): New function. - (sem_item::update_hash_by_local_refs): Likewise. - -2015-03-20 Jan Hubicka - - PR ipa/65502 - * ipa-comdats.c (enqueue_references): Walk through thunks. - (ipa_comdats): Likewise. - (set_comdat_group_1): New function. - -2015-03-20 Jan Hubicka - - PR ipa/65475 - * ipa-devirt.c (add_type_duplicate): Prevail polymorphic type over - non-polymorphic - -2015-03-22 Dave Korn - Gerald Pfeifer - - * doc/contrib.texi (Contributors): Update entry for Danny Smith. - -2015-03-21 Chung-Lin Tang - Sandra Loosemore - - * config/nios2/nios2-protos.h (nios2_adjust_call_address): Adjust - function parameter declaration. - * config/nios2/nios2.md (call,call_value,sibcall,sibcall_value): - Update arguments to nios2_adjust_call_address(). - (sibcall_internal): Rename from *sibcall. - (sibcall_value_internal): Rename from *sibcall_value. - * config/nios2/nios2.c (nios2_emit_add_constant): New function. - (nios2_large_got_address): Add target temp reg parameter. - (nios2_got_address): Adjust call to nios2_large_got_address, add - force_reg around it. - (nios2_load_pic_address): Add target temp reg parameter, replace call - to nios2_got_address with corresponding code. - (nios2_legitimize_constant_address): Update call to - nios2_load_pic_address. - (nios2_adjust_call_address): Add temp reg parameter, update PIC case - to use temp reg for PIC loading purposes. - (nios2_asm_output_mi_thunk): Implement TARGET_ASM_OUTPUT_MI_THUNK. - (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define. - (TARGET_ASM_OUTPUT_MI_THUNK): Likewise. - -2015-03-21 Sandra Loosemore - - * doc/invoke.texi (-fno-diagnostics-show-caret): Fix - usage of "the @option{...}". - (-Wopenmp-simd): Likewise. - (-fsanitize-recover): Likewise. - (-fsanitize-undefined-trap-on-error): Likewise. - (-flto): Likewise. - (tracer-dynamic-coverage-feedback): Likewise. - (reorder-block-duplicate-feedback): Likewise. - (loop-unroll-jam-size): Likewise. - (-B): Likewise. - (-I-): Likewise. - (-mabs=legacy): Likewise. - (-mupper-regs-df): Likewise. - (-mupper-regs-sf): Likewise. - (-mpointers-to-nested-functions): Likewise. - -2015-03-21 Sandra Loosemore - - * doc/extend.texi (Cilk Plus Builtins): Add markup. - -2015-03-21 Sandra Loosemore - - * doc/invoke.texi (-fcheck-pointer-bounds): Copy-edit, add - additional index entries and cross-references. - (-fchkp-check-incomplete-type): Likewise. - (-fchkp-first-field-has-own-bounds): Likewise. - (-fchkp-narrow-to-innermost-array): Likewise. - (-fchkp-use-fast-string-functions): Likewise. - (-fchkp-use-nochk-string-functions): Likewise. - (-fchkp-use-static-const-bounds): Likewise. - (-fchkp-treat-zero-dynamic-size-as-infinite): Likewise. - (-fchkp-instrument-marked-only): Likewise. - (-fchkp-use-wrappers): Likewise. - (-static-libmpx): Likewise. - (-static-libmpxwrappers): Likewise. - * doc/extend.texi (bnd_legacy): Likewise. - (bnd_instrument): Likewise. - (bnd_variable_size): Likewise. - (Pointer Bounds Checker builtins): Likewise. - -2015-03-21 Tom de Vries - - PR tree-optimization/65458 - * cgraph.c (cgraph_node::dump): Handle parallelized_function field. - * cgraph.h (cgraph_node): Add parallelized_function field. - * lto-cgraph.c (lto_output_node): Write parallelized_function field. - (input_overwrite_node): Read parallelized_function field. - * omp-low.c (expand_omp_taskreg, finalize_task_copyfn): Set - parallelized_function on cgraph_node for child_fn. - * tree-parloops.c: Add include of plugin-api.h, ipa-ref.h and cgraph.h. - Remove include of gt-tree-parloops.h. - (parallelized_functions): Remove static variable. - (parallelized_function_p): Rewrite using parallelized_function field of - cgraph_node. - (create_loop_fn): Remove adding to parallelized_functions. - * Makefile.in (GTFILES): Remove tree-parloops.c - -2015-03-20 Vladimir Makarov - - PR rtl-optimization/64366 - * lra.c (lra_update_insn_regno_info): Consider regs in - CALL_INSN_FUNCTION_USAGE memory. - -2015-03-20 Richard Biener - - PR middle-end/64715 - * tree-chrec.c (chrec_fold_poly_cst): Use useless_type_conversion_p - for type comparison and gcc_checking_assert. - (chrec_fold_plus_poly_poly): Likewise. - (chrec_fold_multiply_poly_poly): Likewise. - (chrec_convert_1): Likewise. - * gimplify.c (gimplify_expr): Remove premature folding of - &X + CST to &MEM[&X, CST]. - -2015-03-20 Jan Hubicka - - * ipa-inline.c (can_inline_edge_p): Short circuit if inline_failed - already is final. - (ipa_inline): Recompute inline_failed codes. - * cif-code.def (FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE, - USES_COMDAT_LOCAL, ATTRIBUTE_MISMATCH, UNREACHABLE): Declare as - CIF_FINAL_ERROR. - -2015-03-20 Uros Bizjak - - PR rtl-optimization/60851 - * recog.c (constrain_operands): Accept a pseudo register before reload - for LRA enabled targets. - -2015-03-19 Michael Meissner - - PR target/65240 - * config/rs6000/predicates.md (easy_fp_constant): Remove special - -ffast-math handling that kept non-0 constants live in the RTL - until reload. Remove logic testing the number of instructions it - took to create a constant in a GPR that was never used, due to a - test for soft-float earlier. - (memory_fp_constant): Delete, no longer used. - - * config/rs6000/rs6000.md (mov_hardfloat): Remove - alternatives for loading non-0 constants into GPRs for hard - floating point that is no longer needed due to changes in - easy_fp_constant. Add support for loading 0.0 into GPRs. - (mov_hardfloat32): Likewise. - (mov_hardfloat64): Likewise. - (mov_64bit_dm): Likewise. - (movtd_64bit_nodm): Likewise. - (pre-reload move FP constant define_split): Delete define_split, - since it is no longer used. - (extenddftf2_internal): Remove GHF constraints that are not valid - for extenddftf2. - -2015-03-19 Vladimir Makarov - - PR rtl-optimization/63491 - * lra-constraints.c (check_and_process_move): Use src instead of - sreg. Remove some dead code. - -2015-03-19 Jan Hubicka - - PR ipa/65380 - * ipa-icf.c (sem_function::merge): Do not merge DECL_EXTERNAL symbols. - (sem_variable::merge): Likewise. - -2015-03-19 Martin Liska - - PR ipa/65465 - * cgraphunit.c (cgraph_node::create_wrapper): Correctly reset - all fields of cgraph_thunk_info. - -2015-03-19 Ilya Enkovich - - * ipa-chkp.c (chkp_maybe_create_clone): Don't try to - clone instrumented thunks. - -2015-03-19 Richard Biener - - Revert - 2015-03-10 Richard Biener - - PR middle-end/63155 - * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare. - * tree-ssa-coalesce.c: Include timevar.h. - (attempt_coalesce): Handle graph being NULL. - (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING. - Split out abnormal coalescing to ... - (perform_abnormal_coalescing): ... this function. - (coalesce_ssa_name): Perform abnormal coalescing without computing - live/conflict. - (verify_ssa_coalescing_worker): New function. - (verify_ssa_coalescing): Likewise. - -2015-03-19 Bernd Edlinger - Jakub Jelinek - - PR sanitizer/65400 - * tsan.c (instrument_gimple): Clear tail call flag on - calls. - -2015-03-19 Jakub Jelinek - - PR sanitizer/65400 - * ipa-split.c (find_return_bb): Allow TSAN_FUNC_EXIT internal - call in the return bb. - (find_split_points): Add RETURN_BB argument, don't call - find_return_bb. - (split_function): Likewise. Add ADD_TSAN_FUNC_EXIT argument, - if true append TSAN_FUNC_EXIT internal call after the call to - the split off function. - (execute_split_functions): Call find_return_bb here. - Don't optimize if TSAN_FUNC_EXIT is found in unexpected places. - Adjust find_split_points and split_function calls. - -2015-03-18 DJ Delorie - - * config/rl78/rl78-virt.md (andqi3_virt): Allow far operands. - (iorqi3_virt): Likewise. - -2015-03-18 Tom de Vries - - * tree-parloops.c (parallelize_loops): Make static. - * tree-parloops.h (parallelize_loops): Remove extern declaration. - -2015-03-18 Andrew Stubbs - - PR middle-end/64491 - Revert: - 2014-11-20 Andrew Stubbs - - * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Warn if a loop - condition would be removed due to undefined behaviour. - -2015-03-18 Martin Liska - - PR ipa/65432 - * cgraph.c (cgraph_node::get_create): Remove unnecessary - xstrdup_for_dump wrapper. - * ipa-icf.c (sem_item::dump): Use symtab_node::name instead of - sem_item::name. - (sem_function::equals): Wrap symtab_node::name and symtab_node::asm_name - with xstrdup_for_dump. - (sem_variable::equals): Likewise. - (sem_item_optimizer::read_section): Use symtab_node::name instead of - sem_item::name. - (sem_item_optimizer::parse_funcs_and_vars): Likewise. - (sem_item_optimizer::merge_classes): Wrap symtab_node::name and - symtab_node::asm_name with xstrdup_for_dump. - (congruence_class::dump): Use symtab_node::name instead of - sem_item::name. - * ipa-icf.h (symtab_node::name): Remove. - (symtab_node::asm_name): Likewise. - -2015-03-18 Jakub Jelinek - - PR tree-optimization/65450 - * tree-vect-data-refs.c (vect_duplicate_ssa_name_ptr_info): New - function. - (vect_create_addr_base_for_vector_ref, vect_create_data_ref_ptr): Use - it instead of duplicate_ssa_name_ptr_info. - - PR target/65222 - * doc/invoke.texi: Add knl as x86 -march=/-mtune= CPU type. - -2015-03-18 Richard Biener - - * tree-data-ref.h (struct access_matrix): Remove. - (AM_LOOP_NEST, AM_NB_INDUCTION_VARS, AM_PARAMETERS, AM_MATRIX, - AM_NB_PARAMETERS, AM_CONST_COLUMN_INDEX, AM_NB_COLUMNS, - AM_GET_SUBSCRIPT_ACCESS_VECTOR, AM_GET_ACCESS_MATRIX_ELEMENT): Likewise. - (am_vector_index_for_loop): Likewise. - (struct data_reference): Remove access_matrix member. - (DR_ACCESS_MATRIX): Remove. - (lambda_vector_new): Add comment. - (lambda_matrix_new): Use XOBNEWVEC. - -2015-03-18 Richard Biener - - * tree-ssa-loop-ch.c (pass_data_ch): Remove TODO_cleanup_cfg. - (pass_ch::execute): Cleanup the CFG only if we did sth. - * tree-vect-generic.c (pass_data_lower_vector): Remove TODO_cleanup_cfg. - -2015-03-18 Kyrylo Tkachov - - * expmed.c (synth_mult): Use std::swap instead of manually - swapping algorithms. - -2015-03-18 Jakub Jelinek - - PR target/65078 - * config/i386/sse.md (movsi/movdi -> vec_extract_*_0 splitter): New. - -2015-03-16 Georg-Johann Lay - - PR target/65296 - * config/avr/avr.opt (-nodevicelib): New option. - * doc/invoke.texi (AVR Options): Document it. - * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC) [avr1]: Don't link - libgcc.a, libc.a, libm.a. - * config/avr/specs.h: Same. - * config/avr/gen-avr-mmcu-specs.c (print_mcu): Don't print specs - which don't (directly) depend on the device. Print more help. - (*avrlibc_devicelib) [-nodevicelib]: Don't link libdev.a. - (*cpp): Don't define __AVR_DEV_LIB_NAME__. - * config/avr/driver-avr.c: Remove -nodevicelib from option list in - case of an error. - (avr_devicespecs_file): Use suffix "%s" instead of absolute path - for specs file name. - * config/avr/avr-arch.h (avr_mcu_t) [.library_name]: Remove. - * config/avr/avr-mcus.def: Adjust initializers and comments. - -2015-03-16 Jan Hubicka - - * tree-sra.c (ipa_sra_preliminary_function_checks): Use - DECL_ONE_ONLY to check if decl is one only. - * ipa-split.c (consider_split): Limit splitt of one only functions. - -2015-03-16 Jakub Jelinek - - PR tree-optimization/65427 - * tree-vect-generic.c (do_cond, expand_vector_scalar_condition): New - functions. - (expand_vector_operations_1): Handle BLKmode vector COND_EXPR. - -2015-03-16 Marek Polacek - - * cgraph.h (add_new_static_var): Remove declaration. - * varpool.c (add_new_static_var): Remove function. - -2015-03-16 Jakub Jelinek - - * omp-low.c (expand_omp_target): Use auto_vec - instead of vec * with vec_alloc and release for args. - Adjust all users. - - PR middle-end/65431 - * omp-low.c (delete_omp_context): Only splay_tree_delete - reduction_map in GIMPLE_OMP_TARGET is_gimple_omp_offloaded - is_gimple_omp_oacc contexts. Don't look at ctx->outer. - -2015-03-16 Max Ostapenko - - PR sanitizer/64820 - * cfgexpand.c (align_base): New function. - (alloc_stack_frame_space): Call it. - (expand_stack_vars): Align prev_frame to be sure - data->asan_vec elements aligned properly. - -2015-03-16 Eric Botcazou - - PR middle-end/65409 - * expr.c (store_field): Do not do a direct block copy if the source is - a PARALLEL with BLKmode. - -2015-03-16 Tom de Vries - - PR middle-end/65414 - Revert: - 2015-03-12 Tom de Vries - - PR rtl-optimization/64895 - * lra-lives.c (check_pseudos_live_through_calls): Use - actual_call_used_reg_set instead of call_used_reg_set, if available. - -2015-03-16 Alan Modra - - PR target/63150 - * config/rs6000/rs6000.md (bswapdi2): Remove one scratch reg. - Modify Z->r bswapdi splitter to use dest in place of scratch. - In r->Z and Z->r bswapdi splitter rename word_high, word_low - to word1, word2 and rearrange logic to suit. - (bswapdi2_64bit): Remove early clobber on Z->r alternative. - (bswapdi2_ldbrx): Likewise. Remove '??' on r->r. - (bswapdi2_32bit): Remove early clobber on Z->r alternative. - Add one '?' on r->r. Modify Z->r splitter to avoid need for - early clobber. - -2015-03-14 Jakub Jelinek - - PR tree-optimization/65369 - * tree-vect-stmts.c (vectorizable_load) : - Set bump to vs * TYPE_SIZE_UNIT (elem_type) - 1 instead of - (vs - 1) * TYPE_SIZE_UNIT (elem_type). - - PR tree-optimization/65418 - * tree-ssa-reassoc.c (extract_bit_test_mask): If there - are casts in the first PLUS_EXPR operand, ensure tbias and - *totallowp are in the inner type. - - PR rtl-optimization/65401 - * combine.c (rtx_equal_for_field_assignment_p): Add widen_x - argument. If true, adjust_address_nv of x with big-endian - correction for the mode widening to GET_MODE (y). - (make_field_assignment): Don't do MEM mode widening here. - Use MEM_P instead of GET_CODE == MEM. - -2015-03-13 Ilya Verbin - - * varpool.c (varpool_node::get_create): Don't set 'offloadable' flag for - the external decls. - -2015-03-13 Kyrylo Tkachov - - PR target/64600 - * config/arm/arm.c (arm_gen_constant, AND case): Use - ARM_SIGN_EXTEND when constructing AND mask. - -2015-03-13 Thomas Preud'homme - - * graph.c (print_graph_cfg): Make function names visible and append - parenthesis to it. Also make groups of basic blocks belonging to the - same function visible. - -2015-03-12 Richard Biener - - PR middle-end/44563 - * tree-inline.c (gimple_expand_calls_inline): Walk BB backwards - to avoid quadratic behavior with inline expansion splitting blocks. - * tree-cfgcleanup.c (cleanup_tree_cfg_bb): Do not merge block - with the successor if the predecessor will be merged with it. - * tree-cfg.c (gimple_can_merge_blocks_p): We can't merge the - entry block with its successor. - -2015-03-13 Richard Biener - - PR middle-end/44563 - * tree-cfgcleanup.c (split_bb_on_noreturn_calls): Remove. - (cleanup_tree_cfg_1): Do not call it. - (execute_cleanup_cfg_post_optimizing): Fixup the CFG here. - (fixup_noreturn_call): Mark the stmt as control altering. - * tree-cfg.c (execute_fixup_cfg): Do not dump the function - here. - (pass_data_fixup_cfg): Produce a dump file. - * tree-ssa-dom.c: Include tree-cfgcleanup.h. - (need_noreturn_fixup): New global. - (pass_dominator::execute): Fixup queued noreturn calls. - (optimize_stmt): Queue calls that became noreturn for fixup. - * tree-ssa-forwprop.c (pass_forwprop::execute): Likewise. - * tree-ssa-pre.c: Include tree-cfgcleanup.h. - (el_to_fixup): New global. - (eliminate_dom_walker::before_dom_childre): Queue calls that - became noreturn for fixup. - (eliminate): Fixup queued noreturn calls. - * tree-ssa-propagate.c: Include tree-cfgcleanup.h. - (substitute_and_fold_dom_walker): New member stmts_to_fixup. - (substitute_and_fold_dom_walker::before_dom_children): Queue - alls that became noreturn for fixup. - (substitute_and_fold): Fixup queued noreturn calls. - -2015-03-12 Jan Hubicka - - * ipa-icf.c (sem_function::equals_wpa): Match CXX_CONSTRUCTOR_P - and CXX_DESTURCTOR_P. For consutrctors match ODR type of class they - are building; for methods check ODR type of class they belong to if - they may lead to a polymorphic call. - (sem_function::compare_polymorphic_p): Be bit smarter about testing - when function may lead to a polymorphic call. - (sem_function::compare_type_list): Remove. - (sem_variable::equals): Update use of compatible_types_p. - (sem_variable::parse_tree_refs): Remove. - (sem_item_optimizer::filter_removed_items): Do not filter out CXX - cdtor. - * ipa-icf-gimple.c (func_checker::compare_decl): Do polymorphic - matching here. - (func_checker::compatible_polymorphic_types_p): Break out from ... - (unc_checker::compatible_types_p): ... here. - * ipa-icf-gimple.h (func_checker::compatible_polymorphic_types_p): - Declare. - (unc_checker::compatible_types_p): Update. - * ipa-icf.h (compare_type_list, parse_tree_refs, compare_sections): - Remove. - -2015-03-12 Kyrylo Tkachov - - PR rtl-optimization/65235 - * simplify-rtx.c (simplify_binary_operation_1, VEC_SELECT case): - When first element of vec_concat is const_int, calculate its size - using second element. - -2015-03-12 Richard Biener - - PR middle-end/65270 - * fold-const.c (operand_equal_p): Fix ordering of resetting - OEP_ADDRESS_OF and checking for it in the [TARGET_]MEM_REF case. - -2015-03-12 Dominik Vogt - - * config/s390/s390.c (s390_reorg): Move code to output nops after label - to s390_reorg (). - (s390_asm_output_function_label): Likewise. - * config/s390/s390.c (s390_asm_output_function_label): - Fix function label alignment with -mhtopatch. - * config/s390/s390.md ("unspecv"): New values UNSPECV_NOP_2_BYTE, - UNSPECV_NOP_4_BYTE and UNSPECV_NOP_6_BYTE - ("nop_2_byte"): New define_insn. - ("nop_4_byte"): Likewise. - ("nop_6_byte"): Likewise. - * doc/extend.texi (hotpatch): hotpatch attribute doc fixes. - * doc/invoke.texi (-mhotpatch): -mhotpatch doc fixes. - -2015-03-12 Ilya Enkovich - - PR target/65103 - * config/i386/i386.c (ix86_address_cost): Fix cost of a PIC - register. - -2015-03-12 Ilya Enkovich - - PR target/65044 - * toplev.c (process_options): Restrict Pointer Bounds Checker - usage with Address Sanitizer. - -2015-03-12 Richard Biener - - * tree-cfg.c (gimple_split_block): Remove loop finding stmt - to split on. - * omp-low.c (expand_omp_taskreg): Split block before removing - the stmt. - (expand_omp_target): Likewise. - * ubsan.c (ubsan_expand_null_ifn): Adjust stmt if we replaced it. - * tree-parloops.c (create_call_for_reduction_1): Pass a proper - stmt to split_block. - -2015-03-12 Tom de Vries - - PR rtl-optimization/64895 - * lra-lives.c (check_pseudos_live_through_calls): Use - actual_call_used_reg_set instead of call_used_reg_set, if available. - -2015-03-10 Jan Hubicka - - * cgraph.c (cgraph_node::release_body): Free function_in_decl_state. - (cgraph_node::remove): Likewise. - (cgraph_node::get_untransformed_body): Likewise. - * varpool.c (varpool_node::remove): Likewise. - (varpool_node::get_constructor): Add sanity check. - -2015-03-11 Sandra Loosemore - - * doc/invoke.texi (-fgnu89-inline): Remove discussion about - old GCC versions. - (-fabi-compat-version): Likewise. - (-ffriend-injection): Likewise. - (-Wdeclaration-after-statement): Likewise. - (-fomit-frame-pointer): Likewise. - (-ftree-coalesce-inlined-vars): Likewise. - (-fvisibility=): Likewise. - * doc/extend.texi (Typeof): Likewise. - (Zero Length): Likewise. - (Escaped Newlines): Likewise. - (Compound Literals): Likewise. - (Function Attributes): Likewise. - (Label Attributes): Likewise. - (Type Attributes): Likewise. - (Function Names): Likewise. - (Other Builtins): Likewise. - (Function Specific Option Pragmas): Likewise. - (C++ Interface): Likewise. - -2015-03-11 Thomas Schwinge - - * config/nvptx/nvptx.h (LIBSTDCXX): Define to "gcc". - -2015-03-11 Marek Polacek - - PR tree-optimization/65388 - * tree-ssa-tail-merge.c (same_succ_def::equal): Fix typo in comparison. - -2015-03-10 Georg-Johann Lay - - PR target/65296 - * configure.ac [avr]: Check as for options -mrmw, --mlink-relax. - * configure: Regenerate. - * config.in: Regenerate. - * doc/invoke.texi (AVR Options) [-mrmw]: Document it. - [-mn-flash]: Document it. - [__AVR_ARCH__]: Document avrtiny. - - * config/avr/gen-avr-mmcu-specs.c (config.h): Include it. - (*asm_relax): Only define spec if HAVE_AS_AVR_MLINK_RELAX_OPTION. - (*asm_rmw): Only define spec if HAVE_AS_AVR_MRMW_OPTION. - -2015-03-11 Andreas Krebbel - - * doc/invoke.texi: Add missing cpu values (z196, zEC12). - -2015-03-11 Michael Meissner - - PR target/65242 - * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Do not - allow reloads of PLUS in floating point/VSX registers. - -2015-03-11 Junmo Park - - * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Add - crypto_sha256_fast. - (cortex_a57_crypto_complex): Add crypto_sha256_slow. - -2015-03-11 Richard Biener - - PR tree-optimization/65310 - * tree-sra.c (build_ref_for_offset): Also preserve larger - alignment. - -2015-03-11 Marat Zakirov - - * asan.c (instrument_derefs): Disable instrumentation on asan-globals=0. - -2015-03-10 Jakub Jelinek - - PR target/65368 - * config/i386/i386.md (bmi2_bzhi_3): Removed define_insn, - new define_expand. - (*bmi2_bzhi_3, *bmi2_bzhi_3_1): New define_insns. - -2015-03-10 Jan Hubicka - - * ipa-icf.c (sem_function::equals_wpa): Move here some checks from ... - (sem_function::equals_wpa): ... here. - -2015-03-10 Marek Polacek - Jakub Jelinek - - PR sanitizer/65367 - * ubsan.c (ubsan_expand_objsize_ifn): Update GSI instead of GSI_ORIG - when only removing the statement. Handle expanding UBSAN_OBJECT_SIZE - separately. - -2015-03-10 Jakub Jelinek - - PR target/65286 - * config/rs6000/t-linux: For powerpc64* target set - MULTILIB_OSDIRNAMES instead of MULTIARCH_DIRNAME. - -2015-03-10 Richard Biener - - PR middle-end/44563 - * tree-inline.c (copy_cfg_body): Skip block mapped to entry/exit - for redirect_all_calls. - -2015-03-10 Marek Polacek - - * gdbinit.in (pcfun): Define and document. - -2015-03-10 Ilya Verbin - - * config/i386/intelmic-mkoffload.c: Include intelmic-offload.h instead - of libgomp-plugin.h. - (find_target_compiler): Support a case when the path to gcc is - specified in the PATH env var, so COLLECT_GCC doesn't contain a path. - (generate_host_descr_file): Use GOMP_DEVICE_INTEL_MIC from - intelmic-offload.h instead of OFFLOAD_TARGET_TYPE_INTEL_MIC from - libgomp-plugin.h. - (main): Use GCC_INSTALL_NAME as target_driver_name. - * config/i386/t-intelmic (CFLAGS-mkoffload.o): Add GCC_INSTALL_NAME - define. - (mkoffload.o): Remove obsolete include path and defines. - (mkoffload$(exeext)): Use $(LINKER) instead of $(COMPILER). - -2015-03-10 Richard Biener - - PR middle-end/63155 - * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare. - * tree-ssa-coalesce.c: Include timevar.h. - (attempt_coalesce): Handle graph being NULL. - (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING. - Split out abnormal coalescing to ... - (perform_abnormal_coalescing): ... this function. - (coalesce_ssa_name): Perform abnormal coalescing without computing - live/conflict. - (verify_ssa_coalescing_worker): New function. - (verify_ssa_coalescing): Likewise. - -2015-03-10 Georg-Johann Lay - - PR target/65296 - * config.gcc (extra_options) [avr]: Remove. - (extra_gcc_objs) [avr]: Use driver-avr.o, avr-devices.o. - (tm_file) [avr]: Add avr/specs.h after avr/avr.h. - (tm_defines) [avr-*-rtems*]: Add WITH_RTEMS. - - * config/avr/avr.opt (config/avr/avr-arch.h): Remove include. - (-mmcu=): Add Var and MissingArgError properties. - (-march=): Remove. - * config/avr/genmultilib.awk: Use -mmcu= instead of -march=. - * config/avr/t-multilib: Regenerate. - * config/avr/specs.h: New file. - * config/avr/driver-avr.c: New file. - * config/avr/genopt.sh: Remove file. - * config/avr/avr-tables.opt: Remove file. - * config/avr/predicates.md (avr_current_arch): Rename to avr_arch. - * config/avr/avr-c.c: Same. - * avr-arch.h: Same. - (avr_current_device): Remove proto. - * config/avr/avr.h (avr_current_arch): Rename to avr_arch. - (AVR_HAVE_8BIT_SP): Don't depend on avr_current_device. - (EXTRA_SPEC_FUNCTIONS): Define. - (avr_devicespecs_file): New specs function proto. - (DRIVER_SELF_SPECS): Use device-specs-file spec function. - * config/avr/avr.c (avr_current_arch): Rename to avr_arch. - (avr_current_device): Remove definition and usage. - (avr_set_core_architecture): New static function. - (avr_option_override): Use it. - * config/avr/avr-devices.c (diagnostic.h, avr-arch.h): Include them. - (mcu_name): New static array. - (comparator, avr_archs_str, avr_mcus_str): New static functions. - (avr_inform_devices, avr_inform_core_architectures): New functions. - * config/avr/gen-avr-mmcu-specs.c (avr-arch.h, specs.h): Include. - (avrlibc.h) [WITH_AVRLIBC]: Include. - (../rtems.h, rtems.h) [WITH_RTEMS]: Include. - (print_mcu): Rewrite from scratch. - * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC, STARTFILE_SPEC): - Forward to avr-specific specs defined in device-specs file. - * config/avr/t-avr (driver-avr.o): New rule. - (avr-devices.o): Depend on avr-arch.h. - (avr-mcus): No more depend on avr-tables.opt. - (avr-tables.opt): Remove rule. - (install-device-specs): Use INSTALL_DATA, not INSTALL_PROGRAM. - -2015-03-10 Ilya Enkovich - - * c-family/c.opt (fchkp-use-wrappers): New. - * ipa-chkp.c (CHKP_WRAPPER_SYMBOL_PREFIX): New. - (chkp_wrap_function): New. - (chkp_build_instrumented_fndecl): Support wrapped - functions. - * doc/invoke.texi (-fcheck-pointer-bounds): New. - (-fchkp-check-incomplete-type): New. - (-fchkp-first-field-has-own-bounds): New. - (-fchkp-narrow-bounds): New. - (-fchkp-narrow-to-innermost-array): New. - (-fchkp-optimize): New. - (-fchkp-use-fast-string-functions): New. - (-fchkp-use-nochk-string-functions): New. - (-fchkp-use-static-bounds): New. - (-fchkp-use-static-const-bounds): New. - (-fchkp-treat-zero-dynamic-size-as-infinite): New. - (-fchkp-check-read): New. - (-fchkp-check-write): New. - (-fchkp-store-bounds): New. - (-fchkp-instrument-calls): New. - (-fchkp-instrument-marked-only): New. - (-fchkp-use-wrappers): New. - (-static-libmpx): New. - (-static-libmpxwrappers): New. - -2015-03-10 Ilya Enkovich - - * config/i386/linux-common.h (LIBMPX_WRAPPERSSPEC): New. - (CHKP_SPEC): Add wrappers library. - * c-family/c.opt (static-libmpxwrappers): New. - -2015-03-10 Ilya Enkovich - - * config/i386/linux-common.h (LIBMPX_LIBS): New. - (LIBMPX_SPEC): New. - (CHKP_SPEC): New. - * gcc.c (CHKP_SPEC): New. - (LINK_COMMAND_SPEC): Add CHKP_SPEC. - * c-family/c.opt (static-libmpx): New. - -2015-03-10 Richard Biener - - PR middle-end/44563 - * cgraph.h (struct cgraph_edge_hasher): Add hash overload - for compare_type. - * cgraph.c (cgraph_edge_hasher::hash): Inline htab_hash_pointer. - (cgraph_update_edge_in_call_site_hash): Use cgraph_edge_hasher::hash. - (cgraph_add_edge_to_call_site_hash): Likewise. - (cgraph_node::get_edge): Likewise. - (cgraph_edge::set_call_stmt): Likewise. - (cgraph_edge::remove_caller): Likewise. - -2015-03-10 Chung-Ju Wu - - * config/nds32/nds32.h (callee_saved_regs_size): Rename to ... - (callee_saved_gpr_regs_size): ... this. - (callee_saved_regs_first_regno): Rename to ... - (callee_saved_first_gpr_regno): ... this. - (callee_saved_regs_last_regno) Rename to ... - (callee_saved_last_gpr_regno): ... this. - * config/nds32/nds32.c (nds32_compute_stack_frame): Adjust renamed - variables. - (nds32_initial_elimination_offset): Likewise. - (nds32_expand_prologue): Likewise. - (nds32_expand_epilogue): Likewise. - (nds32_expand_prologue_v3push): Likewise. - (nds32_expand_epilogue_v3pop): Likewise. - * config/nds32/nds32-md-auxiliary.c (nds32_output_stack_push): - Adjust renamed variables. - (nds32_output_stack_pop): Likewise. - -2015-03-10 Thomas Preud'homme - - * dominance.c (nearest_common_dominator_for_set): Fix A_Dominated_by_B - code in comment. - -2015-03-10 Jakub Jelinek - - PR rtl-optimization/65321 - * cfgexpand.c (expand_debug_expr): Ensure shift amount isn't wider - than shift mode. - * var-tracking.c (use_narrower_mode): Likewise. - -2015-03-10 Jan Hubicka - - PR tree-optimization/65355 - * varasm.c (notice_global_symbol): Do not produce RTL. - * symtab.c (symtab_node::can_increase_alignment_p): Check for section - anchor. - * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Do not - check for section anchors. - -2015-03-10 Alan Modra - - PR target/65286 - * config.gcc (powerpc*-*-linux*): Arrange for powerpc64le-linux - to be single-arch by default. Set cpu_is_64bit for powerpc64 - given --with-cpu=native. - * config/rs6000/t-fprules: Do not set default MULTILIB vars. - * config/rs6000/t-linux (MULTIARCH_DIRNAME): Support powerpc64 - and powerpc64le. - * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test - rs6000_isa_flags rather than TARGET_64BIT. - -2015-03-09 Yoshinori Sato - Kaz Kojima - - * config/sh/t-linux (MULTILIB_EXCEPTIONS): Define for m2a cases. - -2015-03-09 Jakub Jelinek - - PR lto/65361 - * ipa-devirt.c (add_type_duplicate): Don't use DECL_CONTEXT - on a TREE_BINFO, instead use BINFO_TYPE. - -2015-03-09 Richard Biener - - PR middle-end/65270 - * tree-core.h (enum operand_equal_flag): Add OEP_ADDRESS_OF. - * fold-const.c (operand_equal_p): When recursing for ADDR_EXPRs - operand set OEP_ADDRESS_OF. Clear it when recursing to non-bases - of that. When comparing dereferences compare alignment. - When comparing MEM_REFs or TARGET_MEM_REFs compare dependence info. - -2015-03-08 Jan Hubicka - - * ipa-inline-analysis.c (check_callers): Check - node->can_remove_if_no_direct_calls_and_refs_p. - (growth_likely_positive): Reorganize to call - can_remove_if_no_direct_calls_p later. - * cgraph.h (will_be_removed_from_program_if_no_direct_calls_p, - will_be_removed_from_program_if_no_direct_calls_p): Add - will_inline parameter. - * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p, - cgraph_node::will_be_removed_from_program_if_no_direct_calls_p): - Handle inliner case correctly. - -2015-03-09 Thomas Preud'homme - - PR tree-optimization/63743 - * cfgexpand.c (reorder_operands): Also reorder if only second operand - had its definition forwarded by TER. - -2015-03-08 Jan Hubicka - - PR lto/65316 - * ipa-utils.h (types_odr_comparable): Add strict argument. - * ipa-devirt.c: Fix whitespace; - (odr_hasher): Remove. - (odr_name_hasher, odr_vtable_hasher): New hashers. - (can_be_name_hashed_p): New predicate. - (hash_type_name): remove. - (hash_odr_name): New. - (odr_name_hasher::hash): new. - (can_be_vtable_hashed_p): New. - (hash_odr_vtable): New. - (odr_vtable_hasher::hash): New. - (types_same_for_odr): Add strict parameter. - (types_odr_comparable): Likewise. - (odr_name_hasher::equal): New. - (odr_vtable_hasher::equal): New. - (odr_name_hasher::remove): New. - (odr_hash_type): Change to hash_table. - (odr_vtable_hash_type): New. - (odr_vtable_hash): New. - (odr_subtypes_equivalent_p): Do strict comparsion. - (add_type_duplicate): Merge type names; cleanup; avoid type - duplicates. - (register_odr_type): Initialize vtable hash. - (build_type_inheritance_graph): Likewise - (get_odr_type): Reorg to use two hashes. - (dump_possible_polymorphic_call_targets): Move sanity check after debug - output. - (ipa_devirt): Dump type_inheritance_graph. - (types_same_for_odr): Add strict mode. - -2015-03-05 Jan Hubicka - - PR ipa/65334 - * cgraph.h (symtab_node): Add definition_alignment, - can_increase_alignment_p and increase_alignment. - * symtab.c (symtab_node::can_increase_alignment_p, - increase_alignment_1, symtab_node::increase_alignment, - symtab_node::definition_alignment): New. - * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Use - can_increase_alignment_p. - * tree-vectorizer.c (increase_alignment): Use increase_alignment. - * tree-vect-stmts.c (ensure_base_align): Likewise. - * varasm.c (function_section_1): Use definition_alignment. - (assemble_start_function): Likewise. - (emit_local): likewise. - (build_constant_desc): Likewsie. - (output_constant_def_contents): Likewise. - (place_block_symbol): Likewise. - (output_object_block): Likewise. - -2015-03-05 Jan Hubicka - - PR ipa/65316 - * tree.c (free_lang_data_in_type): Be sure to keep BINFO_VTABLE - when outputting debug. - -2015-03-07 Marek Polacek - Martin Uecker - - PR sanitizer/65280 - * doc/invoke.texi: Update description of -fsanitize=bounds. - -2015-03-06 Wilco Dijkstra - - * tree-ssa-phiopt.c (neg_replacement): Remove. - (tree_ssa_phiopt_worker): Remove negate optimization. - -2015-03-05 Jan Hubicka - - PR ipa/65302 - * value-prof.c (gimple_ic): Pure dead eh edges when needed. - -2015-03-06 Richard Biener - - PR middle-end/64928 - * tree-ssa-live.h (struct tree_live_info_d): Add livein_obstack - and liveout_obstack members. - (calculate_live_on_exit): Remove. - (calculate_live_ranges): Change declaration. - * tree-ssa-live.c (liveness_bitmap_obstack): Remove global var. - (new_tree_live_info): Adjust. - (calculate_live_ranges): Delete livein when not wanted. - (calculate_live_ranges): Do not initialize liveness_bitmap_obstack. - Deal with partly deleted live info. - (loe_visit_block): Remove temporary bitmap by using - bitmap_ior_and_compl_into. - (live_worklist): Adjust accordingly. - (calculate_live_on_exit): Make static. - * tree-ssa-coalesce.c (coalesce_ssa_name): Tell calculate_live_ranges - we do not need livein. - -2015-03-06 Jonathan Wakely - - * real.c (real_from_string): Fix typo in assertion. - -2015-03-06 Alex Velenko - - * ChangeLog (2015-03-05): Reflect Richard Henderson as actual author of - the patch. - -2015-03-05 Jan Hubicka - - * ipa-icf.c (sem_variable::equals_wpa): Check FINAL flags. - -2015-03-05 Vladimir Makarov - - PR target/64342 - * lra-assigns.c (find_hard_regno_for): Rename to - find_hard_regno_for_1. Add a new parameter. - (find_hard_regno_for): New function using find_hard_regno_for_1. - -2015-03-05 Bernd Edlinger - - PR rtl-optimization/65067 - * expmed.c (store_bit_field, extract_bit_field): Reworked the - strict volatile bitfield handling. - -2015-03-05 Martin Liska - - PR ipa/65318 - * ipa-icf.c (sem_variable::equals): Compare variables types. - -2015-03-05 Richard Henderson - - PR target/65121 - * config/arm/arm.c (arm_function_in_section_p): Fix predicate to - correctly check weak symbol binding. - -2015-03-05 Steve Ellcey - - PR middle-end/65315 - * cfgexpand.c (expand_stack_vars): Update large_align to maximum - needed alignment. - -2015-03-05 Martin Liska - - * ipa-inline.c (inline_small_functions): Set default value to - prevent warning during bootstrap. - * tree.h: Add pragma guard that ignores false positives during - bootstrap. - -2015-03-05 Richard Biener - - PR tree-optimization/65310 - * tree-vect-data-refs.c (vect_compute_data_ref_alignment): - Properly preserve alignment of the base of the access. - -2015-03-05 Richard Biener - - PR ipa/65270 - * ipa-icf-gimple.c (func_checker::compare_memory_operand): - Compare dependence info. - -2015-03-05 Richard Biener - - PR middle-end/65233 - * ipa-polymorphic-call.c: Include tree-ssa-operands.h and - tree-into-ssa.h. - (walk_ssa_copies): Revert last chage. Instead do not walk - SSA names registered for SSA update. - -2015-03-03 Jan Hubicka - - PR ipa/65270 - * ipa-icf.c (sem_item::compare_cgraph_references): Compare - vtable references for their containing type. - (sem_function::equals_wpa): Compare TYPE_RESTRICT - and type attributes. - -2015-03-04 Eric Botcazou - - * fold-const.c (round_up_loc): Cast divisor to signed on all paths - before negating it. - * stor-layout.c (finalize_record_size): Revert latest change. - -2015-03-04 Andreas Tobler - - * config/rs6000/t-freebsd64: Remove 32-bit soft-float multilibs. - -2015-03-03 Jan Hubicka - - * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p): Rewrite - for correct comdat handling. - (cgraph_node::will_be_removed_from_program_if_no_direct_calls_p): - Likewise. - * cgraph.h (call_for_symbol_and_aliases): Fix formating. - (used_from_object_file_p_worker): Remove. - (cgraph_node::only_called_directly_or_alised): Add - used_from_object_file_p. - * ipa-inline-analysis.c (growth_likely_positive): Optimie. - * ipa-inline-transform.c (can_remove_node_now_p_1): Use - can_remove_if_no_direct_calls_and_refs_p. - -2015-03-04 Nick Clifton - - * config/rl78/rl78.h (enum reg_class): Remove real registers from - General register class. - * config/rl78/rl78-real.md: Replace general register constraints - with real+virtual register constraints. - -2015-03-04 Andreas Krebbel - - * config/s390/s390.c (s390_expand_builtin): Exlude non-htm builtins - from checking for -mhtm option. - -2015-03-03 Jan Hubicka - - * tree-sra.c (convert_callers): Use call_for_symbol_and_aliases. - (struct ipa_sra_check_caller_data): Add has_thunk field. - (ipa_sra_check_caller): Check for thunk. - (ipa_sra_preliminary_function_checks): Give up on function with - thunks. - (ipa_early_sra): Use call_for_symbol_and_aliases. - -2015-03-03 Kaz Kojima - - PR target/65249 - * config/sh/sh.md (symGOT_load): Use R0 reg for operands[2] when - called for __stack_chk_guard symbol. - -2015-03-03 DJ Delorie - - * config/rl78/rl78-real.md (*addqi_real): Allow SADDR types for - inc/dec. - (*addhi3_real): Likewise. - * config/rl78/rl78-virt.md (*inc3_virt): Additional - pattern to match incrementing memory. - * config/rl78/predicates.md (rl78_1_2_operand): New. - * config/rl78/rl78.c (rl78_force_nonfar_3): Allow far mem-mem if - it's the same and only mem. - (rl78_alloc_physical_registers_op2): If there's effectively only - one MEM, transcode it into HL. - (rl78_far_p): Reject addresses that aren't legitimate. - -2015-03-03 Eric Botcazou - - * fold-const.c (round_up_loc): Cast divisor to HOST_WIDE_INT before - negating it. - - * tree-sra.c (pa_sra_preliminary_function_checks): Fix typo in message. - -2015-03-03 Max Filippov - - Implement call0 ABI for xtensa - * config/xtensa/constraints.md ("a" constraint): Include stack - pointer in case of call0 ABI. - ("q" constraint): Make empty in case of call0 ABI. - ("D" constraint): Include stack pointer in case of call0 ABI. - * config/xtensa/xtensa-protos.h (xtensa_set_return_address, - xtensa_expand_epilogue, xtensa_regno_to_class): Add new function - prototypes. - * config/xtensa/xtensa.c (xtensa_callee_save_size): New - variable. - (xtensa_regno_to_class): Make it a local variable in the - function xtensa_regno_to_class. - (xtensa_function_epilogue, TARGET_ASM_FUNCTION_EPILOGUE): Remove - macro, function prototype and implementation. - (reg_nonleaf_alloc_order): Make it a local variable in the - function order_regs_for_local_alloc. - (xtensa_conditional_register_usage): New function. - (TARGET_CONDITIONAL_REGISTER_USAGE): Define macro. - (xtensa_valid_move): Allow direct moves to stack pointer - register in call0 ABI. - (xtensa_setup_frame_addresses): Only spill register windows in - windowed ABI. - (xtensa_emit_call): Emit call(x)8 or call(x)0 in windowed and - call0 ABI respectively. - (xtensa_function_arg_1): Only mark a7 register for copying in - windowed ABI. - (xtensa_call_save_reg): New function. - (compute_frame_size): Add space for callee saved register - storage to the frame size in call0 ABI. - (xtensa_expand_prologue): Generate code to set up stack frame - and save callee-saved registers in call0 ABI. - (xtensa_expand_epilogue): New function. - (xtensa_set_return_address): New function. - (xtensa_return_addr): Calculate return address in call0 ABI. - (xtensa_builtin_saveregs): Only mark a7 register for copying and - emit copying code in windowed ABI. - (order_regs_for_local_alloc): Add preferred register allocation - order for non-leaf function in call0 ABI. - (xtensa_static_chain): Add atatic chain passing for call0 ABI. - (xtensa_asm_trampoline_template): Add trampoline generation for - call0 ABI. - (xtensa_trampoline_init): Add trampoline initialization for - call0 ABI. - (xtensa_conditional_register_usage, xtensa_regno_to_class): New - functions. - * config/xtensa/xtensa.h (TARGET_WINDOWED_ABI): New macro. - (TARGET_CPU_CPP_BUILTINS): Add built-in define for call0 ABI. - (CALL_USED_REGISTERS): Modify to encode both windowed and call0 - ABI call-used registers. - (HARD_FRAME_POINTER_REGNUM): Add frame pointer for call0 ABI. - (INCOMING_REGNO, OUTGOING_REGNO): Use argument unchanged in - call0 ABI. - (REG_CLASS_CONTENTS): Include all registers into the preferred - reload registers set, adjust the set in the - xtensa_conditional_register_usage. - (xtensa_regno_to_class): Drop variable declaration. - (REGNO_REG_CLASS): Redefine to use xtensa_regno_to_class - function. - (WINDOW_SIZE): Define as 8 or 0 for windowed and call0 ABI - respectively. - (FUNCTION_PROFILER): Add _mcount call for call0 ABI. - (TRAMPOLINE_SIZE): Define trampoline size for call0 ABI. - (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 in call0 ABI. - (ASM_OUTPUT_POOL_PROLOGUE): Always generate literal pool - location in call0 ABI. - (EH_RETURN_STACKADJ_RTX): New definition, use a10 for passing - stack adjustment size when handling exception. - (CRT_CALL_STATIC_FUNCTION): Add definition for call0 ABI. - * config/xtensa/xtensa.md (A9_REG, UNSPECV_BLOCKAGE): New - definitions. - ("return" pattern): Generate ret.n/ret in call0 ABI. - ("epilogue" pattern): Expand epilogue. - ("nonlocal_goto" pattern): Use default in call0 ABI. - ("eh_return" pattern): Move implementation to eh_set_a0_windowed, - emit eh_set_a0_* depending on ABI. - ("eh_set_a0_windowed" pattern): Former eh_return pattern. - ("eh_set_a0_call0", "blockage"): New patterns. - -2015-03-03 Martin Liska - - PR ipa/65287 - * ipa-icf.c (sem_variable::parse): Skip all alias variables. - -2015-03-03 Michael Meissner - - PR 65138/target - * config/rs6000/rs6000-tables.opt: Regenerate table. - -2015-03-03 Renlin Li - - * doc/md.texi (@item ^): Change ? into ^. - -2015-03-03 H.J. Lu - - * doc/tm.texi: Regenerated. - -2015-03-03 Max Filippov - - * builtins.c (expand_builtin_return_addr): Add - RETURN_ADDR_IN_PREVIOUS_FRAME to 'if' condition, remove - surrounding #ifdef. - * config/sparc/sparc.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Change - definition to 1. - * config/xtensa/xtensa.h (RETURN_ADDR_IN_PREVIOUS_FRAME): - Likewise. - * defaults.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 if - undefined. - * doc/tm.texi.in (RETURN_ADDR_IN_PREVIOUS_FRAME): Update - paragraph. - -2015-03-03 Martin Jambor - Eric Botcazou - - * tree-sra.c (ipa_sra_check_caller_data): New type. - (has_caller_p): Removed. - (ipa_sra_check_caller): New function. - (ipa_sra_preliminary_function_checks): Use it. - -2015-03-03 Martin Liska - - * ipa-icf.c (sem_item_optimizer::merge_classes): Use bit or - instead of if branch. - -2015-03-03 Martin Liska - - PR ipa/65282 - * ipa-icf.c (sem_variable::equals): Fix wrong condition. - -2015-03-23 Jeff Law - - PR tree-optimization/65241 - * tree-ssa-dom.c (lookup_avail_expr): Only modify the avail_expr - hash table if INSERT is true. - -2015-03-03 Georg-Johann Lay - - PR target/65296 - * config.gcc (extra_gcc_objs) [avr-*-rtems*]: Remove. - -2015-03-03 Georg-Johann Lay - - PR target/64331 - * config/avr/avr.c (context.h, tree-pass.h): Include them. - (avr_pass_data_recompute_notes): New static variable. - (avr_pass_recompute_notes): New class. - (avr_register_passes): New static function. - (avr_option_override): Call it. - -2015-03-03 Georg-Johann Lay - - Fix various problems with specs file generation. - - PR target/65296 - * config.gcc (extra_gcc_objs) [avr]: Remove. - * config/avr/driver-avr.c: Remove file. - * config/avr/t-avr (driver-avr.o): Remove rule. - (gen-avr-mmcu-specs): Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD and - INCLUDES to build. Depend on TM_H. - * config/avr/gen-avr-mmcu-specs.c: Tidy up code. Fix various - build warnings. Fix non-matching types and non-existing %-codes. - (tm.h): Include. - (*lib) [!WITH_AVRLIBC]: Don't link libdev.a. - (*libgcc) [WITH_AVRLIBC]: Add "-lm". - * config/avr/avrlibc.h (LIBGCC_SPEC): Remove definition. - * config/avr/avr.h (DRIVER_SELF_SPECS): Fix handling of -march=. - (CPP_SPEC, CC1PLUS_SPEC, ASM_SPEC, LINK_SPEC, LIB_SPEC) - (LIBGCC_SPEC): Remove definitions. - -2015-03-03 Eric Botcazou - - * config/ia64/ia64.c (expand_vec_perm_interleave_2): Use gen_raw_REG - to create a register in testing mode. - -2015-03-03 Martin Liska - Jan Hubicka - - PR ipa/65263 - * cgraph.c (cgraph_node::has_thunk_p): New function. - * cgraph.h (cgraph_node::has_thunk_p: Likewise. - * ipa-icf.c (redirect_all_callers): Do not redirect thunks. - (sem_function::merge): Assert is changed. - -2015-03-03 Martin Liska - Martin Jambor - - PR ipa/65087 - * ipa-icf.c (sem_item_optimizer::execute): Change function - return value to boolean. - (sem_item_optimizer::merge_classes): Likewise. - (ipa_icf_driver): Return TODO_remove_functions in case there's - a merge operation processed. - * ipa-icf.h: Change function return value to boolean. - -2015-03-02 Michael Meissner - - PR 65138/target - * config/rs6000/rs6000-cpus.def (powerpc64le): Add new generic - processor type for 64-bit little endian PowerPC. - - * config/rs6000/rs6000.c (rs6000_option_override_internal): If - -mdebug=reg, print TARGET_DEFAULT. Fix logic to use - TARGET_DEFAULT if there is no default cpu. Fix -mdebug=reg - printing built-in mask so it does not pass NULL pointers. - - * doc/invoke.texi (IBM RS/6000 and PowerPC options): Document - -mcpu=powerpc64le. - -2015-03-02 Steve Ellcey - - PR target/58158 - * config/mips/mips.md (movcc): Change ISA_HAS_SEL check to - !ISA_HAS_FP_CONDMOVE. - -2015-03-02 Aldy Hernandez - - * config/i386/i386.md (*udivmod4_pow2): Remove - reload_completed. - -2015-03-02 Ulrich Drepper - - * doc/invoke.texi (Options for Code Generation Conventions): - Fix URL of DSO paper. - -2015-03-02 Jan Hubicka - - PR ipa/65130 - * ipa-inline.c (check_callers): Looks for recursion. - (inline_to_all_callers): Give up on uninlinable or recursive edges. - * ipa-inline-analysis.c (inline_summary_t::duplicate): Do not update - summary of inline clones. - (do_estimate_growth_1): Fix recursion check. - -2015-03-02 Jan Hubicka - - PR ipa/64988 - * ipa-inline-transform.c (clone_inlined_nodes): Do not dissolve - comdat groups. - -2015-03-02 Jan Hubicka - Aldy Hernandez - - PR lto/65276 - * ipa-devirt.c (add_type_duplicate): Remove odr_violated assert - when checking TYPE_BINFO. - -2015-03-02 Richard Biener - - PR ipa/65270 - * ipa-icf-gimple.c: Include builtins.h. - (func_checker::compare_memory_operand): Compare base alignment. - -2015-03-02 Ilya Enkovich - - PR target/65184 - * config/i386/i386.c (ix86_pass_by_reference): Bounds are never - passed by reference. - -2015-03-02 Ilya Enkovich - - PR target/65183 - * tree-chkp.c (chkp_check_lower): Don't check against - zero bounds for already instrumented functions. - (chkp_check_upper): Likewise. - (chkp_fini): Clean pass local data to avoid wrong reusage. - -2015-02-28 Martin Liska - Jan Hubicka - - * ipa-icf.c (sem_variable::equals): Improve debug output; - get variable constructor. - (sem_variable::parse): Do not filter out too early; give up on - volatile and register vars. - (sem_item_optimizer::filter_removed_items): Filter out nonreadonly - variables. - * ipa-icf.h (sem_variable::init): Do not set ctor. - (sem_variable::ctor): Remove. - -2015-03-01 Aldy Hernandez - - PR middle-end/65233 - * ipa-polymorphic-call.c (walk_ssa_copies): Handle empty PHIs. - -2015-02-28 Jan Hubicka - - * ipa-icf.c: Include stor-layout.h - (sem_function::compare_cgraph_references): Rename to ... - (sem_item::compare_cgraph_references): ... this one. - (sem_variable::equals_wpa): New function - (sem_variable::equals): Do not check stuff already verified by - equals_wpa. - (sem_variable::equals): Reorg based on varasm.c:compare_constant. - * ipa-icf.h (sem_item): Add compare_cgraph_references. - (sem_function): Remove compare_cgraph_references. - (sem_variable): Turns equals_wpa into non-inline. - -2015-02-28 Jan Hubicka - - * ipa-icf.c (sem_function::init): Fix formating; skip GIMPLE_PREDICT. - (sem_item::add_expr): New function. - (sem_function::hash_stmt): Handle operands of most statements. - (sem_variable::get_hash): Hash the actual constructor. - * ipa-icf.h (sem_item): Add add_expr. - (sem_function): Update prototype of hash_stmt - -2015-02-28 Martin Liska - Jan Hubicka - - PR ipa/65245 - * ipa-icf-gimple.c (func_checker::compare_function_decl): - Remove. - (func_checker::compare_variable_decl): Skip symtab vars. - (func_checker::compare_cst_or_decl): Update. - * ipa-icf.c (sem_function::parse): Do not consider aliases. - (sem_function::compare_cgraph_references): Add ADDRESS parameter; - use correct symtab predicates. - (sem_function::equals_wpa): Update uses of compare_cgraph_references. - (sem_variable::parse): Update comment. - (sem_item_optimizer::build_graph): Consider ultimate aliases - for references. - -2015-02-28 Jan Hubicka - - * ipa-icf-gimple.c (func_checker::compare_operand): Fix handling - of OBJ_TYPE_REF. - -2015-02-28 Jan Hubicka - - * ipa-icf.c (sem_function::merge): Fix handling of COMDAT. - (sem_variable::merge) Likewise. - -2015-02-28 Jan Hubicka - - * ipa-inline.c (can_inline_edge_p): Match opt_for_fn on inline - target; also match flag_ipa_devirt. - -2015-03-01 Martin Liska - Jan Hubicka - - * ipa-icf-gimple.c (func_checker::compare_variable_decl): - Validate variable alignment. - * ipa-icf.c (sem_function::equals_private): Be more precise - about non-common function attributes. - (sem_variable::equals): Likewise. - -2015-02-28 Jan Hubicka - - PR ipa/65237 - * ipa-icf.c (sem_function::merge): Do not attempt to produce alias - across COMDAT group boundary. - -2015-02-28 Jan Hubicka - - PR ipa/65232 - * ipa-icf.c (clear_decl_rtl): New function. - (sem_function::merge): Clear RTL before forming alias. - (sem_variable::merge): Clear RTL before forming alias. - -2015-02-28 Jan Hubicka - - PR ipa/65236 - * cgraphunit.c (cgraph_node::expand_thunk): Enable return slot opt. - -2015-02-28 Xingxing Pan - - * config/aarch64/aarch64.md: (mov_aarch64): Change type - to neon_to_gp. - -2015-02-27 Vladimir Makarov - - * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): Fix - a typo in the description. - -2015-02-27 Vladimir Makarov - - PR target/64317 - * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New. - * params.h (LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New. - * lra-constraints.c: Include "params.h". - (EBB_PROBABILITY_CUTOFF): Use - LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF. - (lra_inheritance): Use '<' instead of '<=' for - EBB_PROBABILITY_CUTOFF. - * doc/invoke.texi (lra-inheritance-ebb-probability-cutoff): - Document change. - -2015-02-27 Martin Liska - - * ipa-icf.h (struct symbol_compare_hashmap_traits): Add missing - vector length condition. - -2015-02-27 Sandra Loosemore - - * doc/extend.texi (x86 transactional memory intrinsics): - Reorganize discussion of _xbegin. Clarify that the return - value is a bit mask. Expand example and move to end of section. - -2015-02-26 Jakub Jelinek - Aldy Hernandez - - PR rtl-optimization/65220 - * config/i386/i386.md (*udivmod4_pow2): New. - -2015-02-27 Vladimir Makarov - - PR target/65032 - * lra-remat.c (update_scratch_ops): New. - (do_remat): Call it. - * lra.c (lra_register_new_scratch_op): New. Take code from ... - (remove_scratches): ... here. - * lra-int.h (lra_register_new_scratch_op): New prototype. - -2015-02-27 Marek Polacek - - PR c/65040 - * doc/invoke.texi: Update to reflect that -Wformat=2 doesn't enable - -Wformat-signedness anymore. - -2015-02-27 Andreas Krebbel - - * config/s390/s390.c: (s390_atomic_assign_expand_fenv): New - function. - (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define macro. - -2015-02-27 Andreas Krebbel - - * config/s390/s390.c (enum s390_builtin): - Add S390_BUILTIN_S390_SFPC and S390_BUILTIN_S390_EFPC. - (code_for_builtin): Add CODE_FOR_s390_sfpc and CODE_FOR_s390_efpc. - (s390_init_builtins): Generate new builtin functions. - * config/s390/s390.md (UNSPECV_SFPC, UNSPECV_EFPC): New constants. - (s390_sfpc, s390_efpc): New pattern definitions. - -2015-02-27 Andreas Krebbel - - * config/s390/s390.c: (enum s390_builtin, s390_expand_builtin): - Rename S390_BUILTIN_max to S390_BUILTIN_MAX. - (s390_builtin_decls): New array. - (s390_init_builtins): Put builtin decls into s390_builtin_decls. - (s390_builtin_decl): New function. - (TARGET_BUILTIN_DECL): Define macro. - -2015-02-27 Richard Biener - - PR middle-end/63175 - * builtins.c (get_object_alignment_2): Make sure to re-apply - the ANDed mask after recursing to its operand gets us a new - misalignment bit position. - -2015-02-26 Jan Hubicka - Martin Liska - - PR bootstrap/65150 - * ipa-icf.c (symbol_compare_collection::symbol_compare_colleciton): - Use address_matters_p. - (redirect_all_callers, set_addressable): New functions. - (sem_function::merge): Reorganize and fix merging issues. - (sem_variable::merge): Likewise. - (sem_variable::compare_sections): Remove. - * common.opt (fmerge-all-constants, fmerge-constants): Remove - Optimization flag. - * symtab.c (symtab_node::resolve_alias): When alias has aliases, - redirect them. - (symtab_node::make_decl_local): Set ADDRESSABLE bit when - decl is used. - (address_matters_1): New function. - (symtab_node::address_matters_p): New function. - * cgraph.c (cgraph_edge::verify_corresponds_to_fndecl): Fix - check for merged flag. - * cgraph.h (address_matters_p): Declare. - (symtab_node::address_taken_from_non_vtable_p): Remove. - (symtab_node::address_can_be_compared_p): New method. - (ipa_ref::address_matters_p): Move here from ipa-ref.c; simplify. - * ipa-visibility.c (symtab_node::address_taken_from_non_vtable_p): - Remove. - (comdat_can_be_unshared_p_1) Use address_matters_p. - (update_vtable_references): Fix formating. - * ipa-ref.c (ipa_ref::address_matters_p): Move inline. - * cgraphunit.c (cgraph_node::create_wrapper): Drop UNINLINABLE flag. - * cgraphclones.c: Preserve merged and icf_merged flags. - -2015-02-26 Sandra Loosemore - - * doc/extend.texi (Function Attributes): Fix spelling and typos. - (Label Attributes): Likewise. - (Cilk Plus Builtins): Likewise. - (ARC SIMD Built-in Functions): Likewise. - (ARM C Language Extensions (ACLE)): Likewise. - (PowerPC Built-in Functions): Likewise. - (PowerPC Hardware Transactional Memory Built-in Functions): - Likewise. - -2015-02-26 Jakub Jelinek - - PR tree-optimization/65216 - * tree-ssa-reassoc.c (rewrite_expr_tree): Force creation of - new stmt and new SSA_NAME for lhs whenever the arguments have - changed and weren't just swapped. Fix comment typo. - - PR tree-optimization/65215 - * tree-ssa-math-opts.c (find_bswap_or_nop_load): Return false - for PDP endian targets. - (perform_symbolic_merge, find_bswap_or_nop_1, find_bswap_or_nop): - Fix up formatting issues. - (bswap_replace): Likewise. For BYTES_BIG_ENDIAN, if the final access - size is smaller than the original, adjust MEM_REF offset by the - difference of sizes. Use is_gimple_mem_ref_addr instead of - is_gimple_min_invariant test to avoid adding address temporaries. - -2015-02-26 Martin Liska - Jan Hubicka - - PR ipa/64693 - * ipa-icf.c (symbol_compare_collection::symbol_compare_collection): New. - (sem_item_optimizer::subdivide_classes_by_sensitive_refs): New function. - (sem_item_optimizer::process_cong_reduction): Include division by - sensitive references. - * ipa-icf.h (struct symbol_compare_hashmap_traits): New class. - * ipa-ref.c (ipa_ref::address_matters_p): New function. - * ipa-ref.h (ipa_ref::address_matters_p): Likewise. - -2015-02-26 Georg-Johann Lay - - PR target/65192 - * config/avr/avr-protos.h (tiny_valid_direct_memory_access_range): - Remove. - * config/avr/avr.c: Same. - (avr_legitimate_address_p) : - Refuse any constant address not in 0..0xbf. - * config/avr/avr.md (*mov, *movsf): Remove - tiny_valid_direct_memory_access_range from insn conditions. - (mov): Don't special-case expansion of avrtiny addresses. - -2015-02-26 Oleg Endo - - PR target/61142 - * config/sh/sh.c (sh_check_add_incdec_notes): New function. - * config/sh/sh-protos.h (sh_check_add_incdec_notes): Declare it. - * config/sh/predicates.md (const_logical_operand): New predicate. - * config/sh/sh.md: Add new peephole2 patterns. - -2015-02-26 Marek Polacek - - PR ipa/65008 - * ipa-inline.c (early_inliner): Recompute inline parameters. - -2015-02-26 Bill Schmidt - - PR target/65171 - * config/rs6000/rs6000.c (rs6000_analyze_swaps): Ensure - instructions with TImode operands are included in the analysis. - -2015-02-26 Sebastian Pop - - * tree-ssa-threadupdate.c (dump_jump_thread_path): Print all edges - of an EDGE_FSM_THREAD. - -2015-02-25 Adhemerval Zanella - - * config/rs6000/htm.md (tcheck): Fix assembly encoding. - -2015-02-25 Aldy Hernandez - - PR debug/46102 - * dwarf2out.c (dwarf2out_init): Disable -feliminate-dwarf2-dups. - -2015-02-26 Sebastian Pop - - PR tree-optimization/65048 - * tree-ssa-threadupdate.c (valid_jump_thread_path): New. - (thread_through_all_blocks): Call valid_jump_thread_path. - Remove invalid FSM jump-thread paths. - -2015-02-26 Jakub Jelinek - - * passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table. - (ipa_write_optimization_summaries): Likewise. - * tree-streamer.h: Include data-streamer.h. - (streamer_mode_table): Declare extern variable. - (bp_pack_machine_mode, bp_unpack_machine_mode): New inline functions. - * lto-streamer-out.c (lto_output_init_mode_table, - lto_write_mode_table): New functions. - (produce_asm_for_decls): Call lto_write_mode_table when streaming - offloading LTO. - * lto-section-in.c (lto_section_name): Add "mode_table" entry. - (lto_create_simple_input_block): Add mode_table argument to the - lto_input_block constructors. - * ipa-prop.c (ipa_prop_read_section, read_replacements_section): - Likewise. - * data-streamer-in.c (string_for_index): Likewise. - * ipa-inline-analysis.c (inline_read_section): Likewise. - * ipa-icf.c (sem_item_optimizer::read_section): Likewise. - * lto-cgraph.c (input_cgraph_opt_section): Likewise. - * lto-streamer-in.c (lto_read_body_or_constructor, - lto_input_toplevel_asms): Likewise. - (lto_input_mode_table): New function. - * tree-streamer-out.c (pack_ts_fixed_cst_value_fields, - pack_ts_decl_common_value_fields, pack_ts_type_common_value_fields): - Use bp_pack_machine_mode. - * real.h (struct real_format): Add name field. - * lto-streamer.h (enum lto_section_type): Add LTO_section_mode_table. - (class lto_input_block): Add mode_table member. - (lto_input_block::lto_input_block): Add mode_table_ argument, - initialize mode_table. - (struct lto_file_decl_data): Add mode_table field. - (lto_input_mode_table, lto_output_init_mode_table): New prototypes. - * tree-streamer-in.c (unpack_ts_fixed_cst_value_fields, - unpack_ts_decl_common_value_fields, - unpack_ts_type_common_value_fields): Call bp_unpack_machine_mode. - * tree-streamer.c (streamer_mode_table): New variable. - * real.c (ieee_single_format, mips_single_format, - motorola_single_format, spu_single_format, ieee_double_format, - mips_double_format, motorola_double_format, - ieee_extended_motorola_format, ieee_extended_intel_96_format, - ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format, - ibm_extended_format, mips_extended_format, ieee_quad_format, - mips_quad_format, vax_f_format, vax_d_format, vax_g_format, - decimal_single_format, decimal_double_format, decimal_quad_format, - ieee_half_format, arm_half_format, real_internal_format): Add name - field. - * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise. - -2015-02-26 Yuri Rumyantsev - - PR target/65161 - * config/i386/i386.c (ix86_sched_reorder): Skip instruction - reordering for selective scheduling. - -2015-02-26 Terry Guo - - * config/arm/arm-cores.def (cortex-m7): Add flag FL_NO_VOLATILE_CE. - * config/arm/arm-protos.h (FL_NO_VOLATILE_CE): New flag. - (arm_arch_no_volatile_ce): Declare new global variable. - * config/arm/arm.c (arm_arch_no_volatile_ce): New global variable. - (arm_option_override): Assign value to arm_arch_no_volatile_ce. - * config/arm/arm.h (arm_arch_no_volatile_ce): Declare it. - (TARGET_NO_VOLATILE_CE): New macro. - * config/arm/arm.md (arm_comparison_operator): Disabled if not allow - volatile memory access in IT block - -2015-02-25 Kai Tietz - - PR tree-optimization/61917 - * tree-vect-loop.c (vectorizable_reduction): Handle obvious case - that reduc_def_stmt is null. - -2015-02-25 Martin Liska - - * ipa-icf-gimple.c (func_checker::compare_variable_decl): Compare - hard register variables. - -2015-02-25 Kai Tietz - - PR target/64212 - * symtab.c (symtab::make_decl_local): Set DECL_IMPORT_P explicit to 0. - (symtab::noninterposable_alias): Likewise. - -2015-02-25 Ilya Enkovich - - PR target/65167 - * config/i386/i386.c (ix86_function_arg_regno_p): Support - bounds registers. - (avoid_func_arg_motion): Add dependencies for BNDSTX insns. - -2015-02-25 Alan Lawrence - - PR target/64997 - * config/aarch64/aarch64.md (*xor_one_cmpl3): Use FP_REGNUM_P - as split condition; force split via '#' in output pattern. - -2015-02-25 Richard Biener - Kai Tietz - - PR tree-optimization/61917 - * tree-vect-loop.c (vectorizable_reduction): Allow - vect_internal_def without reduction to exit graceful. - -2015-02-25 Georg-Johann Lay - - PR target/65196 - * config/avr/avr.c (avr_adjust_insn_length): Call recog_memoized - only with NONDEBUG_INSN_P. - -2015-02-25 Georg-Johann Lay - - Use variadic macros with avr-log.c. - - * config/avr/avr-protos.h (avr_vdump): New prototype. - (avr_log_set_caller_e, avr_log_set_caller_f): Remove protos. - (avr_edump, avr_fdump, avr_dump): (Re)define to use avr_vdump. - * config/avr/avr-log.c: Adjust comments. - (avr_vdump): New function. - (avr_vadump): Pass caller as 2nd argument instead of format string. - (avr_log_caller, avr_log_fdump_e, avr_log_fdump_f) - (avr_log_set_caller_e, avr_log_set_caller_f): Remove. - -2015-02-25 Jakub Jelinek - - PR lto/64374 - * target.def (target_option_stream_in): New target hook. - * tree-streamer-in.c (streamer_read_tree_bitfields): Invoke - targetm.target_option.post_stream_in if non-NULL. - * doc/tm.texi.in: Add @hook TARGET_OPTION_POST_STREAM_IN. - * doc/tm.texi: Updated. - * config/i386/i386.c (ix86_function_specific_post_stream_in): New - function. - (TARGET_OPTION_POST_STREAM_IN): Redefine. - -2015-02-24 Jeff Law - - PR target/65117 - * config/xtensa/xtensa.md (zero_cost_loop_start): Reverse numbering - of operand 0 and operand 2. - (zero_cost_loop_end, loop_end): Similarly. - -2015-02-24 Aldy Hernandez - - * gimple.h (gimple_build_assign): Rename CXX_MEM_STAT_DECL to - CXX_MEM_STAT_INFO. - -2015-02-24 DJ Delorie - - * config/rl78/rl78-protos.h (rl78_split_movsi): Accept a mode as well. - * config/rl78/rl78-expand.md (movsf): New, same as movsi. - * config/rl78/rl78.c (rl78_split_movsi): Accept a mode, use it - instead of hardcoding SImode. - -2015-02-24 Bernd Schmidt - - * omp-low.c (create_omp_child_function): Tag entrypoint - functions with a special attribute. - -2015-02-24 Michael Haubenwallner - - PR target/65058 - * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Drop unused variable. - -2015-02-24 Vladimir Makarov - - PR rtl-optimization/65123 - * lra-remat.c (operand_to_remat): Check hard regs in insn - definition too. - -2015-02-24 Nick Clifton - - * config/v850/v850.h (ASM_SPEC): Pass -msoft-float/-mhard-float on - to the assembler. - -2015-02-24 Thomas Schwinge - - PR libgomp/64625 - * omp-builtins.def (BUILT_IN_GOACC_DATA_START): Specify as - BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, not - BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR. - (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_UPDATE): Specify as - BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, not - BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR. - (BUILT_IN_GOACC_PARALLEL): Specify as - BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR, not - BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR. - * builtin-types.def - (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR) - (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR): - Remove function types. - (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR) - (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR) - (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR): - New function types. - -2015-02-24 Georg-Johann Lay - - * config/avr/stdfix.h [__WITH_AVRLIBC__]: Include . - -2015-02-24 Jakub Jelinek - - PR tree-optimization/65170 - * wide-int.cc (wi::mul_internal): For the umul_ppmm optimization, - if val[1] < 0, clear also val[2] and return 3. - -2015-02-24 Alan Modra - - PR target/65172 - * config/rs6000/rs6000.c (get_memref_parts): Only return true - when *base is a reg. Handle nested plus addresses. Simplify - pre_modify test. - -2015-02-22 Max Filippov - - * config/xtensa/xtensa.h (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): - use natural alignment when optimizing for size. - -2015-02-23 Kaz Kojima - - PR target/65153 - * config/sh/sh.md (movsicc_true+3): Remove peephole. - * config/sh/sh-protos.h (replace_n_hard_rtx): Don't declare. - * config/sh/sh.c (replace_n_hard_rtx): Remove. - -2015-02-23 Richard Sandiford - - PR fortran/63427 - * wide-int.cc (wi::from_mpz): Cope with unwrapped values that are - too big for a wide_int. Implement missing wrapping operation. - -2015-02-23 Oleg Endo - - PR target/65163 - * config/sh/sh.md (swapbsi2, related peephole2): Use const_int -65536 - instead of const_int 4294901760. - -2015-02-23 Georg-Johann Lay - - * config/avr/t-avr: Fix typo in comment. - -2015-02-21 Richard Sandiford - - * doc/rtl.texi (fma): Clarify documentation. - -2015-02-20 Aldy Hernandez - - PR debug/58123 - * gimplify.c (gimplify_expr): Prefer location of TRY_FINALLY_EXPR - over input_location. - -2015-02-20 Bernd Schmidt - - * tree-streamer-in.c (unpack_ts_decl_common_value_fields, - unpack_ts_type_common_value_fields): If ACCEL_COMPILER, - restrict alignments to absolute_biggest_alignment. - * config/i386/i386.c (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT): - Define. - * doc/tm.texi.in (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT): Add. - * doc/tm.texi: Regenerate. - * target.def (absolute_biggest_alignment): New DEFHOOKPOD. - -2015-02-20 Vladimir Makarov - - PR target/64172 - * ira-color.c (color_pass): Prevent splitting multi-register pseudos. - -2015-02-20 Richard Biener - - PR tree-optimization/65136 - * tree-ssa-propagate.c: Include cfgloop.h. - (replace_phi_args_in): Avoid replacing loop latch edge PHI - arguments with constants. - -2015-02-20 Jakub Jelinek - Martin Liska - - PR target/63892 - * ipa-icf.c (sem_function::merge): If DECL_COMDAT_GROUP (alias->decl), - don't try to create_thunk if stdarg_p. If - !sem_item::target_supports_symbol_aliases_p (), similarly, and try to - redirect_callers if possible. - (sem_item_optimizer::execute): Call unregister_hooks here... - (ipa_icf_driver): ... instead of here. - -2015-02-20 Kyrylo Tkachov - - * config/aarch64/aarch64.md (*aarch64_lshr_sisd_or_int_3): - Mark operand 0 as earlyclobber in 2nd alternative. - (1st define_split below *aarch64_lshr_sisd_or_int_3): - Write negated shift amount into QI lowpart operand 0 and use it - in the shift step. - (2nd define_split below *aarch64_lshr_sisd_or_int_3): Likewise. - -2015-02-20 Bernd Schmidt - - * cgraph.h (clone_function_name_1): Declare. - * cgraphclones.c (clone_function_name_1): New function. - (clone_function_name): Use it. - * lto-partition.c: Include "stringpool.h". - (must_not_rename, maybe_rewrite_identifier) - (validize_symbol_for_target): New static functions. - (privatize_symbol_name): Use must_not_rename. - (promote_symbol): Call validize_symbol_for_target. - (lto_promote_cross_file_statics): Likewise. - (lto_promote_statics_nonwpa): Likewise. - -2015-02-20 Georg-Johann Lay - - PR target/64452 - * config/avr/avr.md (pushhi_insn): New insn. - (push1): Push virtual regs in one chunk using pushhi1_insn. - -2015-02-20 Bernd Schmidt - Jakub Jelinek - - * tree-streamer.c (preload_common_nodes): Don't preload - TI_VA_LIST* for offloading. - * tree-stdarg.c (pass_stdarg::gate): Disable for ACCEL_COMPILER - in_lto_p. - -2015-02-19 John David Anglin - - * config/pa/pa.c (pa_emit_move_sequence): Always force - (const (plus (symbol) (const_int))) to const mem. Put REG_EQUAL - note on insn. - - * config/pa/pa.c (pa_reloc_rw_mask): New function. - (TARGET_ASM_RELOC_RW_MASK): Define. - (pa_cannot_force_const_mem): Revert previous change. - -2015-02-19 Martin Jambor - Jan Hubicka - - PR ipa/65028 - * ipa-cp.c (propagate_alignment_accross_jump_function): Fix propagation - across jump functions. - -2015-02-19 Uros Bizjak - - * config/alpha/alpha.c (alpha_in_small_data_p): Reject common symbols. - -2015-02-19 Sandra Loosemore - - * doc/extend.texi (x86 transactional memory intrinsics): Copy-edit. - -2015-02-19 Richard Henderson - - PR middle-end/65074 - * varasm.c (default_binds_local_p_2): Don't test node->definition; - test DECL_EXTERNAL independent of symtab_node. - -2015-02-19 Jakub Jelinek - - PR lto/65012 - * varpool.c (varpool_node::get_constructor): Return early - if this->lto_file_data is NULL. - -2015-02-19 Maxim Kuvyrkov - - * haifa-sched.c (enum rfs_decision, rfs_str): Remove RFS_DEBUG. - (rank_for_schedule_debug): Update. - (ready_sort): Make static. Move sorting logic to ... - (ready_sort_debug, ready_sort_real): New static functions. - (schedule_block): Sort both debug insns and real insns in preparation - for ready list trimming. Improve debug output. - * sched-int.h (ready_sort): Remove global declaration. - -2015-02-18 Trevor Saunders - - * ipa-icf.c (sem_function::equals_private): Adjust. - (sem_function::bb_dict_test): Take a vec * instead of - auto_vec. - * ipa-icf.h (bb_dict_test): Likewise. - -2015-02-18 Jakub Jelinek - - PR gcov-profile/64634 - * tree-eh.c (frob_into_branch_around): Fix up typos - in function comment. - (lower_catch): Put eh_seq resulting from EH lowering of - the cleanup sequence after the cleanup rather than before it. - -2015-02-18 Tom de Vries - - * common.opt (fstdarg-opt): New option. - * tree-stdarg.c (pass_stdarg::gate): Use flag_stdarg_opt. - * doc/invoke.texi (@item Optimization Options): Add -fstdarg-opt. - (@item -fstdarg-opt): New item. - -2015-02-18 H.J. Lu - - PR target/65064 - * config/ia64/predicates.md (sdata_symbolic_operand): Return false - for common symbols. - -2015-02-18 Jakub Jelinek - - * config/i386/t-intelmic (mkoffload.o): Remove dependency on - insn-modes.h. - (ALL_HOST_OBJS): Add mkoffload.o. - * config/nvptx/t-nvptx (ALL_HOST_OBJS): Likewise. - -2015-02-18 Jan Hubicka - - * ipa-devirt.c (odr_subtypes_equivalent_p): Fix formating. - (compare_virtual_tables): Be smarter about skipping typeinfos; - do sane output on virtual table table mismatch. - (warn_odr): Be ready for forward declarations of enums; - output sane info on base mismatch and virtual table mismatch. - (add_type_duplicate): Fix code choosing prevailing type; do not ICE - when only one type is polymorphic. - (get_odr_type): Fix hashtable corruption. - (dump_odr_type): Dump mangled names. - -2015-02-18 Richard Biener - - PR tree-optimization/65063 - * tree-predcom.c (determine_unroll_factor): Return 1 if we - have replaced looparound PHIs. - -2015-02-18 Martin Liska - - * lto-streamer.c (lto_streamer_init): Encapsulate - streamer_check_handled_ts_structures with checking macro. - -2015-02-18 Jakub Jelinek - - PR ipa/65087 - * cgraphclones.c (cgraph_node::create_virtual_clone): Only copy - section if !implicit_section. - (cgraph_node::create_version_clone_with_body): Likewise. - * trans-mem.c (ipa_tm_create_version): Likewise. - -2015-02-18 Richard Biener - - PR tree-optimization/62217 - * tree-ssa-dom.c (cprop_operand): Avoid propagating copies - into BIVs. - -2015-02-18 Marek Polacek - - PR sanitizer/65081 - * ubsan.c (OBJSZ_MAX_OFFSET): Define. - (ubsan_expand_objsize_ifn): Don't emit run-time check if the offset - is in range [-16K, -1]. Don't issue run-time error if - (ptr > ptr + offset). - -2015-02-18 Thomas Schwinge - - * doc/install.texi (nvptx-*-none): New section. - * doc/invoke.texi (Nvidia PTX Options): Likewise. - * config/nvptx/nvptx.opt: Update. - - * config/nvptx/mkoffload.c (parse_env_var, free_array_of_ptrs) - (access_check): New functions, copied from - config/i386/intelmic-mkoffload.c. - (main): For non-installed testing, look in all COMPILER_PATHs for - GCC_INSTALL_NAME. - - * config/nvptx/nvptx.h (GOMP_SELF_SPECS): Define macro. - -2015-02-18 Andrew Pinski - Naveen H.S - - * config/aarch64/aarch64.c (*aarch64_load_symref_appropriately): - Check whether the destination of SYMBOL_SMALL_TPREL is Pmode. - -2015-02-17 Jan Hubicka - - * ipa-visibility.c (function_and_variable_visibility): Only - check locality if node is not already local. - * ipa-inline.c (want_inline_function_to_all_callers_p): Use - call_for_symbol_and_aliases instead of - call_for_symbol_thunks_and_aliases. - (ipa_inline): Likewise. - * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases): - first walk aliases. - * ipa.c (symbol_table::remove_unreachable_nodes): Use - call_for_symbol_and_aliases. - * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol. - (ipa_propagate_frequency_1): Use it; use opt_for_fn - (ipa_propagate_frequency): Update. - (ipa_profile): Add opt_for_fn gueards. - -2015-02-17 Oleg Endo - - * config/sh/sh.opt (mcbranch-force-delay-slot): New option. - * doc/invoke.texi (SH options): Document it. - * config/sh/sh.c (sh_insn_length_adjustment): Check - TARGET_CBRANCH_FORCE_DELAY_SLOT instead of sh_cpu_attr == CPU_SH2E. - -2015-02-17 H.J. Lu - - * common.opt (fipa-cp-alignment): New. - * ipa-cp.c (ipcp_store_alignment_results): Check - flag_ipa_cp_alignment. - * opts.c (default_options_table): Enable -fipa-cp-alignment for - -O2. - (enable_fdo_optimizations): Set x_flag_ipa_cp_alignment. - * doc/invoke.texi: Document -fipa-cp-alignment. - -2015-02-17 Oleg Endo - - PR target/64793 - * config/sh/sh.md (cbranch define_delay): Set annulled true branch insn - to nil. Adjust comments. - -2015-02-17 Jan Hubicka - - * ipa-visibility.c (function_and_variable_visibility): Only - check locality if node is not already local. - * ipa-inline.c (want_inline_function_to_all_callers_p): Use - call_for_symbol_and_aliases instead of - call_for_symbol_thunks_and_aliases. - (ipa_inline): Likewise. - * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases): - first walk aliases. - * ipa.c (symbol_table::remove_unreachable_nodes): Use - call_for_symbol_and_aliases. - * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol. - (ipa_propagate_frequency_1): Use it; use opt_for_fn - (ipa_propagate_frequency): Update. - (ipa_profile): Add opt_for_fn guards. - -2015-02-17 Thomas Schwinge - - * config/nvptx/mkoffload.c (parse_file): Fix logic error in - skipping of "strange" tokens. - -2015-02-17 Jeff Law - - * tree-vrp.c (identify_jump_threads): Use last_stmt. Remove - obsolete comment. - -2015-02-17 James Greenhalgh - - * haifa-sched.c (recompute_todo_spec): Treat SCHED_GROUP_P - as forcing a HARD_DEP between instructions, thereby - disallowing rewriting to break dependencies. - -2015-02-16 Jan Hubicka - - * symtab.c (symtab_node::verify_base): Verify body_removed->!definiton - * lto-cgraph.c (lto_output_varpool_node): Do not keep definition of - variables in boundary that have no inlitalizer encoded and are - not aliases. - * varasm.c (default_binds_local_p_2): External definitions do not - count as definitions here. - -2015-02-16 Jeff Law - - PR tree-optimization/64823 - * tree-vrp.c (identify_jump_threads): Handle blocks with no real - statements. - * tree-ssa-threadedge.c (potentially_threadable_block): Allow - threading through blocks with PHIs, but no statements. - (thread_through_normal_block): Distinguish between blocks where - we did not process all the statements and blocks with no statements. - -2015-02-16 Jakub Jelinek - James Greenhalgh - - PR ipa/64963 - * cgraphclones.c (cgraph_node::create_virtual_clone): Copy - section if not linkonce. Fix up formatting. - (cgraph_node::create_version_clone_with_body): Copy section. - * trans-mem.c (ipa_tm_create_version): Likewise. - -2015-02-16 Richard Biener - - PR tree-optimization/65077 - * tree-ssa-structalias.c (get_constraint_for_1): Handle - IMAGPART_EXPR, REALPART_EXPR and BIT_FIELD_REF. - (find_func_aliases): Allow float values to carry pointers again. - -2015-02-16 James Greenhalgh - - * doc/install.texi (Specific): Reorder targets list to put - aarch64 in alphabetical order. Add a link to aarch64*-*-* - from the top menu. - -2015-02-16 Michael Haubenwallner - David Edelsohn - - PR target/65058 - * config/rs6000/rs6000.c (rs6000_output_symbol_ref): Append storage - mapping class to external variable or function reference. - * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Do not append storage - mapping class. - -2015-02-16 David Eelsohn - - PR target/53348 - * config/rs6000/rs6000.c (rs6000_declare_alias): Only use - ASM_WEAKEN_DECL if defined. - -2015-02-16 Richard Biener - - PR lto/65015 - * varasm.c (default_file_start): For LTO produced units - emit as file directive. - -2015-02-16 Richard Biener - - PR tree-optimization/63593 - * tree-predcom.c (execute_pred_commoning_chain): Delay removing - stmts and releasing SSA names until... - (execute_pred_commoning): ... after processing all chains. - -2015-02-16 Jan Hubicka - - PR ipa/65059 - * ipa-comdats.c (ipa_comdats): Do not categorize thunks to - external functions. - -2015-02-15 Sandra Loosemore - - * doc/bugreport.texi: Adjust section titles throughout the file - to use "Title Case". - * doc/extend.texi: Likewise. - * doc/gcov.texi: Likewise. - * doc/implement-c.texi: Likewise. - * doc/implement-cxx.texi: Likewise. - * doc/invoke.texi: Likewise. - * doc/objc.texi: Likewise. - * doc/standards.texi: Likewise. - * doc/trouble.texi: Likewise. - -2015-02-15 Jan Hubicka - - * cgraph.h (symtab_node::has_aliases_p): Simplify. - (symtab_node::call_for_symbol_and_aliases): Use has_aliases_p - * tree.c (lookup_binfo_at_offset): Make static. - (get_binfo_at_offset): Do not shadow offset; add explanatory - comment. - -2015-02-15 John David Anglin - - * config/pa/pa.c (pa_secondary_reload): Request a secondary reload - for all floading point loads and stores except those using a register - index address. - * config/pa/pa.md: Add new patterns to load a lo_sum DLT operand - to a register. - -2015-02-14 Jan Hubicka - - * ipa-inline-analysis.c (growth_data): Add uninlinable field. - (do_estimate_growth_1): Record if any uninlinable edge was seen. - (estimate_growth): Handle uninlinable edges correctly. - (check_callers): New. - (growth_likely_positive): Handle aliases correctly. - -2015-02-14 Jan Hubicka - - * ipa-chkp.c: Use iterate_direct_aliases. - * symtab.c (resolution_used_from_other_file_p): Move inline. - (symtab_node::create_reference): Fix formating. - (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases. - (symtab_node::iterate_reference): Move inline. - (symtab_node::iterate_referring): Move inline. - (symtab_node::iterate_direct_aliases): Move inline. - (symtab_node::used_from_object_file_p_worker): Inline into ... - (symtab_node::used_from_object_file_p): ... this one; move inline. - (symtab_node::call_for_symbol_and_aliases): Move inline; - use iterate_direct_aliases. - (symtab_node::call_for_symbol_and_aliases_1): New method. - (cgraph_node::call_for_symbol_and_aliases): Move inline; - use iterate_direct_aliases. - (cgraph_node::call_for_symbol_and_aliases_1): New method. - (varpool_node::call_for_node_and_aliases): Rename to ... - (varpool_node::call_for_symbol_and_aliases): ... this one; Move inline; - use iterate_direct_aliases. - (varpool_node::call_for_symbol_and_aliases_1): New method. - * ipa.c (ipa_single_use): Use iterate_direct_aliases. - (ipa_discover_readonly_nonaddressable_var): Update. - * ipa-devirt.c: Fix formating. - * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_and_refs_p): - Move inline. - (cgraph_node::call_for_symbol_and_aliases): Move inline. - (cgraph_node::call_for_symbol_and_aliases_1): New function.. - * cgraph.h (used_from_object_file_p_worker): Remove. - (resolution_used_from_other_file_p): Move inline. - (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases. - (symtab_node::iterate_reference): Move inline. - (symtab_node::iterate_referring): Move inline. - (symtab_node::iterate_direct_aliases): Move inline. - (symtab_node::used_from_object_file_p_worker): Inline into ... - (symtab_node::used_from_object_file_p): Move inline. - * tree-emutls.c (ipa_lower_emutls): Update. - * varpool.c (varpool_node::call_for_symbol_and_aliases_1): New method. - (varpool_node::call_for_node_and_aliases): Remove. - -2015-02-14 Jakub Jelinek - - PR tree-optimization/62209 - * tree-ssa-reassoc.c (update_range_test): If stmt is a PHI and - op == range->exp, insert seq and gimplified code after labels - instead of after the phi. - -2015-02-13 Jeff Law - - PR bootstrap/65060 - Revert my change for tree-optimization/64823. - -2015-02-13 Jakub Jelinek - - PR tree-optimization/65053 - * tree-ssa-phiopt.c (value_replacement): When moving assign before - cond, either reset VR on lhs or set it to phi result VR. - -2015-02-13 Jeff Law - - PR tree-optimization/64823 - * tree-vrp.c (identify_jump_threads): Handle blocks with no statements. - * tree-ssa-threadedge.c (potentially_threadable_block): Allow - threading through blocks with PHIs, but no statements. - (thread_through_normal_block): Distinguish between blocks where - we did not process all the statements and blocks with no statements. - - PR rtl-optimization/47477 - * match.pd (convert (plus/minus (convert @0) (convert @1): New - simplifier to narrow arithmetic. - -2015-02-13 Jan Hubicka - - PR ipa/65028 - * ipa-prop.c (update_indirect_edges_after_inlining): Do not drop - polymorphic call info when type is not known to be preserved. - -2015-02-13 Maritn Jambor - - PR ipa/65028 - * ipa-inline-transform.c (mark_all_inlined_calls_cdtor): New function. - (inline_call): Use it. - -2015-02-13 Thomas Schwinge - - * config/nvptx/offload.h (ACCEL_COMPILER_acc_device): Define to - GOMP_DEVICE_NVIDIA_PTX. - -2015-02-13 Jakub Jelinek - - PR ipa/65034 - * stmt.c (emit_case_nodes): Use void_type_node instead of - NULL_TREE as LABEL_DECL type. - -2015-02-13 John David Anglin - - * config/pa/constraints.md: Change "Q" and "T" constraints to memory - constraints. - * config/pa/pa.c (pa_cannot_force_const_mem): Don't allow constant - symbolic references to data to be forced to constant memory on the - SOM target. - -2015-02-13 Ilya Enkovich - - PR tree-optimization/65002 - * tree-cfg.c (pass_data_fixup_cfg): Don't update - SSA on start. - * tree-sra.c (some_callers_have_no_vuse_p): New. - (ipa_early_sra): Reject functions whose callers - assume function is read only. - -2015-02-13 Richard Biener - - PR lto/65015 - * dwarf2out.c (dwarf2out_finish): Use as DW_AT_name - for LTO produced CUs. - -2015-02-13 Bin Cheng - - PR tree-optimization/64705 - * tree-ssa-loop-niter.h (expand_simple_operations): New parameter. - * tree-ssa-loop-niter.c (expand_simple_operations): New parameter. - * tree-ssa-loop-ivopts.c (extract_single_var_from_expr): New. - (find_bivs, find_givs_in_stmt_scev): Pass new argument to - expand_simple_operations. - -2015-02-13 H.J. Lu - Richard Henderson - - PR rtl/32219 - * cgraphunit.c (cgraph_node::finalize_function): Set definition - before notice_global_symbol. - (varpool_node::finalize_decl): Likewise. - * varasm.c (default_binds_local_p_2): Rename from - default_binds_local_p_1, add weak_dominate argument. Use direct - returns instead of assigning to local variable. Unify varpool and - cgraph paths via symtab_node. Reject undef weak variables before - testing visibility. Reorder tests for simplicity. - (default_binds_local_p): Use default_binds_local_p_2. - (default_binds_local_p_1): Likewise. - (decl_binds_to_current_def_p): Unify varpool and cgraph paths - via symtab_node. - (default_elf_asm_output_external): Emit visibility when specified. - -2015-02-13 Alan Modra - - * config/rs6000/rs6000.c (rs6000_emit_epilogue): Fix typo in - code setting up r11 for out-of-line fp restore. - -2015-02-13 Eric Botcazou - - * config/visium/visium.opt (msv-mode): Add RejectNegative and Report. - (muser-mode): Likewise. - -2015-02-13 Alan Modra - - * config/rs6000/rs6000.c (rs6000_emit_epilogue): Use addsi3_carry - or adddi3_carry when restoring frame_reg_rtx from r0 after restvr. - -2015-02-12 David Howells - - * tree-sra.c (dump_dereferences_table): Avoid -Wformat-security - warning. - * tree-ssa-uninit.c (dump_predicates): Likewise. - * opts.c (print_filtered_help): Likewise. - -2015-02-12 Jakub Jelinek - - * dwarf2out.c (output_die): Use "%s", name instead of name to - avoid -Wformat-security warning. - - * dwarf2asm.c (dw2_asm_output_vms_delta): Only define - if ASM_OUTPUT_DWARF_VMS_DELTA is defined. - * dwarf2out.c (output_die): Use dw2_asm_output_vms_delta - only if ASM_OUTPUT_DWARF_VMS_DELTA is defined. - -2015-02-12 Jason Merrill - - * common.opt (-flifetime-dse): New. - -2015-02-12 Jakub Jelinek - - PR sanitizer/65019 - * ubsan.c (ubsan_expand_objsize_ifn): Always return true. - - PR tree-optimization/65014 - * fold-const.c (fold_binary_loc): When creating {L,R}ROTATE_EXPR, - use original second operand of arg0 or arg1 instead of - that adjusted by STRIP_NOPS. - -2015-02-11 Jeff Law - - PR target/63347 - * haifa-sched.c (prune_ready_list): If we have a SCHED_GROUP_P insn - that needs to be queued, just queue it for a single cycle. - -2015-02-11 Jan Hubicka - - * ipa.c (symbol_table::remove_unreachable_nodes): Avoid releasing - bodies of thunks; comment on why. - * symtab.c (symtab_node::get_partitioning_class): Aliases of extern - symbols are extern. - -2015-02-11 Richard Henderson - - PR sanitize/65000 - * tree-eh.c (mark_reachable_handlers): Mark source and destination - regions of __builtin_eh_copy_values. - -2015-02-11 Jakub Jelinek - - PR middle-end/65003 - * varasm.c (place_block_symbol): Assert that DECL_RTL of the - ultimate alias is MEM with SYMBOL_REF satisfying - SYMBOL_REF_HAS_BLOCK_INFO_P as its operand. Don't pass the MEM - to place_block_symbol, but instead pass the SYMBOL_REF operand of it. - -2015-02-11 Thomas Schwinge - - * config/nvptx/mkoffload.c: Include "diagnostic.h" instead of - "diagnostic-core.h". - (main): Initialize progname, and call diagnostic_initialize. - - * config/nvptx/mkoffload.c (process): Refer to __OFFLOAD_TABLE__ - instead of __OPENMP_TARGET__. - - * config/nvptx/mkoffload.c: Include "gomp-constants.h". - (process): Use its GOMP_DEVICE_NVIDIA_PTX instead of (wrongly) - hard-coding PTX_ID. - -2015-02-11 H.J. Lu - - * doc/sourcebuild.texi (pie_enabled): Document. - -2015-02-11 Martin Liska - - PR ipa/64813 - * cgraphunit.c (cgraph_node::expand_thunk): Do not create - a return value for call to a function that is noreturn. - -2015-02-11 Richard Biener - - PR lto/65015 - * dwarf2out.c (gen_producer_string): Drop -fltrans-output-list - and -fresolution. - -2015-02-11 Andrew Pinski - - PR target/64893 - * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins): - Change the first argument type to size_type_node and add another - size_type_node. - (aarch64_simd_expand_builtin): Handle the new argument to - AARCH64_SIMD_BUILTIN_LANE_CHECK and don't ICE but rather - print an out when the first two arguments are not - nonzero integer constants. - * config/aarch64/arm_neon.h (__AARCH64_LANE_CHECK): - Pass the sizeof directly to __builtin_aarch64_im_lane_boundsi. - -2015-02-11 Jakub Jelinek - - PR target/61925 - * config/i386/i386.c (ix86_reset_to_default_globals): Removed. - (ix86_reset_previous_fndecl): Restore it here, unconditionally. - (ix86_set_current_function): Rewritten. - (ix86_add_new_builtins): Temporarily clear current_target_pragma - when creating builtin fndecls. - -2015-02-10 Jan Hubicka - - PR ipa/65005 - * ipa-visibility.c (cgraph_node::non_local_p): Turn into static - function. - * symtab.c (symtab_node::verify_base): Remove check that non-definitions - have no comdat group. - * lto-cgraph.c (lto_output_node): Always output thunk and alias info. - (lto_output_varpool_node): Always output alias info. - (output_refs): Output refs of boundary aliases, too. - (compute_ltrans_boundary): Add alias and thunk target into boundaries. - (output_symtab): Output call eges in thunks in boundary. - (get_alias_symbol): Remove. - (input_node, input_varpool_node): Do not special case weakrefs. - * ipa.c (symbol_table::remove_unreachable_nodes): Do not remove - alias and thunks targets in the boundary; do not take removed symbols - from their comdat groups. - * cgraph.c (cgraph_node::local_info): Look through aliases and thunks. - (cgraph_node::global_info): Remove. - (cgraph_node::rtl_info): Look through aliases and thunks. - * cgrpah.h (global_info): Remove. - (non_local_p): Remove. - -2015-02-10 David Wohlferd - Sandra Loosemore - - * doc/invoke.texi (x86 Options [-masm=dialect]): Add cross-references - to inline asm. List dialects in proper order. - -2015-02-10 David Wohlferd - Sandra Loosemore - - * doc/extend.texi (Loop-Specific Pragmas): Fix grammar error. - -2015-02-10 David Wohlferd - - * doc/extend.texi (Symbol-Renaming Pragmas): Restore (slightly - modified) reference to Solaris. - -2015-02-10 Sandra Loosemore - - * doc/extend.texi (Extended Asm): Fix typos. - -2015-02-10 Jakub Jelinek - - PR sanitizer/65004 - * ubsan.c (ubsan_expand_vptr_ifn): Always return true. - -2015-02-10 Oleg Endo - - PR target/64661 - * config/sh/sh-protos.h (TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT, - TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS, - TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): Add parentheses. - * config/sh/constraints.md (Ara, Add): New constraints. - * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): New - predicates. - (atomic_compare_and_swap, atomic_exchange): Use - atomic_mem_operand_0. Don't use force_reg on the memory address. - (atomic_compare_and_swapsi_hard): Use atomic_mem_operand_0 predicate and - Sra constraint. Convert to insn_and_split. Add workaround for - PR 64974. - (atomic_compare_and_swap_hard): Copy to - atomic_compare_and_swap_hard_1. Convert to insn_and_split. - Use atomic_mem_operand_0 predicate. - (atomic_compare_and_swap_soft_gusa, - atomic_exchange_soft_gusa): Use atomic_mem_operand_0 predicate and - AraAdd constraints. - (atomic_compare_and_swap_soft_tcb, - atomic_compare_and_swap_soft_imask, - atomic_exchange_soft_tcb, atomic_exchange_soft_imask): Use - atomic_mem_operand_0 predicate and SraSdd constraints. - (atomic_exchangesi_hard) Use atomic_mem_operand_0 predicate and Sra - constraint. - (atomic_exchange_hard): Copy to atomic_exchange_hard_1. - Convert to insn_and_split. Use atomic_mem_operand_0 predicate. - (atomic_fetch_, atomic_fetch_nand, - atomic__fetch): Use atomic_mem_operand_1. Don't use - force_reg on the memory address. - (atomic_fetch_si_hard, atomic_fetch_notsi_hard, - atomic_fetch_nandsi_hard, atomic__fetchsi_hard, - atomic_not_fetchsi_hard, atomic_nand_fetchsi_hard): Use - atomic_mem_operand_1 predicate and Sra constraint. - (atomic_fetch__hard): Copy to - atomic_fetch__hard_1. Convert to insn_and_split. - Use atomic_mem_operand_1 predicate. - (atomic__hard): Copy to - atomic__hard_1. Convert to insn_and_split. - Use atomic_mem_operand_1 predicate. - (atomic_fetch_nand_hard): Copy to atomic_fetch_nand_hard_1. - Convert to insn_and_split. Use atomic_mem_operand_1 predicate. - (atomic_nand_hard): Copy to atomic_nand_hard_1. Convert to - insn_and_split. Use atomic_mem_operand_1 predicate. - (atomic__fetch_hard): Copy to - atomic__fetch_hard_1. Convert to insn_and_split. - Use atomic_mem_operand_1 predicate. - (atomic_nand_fetch_hard): Copy to atomic_nand_fetch_hard_1. - Convert to insn_and_split. Use atomic_mem_operand_1 predicate. - (atomic_fetch_not_hard, atomic_not_fetch_hard): Replace mems - in generated insn with original mem operand before emitting the insn. - (atomic_fetch__soft_gusa, - atomic_fetch_not_soft_gusa, atomic_fetch_nand_soft_gusa, - atomic__fetch_soft_gusa, - atomic_not_fetch_soft_gusa, atomic_nand_fetch_soft_gusa): - Use atomic_mem_operand_1 predicate and AraAdd constraints. - (atomic_fetch__soft_tcb, - atomic__soft_tcb, atomic_fetch_not_soft_tcb, - atomic_not_soft_tcb, atomic_fetch__soft_imask, - atomic_fetch_not_soft_imask, atomic_fetch_nand_soft_tcb, - atomic_nand_soft_tcb, atomic_fetch_nand_soft_imask, - atomic__fetch_soft_tcb, - atomic_not_fetch_soft_tcb, - atomic__fetch_soft_imask, - atomic_not_fetch_soft_imask, atomic_nand_fetch, - atomic_nand_fetch_soft_tcb, atomic_nand_fetch_soft_imask): - Use atomic_mem_operand_1 predicate and SraSdd constraints. - -2015-02-10 Uros Bizjak - - * config/alpha/alpha.md (reload_out_aligned): Make operands 2 - and 3 earlyclobber operands. - -2015-02-10 Jan Hubicka - - * common.opt (fstack-reuse): Mark as optimization. - -2015-02-10 Jan Hubicka - - PR ipa/64982 - * cgraphunit.c (cgraph_node::expand_thunk): Look for stdarg thunks. - -2015-02-10 Trevor Saunders - - PR tree-optimization/64326 - * cfghooks.c (make_forwarder_block): Cap frequency of created block. - -2015-02-10 Rainer Emrich - - PR gcov-profile/61889 - * gcov-tool.c: Remove wrong #if !defined(_WIN32) - -2015-02-10 Richard Biener - - PR tree-optimization/64995 - * tree-ssa-sccvn.c (set_ssa_val_to): Assert that the - value we use is final. - (visit_reference_op_store): Always valueize op. - (visit_use): Properly valueize vuses. - -2015-02-10 Richard Biener - - PR tree-optimization/64909 - * tree-vect-loop.c (vect_estimate_min_profitable_iters): Properly - pass a scalar-stmt count estimate to the cost model. - * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise. - -2015-02-10 Alexander Monakov - - * doc/invoke.texi (-fvar-tracking-assignments): Clarify that VTA is - enabled by default together with var-tracking. - -2015-02-10 Nick Clifton - - * config/rl78/rl78.c: Remove DIV attribute code accidentally - included in previous rl78 commit. - -2015-02-10 Richard Biener - - * tree-streamer.h (streamer_read_tree_bitfields): Adjust. - * tree-streamer-in.c (streamer_read_tree_bitfields): Do not - return the bitpack. - -2015-02-09 Trevor Saunders - - PR gcov-profile/61889 - * config.in: regenerate. - * configure.in: Likewise. - * configure.ac: Check for ftw.h. - * gcov-tool.c: Check for ftw.h before using nftw. - -2015-02-09 Trevor Saunders - - PR lto/64076 - * ipa-visibility.c (update_visibility_by_resolution_info): Only - assert when not in lto mode. - -2015-02-09 Zhouyi Zhou - - * ira-color.c (setup_left_conflict_sizes_p): Simplify - initialization/assignment of conflict_size. - -2015-02-09 Jan Hubicka - - PR ipa/64978 - * ipa-cp.c (gather_caller_stats): Skip thunks. - (propagate_constants_topo): Skip aliases. - -2015-02-09 Kaz Kojima - - PR target/64761 - * config/sh/sh.c (sh_option_override): Don't change - -freorder-blocks-and-partition to -freorder-blocks even when - unwinding is enabled. - (sh_can_follow_jump): Return false if the followee jump is - a crossing jump when -freorder-blocks-and-partition is specified. - * config/sh/sh.md (*jump_compact_crossing): New insn. - -2015-02-09 Joern Rennecke - Kaz Kojima - - PR target/64761 - * config/sh/sh-protos.h (sh_can_redirect_branch): Don't declare. - * config/sh/sh.c (TARGET_CAN_FOLLOW_JUMP): Redefine. - (sh_can_redirect_branch): Rename to ... - (sh_can_follow_jump): ... this. Constify argument types. - * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): Don't define. - * doc/tm.texi.in (MD_CAN_REDIRECT_BRANCH): Remove documentation. - * reorg.c (steal_delay_list_from_target): Use targetm.can_follow_jump. - * doc/tm.texi: Regenerate. - -2015-02-09 Jakub Jelinek - - PR sanitizer/64981 - * builtins.c (expand_builtin): Call targetm.expand_builtin - for BUILT_IN_MD builtins regardless of asan_intercepted_p. - -2015-02-08 Jan Hubicka - - PR ipa/61548 - * tree-emutls.c (ipa_lower_emutls): Avoid duplicates in TLS_VARS. - -2015-02-08 Jan Hubicka - - PR ipa/63566 - * ipa-icf.c (set_local): New function. - (sem_function::merge): Use it. - -2015-02-08 Jan Hubicka - - * ipa-devirt.c (odr_types_equivalent_p): Fix formating. - (add_type_duplicate): Fix comparison of BINFOs. - -2015-02-08 Jan Hubicka - - * ipa-polymorphic-call.c (ipa_polymorphic_call_context): Avoid ICE - on getting VOID pointer. - -2015-02-09 Jakub Jelinek - - PR target/64979 - * tree-stdarg.c (pass_stdarg::execute): Scan phi node args for - va_list escapes. - -2015-02-09 Richard Biener - - * genmatch.c (replace_id): Copy expr_type. - -2015-02-09 Richard Biener - - * tree-streamer.h (streamer_pack_tree_bitfields): Remove. - (streamer_write_tree_bitfields): Declare. - * tree-streamer-in.c (unpack_ts_base_value_fields): Inline, - properly unpack padding. - (unpack_value_fields): Inline ... - (streamer_read_tree_bitfields): ... here. - * tree-streamer-out.c (pack_ts_base_value_fields): Inline - and properly add padding bits. - (streamer_pack_tree_bitfields): Fold into ... - (streamer_write_tree_bitfields): ... this new function, - exposing the bitpack object. - * lto-streamer-out.c (lto_write_tree_1): Call - streamer_write_tree_bitfields. - -2015-02-09 Richard Biener - - PR tree-optimization/54000 - * tree-ssa-looo-ivopts.c: Include tree-vectorizer.h. - (struct ivopts_data): Add loop_loc member. - (tree_ssa_iv_optimize_loop): Dump loop location. - (create_new_ivs): Likewise, also dump number of IVs generated. - -2015-02-09 Martin Liska - - * ipa-icf.c (sem_item_optimizer::register_hooks): Register hooks - just if not yet registered. - (ipa_icf_generate_summary): Register callgraph hooks. - -2015-02-08 Andrew Pinski - - * config/aarch64/aarch64.c (gty_dummy): Delete. - -2015-02-08 Jan Hubicka - - PR ipa/63566 - * ipa-visibility.c (cgraph_node::non_local_p): Accept aliases. - (cgraph_node::local_p): Remove thunk related FIXME. - -2015-02-08 Jan Hubicka - - PR ipa/63566 - * i386.c (ix86_function_regparm): Look through aliases to see if callee - is local and optimized. - (ix86_function_sseregparm): Likewise; also use target's SSE math - settings; error out instead of silently generating wrong code - on mismatches. - (init_cumulative_args): Look through aliases. - -2015-02-08 Jan Hubicka - - PR ipa/63566 - * ipa-split.c (execute_split_functions): Split if function has aliases. - -2015-02-08 Jan Hubicka - - PR ipa/63566 - * cgraphunit.c (cgraph_node::analyze): Be sure target of thunk is - aliases before trying to expand it. - (cgraph_node::expand_thunk): Fix formating. - -2015-02-07 Sandra Loosemore - - * doc/extend.texi (Function Attributes [naked]): Copy-edit. - (Using Assembly Language with C): Expand introduction. - (Basic Asm): Copy-edit. Add more information about uses of - basic asm. - (Extended Asm): Copy-edit. Document new escape syntax and - %l[label] syntax. - (Global Reg Vars): Copy-edit. - (Local Reg Vars): Likewise. - -2015-02-06 David Edelsohn - - PR debug/2714 - PR bootstrap/64256 - * xcoffout.h (DBX_CONTIN_LENGTH): Define as 16384. - (DBX_CONTIN_CHAR): Define. - -2015-02-06 Sebastian Pop - Brian Rzycki - - PR tree-optimization/64878 - * tree-ssa-threadedge.c: Include tree-ssa-loop.h. - (fsm_find_control_statement_thread_paths): Add parameter seen_loop_phi. - Stop recursion at loop phi nodes after having visited a loop phi node. - -2015-02-06 Jakub Jelinek - - * toplev.c (process_options): Change flag_ipa_ra before creating - optimization_{default,current}_node. - - PR ipa/64896 - * cgraphunit.c (cgraph_node::expand_thunk): If - restype is not is_gimple_reg_type nor the thunk_fndecl - returns aggregate_value_p, set restmp to a temporary variable - instead of resdecl. - -2015-02-06 Vladimir Makarov - - * lra.c (lra_emit_add): Fix a typo in using disp instead of base. - -2015-02-06 Michael Meissner - - PR target/64205 - * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not - add a general secondary reload handler for SDmode, unless we have - both read/write support for SDmode. - -2015-02-06 Jakub Jelinek - - PR middle-end/64937 - * dwarf2out.c (set_block_abstract_flags, set_decl_abstract_flags): - Replace setting argument with abstract_vec, always set BLOCK_ABSTRACT - or DECL_ABSTRACT_P flags to 1 rather than to setting, and if it wasn't - 1 before, push it to abstract_vec. - (dwarf2out_abstract_function): Adjust caller. Don't call - set_decl_abstract_flags second time, instead clear BLOCK_ABSTRACT or - DECL_ABSTRACT_P flags for all abstract_vec elts. - -2015-02-06 Renlin Li - - * tree-ssa-forwprop.c (execute): Keep location info while rewrite - complex gimple. - * tree-ssa.c (execute_update_addresses_taken): Likewise. - -2015-02-06 Jeff Law - - PR target/64889 - * config/h8300/h8300.c (push): New argument "in_prologue". - Pass "in_prologue" along to "F". - (h8300_push_pop): Corresponding changes. - (h8300_expand_prologue): Likewise. - (h8300_swap_into_er6): Likewise. Do not set RTX_FRAME_RELATED_P. - -2015-02-06 Jakub Jelinek - - PR rtl-optimization/64957 - PR debug/64817 - * simplify-rtx.c (simplify_binary_operation_1): Use ~cval for - IOR rather than for AND. - -2015-02-06 Eric Botcazou - - PR target/62631 - * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Use the mininum of costs - of shift-add and (add + shift) operations. Rename local variable. - -2015-02-05 Jeff Law - - PR target/17306 - * config/h8300/constraints.md (U): Correctly dectect - "eightbit_data" memory addresses. - * config/h8300/h8300.c (eightbit_constant_address_p): Also - handle (const (plus (symbol_ref (x)))) where x is declared - as an 8-bit data memory address. - * config/h8300/h8300.md (call, call_value): Correctly detect - "funcvec" functions. - - PR target/43264 - * config/h8300/h8300.c (get_shift_alg): Fix ASHIFTRT by - 24 to 28 bits for the H8/300. - -2015-02-06 Alan Modra - - PR target/64876 - * config/rs6000/rs6000.c (chain_already_loaded): New function. - (rs6000_call_aix): Use it. - -2015-02-05 Jan Hubicka - - * ipa-cp.c (ipa_value_from_jfunc, ipa_context_from_jfunc): Add bounds - check. - -2015-02-05 Joern Rennecke - - * config/h8300/constraints.md ("U" constraint): Use strict - variant of REG_OK_FOR_BASE_P after reload has started. - -2015-02-04 Mantas Mikaitis - - * config/arm/arm.h (TARGET_NEON_FP): Removed conditional definition, - define to zero if !TARGET_NEON. - (TARGET_ARM_FP): Added !TARGET_SOFT_FLOAT into conditional definition. - -2015-02-04 Jan Hubicka - Trevor Saunders - - PR ipa/61548 - * tree-emultls.c (new_emutls_decl): Resolve alias after creating it. - -2015-02-04 Jan Hubicka - - PR ipa/61548 - * ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue - when removing varpool nodes. - -2015-02-04 Jan Hubicka - - PR ipa/61548 - * varpool.c (varpool_node::remove): Fix order of variables. - -2015-02-04 Jan Hubicka - - PR ipa/64686 - * ipa-inline.c (inline_small_functions): Fix ordering issue between - speculation resolution and key updates. - -2015-02-04 Jan Hubicka - - * ipa-prop.c (update_indirect_edges_after_inlining): By more careful - about not letting any speculative edges unupdated. - -2015-02-04 Jan Hubicka - - PR gcov/64123 - * gcov-io.c (gcov_var): Export. - -2015-02-04 Jan Hubicka - - PR middle-end/64922 - * ipa-prop.c (update_indirect_edges_after_inlining): Correctly update - edges that become speculative. - -2015-02-04 Jakub Jelinek - - * dwarf2out.c (is_fortran): Also return true for DW_LANG_Fortran03 - or DW_LANG_Fortran08. - (lower_bound_default): Return 1 for DW_LANG_Fortran03 or - DW_LANG_Fortran08. - (gen_compile_unit_die): Handle "GNU Fortran2003" and - "GNU Fortran2008" language strings. - * dbxout.c (get_lang_number): Use lang_GNU_Fortran. - * langhooks.h (lang_GNU_Fortran): New prototype. - * langhooks.c (lang_GNU_Fortran): New function. - * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use - lang_GNU_Fortran. - -2015-02-04 Eric Botcazou - - * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P): Fix off-by-one error. - (RTX_OK_FOR_OLO10_P): Likewise. - -2015-02-04 Eric Botcazou - - * tree-ssa-loop-ivopts.c (get_address_cost): Use right mode for offset. - -2015-02-04 Jan Hubicka - - PR middle-end/64922 - * gimple.c: Include gimple-ssa.h. - (maybe_remove_unused_call_args): New function. - * gimple.h (maybe_remove_unused_call_args): Declare. - * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it. - * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise. - * gimple-fold.c (gimple_fold_call): Likewise. - -2015-02-04 H.J. Lu - - PR rtl-optimization/64905 - * lra-eliminations.c (setup_can_eliminate): Clear hard frame - pointer alignment if it isn't needed. - -2015-02-04 Matthew Wahab - - * config/aarch64/aarch64-cores.def: Add cortex-a72 and - cortex-a72.cortex-a53. - * config/aarch64/aarch64-tune.md: Regenerate. - * doc/invoke.texi (AArch64 Options/-mtune): Add "cortex-a72". - -2015-02-04 Nick Clifton - - * config/rl78/rl78.c (rl78_note_reg_set): Note the use of REGs - inside a MEM. - -2015-02-04 Jakub Jelinek - - * builtins.def (DEF_BUILTIN_CHKP): Define if not defined. - (DEF_LIB_BUILTIN_CHKP, DEF_EXT_LIB_BUILTIN_CHKP): Redefine. - (DEF_CHKP_BUILTIN): Define using DEF_BUILTIN_CHKP instead - of DEF_BUILTIN. - (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCAT, - BUILT_IN_STRCHR, BUILT_IN_STRCPY, BUILT_IN_STRLEN): Use - DEF_LIB_BUILTIN_CHKP macro instead of DEF_LIB_BUILTIN. - (BUILT_IN_MEMCPY_CHK, BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK, - BUILT_IN_MEMPCPY, BUILT_IN_MEMSET_CHK, BUILT_IN_STPCPY_CHK, - BUILT_IN_STPCPY, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK): Use - DEF_EXT_LIB_BUILTIN_CHKP macro instead of DEF_EXT_LIB_BUILTIN. - * tree-core.h (enum built_in_function): In between - BEGIN_CHKP_BUILTINS and END_CHKP_BUILTINS only define enum values - for builtins that use DEF_BUILTIN_CHKP macro. - -2015-02-04 Alexandre Oliva - - PR debug/64817 - * cfgexpand.c (expand_debug_expr): Compute unsignedp from - operands for tcc_comparison exprs. Fix typos. - - PR debug/64817 - * simplify-rtx.c (simplify_binary_operation_1): Simplify one - of two XORs that have an intervening AND or IOR. - - PR debug/64817 - * simplify-rtx.c (simplify_binary_operation_1): Rewrite - simplification of XOR of AND to not allocate new rtx before - committing to a simplification. - -2015-02-04 Kyrylo Tkachov - - * config/aarch64/aarch64-ldpstp.md: Use std::swap instead of - manual swaps in all peepholes. - -2015-02-04 Kyrylo Tkachov - - * config/aarch64/aarch64.c (aarch64_evpc_ext): Use std::swap instead - of manual swapping implementation. - (aarch64_expand_vec_perm_const_1): Likewise. - -2015-02-04 James Greenhalgh - - * config/aarch64/aarch64.c (NAMED_PARAM): Delete it. - (generic_addrcost_table): Remove NAMED_PARAM. - (cortexa57_addrcost_table): Likewise. - (xgene1_addrcost_table): Likewise. - (generic_regmove_table): Likewise. - (cortexa53_regmove_table): Likewise. - (xgene1_regmove_table): Likewise. - (generic_vector_table): Likewise. - (cortexa57_vector_table): Likewise. - (xgene1_vector_table): Likewise. - (generic_tunings): Likewise. - (cortexa53_tunings): Likewise. - (cortexa57_tunings): Likewise. - (xgene1_tunings): Likewise. - -2015-02-04 Matthew Wahab - - * config/arm/arm-cores.def: Add cortex-a72 and - cortex-a72.cortex-a53. - * config/arm/bpabi.h (BE8_LINK_SPEC): Likewise. - * config/arm/t-aprofile (MULTILIB_MATCHES): Likewise. - * config/arm/arm-tune.md: Regenerate. - * config/arm/arm-tables.opt: Add entries for "cortex-a72" and - "cortex-a72.cortex-a53". - * doc/invoke.texi (ARM Options/-mtune): Likewise. - -2015-02-04 Nick Clifton - - PR target/64408 - * config/fr30/predicates.md (di_operand): Add SUBREG to the list - of accepted codes. - (nonimmediate_di_operand): Likewise. - - * config/msp430/msp430.c (msp430_use_f5_series_hwmult): Add more - prefixes of known F5 using MSP430 MCUs. - -2015-02-04 Kyrylo Tkachov - - * config/aarch64/aarch64-simd-builtins.def (sqrt): Use BUILTIN_VDQF_DF. - * config/aarch64/arm_neon.h (vsqrt_f64): Use __builtin_aarch64_sqrtdf - instead of __builtin_sqrt. - -2015-02-04 Ilya Enkovich - - * varasm.c (do_assemble_alias): Follow transparent alias - chain for target. - (default_assemble_visibility): Follow transparent alias - chain for decl name. - -2015-02-04 Thomas Preud'homme - - PR middle-end/62103 - * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use TYPE_PRECISION - to compute size of referenced value in the constant case. - -2015-02-03 Jakub Jelinek - - PR rtl-optimization/64756 - * cse.c (invalidate_dest): New function. - (cse_insn): Use it. If dest != SET_DEST (sets[i].rtl) and - HASH (SET_DEST (sets[i].rtl), mode) computation sets do_not_record, - invalidate and do not record it. - -2015-02-03 Oleg Endo - - PR target/64660 - * config/sh/sync.md (atomic__hard, - atomic_not_hard, atomic__soft_tcb, - atomic_not_soft_tcb, atomic_nand_hard, - atomic_nand_soft_tcb): New insns. - (atomic_fetch_si_hard): Convert to insn_and_split. - Split into atomic__fetchsi_hard if operands[0] is unused. - (define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split. - Split into atomic_not_fetchsi_hard if operands[0] is unused. - (atomic_fetch__hard): Convert to insn_and_split. - Split into atomic__hard if operands[0] is unused. - (atomic_fetch_not_hard): Convert to insn_and_split. Split into - atomic_not_hard if operands[0] is unused. - (atomic_fetch__soft_gusa): Convert to - insn_and_split. Split into atomic__fetch_soft_gusa - if operands[0] is unused. - (atomic_fetch_not_soft_gusa): Convert to insn_and_split. Split - into atomic_not_fetch_soft_gusa if operands[0] is unused. - (atomic_fetch__soft_tcb): Convert to insn_and_split. - Split into atomic__soft_tcb if operands[0] is - unused. - (atomic_fetch_not_soft_tcb): Convert to insn_and_split. Split - into atomic_not_soft_tcb if operands[0] is unused. - (atomic_fetch__soft_imask): Convert to - insn_and_split. Split into atomic__fetch_soft_imask - if operands[0] is unused. - (atomic_fetch_not_soft_imask): Convert to insn_and_split. Split - into atomic_not_fetch_soft_imask is operands[0] is unused. - (atomic_fetch_nandsi_hard): Convert to insn_and_split. Split into - atomic_nand_fetchsi_hard if operands[0] is unused. - (atomic_fetch_nand_hard): Convert to insn_and_split. Split into - atomic_nand_hard if operands[0] is unused. - (atomic_fetch_nand_soft_gusa): Convert to insn_and_split. Split - into atomic_nand_fetch_soft_gusa if operands[0] is unused. - (atomic_fetch_nand_soft_tcb): Convert to insn_and_split. Split - into atomic_nand_soft_tcb if operands[0] is unused. - (atomic_fetch_nand_soft_imask): Convert to insn_and_split. Split - into atomic_nand_fetch_soft_imask if operands[0] is unused. - (atomic__fetch_hard): Convert to insn_and_split. - Split into atomic__hard if operands[0] is unused. - (atomic_not_fetch_hard): Convert to insn_and_split. Split into - atomic_not_hard if operands[0] is unused. - (atomic__fetch_soft_tcb): Convert to insn_and_split. - Split into atomic__soft_tcb if operands[0] is - unused. - (atomic_not_fetch_soft_tcb): Convert to insn_and_split. Split - into atomic_not_soft_tcb if operands[0] is unused. - (atomic_nand_fetch_hard): Convert to insn_and_split. Split into - atomic_nand_hard if operands[0] is unused. - (atomic_nand_fetch_soft_tcb): Convert to insn_and_split. Split - into atomic_nand_soft_tcb if operands[0] is unused. - -2015-02-03 David Malcolm - - PR jit/64810 - * Makefile.in (GCC_OBJS): Add gcc-main.o. - * gcc-main.c: New file, containing "main" taken from gcc.c. - * gcc.c (do_self_spec): Free decoded_options. - (class driver): Move declaration to gcc.h. - (main): Move declaration and implementation to new file - gcc-main.c. - (driver_get_configure_time_options): New function. - * gcc.h (class driver): Move this declaration here, from - gcc.c. - (driver_get_configure_time_options): New declaration. - -2015-02-03 Jan Hubicka - - * ipa-inline-analysis.c (simple_edge_hints): Fix check for - cross-module inlining. - * cgraph.h (cgraph_node): Add flag merged. - * ipa-icf.c (sem_function::merge): Maintain it. - -2015-02-03 Richard Sandiford - - * config/arm/arm.c (thumb2_reorg): Test UNARY_P and BINARY_P - instead of OBJECT_P. - -2015-02-03 Eric Botcazou - - PR target/62631 - * config/sparc/sparc.h (TARGET_HARD_MUL): Remove TARGET_V8PLUS. - (TARGET_HARD_MUL32): Rewrite based on TARGET_HARD_MUL. - * config/sparc/sparc.c (sparc_rtx_costs) : Return costs based on - int_mulX for integers in 64-bit mode if TARGET_HARD_MUL is not set. - -2015-02-03 Jakub Jelinek - - PR other/63504 - * combine.c (reg_n_sets_max): New variable. - (can_change_dest_mode, reg_nonzero_bits_for_combine, - reg_num_sign_bit_copies_for_combine, get_last_value_validate, - get_last_value): Use REG_N_SETS only on pseudos < reg_n_sets_max. - (try_combine): Use INC_REG_N_SETS only on pseudos < reg_n_sets_max. - (rest_of_handle_combine): Initialize reg_n_sets_max. - -2015-02-02 Jan Hubicka - - * ipa-inline.c (early_inliner): Skip inlining only in always_inlined; - if some always_inline was inlined, apply changes before inlining - heuristically. - -2015-02-02 David Malcolm - - PR jit/64810 - * config/arm/arm.c (arm_option_override): Set - arm_selected_arch/cpu/tune to NULL on entry. - -2015-02-02 Tejas Belagod - Andrew Pinski - Jakub Jelinek - - PR target/64231 - * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large - integer typing for small model. Use IN_RANGE. - -2015-02-02 Richard Biener - - * tree-ssa-ccp.c (valueize_op_1): Always allow valueizing default-defs. - * tree-vrp.c (vrp_valueize_1): Likewise. - -2015-02-02 Alan Modra - - * config/rs6000/rs6000.c (rs6000_call_aix): Use unspec rather - than mem for toc_restore. - * config/rs6000/rs6000.md (UNSPEC_TOCSLOT): Define. - (call_indirect_aix, call_value_indirect_aix): Adjust to suit. - (call_indirect_elfv2, call_value_indirect_elfv2): Likewise. - -2015-02-01 David Edelsohn - - PR target/64047 - * config/rs6000/rs6000.c (rs6000_set_current_function): Handle - explicit default options. - -2015-02-01 Jan Hubicka - - PR ipa/64872 - * ipa-utils.c (ipa_merge_profiles): Add release argument. - * ipa-icf.c (sem_function::merge): Do not release body when merging. - * ipa-utils.h (ipa_merge_profiles): Update prototype. - -2015-02-01 Jakub Jelinek - - PR debug/64817 - * cfgexpand.c (deep_ter_debug_map): New variable. - (avoid_deep_ter_for_debug): New function. - (expand_debug_expr): If TERed SSA_NAME is in - deep_ter_debug_map, use the corresponding DEBUG_EXPR_DECL - instead of trying to expand SSA_NAME's def stmt. - (expand_debug_locations): When expanding debug bind - of a DEBUG_EXPR_DECL to corresponding SSA_NAME, - temporarily remove the DEBUG_EXPR_DECL from deep_ter_debug_map's - value. - (pass_expand::execute): Call avoid_deep_ter_for_debug on - all debug bind stmts. Delete deep_ter_debug_map after - expand_debug_location if non-NULL and clear it. - -2015-02-01 Oleg Endo - - PR target/64851 - * config/sh/sync.md (atomic_fetch_notsi_hard, - atomic_fetch_not_hard, atomic_fetch_not_soft_gusa, - atomic_fetch_not_soft_tcb, atomic_fetch_not_soft_imask, - atomic_not_fetchsi_hard, atomic_not_fetch_hard, - atomic_not_fetch_soft_gusa, atomic_not_fetch_soft_tcb, - atomic_not_fetch_soft_imask): New insns. - -2015-02-01 Maxim Kuvyrkov - - * haifa-sched.c (INSN_RFS_DEBUG_ORIG_ORDER): New access macro. - (rank_for_schedule_debug): Split from ... - (rank_for_schedule): ... this. - (ready_sort): Sort DEBUG_INSNs separately from normal INSNs. - * sched-int.h (struct _haifa_insn_data): New field rfs_debug_orig_order. - -2015-01-31 Sandra Loosemore - - * doc/md.texi (Machine Constraints): Alphabetize table by target. - * doc/extend.texi (x86 Variable Attributes): Move section to - correct alphabetization after renaming. - (x86 Type Attributes): Likewise. - (Target Builtins): Re-alphabetize menu. - (x86 Built-in Functions): Move section to correct alphabetization - after renaming. - (x86 transactional memory intrinsics): Likewise. - * doc/invoke.texi (Option Summary): Re-alphabetize x86 Options - and x86 Windows Options in table and menu. - (x86 Options): Move section to correct alphabetization after - renaming. - (x86 Windows Options): Likewise. - -2015-01-31 Sandra Loosemore - - * doc/extend.texi: Use "x86", "x86-32", and "x86-64" as the - preferred names of the architecture and its 32- and 64-bit - variants. - * doc/invoke.texi: Likewise. - * doc/md.texi: Likewise. - -2015-01-31 Uros Bizjak - - PR target/64882 - * config/i386/predicates.md (address_no_seg_operand): Reject - non-CONST_INT_P operands in invalid mode. - -2015-01-31 Uros Bizjak - - * config/i386/i386.md (*prefetch_prefetchw1): Remove mode of - address_operand 0. Rename from *prefetch_prefetchwt1_. - * config/i386/predicates.md (address_no_seg_operand): Call - address_operand with VOIDmode. - (vsib_address_operand): Ditto. - (address_mpx_no_base_operand): Ditto. - (address_mpx_no_index_operand): Ditto. - -2015-01-30 Vladimir Makarov - - PR target/64688 - * lra-constraints.c (original_subreg_reg_mode): New. - (simplify_operand_subreg): Try to simplify subreg of const. Use - original_subreg_reg_mode for it. - (swap_operands): Update original_subreg_reg_mode. - (curr_insn_transform): Set up original_subreg_reg_mode. - -2015-01-30 Vladimir Makarov - - PR target/64617 - * lra-constraints.c (prohibited_class_reg_set_mode_p): New - function. - (process_alt_operands): Use it. - (curr_insn_transform): Check the optional reload pseudo class is - ok for the mode. - -2015-01-30 Joseph Myers - - * diagnostic.c (fatal_error (const char *, ...)): Remove function. - * diagnostic-core.h (fatal_error (const char *, ...)): Remove - prototype. - * toplev.h (init_asm_output): Update comment on use of - UNKNOWN_LOCATION with fatal_error. - * cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c, - config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h, - config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c, - config/i386/intelmic-mkoffload.c, config/nios2/nios2.c, - config/nvptx/mkoffload.c, config/nvptx/nvptx.h, - config/rs6000/host-darwin.c, config/rs6000/rs6000.c, - config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c, - ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c, - lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c, - lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c, - tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of - fatal_error changed to pass input_location as first argument. - -2015-01-30 Martin Liska - - * tree.h: Change GCC_VERSION >= 4004 to GCC_VERSION >= 4006 - in #pragma GCC diagnostic guards. - -2015-01-30 Richard Biener - - PR tree-optimization/64829 - * tree-vect-patterns.c (vect_handle_widen_op_by_const): Do - not add a widening conversion pattern but hand off extra - widenings to callers. - (vect_recog_widen_mult_pattern): Handle extra widening produced - by vect_handle_widen_op_by_const. - (vect_recog_widen_shift_pattern): Likewise. - (vect_pattern_recog_1): Remove excess vertical space in dumping. - * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise. - (vect_init_vector_1): Likewise. - (vect_get_vec_def_for_operand): Likewise. - (vect_finish_stmt_generation): Likewise. - (vectorizable_load): Likewise. - (vect_analyze_stmt): Likewise. - (vect_is_simple_use): Likewise. - -2015-01-29 Jeff Law - - * combine.c (try_combine): Fix typo in comment. - -2015-01-29 Segher Boessenkool - - PR target/64580 - * config.rs6000/rs6000.c (compute_vrsave_mask): Reverse loop order. - (rs6000_stack_info): Add assert. - (rs6000_output_savres_externs): New function, split off from... - (rs6000_output_function_prologue): ... here. Do not call it for - thunks. - -2015-01-29 Jeff Law - - PR target/15184 - * combine.c (try_combine): If I0 is a memory load and I3 a store - to a related address, increase the "goodness" of doing a 4-insn - combination with I0-I3. - (make_field_assignment): Handle SUBREGs in the ior+and case. - -2015-01-29 Yuri Rumyantsev - - PR tree-optimization/64746 - * tree-if-conv.c (mask_exists): New function. - (predicate_mem_writes): Save created mask with given size for further - use. - (stmt_is_root_of_bool_pattern): Remove argument VAR and store to it. - (ifcvt_repair_bool_pattern): Collect all statements that are root - of bool pattern and use iterative algorithm to remove multiple uses - of predicates, display number of required iterations. - -2015-01-29 Richard Biener - - PR tree-optimization/64853 - * tree-vrp.c (vrp_valueize_1): Do not return anything if the - stmt will get simulated again. - * tree-ssa-ccp.c (valueize_op_1): Likewise. - -2015-01-29 Kyrylo Tkachov - - * config/arm/arm.c (arm_emit_multi_reg_pop): Simplify definition of - return_in_pc. Remove redundant assignments. - (thumb2_emit_ldrd_pop): Simplify definition of return_in_pc. - (arm_expand_epilogue): Don't compare boolean with true in if condition. - -2015-01-29 Uros Bizjak - - * config/i386/i386.c (ix86_mode_after): Make static. - -2015-01-29 Richard Biener - - PR tree-optimization/64844 - * tree-vect-loop.c (vect_estimate_min_profitable_iters): Always - dump cost model analysis. - * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): - Do not register adjusted load/store costs here. - -2015-01-29 Ilya Enkovich - Uros Bizjak - - * config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): New. - * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Simplify by - using x86_use_pseudo_pic_reg. - * config/i386/i386.c (ix86_conditional_register_usage): Remove - support for fixed PIC register. - (ix86_use_pseudo_pic_reg): Not static any more. - -2015-01-29 Ilya Enkovich - - PR middle-end/64805 - * ipa-inline.c (early_inliner): Rebuild IPA_REF_CHKP reference - to avoid error in cgraph node verification. - -2015-01-29 Marek Polacek - - * doc/standards.texi: Reflect that the default for C is gnu11. - -2015-01-29 Kaz Kojima - - PR target/64761 - * reorg.c (switch_text_sections_between_p): New function. - (relax_delay_slots): Call it when testing if the jump insn - is removable. Use targetm.can_follow_jump when testing if - the conditional branch can follow an unconditional jump. - -2015-01-27 Caroline Tice - - Committing VTV Cywin/Ming patch for Patrick Wollgast - * config/i386/cygwin.h (STARTFILE_SPEC): Add vtv_start.o, - if -fvtable-verify=preinit/std is used. - * config/i386/mingw-w64.h (STARTFILE_SPEC): Likewise. - * config/i386/mingw32.h (STARTFILE_SPEC): Likewise. - * config/i386/cygwin.h (ENDFILE_SPEC): Add vtv_end.o, - if -fvtable-verify=preinit/std is used. - * config/i386/mingw32.h (ENDFILE_SPEC): Likewise. - * config/i386/cygwin.h (LIB_SPEC): Pass -lvtv and -lpsapi, - if -fvtable-verify=preinit/std is used. - * config/i386/mingw-w64.h (LIB_SPEC): Likewise. - * config/i386/mingw32.h (LIB_SPEC): Likewise. - * varasm.c (assemble_variable): Add code to properly set the comdat - section and name for the .vtable_map_vars section in case the - target is PE or COFF. - -2015-01-29 Jan Hubicka - - PR ipa/64801 - * cgraphunit.c (init_lowered_empty_function): Add CoUNT parameter; - make sane BB profile. - (cgraph_node::expand_thunk): Make sane BB profile. - (cgraph_node::create_wrapper): Do not set call_stmt_cannot_inline_p. - * cgraph.h (init_lowered_empty_function): Update prototype. - * config/i386/i386.c (make_resolver_func): Update call. - * predict.c (gate): Disable branch prediction pass if - profile is already there. - -2015-01-29 Jan Hubicka - - * optc-save-gen.awk: flag_fp_contract_mode is no longer speical. - * opth-gen.awk: Likewise. - * common.opt: Mark flag_fp_contract_mode as Optimization. - -2015-01-29 Bernd Edlinger - - * config/i386/cygwin.h (LIBGCJ_SONAME): Set libgcj version to -16. - * config/i386/mingw32.h (LIBGCJ_SONAME): Set libgcj version to -16. - -2015-01-28 Oleg Endo - - PR target/64659 - * config/sh/predicates.md (atomic_arith_operand, - atomic_logical_operand): Remove. - * config/sh/sync.md (fetchop_predicate, fetchop_constraint): Remove. - (atomic_arith_operand_0): New predicate. - (atomic_compare_and_swap): Use arith_reg_dest for output values. - Use atomic_arith_operand_0 for input values. - (atomic_compare_and_swapsi_hard, atomic_compare_and_swap_hard, - atomic_compare_and_swap_soft_gusa, - atomic_compare_and_swap_soft_tcb, - atomic_compare_and_swap_soft_imask): Use arith_reg_dest and - arith_reg_operand instead of register_operand. - (atomic_exchange): Use arith_reg_dest for output value. Use - atomic_arith_operand_0 for newval input. - (atomic_exchangesi_hard, atomic_exchange_hard, - atomic_exchange_soft_gusa, atomic_exchange_soft_tcb, - atomic_exchange_soft_imask): Use arith_reg_dest and - arith_reg_operand instead of register_operand. - (atomic_arith_operand_1, atomic_logical_operand_1): New predicates. - fetchop_predicate_1, fetchop_constraint_1_llcs, - fetchop_constraint_1_gusa, fetchop_constraint_1_tcb, - fetchop_constraint_1_imask): New code iterator attributes. - (atomic_fetch_): Use arith_reg_dest instead of - register_operand. Use fetchop_predicate_1. - (atomic_fetch_si_hard, - atomic_fetch__hard): Use arith_reg_dest instead of - register_operand. Use fetchop_predicate_1, fetchop_constraint_1_llcs. - (atomic_fetch__soft_gusa): Use arith_reg_dest - and arith_reg_operand instead of register_operand. Use - fetchop_predicate_1, fetchop_constraint_1_gusa. - (atomic_fetch__soft_tcb): Use arith_reg_dest - and arith_reg_operand instead of register_operand. Use - fetchop_predicate_1, fetchop_constraint_1_tcb. Adjust asm sequence - to allow R0 usage. - (atomic_fetch__soft_imask): Use arith_reg_dest - and arith_reg_operand instead of register_operand. Use - fetchop_predicate_1, fetchop_constraint_1_imask. Adjust asm sequence - to allow R0 usage. - (atomic_fetch_nand): Use arith_reg_dest instead of - register_operand. Use atomic_logical_operand_1. - (atomic_fetch_nandsi_hard, atomic_fetch_nand_hard, - atomic_fetch_nand_soft_gusa): Use arith_reg_dest and - arith_reg_operand instead of register_operand. - (atomic_fetch_nand_soft_tcb, atomic_fetch_nand_soft_imask): - Use arith_reg_dest and arith_reg_operand instead of register_operand. - Use logical_operand and rK08. Adjust asm sequence to allow R0 usage. - (atomic__fetch): Use arith_reg_dest instead of - register_operand. Use fetchop_predicate_1. - (atomic__fetchsi_hard, - atomic__fetch_hard): Use arith_reg_dest and - arith_reg_operand instead of register_operand. Use fetchop_predicate_1, - fetchop_constraint_1_llcs. - (atomic__fetch_soft_gusa): Use arith_reg_dest and - arith_reg_operand instead of register_operand. Use fetchop_predicate_1, - fetchop_constraint_1_gusa. - (atomic__fetch_soft_tcb): Use arith_reg_dest and - arith_reg_operand instead of register_operand. Use fetchop_predicate_1, - fetchop_constraint_1_tcb. Adjust asm sequence to allow R0 usage. - (atomic__fetch_soft_imask): Use arith_reg_dest and - arith_reg_operand instead of register_operand. Use fetchop_predicate_1, - fetchop_constraint_1_imask. Adjust asm sequence to allow R0 usage. - (atomic_nand_fetch): Use arith_reg_dest instead of - register_operand. Use atomic_logical_operand_1. - (atomic_nand_fetchsi_hard, atomic_nand_fetch_hard, - atomic_nand_fetch_soft_gusa): Use arith_reg_dest and - arith_reg_operand instead of register_operand. - (atomic_nand_fetch_soft_tcb): Use arith_reg_dest and - arith_reg_operand instead of register_operand. Use logical_operand - and K08. Adjust asm sequence to allow R0 usage. - (atomic_nand_fetch_soft_imask): Use arith_reg_dest and - arith_reg_operand instead of register_operand. Use logical_operand - and K08. - -2015-01-28 Jakub Jelinek - - PR other/63504 - * dwarf2out.c (add_AT_wide, mem_loc_descriptor, loc_descriptor): - Use ggc_alloc instead of ggc_cleared_alloc. - (attr_checksum, attr_checksum_ordered, hash_loc_operands): Checksum - only get_full_len HOST_WIDE_INTs from get_val () array rather than - all bits in *val_wide. - -2015-01-28 Jan Hubicka - - * varpool.c (tls_model_names): Fix names. - (varpool_node::dump): Dump tls- prefix for tls models. - -2015-01-28 Thomas Schwinge - Bernd Schmidt - Nathan Sidwell - - * config/nvptx/mkoffload.c: New file. - * config/nvptx/t-nvptx: Add build rules for it. - * config.gcc [$enable_as_accelerator = yes] - (extra_programs): Add mkoffload. - * config/nvptx/nvptx.c (nvptx_record_offload_symbol): New - function. - (TARGET_RECORD_OFFLOAD_SYMBOL): Define macro to use it. - -2015-01-28 Yuri Rumyantsev - - PR middle-end/64809 - * cfgexpand.c (reorder_operands): Skip debug gimples. - -2015-01-28 Ilya Enkovich - - PR tree-optimization/64277 - * tree-ssa-loop-niter.c (record_nonwrapping_iv): Use base - range info when possible to refine estimation. - -2015-01-28 Thomas Preud'homme - - PR tree-optimization/64718 - * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Make bswap_type - be a 16bit unsigned integer when n->range is 16. - (bswap_replace): Convert src to that type if necessary for all bswap - sizes. Fix rotation right notation in nearby comment. Use bswap_type - set in pass_optimize_bswap::execute (). - -2015-01-28 James Greenhalgh - - * config/aarch64/aarch64-simd.md (aarch64_abs): New. - * config/aarch64/aarch64-simd-builtins.def (abs): Split by - integer and floating point variants. - * config/aarch64/iterators.md (unspec): Add UNSPEC_ABS. - -2015-01-28 Robert Suchanek - - * config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators - for all vector modes. - -2015-01-28 Jakub Jelinek - - PR bootstrap/64612 - * doc/sourcebuild.texi (comdat_group): Document. - -2015-01-28 Terry Guo - - * config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern. - -2015-01-27 David Malcolm - - * toplev.c (print_version): Add param "show_global_state", and - only print GGC and plugin information if it is true. - (init_asm_output): Pass in "true" for the new param when calling - print_version. - (process_options): Likewise. - (toplev::main): Likewise. - * toplev.h (print_version): Add new param to decl. - -2015-01-27 Jan Hubicka - - PR ipa/60871 - PR ipa/64139 - * tree.c (lookup_binfo_at_offset): New function. - (get_binfo_at_offset): Use it. - -2015-01-27 Jan Hubicka - - PR ipa/64282 - * gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert - on vtable being vtable. - -2015-01-27 Dominik Vogt - - * doc/extend.texi: s/390: Update documentation of hotpatch attribute. - * doc/invoke.texi (-mhotpatch): s/390: Update documentation of - -mhotpatch= option. - * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and - -mno-hotpatch options. Change syntax of -mhotpatch= option. - * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default): - Renamed. - (s390_hotpatch_trampoline_halfwords_max): Renamed. - (s390_hotpatch_hw_max): New name. - (s390_hotpatch_trampoline_halfwords): Renamed. - (s390_hotpatch_hw_before_label): New name. - (get_hotpatch_attribute): Removed. - (s390_hotpatch_hw_after_label): New name. - (s390_handle_hotpatch_attribute): Add second parameter to hotpatch - attribute. - (s390_attribute_table): Ditto. - (s390_function_num_hotpatch_trampoline_halfwords): Renamed. - (s390_function_num_hotpatch_hw): New name. - Remove special handling of inline functions and hotpatching. - Return number of nops before and after the function label. - (s390_can_inline_p): Removed. - (s390_asm_output_function_label): Emit a configurable number of nops - after the function label. - (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch. - (TARGET_CAN_INLINE_P) Removed. - (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New. - -2015-01-27 Ramana Radhakrishnan - Jiong Wang - - * config/aarch64/aarch64.md (tb1): Clobber CC reg instead - of scratch reg. - (cb1): Likewise. - * config/aarch64/iterators.md (bcond): New define_code_attr. - -2015-01-27 Andreas Krebbel - - * config/s390/s390.c (s390_memory_move_cost): Increase costs for - memory accesses. - -2015-01-27 Andreas Krebbel - - * config/s390/s390.c (s390_register_move_cost): Increase costs for - FPR->GPR moves. - -2015-01-27 Richard Biener - - * tree-vrp.c (update_value_range): Intersect the range with - old recorded SSA name range information. - -2015-01-27 Nick Clifton - - * config/rl78/rl78.c (rl78_expand_prologue): In G10 mode push the - BC, DE and HL registers directly, not via AX. - When decrementing the stack pointer by a large amount, transfer SP - into AX and perform the subtraction there. - (rl78_expand_epilogue): Perform the inverse of the above - enhancements. - -2015-01-27 Rainer Orth - - * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Remove. - -2015-01-27 Jakub Jelinek - Yury Gribov - - PR ubsan/64741 - * ubsan.c (ubsan_source_location): Refactor code. - (ubsan_type_descriptor): Update type size. Refactor code. - -2015-01-27 Richard Biener - - PR tree-optimization/56273 - PR tree-optimization/59124 - PR tree-optimization/64277 - * tree-vrp.c (vrp_finalize): Emit array-bound warnings only - from the first VRP pass. - -2015-01-27 Jakub Jelinek - - PR ipa/64776 - * cgraphunit.c (cgraph_node::expand_thunk): If not this_adjusting, - handle the first argument in the same loop as all the other arguments. - - PR rtl-optimization/61058 - * jump.c (cleanup_barriers): Update basic block boundaries - if BLOCK_FOR_INSN is non-NULL on PREV. - -2015-01-27 Ilya Enkovich - - * tree-chkp.c (chkp_call_returns_bounds_p): Fix handling of - bounds narrowing, already instrumented calls and calls to - not instrumentable functions. - -2015-01-27 Jakub Jelinek - - PR tree-optimization/64807 - * wide-int.cc (wi::divmod_internal): Clear - b_dividend[dividend_blocks_needed]. - -2015-01-26 DJ Delorie - - * config/rl78/rl78.c (move_elim_pass): Don't optimize away - volatile memory references. - -2015-01-26 Oleg Endo - - PR target/49263 - * config/sh/sh.c (sh_split_treg_set_expr): Invoke emit_insn before - remove_insn. - * config/sh/sh.md (tstsi_t): Don't try to optimize constant with right - shifts if it already fits into K08. - -2015-01-26 Jakub Jelinek - - PR ipa/64730 - * ipa-inline.c (inline_small_functions): Print "unknown" even - if edge->call_stmt is non-NULL, but has builtins or unknown - location. - - PR middle-end/64421 - * omp-low.c (simd_clone_mangle): If DECL_ASSEMBLER_NAME starts - with asterisk, skip the first character. - -2015-01-26 H.J. Lu - - PR target/64806 - * config/i386/i386 (feature_priority): Revert the last P_POPCNT - order change. - -2015-01-26 Uros Bizjak - - PR target/64795 - * config/i386/i386.md (*movdi_internal): Also check operand 0 - to determine TYPE_LEA operand. - (*movsi_internal): Ditto. - -2015-01-26 Jakub Jelinek - - * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add - OPTION_MASK_QUAD_MEMORY_ATOMIC. - -2015-01-26 Renlin Li - - * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Correct - the comment. - * config/aarch64/aarch64.md (tlsle_small_): Add left shift 12-bit - for higher part. - -2015-01-26 Richard Biener - - PR middle-end/64764 - * tree-ssa-uninit.c (is_pred_expr_subset_of): Handle - combining two BIT_AND_EXPR predicates. - -2015-01-26 H.J. Lu - - PR bootstrap/64754 - * tree-ssa-structalias.c (new_var_info): Initialize ruid. - -2015-01-26 Terry Guo - - * config/arm/arm.c (arm_file_start): Update the assignment of - Tag_ABI_HardFP_use. - -2015-01-25 James Greenhalgh - - * config/arm/arm-cores.def (cortex-a57): Use the new Cortex-A57 - pipeline model. - config/arm/arm.md: Include the new Cortex-A57 model. - (generic_sched): Don't use generic_sched when tuning for - Cortex-A57. - -2015-01-25 Allan Sandfeld Jensen - Uros Bizjak - - * config/i386/i386.c (get_builtin_code_for_version): Add - support for BMI and BMI2 multiversion functions. - -2015-01-25 Prathamesh Kulkarni - - * emit-rtl.h (store_bit_field): Move prototype to expmed.h. - (extract_bit_field): Likewise. - (extract_low_bits): Likewise. - (expand_mult): Likewise. - (expand_mult_highpart_adjust): Likewise. - -2015-01-24 H.J. Lu - - * config/i386/driver-i386.c (host_detect_local_cpu): Check new - Silvermont, Haswell, Broadwell and Knights Landing model numbers. - * config/i386/i386.c (processor_model): Add - M_INTEL_COREI7_BROADWELL. - (arch_names_table): Add "broadwell". - -2015-01-24 Oleg Endo - - PR target/49263 - PR target/53987 - PR target/64345 - PR target/59533 - PR target/52933 - PR target/54236 - PR target/51244 - * config/sh/sh-protos.h - (sh_extending_set_of_reg::can_use_as_unextended_reg, - sh_extending_set_of_reg::use_as_unextended_reg, - sh_is_nott_insn, sh_movt_set_dest, sh_movrt_set_dest, sh_is_movt_insn, - sh_is_movrt_insn, sh_insn_operands_modified_between_p, - sh_reg_dead_or_unused_after_insn, sh_in_recog_treg_set_expr, - sh_recog_treg_set_expr, sh_split_treg_set_expr): New functions. - (sh_treg_insns): New class. - * config/sh/sh.c (TARGET_LEGITIMATE_COMBINED_INSN): Define target hook. - (scope_counter): New class. - (sh_legitimate_combined_insn, sh_is_nott_insn, sh_movt_set_dest, - sh_movrt_set_dest, sh_reg_dead_or_unused_after_insn, - sh_extending_set_of_reg::can_use_as_unextended_reg, - sh_extending_set_of_reg::use_as_unextended_reg, sh_recog_treg_set_expr, - sh_in_recog_treg_set_expr, sh_try_split_insn_simple, - sh_split_treg_set_expr): New functions. - (addsubcosts): Handle treg_set_expr. - (sh_rtx_costs): Handle IF_THEN_ELSE and ZERO_EXTRACT. - (sh_rtx_costs): Use arith_reg_operand in SIGN_EXTEND and ZERO_EXTEND. - (sh_rtx_costs): Handle additional bit test patterns in EQ and AND cases. - (sh_insn_operands_modified_between_p): Make non-static. - * config/sh/predicates.md (zero_extend_movu_operand): Allow - simple_mem_operand in addition to displacement_mem_operand. - (zero_extend_operand): Don't allow zero_extend_movu_operand. - (treg_set_expr, treg_set_expr_not_const01, - arith_reg_or_treg_set_expr): New predicates. - * config/sh/sh.md (tstsi_t): Use arith_reg_operand and - arith_or_int_operand instead of logical_operand. Convert to - insn_and_split. Try to optimize constant operand in splitter. - (tsthi_t, tstqi_t): Fold into *tst_t. Convert to insn_and_split. - (*tstqi_t_zero): Delete. - (*tst_t_subregs): Add !sh_in_recog_treg_set_expr split condition. - (tstsi_t_and_not): Delete. - (tst_t_zero_extract_eq): Rename to *tst_t_zero_extract. - Convert to insn_and_split. - (unnamed split, tstsi_t_zero_extract_xor, - tstsi_t_zero_extract_subreg_xor_little, - tstsi_t_zero_extract_subreg_xor_big): Delete. - (*tstsi_t_shift_mask): New insn_and_split. - (cmpeqsi_t, cmpgesi_t): Add new split for const_int 0 operands and try - to recombine with surrounding insns when splitting. - (*negtstsi): Add !sh_in_recog_treg_set_expr condition. - (cmp_div0s_0, cmp_div0s_1, *cmp_div0s_0, *cmp_div0s_1): Rewrite as ... - (cmp_div0s, *cmp_div0s_1, *cmp_div0s_2, *cmp_div0s_3, *cmp_div0s_4, - *cmp_div0s_5, *cmp_div0s_6): ... these new insn_and_split patterns. - (*cbranch_div0s: Delete. - (*addc): Convert to insn_and_split. Use treg_set_expr as 3rd operand. - Try to recombine with surrounding insns when splitting. Add operand - order variants. - (*addc_t_r, *addc_r_t): Use treg_set_expr_not_const01. - (*addc_r_r_1, *addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_r_msb, - *addc_r_r_msb, *addc_2r_msb): Delete. - (*addc_2r_lsb): Rename to *addc_2r_t. Use treg_set_expr. Add operand - order variant. - (*addc_negreg_t): New insn_and_split. - (*subc): Convert to insn_and_split. Use treg_set_expr as 3rd operand. - Try to recombine with surrounding insns when splitting. - Add operand order variants. - (*subc_negt_reg, *subc_negreg_t, *reg_lsb_t, *reg_msb_t): New - insn_and_split patterns. - (*rotcr): Use arith_reg_or_treg_set_expr. Try to recombine with - surrounding insns when splitting. - (unnamed rotcr split): Use arith_reg_or_treg_set_expr. - (*rotcl): Likewise. Add zero_extract variant. - (*ashrsi2_31): New insn_and_split. - (*negc): Convert to insn_and_split. Use treg_set_expr. - (*zero_extendsi2_disp_mem): Update comment. - (movrt_negc, *movrt_negc, nott): Add !sh_in_recog_treg_set_expr split - condition. - (*mov_t_msb_neg, mov_neg_si_t): Use treg_set_expr. Try to recombine - with surrounding insns when splitting. - (any_treg_expr_to_reg): New insn_and_split. - (*neg_zero_extract_0, *neg_zero_extract_1, *neg_zero_extract_2, - *neg_zero_extract_3, *neg_zero_extract_4, *neg_zero_extract_5, - *neg_zero_extract_6, *zero_extract_0, *zero_extract_1, - *zero_extract_2): New single bit zero extract patterns. - (bld_reg, *bld_regqi): Fold into bld_reg. - (*get_thread_pointersi, store_gbr, *mov_gbr_load, - *mov_gbr_load, *mov_gbr_load, *mov_gbr_load, - *movdi_gbr_load): Use arith_reg_dest instead of register_operand for - set destination. - (set_thread_pointersi, load_gbr): Use arith_reg_operand instead of - register_operand for set source. - -2015-01-23 Jan Hubicka - - * i386.opt (prefetch_sse): New targetsave. - * i386.c (ix86_function_specific_save): Save prefetch_sse. - (ix86_function_specific_restore): Restore prefetch_sse and initialize - ix86_cost/ix86_tune_cost. - -2015-01-23 David Malcolm - - * config/rs6000/rs6000.c (rs6000_output_function_epilogue): - Support the JIT by using 0 as the language type. - -2015-01-23 Vladimir Makarov - - PR target/64317 - * lra-lives.c (make_hard_regno_born): Add parameter. Don't make - REAL_PIC_OFFSET_TABLE_REGNUM conflicting with pic offset pseudo. - (mark_regno_live, process_bb_lives): Pass new parameter value to - make_hard_regno_born. - -2015-01-23 Jakub Jelinek - - PR rtl-optimization/63637 - PR rtl-optimization/60663 - * cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST - if elt->cost is MAX_COST for ASM_OPERANDS. - (find_sets_in_insn): Fix up comment typo. - (cse_insn): Don't set src_volatile for all non-volatile - ASM_OPERANDS in PARALLELs, but just those with multiple outputs - or with "memory" clobber. Set elt->cost to MAX_COST - for ASM_OPERANDS in PARALLEL. Set src_elt->cost to MAX_COST - if new_src is ASM_OPERANDS and elt->cost is MAX_COST. - -2015-01-23 Uros Bizjak - - * config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for - alternative 1. - -2015-01-23 Uros Bizjak - - * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Move definition to - libgcc/config/i386/elf-lib.h. - -2015-01-23 Jakub Jelinek - - PR driver/64737 - * gcc.c (print_configuration): Don't print a blank line at the end - here... - (run_attempt): ... but here unstead. - - PR middle-end/64734 - * omp-low.c (scan_sharing_clauses): Don't ignore - OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses - on target data/update constructs. - -2015-01-23 Bernd Edlinger - - PR target/50928 - * config/m32c/m32c.c (encode_pattern_1): Removed gcc_unreachable here. - (DEBUG_RELOAD): Removed define. - (m32c_limit_reload_class): Enable traces with if DEBUG0. - (m32c_function_arg): Added a type cast. - (m32c_legitimize_reload_address): Push A_REGS reload with PSImode. - * config/m32c/addsub.md (addsi3_1): Specify the mode of all arguments. - * config/m32c/bitops.md (andqi3_16): Likewise. - * config/m32c/mov.md (m32c_immd_dbl_mov): Likewise. - (push_a01_l): Likewise. - -2015-01-23 David Malcolm - - PR jit/64721 - * main.c (main): Construct toplev instances with init_signals=true. - * toplev.c (general_init): Add param "init_signals", and use it to - conditionalize the calls to signal and host_hooks.extra_signals. - (toplev::toplev): Add param "init_signals". - (toplev::main): When invoking general_init, pass m_init_signals - to control whether signal-handlers are installed. - * toplev.h (toplev::toplev): Add param "init_signals". - (toplev::m_init_signals): New field. - -2015-01-23 David Malcolm - - PR jit/64722 - * emit-rtl.c (init_emit_regs): Set pic_offset_table_rtx to - NULL_RTX before testing PIC_OFFSET_TABLE_REGNUM, since the - latter may be affected by the former (e.g. on i686). - -2015-01-23 Martin Liska - - * tree.h (tree_vec_elt_check): Workaround -Wstrict-overflow - false positive during profiledbootstrap. - -2015-01-23 Tom de Vries - - PR libgomp/64672 - * lto-opts.c (lto_write_options): Output non-explicit conservative - -fno-openacc. - * lto-wrapper.c (merge_and_complain): Handle merging -fopenacc. - (append_compiler_options): Pass -fopenacc through. - -2015-01-23 Tom de Vries - - PR libgomp/64707 - * lto-opts.c (lto_write_options): Output non-explicit conservative - -fno-openmp. - * lto-wrapper.c (merge_and_complain): Handle merging -fopenmp. - (append_compiler_options): Pass -fopenmp through. - -2015-01-23 Jakub Jelinek - - PR debug/64511 - * dwarf2out.c (struct dw_loc_descr_node): Add chain_next - GTY markup. - - * diagnostic-core.h (internal_error_no_backtrace): New prototype. - * diagnostic.def (DK_ICE_NOBT): New kind. - * diagnostic.c (diagnostic_action_after_output): Handle DK_ICE_NOBT - like DK_ICE, but never print backtrace. - (diagnostic_report_diagnostic): Handle DK_ICE_NOBT like DK_ICE. - (internal_error_no_backtrace): New function. - * gcc.c (execute): Use internal_error_no_backtrace instead of - internal_error. - -2015-01-22 Jeff Law - - PR target/52076 - * config/m68k/m68k.md (xorsi3_internal): Twiddle constraints to - improve code density for small immediate to memory case. - (insv): Better handle bitfield assignments when the field is - being set to all ones. - * config/m68k/predicates.md (reg_or_pow2_m1_operand): New - operand predicate. - -2015-01-22 Rainer Orth - Jakub Jelinek - - PR middle-end/64729 - * gcc.c (LINK_SSP_SPEC): Handle -fstack-protector-explicit - for !TARGET_LIBC_PROVIDES_SSP version and - -fstack-protector-{all,strong,explicit} otherwise. - * config/freebsd.h (LINK_SSP_SPEC): Handle - -fstack-protector-{strong,explicit}. - -2015-01-22 Jan Hubicka - H.J. Lu - - PR ipa/64694 - * ipa-inline.c (inline_small_functions): Fix thinko in maintenance of - heap. - -2015-01-22 Wei Mi - - PR rtl-optimization/64557 - * dse.c (record_store): Call get_addr for mem_addr. - (check_mem_read_rtx): Likewise. - -2015-01-22 Eric Botcazou - - * fold-const.c (const_binop): Add early return for non-tcc_binary. - -2015-01-22 Chen Gang - - * toplev.c (init_local_tick): Process the failure when read - fails for random_seed. - - * ubsan.c (ubsan_type_descriptor): Use 'pretty_print' for - 'pretty_name' to avoid memory overflow. - -2015-01-22 Richard Biener - - PR middle-end/64728 - * tree-ssa-coalesce.c (coalesce_partitions): Do not perform - abnormal coalescing on undefined SSA names. - -2015-22-01 Uros Bizjak - - PR target/64688 - PR target/64477 - * config/i386/sse.md (vec_set_0): Use (Yi/r/C) constraints - for alternative 3. - (*vec_dup): Use (Yi/$r) constraints for alternative 1. - -2015-01-22 Trevor Saunders - - PR middle-end/63325 - * fold-const.c (fold_checksum_tree): Don't include value of - expr->decl_with_vis.symtab_node in the checksum. - -2015-01-22 Andreas Krebbel - - * config/s390/s390.md (atomic code attribute): Fix typo "ior" -> "or". - -2015-01-22 Max Ostapenko - - PR driver/64690 - * gcc.c (insert_comments): New function. - (try_generate_repro): Call it. - (append_text): Removed. - -2015-01-22 Richard Biener - - * ipa-inline.c (can_inline_edge_p): Disable inlining of edges - with IL incompatible options. Properly honor user optimize - attributes. - -2015-01-21 Segher Boessenkool - - PR rtl-optimization/64682 - * combine.c (distribute_notes): When moving a death note for - a register that is set in the new I2, make sure to put it - before that new I2. - -2015-01-21 David Edelsohn - - * config/rs6000/rs6000.c (rs6000_file_start): Use rs6000_isa_flags - not TARGET_DEFAULT. - -2015-01-21 Jakub Jelinek - - PR debug/64511 - * simplify-rtx.c (simplify_relational_operation_1): Don't try to - optimize (eq/ne (and (side_effects) (const_int 0)) (const_int 0)) - into (eq/ne (and (not (side_effects)) (const_int 0)) (const_int 0)). - - PR sanitizer/64706 - * doc/invoke.texi (-fsanitize=vptr): Document. - - PR rtl-optimization/62078 - * dse.c: Include cfgcleanup.h. - (rest_of_handle_dse): For -fnon-call-exceptions, if DSE removed - anything call purge_all_dead_edges and cleanup_cfg at the end - of the pass. - -2015-01-21 Jan Hubicka - - * ipa-utils.c (ipa_merge_profiles): Avoid ICE on mismatch in indirect - edges. - -2015-01-21 Bernd Edlinger - - * gimplify.c (gimplify_function_tree): Check the no_sanitize_thread - decl attribute. - -2015-01-21 David Sherwood - Tejas Belagod - - * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Removed. - * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class): Removed. - * config/aarch64/aarch64-protos.h (aarch64_cannot_change_mode_class): - Removed. - -2015-01-21 David Sherwood - Tejas Belagod - - * config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist) - (aarch64_reverse_mask): New decls. - * config/aarch64/iterators.md (UNSPEC_REV_REGLIST): New enum. - (insn_count): New mode_attr. - * config/aarch64/aarch64-simd.md (vec_store_lanesoi, vec_store_lanesci) - (vec_store_lanesxi, vec_load_lanesoi, vec_load_lanesci) - (vec_load_lanesxi): Made ABI compliant for Big Endian targets. - (aarch64_rev_reglist, aarch64_simd_ld2, aarch64_simd_ld3) - (aarch64_simd_ld4, aarch64_simd_st2, aarch64_simd_st3) - (aarch64_simd_st4): New patterns. - * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist) - (aarch64_reverse_mask): New functions. - -2015-01-21 Alan Hayward - - * config/aarch64/aarch64-protos.h (aarch64_simd_disambiguate_copy): - Declare. - * config/aarch64/aarch64.c (aarch64_classify_address): Allow extra - addressing modes for BE. - (aarch64_print_operand): Add 'R' specifier. - (aarch64_simd_disambiguate_copy): Delete. - (aarch64_simd_emit_reg_reg_move): New function. - * config/aarch64/aarch64-simd.md: Use aarch64_simd_emit_reg_reg_move - in define_splits for structural moves. - (mov): Use less restrictive predicates. - (*aarch64_mov): Simplify and only allow for LE. - (*aarch64_be_movoi, *aarch64_be_movci, *aarch64_be_movxi): New. - -2015-01-21 Alan Hayward - - * rtlanal.c (subreg_get_info): Exit early for simple and common cases. - -2015-01-21 Richard Henderson - - PR target/64669 - * ccmp.c (used_in_cond_stmt_p): Remove. - (expand_ccmp_expr): Don't use it. - -2015-01-21 Nick Clifton - - * config/rl78/rl78.c (rl78_calculate_death_notes): Look inside - PARALLELs. - -2015-01-21 Richard Biener - - PR middle-end/64313 - * tree-core.h (builtin_info, builtin_info_type): Turn from - an object with two arrays into an array of an object with - decl and two flags, implicit_p and declared_p. - * tree.h (builtin_decl_explicit, builtin_decl_implicit, - set_builtin_decl, set_builtin_decl_implicit_p, - builtin_decl_explicit_p, builtin_decl_implicit_p): Adjust. - (set_builtin_decl_declared_p, builtin_decl_declared_p): New functions. - * builtins.c (builtin_info): Adjust. - * gimplify.c (gimplify_addr_expr): References to builtins - that have been declared by the user makes them eligible for - use by the compiler. Call set_builtin_decl_implicit_p on them. - -2015-01-20 Jeff Law - - PR target/59946 - * config/m68k/m68k.md (Comparison expanders and patterns): Do not - allow pc-relative addresses in operand predicates or constraints. - -2015-01-21 Bin Cheng - - * config/arm/arm.c (arm_cortex_a53_tune, arm_cortex_a57_tune): Prefer - neon on aarch32 processors for stringops. - -2015-01-19 Jan Hubicka - - PR ipa/63576 - * ipa-utils.c (ipa_merge_profiles): Merge speculative edges. - -2015-01-19 Jan Hubicka - - PR lto/45375 - * ipa-inline.c: Include lto-streamer.h - (report_inline_failed_reason): Output source file differences and - flags on optimization/target node mismatch. - (can_inline_edge_p): Consider caller to be the outer inline function; - be less restrictive about matching opimize and optimize_size attributes. - (inline_account_function_p): Break out from ... - (inline_small_functions): ... here. - * ipa-inline-transform.c (clone_inlined_nodes): Use - inline_account_function_p. - (inline_call): Use optimize attribution; use inline_account_function_p. - (inline_transform): Use opt_for_fn. - * ipa-inline.h (inline_account_function_p): Declare. - -2015-01-20 Jakub Jelinek - - PR debug/64663 - * dwarf2out.c (decl_piece_node): Don't put bitsize into - mode if bitsize <= 0. - (decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl, - dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit - sizes and positions. - -2015-01-20 Chung-Lin Tang - - * config/nios2/nios2.c (nios2_asm_file_end): Implement - TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when - needed. - (TARGET_ASM_FILE_END): Define. - -2015-01-20 Maxim Kuvyrkov - - * config/arm/arm-protos.h (enum arm_sched_autopref): New constants. - (struct tune_params): Use the enum. - * arm.c (arm_*_tune): Update. - (arm_option_override): Update. - -2015-01-20 Richard Biener - - PR ipa/64684 - * ipa-reference.c (add_static_var): Inline ... - (analyze_function): ... here after splitting out from ... - (is_proper_for_analysis): ... this. - -2015-01-20 Matthew Wahab - - PR target/64149 - * config/arm/arm.opt: Remove lra option and arm_lra_flag variablesle. - * config/arm/arm.h (MODE_BASE_REG_CLASS): Remove use of arm_lra_flagag, - replace the conditional with it's true branch. - * config/arm/arm.config (TARGET_LRA_P): Set to hook_bool_void_true. - (arm_lra_p): Remove. - -2015-01-20 Eric Botcazou - - * config/visium/visium.h (LIB_SPEC): Adjust in default case. - -2015-01-20 Prathamesh Kulkarni - - * config/tilegx/mul-tables.c: Move symtab.h include after - coretypes.h include. - * config/tilepro/mul-tables.c: Add includes hashtab.h, hash-set.h, - vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h, - flags.h, statistics.h, double-int.h, real.h, fixed-value.h, alias.h, - wide-int.h, inchash.h, tree.h, insn-config.h, expmed.h, dojump.h, - explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h. - -2015-01-20 Igor Zamyatin - - PR bootstrap/64676 - Revert: - 2015-01-19 Igor Zamyatin - - PR rtl-optimization/64081 - * loop-iv.c (def_pred_latch_p): New function. - (latch_dominating_def): Allow specific cases with non-single - definitions. - (iv_get_reaching_def): Likewise. - (check_complex_exit_p): New function. - (check_simple_exit): Use check_complex_exit_p to allow certain cases - with exits not executing on any iteration. - -2015-01-19 Jan Hubicka - - PR lto/45375 - * i386.c (ix86_option_override_internal): Use ix86_tune_cost - to set branch cost. - -2015-01-19 Jan Hubicka - - PR lto/45375 - * i386.c (gate): Check flag_expensive_optimizations and - optimize_size. - (ix86_option_override_internal): Drop optimize_size condition - on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER, - MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE, - MASK_PREFER_AVX128. - (ix86_avx256_split_vector_move_misalign, - ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed. - * sse.md (all uses of TARGET_PREFER_AVX128): Add - optimize_insn_for_speed_p check. - -2015-01-19 Matthew Fortune - - * config/mips/mips.h (FP_ASM_SPEC): New define. - (ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC - instead. - -2015-01-19 Oleg Endo - - PR target/53988 - * config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return - nullptr for insn when reaching the first insn. - * config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator. - (sh_insn_operands_modified_between_p): Add nullptr check. - (sh_find_extending_set_of_reg): Fix log message. Don't accept - sign extending mem load if the insn contains any UNSPEC or - UNSPEC_VOLATILE. - -2015-01-19 Jan Hubicka - - * params.def (inline-unit-growth): Drop to 15%. - * invoke.texi (inline-unit-growth): Document change. - -2015-01-19 Martin Liska - - PR ipa/64668 - * ipa-icf-gimple.c (func_checker::compare_operand): Call proper - function for second argument of OBJ_TYPE_REF. - -2015-01-19 Jan Hubicka - - PR ipa/64218 - * ipa-inline.c (want_inline_function_to_all_callers_p): Fix check - whether function is an alias. - -2015-01-19 Jan Hubicka - - * ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless - cases. - -2015-01-19 Vladimir Makarov - - PR rtl-optimization/64671 - * lra-remat.c (operand_to_remat): Don't consider jump and call - insns. - -2015-01-19 David Edelsohn - - PR target/59828 - * config/rs6000/default64.h: Include rs6000-cpus.def. - (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8). - (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4. - * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7 - and POWER8. - * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to - POWER8. - * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine - pseudo-op to specify assembler dialect. - -2015-01-19 Martin Liska - - PR ipa/64664 - * ipa-icf.c (sem_item_optimizer::filter_removed_items): - Handle safe potentially removed nodes during filtering. - -2015-01-19 Martin Liska - - * doc/extend.texi (no_icf): Add new attribute description. - * ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases - where the pass attempts to merge a function with no_icf attribute. - -2015-01-19 Ramana Radhakrishnan - - PR target/64532 - * doc/md.texi (ARM Options): Document register constraints. - -2015-01-19 Jiong Wang - Andrew Pinski - - PR target/64304 - * config/aarch64/aarch64.md (define_insn "*ashl3_insn"): Deleted. - (ashl3): Don't expand if operands[2] is not constant. - -2015-01-19 Kyrylo Tkachov - - PR target/64448 - * config/aarch64/aarch64-simd.md (aarch64_simd_bsl_internal): - Match xor-and-xor RTL pattern. - -2015-01-19 Igor Zamyatin - - PR rtl-optimization/64081 - * loop-iv.c (def_pred_latch_p): New function. - (latch_dominating_def): Allow specific cases with non-single - definitions. - (iv_get_reaching_def): Likewise. - (check_complex_exit_p): New function. - (check_simple_exit): Use check_complex_exit_p to allow certain cases - with exits not executing on any iteration. - -2015-01-19 Jakub Jelinek - - * common.opt (fgraphite): Fix a typo. - -2015-01-19 Felix Yang - - * config/aarch64/aarch64-simd.md (aarch64_p): New - pattern. - * config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp, - uminp, smax_nanp, smin_nanp): New builtins. - * config/aarch64/arm_neon.h (vpmax_s8, vpmax_s16, vpmax_s32, - vpmax_u8, vpmax_u16, vpmax_u32, vpmaxq_s8, vpmaxq_s16, vpmaxq_s32, - vpmaxq_u8, vpmaxq_u16, vpmaxq_u32, vpmax_f32, vpmaxq_f32, vpmaxq_f64, - vpmaxqd_f64, vpmaxs_f32, vpmaxnm_f32, vpmaxnmq_f32, vpmaxnmq_f64, - vpmaxnmqd_f64, vpmaxnms_f32, vpmin_s8, vpmin_s16, vpmin_s32, vpmin_u8, - vpmin_u16, vpmin_u32, vpminq_s8, vpminq_s16, vpminq_s32, vpminq_u8, - vpminq_u16, vpminq_u32, vpmin_f32, vpminq_f32, vpminq_f64, vpminqd_f64, - vpmins_f32, vpminnm_f32, vpminnmq_f32, vpminnmq_f64, vpminnmqd_f64, - vpminnms_f32): Rewrite using builtin functions. - -2015-01-19 Thomas Schwinge - - PR libgomp/64625 - * omp-low.c (offload_symbol_decl): Remove variable. - (get_offload_symbol_decl): Remove function. - (expand_omp_target): For BUILT_IN_GOMP_TARGET, - BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL - instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START, - BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL, - BUILT_IN_GOACC_UPDATE don't pass it at all. - -2015-01-19 Ilya Enkovich - - * tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk - callers. - -2015-01-19 Ilya Enkovich - - * ipa-chkp.c (chkp_produce_thunks): Add early param - to split thunks production into two passes. Keep - 'always_inline' function bodies after the first pass. - (pass_data_ipa_chkp_early_produce_thunks): New. - (pass_ipa_chkp_early_produce_thunks): New. - (pass_ipa_chkp_produce_thunks::execute): Adjust to new - chkp_produce_thunks signature. - (make_pass_ipa_chkp_early_produce_thunks): New. - * passes.def (pass_ipa_chkp_early_produce_thunks): New. - (pass_ipa_chkp_produce_thunks): Move after local optimizations. - * tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New. - -2015-01-18 Jan Hubicka - - * cgraph.c (cgraph_node::dump): Dump profile flags. - -2015-01-18 Oleg Endo - - PR target/64652 - * config/sh/sh.md (udivsi3_i4, divsi3_i4): Make use of sfunc address - reg appear first in the parallel. - -2015-01-18 Jan Hubicka - - * ipa-reference.c (set_reference_optimization_summary, - ipa_reference_get_not_written_global): Do nothing if ipa-reference is - disabled. - (ignore_module_statics): New static var. - (propagate_bits): If ipa-reference is disabled, do not look into local - properties. - (analyze_function): Disable analysis when ipa_reference is disabled. - (generate_summary): Do not dump when reference is disabled; - collect vars accessed from functions with ipa-reference disabled. - (get_read_write_all_from_node): When ipa-reference is disabled, use the - node flags. - (gate): Enable for LTO. - (ignore_edge_p): New function. - (propagate): Skip functions w/o ipa-reference analysis. - * optc-save-gen.awk: Handle optimize_debug correctly. - * opth-gen.awk: Likewise. - * common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse, - fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region, - fira-share-save-slots, fira-share-spill-slots, - fmodulo-sched-allow-regmoves, fpartial-inlining, - sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow, - ftracer, ftree-parallelize-loops, fassociative-math, - freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as - Optimization - (fauto-profile, fcommon, fdata-sections, fipa-icf-variables, - ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as - Optimization. - * ipa-icf.c (gate, sem_item_optimizer::filter_removed_items): - Fix for IPA. - -2015-01-18 Jan Hubicka - - PR ipa/64378 - * ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative - flag correctly. - * ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation. - -2015-01-18 Sandra Loosemore - - * doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]): - Remove duplicate option listings. - -2015-01-18 Felix Yang - - * auto-profile.c (afdo_find_equiv_class): Remove unnecessary test. - (autofdo_source_profile::get_callsite_total_count, - function_instance::get_function_instance_by_decl, - string_table::get_index, string_table::get_index_by_decl, - afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline): - Fix comment typos. Reformatting and minor code rearrangement. - -2015-01-17 Segher Boessenkool - - * config/rs6000/rs6000.md (probe_stack): Delete. - (probe_stack_address): New. - -2015-01-17 Segher Boessenkool - - * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT - to test for 32-bit ABIs, not !TARGET_POWERPC64. - -2015-01-17 Segher Boessenkool - - * config/rs6000/rs6000.c (rs6000_parallel_return): New function. - (rs6000_function_value): Use it. Handle SCmode and TCmode as well, - for TARGET_32BIT && TARGET_POWERPC64. Fix another BITS_PER_WORD - snafu. - (rs6000_libcall_value): Use the new function. - -2015-01-17 Sandra Loosemore - - * doc/invoke.texi ([-ftracer]): Remove duplicate option listing. - -2015-01-17 Eric Botcazou - - * reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid, - implement a more precise life analysis for it during backward scan. - -2015-01-17 Jan Kratochvil - - * dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed. - -2015-01-17 Bernd Schmidt - - PR rtl-optimization/52773 - * calls.c (emit_library_call_value): When pushing arguments use - stack_pointer_rtx rather than virtual_outgoing_args_rtx in - CALL_INSN_FUNCTION_USAGE. Only emit one of use of the magic - stack pointer reference into CALL_INSN_FUNCTION_USAGE. - -2015-01-17 Jeff Law - - PR rtl-optimization/32790 - * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT, - not ZERO_EXTEND in SET_DESTs. - -2015-01-17 Alan Modra - - * cprop.c (do_local_cprop): Revert last change. - -2015-01-16 DJ Delorie - Nick Clifton - - * config/rl78/rl78-real.md (addqi3_real): Allow volatiles. - (addhi3_real): Likewise. Fix [HL+0] syntax. - (subqi3_real): Likewise. - (subhi3_real): Likewise. - (cbranchqi4_real): Likewise. Allow saddr,#imm. - (cbranchhi4_real): Likewise. - (cbranchhi4_real_inverted): Likewise. - (cbranchsi4_real_lt): Likewise. - (cbranchsi4_real_ge): Likewise. - (cbranchsi4_real_ge): Likewise. - * config/rl78/rl78-virt.md (add3_virt): Likewise. - (sub3_virt): Likewise. - (cbranchqi4_virt): Likewise. - (cbranchhi4_virt): Likewise. - * config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means - always use '[reg+imm]' even when imm is zero. - * config/rl78/predicates.md (rl78_volatile_memory_operand): New. - (rl78_general_operand): New. - (rl78_nonimmediate_operand): New. - (rl78_nonfar_operand): Use them. - (rl78_nonfar_nonimm_operand): Likewise. - (rl78_stack_based_mem): Fix. - * config/rl78/constraints.md (Ibqi): New. - (IBqi): New. - (Wsa): New. - (Wsf): New. - (Cs1): Fix. - * config/rl78/rl78-expand.md (andqi3): Accept volatiles. - (iorqi3): Likewise. - (xorqi3): Likewise. - * config/rl78/rl78-protos.h (rl78_sfr_p): New. - - * config/rl78/constrains (Qs8): New constraint. - * config/rl78/rl78.c (rl78_flags_already_set): New function. - * config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype. - * config/rl78/rl78-real.md (update_Z): New attribute. - Update patterns to set it. - (cbranchqi4_real): Call rl78_flags_already_set() to determine if a - shorter compare and branch sequence can be used. - (cbranchhi4_real): Likewise. - (cbranchhi4_real_inverted): Likewise. - - * config/rl78/predicates.md (uword_operand): Allow symbol_refs. - * config/rl78/rl78-c.c (rl78_register_pragmas): Register __near - address space. - * config/rl78/rl78.c (rl78_get_name_encoding): New. - (rl78_option_override): Allow -mes0 only if C. - (characterize_address): Support subregs of symbol_refs. - (rl78_addr_space_address_mode): Move. Add __near. - (rl78_far_p): Likewise. - (rl78_addr_space_pointer_mode): Likewise. - (rl78_as_legitimate_address): Likewise. - (rl78_addr_space_subset_p): Likewise. - (rl78_addr_space_convert): Likewise. - (rl78_print_operand_1): Support 16-bit addressing of 32-bit - symbols with -mes0. - (transcode_memory_rtx): Don't copy ES if -mes0. Allow symbol[BC] - addressing. - (rl78_alloc_physical_registers_op1): Change logic to prefer - symbol[BC] addressing. - (frodata_section): New. - (rl78_asm_init_sections): Initialize it. - (rl78_select_section): Put __far readonly symbols in .frodata. - (rl78_make_type_far): New. - (rl78_insert_attributes): Force all readonly symbols to be - __far when -mes0. - (rl78_asm_out_integer): New. - * config/rl78/rl78.h (ADDR_SPACE_NEAR): New. - * config/rl78/rl78.opt (-mes0): New. - - * config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New. - (ASM_OUTPUT_ALIGNED_DECL_COMMON): New. - (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New. - * config/rl78/rl78-protos.h (rl78_output_labelref): New. - (rl78_saddr_p): New. - (rl78_output_aligned_common): New. - * config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings. - (rl78_handle_saddr_attribute): New. - (rl78_handle_naked_attribute): New. - (rl78_attribute_table): Add saddr. - (rl78_print_operand_1): Don't print '!' on saddr operands. - (rl78_print_operand_1): Strip encodings. - (rl78_sfr_p): New. - (rl78_strip_name_encoding): New. - (rl78_attrlist_to_encoding): New. - (rl78_encode_section_info): New. - (rl78_asm_init_sections): New. - (rl78_select_section): New. - (rl78_output_labelref): New. - (rl78_output_aligned_common): New. - (rl78_asm_out_integer): New. - (rl78_asm_ctor_dtor): New. - (rl78_asm_constructor): New. - (rl78_asm_destructor): New. - - * config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es. - * config/rl78/rl78.c (rl78_expand_epilogue): Update. - (transcode_memory_rtx): Update. - (rl78_expand_epilogue): Use A_REG instead of 0. - -2015-01-17 Maxim Kuvyrkov - - * config/arm/arm-protos.h (struct tune_params): New field - sched_autopref_queue_depth. - * config/arm/arm.c (sched-int.h): Include header. - (arm_first_cycle_multipass_dfa_lookahead_guard,) - (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook. - (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,) - (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,) - (arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,) - (arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,) - (arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,) - (arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune): - Specify sched_autopref_queue_depth value. Enabled for A15 and A57. - * config/arm/t-arm (arm.o): Update. - * haifa-sched.c (update_insn_after_change): Update. - (rank_for_schedule): Use auto-prefetcher model, if requested. - (autopref_multipass_init): New static function. - (autopref_rank_for_schedule): New rank_for_schedule heuristic. - (autopref_multipass_dfa_lookahead_guard_started_dump_p): New static - variable for debug dumps. - (autopref_multipass_dfa_lookahead_guard_1): New static helper function. - (autopref_multipass_dfa_lookahead_guard): New global function that - implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook. - (init_h_i_d): Update. - * params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob. - * sched-int.h (enum autopref_multipass_data_status): New const enum. - (autopref_multipass_data_): Structure for auto-prefetcher data. - (autopref_multipass_data_def, autopref_multipass_data_t): New typedefs. - (struct _haifa_insn_data:autopref_multipass_data): New field. - (INSN_AUTOPREF_MULTIPASS_DATA): New access macro. - (autopref_multipass_dfa_lookahead_guard): Declare. - -2015-01-17 Maxim Kuvyrkov - - * rtlanal.c (get_base_term): Handle SCRATCH. - -2015-01-17 Maxim Kuvyrkov - - * config/aarch64/aarch64.c - (aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook. - (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define. - * config/arm/arm.c - (arm_first_cycle_multipass_dfa_lookahead): Implement hook. - (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define. - -2015-01-17 Alan Modra - - * cprop.c (do_local_cprop): Disallow replacement of fixed - hard registers. - -2015-01-16 Kyrylo Tkachov - - PR target/62066 - * config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before - early return 0. - -2015-01-16 Bernd Edlinger - - * sanitizer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters. - * tsan.c (instrument_expr): Fixed parameters of __tsan_vptr_update. - -2015-01-16 Kyrylo Tkachov - - * config/arm/arm.md: Move comment about splitting Thumb1 patterns to... - * config/arm/thumb1.md: ... Here. - -2015-01-16 Segher Boessenkool - - * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow - TImode for TARGET_32BIT. - -2015-01-16 Segher Boessenkool - - * config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE, - TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement - as ... - (rs6000_abi_word_mode): New function. - -2015-01-16 Segher Boessenkool - - * config/rs6000/rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD - instead of UNITS_PER_WORD to describe the size of stack slots. - -2015-01-16 Segher Boessenkool - - * config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement - as rs6000_promote_function_mode. Move comment to there. - (rs6000_promote_function_mode): New function. - -2015-01-16 Segher Boessenkool - - * config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32 - -mpowerpc64 is active. - -2015-01-16 Ilya Enkovich - - PR middle-end/64353 - * tree-cfg.c (pass_data_fixup_cfg): Update SSA for - virtuals on start. - -2015-01-16 James Greenhalgh - - * config/arm/cortex-a57.md: Remove duplicate of file accidentally - introduced in revision 219724. - -2015-01-16 Kyrylo Tkachov - Ramana Radhakrishnan - - PR target/64263 - * config/aarch64/aarch64.md (*movsi_aarch64): Don't split if the - destination is not a GP reg. - (*movdi_aarch64): Likewise. - -2015-01-16 David Edelsohn - - PR target/64623 - * config/rs6000/default64.h: Revert ISA change. - -2015-01-16 Richard Biener - - PR middle-end/64614 - * tree-ssa-uninit.c: Include tree-cfg.h. - (MAX_SWITCH_CASES): New define. - (convert_control_dep_chain_into_preds): Handle switch statements. - (is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0. - (normalize_one_pred_1): Do not split bit-manipulations. - Record (x & CST). - -2015-01-16 Richard Biener - - PR tree-optimization/64568 - * tree-ssa-forwprop.c (pass_forwprop::execute): Guard - complex load rewriting for TARGET_MEM_REFs. - -2015-01-16 Uros Bizjak - - * builtins.c (expand_builtin_acc_on_device): Check target for NULL. - -2015-01-16 Matthew Wahab - - PR target/64149 - * config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag - variable. - * config/aarch64/aarch64.c (TARGET_LRA_P): Set to hook_bool_void_true. - (aarch64_lra_p): Remove. - -2015-01-16 Ilya Enkovich - - PR target/64363 - * ipa-chkp.h (chkp_instrumentable_p): New. - * ipa-chkp.c: Include tree-inline.h. - (chkp_instrumentable_p): New. - (chkp_maybe_create_clone): Use chkp_instrumentable_p. - Fix processing of not instrumentable functions. - (chkp_versioning): Use chkp_instrumentable_p. Warn about - not instrumentable functions. - * tree-chkp.c (chkp_add_bounds_to_call_stmt): Use - chkp_instrumentable_p. - * tree-inline.h (copy_forbidden): New. - * tree-inline.c (copy_forbidden): Not static anymore. - -2015-01-16 Rainer Orth - - * optc-save-gen.awk (cl_target_option_print_diff): Mark indent, - ptr1, ptr2 unused. - -2015-01-16 Robert Suchanek - - * lra-constraints.c (curr_insn_transform): Change a reload pseudo of - type OP_OUT to OP_INOUT. - -2015-01-16 Robert Suchanek - - * simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum - (high x) y) to y if x and y have the same base. - -2015-01-16 James Greenhalgh - - * config/arm/cortex-a57.md: New. - * config/aarch64/aarch64.md: Include it. - * config/aarch64/aarch64-cores.def (cortex-a57): Tune for it. - * config/aarch64/aarch64-tune.md: Regenerate. - -2015-01-16 Zhenqiang Chen - - PR target/64015 - * ccmp.c (expand_ccmp_next): New function. - (expand_ccmp_expr_1, expand_ccmp_expr): Handle operand insn sequence - and compare insn sequence. - * config/aarch64/aarch64.c (aarch64_code_to_ccmode, - aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions. - (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New MICRO. - * config/aarch64/aarch64.md (*ccmp_and): Changed to ccmp_and. - (*ccmp_ior): Changed to ccmp_ior. - (cmp): New pattern. - * doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Update - parameters. - * target.def (gen_ccmp_first, gen_ccmp_next): Update parameters. - -2015-01-16 Ilya Tocar - - * config/i386/avx2intrin.h (_mm256_bslli_epi128, - _mm256_bsrli_epi128): New. - * config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto. - -2015-01-15 Jiong Wang - - * expmed.c (store_bit_field_using_insv): Improve warning message. - Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED. - -2015-01-15 Jiong Wang - - PR rtl-optimization/64011 - * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when - there is partial overflow. - -2015-01-16 Chung-Ju Wu - - * config/nds32/nds32-protos.h (nds32_expand_epilogue): Change - prototype. - (nds32_expand_epilogue_v3pop): Likewise. - * config/nds32/nds32.md (sibcall): Define this for sibling call - optimization. - (sibcall_register): Likewise. - (sibcall_immediate): Likewise. - (sibcall_value): Likewise. - (sibcall_value_register): Likewise. - (sibcall_value_immediate): Likewise. - (sibcall_epilogue): Likewise. - (epilogue): Pass false to indicate this is not a sibcall epilogue. - * config/nds32/nds32.c (nds32_expand_epilogue): Consider sibcall case. - (nds32_expand_epilogue_v3pop): Likewise. - -2015-01-16 Chung-Ju Wu - - * config/nds32/nds32-protos.h (nds32_can_use_return_insn): New. - * config/nds32/nds32.md (unspec_volatile_func_return): Remove. - (return_internal): New. - (return): Define this named pattern. - (simple_return): Define this named pattern. - * config/nds32/nds32.c (nds32_expand_epilogue): Emit return_internal - pattern instead of unspec_volatile_func_return. - (nds32_expand_epilogue_v3pop): Likewise. - (nds32_can_use_return_insn): New function. - -2015-01-16 Chung-Ju Wu - - * config/nds32/constants.md (UNSPEC_VOLATILE_POP25_RETURN): New. - * config/nds32/nds32.md (pop25return): New. - * config/nds32/nds32.c (nds32_expand_epilogue_v3pop): Emit - pop25return pattern. - -2015-01-16 Chung-Ju Wu - - * doc/invoke.texi (NDS32 Options): Remove -mforce-fp-as-gp, - -mforbid-fp-as-gp, and -mex9 options. - -2015-01-16 Chung-Ju Wu - - * doc/invoke.texi (NDS32 Options): Add -mcmodel= option and - remove -mgp-direct option. - -2015-01-15 Jan Hubicka - - * doc/invoke.texi (--param early-inlining-insns): Update default value. - * params.def (PARAM_EARLY_INLINING_INSNS): Set to 14. - -2015-01-15 Jan Hubicka - - * ipa-inline.c (inline_small_functions): Work around hints - cache issue. - -2015-01-15 Sandra Loosemore - - PR target/59710 - * doc/invoke.texi (Option Summary): Document new Nios II - -mgpopt= syntax. - (Nios II Options): Likewise. - * config/nios2/nios2.opt: Add -mgpopt= option support. - Modify existing -mgpopt and -mno-gpopt options to be aliases. - * config/nios2/nios2-opts.h (enum nios2_gpopt_type): New. - * config/nios2/nios2.c (nios2_option_override): Adjust - -mgpopt defaulting. - (nios2_in_small_data_p): Return true for explicit small data - sections even with -G0. - (nios2_symbol_ref_in_small_data_p): Adjust to handle new -mgpopt= - option choices. - -2015-01-15 Jan Hubicka - - PR ipa/64612 - * ipa-inline-transform.c (can_remove_node_now_p): Fix handling - of comdat locals. - (inline_call): Fix removal of aliases. - -2015-01-15 Jakub Jelinek - - * flag-types.h (enum sanitize_code): Add SANITIZE_VPTR, - include SANITIZE_VPTR in SANITIZE_UNDEFINED. - * opts.c (common_handle_option): Add -fsanitize=vptr. - * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS, - BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS_ABORT): New. - * ubsan.h (enum ubsan_null_ckind): Add UBSAN_DOWNCAST_POINTER, - UBSAN_DOWNCAST_REFERENCE, UBSAN_UPCAST and UBSAN_CAST_TO_VBASE. - (ubsan_expand_vptr_ifn): New prototype. - * internal-fn.c (expand_ANNOTATE, expand_GOMP_SIMD_LANE, - expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE, expand_UBSAN_NULL, - expand_UBSAN_BOUNDS, expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK, - expand_LOOP_VECTORIZED): Make argument nameless, remove - ATTRIBUTE_UNUSED. - (expand_UBSAN_VPTR): New function. - * internal-fn.def (UBSAN_NULL, ASAN_CHECK): Use R instead of W - in fn spec. - (UBSAN_VPTR): New internal function. - * sanopt.c (tree_map_traits): Renamed to ... - (sanopt_tree_map_traits): ... this. - (sanopt_tree_triplet, sanopt_tree_triplet_map_traits): New classes. - (sanopt_ctx): Adjust asan_check_map type for tree_map_traits - to sanopt_tree_map_traits renaming. Add vptr_check_map field. - (maybe_optimize_ubsan_vptr_ifn): New function. - (sanopt_optimize_walker): Handle IFN_UBSAN_VPTR. - (pass_sanopt::execute): Likewise. Call sanopt_optimize even for - -fsanitize=vptr. - * tree-ssa-alias.c (call_may_clobber_ref_p_1): Handle certain - internal calls like pure functions for aliasing, even when they - have other side-effects that prevent making them ECF_PURE. - * ubsan.c (ubsan_vptr_type_cache_decl): New variable. - (ubsan_expand_vptr_ifn): New function. - -2015-01-15 Vladimir Makarov - - PR rtl-optimization/64110 - * stmt.c (parse_output_constraint): Process '^' and '$'. - (parse_input_constraint): Ditto. - * lra-constraints.c (process_alt_operands): Process the new - constraints. - * ira-costs.c (record_reg_classes): Process the new constraint - '^'. - * genoutput.c (indep_constraints): Add '^' and '$'. - * config/i386/sse.md (*vec_dup): Use '$' instead of '!'. - * doc/md.texi: Add description of the new constraints. - -2015-01-15 Thomas Schwinge - Bernd Schmidt - Cesar Philippidis - James Norris - Tom de Vries - Ilmir Usmanov - Dmitry Bocharnikov - Evgeny Gavrin - Jakub Jelinek - - * builtin-types.def (BT_FN_VOID_INT_INT_VAR) - (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR) - (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR): - New function types. - * builtins.c: Include "gomp-constants.h". - (expand_builtin_acc_on_device): New function. - (expand_builtin, is_inexpensive_builtin): Handle - BUILT_IN_ACC_ON_DEVICE. - * builtins.def (DEF_GOACC_BUILTIN, DEF_GOACC_BUILTIN_COMPILER): - New macros. - * cgraph.c (cgraph_node::create): Consider flag_openacc next to - flag_openmp. - * config.gcc (tm_file): Add nvptx/offload.h. - <*-intelmic-* | *-intelmicemul-*> (tm_file): Add - i386/intelmic-offload.h. - * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): For -fopenacc, link - to libgomp and its dependencies. - * config/arc/arc.h (LINK_COMMAND_SPEC): Likewise. - * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise. - * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise. - * config/ia64/hpux.h (LIB_SPEC): Likewise. - * config/pa/pa-hpux11.h (LIB_SPEC): Likewise. - * config/pa/pa64-hpux.h (LIB_SPEC): Likewise. - * doc/generic.texi: Update for OpenACC changes. - * doc/gimple.texi: Likewise. - * doc/invoke.texi: Likewise. - * doc/sourcebuild.texi: Likewise. - * gimple-pretty-print.c (dump_gimple_omp_for): Handle - GF_OMP_FOR_KIND_OACC_LOOP. - (dump_gimple_omp_target): Handle GF_OMP_TARGET_KIND_OACC_KERNELS, - GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_DATA, - GF_OMP_TARGET_KIND_OACC_UPDATE, - GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA. - Dump more data. - * gimple.c: Update comments for OpenACC changes. - * gimple.def: Likewise. - * gimple.h: Likewise. - (enum gf_mask): Add GF_OMP_FOR_KIND_OACC_LOOP, - GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS, - GF_OMP_TARGET_KIND_OACC_DATA, GF_OMP_TARGET_KIND_OACC_UPDATE, - GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA. - (gimple_omp_for_cond, gimple_omp_for_set_cond): Sort in the - appropriate place. - (is_gimple_omp_oacc, is_gimple_omp_offloaded): New functions. - * gimplify.c: Include "gomp-constants.h". - Update comments for OpenACC changes. - (is_gimple_stmt): Handle OACC_PARALLEL, OACC_KERNELS, OACC_DATA, - OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, OACC_ENTER_DATA, - OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP. - (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle - OMP_CLAUSE__CACHE_, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, - OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS, - OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER, - OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT, - OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO, - OMP_CLAUSE_SEQ. - (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Use - GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use - OMP_CLAUSE_SET_MAP_KIND. - (gimplify_oacc_cache): New function. - (gimplify_omp_for): Handle OACC_LOOP. - (gimplify_omp_workshare): Handle OACC_KERNELS, OACC_PARALLEL, - OACC_DATA. - (gimplify_omp_target_update): Handle OACC_ENTER_DATA, - OACC_EXIT_DATA, OACC_UPDATE. - (gimplify_expr): Handle OACC_LOOP, OACC_CACHE, OACC_HOST_DATA, - OACC_DECLARE, OACC_KERNELS, OACC_PARALLEL, OACC_DATA, - OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE. - (gimplify_body): Consider flag_openacc next to flag_openmp. - * lto-streamer-out.c: Include "gomp-constants.h". - * omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE) - (BUILT_IN_GOACC_DATA_START, BUILT_IN_GOACC_DATA_END) - (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL) - (BUILT_IN_GOACC_UPDATE, BUILT_IN_GOACC_WAIT) - (BUILT_IN_GOACC_GET_THREAD_NUM, BUILT_IN_GOACC_GET_NUM_THREADS) - (BUILT_IN_ACC_ON_DEVICE): New builtins. - * omp-low.c: Include "gomp-constants.h". - Update comments for OpenACC changes. - (struct omp_context): Add reduction_map, gwv_below, gwv_this - members. - (extract_omp_for_data, use_pointer_for_field, install_var_field) - (new_omp_context, delete_omp_context, scan_sharing_clauses) - (create_omp_child_function, scan_omp_for, scan_omp_target) - (check_omp_nesting_restrictions, lower_reduction_clauses) - (build_omp_regions_1, diagnose_sb_0, make_gimple_omp_edges): - Update for OpenACC changes. - (scan_sharing_clauses): Handle OMP_CLAUSE_NUM_GANGS: - OMP_CLAUSE_NUM_WORKERS: OMP_CLAUSE_VECTOR_LENGTH, - OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_GANG, - OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT, - OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_INDEPENDENT, - OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ. Use GOMP_MAP_* instead of - OMP_CLAUSE_MAP_*. - (expand_omp_for_static_nochunk, expand_omp_for_static_chunk): - Handle GF_OMP_FOR_KIND_OACC_LOOP. - (expand_omp_target, lower_omp_target): Handle - GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS, - GF_OMP_TARGET_KIND_OACC_UPDATE, - GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA, - GF_OMP_TARGET_KIND_OACC_DATA. - (pass_expand_omp::execute, execute_lower_omp) - (pass_diagnose_omp_blocks::gate): Consider flag_openacc next to - flag_openmp. - (offload_symbol_decl): New variable. - (oacc_get_reduction_array_id, oacc_max_threads) - (get_offload_symbol_decl, get_base_type, lookup_oacc_reduction) - (maybe_lookup_oacc_reduction, enclosing_target_ctx) - (oacc_loop_or_target_p, oacc_lower_reduction_var_helper) - (oacc_gimple_assign, oacc_initialize_reduction_data) - (oacc_finalize_reduction_data, oacc_process_reduction_data): New - functions. - (is_targetreg_ctx): Remove function. - * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CACHE_, - OMP_CLAUSE_DEVICE_RESIDENT, OMP_CLAUSE_USE_DEVICE, - OMP_CLAUSE_GANG, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, - OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT, - OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_NUM_GANGS, - OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH. - * tree.c (omp_clause_code_name, walk_tree_1): Update accordingly. - * tree.h (OMP_CLAUSE_GANG_EXPR, OMP_CLAUSE_GANG_STATIC_EXPR) - (OMP_CLAUSE_ASYNC_EXPR, OMP_CLAUSE_WAIT_EXPR) - (OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR) - (OMP_CLAUSE_NUM_GANGS_EXPR, OMP_CLAUSE_NUM_WORKERS_EXPR) - (OMP_CLAUSE_VECTOR_LENGTH_EXPR): New macros. - * tree-core.h: Update comments for OpenACC changes. - (enum omp_clause_map_kind): Remove. - (struct tree_omp_clause): Change type of map_kind member from enum - omp_clause_map_kind to unsigned char. - * tree-inline.c: Update comments for OpenACC changes. - * tree-nested.c: Likewise. Include "gomp-constants.h". - (convert_nonlocal_reference_stmt, convert_local_reference_stmt) - (convert_tramp_reference_stmt, convert_gimple_call): Update for - OpenACC changes. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use - OMP_CLAUSE_SET_MAP_KIND. - * tree-pretty-print.c: Include "gomp-constants.h". - (dump_omp_clause): Handle OMP_CLAUSE_DEVICE_RESIDENT, - OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_GANG, - OMP_CLAUSE_ASYNC, OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, - OMP_CLAUSE_WAIT, OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, - OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS, - OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_INDEPENDENT. Use GOMP_MAP_* - instead of OMP_CLAUSE_MAP_*. - (dump_generic_node): Handle OACC_PARALLEL, OACC_KERNELS, - OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, - OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP. - * tree-streamer-in.c: Include "gomp-constants.h". - (unpack_ts_omp_clause_value_fields) Use GOMP_MAP_* instead of - OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND. - * tree-streamer-out.c: Include "gomp-constants.h". - (pack_ts_omp_clause_value_fields): Use GOMP_MAP_* instead of - OMP_CLAUSE_MAP_*. - * tree.def (OACC_PARALLEL, OACC_KERNELS, OACC_DATA) - (OACC_HOST_DATA, OACC_LOOP, OACC_CACHE, OACC_DECLARE) - (OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE): New tree codes. - * tree.c (omp_clause_num_ops): Update accordingly. - * tree.h (OMP_BODY, OMP_CLAUSES, OMP_LOOP_CHECK, OMP_CLAUSE_SIZE): - Likewise. - (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES, OACC_KERNELS_BODY) - (OACC_KERNELS_CLAUSES, OACC_DATA_BODY, OACC_DATA_CLAUSES) - (OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES, OACC_CACHE_CLAUSES) - (OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES) - (OACC_EXIT_DATA_CLAUSES, OACC_UPDATE_CLAUSES) - (OACC_KERNELS_COMBINED, OACC_PARALLEL_COMBINED): New macros. - * tree.h (OMP_CLAUSE_MAP_KIND): Cast it to enum gomp_map_kind. - (OMP_CLAUSE_SET_MAP_KIND): New macro. - * varpool.c (varpool_node::get_create): Consider flag_openacc next - to flag_openmp. - * config/i386/intelmic-offload.h: New file. - * config/nvptx/offload.h: Likewise. - -2015-01-15 Prathamesh Kulkarni - - * explow.h: Remove duplicate contents. - * dojump.h: Likewise. - -2015-01-15 Richard Earnshaw - - * arm.c (arm_xgene_tune): Add default initializer for instruction - fusion. - -2015-01-15 Jan Hubicka - - PR ipa/64068 - PR ipa/64559 - * ipa.c (symbol_table::remove_unreachable_nodes): - Do not put abstract origins into boundary. - -2015-01-15 Evgeny Stupachenko - - * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage. - * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Ditto. - -2015-01-15 Steve Ellcey - - * Makefile.in (PLUGIN_HEADERS): Add dominance.h, cfg.h, cfgrtl.h, - cfganal.h, cfgbuild.h, cfgcleanup.h, lcm.h, cfgloopmanip.h, - builtins.def, and chkp-builtins.def. - -2015-01-15 David Edelsohn - - * config/rs6000/default64.h (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use - ISA 2.7 (POWER8). - -2015-01-15 Richard Biener - - PR tree-optimization/61743 - * tree-ssa-pre.c (insert_into_preds_of_block): Preserve range - information on PHIs for some simple cases. - -2015-01-15 Philipp Tomsich - - * config/arm/arm.md (generic_sched): Specify xgene1 in 'no' list. - Include xgene1.md. - * config/arm/arm.c (arm_issue_rate): Specify 4 for xgene1. - * config/arm/arm-cores.def (xgene1): New entry. - * config/arm/arm-tables.opt: Regenerate. - * config/arm/arm-tune.md: Regenerate. - * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=xgene1. - -2015-01-15 Yuri Rumyantsev - - * tree-if-conv.c: Include hash-map.h. - (aggressive_if_conv): New variable. - (fold_build_cond_expr): Add simplification of non-zero condition. - (add_to_dst_predicate_list): Invoke add_to_predicate_list if edge - destination block is not always executed. - (if_convertible_phi_p): Fix commentary, allow phi nodes have more - than two predecessors if AGGRESSIVE_IF_CONV is true. - (if_convertible_stmt_p): Fix commentary. - (all_preds_critical_p): New function. - (has_pred_critical_p): New function. - (if_convertible_bb_p): Fix commentary, if AGGRESSIVE_IF_CONV is true - BB can have more than two predecessors and all incoming edges can be - critical. - (predicate_bbs): Skip predication for loop exit block, use build2_loc - to compute predicate for true edge. - (find_phi_replacement_condition): Delete this function. - (is_cond_scalar_reduction): Add arguments ARG_0, ARG_1 and EXTENDED. - Allow interchange PHI arguments if EXTENDED is false. - Change check that block containing reduction statement candidate - is predecessor of phi-block since phi may have more than two arguments. - (phi_args_hash_traits): New helper structure. - (struct phi_args_hash_traits): New type. - (phi_args_hash_traits::hash): New function. - (phi_args_hash_traits::equal_keys): New function. - (gen_phi_arg_condition): New function. - (predicate_scalar_phi): Add handling of phi nodes with more than two - arguments, delete COND and TRUE_BB arguments, insert body of - find_phi_replacement_condition to predicate ordinary phi nodes. - (predicate_all_scalar_phis): Skip blocks with the only predecessor, - delete call of find_phi_replacement_condition and invoke - predicate_scalar_phi with two arguments. - (insert_gimplified_predicates): Add assert that non-predicated block - don't have statements to insert. - (ifcvt_split_critical_edges): New function. - (ifcvt_split_def_stmt): Likewise. - (ifcvt_walk_pattern_tree): Likewise. - (stmt_is_root_of_bool_pattern): Likewise. - (ifcvt_repair_bool_pattern): Likewise. - (ifcvt_local_dce): Likewise. - (tree_if_conversion): Add initialization of AGGRESSIVE_IF_CONV which - is copy of inner or outer loop force_vectorize field, invoke - ifcvt_split_critical_edges, ifcvt_local_dce and - ifcvt_repair_bool_pattern for aggressive if-conversion. - -2015-01-15 Philipp Tomsich - - * config/aarch64/aarch64.md: Include xgene1.md. - * config/aarch64/xgene1.md: New file. - -2015-01-15 Philipp Tomsich - - * config/aarch64/aarch64-cores.def (xgene1): Update/add the - xgene1 (APM XGene-1) core definition. - * config/aarch64/aarch64.c: Add cost tables for APM XGene-1 - * config/arm/aarch-cost-tables.h: Add cost tables for APM XGene-1 - * doc/invoke.texi: Document -mcpu=xgene1. - -2015-01-15 Prathamesh Kulkarni - - * dojump.h: New header file. - * explow.h: Likewise. - * expr.h: Remove includes. - Move expmed.c prototypes to expmed.h. - Move dojump.c prototypes to dojump.h. - Move alias.c prototypes to alias.h. - Move explow.c prototypes to explow.h. - Move calls.c prototypes to calls.h. - Move emit-rtl.c prototypes to emit-rtl.h. - Move varasm.c prototypes to varasm.h. - Move stmt.c prototypes to stmt.h. - (saved_pending_stack_adjust): Move to dojump.h. - (adjust_address): Move to explow.h. - (adjust_address_nv): Move to emit-rtl.h. - (adjust_bitfield_address): Likewise. - (adjust_bitfield_address_size): Likewise. - (adjust_bitfield_address_nv): Likewise. - (adjust_automodify_address_nv): Likewise. - * explow.c (expr_size): Move to expr.c. - (int_expr_size): Likewise. - (tree_expr_size): Likewise. - Include calls.h dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h hashtab.h statistics.h stmt.h varasm.h. - * genemit.c (main): Generate includes statistics.h, real.h, - fixed-value.h, insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h, - stmt.h. - * genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h, - function.h, statistics.h, real.h, fixed-value.h, expmed.h, dojump.h, - explow.h, emit-rtl.h, stmt.h. - * genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h, - fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h. - * genemit.c (open_base_files): Generate includes flags.h, statistics.h, - real.h, fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h, - emit-rtl.h, varasm.h, stmt.h. - * config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h, - hash-set.h, vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, - function.h, rtl.h, flags.h, statistics.h, double-int.h, real.h, - fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h, insn-config.h, - expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h. - * config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h - double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h - function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h - insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h - tm.h tree.h varasm.h vec.h wide-int.h. - * rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h - explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h - hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h - real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h. - * cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h - emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h - insn-config.h real.h statistics.h stmt.h tree.h varasm.h wide-int.h. - * loop-iv.c: Likewise. - * lra-assigns.c: Include alias.h calls.h dojump.h double-int.h - emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h real.h - statistics.h stmt.h tree.h varasm.h wide-int.h. - * lra-constraints.c: Likewise. - * lra-eliminations.c: Likewise. - * lra-lives.c: Likewise. - * lra-remat.c: Likewise. - * bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h - explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h - statistics.h stmt.h tree.h varasm.h wide-int.h. - * hw-doloop.c: Likewise. - * ira-color.c: Likewise. - * ira-emit.c: Likewise. - * loop-doloop.c: Likewise. - * loop-invariant.c: Likewise. - * reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h - explow.h expmed.h fixed-value.h inchash.h real.h rtl.h - statistics.h stmt.h tree.h varasm.h wide-int.h. - * caller-save.c: Include alias.h calls.h dojump.h double-int.h - emit-rtl.h explow.h expmed.h fixed-value.h inchash.h real.h - statistics.h stmt.h tree.h varasm.h wide-int.h. - * combine-stack-adj.c: Likewise. - * cse.c: Likewise. - * ddg.c: Likewise. - * ifcvt.c: Likewise. - * ira-costs.c: Likewise. - * jump.c: Likewise. - * lra-coalesce.c: Likewise. - * lra-spills.c: Likewise. - * profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h - explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h - stmt.h varasm.h wide-int.h. - * lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h - explow.h expmed.h fixed-value.h real.h statistics.h stmt.h - varasm.h. - * config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h - double-int.h explow.h expmed.h fixed-value.h flags.h real.h - statistics.h stmt.h varasm.h wide-int.h. - * reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h - expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h - varasm.h wide-int.h. - * reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h - expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h. - * config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h - emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h - statistics.h stmt.h. - * config/tilepro/tilepro.c: Likewise. - * config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h - explow.h expmed.h fixed-value.h real.h statistics.h stmt.h. - * config/pdp11/pdp11.c: Likewise. - * config/xtensa/xtensa.c: Likewise. - * config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h - explow.h expmed.h fixed-value.h real.h statistics.h stmt.h - varasm.h. - * tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h flags.h function.h hard-reg-set.h hashtab.h - insn-config.h real.h rtl.h statistics.h stmt.h tm.h. - * cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h flags.h function.h hard-reg-set.h hashtab.h - insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h. - * rtl-chkp.c: Likewise. - * tree-chkp-opt.c: Likewise. - * config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h - explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h - hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h. - * ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h - statistics.h stmt.h. - * tree-vect-data-refs.c: Likewise. - * graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h - expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h - rtl.h statistics.h stmt.h varasm.h. - * internal-fn.c: Likewise. - * ipa-icf-gimple.c: Likewise. - * lto-section-out.c: Likewise. - * tree-data-ref.c: Likewise. - * tree-nested.c: Likewise. - * tree-outof-ssa.c: Likewise. - * tree-predcom.c: Likewise. - * tree-pretty-print.c: Likewise. - * tree-scalar-evolution.c: Likewise. - * tree-ssa-strlen.c: Likewise. - * tree-vect-loop.c: Likewise. - * tree-vect-patterns.c: Likewise. - * tree-vect-slp.c: Likewise. - * tree-vect-stmts.c: Likewise. - * tsan.c: Likewise. - * targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h - stmt.h. - * config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h - expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h - statistics.h stmt.h varasm.h. - * loop-unroll.c: Likewise. - * ubsan.c: Likewise. - * tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h - expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h - stmt.h varasm.h. - * dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h. - * tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h - expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h - statistics.h stmt.h. - * generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h - expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h - statistics.h stmt.h varasm.h. - * gimple-match-head.c: Likewise. - * lto-cgraph.c: Likewise. - * lto-section-in.c: Likewise. - * lto-streamer-in.c: Likewise. - * lto-streamer-out.c: Likewise. - * tree-affine.c: Likewise. - * tree-cfg.c: Likewise. - * tree-cfgcleanup.c: Likewise. - * tree-if-conv.c: Likewise. - * tree-into-ssa.c: Likewise. - * tree-ssa-alias.c: Likewise. - * tree-ssa-copyrename.c: Likewise. - * tree-ssa-dse.c: Likewise. - * tree-ssa-forwprop.c: Likewise. - * tree-ssa-live.c: Likewise. - * tree-ssa-math-opts.c: Likewise. - * tree-ssa-pre.c: Likewise. - * tree-ssa-sccvn.c: Likewise. - * tree-tailcall.c: Likewise. - * tree-vect-generic.c: Likewise. - * tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h. - * stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h. - * varasm.c: Likewise. - * coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h - varasm.h. - * init-regs.c: Likewise. - * ira.c: Likewise. - * omp-low.c: Likewise. - * stack-ptr-mod.c: Likewise. - * tree-ssa-reassoc.c: Likewise. - * tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h - varasm.h. - * dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h. - * shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h. - * recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h. - * tree-ssa-phiopt.c: Likewise. - * config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h hashtab.h real.h statistics.h stmt.h. - * config/fr30/fr30.c: Likewise. - * config/frv/frv.c: Likewise. - * expr.c: Likewise. - * final.c: Likewise. - * optabs.c: Likewise. - * passes.c: Likewise. - * simplify-rtx.c: Likewise. - * stmt.c: Likewise. - * toplev.c: Likewise. - * var-tracking.c: Likewise. - * gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h. - * lower-subreg.c: Likewise. - * postreload-gcse.c: Likewise. - * ree.c: Likewise. - * reginfo.c: Likewise. - * store-motion.c: Likewise. - * combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h hashtab.h real.h stmt.h varasm.h. - * emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h hashtab.h statistics.h stmt.h. - * dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h hashtab.h statistics.h stmt.h varasm.h. - * except.c: Likewise. - * explow.c: Likewise. - * tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h - varasm.h. - * gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h. - * tree-ssa-structalias.c: Likewise. - * cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h insn-config.h real.h statistics.h. - * calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h insn-config.h real.h statistics.h stmt.h. - * bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h. - * cfgbuild.c: Likewise. - * function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h real.h rtl.h statistics.h stmt.h. - * cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h. - * dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h real.h statistics.h stmt.h. - * auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h real.h statistics.h stmt.h varasm.h. - * cprop.c: Likewise. - * modulo-sched.c: Likewise. - * postreload.c: Likewise. - * ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h - flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h - statistics.h stmt.h varasm.h. - * gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h - explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h - rtl.h statistics.h stmt.h varasm.h. - * tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h - fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h - varasm.h. - * expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h - function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h - varasm.h. - * target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h - fixed-value.h function.h hashtab.h real.h statistics.h stmt.h - varasm.h. - * tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h - fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h. - * cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h - function.h real.h statistics.h stmt.h varasm.h. - * alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h - insn-config.h real.h statistics.h stmt.h. - * dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h - statistics.h stmt.h. - * config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h flags.h hard-reg-set.h insn-config.h real.h - statistics.h stmt.h varasm.h. - * gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h. - * asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h - flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h. - * ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h - statistics.h stmt.h varasm.h. - * ipa-polymorphic-call.c: Likewise. - * config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h - expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h - statistics.h stmt.h. - * config/c6x/c6x.c: Likewise. - * config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h - explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h - statistics.h stmt.h varasm.h. - * ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h hashtab.h insn-config.h real.h rtl.h statistics.h - stmt.h varasm.h. - * ipa-split.c: Likewise. - * tree-eh.c: Likewise. - * tree-ssa-dce.c: Likewise. - * tree-ssa-loop-niter.c: Likewise. - * tree-vrp.c: Likewise. - * config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h - expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h - stmt.h. - * config/nds32/nds32-fp-as-gp.c: Likewise. - * config/nds32/nds32-intrinsic.c: Likewise. - * config/nds32/nds32-isr.c: Likewise. - * config/nds32/nds32-md-auxiliary.c: Likewise. - * config/nds32/nds32-memory-manipulation.c: Likewise. - * config/nds32/nds32-pipelines-auxiliary.c: Likewise. - * config/nds32/nds32-predicates.c: Likewise. - * config/nds32/nds32.c: Likewise. - * config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h hashtab.h real.h statistics.h. - * config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h hashtab.h real.h statistics.h stmt.h. - * config/arm/arm.c: Likewise. - * config/avr/avr.c: Likewise. - * config/bfin/bfin.c: Likewise. - * config/h8300/h8300.c: Likewise. - * config/i386/i386.c: Likewise. - * config/ia64/ia64.c: Likewise. - * config/iq2000/iq2000.c: Likewise. - * config/m32c/m32c.c: Likewise. - * config/m32r/m32r.c: Likewise. - * config/m68k/m68k.c: Likewise. - * config/mcore/mcore.c: Likewise. - * config/mep/mep.c: Likewise. - * config/mips/mips.c: Likewise. - * config/mn10300/mn10300.c: Likewise. - * config/moxie/moxie.c: Likewise. - * config/pa/pa.c: Likewise. - * config/rl78/rl78.c: Likewise. - * config/rx/rx.c: Likewise. - * config/s390/s390.c: Likewise. - * config/sh/sh.c: Likewise. - * config/sparc/sparc.c: Likewise. - * config/spu/spu.c: Likewise. - * config/stormy16/stormy16.c: Likewise. - * config/v850/v850.c: Likewise. - * config/vax/vax.c: Likewise. - * config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h. - * config/msp430/msp430.c: Likewise. - * predict.c: Likewise. - * value-prof.c: Likewise. - * config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h - expmed.h fixed-value.h hashtab.h statistics.h stmt.h. - * config/microblaze/microblaze.c: Likewise. - * config/nios2/nios2.c: Likewise. - * config/rs6000/rs6000.c: Likewise. - * tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h - insn-config.h real.h rtl.h statistics.h stmt.h. - * cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h - insn-config.h real.h statistics.h stmt.h. - * fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h. - * tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h. - * builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h real.h statistics.h stmt.h. - * config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h - fixed-value.h statistics.h stmt.h. - * config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h - stmt.h. - -2015-01-15 Jakub Jelinek - - * gengtype.c (create_user_defined_type): Workaround - -Wmaybe-uninitialized false positives. - * cse.c (fold_rtx): Likewise. - * loop-invariant.c (gain_for_invariant): Likewise. - -2015-01-15 Eric Botcazou - - * expr.c (expand_expr_real_1) : Use the expression to - set the memory attributes in all cases but clear MEM_EXPR if need be. - -2015-01-15 Yuri Rumyantsev - - PR tree-optimization/64434 - * cfgexpand.c (reorder_operands): New function. - (expand_gimple_basic_block): Insert call of reorder_operands if - optimized is true. - -2015-01-15 Matthew Fortune - - * config/mips/micromips.md (*swp): Remove explicit parallel. - (jraddiusp, *movep): Likewise. - * config/mips/mips-dsp.md (add3): Likewise. - (mips_add_s_, sub3): Likewise. - (mips_sub_s_, mips_addsc): Likewise. - (mips_addwc, mips_absq_s_): Likewise. - (mips_precrq_rs_ph_w, mips_precrqu_s_qb_ph): Likewise. - (mips_shll_, mips_shll_s_): Likewise. - (mips_muleu_s_ph_qbl, mips_muleu_s_ph_qbr): Likewise. - (mips_mulq_rs_ph, mips_muleq_s_w_phl, mips_muleq_s_w_phr): Likewise. - (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph): Likewise. - (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_s_w_phl): Likewise. - (mips_maq_s_w_phr, mips_maq_sa_w_phl, mips_maq_sa_w_phr): Likewise. - (mips_extr_w, mips_extr_r_w, mips_extr_rs_w): Likewise. - (mips_extr_s_h, mips_extp, mips_extpdp, mips_mthlip): Likewise. - (mips_wrdsp): Likewise. - * config/mips/mips-dspr2.md (mips_absq_s_qb): Remove explicit - parallel. - (mips_addu_ph, mips_addu_s_ph, mips_cmpgdu_eq_qb): Likewise. - (mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb, mulv2hi3): Likewise. - (mips_mul_s_ph, mips_mulq_rs_w, mips_mulq_s_ph): Likewise. - (mips_mulq_s_w, mips_subu_ph, mips_subu_s_ph): Likewise. - (mips_dpaqx_s_w_ph, mips_dpaqx_sa_w_ph): Likewise. - (mips_dpsqx_s_w_ph, mips_dpsqx_sa_w_ph): Likewise. - * config/mips/mips-fixed.md (usadd3): Remove explicit parallel. - (ssadd3, ussub3, sssub3, ssmul3): Likewise. - (ssmaddsqdq4, ssmsubsqdq4): Likewise. - -2015-01-14 Matthew Fortune - - * config/mips/mips.c (mips_rtx_costs): Set costs for LSA/DLSA. - (mips_print_operand): Support 'y' to print exact log2 in decimal - of a const_int. - * config/mips/mips.h (ISA_HAS_LSA): New define. - (ISA_HAS_DLSA): Likewise. - * config/mips/mips.md (lsa): New define_insn. - * config/mips/predicates.md (const_immlsa_operand): New predicate. - -2015-01-15 Martin Liska - - PR target/64377 - * optc-save-gen.awk: Add support for array types. - -2015-01-15 Richard Biener - - PR middle-end/64365 - * tree-data-ref.c (dr_analyze_indices): Make sure that accesses - for MEM_REF access functions with the same base can never partially - overlap. - -2015-01-14 Marcos Diaz - - * common.opt: New option -fstack-protector-explicit. - * cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum. - (stack_protect_decl_phase): Handle stack_protect attribute for - explicit stack protection requests. - (expand_used_vars): Similarly. - * doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro. - * doc/extend.texi: Add documentation for "stack_protect" attribute. - * doc/invoke.texi: Add documentation for -fstack-protector-explicit. - -2015-01-14 Oleg Endo - - PR target/53988 - * config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore - reg-reg copies. - (sh_extending_set_of_reg): New struct. - (sh_find_extending_set_of_reg, sh_split_tst_subregs, - sh_remove_reg_dead_or_unused_notes): New Declarations. - * config/sh/sh.c (sh_remove_reg_dead_or_unused_notes, - sh_find_extending_set_of_reg, sh_split_tst_subregs, - sh_extending_set_of_reg::use_as_extended_reg): New functions. - * config/sh/sh.md (*tst_t_zero): Rename to *tst_t_subregs, - convert to insn_and_split and use new function sh_split_tst_subregs. - -2015-01-14 Sandra Loosemore - - * doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker - option. - (Optimization Options): Move -fuse-ld documentation to... - (Link Options): ...here. - -2015-01-14 Matthew Fortune - - * config/mips/constraints.md (ZC): Add support for R6 LL/SC - offsets. - (ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT. - * config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to... - (ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro. - * config/mips/sync.md (sync_compare_and_swap): Use ZC - instead of ZR for the memory operand of LL/SC. - (compare_and_swap_12, sync_add): Likewise. - (sync__12, sync_old__12): Likewise. - (sync_new__12, sync_nand_12): Likewise. - (sync_old_nand_12, sync_new_nand_12): Likewise. - (sync_sub, sync_old_add): Likewise. - (sync_old_sub, sync_new_add): Likewise. - (sync_new_sub, sync_): Likewise. - (sync_old_, sync_new_"): Likewise. - (sync_nand, sync_old_nand): Likewise. - (sync_new_nand, sync_lock_test_and_set): Likewise. - (test_and_set_12, atomic_compare_and_swap): Likewise. - (atomic_exchange_llsc, atomic_fetch_add_llsc): Likewise. - * doc/md.texi (ZC): Update description. - -2015-01-14 Andrew MacLeod - - * builtins.c (expand_builtin_atomic_exchange): Remove error when - memory model is CONSUME. - (expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load, - expand_builtin_atomic_store): Change invalid memory model errors to - warnings. - (expand_builtin_atomic_clear): Change invalid model errors to warnings - and issue warning for CONSUME. - -2015-01-14 Aldy Hernandez - - * lto-cgraph: Update function comments for - lto_symtab_encoder_encode_*. - -2015-01-14 Ilya Verbin - - * Makefile.in (site.exp): Do not set ENABLE_LTO. - -2015-01-14 Ilya Verbin - - * cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries. - * lto-cgraph.c (select_what_to_stream): Remove argument, use - lto_stream_offload_p instead. - * lto-streamer.h (select_what_to_stream): Remove argument. - * passes.c (ipa_write_summaries): Likewise. - * tree-pass.h (ipa_write_summaries): Likewise. - -2015-01-14 Richard Biener - - PR tree-optimization/59354 - * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from - groups larger than the slp group size as having gaps. - -2015-01-14 Andrew MacLeod - - PR middle-end/59448 - * builtins.c (get_memmodel): Promote consume to acquire always. - -2015-01-14 Ilya Tocar - - PR target/64386 - * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode, - V32HImode. - -2015-01-14 Ilya Tocar - - PR target/64393 - * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET): - Enable AVX512BW. - (OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI. - * config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check - AVX512VBMI, as it implies AVX512BW. - -2015-01-14 Ilya Tocar - - PR target/64387 - * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate. - (vec_unpacks_hi_v16sf): Ditto. - -2015-01-14 Kyrylo Tkachov - - * config/aarch64/arm_neon.h: Error out if AdvancedSIMD - is not available. - -2015-01-14 Kyrylo Tkachov - - * doc/invoke.texi (mapcs): Mention deprecation. - (mapcs-frame): Likewise. - -2015-01-14 Thomas Preud'homme - - PR target/64453 - * config/arm/arm.c (callee_saved_reg_p): Define. - (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if - register is callee saved instead of !call_used_regs[reg]. - (thumb1_compute_save_reg_mask): Likewise. - -2015-01-14 Hale Wang - - * config/arm/arm.c: Tune the max_cond_insns/branch_cost for - Cortex-M7. - -2015-01-14 Richard Biener - - PR lto/64415 - * tree-inline.c (insert_debug_decl_map): Check destination - function MAY_HAVE_DEBUG_STMTS. - (insert_init_debug_bind): Likewise. - (insert_init_stmt): Remove redundant check. - (remap_gimple_stmt): Drop debug stmts if the destination - function has var-tracking assignments disabled. - -2015-01-14 Martin Liska - - * ipa-icf-gimple.c (func_checker::compare_operand): Add support for - IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison. - -2015-01-14 Kyrylo Tkachov - - PR target/64460 - * config/arm/arm.md (*_multsi): Set 'shift' to 2. - (*_shiftsi): Set 'shift' attr to 3. - -2015-01-14 Matthew Fortune - - * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA - level from an ARCH; do not inject the default. - (MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from - MIPS_ISA_LEVEL_SPEC. - (MIPS_ISA_NAN2008_SPEC): Update comment. - (BASE_DRIVER_SELF_SPECS): Likewise. - * config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add - MIPS_DEFAULT_ISA_LEVEL_SPEC. - * config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise. - * config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise. - * config/mips/sde.h (DRIVER_SELF_SPECS): Likewise. - -2015-01-14 Richard Biener - - PR tree-optimization/64493 - PR tree-optimization/64495 - * tree-vect-loop.c (vect_finalize_reduction): For double-reductions - assign the proper vectorized PHI to the inner loop exit PHIs. - -2015-01-14 Joey Ye - - * config/arm/arm.c (arm_compute_save_reg_mask): - Do not save lr in case of tail call. - * config/arm/thumb2.md (*thumb2_pop_single): New pattern. - -2015-01-14 Martin Uecker - - * tree-vrp.c (check_array_ref): Emit more warnings - for warn_array_bounds >= 2. - * common.opt: New option -Warray-bounds=. - * doc/invoke.texi: Document -Warray-bounds=. - -2015-01-14 Chung-Ju Wu - - * config/nds32/nds32.opt (mforce-fp-as-gp): Remove. - (mforbid-fp-as-gp): Remove. - (mex9): Remove. - * config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove. - (nds32_symbol_load_store_p): Remove. - (nds32_fp_as_gp_check_available): Clean up implementation. - * config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9 - cases. - * config/nds32/nds32.c (nds32_asm_file_start): No need to consider - fp-as-gp and ex9 cases. - -2015-01-13 Jan Hubicka - - * tree-profile.c (init_ic_make_global_vars): Drop workaround - for bintuils bug 14342. - (init_ic_make_global_vars): Likewise. - (gimple_init_edge_profiler): Likewise. - (gimple_gen_ic_func_profiler): Likewise. - -2015-01-13 Naveen H.S - - * ipa-inline.c (inline_small_functions): Swap the operands in - enum. - -2015-01-13 Jan Hubicka - - PR ipa/64481 - * ipa-inline-analysis.c (node_growth_cache): Remove. - (initialize_growth_caches): Do not initialize it. - (free_growth_caches): Do not free it. - (do_estimate_growth): Rename to ... - (estimate_growth): ... this one; drop growth cache code. - (growth_likely_positive): Always go the heuristics way. - * ipa-inline.c (can_inline_edge_p): Walk through aliases. - (reset_edge_caches): Do not reset node growth. - (heap_edge_removal_hook): Do not maintain cache. - (inline_small_functions): Likewise; strenghten sanity check. - (ipa_inline): Do not maintain caches. - * ipa-inline.h (node_growth_cache): Remove. - (do_estimate_growth): Remove to ... - (estimate_growth): this one; remove inline version. - (reset_node_growth_cache): Remove. - -2015-01-13 Jan Hubicka - - PR ipa/64565 - * ipa-inline.c (inline_small_functions): Update callee keys after - resolving speculation - (inline_small_functions): Always check monotonicity of the queue. - -2015-01-13 Marek Polacek - - PR middle-end/64391 - * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE. - -2015-01-13 Jakub Jelinek - - PR rtl-optimization/64286 - * ree.c (combine_reaching_defs): Move part of comment earlier, - remove !SCALAR_INT_MODE_P check. - (add_removable_extension): Don't add vector mode - extensions if all uses of the source register aren't the same - vector extensions. - -2015-01-13 Renlin Li - - * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2. - (CTZ_DEFINED_VALUE_AT_ZERO): Ditto. - -2015-01-13 Martin Liska - - * ipa-icf.c (sem_function::equals_private): Call new functions - cl_target_option_print_diff and cl_optimization_print_diff. - * optc-save-gen.awk (cl_target_option_print_diff): New function. - (cl_optimization_print_diff): Likewise. - * opth-gen.awk: Likewise. - -2015-01-13 Richard Sandiford - - * config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3) - (*sub__, *sub__si_uxtw) - (*sub__shft_) - (*sub__shft_si_uxtw, *sub__multp2) - (*sub_si_multp2_uxtw, *sub_uxt_multp2) - (*sub_uxtsi_multp2_uxtw): Add stack pointer sources. - -2015-01-13 Andrew Pinski - - * config/aarch64/aarch64.c (fusion_load_store): Check dest mode - instead of src mode. - -2015-01-13 Richard Biener - - PR lto/64373 - * lto-streamer-out.c (tree_is_indexable): Guard for NULL - DECL_CONTEXT. - -2015-01-13 Andrew Pinski - - * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject - volatile mems. - (aarch64_operands_adjust_ok_for_ldpstp): Likewise. - -2015-01-13 Jakub Jelinek - - PR middle-end/63974 - * cfgexpand.c (expand_computed_goto): Don't call - convert_memory_address here. - -2015-01-13 Richard Biener - - PR tree-optimization/64406 - * tree-loop-distibution.c (pass_loop_distribution::execute): - Reset the SCEV hashtable if we distributed anything. - -2015-01-13 Richard Biener - - PR tree-optimization/64404 - * tree-vect-stmts.c (vectorizable_load): Reject conflicting - SLP types for CSEd loads. - -2015-01-13 Thomas Preud'homme - - PR tree-optimization/64436 - * tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the - merge of two symbolic numbers for a bitwise OR to ... - (perform_symbolic_merge): This. Also fix computation of the range and - end of the symbolic number corresponding to the result of a bitwise OR. - -2015-01-13 Richard Biener - - PR tree-optimization/64568 - * tree-ssa-forwprop.c (pass_forwprop::execute): Properly - release defs of removed stmts, avoid splitting TARGET_MEM_REFs. - -2015-01-13 Chung-Ju Wu - - * config/nds32/nds32.c (nds32_legitimate_address_p): Consider - TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases. - -2015-01-13 Chung-Ju Wu - - * config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own - target-specific symbol_ref flag. - (NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref - resides in rodata section. - * config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define. - (nds32_encode_section_info): New function. - -2015-01-13 Chung-Ju Wu - - * config/nds32/nds32.md (call): Use pseudo instruction bal which - clobbers TA_REGNUM if large code model is specified. - (call_register): Likewise. - (call_immediate): Likewise. - (call_value): Likewise. - (call_value_register): Likewise. - (call_value_immediate): Likewise. - -2015-01-13 Chung-Ju Wu - - * config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro. - (TARGET_CMODEL_MEDIUM): New macro. - (TARGET_CMODEL_LARGE): New macro. - * config/nds32/nds32.c (nds32_asm_file_start): Display corresponding - code model setting in assembly code. - -2015-01-13 Chung-Ju Wu - - * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS): - Remove MASK_GP_DIRECT flag. - * config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as - one of the multilib default options. - * config/nds32/nds32.opt (mgp-direct): Remove. - * config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of - -mgp-direct. We also remove unnecessary -mlittle-endian/-mbig-endian. - -2015-01-13 Chung-Ju Wu - - * config/nds32/nds32.opt (mcmodel): Add new option. - * config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type - to describe code model. - -2015-01-13 Oleg Endo - - PR target/64479 - * rtlanal.c (set_reg_p): Handle SEQUENCE constructs. - -2015-01-12 Kaz Kojima - - * config/sh/sh.c (sh_atomic_assign_expand_fenv): New function. - (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define. - (sh_builtin_get_fpscr, sh_builtin_set_fpscr): New variables. - (sh_init_builtins): Record decls for __builtin_sh_get_fpscr and - __builtin_sh_set_fpscr. - -2015-01-12 Sandra Loosemore - - * doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses - after a funtion name just to indicate it is a function. - ([-fsanitize-undefined-trap-on-error]): Likewise. - ([-fdbg-cnt=]): Likewise. - ([-mmemcpy]): Likewise. - ([-mflush-func]): Likewise. - ([-msynci]): Likewise. - -2015-01-12 Sandra Loosemore - - * doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing - example. - -2015-01-12 Jakub Jelinek - - PR tree-optimization/64563 - * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE - instead of != VR_VARYING. - - PR target/64513 - * config/i386/i386.c (ix86_expand_prologue): Add - REG_FRAME_RELATED_EXPR to %rax and %r10 pushes. - - PR tree-optimization/64454 - * tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize - op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1] - for signed or [0, op1 - 1] for unsigned modulo. - (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges - even if op1 does not satisfy integer_pow2p. - - PR other/64370 - * sreal.c (sreal::to_double): Use ldexp instead of scalbnl. - -2015-01-12 Jeff Law - - PR target/64461 - * config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE. - (trunchiqi2, truncsihi2): Similarly. - - * config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly - rather than calling F. - -2015-01-12 Bernd Edlinger - - * tsan.c (instrument_expr): Use force_gimple_operand. - Use may_be_nonaddressable_p instead of is_gimple_addressable. - -2015-01-12 Richard Biener - - PR tree-optimization/64530 - * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle - back dr1. - -2015-01-12 Richard Biener - - PR middle-end/64357 - * tree-cfg.c (gimple_can_merge_blocks_p): Protect simple - latches properly. - -2015-01-12 Kyrylo Tkachov - - * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match - Cortex-A17 tuning parameters. - * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17. - -2015-01-12 Kyrylo Tkachov - - * config/arm/arm-protos.h (tune_params): Add fuseable_ops field. - * config/arm/arm.c (arm_macro_fusion_p): New function. - (arm_macro_fusion_pair_p): Likewise. - (TARGET_SCHED_MACRO_FUSION_P): Define. - (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise. - (ARM_FUSE_NOTHING): Likewise. - (ARM_FUSE_MOVW_MOVT): Likewise. - (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune, - arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune, - arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune, - arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune, - arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune - arm_cortex_a5_tune): Specify fuseable_ops value. - -2015-01-12 H.J. Lu - - PR bootstrap/64561 - * configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker - test for PIE with copy reloc. - * configure: Regenerated. - -2015-01-12 Kyrylo Tkachov - - * config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0 - in gen_rtx_REG. - (arm_tls_descseq_addr): Likewise. - (arm_gen_movmemqi): Likewise. - (arm_expand_epilogue_apcs_frame): Likewise. - (arm_expand_epilogue): Likewise. - (arm_expand_prologue): Likewise. Use R1_REGNUM instead of constant 1 - in gen_rtx_REG. - -2015-01-12 Martin Liska - - PR ipa/64550 - * ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare - volatility for correct operands. - -2015-01-12 Martin Liska - - * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as - indication that a function is not leaf. - (sem_function::compare_polymorphic_p): Likewise. - -2015-01-12 Prathamesh Kulkarni - - * config/visium/visium.c: Add includes hashtab.h, hash-set.h, - machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h, - fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h, - fold-const.h, tree-check.h. - -2015-01-12 Jan Hubicka - - PR ipa/63967 - PR ipa/64425 - * ipa-inline.c (compute_uninlined_call_time, - compute_inlined_call_time): Use counts for extra precision when - needed possible. - (big_speedup_p): Fix formating. - (RELATIVE_TIME_BENEFIT_RANGE): Remove. - (relative_time_benefit): Remove. - (edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint; - merge guessed and read profile paths. - (inline_small_functions): Count only !optimize_size functions into - initial size; be more lax about sanity check when profile is used; - be sure to update inlined function profile when profile is read. - -2015-01-12 Jan Hubicka - - PR ipa/63470 - * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust - cost when edge becomes direct. - * ipa-prop.c (make_edge_direct): Do not adjust when speculation - is resolved or when introducing new speculation. - -2015-01-12 Chen Gang - - PR ipa/64551 - PR ipa/64552 - * ipa-icf.c (sem_function::equals_private): Use '&&' instead of - '||' to fix typo issue. - - * tree.h (target_opts_for_fn): Check NULL_TREE since it can - accept and return NULL. - -2015-01-12 Martin Liska - - * cgraph.c (cgraph_edge::remove_callee): Move function to header - file for being inlined. - (cgraph_set_edge_callee): Delete. - (cgraph_edge::redirect_callee): Move function to header file - for being inlined. - (cgraph_edge::make_direct): Use new function. - (cgraph_edge::dump_edge_flags): New function created from - static dump_edge_flags function. - (cgraph_node::dump): Use new function. - (cgraph_edge::verify_count_and_frequency): New function created - from verify_edge_count_and_frequency. - (cgraph_edge::verify_corresponds_to_fndecl): New function created - from verify_edge_corresponds_to_fndecl. - (verify_edge_corresponds_to_fndecl): Delete. - (cgraph_node::verify_node): Use new function. - * cgraph.h (cgraph_edge::set_callee): New function. - (cgraph_edge::dump_edge_flags): Likewise. - (cgraph_edge::verify_corresponds_to_fndecl): Likewise. - -2015-01-11 Jan Hubicka - - * ipa-utils.c (estimate_function_body_sizes): Do not - free node params when called late with early=true. - -2015-01-11 James Greenhalgh - - * doc/md.texi (Instruction Patterns): Rewrite text for - clarity. - (Example): Likewise. - -2015-01-10 Sandra Loosemore - - * doc/invoke.texi (Option Summary): Break long lines. - [(-fdiagnostics-color)]: Put long literal in @smallexample - instead of inline. - [(-fsanitize-recover)]: Likewise. - [(-fdump-rtl-split*)]: Rewrite to fix over-full hbox. - [(-ffast-math)]: Likewise. - [(--param max-inline-insns-recursive)]: Likewise. - [(--param max-inline-recursive-depth)]: Likewise. - [(-mno-text-section-literals)]: Likewise. - -2015-01-10 Thomas Schwinge - - * doc/install.texi: Update for libgomp being renamed from "GNU - OpenMP Runtime Library" to "GNU Offloading and Multi Processing - Runtime Library". - * doc/sourcebuild.texi: Likewise. - -2015-01-10 Anthony Green - - * config/moxie/moxie.c (moxie_option_override): Fix forcing of - mul.x availability for moxiebox configuration. - -2015-01-09 Anthony Green - - * config/moxie/moxie.md: Tabify assembly output. - -2015-01-09 Anthony Green - - * config/moxie/moxie.md (CC_REG): Correct register definition. - -2015-01-09 Sandra Loosemore - - * doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup. - ([-fvtv-debug], [-fvtv-counts]): Likewise. Correct location - of log files. - -2015-01-09 Andreas Tobler - - * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon. - -2015-01-09 Bernd Schmidt - Jakub Jelinek - - PR middle-end/64412 - * lto-streamer.h (lto_stream_offload_p): New declaration. - * lto-streamer.c (lto_stream_offload_p): New variable. - * cgraphunit.c (ipa_passes): Set lto_stream_offload_p - at the same time as section_name_prefix. - * lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION - if lto_stream_offload_p. - * tree-streamer-out.c (streamer_pack_tree_bitfields): Don't - stream TREE_TARGET_OPTION if lto_stream_offload_p. - (write_ts_function_decl_tree_pointers): Don't - stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p. - * tree-streamer-in.c (unpack_value_fields): Don't stream - TREE_TARGET_OPTION in if ACCEL_COMPILER. - (lto_input_ts_function_decl_tree_pointers): Don't stream - DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER. - * lto-opts.c (lto_write_options): Use lto_stream_offload_p - instead of section_name_prefix string comparisons. - -2015-01-09 Jakub Jelinek - - PR rtl-optimization/64536 - * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate - tablejumps. - -2015-01-09 Michael Collison - - PR tree-optimization/64322 - * tree-vrp.c (extract_range_from_binary_expr_1): Attempt to derive - range for RSHIFT_EXPR even if vr0 range is not VR_RANGE or is symbolic. - -2015-01-09 Tom de Vries - - PR rtl-optimization/64539 - * regcprop.c (kill_clobbered_values): Factor out of ... - (copyprop_hardreg_forward_1): ... here. Use kill_clobbered_values - instead of note_stores with kill_clobbered_value. - -2015-01-09 Andreas Tobler - - * ginclude/unwind-arm-common.h: Revert previous commit. - -2015-01-09 Andreas Tobler - - * config.gcc (arm*-*-freebsd*): New configuration. - * config/arm/freebsd.h: New file. - * config.host: Add extra components for arm*-*-freebsd*. - * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE. - * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE. - -2015-01-09 Sebastian Huber - - * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__ - for -mcpu=e6500. - * config/rs6000/t-rtems: Add e6500 multilibs. - -2015-01-09 Sebastian Huber - - * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for - MPC8540. - -2015-01-09 Sebastian Huber - - * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of - MULTILIB_EXCEPTIONS. - -2015-01-09 Sebastian Huber - - * config/arm/t-rtems: Use MULTILIB_REQUIRED instead of - MULTILIB_EXCEPTIONS. - -2015-01-09 Sebastian Huber - - * config/arm/t-rtems-eabi: Rename to... - * config/arm/t-rtems: ...this. - * config/arm/rtems-eabi.h: Rename to... - * config/arm/rtems.h: ...this. - * config.gcc (arm*-*-rtems*): Reflect changes above. - -2015-01-09 Richard Biener - - PR tree-optimization/64410 - * tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR - on the LHS. - (execute_update_addresses_taken): Deal with that. - * tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise - loads/stores for complex variables. - -2015-01-09 Martin Liska - - * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA - name comparison. - (func_checker::compare_memory_operand): New function. - (func_checker::compare_operand): Split case to newly - added functions. - (func_checker::compare_cst_or_decl): New function. - (func_checker::compare_gimple_call): Identify - memory operands. - (func_checker::compare_gimple_assign): Likewise. - * ipa-icf-gimple.h: New function. - -2015-01-09 Martin Liska - - PR ipa/64503 - * sreal.c (sreal::dump): Change unsigned format to signed for - m_exp value. - (sreal::to_double): Replace exp2 with scalbln. - -2015-01-09 Martin Liska - - * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation. - * ipa-icf.c (sem_function::equals_private): Add support for target and - (sem_item_optimizer::merge_classes): Remove redundant function - optimization flags comparison. - * tree.h (target_opts_for_fn): New function. - -2015-01-09 Tom de Vries - - * omp-low.c (expand_omp_for_static_chunk): Fix assert. - -2015-01-09 Kito Cheng - - PR rtl-optimization/64348 - * lra-constraints.c (split_reg): Fix caller-save store/restore - instruction generation. - -2015-01-08 John David Anglin - - PR gcov-profile/61790 - * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has - long long. Fallback to int64_t if host doesn't have long long and - use strtol if int64_t is long. Otherwise, use sscanf for conversion. - -2015-01-08 Jakub Jelinek - - PR tree-optimization/63989 - * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default - from 1000 to 10000. - * tree-ssa-strlen.c (get_strinfo): Moved earlier. - (get_stridx): If we don't have a record for certain SSA_NAME, - but it is POINTER_PLUS_EXPR of some SSA_NAME we do with - constant offset, call get_stridx_plus_constant. - (get_stridx_plus_constant): New function. - (zero_length_string): Don't use get_stridx here. - - PR target/55023 - PR middle-end/64388 - * dse.c (struct insn_info): Mention frame_read set also - before reload for tail calls on some targets. - (scan_insn): Revert 2014-12-22 change. Set frame_read - also before reload for tail calls if - HARD_FRAME_POINTER_IS_ARG_POINTER. Call add_wild_read - instead of add_non_frame_wild_read for non-const/memset - tail calls after reload. - -2015-01-08 Jason Merrill - - * ubsan.c (do_ubsan_in_current_function): New. - (pass_ubsan::gate): Use it. - * ubsan.h: Declare it. - * convert.c (convert_to_integer): Use it. - -2015-01-08 Jakub Jelinek - - PR target/64338 - * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse - compare_code when it is unconditionally overwritten afterwards. - Use ix86_reverse_condition instead of reverse_condition. Don't - change code if *reverse_condition* returned UNKNOWN and don't - swap ct/cf and negate diff in that case. - -2015-01-08 Mike Stump - - * tsan.c (pass_tsan::gate): Add no_sanitize_thread support. - (pass_tsan_O0::gate): Likewise. - * extend.texi (Function Attributes): Add no_sanitize_thread - documentation. - -2015-01-08 Thomas Schwinge - - * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi - for registering builtins. - * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't - add -fopenmp to the argv_obstack used when invoking - compile_for_target. - - * config/i386/intelmic-mkoffload.c (compile_for_target): Always - add "-m32" or "-m64" to argv_obstack. - (generate_host_descr_file): Likewise, when invoking host_compiler. - (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking - ld. - -2015-01-08 Oleg Endo - - * config/sh/sh-mem.cc: Use constant as second operand when emitting - tstsi_t insns. - -2015-01-08 Oleg Endo - - PR target/55212 - * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of - constant load if constant operand fits into I08. - -2015-01-08 Jakub Jelinek - - PR sanitizer/64336 - * tree.c (build2_stat): Fix up initialization of TREE_READONLY - and TREE_THIS_VOLATILE for MEM_REFs. - (build5_stat): Fix up initialization of TREE_READONLY and - TREE_THIS_VOLATILE for TARGET_MEM_REFs. - -2015-01-08 Kaz Kojima - - PR target/64533 - * config/sh/sh.md (*addsi3_compact): Use u constraint instead - of r for the second alternative of the destination operand. - -2015-01-07 Segher Boessenkool - - PR target/36557 - * config/rs6000/rs6000.md (*eqsi3_ext, *nesi3_ext): New. - -2015-01-07 Sandra Loosemore - - * doc/invoke.texi ([-fvtable-verify]): Fix markup on option - keywords. - ([-fivar-visibility], [-fvisibility]): Likewise. - -2015-01-07 Sandra Loosemore - - * doc/invoke.texi: Fix incorrect uses of @samp markup throughout - the file where @code, @command, etc is more appropriate. - -2015-01-06 Sandra Loosemore - - * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting - of -mrecip= documentation. - -2015-01-06 Michael Meissner - - PR target/64505 - * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the - correct reload handler if -m32 -mpowerpc64 is used. - -2015-01-06 Tom de Vries - - * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment. - -2015-01-08 Christian Bruel - - PR target/64507 - * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length. - -2015-01-06 Thomas Preud'homme - - PR tree-optimization/63259 - * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking - if optab exists for 16bit byteswap. - -2015-01-06 Jakub Jelinek - - * opts.c (common_handle_option): Add support for - -fno-sanitize=all and -f{,no-}sanitize-recover=all. - * doc/invoke.texi: Document -fno-sanitize=all, - -f{,no-}sanitize-recover=all. Document that - -fsanitize=float-cast-overflow is not enabled - by -fsanitize=undefined. Fix up documentation - of -f{,no-}sanitize-recover. - -2015-01-06 Eric Botcazou - - * config.gcc: Add Visium support. - * configure.ac: Likewise. - * configure: Regenerate. - * doc/extend.texi (interrupt attribute): Add Visium. - * doc/invoke.texi: Document Visium options. - * doc/install.texi: Document Visium target. - * doc/md.texi: Document Visium constraints. - * common/config/visium: New directory. - * config/visium: Likewise. - -2015-01-05 Segher Boessenkool - - * simplify-rtx.c (simplify_binary_operation_1): Handle more cases - for the "(and X (ior (not X) Y) -> (and X Y)" transform. - -2015-01-05 Segher Boessenkool - - * combine.c (combine_validate_cost): Do not count the cost of a - split I2 twice. Do not display it twice in the dump, either. - -2015-01-05 Sandra Loosemore - - Revert parts of r219199. - * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on - . - ([-Wtraditional]): Restore markup on . - -2015-01-05 Trevor Saunders - - PR c++/31397 - * doc/invoke.texi: Document -Wsuggest-override. - -2015-01-05 Radovan Obradovic - - PR rtl-optimization/64287 - * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default. - (process_options): Disable flag_ipa_ra if profiling. - -2015-01-05 Eric Botcazou - - * config/nds32/nds32-peephole2.md: Do not mention define_peephole. - -2015-01-05 Max Filippov - - * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail, - hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops): - put under #if TARGET_LOOPS guard. - -2015-01-05 Uros Bizjak - - * config/i386/i386.c (output_387_binary_op): Use std::swap. - -2015-01-05 Oleg Endo - - * rtlanal.c (refers_to_regno_p): Change return value from int to bool. - * rtl.h (refers_to_regno_p): Add overload. - * cse.c: Use it. - * bt-load.c: Likewise. - * combine.c: Likewise. - * df-scan.c: Likewise. - * sched-deps.c: Likewise. - * config/s390/s390.c: Likewise. - * config/m32r/m32r.c: Likewise. - * config/rs6000/spe.md: Likewise. - * config/rs6000/rs6000.c: Likewise. - * config/pa/pa.c: Likewise. - * config/stormy16/stormy16.c: Likewise. - * config/cris/cris.c: Likewise. - * config/arc/arc.md: Likewise. - * config/arc/arc.c: Likewise. - * config/sh/sh.md: Likewise. - * config/sh/sh.c: Likewise. - * config/frv/frv.c: Likewise. - -2015-01-05 Jakub Jelinek - - PR sanitizer/64265 - * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal - call as cleanup of the whole body. - * internal-fn.def (TSAN_FUNC_EXIT): New internal call. - * tsan.c (replace_func_exit): New function. - (instrument_func_exit): Moved earlier. - (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls. - Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have - been found. - (tsan_pass): Don't call instrument_func_exit. - * internal-fn.c (expand_TSAN_FUNC_EXIT): New function. - * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during - inlining. - - PR sanitizer/64344 - * ubsan.h (ubsan_instrument_float_cast): Add ARG argument. - * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass - it to libubsan handler instead of EXPR. Fold comparisons earlier, - if the result is integer_zerop, return NULL_TREE. - * convert.c (convert_to_integer): Pass expr as ARG. - - PR tree-optimization/64465 - * tree-inline.c (redirect_all_calls): During inlining - clean up EH stmts and EH edges if redirect_call_stmt_to_callee - changed the stmt to a non-throwing call. - -2015-01-05 Sandra Loosemore - - * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp, - etc markup throughout the file. - -2015-01-05 Bernd Edlinger - - Enable experimental TSAN support for Ada. - * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR. - -2015-01-05 Jakub Jelinek - - PR tree-optimization/64494 - * tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also - clear SSA_NAME_ANTI_RANGE_P flag. - -2015-01-05 Marek Polacek - - * doc/extend.texi (Arrays of Length Zero): Add missing comma. - -2015-01-05 Jakub Jelinek - - Update copyright years. - - * gcc.c (process_command): Update copyright notice dates. - * gcov-dump.c: Ditto. - * gcov.c: Ditto. - * doc/cpp.texi: Bump @copying's copyright year. - * doc/cppinternals.texi: Ditto. - * doc/gcc.texi: Ditto. - * doc/gccint.texi: Ditto. - * doc/gcov.texi: Ditto. - * doc/install.texi: Ditto. - * doc/invoke.texi: Ditto. - - * auto-profile.c, auto-profile.h: Fix up Copyright line. - -2015-01-04 Sandra Loosemore - - * doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix - verb tense, etc. - ([-fvtable-verify], [-fvtv-debug]): Likewise. - ([-Wabi]): Likewise. - ([-fmessage-length]): Likewise. - ([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise. - ([-Wno-discarded-qualifiers]): Likewise. - ([-Wnodiscarded-array-qualifiers]): Likewise. - ([-Wno-virtual-move-assign]): Likewise. - ([-fsanitize=address], [-fsanitize=thread]): Likewise. - ([-fsanitize=leak], [-fsanitize=undefined]): Likewise. - ([-fsanitize=unreachable], [-fsanitize-recover]): Likewise. - ([-fsanitize-undefined-trap-on-error]): Likewise. - ([-floop-interchange]): Likewise. - ([-ftree-coalesce-inlined-vars]): Likewise. - ([-fvect-cost-model]): Likewise. - ([-flto]): Likewise. - ([--param]): Likewise. - (Spec Files): Likewise. - ([-mstrict-align]): Likewise. - ([-mfix-cortex-a53-835769]): Likewise. - ([-march], [-mtune]): Likewise. - ([-mpic-register]): Likewise. - ([-munaligned-access]): Likewise. - ([-msp8]): Likewise. - (EIND and Devices with more than 128 Ki Bytes of Flash): Likewise. - (AVR Built-in Macros): Likewise. - ([-mpreferred-stack-boundary]): Likewise. - ([-mtune-crtl]): Likewise. - ([-mashf]): Likewise. - ([-mmcu=]): Likewise. - ([-minrt]): Likewise. - ([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise. - ([-mupper-regs]): Likewise. - ([-matomic-model]): Likewise. - ([-mdiv]): Likewise. - ([-mzdcbranch]): Likewise. - ([-mdisable-callt]): Likewise. - ([-msoft-float]): Likewise. - ([-m8byte-align]): Likewise. - ([-fstack-reuse]): Likewise. - -2015-01-03 Sandra Loosemore - - * doc/invoke.texi ([-fprofile-generate], [-fprofile-use]): - Fix markup, light copy-editing. - ([-fauto-profile]): Rewrite to fix formatting and content - problems. - -2015-01-03 Sandra Loosemore - - * doc/invoke.texi ([-fisolate-erroneous-paths-dereference]): - Copy-edit description. - ([-fisolate-erroneous-paths-attribute]): Likewise. - * common.opt (fisolate-erroneous-paths-dereference): - Copy-edit description. - (fisolate-erroneous-paths-attribute): Likewise. - -2015-01-03 Sandra Loosemore - - * doc/invoke.texi ([-fsemantic-interposition]): Fix typos and - tidy grammar. - -2015-01-03 Sandra Loosemore - - * doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex. - ([-fvtv-debug]): Likewise. - ([-Wc++-compat]): Likewise. - ([-Wc++11-compat]): Likewise. - ([-Wc++14-compat]): Likewise. - ([-Wno-sized-deallocation]): Likewise. - ([-femit-class-debug-always]): Likewise. - ([-femit-struct-debug-detailed]): Likewise. - ([-fno-keep-inline-dllexport]): Likewise. - ([-fira-algorithm]): Likewise. - ([-fira-region]): Likewise. - ([-flra-remat]): Likewise. - ([-fipa-ra]): Likewise. - ([-fhoist-adjacent-loads]): Likewise. - ([-fisolate-erroneous-paths-dereference]): Likewise. - ([-fisolate-erroneous-paths-attribute]): Likewise. - ([-ftree-switch-conversion]): Likewise. - ([-ftree-tail-merge]): Likewise. - ([-ftree-loop-if-convert]): Likewise. - ([-ftree-loop-if-convert-stores]): Likewise. - ([-ftree-loop-distribution]): Likewise. - ([-ftree-loop-distribute-patterns]): Likewise. - ([-flto-compression-level]): Likewise. - ([-flto-report]): Likewise. - ([-flto-report-wpa]): Likewise. - ([-fuse-linker-plugin]): Likewise. - ([-mfix-cortex-a53-835769]): Likewise. - ([-mno-fix-cortex-a53-835769]): Likewise. - ([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the - explicit listing; add a note to the discussion indicating they - exist. Reorder table to group similar options. Add missing - @opindex entries. Add @need commands throughout the table to - allow it to be split across multiple pages. - ([-m8bit-idiv]): Fix @opindex. - ([-mavx256-split-unaligned-load]): Likewise. - ([-mavx256-split-unaligned-store]): Likewise. - ([-mstack-protector-guard]): Likewise. - ([-mcpu=]): Likewise. - ([-mcpu]): Likewise. - ([-mpointer-size=]): Likewise. - -2015-01-03 John David Anglin - - * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint - instead of `m' constraint. Likewise for unnamed movb comparison - patterns using reg_before_reload_operand predicate. - * config/pa/predicates.md (reg_before_reload_operand): Tighten - predicate to reject register index and LO_SUM DLT memory forms - after reload. - -2015-01-02 Sandra Loosemore - - * doc/invoke.texi (Option Summary): Fix spelling of - -fdevirtualize-at-ltrans. - ([-fdevirtualize]): Fix markup. - ([-fdevirtualize-speculatively]): Fix typo. - ([-fdevirtualize-at-ltrans]): Likewise. Make description less - implementor-speaky. - * common.opt (fdevirtualize-at-ltrans): Likewise. - * ipa-devirt.c: Fix typos in comments throughout the file. - (ipa_devirt): Fix typos in format strings for dump output. - -2015-01-02 Sandra Loosemore - - * doc/invoke.texi ([-fopt-info]): Fix markup, consolidate - discussion of defaults, light copy-editing. - -2015-01-02 Bernd Edlinger - - * tsan.c (instrument_expr): corrected previous checkin. - -2015-01-02 Bernd Edlinger - - Instrument bit field and unaligned accesses for TSAN. - * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function. - (BUILT_IN_TSAN_WRITE_RANGE): New built-in function. - * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF. - Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for - unaligned memory regions. - -2015-01-01 Anthony Green - - * config/moxie/predicates.md (moxie_general_movsrc_operand): - Restrict move source register offsets to 16 bits. -Copyright (C) 2015 Free Software Foundation, Inc. +Copyright (C) 2016 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/gcc/ChangeLog-2015 b/gcc/ChangeLog-2015 new file mode 100644 index 00000000000..332523c6242 --- /dev/null +++ b/gcc/ChangeLog-2015 @@ -0,0 +1,44748 @@ +2015-12-30 Nathan Sidwell + + * config/nvptx/nvptx.c (nvptx_assemble_undefined_decl): Check + it's not a constant pool object. + +2015-12-29 Michael Meissner + + * config/rs6000/rs6000.c (init_float128_ieee): Remove IEEE 128-bit + comparison functions in cmp_optab and ucmp_optab. + (rs6000_generate_compare): Rewrite IEEE 128-bit floating point + software emulation comparisons to only use __eqkf2, __gekf2, + __lekf2, and __unordkf2 functions. + (rs6000_invalid_binary_op): Add support for -mfloat128-convert. + + * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define + __FLOAT128_HARDWARE__ if hardware IEEE 128-bit support is + available. + + * config/rs6000/rs6000.opt (-mfloat128-convert): Add debug switch + to allow IBM extended double and IEEE 128-bit floating point to be + converted with default conversions. + + * config/rs6000/rs6000.md (extendkftf2): Add converters between + KFmode and TFmode if -mabi=ieeelongdouble. + (trunctfkf2): Likewise. + (ieee128_mfvsrd): Split 64-bit integer conversions into 32-bit and + 64-bit insns. + (ieee128_mfvsrd_64bit): Likewise. + (ieee128_mfvsrd_32bit): Likewise. + (ieee128_mtvsrd): Likewise. + (ieee128_mtvsrd_64bit): Likewise. + (ieee128_mtvsrd_32bit): Likewise. + + * doc/extend.texi (Floating Types): Document that complex + __float128 does not work currently. + + * doc/invoke.texi (RS/6000 and PowerPC Options): Document that + -mfloat128 is only supported on PowerPC 64-bit Linux systems. + +2015-12-28 Bill Schmidt + + * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Verify that + this is never called when lxvx/stxvx are available. + (pass_analyze_swaps::gate): Don't perform swap optimization when + lxvx/stxvx are available. + * config/rs6000/vector.md (mov): Don't call + rs6000_emit_le_vsx_move when lxvx/stxvx are available. + * config/rs6000/vsx.md (*p9_vecload_): New define_insn. + (*p9_vecstore_): Likewise. + (*vsx_le_perm_load_:VSX_LE): Disable when lxvx/stxvx are + available. + (*vsx_le_perm_load_:VSX_W): Likewise. + (*vsx_le_perm_load_v8hi): Likewise. + (*vsx_le_perm_load_v16qi): Likewise. + (*vsx_le_perm_store_:VSX_LE): Likewise. + ([related define_splits]): Likewise. + (*vsx_le_perm_store_:VSX_W): Likewise. + ([related define_splits]): Likewise. + (*vsx_le_perm_store_v8hi): Likewise. + ([related define_splits]): Likewise. + (*vsx_le_perm_store_v16qi): Likewise. + ([related define_splits]): Likewise. + (*vsx_lxvd2x2_le_): Likewise. + (*vsx_lxvd2x4_le_): Likewise. + (*vsx_lxvd2x8_le_V8HI): Likewise. + (*vsx_lvxd2x16_le_V16QI): Likewise. + (*vsx_stxvd2x2_le_): Likewise. + (*vsx_stxvd2x4_le_): Likewise. + (*vsx_stxvd2x8_le_V8HI): Likewise. + (*vsx_stxvdx16_le_V16QI): Likewise. + ([define_peepholes for vector load fusion]): Likewise. + +2015-12-28 Nathan Sidwell + + * config/nvptx/nvptx.c (nvptx_output_call_insn): Expect hard regs. + * config/nvptx/nvptx.md (nvptx_reg_or_mem_operand): Rename to ... + (nvptx_nonimmediate_operand): ... here. Update all uses. + (call_insn_operand): Use REG_P. + (call_operation): Allow hard regs. + +2015-12-25 Jan Hubicka + + * ipa-visibility.c (function_and_variable_visibility): Do not + dissolve comdat groups when in LTO mode. + +2015-12-25 Andreas Tobler + + * config/rs6000/freebsd64.h: Delete FREEBSD_DYNAMIC_LINKER32/64 + defines. Use FBSD_DYNAMIC_LINKER instead. + Rename and simplify LINK_OS_FREEBSD_SPEC_DEF32/64 to + LINK_OS_FREEBSD_SPEC_DEF. + +2015-12-24 Aditya Kumar + + * graphite-sese-to-poly.c (build_loop_iteration_domains): Use ref instead of value. + * sese.c (invariant_in_sese_p_rec): Use const ref instead of value. + (scalar_evolution_in_region): Same + * sese.h (bb_in_region): Same + (bb_in_sese_p): Same. + (stmt_in_sese_p): Same. + (defined_in_sese_p): Same. + (loop_in_sese_p): Same. + +2015-12-24 Aditya Kumar + + * graphite-scop-detection.c + (scop_detection::get_nearest_dom_with_single_entry): Check l == l2. + (scop_detection::get_nearest_pdom_with_single_exit): Same. + (scop_detection::merge_sese): Whitespace. + (scop_detection::add_scop): Comment. + (build_scops): Whitespace. + +2015-12-24 Kirill Yukhin + + * common/config/i386/i386-common.c (OPTION_MASK_ISA_PKU_SET): New. + (OPTION_MASK_ISA_PKU_UNSET): Ditto. + (ix86_handle_option): Handle OPT_mpku. + * config.gcc: Add pkuintrin.h to i[34567]86-*-* and x86_64-*-* + targets. + * config/i386/cpuid.h (host_detect_local_cpu): Detect PKU feature. + * config/i386/i386-c.c (ix86_target_macros_internal): Handle PKU ISA + flag. + * config/i386/i386.c (ix86_target_string): Add "-mpku" to + ix86_target_opts. + (ix86_option_override_internal): Define PTA_PKU, mention new key + in skylake-avx512. Handle new ISA bits. + (ix86_valid_target_attribute_inner_p): Add "pku". + (enum ix86_builtins): Add IX86_BUILTIN_RDPKRU and IX86_BUILTIN_WRPKRU. + (builtin_description bdesc_special_args[]): Add new built-ins. + * config/i386/i386.h (define TARGET_PKU): New. + (define TARGET_PKU_P): Ditto. + * config/i386/i386.md (define_c_enum "unspecv"): Add UNSPEC_PKU. + (define_expand "rdpkru"): New. + (define_insn "*rdpkru"): Ditto. + (define_expand "wrpkru"): Ditto. + (define_insn "*wrpkru"): Ditto. + * config/i386/i386.opt (mpku): Ditto. + * config/i386/pkuintrin.h: New file. + * config/i386/x86intrin.h: Include pkuintrin.h + * doc/extend.texi: Describe new built-ins. + * doc/invoke.texi: Describe new switches. + +2015-12-23 Richard Henderson + + PR ipa/67811 + * tree-cfg.c (make_edges_bb): Add abort edge for outer transactions. + +2015-12-23 Nathan Sidwell + + * cgraph.h (decl_in_symtab_p): Revert check DECL_IN_CONSTANT_POOL. + +2015-12-23 Nathan Sidwell + + * config/nvptx/nvptx-protos.h + (nvptx_maybe_convert_symbolic_operand): Delete prototype. + * config/nvptx/nvptx.c (nvptx_maybe_convert_symbolic_operand): Delete. + (nvptx_output_mov_insn): Record fnsym here. + (nvptx_wpropagate): Don't create UNSPEC_TO_GENERIC unspec. + * config/nvptx/nvptx.md (UNSPEC_TO_GENERIC): Delete. + (symbolic_operand): Delete predicate. + (nvptx_nonimmediate_operand): Delete predicate. + (mov): Hard regs are perfectly ok here. + (convaddr_): Delete. + +2015-12-23 Nathan Sidwell + + * alias.c (compare_base_decls): Simplify in-symtab check. + * cgraph.h (decl_in_symtab_p): Check DECL_IN_CONSTANT_POOL. + +2015-12-23 Dominik Vogt + + * config/s390/predicates.md ("larl_operand"): Remove now superfluous + const_int and const_double. + * genrecog.c (safe_predicate_mode): Return false for VOIDmode + LABEL_REFs even if the predicate does not handle const_int, + const_double or const_wide_int. + * genpreds.c (add_mode_tests): Treat LABEL_REF like CONST_INT. + +2015-12-23 Thomas Schwinge + + * tree-core.h (enum omp_clause_code): Merge OMP_CLAUSE_USE_DEVICE + into OMP_CLAUSE_USE_DEVICE_PTR. Adjust all users. + +2015-12-23 David Sherwood + + * config/arm/iterators.md (VMAXMINFNM): New int iterator. + (fmaxmin): New int attribute. + (fmaxmin_op): Likewise. + * config/arm/unspecs.md (UNSPEC_VMAXNM): New unspec. + (UNSPEC_VMINNM): Likewise. + * config/arm/neon.md (fmaxmin): New pattern. + * config/arm/vfp.md (fmaxmin): Likewise. + +2015-12-23 H.J. Lu + + PR target/66232 + * config/i386/constraints.md (Bs): Allow GOT slot for x32 with + 64-bit Pmode. + (Bw): Likewise. + (Bz): Likewise. + * config/i386/predicates.md (call_insn_operand): Likewise. + (sibcall_insn_operand): Likewise. + +2015-12-22 David Malcolm + + PR c/68473 + * diagnostic-show-locus.c (layout::layout): Make loc_range const. + Sanitize the layout_range against ranges that finish before they + start. + +2015-12-22 Jeff Law + + * gimple-ssa-split-paths.c (split_paths): Avoid unnecessary block + copying. + +2015-12-22 Jakub Jelinek + + PR c++/67376 + * fold-const.c (size_low_cst): Removed. + (fold_comparison): For POINTER_PLUS_EXPR where base is ADDR_EXPR + call get_inner_reference and handle INDIRECT_REF base of it. Use + offset_int for computation of the bitpos. + (fold_binary_loc) : Formatting + fixes for X +- Y CMP X and C - X CMP X folding. Add X CMP X +- Y + and X CMP C - X folding. + +2015-12-22 Richard Henderson + + PR ipa/67811 + * gimple.h (struct gtransaction): Add label_norm, label_uninst; + replace label with label_over. + (gimple_build_transaction): Remove label parameter. + (gimple_transaction_label_norm): New. + (gimple_transaction_label_uninst): New. + (gimple_transaction_label_over): Rename from gimple_transaction_label. + (gimple_transaction_label_norm_ptr): New. + (gimple_transaction_label_uninst_ptr): New. + (gimple_transaction_label_over_ptr): Rename from + gimple_transaction_label_ptr. + (gimple_transaction_set_label_norm): New. + (gimple_transaction_set_label_uninst): New. + (gimple_transaction_set_label_over): Rename from + gimple_transaction_set_label. + * gimple-pretty-print.c (dump_gimple_transaction): Update. + * gimple-streamer-in.c (input_gimple_stmt) [GIMPLE_TRANSACTION]: Same. + * gimple-streamer-out.c (output_gimple_stmt) [GIMPLE_TRANSACTION]: Same. + * gimple-walk.c (walk_gimple_op) [GIMPLE_TRANSACTION]: Same. + * tree-cfg.c (make_edges_bb) [GIMPLE_TRANSACTION]: Same. + (cleanup_dead_labels) [GIMPLE_TRANSACTION]: Same. + (verify_gimple_transaction): Same. + (gimple_redirect_edge_and_branch) [GIMPLE_TRANSACTION]: Same. + * tree-inline.c (remap_gimple_stmt) [GIMPLE_TRANSACTION]: Same. + * gimple.c (gimple_build_transaction): Remove label parameter; + initialize all three label memebers. + * gimplify.c (gimplify_transaction): Update call + to gimple_build_transaction. + * trans-mem.c (make_tm_uninst): New. + (lower_transaction): Create uninstrumented code path here... + (ipa_tm_scan_calls_transaction): ... not here. + (ipa_uninstrument_transaction): Remove. + + * tree-eh.c (honor_protect_cleanup_actions): Do not wrap eh_else + in a must-not-throw; set ehp_region for it too. + +2015-12-22 Peter Bergner + + PR target/68872 + * config/rs6000/rs6000.h (ASM_CPU_SPEC): For -mcpu=powerpc64le, + pass %(asm_cpu_power8). + +2015-12-22 H.J. Lu + + PR target/68937 + * config/i386/i386.c (ix86_function_ok_for_sibcall): Count + call to global function via GOT slot as indirect call. + * config/i386/i386.md (*sibcall_GOT_32): New pattern. + (*sibcall_value_GOT_32): Likewise. + * config/i386/predicates.md (sibcall_memory_operand): Rewrite. + Allow 32-bit GOT slot only with pseudo register as GOT base. + (GOT32_symbol_operand): New predicate. + +2015-12-22 Sujoy Saraswati + + * fold-const.c (const_binop): Convert sNaN to qNaN when + flag_signaling_nans is off. + (const_unop): Avoid the operation, other than NEGATE and + ABS, if flag_signaling_nans is on and the operand is an sNaN. + (fold_convert_const_real_from_real): Avoid the operation if + flag_signaling_nans is on and the operand is an sNaN. + (integer_valued_real_unary_p): Update comment stating it + returns false for sNaN values. + (integer_valued_real_binary_p, integer_valued_real_call_p): Same. + (integer_valued_real_single_p): Same. + (integer_valued_real_invalid_p, integer_valued_real_p): Same. + * fold-const-call.c (fold_const_pow): Avoid the operation + if flag_signaling_nans is on and the operand is an sNaN. + (fold_const_builtin_load_exponent) Same. + (fold_const_call_sss): Same for CASE_CFN_POWI. + * gimple-fold.c (gimple_assign_integer_valued_real_p): Same. + (gimple_call_integer_valued_real_p): Same. + (gimple_phi_integer_valued_real_p): Same. + (gimple_stmt_integer_valued_real_p): Same. + * simplify-rtx.c (simplify_const_unary_operation): Avoid the + operation if flag_signaling_nans is on and the operand is an sNaN. + (simplify_const_binary_operation): Same. + * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Avoid the + operation if flag_signaling_nans is on and the operand is an sNaN. + +2015-12-22 Kyrylo Tkachov + + * combine.c (simplify_comparison): Convert preprocessor check of + WORD_REGISTER_OPERATIONS into runtime check. + +2015-12-22 Eric Botcazou + + PR debug/60756 + * var-tracking.c (tracked_record_parameter_p): New predicate. + (track_expr_p): Invoke it. + (add_stores): Likewise. + +2015-12-21 Jeff Law + + * dbgcnt.def (dom_unreachable_edges): New debug counter. + * tree-ssa-dom.c: Include dbgcnt.h + (dom_opt_dom_walker::before_dom_children): Handle the new counter. + +2015-12-21 Andrew Pinski + + * config/aarch64/aarch64-option-extensions.def (LSE): Change + FEAT_STRING to "atomics". + +2015-12-21 Pierre-Marie de Rodat + + * dwarf2out.c (add_data_member_location_attribute): Do not + disable dynamic data member offsets descriptions for TREE_BINFO + members. + +2015-12-21 Eric Botcazou + + PR tree-optimization/65337 + * tree-ssa-pre.c (eliminate): Also clean up abnormal edges if need be. + +2015-12-21 Dominik Vogt + + * config/s390/s390.c (s390_emit_prologue): Fix base reg condition. + +2015-12-21 Claudiu Zissulescu + + * config/arc/builtins.def: New file. + * config/arc/arc.c (arc_init_simd_builtins): Remove. + (arc_builtins): Likewise. + (TARGET_BUILTIN_DECL): Define. + (arc_builtin_id): New enum. + (arc_builtin_description): New structure. + (arc_bdesc): New variable. + (arc_tolower): New function. + (def_mbuiltin): Remove. + (arc_builtin_decl): New function. + (arc_expand_builtin_aligned ): Likewise. + (apply_GEN_FCN): Likewise. + (arc_init_builtins): Refurbish. + (arc_expand_builtin): Likewise. + (simd_insn_args_type): Remove. + (builtin_description): Likewise + (arc_simd_builtin_desc_list): Likewise. + (arc_expand_simd_builtin): Likewise. + (arc_process_double_reg_moves): Use the new builtin name format. + * config/arc/arc.md (unspec): New builtin function UNSPEC codes. + (vunspec): New builtin function VUNSPEC codes. + (UNSPEC_SWAP, UNSPEC_MUL64, UNSPEC_MULU64, UNSPEC_DIVAW) + (UNSPEC_DIRECT, UNSPEC_LP, UNSPEC_CASESI, VUNSPEC_RTIE) + (VUNSPEC_SYNC, VUNSPEC_BRK, VUNSPEC_FLAG, VUNSPEC_SLEEP) + (VUNSPEC_SWI, VUNSPEC_CORE_READ, VUNSPEC_CORE_WRITE, VUNSPEC_LR) + (VUNSPEC_SR, VUNSPEC_TRAP_S, VUNSPEC_UNIMP_S, VUNSPEC_NOP) + (UNSPEC_ARC_MEMBAR,VUNSPEC_ARC_CAS, VUNSPEC_ARC_LL) + (VUNSPEC_ARC_SC, VUNSPEC_ARC_EX, VUNSPEC_DEXCL) + (VUNSPEC_DEXCL_NORES, VUNSPEC_LR_HIGH): Remove. + (mul64, mulu64): Remove patterns. + (store_direct, *movdf_insn_nolrsr, casesi, casesi_load) + (casesi_compact_jump, nopv, swap, divaw, flag, brk, rtie, sync) + (swi, sleep, core_read, core_write, lr, sr, trap_s, unimp_s) + (doloop_begin_i): Use new builtin function code naming. + (kflag, clri, ffs, ffs_f, ffssi2, fls, seti): New patterns. + * config/arc/builtins.def: New file. + * config/arc/fpx.md: Use new builtin function code naming. + * config/arc/simdext.md: New SIMD builtin function UNSPEC + codes. Use them in the SIMD patterns. + +2015-12-21 Sujoy Saraswati + + PR tree-optimization/61441 + * real.c (do_add): Make resulting NaN value to be qNaN. + (do_multiply, do_divide, do_fix_trunc): Same. + (real_arithmetic, real_ldexp, real_convert): Same. + (real_isinteger): Updated comment stating it returns false for sNaN. + +2015-12-20 Jeff Law + + PR tree-optimization/64910 + * config/i386/i386.md (testqi_ext_3): Allow HImode. + +2015-12-20 Andrew Pinsi + + * config/aarch64/atomics.md + (aarch64_atomic__fetch_lse): Add early clobber + to the scratch register. + +2015-12-20 Sujoy Saraswati + + PR tree-optimization/61441 + * match.pd (f(x) -> x): Removed flag_errno_math check for RINT. + +2015-12-20 Sujoy Saraswati + + PR tree-optimization/61441 + * fold-const.c (const_binop): Use REAL_VALUE_ISSIGNALING_NAN instead + of REAL_VALUE_ISNAN to avoid the operation for sNaN operands. + * simplify-rtx.c (simplify_const_binary_operation): Same. + +2015-12-19 Jan Hubicka + + PR tree-optimization/65337 + * tree-ssa-dce.c (bb_postorder): New static var. + (mark_stmt_necessary): Add guard for setting bb_contains_live_stmts. + (forward_edge_to_pdom): Remove. + (remove_dead_stmt): Instead of redirecting edges only keep an edge + on a path to nearest live BB. + (eliminate_unnecessary_stmts): Free bb_postorder. + * cfganal.c (dfs_find_deadend): Add START_POINTES. + * cfganal.h (inverted_post_order_compute): Update prototype. + +2015-12-19 Eric Botcazou + + PR rtl-optimization/68910 + * emit-rtl.c (set_unique_reg_note) : Add bypass for USEs. + * config/sparc/sparc.md (anddi3): Enable only in 64-bit mode. + (iordi3): Likewise. + (xordi3): Likewise. + (one_cmpldi2): Likewise. + (*anddi3_sp32): Delete. + (*and_not_di_sp32): Likewise. + (*iordi3_sp32): Likewise. + (*or_not_di_sp32): Likewise. + (*xordi3_sp32): Likewise. + (*xor_not_di_sp32): Likewise. + (32-bit DImode logical operations splitter): Likewise. + (*one_cmpldi2_sp32): Likewise. + +2015-12-19 Andrew Burgess + + * config/arc/arc.md (*storeqi_update): Use 'any_mem_operand' and + fix RTL pattern to include the plus. + (*storehi_update): Likewise. + (*storesi_update): Likewise. + (*storesf_update): Likewise. + * config/arc/predicates.md (store_update_operand): Delete. + +2015-12-19 Andrew Burgess + + * config/arc/arc.md (*loadqi_update): Use new 'any_mem_operand' + and fix RTL pattern to include the plus. + (*load_zeroextendqisi_update): Likewise. + (*load_signextendqisi_update): Likewise. + (*loadhi_update): Likewise. + (*load_zeroextendhisi_update): Likewise. + (*load_signextendhisi_update): Likewise. + (*loadsi_update): Likewise. + (*loadsf_update): Likewise. + * config/arc/predicates.md (load_update_operand): Delete. + (any_mem_operand): New predicate. + +2015-12-19 Sujoy Saraswati + + PR tree-optimization/61441 + * real.c (real_issignaling_nan): New. + * real.h (real_issignaling_nan, REAL_VALUE_ISSIGNALING_NAN): New. + +2015-13-18 John David Anglin + + PR target/68729 + * config/pa/pa.c (pa_emit_move_sequence): Reorganize handling of + floating-point reloads. Only reload operands that are not valid + floating-point memory operands. + +2015-12-18 Jakub Jelinek + + PR debug/68860 + * ipa-split.c (split_function): Only perform caller side + modifications for decl_debug_args here. + * cgraph.c: Include gimplify.h. + (cgraph_edge::redirect_call_stmt_to_callee): Add caller side + debug stmts for decl_debug_args. Spelling fix in a comment. + * tree-inline.c (tree_function_versioning): Populate decl_debug_args + for args_to_skip arguments and add callee side debug stmts. + Formatting fixes. Avoid shadowing i variable. + +2015-12-18 Nathan Sidwell + + * config/nvptx/nvptx.c (nvptx_maybe_convert_symbolic_operand): + Remove UNSPEC_TO_GENERIC generation. + (nvptx_output_mov_insn): Generate cvta for symbolic src. + * config/nvptx/nvptx.md (nvptx_register_operand): Allow hard reg. + (nvptx_reg_or_mem_operand): Likewise. + (nvptx_nonmemory_operand): Likewise. + (nvptx_general_operand): Delete. + (*mov_insn): Use nonimmediate_operand, permit hardregs. + (oacc_fork, oacc_join): Use general_operand. + +2015-12-18 Daniel Kahn Gillmor + + * dwarf2out.c (gen_producer_string): Ignore -fdebug-prefix-map. + +2015-12-18 Nathan Sidwell + + * config/nvptx/nvptx.c (nvptx_option_override): Emit sorry for + stabs debug. + (nvptx_assemble_undefined_decl): Use nvptx_assemble_decl_end. + +2015-12-18 Jeff Law + + PR rtl-optimization/49847 + * cse.c (record_jump_equiv): Handle fold_rtx returning NULL_RTX. + +2015-12-18 Nathan Sidwell + + * config/nvptx/nvptx.c (worker_bcast_name, worker_red_name): Delete. + (nvptx_option_override): Adjust worker symbol creation. + (nvptx_gen_wcast): Wrap worker address in UNSPEC_TO_GENERIC. + (write_worker_buffer): New. + (nvptx_file_end): Call write_worker_buffer. + * config/nvptx/nvptx.md (UNSPEC_SHARED_DATA): Delete. + (worker_load, worker_store): Delete. + +2015-12-18 Richard Biener + + PR testsuite/68776 + * tree-vect-patterns.c (struct vect_recog_func): New. + (vect_vect_recog_func_ptrs): Make an array of function name pairs. + (vect_pattern_recog_1): Print the recognized pattern name. Return + true if a pattern was recognized. + (vect_pattern_recog): Adjust. Stop iterating over pattern recognition + functions on a stmt if a pattern was recognized. + +2015-12-18 Andreas Krebbel + + * ira.c (ira_setup_alts): Move the scan for commutative modifier + to the first loop to make it work even with disabled alternatives. + +2015-12-18 Dominik Vogt + + * config/s390/s390.c (s390_init_frame_layout): Try r4 to r2 for the + literal pool pointer. + +2015-12-18 Yuri Rumyantsev + + PR tree-optimization/68906 + * tree-ssa-loop-unswitch.c (tree_unswitch_outer_loop): Add check + that an exit block belongs to LOOP. + +2015-12-18 Ilya Enkovich + + PR tree-optimization/68956 + * tree-vect-stmts.c (vect_init_vector): Fix constants + used for boolean vectors. + +2015-12-18 Kyrylo Tkachov + + PR rtl-optimization/68796 + * config/aarch64/aarch64.md (*and3nr_compare0_zextract): + New pattern. + * config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle + ZERO_EXTRACT comparison with zero. + (aarch64_mask_from_zextract_ops): New function. + * config/aarch64/aarch64-protos.h (aarch64_mask_from_zextract_ops): + New prototype. + +2015-12-18 Robin Dapp + + * config/s390/predicates.md: Change and rename + constm1_operand to all_ones_operand + * config/s390/s390.c (s390_expand_vcond): Use all_ones_operand + * config/s390/vector.md: Likewise + +2015-12-18 Robin Dapp + + * config/s390/s390.c (s390_expand_vcond): Convert vector + conditional into shift. + * config/s390/vector.md: Change operand predicate. + +2015-12-18 Andreas Krebbel + + * config/s390/driver-native.c (s390_host_detect_local_cpu): Pick + z900 -march -mtune even on g5 and g6 machines. + * config/s390/s390.c (s390_option_override_internal): New argument + to distingiush between options and target attributes. Emit + deprecation warning for g5 and g6 arch/tune options. + (s390_option_override): Set new s390_option_override_internal + argument to true. + (s390_valid_target_attribute_tree): Set new + s390_option_override_internal argument to false. + * config/s390/s390.h: Default to z900 in the driver. + * doc/invoke.texi: Document the deprecation of g5 and g6. + +2015-12-18 Andris Pavenis + + * config/i386/djgpp-stdint.h: update typedefs for integer types + +2015-12-17 Jeff Law + + * passes.def: Put the split-paths pass immediately before the + tracer pass. + + * doc/invoke.texi (-O2 options): Remove -fsplit-paths. + (-O3 options): Add -fsplit-paths. + * gimple-ssa-split-paths.c: Include predict.h + (split_paths): Only split paths in a loop that should be + optimized for speed. + * opts.c (default_options_table): Move -fsplit-paths from -O2 to + -O3. + +2015-12-17 Nathan Sidwell + + * ipa-icf.c (sem_item_optimizer::merge): Don't pick 'main' as the + source function. + +2015-12-17 Sebastian Pop + + * Makefile.in: Replace ISL with isl. + * common.opt: Same. + * configure: Regenerate. + * configure.ac: Same. + * doc/install.texi: Same. + * doc/invoke.texi: Same. + * graphite-isl-ast-to-gimple.c: Same. + * graphite-scop-detection.c: Same. + * graphite-sese-to-poly.c: Same. + * graphite.c: Same. + * graphite.h: Same. + * params.def: Same. + * testsuite/gcc.dg/graphite/fuse-1.c: Same. + * testsuite/gcc.dg/graphite/fuse-2.c: Same. + * testsuite/gcc.dg/graphite/interchange-1.c: Same. + * testsuite/gcc.dg/graphite/pr35356-1.c: Same. + * toplev.c: Same. + +2015-12-17 Sebastian Pop + + * graphite-dependences.c: Move all isl include files to... + * graphite-isl-ast-to-gimple.c: Same. + * graphite-optimize-isl.c: Same. + * graphite-poly.c: Same. + * graphite-scop-detection.c: Same. + * graphite.c: Same. + * graphite.h: ... here. + +2015-12-17 Senthil Kumar Selvaraj + + * config/avr/avr.h (MOVE_MAX): Set value to 1. + (MOVE_MAX_PIECES): Define. + (MOVE_RATIO): Define. + * config/avr/avr.c (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): + Provide target hook. + (avr_use_by_pieces_infrastructure_p): New function. + +2015-12-17 Trevor Saunders + + * config.gcc: mark *-interix* as obsolete. + +2015-12-17 Trevor Saunders + + * config.gcc: Mark openbsd 2.0 and 3.X as obsolete. + +2015-12-17 Trevor Saunders + + * config.gcc: Mark knetbsd targets as obsolete. + +2015-12-17 Nathan Sidwell + + * config/nvptx/nvptx.h (NVPTX_RETURN_REGNUM, FRAME_POINTER_REGNUM, + ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Renumber. + (REGISTER_NAMES): Update and rename. + (FIXED_REGISTERS, CALL_USED_REGISTERS): Update. + (enum_reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Reformat. + +2015-12-17 Richard Biener + + PR tree-optimization/68946 + * tree-vect-slp.c (vect_slp_analyze_node_operations): Push + SLP def type to stmt operands one stmt at a time. + +2015-12-17 Pierre-Marie de Rodat + + * langhooks.h (struct lang_hooks_for_types): New get_bias_field. + * langhooks-def.h (LANG_HOOKS_GET_TYPE_BIAS): New. + (LANG_HOOKS_FOR_TYPES_INITIALIZER): Initialize the + get_bias_field. + * dwarf2out.c + (base_type_die): In non-strict DWARF mode, invoke the + get_type_bias language hook for INTEGER_TYPE nodes. If it + returns a bias, emit an attribute for it. + (subrange_type_die): Change signature to handle bias. If + non-strict DWARF mode, emit an attribute for it, if one passed. + (modified_type_die): For subrange types, invoke the + get_type_bias langage hook and pass the bias to + subrange_type_die. + +2015-12-17 Pierre-Marie de Rodat + + * dwarf2out.h (DWARF2OUT_ARRAY_DESCR_INFO_MAX_DIMEN): New macro. + (struct array_descr_info): Use it for the dimensions array's + size. + * dwarf2out.c (gen_type_die_with_usage): Check that the array + descr. language hook does not return an array with more + dimensions that it should. + +2015-12-17 Pierre-Marie de Rodat + + * langhooks.h (struct lang_hooks_for_types): Add a + get_fixed_point_type_info field. + * langhooks-def.h (LANG_HOOKS_GET_FIXED_POINT_TYPE_INFO): New + macro. + (LANG_HOOKS_FOR_TYPES_INITIALIZER): Initialize the + get_fixed_point_type_info field. + * dwarf2out.h (enum fixed_point_scale_factor): New. + (struct fixed_point_type_info): New. + * dwarf2out.c (base_type_die): In DWARFv3 or non-strict DWARF + mode, get fixed-point type information using the debugging hook + and describe it in DWARF, if any. + +2015-12-17 Pierre-Marie de Rodat + + * langhooks.h (struct lang_hooks_for_types): Add a + get_debug_type field. + * langhooks-def.h (LANG_HOOKS_GET_DEBUG_TYPE): New macro. + (LANG_HOOKS_FOR_TYPES_INITIALIZER): Initialize the + get_debug_type field. + * dwarf2out.h (struct array_descr_info): Add an array-wide + stride field. + * dwarf2out.c (modified_type_die): Invoke the get_debug_type + language hook, process its result instead, if any. + (gen_descr_array_type_die): Add array-wide stride processing. + +2015-12-17 Pierre-Marie de Rodat + + * debug.h (struct gcc_debug_hooks): Add a new size_function + hook. + * debug.c (do_nothing_debug_hooks): Set the size_function field + to no-op. + * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise. + * sdbout.c (sdb_debug_hooks): Likewise. + * vmsdbgout.c (vmsdbg_debug_hooks): Likewise. + * stor-layout.c (finalize_size_functions): Let the debug info + back-end know about the implementation of size functions. + * dwarf2out.h (dw_discr_list_ref): New typedef. + (enum dw_val_class): Add value classes for discriminant values + and discriminant lists. + (struct dw_discr_value): New structure. + (struct dw_val_node): Add discriminant values and discriminant + lists to the union. + (struct dw_loc_descr_node): Add frame_offset_rel and + dw_loc_frame_offset (only for checking) fields to handle DWARF + procedures generation. + (struct dw_discr_list_node): New structure. + * dwarf2out.c (dwarf2out_size_function): New. + (dwarf2_debug_hooks): Set the size_function field to + dwarf2out_size_function. + (dwarf2_lineno_debug_hooks): Set the size_function field to + no-op. + (new_loc_descr): Initialize the + dw_loc_frame_offset field. + (dwarf_proc_stack_usage_map): New. + (dw_val_equal_p): Handle discriminants. + (size_of_discr_value): New. + (size_of_discr_list): New. + (size_of_die): Handle discriminants. + (add_loc_descr_to_each): New. + (add_loc_list): New. + (print_discr_value): New. + (print_dw_val): Handle discriminants. + (value_format): Handle discriminants. + (output_discr_value): New. + (output_die): Handle discriminants. + (output_loc_operands): Handle DW_OP_call2 and DW_OP_call4. + (uint_loc_descriptor): New. + (uint_comparison_loc_list): New. + (loc_list_from_uint_comparison): New. + (add_discr_value): New. + (add_discr_list): New. + (AT_discr_list): New. + (loc_descr_to_next_no_op): New. + (free_loc_descr): New. + (loc_descr_without_nops): New. + (struct loc_descr_context): Add a dpi field. + (struct dwarf_procedure_info): New helper structure. + (new_dwarf_proc_die): New. + (is_handled_procedure_type): New. + (resolve_args_picking_1): New. + (resolve_args_picking): New. + (function_to_dwarf_procedure): New. + (copy_dwarf_procedure): New. + (copy_dwarf_procs_ref_in_attrs): New. + (copy_dwarf_procs_ref_in_dies): New. + (break_out_comdat_types): Copy DWARF procedures along with the + types that reference them. + (loc_list_from_tree): Rename into loc_list_from_tree_1. Handle + CALL_EXPR in the cases suitable for DWARF procedures. Handle + for PARM_DECL when generating a location description for a DWARF + procedure. Handle big unsigned INTEGER_CST nodes. Handle + NON_LVALUE_EXPR, EXACT_DIV_EXPR and all unsigned comparison + operators. Add a wrapper for loc_list_from_tree that strips + DW_OP_nop operations from the result. + (type_byte_size): New. + (struct vlr_context): New helper structure. + (field_byte_offset): Change signature to return either a + constant offset or a location description for dynamic ones. + Handle dynamic byte offsets with constant bit offsets and handle + fields in variant parts. + (add_data_member_location): Change signature to handle dynamic + member offsets and fields in variant parts. Update call to + field_byte_offset. Handle location lists. Emit a variable data + member location only when -fgnat-encodings=minimal. + (add_bound_info): Emit self-referential bounds only when + -fgnat-encodings=minimal. + (add_byte_size_attribute): Use type_byte_size in order to handle + dynamic type sizes. Emit variable byte size only when + -fgnat-encodings=minimal and when the target DWARF version + allows them. + (add_bit_offset_attribute): Change signature to handle + variable-length records. Update call to field_byte_offset. + (gen_descr_array_type_die): Update call to gen_field_die. + Update loc_descr_context literal. + (gen_type_die_for_member): Likewise. + (gen_subprogram_die): Update calls to get_decl_die. + (gen_field_die): Change signature to handle variable-length + records. Update calls to add_bit_offset_attribute and + add_data_member_location_attribute. + (gen_inheritance_die): Update call to + add_data_member_location_attribute. + (gen_decl_die): Change signature to handle variable-length + records. Update call to gen_field_die. + (gen_inheritance_die): Change signature to handle + variable-length records. Update call to + add_data_member_location_attribute. + (is_variant_part): New. + (analyze_discr_in_predicate): New. + (get_discr_value): New. + (analyze_variants_discr): New. + (gen_variant_part): New. + (gen_member_die): Update calls to gen_decl_die. Call instead + gen_variant_part for variant parts. + (gen_type_die_with_usage): Update calls to gen_decl_die. + (process_scope_var): Likewise. + (force_decl_die): Likewise. + (declare_in_namespace): Likewise. + (dwarf2out_decl): Likewise. + (prune_unused_types_walk_loc_descr): New. + (prune_unused_types_walk_attribs): Mark DIEs referenced by + location descriptions and loc. descr. lists. + (prune_unused_types_walk): Don't mark DWARF procedures by + default. Mark variant parts since nothing is supposed to + reference them. + (dwarf2out_init): Allocate dwarf_proc_stack_usage_map. + (dwarf2out_c_finalize): Deallocate and reset + dwarf_proc_stack_usage_map. + +2015-12-17 Pierre-Marie de Rodat + + * common.opt (gnat_encodings): New variable + (dwarf_gnat_encodings): New enum type. + (fgnat_encodings): New option. + * flag-types.h (enum dwarf_gnat_encodings): New. + +2015-12-17 Christian Bruel + + * tree.h (TYPE_MODE_RAW): New macro. + * tree-streamer-out.c (pack_ts_type_common_value_fields): + Replace TYPE_MODE by TYPE_MODE_RAW. + +2015-12-17 Jakub Jelinek + + PR tree-optimization/68835 + * tree.c (get_int_cst_ext_nunits): Return + cst.get_precision () / HOST_BITS_PER_WIDE_INT + 1 + for all unsigned wi::neg_p (cst) constants. + (build_new_int_cst): If cst.get_precision is not a multiple + of HOST_BITS_PER_WIDE_INT, zero extend -1 to the precision + % HOST_BITS_PER_WIDE_INT. + +2015-12-17 Richard Biener + + PR tree-optimization/68951 + * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): + Ignore strided non-group accesses. + +2015-12-17 Andrew Burgess + + * config/arc/arc.c (arc_loop_hazard): Don't convert the jump label + rtx to an rtx_insn until we confirm it's not a return rtx. + +2015-12-17 Richard Biener + + * gimple-ssa.h (struct gimple_df): Remove modified_noreturn_calls + field. + * tree-ssa.c (delete_tree_ssa): Do not zero it. + +2015-12-17 Rainer Orth + + PR target/67973 + * configure.ac (gcc_cv_as_stabs_directive): New test. + * configure: Regenerate. + * config.in: Regenerate. + * config/darwin.h (DBX_DEBUGGING_INFO): Wrap in + HAVE_AS_STABS_DIRECTIVE. + (PREFERRED_DEBUGGING_TYPE): Likewise. + * config/i386/darwin.h (PREFERRED_DEBUGGING_TYPE): Only include + DBX_DEBUG if HAVE_AS_STABS_DIRECTIVE. + + * doc/sourcebuild.texi (Effective-Target Keywords, Environment + attributes): Document stabs. + +2015-12-16 Martin Sebor + + PR c/68868 + * ginclude/stdatomic.h (atomic_init): Use atomic_store instead + of plain assignment. + +2015-12-15 Michael Meissner + + PR target/68805 + * config/rs6000/rs6000.c (rs6000_gen_le_vsx_permute): Use ROTATE + instead of VEC_SELECT for TImode. + + * config/rs6000/vsx.md (VSX_LE): Move TImode from VSX_LE to + VSX_LE_128, so that we use ROTATE to swap the 64-bit words instead + of using VEC_SELECT. + (VSX_LE_128): Likewise. + (define_peephole2): Add peephole to eliminate double xxpermdi when + copying TImode. + +2015-12-16 John David Anglin + + PR target/68779 + * config/pa/pa.md (atomic_loaddi): Honor -mdisable-fpregs. + (atomic_loaddi_1): Likewise. + (atomic_storedi): Likewise. + (atomic_storedi_1): Likewise. + (atomic_loaddf): Likewise. + (atomic_loaddf_1): Likewise. + (atomic_storedf): Likewise. + (atomic_storedf_1): Likewise. + Move all atomic patterns to end of file. + +2015-12-16 Abderrazek Zaafrani + + * graphite-isl-ast-to-gimple.c: Include isl/schedule_node.h. + (set_separate_option): New. + (translate_isl_ast_to_gimple::set_options_for_schedule_tree): New. + (translate_isl_ast_to_gimple::scop_to_isl_ast): Use scop->schedule. + * graphite-optimize-isl.c (optimize_isl): Set scop->schedule, do not + free the computed schedule tree. + * graphite-poly.c (new_scop): Initialize scop->schedule. + * graphite.h: Include isl/schedule.h. + (struct scop): Add field schedule. + +2015-12-16 Nathan Sidwell + + * ipa-visibility.c (can_replace_by_local_alias): Make static, + check ASM_OUTPUT_DEF. + (can_replace_by_local_alias_in_vtable): Make static. + (function_and_variable_visibility): Reformat overlong comment. + +2015-12-16 Jeff Law + + * ree.c (add_removable_extension): Use reg_overlap_mentioned_p + rather than testing hard register #s. + +2015-12-16 Nathan Sidwell + + * config/nvptx/nvptx.h (OUTGOING_STATIC_CHAIN_REGNUM): Remove. + (REGISTER_NAMES): Adjust. + * config/nvptx/nvptx.c (nvptx_pass_by_reference): Avoid long line. + (nvptx_static_hain): Delete. + (write_arg_mode): Don't emit initializer if argno < 0. + (write_arg_type): Fix whitespace. + (init_frame): Initialize reg to zero if frame is zero-sized. + (nvptx_declare_function_name): Use write_arg_type to emit chain + decl. + (nvptx_output_call_insn): Adjust static chain emission. + (nvptx_goacc_reduction): Make static. + (TARGET_STATIC_CHAIN): Don't override. + +2015-12-16 Aditya Kumar + + * graphite-dependences.c (scop_get_dependences): Use local pointers. + * graphite-isl-ast-to-gimple.c + (translate_isl_ast_to_gimple::scop_to_isl_ast): Use scop->dependence. + * graphite-optimize-isl.c (optimize_isl): Same. + * graphite-poly.c (new_scop): Remove initialization of removed + members. + (free_scop): Same. + * graphite.h (struct scop): Remove individial dependence pointers and + add a scop::dependence to contain all the dependence. + +2015-12-16 Aditya Kumar + + * graphite-sese-to-poly.c (build_poly_sr): Use refs. + +2015-12-16 Aditya Kumar + Sebastian Pop + + * config.in: Regenerate. + * configure: Regenerate. + * configure.ac: Remove checks for functions that exist in isl 0.13 + or later. + * graphite-isl-ast-to-gimple.c: Remove #ifdefs and code for isl 0.12. + * graphite-optimize-isl.c: Same. + * graphite-poly.c: Same. + * graphite-sese-to-poly.c: Same. + * graphite.h: Add comment for isl 0.14. + * toplev.c (print_version): Print isl version. + +2015-12-10 Jan Hubicka + + * ipa-cp.c (ipa_get_indirect_edge_target_1): Use can_refer; do not + speculate to impossible targets. + * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise. + +2015-12-16 Aditya Kumar + Sebastian Pop + + * graphite-dependences.c (scop_get_reads): Add more dumps. + (scop_get_must_writes): Same. + (scop_get_may_writes): Same. + * graphite-poly.c (new_poly_dr): Same. + * graphite-scop-detection.c (build_cross_bb_scalars_def): Same. + (gather_bbs::before_dom_children): Same. + +2015-12-16 Kyrylo Tkachov + + * config/aarch64/aarch64.c (aarch64_extend_bitfield_pattern_p): + New function. + (aarch64_rtx_costs, ZERO_EXTEND, SIGN_EXTEND cases): Use the above + to handle extend+shift rtxes. + +2015-12-16 Kyrylo Tkachov + + PR target/68696 + * config/aarch64/aarch64-simd.md (*aarch64_simd_bsl_alt): + New pattern. + (aarch64_simd_bsl_internal): Update comment to reflect + the above. + +2015-12-16 Richard Biener + + PR tree-optimization/68870 + * tree-cfgcleanup.c (cleanup_control_expr_graph): Add first_p + parameter, if set only perform trivial constant folding. + Queue other blocks with conditions for later processing. + (cleanup_control_flow_bb): Add first_p parameter and pass it through. + (cleanup_tree_cfg_1): Pass true for the first iteration + cleanup_control_expr_graph. + +2015-12-16 Nathan Sidwell + + * config/nvptx/nvptx-protos.h (nvptx_hard_regno_mode_ok): Delete. + * config/nvptx/nvptx.h (struct machine_function): + Reimplement. Adjust all users. + * config/nvptx/nvptx.c (nvptx_declare_function_name): Move stack + and frame array generation earlier. + (nvptx_call_args): Reimplement. + (nvptx_expand_call): Adjust. + (nvptx_hard_reno_mode_ok): Delete. + (nvptx_reorg): Revert scan of hard regs. + +2015-12-16 Tom de Vries + + * opts.c (default_options_optimization): Set fipa-pta on by + default for fopenacc. + * passes.def: Move kernels pass group to pass_ipa_oacc. + * tree-pass.h (make_pass_oacc_kernels2): Remove. + (make_pass_ipa_oacc, make_pass_ipa_oacc_kernels): Declare. + * tree-ssa-loop.c (pass_oacc_kernels2, make_pass_oacc_kernels2): + Remove. + (pass_ipa_oacc, pass_ipa_oacc_kernels): New pass. + (make_pass_ipa_oacc, make_pass_ipa_oacc_kernels): New function. + * tree-ssa-structalias.c (pass_ipa_pta::clone): New function. + +2015-12-16 Richard Biener + + PR tree-optimization/68861 + * tree-vect-slp.c (vect_build_slp_tree): Properly handle + duplicate stmts when applying swapping to stmts. + +2015-12-16 Kirill Yukhin + + * config/i386/i386-c.c (ix86_target_macros_internal): Remove + duplicate check (__CLZERO__). + +2015-12-16 Matthew Wahab + + * config/arm/arm_neon.h (vqrdmlahq_lane_s16): New. + (vqrdmlahq_lane_s32): New. + (vqrdmlah_lane_s16): New. + (vqrdmlah_lane_s32): New. + (vqrdmlshq_lane_s16): New. + (vqrdmlshq_lane_s32): New. + (vqrdmlsh_lane_s16): New. + (vqrdmlsh_lane_s32): New. + * config/arm/arm_neon_builtins.def: Add "vqrdmlah_lane" and + "vqrdmlsh_lane". + +2015-12-16 Matthew Wahab + + * config/arm/arm_neon.h (vqrdmlah_s16, vqrdmlah_s32): New. + (vqrdmlahq_s16, vqrdmlahq_s32): New. + (vqrdmlsh_s16, vqrdmlsh_s32): New. + (vqrdmlahq_s16, vqrdmlshq_s32): New. + * config/arm/arm_neon_builtins.def: Add "vqrdmlah" and "vqrdmlsh". + +2015-12-16 Matthew Wahab + + * doc/sourcebuild.texi (ARM-specific attributes): Add + "arm_v8_1a_neon_ok" and "arm_v8_1a_neon_hw". + +2015-12-16 Matthew Wahab + + * config/arm/arm-c.c (arm_cpu_builtins): Define + __ARM_FEATURE_QRDMX. Clean up some trailing whitespace. + +2015-12-16 Matthew Wahab + + * config/arm/iterators.md (VQRDMLH_AS): New. + (neon_rdma_as): New. + * config/arm/neon.md + (neon_vqrdmlh): New. + (neon_vqrdmlh_lane): New. + * config/arm/unspecs.md (UNSPEC_VQRDMLAH): New. + (UNSPEC_VQRDMLSH): New. + +2015-12-16 Matthew Wahab + + * config/arm/t-aprofile: Make "armv8.1-a" and "armv8.1-a+crc" + matches for "armv8-a". + +2015-12-16 Matthew Wahab + + * config/arm/arm-arches.def: Add "armv8.1-a" and "armv8.1-a+crc". + * config/arm/arm-protos.h (FL2_ARCH8_1): New. + (FL2_FOR_ARCH8_1A): New. + * config/arm/arm-tables.opt: Regenerate. + * config/arm/arm.c (arm_arch8_1): New. + (arm_option_override): Set arm_arch8_1. + * config/arm/arm.h (TARGET_NEON_RDMA): New. + (arm_arch8_1): Declare. + * doc/invoke.texi (ARM Options, -march): Add "armv8.1-a" and + "armv8.1-a+crc". + (ARM Options, -mfpu): Fix a typo. + +2015-12-16 Kyrylo Tkachov + + PR target/68648 + * config/arm/arm.md (*andsi_iorsi3_notsi): Try to simplify + the complement of operands[3] during splitting. + +2015-12-16 Richard Biener + + PR tree-optimization/68892 + * tree-vect-slp.c (vect_analyze_slp_cost_1): Properly compute + cost for permuted loads. + +2015-12-16 Jakub Jelinek + + PR rtl-optimization/65980 + * jump.c (rtx_renumbered_equal_p) : Use + next_nonnote_nondebug_insn instead of next_real_insn and + skip over CODE_LABELs too. + +2015-12-10 Jan Hubicka + + * symtab.c (symtab_node::fixup_same_cpp_alias_visibility): + Do not copy DECL_VIRTUAL_P. + +2015-12-15 Martin Sebor + + PR c++/42121 + * tree-chkp.c (chkp_find_bound_slots_1): Handle flexible array + members. + * tree.c (type_contains_placeholder_1): Avoid assuming type has + a non-null domain or an upper bound to handle flexible array + members. + * varasm.c (output_constructor_regular_field): Same. + (output_constructor): Set min_index to integer_zero_node rather + than null when a type has no domain to avoid crashing later. + +2015-12-15 Nathan Sidwell + + * config/nvptx/nvptx.c (write_one_arg): Rename to ... + (write_arg_mode): ... here. Update callers. + (write_arg): Rename to ... + (write__arg_type): ... here. Update callers. + (write_return_mode): New fn, broken out of ... + (write_return): ... here. Rename to ... + (write_return_type): ... here. Call it. Update callers. + (write_fn_proto_from_insn): Use write_arg_mode and + write_return_mode. + (init_frame): New fn. + (nvptx_declare_function_name): Call it for frame and varargs. Only + emit outgoing static chain, if it's live. + (nvptx_output_return): Use reg_names for return reg name. + (nvptx_output_call_insn): Likewise. + (nvptx_reorg): Mark unused hard regs too. + +2015-12-15 Nathan Sidwell + + * config/nvptx/nvptx.md (nvptx_register_operand): Don't accept and + then reject subregs. + (nvptx_reg_or_mem_operand): Likewise. + (nvptx_nonmemory_operand): Likewise. + (call_insn_operand): A regular predicate, check SYMBOL_REF_FUNCTION_P. + (call_insn, call_value_insn): Address is not SImode. + * config/nvptx/nvptx.h (FIXED_REGISTERS): Make return reg fixed. + (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove + RETURN_REG class. + (REGNO_REG_CLASS): Alwaus ALL_REGS. + (PROMOTE_MODE): QI and HI are the only smaller than SI int modes. + (HARD_FRAME_POINTER_REGNUM): Delete. + (REGISTER_NAMES): Move earlier. + (struct nvptx_args): Remove 'off'. + (INIT_CUMULATIVE_ARGS): Don't initialize 'off'. + (ELIMINABLE_REGS): Remove HARD_FRAME_POINTER_REGNUM. + * config/nvptx/nvptx.c (arg_promotion): Delete. + (nvptx_expand_call): Remove check for funtype being an fntype. + +2015-12-15 Jason Merrill + + * hash-map.h, hash-table.h: Make copy constructors explicit. + +2015-12-15 Ilya Verbin + + * cgraphunit.c (output_in_order): Do not assemble "omp declare target + link" variables in ACCEL_COMPILER. + * gimplify.c (gimplify_adjust_omp_clauses): Do not remove mapping of + "omp declare target link" variables. + * omp-low.c (scan_sharing_clauses): Do not remove mapping of "omp + declare target link" variables. + (add_decls_addresses_to_decl_constructor): For "omp declare target + link" variables output address of the artificial pointer instead + of address of the variable. Set most significant bit of the size + to mark them. + (pass_data_omp_target_link): New pass_data. + (pass_omp_target_link): New class. + (find_link_var_op): New static function. + (make_pass_omp_target_link): New function. + * passes.def: Add pass_omp_target_link. + * tree-pass.h (make_pass_omp_target_link): Declare. + * varpool.c (symbol_table::output_variables): Do not assemble "omp + declare target link" variables in ACCEL_COMPILER. + +2015-12-15 Bernd Schmidt + + PR middle-end/21273 + * gensupport.c (collect_insn_data): Look for number of alternatives + in MATCH_SCRATCH. + +2015-12-15 Nathan Sidwell + + * config/nvptx/nvptx.h (HARD_REGNO_NREGS): Reformat. + (CANNOT_CHANGE_MODE_CLASS): Always return true. + (HARD_REGNO_MODE_OK): Reformat. + * config/nvptx/nvptx.md (define_expand mov): No + RETURN_REGNUM handling here. + * config/nvptx/nvptx.c (nvptx_function_value): Set ret_reg_mode + here. + (write_one_arg): No QI or HI mode args. + (write_fn_proto_from_insn): No argument promotion here. + (nvptx_output_return_insn): No return promotion here. + (nvptx_output_mov_insn): No RETURN_REGNUM handling needed. + (nvptx_output_call_insn): No return promotion here. + +2015-12-15 Martin Jambor + + PR ipa/68851 + * cgraph.c (collect_callers_of_node_1): Do not collect thunks. + * cgraph.h (cgraph_node): Change comment of collect_callers. + +2015-12-15 Jakub Jelinek + + PR tree-optimization/66688 + * tree-cfgcleanup.c (cleanup_control_flow_bb): Handle + noreturn call followed only by debug stmts by removing + the debug stmts and handling it the same as if the noreturn + call is the last stmt. + +2015-12-14 Steve Ellcey + + * config/mips/mips.c (mips_promote_function_mode): New function. + (TARGET_PROMOTE_FUNCTION_MODE): Define as above function. + (TARGET_PROMOTE_PROTOTYPES): Remove. + +2015-12-14 Jason Merrill + + PR c++/68309 + * hash-table.h: Add copy constructor. + * hash-map.h: Add copy constructor. + +2015-12-14 Tom de Vries + + PR other/68882 + * gimple-pretty-print.c (dump_ssaname_info_to_file): New function. + * gimple-pretty-print.h (dump_ssaname_info_to_file): Declare. + * tree-cfg.c (dump_default_def): New function. + (dump_function_to_file): Dump default defs for arguments, static chain, + and decl-by-reference. + +2015-12-14 Nathan Sidwell + + * config/nvptx/nvptx.h (PARM_BOUNDARY): Set to 32. + * config/nvptx/nvptx.c (PASS_IN_REG_P, RETURN_IN_REG_P): Delete. + (pass_in_memory, promote_arg, promote_return): New. + (nvptx_function_arg_boundary): Delete. + (nvptx_function_value): Use promote_return. + (nvptx_pass_by_reference): Use pass_in_memory. + (nvptx_return_in_memory): Use pass_in_memory. + (nvptx_promote_function_mode): Use promote_arg. + (write_arg): Adjust arg splitting logic. + (write_return): Check and clear ret_reg_mode, if needed. + (write_fn_proto, nvptx_declare_function_name): Adust write_return + calls. + (TARGET_RUNCTION_ARG_BOUNDARY, + TARGET_FUNCTION_ARG_ROUND_BOUNDARY): Don't override. + +2015-12-14 Jakub Jelinek + + PR c/68833 + * common.opt (Wmissing-noreturn): Add Warning option. + * opts-common.c (control_warning_option): If opt is + alias_target with alias_arg, set arg to it. + +2015-12-14 Segher Boessenkool + + PR target/68865 + PR target/68879 + * config/rs6000/rs6000.md (cstore_si_as_di): Force all operands + into registers. + +2015-12-14 Richard Biener + + Revert accidentially applied + PR tree-optimization/68707 + PR tree-optimization/67323 + * tree-vect-slp.c (vect_analyze_slp_instance): Drop SLP instances + if they can be vectorized using load/store-lane instructions. + +2015-12-14 Richard Biener + + PR tree-optimization/68852 + * tree-vectorizer.h (struct _slp_tree): Add def_type member. + (SLP_TREE_DEF_TYPE): New accessor. + * tree-vect-stmts.c (vect_is_simple_use): Remove BB vectorization + hack. + * tree-vect-slp.c (vect_create_new_slp_node): Initialize + SLP_TREE_DEF_TYPE. + (vect_build_slp_tree): When a node is to be built up from scalars + do not push a NULL as child but instead set its def_type to + vect_external_def. + (vect_analyze_slp_cost_1): Check for child def-type instead + of NULL. + (vect_detect_hybrid_slp_stmts): Likewise. + (vect_bb_slp_scalar_cost): Likewise. + (vect_get_slp_defs): Likewise. + (vect_slp_analyze_node_operations): Likewise. Before + processing node push the children def-types to the underlying + stmts vinfo and restore it afterwards. + (vect_schedule_slp_instance): Likewise. + (vect_slp_analyze_bb_1): Do not mark stmts not in SLP instances + as not vectorizable. + +2015-12-14 Richard Biener + + PR tree-optimization/68775 + * tree-vect-slp.c (vect_build_slp_tree): Make sure to apply + a operand swapping even if replacing the op with scalars. + +2015-12-14 Kyrylo Tkachov + + * combine.c (change_zero_ext): Do not create a shift of zero length. + +2015-12-14 Claudiu Zissulescu + + * config/arc/arc.c (TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P): + Provide target hook. + (arc_no_speculation_in_delay_slots_p): New function. + +2015-12-14 Claudiu Zissulescu + Andrew Burgess + + * config/arc/arc.c (frame_move): Set frame related flag. + (arc_save_restore): Emit epilogue related DWARF2 information. + (arc_expand_epilogue): Likewise. + * config/arc/arc.opt (mno-epilogue-cfi): Remove. + (mepilogue-cfi): Likewise. + * doc/invoke.texi: Remove -m[no]-epilogue-cfi documentation. + +2015-12-14 Martin Jambor + + PR ipa/66616 + * ipa-cp.c (propagate_constants_accross_call): Move thuk check... + (call_passes_through_thunk_p): ...here. + (find_more_scalar_values_for_callers_subset): Perform thunk checks + like propagate_constants_accross_call does. + +2015-12-14 Jakub Jelinek + + PR rtl-optimization/68730 + * cfgrtl.c (cfg_layout_finalize): Free dominators. + +2015-12-13 Alexandre Oliva + + PR debug/67355 + * var-tracking.c (reverse_op): Don't add dummy zero to reverse + ops that simplify back to the original value. + * alias.c (refs_newer_value_p): Cut off recursion for + expressions containing the original value. + +2015-12-13 Kazu Kirata + + * config/m68k/m68k.md (load feeding clear byte): New peephole2. + +2015-12-13 Tom de Vries + + * tree-ssa-structalias.c (find_func_clobbers): Handle sizes and kinds + parameters of GOACC_paralllel. + +2015-12-10 Jan Hubicka + + * cgraph.c (cgraph_node::get_untransformed_body): Pass compressed + flag to lto_get_section_data. + * varpool.c (varpool_node::get_constructor): Likewise. + * lto-section-in.c (lto_get_section_data): Add new flag decompress. + (lto_free_section_data): Likewise. + (lto_get_raw_section_data): New function. + (lto_free_raw_section_data): New function. + (copy_function_or_variable): Copy sections w/o decompressing. + (lto_output_decl_state_refs): Picke compressed bit. + * lto-streamer.h (lto_in_decl_state): New flag compressed. + (lto_out_decl_state): Likewise. + (lto_get_section_data, lto_free_section_data): Update prototypes + (lto_get_raw_section_data, lto_free_raw_section_data): Declare. + (lto_write_raw_data): Declare. + (lto_begin_section): Remove FIXME. + (lto_write_raw_data): New function. + (lto_write_stream): Remove FIXME. + (lto_new_out_decl_state): Set compressed flag. + +2015-12-10 Jan Hubicka + + * tree.c (free_lang_data_in_type, find_decls_types_r): Also free + unnecesary type decls. + * tree.h (is_redundant_typedef): Declare. + * dwarf2out.c (is_redundant_typedef): Export; booleanize + +2015-12-12 Eric Botcazou + + * config/sparc/sparc.h (TARGET_SUPPORTS_WIDE_INT): Define to 1. + * config/sparc/sparc.c (sparc_emit_set_const64): Remove code + conditionalized on HOST_BITS_PER_WIDE_INT == 32. + (sparc_cannot_force_const_mem) : New case. + : Remove VOIDmode test. + (epilogue_renumber) : New case. + (sparc_print_operand): Remove support for CONST_DOUBLE with VOIDmode. + (sparc_assemble_integer): Likewise. + (set_extends): Likewise. + (sparc_rtx_costs) : Use SMALL_INT. + : New case. + : Remove support for VOIDmode. + : Remove support for CONST_DOUBLE with VOIDmode. + * config/sparc/predicates.md (const_zero_operand): Add const_wide_int. + (const_all_ones_operand): Likewise. + (uns_small_int_operand): Remove const_double and code conditionalized + on HOST_BITS_PER_WIDE_INT == 32. + (arith_double_operand): Likewise. + (arith_double_add_operand): Likewise. + (input_operand): Remove support for CONST_DOUBLE with DImode. + * config/sparc/sparc.md (DImode CONST_INT splitter): Remove code + conditionalized on HOST_BITS_PER_WIDE_INT == 32. + (DFmode CONST_DOUBLE splitter): Likewise. + (*adddi3_insn_sp32): Likewise. + (*subdi3_insn_sp32): Likewise. + (DImode logical splitter): Likewise. + (DImode CONST_DOUBLE splitter): Delete. + +2015-12-12 Paolo Bonzini + + PR sanitizer/68418 + * c-family/c-ubsan.c (ubsan_instrument_shift): Disable + sanitization of left shifts for wrapping signed types as well. + +2015-12-11 Eric Botcazou + + PR middle-end/68215 + * tree-vect-generic.c (tree_vec_extract): Remove GSI parameter. + Do not gimplify the result. + (do_unop): Adjust call to tree_vec_extract. + (do_binop): Likewise. + (do_compare): Likewise. + (do_plus_minus): Likewise. + (do_negate): Likewise. + (expand_vector_condition): Likewise. + (do_cond): Likewise. + +2015-12-11 Nathan Sidwell + + * config/nvptx/nvptx.h (RETURN_ADDR_REGNO): Delete. + (OUTGOING_ARG_POINTER_REGNUM): Delete. + (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete. + (REGISTER_NAMES): Name static chain regs. + * config/nvptx/nvptx.c (nvptx_function_arg): Add ARG_UNUSED, merge + ifs. + (nvptx_incoming_arg): Merge ifs. + (nvptx_function_arg_boundary): Reimplement to avoid mixing units. + (nvptx_function_value): Tail call nvptx_libcall_value. + (nvptx_pass_by_reference): Add ARG_UNUSED. + (nvptx_static_chain): Use conditional op. + (nvptx_handle_kernel_attribute): Use VOID_TYPE_P. + +2015-12-11 Jan-Benedict Glaw + Dominique d'Humieres + + PR target/26427 + PR target/33120 + PR testsuite/35710 + * config/darwin.c (darwin_use_anchors_for_symbol_p): Fix indention and + trailing whitespace. + +2015-12-11 Jan Beulich + + * cfgexpand.c (expand_one_var): Exit early for static and + external variables when adjusting stack alignment related. + +2015-12-11 Dominik Vogt + + * config/s390/s390.c (s390_rtx_costs) + (s390_cannot_force_const_mem, legitimate_pic_operand_p) + (s390_preferred_reload_class, s390_reload_symref_address) + (legitimate_reload_constant_p, print_operand): Wide int support. + * config/s390/predicates.md ("const0_operand", "constm1_operand") + ("consttable_operand"): Likewise. + ("larl_operand"): Add a comment. + * config/s390/s390.h (TARGET_SUPPORTS_WIDE_INT): Enable wide int + support. + +2015-12-11 Nathan Sidwell + + * config/nvptx/nvptx.h (TARGET_SUPPORTS_WIDE_INT): Define. + * config/nvptx/nvptx.c (nvptxx_assemble_integer): Return false for + unrecognizable RTX. + +2015-12-11 Tom de Vries + + * passes.def: Remove unpaired TERMINATE_PASS_LIST. + +2015-12-11 Michael Matz + + * hash-map.h (hash_map::hash_map): Gather statistics only + when GATHER_STATISTICS is true. + * hash-set.h (hash_set::hash_set): Ditto. + * hash-table.h (hash_table::hash_table): Ditto. + (hash_table::create_ggc): Ditto. + +2015-12-11 Martin Jambor + + PR ipa/68064 + * ipa-prop.c (ipa_compute_jump_functions_for_edge): Add checking + assert that align is nonzero. + +2015-12-11 Dominik Vogt + + * config/s390/s390.c (s390_expand_setmem): Use new expanders. + * config/s390/s390.md ("*setmem_long") + ("*setmem_long_and", "*setmem_long_31z"): Fix warnings. + ("*setmem_long_and_31z"): New define_insn. + ("setmem_long_"): New expanders. + * (): New mode attribute + +2015-12-11 Dominik Vogt + + * config/s390/s390.md ("movstr", "*movstr"): Fix warning. + ("movstr"): New indirect expanders used by "movstr". + +2015-12-11 Martin Liska + Uros Bizjak + + PR target/67484 + * config/i386/i386.c (ix86_valid_target_attribute_tree): + Use ggc_strdup to copy option_strings to opts->x_ix86_arch_string and + opts->x_ix86_tune_string. + +2015-12-11 Richard Biener + + * lto-streamer.h (lto_simple_header_with_strings): Remove + main_size field already in lto_simple_header. + +2015-12-11 Ilya Enkovich + + * tree-vect-stmts.c (vectorizable_mask_load_store): Check + mask vectype. + +2015-12-11 Ilya Enkovich + + * config/i386/i386.c (ix86_get_mask_mode): Use scalar + modes for 32 and 16 byte boolean vectors when possible. + +2015-12-11 Segher Boessenkool + + PR rtl-optimization/67778 + PR rtl-optimization/68634 + * shrink-wrap.c (try_shrink_wrapping): Add a comment about why we want + to put the prologue earlier. When determining if an earlier block is + suitable, make sure it dominates every block reachable from it. + +2015-12-11 Segher Boessenkool + + PR rtl-optimization/68814 + * rtlanal.c (set_noop_p): Use BITS_BIG_ENDIAN instead of + BYTES_BIG_ENDIAN. + +2015-12-10 Nathan Sidwell + + * config/nvptx/nvptx.c (nvptx_function_arg, + nvptx_function_incoming_arg, nvptx_function_arg_advance, + nvptx_strict_argument_naming, nvptx_function_arg_boundary, + nvptx_libcall_value, nvptx_function_value, + nvptx_function_value_regno_p, nvptx_pass_by_reference, + nvptx_return_in_memory, nvptx_promote_function_mode, + nvptx_static_chain): Move earlier. + (write_one_arg): Break out as helper fn for ... + (write_arg): ... this new function. Adjust all callers. + +2015-12-10 Jan Hubicka + + * lto-streamer-out.c (wrap_refs): Only wrap public decls. + +2015-12-10 Jan Hubicka + + * ipa-cp.c (ipcp_cloning_candidate_p): Use node->optimize_for_size_p. + (good_cloning_opportunity_p): Likewise. + (gather_context_independent_values): Do not return true when + polymorphic call context is known or when we have known aggregate + value of unused parameter. + (estimate_local_effects): Try to create clone for all context + when either some params are substituted or devirtualization is possible + or some params can be removed; use local flag instead of + node->will_be_removed_from_program_if_no_direct_calls_p. + (identify_dead_nodes): Likewise. + +2015-12-10 David Malcolm + + * doc/invoke.texi (-Wall): Add -Wmisleading-indentation to the + list. + (-Wmisleading-indentation): Update documentation to reflect + being enabled by -Wall in C/C++. + +2015-12-10 Vladimir Makarov + + PR rtl-optimization/68691 + * lra-spills.c (lra_final_code_change): Check pseudo occurrence + number in non-debug insns and remove debug insns if necessary. + +2015-12-10 Martin Sebor + + * invoke.texi (Warning Options): Update -Wall options. Clarify + when some -Wextra options are enabled. Add -Wplacement-new example. + +2015-12-10 Uros Bizjak + + * graphite-scop-detection.c (gather_bbs::before_dom_children): + Change return type to an edge. Always return NULL. + +2015-12-10 Jeff Law + + PR tree-optimization/68619 + * tree-ssa-dom.c (dom_opt_dom_walker::before_dom_children): Propgate + return value from optimize_stmt. + (dom_opt_dom_walker): Add new argument to dom_walker constructor. + (pass_dominator:execute): If a block has an unreachable edge, + remove all jump threads through any successor of the affected block. + (record_equivalences_from_phis): Ignore alternative if the edge + does not have EDGE_EXECUTABLE set. + (single_incoming_edge_ignoring_loop_edges): Similarly. + (optimize_stmt): If a gimple_code has a compile-time constant + condition, return the edge taken for that constant value. Also + change the condition to true/false as necessary. + * domwalk.h (dom_walker::dom_walker): Add new argument + skip_unreachable_blocks. Don't provide empty constructor body. + (dom_walker::before_dom_children): Change return type. + (dom_walker::bb_reachable): Declare new private method. + (dom_walker::propagate_unreachable_to_edges): Likewise. + (dom_walker::m_unreachable_dom): Declare new private data member. + (dom_walker::m_skip_unreachable_blocks): Likewise. + * domwalk.c: Include dumpfile.h. + (dom_walker::dom_walker): New constructor. Initialize private data + members. If needed, set EDGE_EXECUTABLE for all edges in the CFG, + extracted from tree-ssa-sccvn.c. + (dom_walker::bb_reachable): New method extracted from tree-ssa-sccvn.c + (dom_walker::propagate_unreachable_to_edges): Likewise. + (dom_walker::walk): Only call before_dom_children on reachable + blocks. If before_dom_children returns an edge, then clear + EDGE_EXECUTABLE for all other outgoing edges from the same block. + For unreachable blocks, call propagate_unreachable_to_edges. + Similarly, only call after_dom_children on reachable blocks. For + unreachable blocks, conditionally clear m_unreachable_dom. + * tree-ssa-sccvn.c (sccvn_dom_walker::unreachable_dom): Remove + private data member. + (sccvn_dom_walker::after_dom_children): Use methods from dom_walker + class. + (run_scc_vn): Likewise. + (sccvn_dom_walker::before_dom_children): Likewise. Return the taken + outgoing edge if a COND, SWITCH, or GOTO are optimized. + * compare-elim.c (find_comparison_dom_walker::before_dom_children): + Change return type to an edge. Always return NULL. + * fwprop.c (single_def_use_dom_walker::before_dom_children): Likewise. + * gimple-ssa-strength-reduction.c + (find_candidates_dom_walker::before_dom_children): Likewise. + * ipa-prop.c (analysis_dom_walker::before_dom_children): Likewise. + (ipcp_modif_dom_walker::before_dom_children): Likewise. + * tree-into-ssa.c (rewrite_dom_walker::before_dom_children): Likewise. + (rewrite_update_dom_walker::before_dom_children): Likewise. + (mark_def_dom_children::before_dom_children): Likewise. + * tree-ssa-dse.c (dse_dom_walker::before_dom_children): Likewise. + * tree-ssa-loop-im.c + (invariantness_dom_walker::before_dom_children): Likewise. + (move_computations_dom_walker::before_dom_walker): Likewise. + * tree-ssa-phiopt.c + (nontrapping_dom_walker::before_dom_children): Likewise. + * tree-ssa-pre.c + (eliminate_dom_walker::before_dom_children): Likewise. + * tree-ssa-propagate.c + (substitute_and_fold_dom_walker::before_dom_children): Likewise. + * tree-ssa-strlen.c + (strlen_dom_walker::before_dom_children): Likewise. + * tree-ssa-uncprop.c + (uncprop_dom_walker::before_dom_children): Likewise. + +2015-12-10 Jakub Jelinek + + PR rtl-optimization/68376 + PR rtl-optimization/68670 + * ifcvt.c (noce_try_abs): For one_cmpl allow < 0, >= 0 + or > -1 conditions regardless of negate, and disallow + all other conditions. + +2015-12-10 Ilya Enkovich + + * tree-chkp.c (chkp_call_returns_bounds_p): Return true + for VA_ARG call. + (chkp_fixup_inlined_call): New. + * tree-chkp.h (chkp_fixup_inlined_call): New. + * tree-stdarg.c: Include tree-chkp.h. + (expand_ifn_va_arg_1): Fixup bndret calls for removed + VA_ARG calls. + +2015-12-10 Martin Jambor + + * tree-inline.c (duplicate_remap_omp_clause_seq): New function. + (replace_locals_op): Duplicate gimple sequences in OMP clauses. + +2015-12-10 David Malcolm + + * graphite-optimize-isl.c (scop_get_domains): Fix indentation. + +2015-12-10 David Malcolm + + * ifcvt.c (noce_try_inverse_constants): Fix indentation. + +2015-12-10 David Malcolm + + * regrename.c (scan_rtx_address): Fix indentation. + +2015-12-10 David Malcolm + + * function.c (locate_and_pad_parm): Fix indentation. + +2015-12-10 Richard Biener + + * tree-ssa-structalias.c (struct variable_info): Add + is_ipa_escape_point flag. + (new_var_info): Initialize to false. + (find_func_aliases): Generate escape constraints for stores + properly in IPA mode. + (ipa_pta_execute): Compute is_ipa_escape_point for globals. + +2015-12-10 Claudiu Zissulescu + + * config/arc/atomic.md: Add new file. + +2015-12-10 Claudiu Zissulescu + + * config/arc/arc-protos.h (arc_expand_atomic_op): Prototype. + (arc_split_compare_and_swap): Likewise. + (arc_expand_compare_and_swap): Likewise. + * config/arc/arc.c (arc_init): Check usage atomic option. + (arc_pre_atomic_barrier): New function. + (arc_post_atomic_barrier): Likewise. + (emit_unlikely_jump): Likewise. + (arc_expand_compare_and_swap_qh): Likewise. + (arc_expand_compare_and_swap): Likewise. + (arc_split_compare_and_swap): Likewise. + (arc_expand_atomic_op): Likewise. + * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): New C macro. + (ASM_SPEC): Enable mlock option when matomic is used. + * config/arc/arc.md (UNSPEC_ARC_MEMBAR): Define. + (VUNSPEC_ARC_CAS): Likewise. + (VUNSPEC_ARC_LL): Likewise. + (VUNSPEC_ARC_SC): Likewise. + (VUNSPEC_ARC_EX): Likewise. + * config/arc/arc.opt (matomic): New option. + * config/arc/constraints.md (ATO): New constraint. + * config/arc/predicates.md (mem_noofs_operand): New predicate. + * doc/invoke.texi: Document -matomic. + * config/arc/atomic.md: New file. + +2015-12-10 Richard Biener + + PR tree-optimization/68817 + * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Detect + gaps early. + +2015-12-10 Ilya Enkovich + + * tree-vect-stmts.c (vectorizable_assignment): Support + useless boolean conversion. + +2015-12-10 Alan Lawrence + + * doc/install.texi: Add note against GNAT 4.8 on ARM targets. + +2015-12-10 Jakub Jelinek + + PR tree-optimization/68785 + * gimple-fold.c (fold_ctor_reference): Pass return value from + native_encode_expr to native_interpret_expr. + * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Likewise. + +2015-12-10 Richard Biener + + PR ipa/68331 + * tree-ssa-structalias.c (set_uids_in_ptset): Add fndecl + parameter and make vars_contains_nonlocal properly have + function-scope semantics in IPA mode. + (find_what_var_points_to): Add fndecl parameter. + (find_what_p_points_to): Likewise. + (pt_solution_includes_global): Remove IPA PTA early out. + (compute_points_to_sets): Adjust. + (ipa_pta_execute): Likewise. Clear final_solutions after + each function. + +2015-12-10 Tom de Vries + + PR ada/65102 + * doc/include/fdl.texi: Add nodefaultgnufreedocumentationlicensenode + ifdef to allow disabling default @node GNU Free Documentation License. + +2015-12-10 Richard Biener + + * tree-ssa-structalias.c (create_function_info_for): Add missing + constraint from nonlocal for DECL_RESULT. + +2015-12-10 Richard Biener + + * tree-if-conv.c: Include params.h. + (ifcvt_memrefs_wont_trap): Use PARAM_ALLOW_STORE_DATA_RACES + instead of flag_tree_loop_if_convert_stores to guard cases + we'd introduce store-data-races. + +2015-12-10 Richard Biener + + PR ipa/68721 + * ipa-split.c (split_function): Record return value properly + when the split part doesn't set it. + +2015-12-10 Richard Biener + + PR tree-optimization/68806 + * tree-vect-loop.c (vect_analyze_loop_2): Properly detect + reduction chains and ignore SLP reductions. + +2015-12-10 Richard Biener + + * tree-if-conv.c (if_convertible_loop_p_1): Do not compute + dependences. + (if_convertible_loop_p): Adjust. + +2015-12-10 Tom de Vries + + * tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Remove + invalid assert. + +2015-12-10 Martin Liska + + * tree-vect-data-refs.c: Free an overwritten dataref. + +2015-12-09 John David Anglin + + PR target/68729 + * config/pa/pa.c (pa_emit_move_sequence): Don't check that mode is + consistent with modes of the input and output operands when doing + reloads to and from floating point registers. Do reload for all + address forms. + +2015-12-08 Jan Hubicka + + PR ipa/61886 + PR middle-end/25140 + * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Use compare_base_decls + (nonoverlapping_component_refs_of_decl_p): Update sanity check. + (decl_refs_may_alias_p): Use compare_base_decls. + * alias.c: Include cgraph.h + (get_alias_set): Add cut-off for recursion. + (rtx_equal_for_memref_p): Use rtx_equal_for_memref_p. + (compare_base_decls): New function. + (base_alias_check): Likewise. + (memrefs_conflict_p): Likewise. + (nonoverlapping_memrefs_p): Likewise. + * alias.h (compare_base_decls): Declare. + +2015-12-08 Jan Hubicka + + PR ipa/61886 + * ipa-visibility.c (function_and_variable_visibility): Fix vtable + rewritting guard. + +2015-12-08 Jan Hubicka + + PR ipa/61886 + PR middle-end/25140 + * ipa-reference.c (ipa_reference_get_not_read_global, + ipa_reference_get_not_read_global): Fix WRT aliases. + (is_improper): Break out from ... + (is_proper_for_analysis): ... here; fix WRT aliases. + (analyze_function, generate_summary, + ipa_reference_write_optimization_summary, + ipa_reference_read_optimization_summary): Use ipa_reference_var_uid. + * ipa-refrence.h (ipa_reference_var_uid): New inline. + * tree-ssa-alias.c: Revert my accidental previous commit. + (ref_maybe_used_by_call_p_1, + call_may_clobber_ref_p_1): Use ipa_reference_var_uid. + +2015-12-09 Andreas Tobler + + * config/rs6000/freebsd64.h: Remove the redefinition of WCHAR_TYPE. + +2015-12-09 Aditya Kumar + Sebastian Pop + + * graphite-optimize-isl.c: Include isl/ast_build.h + (optimize_isl): Set several isl_options_set_* options. + +2015-12-09 Aditya Kumar + Sebastian Pop + + * graphite-sese-to-poly.c (pdr_add_memory_accesses): Iterate in + the same order as adding data reference access functions. + +2015-12-09 Aditya Kumar + Sebastian Pop + + * graphite-optimize-isl.c (optimize_isl): Improve dump message. + +2015-12-09 Marek Polacek + + PR tree-optimization/66949 + * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Don't call + single_non_singleton_phi_for_edges to get the PHI from + factor_out_conditional_conversion. Use NULL_TREE instead of NULL. + (factor_out_conditional_conversion): Adjust declaration. Make it + return the newly-created PHI. + +2015-12-09 James Greenhalgh + + * config/aarch64/aarch64-protos.h + (aarch64_cannot_change_mode_class): Bring back. + * config/aarch64/aarch64.c + (aarch64_cannot_change_mode_class): Likewise. + * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Likewise. + * config/aarch64/aarch64.md (aarch64_movdi_low): Use + zero_extract rather than truncate. + (aarch64_movdi_high): Likewise. + +2015-12-09 Jakub Jelinek + + PR tree-optimization/68786 + * tree-if-conv.c: Include builtins.h. + (predicate_mem_writes): Put result of get_object_alignment (ref) + into second argument's value. + * tree-vect-stmts.c (vectorizable_mask_load_store): Put minimum + pointer alignment into second argument's value. + * tree-data-ref.c (get_references_in_stmt): Use value of second + argument for build_aligned_type, and only the type to build + a zero second argument for MEM_REF. + * internal-fn.c (expand_mask_load_optab_fn, + expand_mask_store_optab_fn): Likewise. + +2015-12-09 Richard Biener + + PR tree-optimization/68583 + * tree-if-conv.c (if_convertible_phi_p): Drop + flag_tree_loop_if_convert_stores check in favor of the + existing any_mask_load_store check. + (insert_gimplified_predicates): Likewise. + (combine_blocks): Likewise. + (tree_if_conversion): Likewise. + (ifcvt_memrefs_wont_trap): Properly check + flag_tree_loop_if_convert_stores in all places that can end + up introducing store-data-races. + (if_convertible_gimple_assign_stmt_p): Remove restriction + on flag_tree_loop_if_convert_stores for stores we can if-convert + without introducing store-data-races. Force versioning for + all if-converted stores. + +2015-12-09 Tom de Vries + + PR tree-optimization/68716 + * tree-ssa-structalias.c (find_func_clobbers): Fix handling of + BUILT_IN_GOMP_PARALLEL and BUILT_IN_GOACC_PARALLEL. + +2015-12-09 Martin Liska + + * hash-traits.h (struct typed_delete_remove): New function. + (typed_delete_remove ::remove): Likewise. + * tree-ssa-loop-ivopts.c (struct iv_common_cand): Replace + auto_vec with vec. + (record_common_cand): Replace XNEW with operator new. + +2015-12-09 Martin Liska + + * tree-if-conv.c (ifcvt_local_dce): Replace vec with auto_vec. + +2015-12-09 Martin Liska + + PR ipa/68790 + * ipa-icf.c (sem_function::param_used_p): Return true + if ipa_node_params_sum equals to NULL. + +2015-12-09 Richard Biener + + PR tree-optimization/68583 + * tree-if-conv.c (ifc_dr): Make flags bool, add w_unconditionally + flag and rename predicates to w_predicate, rw_predicate and + base_w_predicate. + (DR_WRITTEN_AT_LEAST_ONCE): Rename to ... + (DR_BASE_W_UNCONDITIONALLY): ... this. + (DR_W_UNCONDITIONALLY): Add. + (hash_memrefs_baserefs_and_store_DRs_read): Adjust. Compute + unconditionally written separately from read or written. + (ifcvt_memrefs_wont_trap): Properly treat reads. + (ifcvt_could_trap_p): Inline ... + (if_convertible_gimple_assign_stmt_p): ... here. Refactor + to avoid code duplication. + (if_convertible_loop_p_1): Adjust and properly initialize + predicates. + +2015-12-09 Richard Biener + + * tree-vect-stmts.c (vectorizable_load): Set new vinfo only + if it was not yet set. + * tree-vectorizer.h (set_vinfo_for_stmt): Assert we don't + overwrite an existing entry. + +2015-12-09 Chung-Lin Tang + + * c-family/c-omp.c (c_finish_oacc_wait): Remove add_stmt() call. + * c/c-parser.c (c_parser_oacc_wait): Add add_stmt() call. + * cp/parser.c (cp_parser_oacc_wait): Add finish_expr_stmt() call. + +2015-12-08 Jan Hubicka + + PR ipa/61886 + * symtab.c (symtab_node::equal_address_to): New parameter + MEMORY_ACCESSED. + * cgraph.h (symtab_node::equal_address_to): Update prototype. + +2015-12-08 DJ Delorie + + * config/rx/rx.opt (-mjsr): Add. + * config/rx/predicates.md (rx_call_operand): Avoid overflowing + calls when -mjsr. + * config/rx/rx.c (rx_function_ok_for_sibcall): Likewise for + overflowing jumps. + * doc/invoke.texi (-mjsr): Document it. + +2015-12-08 Jan Hubicka + + PR ipa/61886 + * lto-streamer.h (lto_symtab_merge_decls, lto_symtab_merge_symbols, + lto_symtab_prevailing_decl): MOve to lto-symtab.h. + * lto-streamer-out.c (DFS::DFS_write_tree_body): Check that + DECL_ABSTRACT_ORIGIN is not error_mark_node. + +2015-12-08 David Malcolm + + * tree-nested.c (convert_tramp_reference_stmt): Fix indentation. + +2015-12-08 David Malcolm + + * tree-ssa-loop-unswitch.c (tree_unswitch_outer_loop): Fix + indentation. + +2015-12-08 Jan Hubicka + + PR ipa/61886 + * lto-cgraph.c (compute_ltrans_boundary): Add transparent alias targets + into the boundary. + +2015-12-08 Jan Hubicka + + PR ipa/61886 + * varpool.c (varpool_node::get_availability): Recurse only on + weakrefs with definition in the target. + (symbol_table::remove_unreferenced_decls): Keep aliases in the boundary. + +2015-12-08 Jan Hubicka + + PR ipa/61886 + * ipa-visibility.c (can_replace_by_local_alias): Look through + transparent aliases; refuse weakrefs. + (update_visibility_by_resolution_info): Skip transparent aliases in the + analysis part + +2015-12-08 Jan Hubicka + + PR ipa/61886 + * symtab.c (symtab_node::verify_base): Fix thinko in a conditional. + (symtab_node::noninterposable_alias): Do not accept transparent + aliases. + +2015-12-08 Nathan Sidwell + + * config/nvptx/nvptx.c (decl_chunk_size, decl_chunk_mode, + decl_offset, init_part, object_size, object_finished): Replace + with ... + (struct init_frag): ... this new struct variable. + (begin_decl_field, output_decl_chunk): Replace with ... + (output_init_frag): ... this new function. + (nvptx_assemble_value): Reimplement. + (nvptx_assemble_integer, nvptx_output_skip): Adjust. + (nvptx_assemble_decl_begin, nvptx_assemble_decl_end): Adjust. + (nvptx_output_aligned_decl): Call nvptx_assemble_decl_end. + +2015-12-08 Eric Botcazou + + PR middle-end/68291 + PR middle-end/68292 + * cfgexpand.c (set_rtl): Always accept mode mismatch for SSA names + with BLKmode promoted mode based on RESULT_DECLs. + +2015-12-08 Uros Bizjak + + PR target/68701 + * config/i386/i386.c (ix86_option_override_internal): Enable + -maccumulate-outgoing-args when %ebp is fixed due to stack + realignment requirements. + +2015-12-08 Tom de Vries + + PR tree-optimization/68640 + * omp-low.c (install_var_field): Clear the restrict qualifier on the var + type. + +2015-12-08 Kirill Yukhin + + * config/i386/sse.md (define_insn "_vec_dup_1"): Fix + assembler to make source always 128bit. + +2015-12-08 Jakub Jelinek + + PR c/48088 + PR c/68657 + * common.opt (Wframe-larger-than=): Add Warning. + * opts.h (control_warning_option): Add ARG argument. + * opts-common.c (cmdline_handle_error): New function. + (read_cmdline_option): Use it. + (control_warning_option): Likewise. Add ARG argument. + If non-NULL, decode it if needed and pass through + to handle_generated_option. Handle CLVC_ENUM like + CLVC_BOOLEAN. + * opts.c (common_handle_option): Adjust control_warning_option + caller. + (enable_warning_as_error): Likewise. + +2015-12-08 Matthew Wahab + + * config/aarch64/aarch64-options-extensions.def: Remove + AARCH64_FL_RDMA from "fp" and "simd". Remove "pan", "lor", + "rdma". + * config/aarch64/aarch64.h (AARCH64_FL_PAN): Remove. + (AARCH64_FL_LOR): Remove. + (AARCH64_FL_RDMA): Remove. + (AARCH64_FL_V8_1): New. + (AARCH64_FL_FOR_AARCH8_1): Replace AARCH64_FL_PAN, AARCH64_FL_LOR + and AARCH64_FL_RDMA with AARCH64_FL_V8_1. + (AARCH64_ISA_RDMA): Replace AARCH64_FL_RDMA with AARCH64_FL_V8_1. + * doc/invoke.texi (AArch64 -march): Rewrite initial paragraph and + section on -march=native. Group descriptions of permitted + architecture names together. Expand description of + -march=armv8.1-a. + (AArch64 -mtune): Slightly rework section on -march=native. + (AArch64 -mcpu): Slightly rework section on -march=native. + (AArch64 Feature Modifiers): Remove "pan", "lor" and "rdma". + State that -march=armv8.1-a enables "crc" and "lse". + +2015-12-08 Eric Botcazou + + * doc/invoke.texi (SPARC options): Fix typo. + +2015-12-08 Eric Botcazou + + * config/ia64/ia64.c (ia64_emit_probe_stack_range): Adjust. + (output_probe_stack_range): Rotate the loop and simplify. + +2015-12-08 Uros Bizjak + + * config/i386/i386.c (ix86_emit_swsqrtsf): Cleanup + infinity filterning code. + +2015-12-08 Ilya Enkovich + + PR tree-optimization/68766 + * tree-vectorizer.c (vectorize_loops): Check for + if-converted loops when debug counters are used. + +2015-12-07 DJ Delorie + + * config/rl78/constraints.md (Wfr): Change to be a non-memory + constraint. + * config/rl78/rl78-protos.h (rl78_one_far_p): Declare. + * config/rl78/rl78.c (rl78_one_far_p): Define. + * config/rl78/rl78-virt (movqi_virt): Fix far memory + alternatives. + (movhi_virt): Likewise. + (zero_extendqihi2_virt): Likewise. + (extendqihi2_virt): Likewise. + (add3_virt): Likewise. + (sub3_virt): Likewise. + (andqi3_virt): Likewise. + (iorqi3_virt): Likewise. + (xorqi3_virt): Likewise. + * config/rl78/rl78-real.md (bf,br): Use long forms to avoid reloc + overflow in large files. + +2015-12-07 Eric Botcazou + + PR target/63668 + * doc/invoke.texi (SPARC options): Document -mstd-struct-return. + * config/sparc/sparc.c (sparc_struct_value_rtx): Minor tweaks. + * config/sparc/sparc.h (CALL_REALLY_USED_REGISTERS): Define. + * config/sparc/sparc.opt (mstd-struct-return): Accept negative. + +2015-12-07 Steve Ellcey + + * reorg.c (optimize_skip): Do not put frame related instructions + in annulled delay slots. + (steal_delay_list_from_target): Ditto. + (fill_slots_from_thread): Ditto. + +2015-12-07 Evandro Menezes + + * config/aarch64/aarch64-cores.def: Use the Exynos M1 sched model. + * config/aarch64/aarch64.md: Include "exynos-m1.md". + * config/arm/arm.md: Likewise. + * config/arm/exynos-m1.md: New file. + +2015-12-07 Jan Hubicka + + * fold-const.c (operand_equal_p): Drop flag_strict_aliasing check. + +2015-12-07 Nathan Sidwell + + * config//nvptx/nvptx.c (write_return): New. + (write_fn_proto, nvptx_declare_function_name): Call it. + +2015-12-07 Jan Hubicka + + PR ipa/61886 + * symtab.c (ultimate_transparent_alias_target): New inline function. + (symbol_table::assembler_names_equal_p): New method; break out from ... + (symbol_table::decl_assembler_name_equal): ... here. + (symbol_table::change_decl_assembler_name): Also update names and + translation links of transparent aliases. + (symtab_node::dump_base): Dump transparent_alias. + (symtab_node::verify_base): Implement basic transparent alias + verification. + (symtab_node::make_decl_local): Support localization of weakrefs; + recurse to transparent aliases; set TREE_STATIC. + (symtab_node::ultimate_alias_target_1): Handle visibility of + transparent aliases. + (symtab_node::resolve_alias): New parmaeter transparent; handle + transparent aliases; recurse to aliases of aliases to fix comdat + groups. + (symtab_node::get_partitioning_class): Handle transparent aliases. + * ipa-visibility.c (cgraph_externally_visible_p, + varpool_node::externally_visible_p): Visibility of transparent alias + depends on its target. + (function_and_variable_visibility): Do not tweak visibility of + transparent laiases. + (function_and_variable_visibility): Likewise. + * ipa.c (symbol_table::remove_unreachable_nodes): Clear + transparent_alias flag. + * alias.c (cgraph_node::create_alias, cgraph_node::get_availability): + Support transparent aliases. + * cgraph.h (symtab_node): Update prototype of resolve_alias; + add transparent_alias flag. + (symbol_table: Add assembler_names_equal_p. + (symtab_node::real_symbol_p): Skip transparent aliases. + * cgraphunit.c (cgraph_node::reset): Reset transparent_alias flag. + (handle_alias_pairs): Set transparent_alias for weakref. + (cgraph_node::assemble_thunks_and_aliases): Do not asemble transparent + aliases. + * lto-cgraph.c (lto_output_node): When outputting same_comdat_group + skip symbols not put into boundary; stream transparent_alias. + (lto_output_varpool_node): Likewise. + (input_overwrite_node, input_varpool_node): Stream transparent alias. + * varpool.c (ctor_for_folding, varpool_node::get_availability, + varpool_node::assemble_aliases, + symbol_table::remove_unreferenced_decls): Handle transparent aliase. + (varpool_node::create_alias): Set transparent_alias. + +2015-12-07 Eric Botcazou + + PR middle-end/68291 + PR middle-end/68292 + * cfgexpand.c (set_rtl): Always accept PARALLELs with BLKmode for + SSA names based on RESULT_DECLs. + * function.c (expand_function_start): Do not create BLKmode REGs + for GIMPLE registers when coalescing is enabled. + +2015-12-07 Bernd Edlinger + + * final.c (shorten_branches): Fix check for basic asm. + * ipa-icf-gimple.c (func_checker::compare_gimple_asm): Add check for + basic asm. + +2015-12-07 Nathan Sidwell + + * config/nvptx/nvptx.c (nvptx_output_call_insn): Emit trap after no + return call. + +2015-12-07 David Malcolm + + * pretty-print.c (text_info::set_range): Rename to... + (text_info::set_location): ...this, converting 2nd param + from source_range to a location_t. + * pretty-print.h (text_info::set_location): Convert + from inline function to external definition. + (text_info::set_range): Delete. + +2015-12-07 Nathan Sidwell + + * config/nvptx/nvptx.c (nvptx_assemble_decl_begin): Look inside + complex and vector types. Cope with packed structs. + +2015-12-07 Kirill Yukhin + + PR target/68627 + * config/i386/sse.md: Make 'v' alternative work on 'avx512f' ISA only. + Force destination to 512 bits register. + +2015-12-07 Kirill Yukhin + + PR target/68633 + * config/i386/sse.md (define_insn "kunpckhi"): Fix operands order. + (define_insn "kunpcksi"): Ditto. + (define_insn "kunpckdi"): Ditto. + +2015-12-06 Kaz Kojima + + * config/sh/sh.md (rsqrtsf2): Adjust for canonical form with unspec. + +2015-12-06 Victoria Stepanyan + + * common/config/i386/i386-common.c + (OPTION_MASK_ISA_CLZERO_SET): New. + (ix86_handle_option): Handle clzero. + * config.gcc (i[34567]86-*-*): Add clzerointrin.h, + (x86_64-*-*): Likewise. + * config/i386/clzerointrin.h: New header. + * config/i386/cpuid.h (bit_CLZERO): Define. + * config/i386/driver-i386.c (host_detect_local_cpu): Detect + CLZERO support. + * config/i386/i386.opt (clzero): New. + * config/i386/i386-c.c: Define __CLZERO__ if needed. + * config/i386/i386.c (ix86_target_string): Define -mclzero option. + (PTA_CLZERO): New. + (ix86_option_override_internal): Handle new option. + (processor_alias_table): Added PTA_CLZERO. + (ix86_valid_target_attribute_inner_p): Add OPT_mclzero. + (ix86_builtins): Add IX86_BUILTIN_CLZERO, IX86_BUILTIN_CLZERO. + (ix86_expand_builtin): Handle IX86_BUILTIN_CLZERO and + IX86_BUILTIN_CLZERO built-ins. + * config/i386/i386.h (TARGET_CLZERO): New. + * config/i386/i386.md (unspecv): Add UNSPEC_CLZERO. + (clzero): New pattern. + (clzero_): New pattern. + * config/i386/x86intrin.h: Include clzerointrin.h. + * doc/extend.texi: Document clzero builtins. + * doc/invoke.texi: Document -mclzero option. + +2015-12-05 Jan Hubicka + + * ipa-icf.c (sem_function::merge): Check that local_original exists. + +2015-12-05 David Edelsohn + + PR target/68609 + * config/rs6000/rs6000-protos.h (rs6000_emit_swsqrt): Rename and add + bool arguement. + * config/rs6000/rs6000.c (rs6000_emit_swsqrt): Rename. Add + non-reciporcal path. + * config/rs6000/rs6000.md (rsqrt2): Call new function name. + (sqrt2): Replace define_insn with define_expand that may call + rs6000_emit_swsqrt. + +2015-12-04 Aditya Kumar + Sebastian Pop + + * graphite-isl-ast-to-gimple.c (translate_isl_ast_node_user): + Improve debug. + (get_rename_from_scev): Check that all the ops in an expression + have their uses dominated by corresponding defs. + +2015-12-04 Aditya Kumar + Sebastian Pop + + PR tree-optimization/68693 + * graphite-scop-detection.c (dot_all_sese): New + (dot_all_scops_1): Renamed to dot_all_sese. + (dot_all_scops): Removed. + (dot_sese): New. + (dot_cfg): New. + (scop_detection::get_nearest_dom_with_single_entry): Check that + preds are from different loop levels. + (scop_detection::get_nearest_pdom_with_single_exit): Check that + succs are from different loop levels. + (scop_detection::print_sese): Inlined. + (scop_detection::print_edge): New. + (scop_detection::merge_sese): Added dumps. + * graphite.h: Add declarations. + +2015-12-04 James Greenhalgh + + * config/aarch64/aarch64.md (add3_pluslong): Add register + constraints. + +2015-12-04 Vladimir Makarov + + PR rtl-optimization/68349 + * lra-eliminations.c (move_plus_up): New function. + (lra_eliminate_regs_1): Use the function. + +2015-12-04 Nathan Sidwell + + * config/nvptx/nvptx.c (nvptx_assemble_decl_begin): New, replacing ... + (init_output_initializer): ... this. + (nvptx_output_aligned_decl, nvptx_asm_declare_constant_name, + nvptx_declare_object_name, nvptx_assemble_undefined_decl): Use + nvptx_assemble_decl_begin. + +2015-12-04 Dmitry Vyukov + + * sancov.c: New file. + * Makefile.in (OBJS): Add sancov.o. + * invoke.texi (-fsanitize-coverage=trace-pc): Describe. + * passes.def (sancov_pass): Add. + * tree-pass.h (sancov_pass): Add. + * common.opt (-fsanitize-coverage=trace-pc): Add. + * sanitizer.def (BUILT_IN_SANITIZER_COV_TRACE_PC): Add. + * builtins.def (DEF_SANITIZER_BUILTIN): Enable for + flag_sanitize_coverage. + +2015-12-04 Eric Botcazou + + PR middle-end/65958 + * config/arm/unspecs.md (unspec): Remove UNSPEC_PROBE_STACK_RANGE. + (unspecv): Add VUNSPEC_PROBE_STACK_RANGE. + * config/arm/arm.md (probe_stack_range): Adjust. + * config/aarch64/aarch64.md (unspec): Remove UNSPEC_PROBE_STACK_RANGE. + (unspecv): Add UNSPECV_PROBE_STACK_RANGE. + (probe_stack_range_): Adjust. + +2015-12-04 David Malcolm + + * convert.c (convert_to_real_1): When converting from a + REAL_TYPE, preserve the location of EXPR in the result. + * tree.c (get_pure_location): Make non-static. + (set_source_range): Return the resulting location_t. + (make_location): New function. + * tree.h (get_pure_location): New decl. + (get_finish): New inline function. + (set_source_range): Convert return type from void to location_t. + (make_location): New decl. + +2015-12-04 Jakub Jelinek + + PR c/68656 + * toplev.c (init_asm_output): Pass UNKNOWN_LOCATION instead of + input_location to inform. + (process_options): Use warning_at (UNKNOWN_LOCATION instead of + warning ( and error_at (UNKNOWN_LOCATION instead of error (. + Pass UNKNOWN_LOCATION instead of input_location to fatal_error. + +2015-12-04 Jan Hubicka + + * ipa-inline.c (can_inline_edge_p) Use merged_comdat. + * cgraphclones.c (cgraph_node::create_clone): Use merged_comdat. + * cgraph.c (cgraph_node::dump): Dump merged_comdat. + * ipa-icf.c (sem_function::merge): Drop merged_comdat when merging + comdat and non-comdat. + * cgraph.h (cgraph_node): Rename merged to merged_comdat. + * ipa-inline-analysis.c (simple_edge_hints): Check both merged_comdat + and icf_merged. + +2015-12-04 Segher Boessenkool + + * config/rs6000/rs6000.md (cstore4_unsigned): Use gpc_reg_operand + instead of register_operand. Remove empty constraints. Use std::swap. + (cstore_si_as_di, cstore4_signed_imm, + cstore4_unsigned_imm, cstore4 for GPR): Use + gpc_reg_operand instead of register_operand. + (cstore4 for FP): Use gpc_reg_operand instead of + register_operand. Remove empty constraints. + +2015-12-04 Nick Clifton + + * config.gcc (extra_gcc_objs): Define for MSP430. + * common/config/msp430/msp430-common.c (msp430_handle_option): + Pass both -mmcu and -mcpu on to the back end if they are both defined. + * config/msp430/msp430.c (hwmult_name): New function. + (msp430_option_override): If an unrecognised MCU name is + detected only warn if the user has not provided suitable + -mhwmult and -mcpu options. Use msp430_warn_mcu to control + warning messages. Generate warnings about conflicts between + -mmcu and -mcpu and -mhwmult options. + If neither -mcpu nor -mmcu have been specified but -mhwmult= + f5series has the select the 430X isa. + (msp430_no_hwmult): If -mmcu has not been specified and + msp430_hwmult_type is AUTO then return true. + * config/msp430/msp430.h (EXTRA_SPEC_FUNCTIONS): Define. + (LIB_SPEC): Add hardware multiply library selection. + * config/msp430/t-msp430: Delete hardware multiply multilibs. + Add rule to build driver-msp430.o + * config/msp430/driver-msp430.c: New file. + * config/msp430/msp430.opt (warn-mcu): New option. + * doc/invoke.texi: Update description of -mhwmult=auto. + Document -mwarn-mcu option. + +2015-12-04 Segher Boessenkool + + * config/rs6000/rs6000.md (cstore4_signed): New expander. + (cstore4): Call it. + +2015-12-04 Jakub Jelinek + + * tree-tailcall.c (find_tail_calls): Ignore GIMPLE_NOPs. + + PR tree-optimization/68680 + * calls.c (special_function_p): Return ECF_MAY_BE_ALLOCA for + BUILT_IN_ALLOCA{,_WITH_ALIGN}. Don't check for __builtin_alloca + by name. + + PR tree-optimization/68671 + * tree-ssa-reassoc.c (maybe_optimize_range_tests): For basic + blocks starting with the successor of first bb we've modified + and ending with last_bb call reset_flow_sensitive_info_in_bb. + +2015-12-04 Jeff Law + + * tree-ssa-reassoc.c (maybe_optimize_range_tests): Return boolean + indicating if a gimple conditional was optimized to true/false. + (reassociate_bb): Bubble up return value from + maybe_optimize_range_tests. + (do_reassoc): Similarly, but for reassociate_bb. + (execute_reassoc): Return TODO_cleanup_cfg as needed. + +2015-12-04 Kyrylo Tkachov + + * config/aarch64/aarch64.c (aarch64_override_options_internal): + Do not alter target_flags due to TARGET_GENERAL_REGS_ONLY_P. + * doc/invoke.texi (AArch64 options): Mention that -mgeneral-regs-only + does not affect the assembler directives. + +2015-12-04 Dominik Vogt + + * config/s390/s390.c (s390_asm_file_start): Implement hook function to + emit .machine and .machinemode to the top of the assembler file. + (TARGET_ASM_FILE_START): Provide target hook. + (s390_asm_output_machine_for_arch): Protect with + HAVE_AS_MACHINE_MACHINEMODE instead of S390_USE_TARGET_ATTRIBUTE. + +2015-12-04 Dominik Vogt + + * config/s390/s390.opt (s390_arch_string): Remove. + (s390_tune_string): Likewise. + (s390_cost_pointer): Add Variable. + (s390_tune_flags): Add TargetVariable. + (s390_arch_flags, march=, mbackchain, mdebug, mesa, mhard-dfp), + (mhard-float, mlong-double-128, mlong-double-64, mhtm, mvx), + (mpacked-stack, msmall-exec, msoft-float, mstack-guard=, mstack-size=), + (mtune=, mmvcle, mzvector, mzarch, mbranch-cost=, mwarn-dynamicstack), + (mwarn-framesize=): Save option. + (mno-stack-guard, mno-stack-guard): New option. + (mwarn-dynamicstack): Allow mno-warn-dynamicstack. + (mwarn-framesize=): Convert to UInteger (negative values are rejected + now). + * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Split setting + macros changeable through the GCC target pragma into a separate + function. + (s390_cpu_cpp_builtins): Likewise. + (s390_pragma_target_parse): New function, implement GCC target pragma + if enabled. + (s390_register_target_pragmas): Register s390_pragma_target_parse if + available. + * common/config/s390/s390-common.c (s390_handle_option): + Export. + Move setting s390_arch_flags to s390.c. + Remove s390_tune_flags. + Allow 0 as argument to -mstack-size (switch to default value). + Allow 0 as argument to -mstack-guard (switch off). + Remove now unnecessary explicit parsing code for -mwarn-framesize. + * config/s390/s390-protos.h (s390_handle_option): Export. + (s390_valid_target_attribute_tree): Export. + (s390_reset_previous_fndecl): Export. + * config/s390/s390-builtins.def: Use new macro B_GROUP to mark the start + and end of HTM and VX builtins. + (s390_asm_output_function_prefix): Declare hook. + (s390_asm_declare_function_size): Likewise. + * config/s390/s390-builtins.h (B_GROUP): Use macro. + * config/s390/s390-opts.h: Add comment about processor_type usage. + * config/s390/s390.h (TARGET_CPU_IEEE_FLOAT_P, TARGET_CPU_ZARCH_P), + (TARGET_CPU_LONG_DISPLACEMENT_P, TARGET_CPU_EXTIMM_P, TARGET_CPU_DFP_P), + (TARGET_CPU_Z10_P, TARGET_CPU_Z196_P, TARGET_CPU_ZEC12_P), + (TARGET_CPU_HTM_P, TARGET_CPU_Z13_P, TARGET_CPU_VX_P), + (TARGET_HARD_FLOAT_P, TARGET_LONG_DISPLACEMENT_P, TARGET_EXTIMM_P), + (TARGET_DFP_P, TARGET_Z10_P, TARGET_Z196_P, TARGET_ZEC12_P), + (TARGET_HTM_P, TARGET_Z13_P, TARGET_VX_P, TARGET_CPU_EXTIMM), + (TARGET_CPU_DFP, TARGET_CPU_Z10, TARGET_CPU_Z196, TARGET_CPU_ZEC12), + (TARGET_CPU_HTM, TARGET_CPU_Z13, TARGET_LONG_DISPLACEMENT), + (TARGET_EXTIMM, TARGET_DFP, TARGET_Z10, TARGET_Z196, TARGET_ZEC12), + (TARGET_Z13, TARGET_VX, S390_USE_TARGET_ATTRIBUTE), + (S390_USE_ARCHITECTURE_MODIFIERS, SWITCHABLE_TARGET), + (ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_FUNCTION_PREFIX): Likewise. + * config/s390/vecintrin.h: Use vector definitions even if __VEC__ is + undefined. + (vec_all_nan): Rewrite as macro using statement expressions to avoid + that the vector keyword needs to be defined when including the file. + (vec_all_numeric): Likewise. + (vec_any_nan): Likewise. + (vec_any_numeric): Likewise. + * config/s390/s390.c (s390_previous_fndecl): New static variable. + (s390_set_current_function): New function. + (s390_cost): Wrapper macro to allow defining the cost table pointer in + the options file. + (processor_table): Table for march= and mtune= parsing. + (s390_init_builtins): Enable all builtins and types unconditionally. + (s390_expand_builtin): Generate an error message if builtin is not + supported by current options. + Correct an error message. + (s390_function_specific_restore): New function to set s390_cost. + (s390_asm_output_machine_for_arch): New function for emitting .machine + and .machinmode directives to the assembler file. + (s390_asm_output_function_prefix): Likewise. + (s390_asm_declare_function_size): Likewise. + (s390_asm_output_function_label): Add mdebug output for feature testing. + (s390_option_override): Move implementation into internal function. + (s390_option_override_internal): Likewise. + Implement option overriding based on current options. + (s390_valid_target_attribute_inner_p): New function implementing target + attribute logic. + (s390_valid_target_attribute_tree): Likewise. + (s390_valid_target_attribute_p): Likewise. + (s390_reset_previous_fndecl): Likewise. + (s390_set_current_function): Likewise. + (TARGET_SET_CURRENT_FUNCTION): Provide target hook function. + (TARGET_OPTION_VALID_ATTRIBUTE_P): Likewise. + (TARGET_OPTION_RESTORE): Likewise. + * doc/extend.texi: S390: Document target attribute and pragma. + * config.in: Regenerated. + * configure: Regenerated. + * configure.ac: S390: Check for .machinemode and .machine in gas. + S390: Check for architecture modifiers support in gas. + +2015-12-04 Kirill Yukhin + + * doc/extend.texi ("simd"): Describe new flags. + +2015-12-04 Ilya Enkovich + + * config/i386/sse.md (_store_mask): Fix + operand checked for alignment. + +2015-12-04 Nathan Sidwell + + * config/nvptx/nvptx.c (write_one_arg): Deal with prologue + emission too. Change 'no_arg_types' to 'prototyped'. + (write_fn_proto): Use write_one_arg for stdarg, static chain & + main. + (nvptx_declare_function_name): Use write_one_arg for prologue copies. + +2015-12-04 Richard Biener + + * tree-ssa-sccvn.c (sccvn_dom_walker): Add unreachable_dom + member and initialize it. + (sccvn_dom_walker::after_dom_children): Reset unreachable_dom + if necessary. + (sccvn_dom_walker::before_dom_children): If unreachable_dom + is set BB is not reachable either. Set unreachable_dom + if not set and BB is unreachable. + +2015-12-04 Richard Biener + + * bitmap.c (bitmap_find_bit): Guard the bitmap descriptor + query with GATHER_STATISTICS. + +2015-12-04 Eric Botcazou + + PR middle-end/65958 + * gimplify.c (struct gimplify_ctx): Turn boolean fields into 1-bit + fields, add keep_stack and reorder them. + (gimplify_bind_expr): Save gimplify_ctxp->keep_stack on entry then + set it to false. Do not insert a stack save/restore pair if it has + been set to true by the gimplification of the statements. + Restore it to the saved value on exit if it is still false. + (gimplify_vla_decl): Do not set gimplify_ctxp->save_stack here. + (gimplify_call_expr) : New case. Set + either save_stack or keep_stack depending on CALL_ALLOCA_FOR_VAR_P. + * doc/extend.texi (Variable Length): Document new behavior. + * doc/generic.texi (Blocks): Document new handling of VLAs. + +2015-12-04 Eric Botcazou + Tristan Gingold + + PR middle-end/65958 + * config/aarch64/aarch64-protos.h (aarch64_output_probe_stack-range): + Declare. + * config/aarch64/aarch64.md: Declare UNSPECV_BLOCKAGE and + UNSPEC_PROBE_STACK_RANGE. + (blockage): New instruction. + (probe_stack_range_): Likewise. + * config/aarch64/aarch64.c (aarch64_emit_probe_stack_range): New + function. + (aarch64_output_probe_stack_range): Likewise. + (aarch64_expand_prologue): Invoke aarch64_emit_probe_stack_range if + static builtin stack checking is enabled. + * config/aarch64/aarch64-linux.h (STACK_CHECK_STATIC_BUILTIN): + Define to 1. + +2015-12-04 Kyrylo Tkachov + + PR target/68214 + * config/arm/arm.md (*call_mem): Delete pattern. + (*call_value_mem): Likewise. + * config/arm/arm.c (output_call_mem): Delete. + * config/arm/arm-protos.h (output_call_mem): Delete prototype. + +2015-12-04 Bin Cheng + + * config/aarch64/atomics.md (atomic_store): Use predicate + aarch64_sync_memory_operand. + +2015-12-04 Jakub Jelinek + + PR target/68655 + * config/i386/i386.c (canonicalize_vector_int_perm): New function. + (expand_vec_perm_1): Use it and recurse if everything else + failed. Use nd.perm instead of perm2. + (expand_vec_perm_even_odd_1): If testing_p, use gen_raw_REG + instead of gen_lowpart for the target. + (ix86_expand_vec_perm_const_1): Use canonicalize_vector_int_perm + and recurse if everything else failed. + +2015-12-04 Richard Biener + + PR middle-end/68636 + * builtins.c (get_pointer_alignment_1): Take care of byte to + bit alignment computation overflow. + +2015-12-04 Richard Biener + + PR middle-end/67438 + * match.pd: Guard ~X cmp ~Y -> Y cmp X and the variant with + a constant with single_use. + +2015-12-04 Bin Cheng + Jiong Wang + + * config/aarch64/aarch64.c (aarch64_legitimize_address): legitimize + address expressions like Ra + Rb + CONST and Ra + Rb< + + * alias.c (alias_set_subset_of, alias_sets_must_conflict_p): + Add short circuit for !flag_strict_aliasing + (get_alias_set): Remove flag_strict_aliasing check. + (new_alias_set): Likewise. + +2015-12-03 Evandro Menezes + + * config/aarch64/aarch64-cores.def: Use the Exynos M1 cost model. + * config/aarch64/aarch64.c (exynosm1_addrcost_table): New variable. + (exynosm1_regmove_cost): Likewise. + (exynosm1_vector_cost): Likewise. + (exynosm1_tunings): Likewise. + * config/arm/aarch-cost-tables.h (exynosm1_extra_costs): Likewise. + * config/arm/arm.c (arm_exynos_m1_tune): Likewise. + +2015-12-03 Alan Lawrence + Richard Biener + + * cfgexpand.c (pass_expand::execute): Replace call to + redirect_edge_var_map_destroy with redirect_edge_var_map_empty. + * tree-ssa.c (delete_tree_ssa): Likewise. + * function.c (set_cfun): Call redirect_edge_var_map_empty. + * passes.c (execute_one_ipa_transform_pass, execute_one_pass): Likewise. + * tree-ssa.h (redirect_edge_var_map_destroy): Remove. + (redirect_edge_var_map_empty): New. + * tree-ssa.c (redirect_edge_var_map_destroy): Remove. + (redirect_edge_var_map_empty): New. + +2015-12-03 Jeff Law + + PR tree-optimization/68599 + * loop-init.c (rtl_loop_init): Set LOOPS_HAVE_RECORDED_EXITS + in call to loop_optimizer_init. + * loop-iv.c (get_simple_loop_desc): Only allow unsafe loop + optimization to drop the assumptions/infinite notations if + the loop has a single exit. + +2015-12-03 Richard Sandiford + + * doc/md.texi (vec_load_lanes@var{m}@var{n}): Document that + the pattern cannot FAIL. + (vec_store_lanes@var{m}@var{n}): Likewise. + (maskload@var{m}@var{n}): Likewise. + (maskstore@var{m}@var{n}): Likewise. Fix a cut-&-paste error + in the name of the pattern. + (rsqrt@var{m}2): Document that mode m must be a scalar or vector + floating-point mode and that all operands have that mode. + (fmin@var{m}3, fmax@var{m}3): Likewise. Document that the + pattern cannot FAIL. + (sqrt@var{m}2): Document that mode m must be a scalar or vector + floating-point mode, that all operands have that mode, and that + the patterns cannot FAIL. Remove previous documentation referring + to @code{double} and @code{float}. + (fmod@var{m}3, remainder@var{m}3, cos@var{m}2, sin@var{m}2) + (sincos@var{m}3, log@var{m}2, pow@var{m}3, atan2@var{m}3) + (copysign@var{m}3): Likewise. + (exp@var{m}2): Likewise. Explicitly state the base. + (floor@var{m}2): As for sqrt@var{m}2, but also specify the operands. + (btrunc@var{m}2, rint@var{m}2): Likewise. + (round@var{m}2): Likewise. Fix incorrect description of rounding + effect. + (ceil@var{m}2): As for round@var{m}2. + (nearbyint@var{m}2): As for floor@var{m}2, but also mention that + the instruction must not raise an inexact condition. + (scalb@var{m}3): Document previously-undocumented pattern + (ldexp@var{m}3, tan@var{m}2, asin@var{m}2, acos@var{m}2) + (atan@var{m}2, expm1@var{m}2, exp10@var{m}2, exp2@var{m}2) + (log1p@var{m}2, log10@var{m}2, log2@var{m}2, logb@var{m}2) + (significand@var{m}2): Likewise. + (ffs@var{m}2): Fix the description of the modes, so that operand 1 has + mode m and operand 0 is defined more freely. Document that @var{m} + can be a scalar or vector integer mode and that the pattern is not + allowed to FAIL. + (clz@var{m}2, ctz@var{m}2, popcount@var{m}2, parity@var{m}2): Likewise. + (clrsb@var{m}2): Likewise, except that the description of the + mode was missing in this case. + +2015-12-03 Richard Sandiford + + * internal-fn.def (RSQRT): New function. + * optabs.def (rsqrt_optab): New optab. + * doc/md.texi (rsqrtM2): Document. + * target.def (builtin_reciprocal): Replace gcall argument with + a function decl. Restrict hook to machine functions. + * doc/tm.texi: Regenerate. + * targhooks.h (default_builtin_reciprocal): Update prototype. + * targhooks.c (default_builtin_reciprocal): Likewise. + * tree-ssa-math-opts.c: Include internal-fn.h. + (internal_fn_reciprocal): New function. + (pass_cse_reciprocals::execute): Call it, and build a call to an + internal function on success. Only call targetm.builtin_reciprocal + for machine functions. + * config/aarch64/aarch64-protos.h (aarch64_builtin_rsqrt): Remove + second argument. + * config/aarch64/aarch64-builtins.c (aarch64_expand_builtin_rsqrt): + Rename aarch64_rsqrt_2 to rsqrt2. + (aarch64_builtin_rsqrt): Remove md_fn argument and only handle + machine functions. + * config/aarch64/aarch64.c (use_rsqrt_p): New function. + (aarch64_builtin_reciprocal): Replace gcall argument with a + function decl. Use use_rsqrt_p. Remove optimize_size check. + Only handle machine functions. Update call to aarch64_builtin_rsqrt. + (aarch64_optab_supported_p): New function. + (TARGET_OPTAB_SUPPORTED_P): Define. + * config/aarch64/aarch64-simd.md (aarch64_rsqrt_2): Rename to... + (rsqrt2): ...this. + * config/i386/i386.c (use_rsqrt_p): New function. + (ix86_builtin_reciprocal): Replace gcall argument with a + function decl. Use use_rsqrt_p. Remove optimize_insn_for_size_p + check. Only handle machine functions. + (ix86_optab_supported_p): Handle rsqrt_optab. + * config/rs6000/rs6000.c (TARGET_OPTAB_SUPPORTED_P): Define. + (rs6000_builtin_reciprocal): Replace gcall argument with a + function decl. Remove optimize_insn_for_size_p check. + Only handle machine functions. + (rs6000_optab_supported_p): New function. + +2015-12-03 Bernd Schmidt + + PR target/68471 + PR target/68472 + * config/i386/i386.c (ix86_mitigate_rop): Don't call + compute_bb_for_insn again. Call df_insn_rescan_all. + * config/i386/i386.md (set_got_rex64): Override modrm_class. + + * regrename.c (build_def_use): Ignore stack regs if regstack_completed. + +2015-12-03 Nathan Sidwell + + * config/nvptx/nvptx-protos.h (npvptx_section_from_addr_space): Delete. + * config/nvptx/nvptx.c (enum nvptx_data_area): New. + (SYMBOL_DATA_AREA, SET_SYMBOL_DATA_AREA): New defines. + (nvptx_option_override): Set data ares for worker vars. + (nvptx_addr_space_from_sym): Delete. + (nvptx_encode_section_info): New. + (section_for_sym, section_for_decl): New. + (nvptx_maybe_convert_symbolic_operand): Get data area from symbol flags. + (nvptx_section_from_addr_space): Delete. + (nvptx_section_for_decl): Delete. + (nvptx_output_aligned, nvptx_declare_object_name, + nvptx_assemble_undefined_decl): Use section_for_decl, remove + unnecessary checks. + (nvptx_print_operand): Add 'D', adjust 'A'. + (nvptx_expand_worker_addr): Adjust unspec generation. + (TARGET_ENCODE_SECTION_INFO): Override. + * config/nvptx/nvptx.h (ADDR_SPACE_GLOBAL, ADDR_SPACE_SHARED, + ADDR_SPACE_CONST, ADDR_SPACE_LOCAL, ADDR_SPACE_PARAM): Delete. + * config/nvptx/nvptx.md (UNSPEC_FROM_GLOBAL, UNSPEC_FROM_LOCAL, + UNSPEC_FROM_PARAM, UNSPEC_FROM_SHARED, UNSPEC_FROM_CONST, + UNSPEC_TO_GLOBAL, UNSPEC_TO_LOCAL, UNSPEC_TO_PARAM, + UNSPEC_TO_SHARED, UNSPEC_TO_CONST): Delete. + (UNSPEC_TO_GENERIC): New. + (nvptx_register_or_symbolic_operand): Delete. + (cvt_code, cvt_name, cvt_str): Delete. + (convaddr_ [P]): Delete. + (convaddr_ [P]): New. + +2015-12-03 Kyrylo Tkachov + + PR rtl-optimization/68624 + * ifcvt.c (noce_try_cmove_arith): Check clobbers of temp regs in both + blocks if they exist and simplify the logic choosing the order to emit + them in. + +2015-12-03 Richard Biener + + PR tree-optimization/66051 + * tree-vect-slp.c (vect_build_slp_tree_1): Remove restriction + on load group size. Do not pass in vectorization_factor. + (vect_transform_slp_perm_load): Do not require any permute support. + (vect_build_slp_tree): Do not pass in vectorization factor. + (vect_analyze_slp_instance): Do not compute vectorization + factor estimate. Use vector size instead of vectorization factor + estimate to split store groups for BB vectorization. + +2015-12-03 Ilya Enkovich + + * cfgexpand.c (expand_gimple_stmt_1): Return statement with + DECL as return value is allowed to have NULL bounds. + +2015-12-03 Tom de Vries + + * graphite-isl-ast-to-gimple.c (binary_op_to_tree) + (gcc_expression_from_isl_expr_op): Guard isl_ast_op_zdiv_r usage with + HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS. + +2015-12-03 Richard Biener + + PR tree-optimization/67800 + PR tree-optimization/68333 + * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Restore + restriction to reduction contexts but allow SLP reductions as well. + (vect_recog_sad_pattern): Likewise. + (vect_recog_widen_sum_pattern): Likewise. + +2015-12-03 Richard Biener + + PR tree-optimization/68639 + * tree-vect-data-refs.c (dr_group_sort_cmp): Split groups + belonging to different loops. + (vect_analyze_data_ref_accesses): Likewise. + +2015-12-02 Kirill Yukhin + + * config/i386/sse.md (define_insn "vec_extract_hi__maskm"): + Remove "prefix_extra". + (define_insn "vec_extract_hi__mask"): New. + (define_insn "vec_extract_hi_"): Remove masking. + +2015-12-02 Jan Hubicka + + * ipa-pure-const.c (ignore_edge_for_pure_const): New function. + (propagate_pure_const): Use it; fix comments and optimize loops. + +2015-12-02 Jan Hubicka + + * ipa-pure-const.c (ignore_edge): Rename to ... + (ignore_edge_for_nothrow) ... this one; also ignore eges to + interposable functions or ones that can not throw. + (propagate_nothrow): Fix handling of availability. + +2015-12-02 Jan Hubicka + + PR ipa/68184 + * cgraphunit.c (cgraph_node::analyze): Set can_throw_external. + +2015-12-02 Aditya Kumar + Sebastian Pop + + * graphite-isl-ast-to-gimple.c (binary_op_to_tree): Handle + isl_ast_op_zdiv_r. + (gcc_expression_from_isl_expr_op): Same. + +2015-12-02 Aditya Kumar + Sebastian Pop + + * graphite-isl-ast-to-gimple.c (copy_bb_and_scalar_dependences): Check + that insertion point is still in the region. + +2015-12-02 Aditya Kumar + Sebastian Pop + + PR tree-optimization/68550 + * graphite-isl-ast-to-gimple.c (copy_loop_phi_nodes): Add dump. + (copy_bb_and_scalar_dependences): Do not code generate loop peeled + statements. + +2015-12-02 Ulrich Weigand + + * configure.ac: Check assembler support for R_PPC64_ENTRY relocation. + * configure: Regenerate. + * config.in: Regenerate. + * config/rs6000/rs6000.c (rs6000_global_entry_point_needed_p): New + function. + (rs6000_output_function_prologue): Use it instead of checking + cfun->machine->r2_setup_needed. Use internal labels instead of + GNU as local label extension. Handle ELFv2 large code model. + (rs6000_output_mi_thunk): Do not set cfun->machine->r2_setup_needed. + (rs6000_elf_declare_function_name): Handle ELFv2 large code model. + +2015-12-02 Jakub Jelinek + + PR target/68647 + * optabs.c (expand_doubleword_popcount, expand_doubleword_parity): + New functions. + (expand_unop): Use them. + +2015-12-02 Marek Polacek + + PR c++/68653 + * tree.c (nonnull_arg_p): Allow OFFSET_TYPE. + +2015-12-02 Nathan Sidwell + + * config/nvptx/nvptx.c (enum nvptx_shuffle_kind): New. Absorb + SHUFFLE defines. + (nvptx_gen_shuffle, nvptx_print_operand, nvptx_expand_shuffle): Adjust. + +2015-12-02 Aditya Kumar + Sebastian Pop + + * graphite-dependences.c (scop_get_reads): Add extra dumps. + (scop_get_must_writes): Same. + (scop_get_may_writes): Same. + (compute_deps): Same. + * graphite-sese-to-poly.c (bounds_are_valid): New. + (pdr_add_data_dimensions): Call bounds_are_valid. + +2015-12-02 Aditya Kumar + Sebastian Pop + + * common.opt (flag_loop_optimize_isl): Renamed flag_loop_nest_optimize. + * graphite-poly.c (apply_poly_transforms): Same. + * graphite.c (gate_graphite_transforms): Same. + * toplev.c (process_options): Same. + +2015-12-02 Eric Botcazou + + * config/mips/mips.c (mips_emit_probe_stack_range): Adjust. + (mips_output_probe_stack_range): Rotate the loop and simplify. + +2015-12-02 David Sherwood + + * config/aarch64/aarch64.md: New pattern. + * config/aarch64/aarch64-simd.md: Likewise. + * config/aarch64/iterators.md: New unspecs, iterators. + +2015-12-02 Pierre-Marie de Rodat + + * dwarf2out.c (dwar2out_var_location): In addition to notes, + process indirect calls whose target is compile-time known. + Enhance pattern matching to get the SYMBOL_REF they embed. + (gen_subprogram_die): Handle such calls. + * final.c (final_scan_insn): For call instructions, invoke the + var_location debug hook only after the call has been emitted. + +2015-12-02 Tom de Vries + + * gimplify.c (enum gimplify_omp_var_data): Add enum value + GOVD_MAP_FORCE. + (oacc_default_clause): Fix default for scalars in oacc kernels. + (gimplify_adjust_omp_clauses_1): Handle GOVD_MAP_FORCE. + +2015-12-02 Tom de Vries + + * omp-low.c (install_var_field, scan_sharing_clauses): Add and handle + parameter base_pointers_restrict. + (omp_target_base_pointers_restrict_p): New function. + (scan_omp_target): Call scan_sharing_clauses with + base_pointers_restrict arg. + +2015-12-02 Nathan Sidwell + + * config/nvptx/nvptx-protos.h (nvptx_output_mov_insn): Declare. + (nvptx_underlying_object_mode): Delete. + * config/nvptx/nvptx.c (nvptx_underlying_object_mode): Delete. + (output_reg): New. + (nvptx_declare_function_name): Use output_reg. Remove punning buffer. + (nvptx_output_mov_insn): New. + (nvptx_print_operand): Separate SUBREG handling, remove 'f' case, + Use output_reg. Merge 't' and 'u' handling. + * config/nvptx/nvptx.h (NVPTX_PUNNING_BUFFER_REGNUM): Delete. + (struct machine_function): Remvoe punning_buffer_size. + (REGISTER_NAMES): Remove %punbuffer. + * config/nvptx/nvptx.md (UNSPEC_CPLX_LOWPART, + UNSPEC_CPLX_HIGHPART): Delete. + (*mov_insn [QHSDIM): Remove unnecessary constraints, use + nvptx_output_mov_insn. + (*mov_insn [SDFM): Reorder constraints to match integer moc. + Use nvptx_output_mov_insn. + (highpartscsf2, set_highpartscsf2, lowpartscsf2, set_lowpartscsf2): + Delete. + (mov [SDCM]): Delete. + +2015-12-02 Richard Biener + + * tree.h (tree_invariant_p): Declare. + * tree.c (tree_invariant_p): Export. + * genmatch.c (dt_simplify::gen_1): For GENERIC code-gen never + create SAVE_EXPRs but reject patterns if we would need to. + +2015-12-02 Tom de Vries + + * tree-ssa-structalias.c (find_func_aliases_for_builtin_call) + (find_func_clobbers, ipa_pta_execute): Handle BUILT_IN_GOACC_PARALLEL. + +2015-12-02 Segher Boessenkool + + * config/rs6000/rs6000.md (cstore_si_as_di): New expander. + (cstore4): Use it. + +2015-12-02 Richard Biener + + PR tree-optimization/68625 + * tree-cfgcleanup.c (cleanup_tree_cfg_bb): Do not call + cleanup_control_flow_bb. + (cleanup_tree_cfg_1): First perform cleanup_control_flow_bb + on all BBs, then cleanup_tree_cfg_bb and finally iterate + over the worklist doing both. + +2015-12-02 Richard Sandiford + + 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. + (asin2, acosxf2, acos2, log1pxf2, log1p2) + (expNcorexf3, expxf2, exp2, exp10xf2, exp102, exp2xf2) + (exp22, expm1xf2, expm12, ldexpxf3, ldexp3) + (scalbxf3, scalb3, rint2, round2) + (xf2, 2): Likewise. + +2015-12-02 Richard Sandiford + + * 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 + + * 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 + + * config/s390/vector.md ("*vec_set"): Change shift count + mode from DI to SI. + +2015-12-02 Andreas Krebbel + + * 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 + + * config/s390/s390-builtin-types.def: Sort builtin types. + +2015-12-02 Andreas Krebbel + + * config/s390/s390-c.c (s390_get_vstring_flags): Invert the + condition for the RT flag. + +2015-12-02 Andreas Krebbel + + * 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"): Add vrepi. + +2015-12-02 Andreas Krebbel + + * config/s390/vector.md ("*vec_splats"): Fix constraint + letter I->K. + +2015-12-02 Andreas Krebbel + + * config/s390/s390.md ("bswap2"): Add support for strv and strvg. + ("bswaphi2"): New pattern. + New splitter for HI reg-reg bswap. + +2015-11-27 Jiri Engelthaler + + PR driver/68029 + * opts-common.c (prune_options): Don't ignore -fdiagnostics-color + if it is the first parameter. + +2015-12-01 Richard Sandiford + + 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 + + * 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 + + * 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 + + * c-common.c (parse_optimize_options): Do not silently ignore + -fstrict-aliasing changes. + +2015-12-01 Jan Hubicka + + * 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 + + * config/nvptx/nvptx.c (nvptx_function_arg_advance): Don't + consider mode. + +2015-12-01 Bill Schmidt + + * 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 + Cesar Philippidis + James Norris + + * 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 + + PR middle-end/68582 + * cgraphunit.c (check_global_declaration): Only depend + on TREE_THIS_VOLATILE for VAR_DECLs. + +2015-12-01 Richard Sandiford + + PR tree-optimization/68474 + * tree-call-cdce.c (use_internal_fn): Protect call to + gen_shrink_wrap_conditions. + +2015-12-01 Christian Bruel + + 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 + + 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 + + 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 + + PR ipa/68470 + * ipa-split.c (split_function): Handle main part not returning. + +2015-12-01 Ilya Enkovich + + PR middle-end/68595 + * tree-vect-stmts.c (vect_init_vector): Cast boolean + scalars to a proper value before building a vector. + +2015-12-01 Richard Sandiford + + * genattrtab.c (check_attr_test): Take an attr_desc instead of + an is_const flag. Put the file_location argument first. + Update recursive calls. Improve error messages. + (check_attr_value): Take a file location and use it instead + of attr->loc. Improve error messages. Update calls to + check_attr_test. + (check_defs): Update call to check_attr_value. + (make_canonical): Likewise. + (gen_attr): Likewise. + (main): Likewise. + (gen_insn_reserv): Update call to check_attr_test. + +2015-12-01 Ramana Radhakrishnan + + * config/aarch64/aarch64.c (aarch64_builtin_reciprocal): Fix typo. + +2015-12-01 Richard Biener + + PR middle-end/68590 + * match.pd: Merge (eq @0 @0) and (ge/le @0 @0) patterns. + +2015-12-01 Jan Hubicka + + * ipa-devirt.c (type_with_linkage_p, type_in_anonymous_namespace_p, + odr_type_p): Move to ... + * ipa-utils.h (type_with_linkage_p, type_in_anonymous_namespace_p, + odr_type_p): here; miscro-optimize. + +2015-12-01 Bin Cheng + + PR tree-optimization/68529 + * tree-ssa-loop-niter.c (number_of_iterations_ne): Add new param. + Compute no-overflow information for control iv. + (number_of_iterations_lt, number_of_iterations_le): Add new param. + (number_of_iterations_cond): Pass new argument to above functions. + +2015-11-30 Jan Hubicka + + * ipa-inline-transform.c (inline_call): Drop -fstrict-aliasing when + inlining -fno-strict-aliasing into -fstrict-aliasing body. + +2015-11-30 Aditya Kumar + Sebastian Pop + + PR tree-optimization/68565 + * graphite-isl-ast-to-gimple.c (binary_op_to_tree): Early return on + codegen_error. Fail when rhs of division operations is integer_zerop. + (ternary_op_to_tree): Early return on codegen_error. + (unary_op_to_tree): Same. + (nary_op_to_tree): Same. + (gcc_expression_from_isl_expr_op): Same. + (gcc_expression_from_isl_expression): Same. + (graphite_create_new_loop): On codegen_error continue generating + wrong code. + (graphite_create_new_loop_guard): Same. + (build_iv_mapping): Same. + (graphite_create_new_guard): Same. + +2015-11-30 Aditya Kumar + Sebastian Pop + + * graphite-isl-ast-to-gimple.c: Fix dump messages. + * graphite-scop-detection.c: Same. + * graphite-sese-to-poly.c (isl_id_for_ssa_name): Do not call get_name. + +2015-11-30 Cesar Philippidis + + * tree-nested.c (convert_nonlocal_omp_clauses): Add support for + OMP_CLAUSE_{NUM_GANGS,NUM_VECTORS,VECTOR_LENGTH,SEQ}. + (convert_local_omp_clauses): Likewise. + +2015-11-30 Tom de Vries + + PR tree-optimization/46032 + * tree-ssa-structalias.c (find_func_aliases_for_call_arg): New function, + factored out of ... + (find_func_aliases_for_call): ... here. + (find_func_aliases_for_builtin_call, find_func_clobbers): Handle + BUILT_IN_GOMP_PARALLEL. + (ipa_pta_execute): Same. Handle node->parallelized_function as a local + function. + +2015-11-30 Jakub Jelinek + + PR tree-optimization/68501 + * target.def (builtin_reciprocal): Replace the 3 arguments with + a gcall * one, adjust description. + * targhooks.h (default_builtin_reciprocal): Replace the 3 arguments + with a gcall * one. + * targhooks.c (default_builtin_reciprocal): Likewise. + * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Use + targetm.builtin_reciprocal even on internal functions, adjust + the arguments and allow replacing an internal function with normal + built-in. + * config/i386/i386.c (ix86_builtin_reciprocal): Replace the 3 arguments + with a gcall * one. Handle internal fns too. + * config/rs6000/rs6000.c (rs6000_builtin_reciprocal): Likewise. + * config/aarch64/aarch64.c (aarch64_builtin_reciprocal): Likewise. + * doc/tm.texi (builtin_reciprocal): Document. + +2015-11-30 Richard Biener + + PR tree-optimization/68592 + * tree-vect-loop.c (vect_analyze_loop_2): Reset SLP type also + on the pattern def sequence. + +2015-11-30 Nathan Sidwell + + * config/nvptx/nvptx.c (nvptx_name_replacement): Move earlier. + (write_one_arg): Reorder parms, add 'sep' param. + (nvptx_write_function_decl): Rename to ... + (write_fn_proto): ... here. Do name replacement. Emit linaer + comment marker. Deal with both decls and defns. Simplify argument + formatting. + (write_function_decl_and_comment): Delete. + (write_func_decl_from_insn): Rename to ... + (write_fn_proto_from_insn): ... here. Don't do name replacement. + (nvptx_record_fndecl): Call write_fn_proto. + (nvptx_record_libfunc): Call write_fn_proto_from_insn. + (nvptx_declare_function_name): Adjust for write_fn_proto changes. + (nvotx_output_call_insn): Call write_fn_prot_from_insn. + +2015-11-30 Kirill Yukhin + + * config/i386/i386.md (define_mode_iterator SWI1248_AVX512BW): New. + (define_insn "*k"): Use new iterator. + +2015-11-30 Eric Botcazou + + PR target/28115 + * config/sparc/sparc.c (supersparc_adjust_cost): Fix thinko. + (sparc_adjust_cost): Add missing space. + +2015-11-30 Richard Biener + + PR c/68162 + * dwarf2out.c (gen_type_die_with_usage): Keep variant types of arrays. + +2015-11-30 Venkataramanan Kumar + + * tree-if-conv.c (struct ifc_dr): Add new tree base_predicate field. + (hash_memrefs_baserefs_and_store_DRs_read_written_info): Hash + base ref, DR pairs and store base_predicate for write type DRs. + (ifcvt_memrefs_wont_trap): Guard checks with + -ftree-loop-if-convert-stores flag. + +2015-11-29 Jan Hubicka + + * cgraph.c (cgraph_node::make_local): No name is unique during + incremental linking. + * cgraph.h (can_be_discarded_p): Update comment; also common and + WEAK in named sections can be discarded; when doing incremental + link do not rely on resolution being the final one. + * varasm.c (default_binds_local_p_3, decl_binds_to_current_def_p): + When symbol can be discarded, do not rely on resolution info. + * symtab.c (symtab_node::nonzero_address): Take into account that + symbol can be discarded. + * ipa-visibility.c (update_visibility_by_resolution_info): Handle + definition correctly. + (function_and_variable_visibility): Do not set unique_name when + incrementally linking. + +2015-11-29 Nathan Sidwell + + * config/nvptx/nvptx.md (const_0_operand, global_mem_operand, + const_mem_operand, param_mem_operand, shared_mem_operand): Delete. + (ctrap): Use const0_operand. + +2015-11-29 Jan Hubicka + + * ipa-devirt.c (add_type_duplicate): Remove redundant + ODR violation dump. + +2015-11-29 David Edelsohn + + PR target/28115 + * config/rs6000/rs6000.c (rs6000_adjust_cost): Correct + recog_memoized test for insn and check recog_memoized for dep_insn. + +2015-11-28 Nathan Sidwell + + * config/nvptx/nvptx.h (FIRST_PARM_OFFSET): Add void cast. + (FRAME_POINTER_CFA_OFFSET): Define. + (struct nvptx_args): Use 'tree' type. + (INIT_CUMULATIVE_ARGS): Remove unnecessary do...while. + +2015-11-28 Tom de Vries + + * lto-wrapper.c (run_gcc): Handle -flinker-output argument. + +2015-11-27 Jonathan Wakely + + * doc/invoke.texi (Option Summary): Use negative form of + -Waggressive-loop-optimizations, remove redundant -Wpedantic-ms-format, + sort alphabetically and re-justify. + +2015-11-27 Vladimir Makarov + + PR rtl-optimization/68536 + * lra.c (lra_emit_add): Add code for null base. + * lra-constraints.c (curr_insn_transform): Skip operators for + subreg reloads. + +2015-11-27 Kyrylo Tkachov + + Revert + 2015-11-27 Kyrylo Tkachov + + * ifcvt.c (insn_valid_noce_process_p): Reject insn if it satisfies + multiple_sets. + (noce_try_cmove_arith): Add checking asserts that orig_a and orig_b + are not modified by the final modified insns in the basic blocks. + +2015-11-27 Nathan Sidwell + + * config/nvptx/nvptx-protos.h (nvptx_addr_space_from_address): + Don't declare. + * config/nvptx/nvptx.c (nvptx_addr_space_from_sym): New. + (nvptx_maybe_convert_symbolic_operand): Simplify. + (nvptx_addr_space_from_address): Delete. + (nvptx_print_operand): Adjust 'A' case. + +2015-11-27 Richard Biener + + PR tree-optimization/68559 + * tree-vect-data-refs.c (vect_analyze_group_access_1): Move + peeling for gap checks ... + * tree-vect-stmts.c (vectorizable_load): ... here and relax for SLP. + * tree-vect-loop.c (vect_analyze_loop_2): Re-set + LOOP_VINFO_PEELING_FOR_GAPS before re-trying without SLP. + +2015-11-27 Nathan Sidwell + + * config/nvptx/nvptx-protos.h (nvptx_record_needed_decl): Don't declare. + * config/nvptx/nvptx.c (write_func_decl_from_insn): Move earlier. + (nvptx_record_fndecl): Don't return value, remove force + argument. Require fndecl. + (nvptx_record_libfunc): New. + (nvptx_record_needed_decl): Deteermine how to record decl here. + (nvptx_maybe_record_fnsym): New. + (nvptx_expand_call): Don't record libfuncs here, + (nvptx_maybe_convert_symbolic_operand): Use + nvptx_maye_record_fnsym. + (nvptx_assemble_integer): Reimplement with single switch. + (nvptx_output_call_insn): Register libfuncs here. + (nvptx_file_end): Adjust nvptx_record_fndecl call. + * config/nvptx/nvptx.md (expand_movdi): Don't call + nvptx_record_needed_decl. + +2015-11-27 Richard Biener + + PR tree-optimization/68553 + * tree-vect-slp.c (vect_create_mask_and_perm): Skip VEC_PERM_EXPR + generation for 1:1 permutations. + (vect_transform_slp_perm_load): Detect 1:1 permutations. + +2015-11-27 Bernd Schmidt + + * gimple.h (nonbarrier_call_p): Declare. + * gimple.c (nonbarrier_call_p): New function. + * tree-ssa-phiopt.c (nontrapping_dom_walker::before_dom_children): + Also increment call phase for ASMs with vdef and potential barrier + calls. + +2015-11-27 Kyrylo Tkachov + + * ifcvt.c (insn_valid_noce_process_p): Reject insn if it satisfies + multiple_sets. + (noce_try_cmove_arith): Add checking asserts that orig_a and orig_b + are not modified by the final modified insns in the basic blocks. + +2015-11-27 Kyrylo Tkachov + + PR rtl-optimization/68506 + * ifcvt.c (noce_try_cmove_arith): Try emitting the else basic block + first if emit_a exists or then_bb modifies 'b'. Reindent if-else + blocks. + +2015-11-27 Martin Liska + + PR c++/68312 + * vec.h (release_vec_vec): New function. + +2015-11-27 Jakub Jelinek + + PR tree-optimization/68552 + * optabs.c (expand_vec_perm_1): Move vec_shr handling from here... + (expand_vec_perm): ... here. Do it regardless of vec_perm_const_optab + or whether v0 == v1. + +2015-11-27 Martin Liska + + * tree-ssa-uninit.c: Fix whitespaces in the source file. + The change is just automatical. + +2015-11-27 Martin Liska + + * tree-chkp.c (chkp_make_static_bounds): Release buffer + used for string. + +2015-11-27 Martin Liska + + * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): + Do not release memory for comp_alias_ddrs. + * tree-vect-loop.c (destroy_loop_vec_info): Release + the memory for all loop_vec_info. + +2015-11-27 Martin Liska + + * ipa-devirt.c (ipa_devirt): Use auto_vec instead + of a local-scope vec. + (struct final_warning_record): Use auto_vec instead of vec. + +2015-11-27 Richard Biener + + PR tree-optimization/68553 + * tree-vect-slp.c (vect_get_mask_element): Remove. + (vect_transform_slp_perm_load): Implement in a simpler way. + +2015-11-26 Alexandre Oliva + + PR rtl-optimization/67753 + PR rtl-optimization/64164 + * function.c (assign_parm_setup_block): Right-shift + upward-padded big-endian args when bypassing the stack slot. + +2015-11-26 Maciej W. Rozycki + + * doc/invoke.texi (Option Summary) : Reorder + `-mcompact-branches='. + (MIPS Options): Likewise. + +2015-11-26 Jakub Jelinek + + * Makefile.in (build/genmatch.o): Depend on internal-fn.def. + +2015-11-26 David Edelsohn + + * doc/install.texi (Prerequisites): Increase ISL requirement to + 0.14 or 0.15. + +2015-11-26 Matthew Wahab + + * config/aarch64/arm_neon.h + (vqrdmlah_laneq_s16, vqrdmlah_laneq_s32): New. + (vqrdmlahq_laneq_s16, vqrdmlahq_laneq_s32): New. + (vqrdmlsh_lane_s16, vqrdmlsh_lane_s32): New. + (vqrdmlshq_laneq_s16, vqrdmlshq_laneq_s32): New. + (vqrdmlah_lane_s16, vqrdmlah_lane_s32): New. + (vqrdmlahq_lane_s16, vqrdmlahq_lane_s32): New. + (vqrdmlahh_s16, vqrdmlahh_lane_s16, vqrdmlahh_laneq_s16): New. + (vqrdmlahs_s32, vqrdmlahs_lane_s32, vqrdmlahs_laneq_s32): New. + (vqrdmlsh_lane_s16, vqrdmlsh_lane_s32): New. + (vqrdmlshq_lane_s16, vqrdmlshq_lane_s32): New. + (vqrdmlshh_s16, vqrdmlshh_lane_s16, vqrdmlshh_laneq_s16): New. + (vqrdmlshs_s32, vqrdmlshs_lane_s32, vqrdmlshs_laneq_s32): New. + +2015-11-26 Matthew Wahab + + * config/aarch64/arm_neon.h (vqrdmlah_s16, vqrdmlah_s32): New. + (vqrdmlahq_s16, vqrdmlahq_s32): New. + (vqrdmlsh_s16, vqrdmlsh_s32): New. + (vqrdmlshq_s16, vqrdmlshq_s32): New. + +2015-11-26 Matthew Wahab + + * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Add + ARM_FEATURE_QRDMX. + +2015-11-26 Pierre-Marie de Rodat + + PR debug/53927 + * tree-nested.c (finalize_nesting_tree_1): Append a field to + hold the frame base address. + * dwarf2out.c (gen_subprogram_die): Generate for + DW_AT_static_link a location description that computes the value + of this field. + +2015-11-26 Tom de Vries + + revert: + 2015-11-25 Tom de Vries + + * cfgloop.c (find_single_latch): New function, factored out of ... + (flow_loops_find): ... here. + (verify_loop_structure): Improve verification of loop->latch. + * cfgloop.h (find_single_latch): Declare. + * omp-low.c (expand_omp_for_generic): Initialize latch of orig_loop. + +2015-11-26 Matthew Wahab + + * config/aarch64/aarch64-simd-builtins.def: + Add missing changes from r230962. + +2015-11-26 Nathan Sidwell + + * config/nvptx/nvptx.c (write_func_decl_from_insn): Replace callee + arg with name. Don't deal with split regs. Tweak formatting. + (nvptx_expand_call): Adjust write_func_decl_from_insn call. + (nvptx_output_call_insn): Don't deal with split regs here. + +2015-11-26 Matthew Wahab + + * config/aarch64/aarch64-simd-builtins.def + (sqrdmlah, sqrdmlsh): New. + (sqrdmlah_lane, sqrdmlsh_lane): New. + (sqrdmlah_laneq, sqrdmlsh_laneq): New. + +2015-11-26 Matthew Wahab + + * config/aarch64/aarch64-simd.md + (aarch64_sqmovun): Fix some white-space. + (aarch64_qmovun): Likewise. + (aarch64_sqrdmlh): New. + (aarch64_sqrdmlh_lane): New. + (aarch64_sqrdmlh_laneq): New. + * config/aarch64/iterators.md (UNSPEC_SQRDMLAH): New. + (UNSPEC_SQRDMLSH): New. + (SQRDMLH_AS): New. + (rdma_as): New. + +2015-11-26 Richard Biener + + PR tree-optimization/66721 + * tree-vect-loop.c (vect_analyze_loop_2): Compute scalar + iteration cost earlier. Re-do analysis without SLP when + vectorization using SLP fails and without has a chance to succeed. + +2015-11-26 Richard Biener + + * genmatch.c (dt_simplify::gen_1): For generic wrap all + multi-result-use captures in a SAVE_EXPR. + +2015-11-26 Matthew Wahab + + * config/aarch64/aarch64.h (AARCH64_ISA_RDMA): New. + (TARGET_SIMD_RDMA): New. + +2015-11-26 Kyrylo Tkachov + + * combine.c (subst): Do not return clobber of zero in widening mult + case. Just return x unchanged if it is a no-op substitution. + +2015-11-26 Vladimir Makarov + + PR target/68416 + * config/i386/i386.h (enum reg_class): Add + bounds registers to ALL_REGS. + +2015-11-26 Jakub Jelinek + + PR tree-optimization/68128 + * tree.h (OMP_CLAUSE_SHARED_READONLY): Define. + * gimplify.c: Include gimple-walk.h. + (enum gimplify_omp_var_data): Add GOVD_WRITTEN. + (omp_notice_variable): Set flags to n->value if n already + exists in target region, but we need to jump to do_outer. + (omp_shared_to_firstprivate_optimizable_decl_p, + omp_mark_stores, omp_find_stores_op, omp_find_stores_stmt): New + functions. + (gimplify_adjust_omp_clauses_1): Set OMP_CLAUSE_SHARED_READONLY + on OMP_CLAUSE_SHARED if it is a scalar non-addressable that is + not modified in the body. Call omp_mark_stores for outer + contexts on OMP_CLAUSE_SHARED clauses if they could be written + in the body or on OMP_CLAUSE_LASTPRIVATE. + (gimplify_adjust_omp_clauses): Add body argument, call + omp_find_stores_{stmt,op} on the body through walk_gimple_seq. + Set OMP_CLAUSE_SHARED_READONLY + on OMP_CLAUSE_SHARED if it is a scalar non-addressable that is + not modified in the body. Call omp_mark_stores for outer + contexts on OMP_CLAUSE_SHARED clauses if they could be written + in the body or on OMP_CLAUSE_LASTPRIVATE or on OMP_CLAUSE_LINEAR + without OMP_CLAUSE_LINEAR_NO_COPYOUT or on OMP_CLAUSE_REDUCTION. + (gimplify_oacc_cache, gimplify_omp_parallel, gimplify_omp_task, + gimplify_omp_for, gimplify_omp_workshare, gimplify_omp_target_update, + gimplify_expr): Adjust gimplify_adjust_omp_clauses callers. + * tree-nested.c (convert_nonlocal_omp_clauses, + convert_local_omp_clauses): Clear OMP_CLAUSE_SHARED_READONLY on + non-local vars or local vars referenced from nested routines. + * omp-low.c (scan_sharing_clauses): For OMP_CLAUSE_SHARED_READONLY + attempt to optimize it into OMP_CLAUSE_FIRSTPRIVATE. Even for + TREE_READONLY, don't call use_pointer_for_field with non-NULL + second argument until we are sure we are keeping OMP_CLAUSE_SHARED. + +2015-11-26 Paolo Bonzini + + * doc/implement-c.texi (Integers Implementation): Make GCC's promises + about signed left shift stronger and clarify the cases when they're + broken. + +2015-11-26 Kyrylo Tkachov + Bernd Schmidt + + PR rtl-optimization/67226 + * calls.c (store_one_arg): Take into account + crtl->args.pretend_args_size when checking for overlap between + arg->value and argblock + arg->locate.offset during sibcall + optimization. + +2015-11-26 Wilco Dijkstra + + * config/aarch64/aarch64.md (cbranch4): Use + aarch64_fp_compare_operand. + (store_pairsf): Use aarch64_reg_or_fp_zero. + (store_pairdf): Likewise. + (cstore4): Use aarch64_fp_compare_operand. + (cmov6): Likewise. + * config/aarch64/aarch64-ldpstp.md: Use aarch64_reg_or_fp_zero. + +2015-11-25 Aditya Kumar + Sebastian Pop + + PR tree-optimization/68453 + * graphite-isl-ast-to-gimple.c (translate_isl_ast_for_loop): Do + not redirect edges already pointing to their destination. + (translate_isl_ast_node_for): Split edges after loops to create + basic blocks for close phi nodes. Save merge points at the end of + a loop guard. + (translate_isl_ast_node_if): Save merge points at the end of the + if region. + (add_close_phis_to_outer_loops): New. + (add_close_phis_to_merge_points): New. + (copy_loop_close_phi_args): Call add_close_phis_to_merge_points. + (copy_bb_and_scalar_dependences): Do not split basic blocks on + loop close phi locations. + +2015-11-25 Jan Hubicka + + * ipa-visibility.c (cgraph_externally_visible_p, + varpool_node::externally_visible_p): When doing incremental linking, + hidden symbols may be still used later. + (update_visibility_by_resolution_info): Do not drop weak during + incremental link. + (function_and_variable_visibility): Fix formating. + * flag-types.h (lto_linker_output): Declare. + * common.opt 9flag_incremental_link): New flag. + +2015-11-25 Michael Meissner + + * config/rs6000/constraints.md (wb constraint): New constraint for + ISA 3.0 d-form scalar addressing. + + * config/rs6000/rs6000.c (mode_supports_vmx_dform): Add support + for ISA 3.0 D-form addressing to load SFmode/DFmode scalars into + Altivec registers. Add wb constraint for Altivec registers with + D-form addressing. If we have ISA 3.0 d-form support, undo + secondary reload support for using FPR registers if we want to do + D-form addressing. + (rs6000_debug_reg_global): Likewise. + (rs6000_setup_reg_addr_masks): Likewise. + (rs6000_init_hard_regno_mode_ok): Likewise. + (rs6000_secondary_reload): Likewise. + (rs6000_preferred_reload_class): Likewise. + (rs6000_secondary_reload_class): Likewise. + + * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Add wb + constraint. + + * config/rs6000/rs6000.md (f32_lr2 mode attribute): Add support + for ISA 3.0 SFmode/DFmode d-form addressing to Altivec registers. + (f32_lm2): Likewise. + (f32_li2): Likewise. + (f32_sr2): Likewise. + (f32_sm2): Likewise. + (f32_si2): Likewise. + (f64_p9): Likewise. + (extendsfdf2_fpr): Likewise. + (mov_hardfloat): Likewise. + (mov_hardfloat32): Likewise. + (mov_hardfloat64): Likewise. + + * doc/md.texi (RS/6000 constraints): Document wb constraint. + Fixup we constraint documentation. + +2015-11-25 Tom de Vries + + * omp-low.c (pass_expand_omp_ssa::clone): New function. + * passes.def: Add pass_oacc_kernels pass group. + * tree-ssa-loop-ch.c (pass_ch::clone): New function. + +2015-11-25 Tom de Vries + + * tree-pass.h (make_pass_oacc_kernels, make_pass_oacc_kernels2): + Declare. + * tree-ssa-loop.c (gate_oacc_kernels): New static function. + (pass_data_oacc_kernels, pass_data_oacc_kernels2): New pass_data. + (class pass_oacc_kernels, class pass_oacc_kernels2): New pass. + (make_pass_oacc_kernels, make_pass_oacc_kernels2): New function. + +2015-11-25 Jan Hubicka + + * timevar.def (TV_IPA_LTO_DECOMPRESS, TV_IPA_LTO_COMPRESS, + TV_IPA_LTO_OUTPUT): New. + * lto-compress.c: Include timevar.h + (lto_end_compression, lto_end_uncompression): Add timers. + * langhooks.c: Include timevar.h. + (lhd_append_data): Add timer. + +2015-11-25 Jan Hubicka + + * varasm.c (default_elf_asm_output_limited_string, + default_elf_asm_output_ascii): Replace fprintf by putc. + +2015-11-25 Vladimir Makarov + + PR rtl-optimization/67954 + * lra-constraints.c (curr_insn_transform): Add check on scratch + pseudo when change class to NO_REGS. Add an assert. + +2015-11-25 Nathan Sidwell + + * config/nvptx/nvptx.md (load_arg_reg): Arg number + constraint is 'n'. + * config/nvptx/nvptx.c (write_one_arg): Use 'i' directly as arg number. + (nvptx_write_function_decl): Number args from 0. + (nvptx_declare_function_name): Likewise. + (nvptx_function_incoming_arg): Likewise. + (nvptx_output_call_insn): Correct formatting. + +2015-11-25 David Sherwood + + * optabs.def: Add new optabs fmax_optab/fmin_optab. + * internal-fn.def: Add new fmax/fmin internal functions. + * doc/md.texi: Add fmin and fmax patterns. + +2015-11-25 Jason Merrill + + PR c++/68385 + * tree.c (integer_zerop, integer_onep, integer_each_onep) + (integer_all_onesp, integer_minus_onep, integer_pow2p) + (integer_nonzerop, integer_truep, tree_log2, tree_floor_log2) + (real_zerop, real_onep, real_minus_onep): Remove STRIP_NOPS. + +2015-11-25 Richard Biener + + PR middle-end/68528 + * fold-const.c (fold_binary_loc): Do not call negate_expr_p + on stripped operands. + +2015-11-25 Nathan Sidwell + + * config/nvptx/nvptx.c (walk_args_for_params): Delete. + (nvptx_declare_function_name): Move assignments next to register + declarations, and process params here. + +2015-11-25 David Edelsohn + + * config/rs6000/rs6000.c (rs6000_declare_alias): Rename and globalize + both the symbol and the "dot" symbol for function descriptors. Fix + inversion for rename of symbols with dollar sign. + +2015-11-25 Tom de Vries + + * cfgloop.c (find_single_latch): New function, factored out of ... + (flow_loops_find): ... here. + (verify_loop_structure): Improve verification of loop->latch. + * cfgloop.h (find_single_latch): Declare. + * omp-low.c (expand_omp_for_generic): Initialize latch of orig_loop. + +2015-11-25 Rainer Orth + + * config/sol2.h (SUPPORTS_INIT_PRIORITY): Move up. + (STARTFILE_VTV_SPEC, ENDFILE_VTV_SPEC): Define. + (STARTFILE_SPEC): Use %(startfile_vtv). + (ENDFILE_SPEC): Use %(endfile_vtv). + (SUBTARGET_EXTRA_SPECS): Handle STARTFILE_VTV_SPEC, + ENDFILE_VTV_SPEC. + + * gcc.c (LINK_COMMAND_SPEC): Move VTABLE_VERIFICATION_SPEC after %{L*}. + +2015-11-25 Bernd Schmidt + + * ifcvt.c (noce_mem_write_may_trap_or_fault_p, + noce_can_store_speculate): Delete. + (noce_process_if_block): Don't try to handle single MEM stores. + * rtl.h (memory_must_be_modified_in_insn_p): Don't declare. + * alias.c (memory_must_be_modified_in_insn_p): Delete. + +2015-11-25 Kyrylo Tkachov + + PR rtl-optimization/68435 + * ifcvt.c (noce_try_cmove_arith): Skip final insn when checking + for conflicts between a, b and the set destinations. + +2015-11-25 Richard Biener + + PR tree-optimization/68517 + * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): + Properly handle zero-sized types. + +2015-11-24 Jan Hubicka + + * ipa-inline-analysis.c: Include gimplify.h + (set_cond_stmt_execution_predicate, + set_switch_stmt_execution_predicate): Be sure to not leak locations + to function body. + +2015-11-25 Jakub Jelinek + + PR target/67089 + * tree-ssa-math-opts.c (uaddsub_overflow_check_p, + match_uaddsub_overflow): New functions. + (pass_optimize_widening_mul::execute): Call match_uaddsub_overflow. + +2015-11-25 Richard Biener + + PR tree-optimization/68492 + * tree-vect-slp.c (vect_build_slp_tree): Consistently build up + op from scalars after operand swapping. + +2015-11-25 Richard Biener + + PR tree-optimization/68502 + * tree-vect-data-refs.c (vect_analyze_group_access_1): Restore + check that the step is a multiple of the type size. + +2015-11-24 Michael Collison + + * config/aarch64/aarch64-simd.md (widen_ssum, widen_usum) + (aarch64_w_internal): New patterns + * config/aarch64/iterators.md (Vhalf, VDBLW): New mode attributes. + +2015-11-24 Steve Ellcey + + * frame-header-opt.c (gate): Check for optimize > 0. + (has_inlined_assembly): New function. + (needs_frame_header_p): Remove is_leaf_function check, + add argument type check. + (callees_functions_use_frame_header): Add is_leaf_function + and has_inlined_assembly calls.. + (set_callers_may_not_allocate_frame): New function. + (frame_header_opt): Add is_leaf_function call, add + set_callers_may_not_allocate_frame call. + * config/mips/mips.c (mips_compute_frame_info): Add check + to see if callee saved regs can be put in frame header. + (mips_expand_prologue): Add check to see if step1 is zero, + fix cfa restores when using frame header to store regs. + (mips_can_use_return_insn): Check to see if registers are + stored in frame header. + * config/mips/mips.h (machine_function): Add + callers_may_not_allocate_frame and + use_frame_header_for_callee_saved_regs fields. + +2015-11-24 Segher Boessenkool + + PR rtl-optimization/68520 + * shrink-wrap.c (try_shrink_wrapping): Don't push a block to VEC if + its bit was already set in BB_WITH. + +2015-11-24 Jan Hubicka + + * alias.c (get_alias_set): Before checking TYPE_ALIAS_SET_KNOWN_P + double check that type is main variant. + * tree.c (build_variant_type_copy): Clear TYPE_ALIAS_SET when producing + variant. + (verify_type_variant): Verify that variants have no + TYPE_ALIAS_SET_KNOWN_P set + * tree-streamer-out.c (pack_ts_type_common_value_fields): Reorder + streaming so constant fields come first; stream TYPE_ALIAS_SET==0 + only for main variants; stream TYPE_ALIAS_SET as a bit. + * tree-streamer-in.c (unpack_ts_type_common_value_fields): Update + accordingly. + +2015-11-24 Jan Hubicka + + * tree.c (make_vector_type): Properly compute canonical type of the + main variant. + (verify_type): Verify that TYPE_CANONICAL of TYPE_MAIN_VARIANT is + a main variant. + +2015-11-24 Nathan Sidwell + + * config/nvptx/nvptx.c (maybe_split_mode): Return new mode or + VOIDmode, don't alter incoming mode. + (nvptx_split_reg_p): Delete. + (write_one_arg, walk_args_for_param, nvptx_declare_function_name, + write_func_decl_from_insn, nvptx_output_call_insn): Adjust + maybe_split_mode calls. + (nvptx_print_operand): Use maybe_split_mode. + +2015-11-24 Jan Hubicka + + * lto-streamer-in.c (lto_read_body_or_constructor): Set TYPE_CANONICAL + only for types where LTO sets them. + * tree.c (build_array_type_1): Do ont set TYPE_CANONICAL for LTO. + (make_vector_type): Likewise. + (gimple_canonical_types_compatible_p): Use canonical_type_used_p. + * tree.h (canonical_type_used_p): New inline. + * alias.c (get_alias_set): Handle structural equality for all + types that pass canonical_type_used_p. + (record_component_aliases): Look through all types with + record_component_aliases for possible pointers; sanity check that + the alias sets match. + +2015-11-24 Michael Meissner + + * config/rs6000/rs6000.md (lrounddi2): Remove constraints. + +2015-11-24 Jan Hubicka + + * tree.c (free_node): New function. + (type_hash_canon): Use it. + * tree.h (free_node): Declare. + +2015-11-24 David Edelsohn + Michael Meissner + + * config/rs6000/rs6000.md (UNSPEC_XSRDPI): New unspec. + (Fv2): New mode attribute to be used when ISA 2.07 instructions + are used on SF values, and ISA 2.06 instructions on DF values. + (add3_fpr): Use instead of . + (sub3_fpr): Use instead of . + (mul3_fpr): Use instead of . + (div3_fpr): Use instead of . + (sqrt2): Use instead of . + (fre): Use instead of . + (rsqrt2): Use instead of . + (cmp_fpr): Use instead of . + (xsrdpi): Add support for the lround function. + (lrounddi2): Likewise. + (fma4_fpr): Use instead of . + (fms4_fpr): Use instead of . + (nfma4_fpr): Use instead of . + (nfms4_fpr): Use instead of . + +2015-11-24 Aditya Kumar + Sebastian Pop + + PR tree-optimization/67984 + * graphite-isl-ast-to-gimple.c (is_constant): New. + (get_rename): Call is_constant. + (get_new_name): Same. + +2015-11-24 Aditya Kumar + Sebastian Pop + + * graphite-dependences.c: Only include graphite.h. + * graphite-isl-ast-to-gimple.c: Same. + * graphite-optimize-isl.c: Same. + * graphite-poly.c: Same. + * graphite-scop-detection.c: Same. + * graphite-sese-to-poly.c: Same. + * graphite.c: Same. + * graphite-isl-ast-to-gimple.h: Move to graphite.h. + * graphite-poly.h: Same. + * graphite-scop-detection.h: Same. + * graphite.h: New. + +2015-11-24 Pierre-Marie de Rodat + + * dwarf2out.c (gen_decl_die): Generate DW_TAG_imported_* instead of + DW_TAG_namespace for IMPORTED_DECL declarations. Call + dwarf2out_imported_module_or_decl_1 for all DWARF versions as this + function already takes care of checking what it can emit. + +2015-11-24 Szabolcs Nagy + + * doc/invoke.texi (-fpic): Add the AArch64 limit. + (-fPIC): Add AArch64. + +2015-11-24 Tom de Vries + + * tree-ssa-loop-im.c (tree_ssa_lim): Make static. + (pass_lim::execute): Allow to run outside pass_tree_loop. + +2015-11-24 Wilco Dijkstra + + * config/aarch64/aarch64.md (add3): + Block early expansion into 2 add instructions. + (add3_pluslong): New pattern to combine complex + immediates into 2 additions. + +2015-11-24 Segher Boessenkool + + PR target/66217 + PR target/67677 + PR target/68332 + * config/rs6000/predicates.md (and_operand): Check that the operand + is a const_int before calling rs6000_is_valid_and_mask. + +2015-11-24 Kyrylo Tkachov + + * config/aarch64/aarch64.md (*condjump): Rename to... + (condjump): ... This. + (*compare_condjump): New define_insn_and_split. + (*compare_cstore_insn): Likewise. + (*cstore_insn): Rename to... + (cstore_insn): ... This. + * config/aarch64/iterators.md (CMP): Handle ne code. + * config/aarch64/predicates.md (aarch64_imm24): New predicate. + +2015-11-24 Mikhail Maltsev + + PR target/68497 + * config/i386/i386.c (output_387_binary_op): Fix assertion for + -fno-checking case. + +2015-11-24 Trevor Saunders + + * tree-ssa-uncprop.c (struct val_ssa_equiv_hash_traits): Remove. + (val_ssa_equiv_hash_traits::remove): Likewise. + (pass_uncprop::execute): Adjust. + +2015-11-24 Trevor Saunders + + * hash-map-traits.h (simple_hashmap_traits ::remove): call + destructors on values that are being removed. + * mem-stats.h (hash_map): Pass type of values to + simple_hashmap_traits. + * tree-sra.c (sra_deinitialize): Remove work around for hash + maps not destructing values. + * genmatch.c (sinfo_hashmap_traits): Adjust. + * tree-ssa-uncprop.c (val_ssa_equiv_hash_traits): Likewise. + +2015-11-24 Richard Biener + Kyrylo Tkachov + + PR middle-end/68375 + * cfgloop.c (get_loop_body_in_bfs_order): Restructure loop to avoid + bogus assertion. + +2015-11-24 Jakub Jelinek + + PR target/68483 + * tree-vect-generic.c (lower_vec_perm): If VEC_PERM_EXPR + is valid vec_shr pattern, don't lower it even if can_vec_perm_p + returns false. + * optabs.c (shift_amt_for_vec_perm_mask): Return NULL_RTX + whenever first is nelt or above. Don't mask expected with + 2 * nelt - 1. + +2015-11-24 Ilya Enkovich + + PR c/68337 + * gimple-fold.c: Include ipa-chkp.h. + (gimple_fold_builtin_memory_op): Don't fold call if we + are going to instrument it and it may copy pointers. + +2015-11-24 Bernd Schmidt + Kyrylo Tkachov + + PR rtl-optimization/68194 + PR rtl-optimization/68328 + PR rtl-optimization/68185 + * ree.c (combine_reaching_defs): Reject copy_needed case if + copies_list is not empty. + +2015-11-24 Richard Biener + + PR middle-end/68221 + * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Properly + use mem_ref_offset. + +2015-11-24 Segher Boessenkool + + PR rtl-optimization/68381 + * combine.c (is_parallel_of_n_reg_sets): Return false if the pattern + is poisoned. + +2015-11-23 Nick Clifton + Jeff Law + + * ree.c (add_removable_extension): Avoid mis-optimizing cases where + the source/dest of the target extension require a different number of + hard registers. + (combine_set_extension): Remove #if 0 code. + +2015-11-23 Aditya Kumar + Sebastian Pop + + PR tree-optimization/68314 + * graphite-optimize-isl.c (optimize_isl): Do not call + isl_union_map_is_equal. + * graphite-poly.c (new_scop): Remove original_schedule. + (free_scop): Same. + * graphite-poly.h (struct scop): Same. + * graphite-sese-to-poly.c (build_pbb_minimal_scattering_polyhedrons): + Remove. + (build_pbb_scattering_polyhedrons): Add back. + (build_scop_minimal_scattering): Remove. + (build_scop_scattering): Add back. + (build_scop_original_schedule): Remove. + (build_poly_scop): Revert to only call build_scop_scattering. + +2015-11-23 Aditya Kumar + Sebastian Pop + + PR tree-optimization/68493 + * graphite-isl-ast-to-gimple.c (translate_pending_phi_nodes): Add + missing early return when codegen_error is set. + +2015-11-23 Aditya Kumar + Sebastian Pop + + PR tree-optimization/68279 + * graphite-poly.c (new_scop): Remove poly_scop_p. + * graphite-poly.h (struct scop): Same. + (build_poly_scop): Declare. + * graphite-sese-to-poly.c: Do not include graphite-sese-to-poly.h. + (cleanup_loop_iter_dom): New. + (build_loop_iteration_domains): Early return when scev analysis fails. + (create_pw_aff_from_tree): Same. + (add_condition_to_pbb): Same. + (add_conditions_to_domain): Same. + (add_conditions_to_constraints): Same. + (build_scop_iteration_domain): Same. + (build_poly_scop): Same. Do not initialize poly_scop_p. + * graphite-sese-to-poly.h: Remove. + * graphite.c: Do not include graphite-sese-to-poly.h. + (graphite_transform_loops): Stop before code generation when + build_poly_scop fails. + * sese.c (scalar_evolution_in_region): Add fixme note about scev + analysis. + +2015-11-23 Aditya Kumar + Sebastian Pop + + * graphite-isl-ast-to-gimple.c (translate_isl_ast_node_user): + Remove call to update_ssa. + * sese.c (sese_insert_phis_for_liveouts): Same. + +2015-11-23 Marek Polacek + + PR tree-optimization/68455 + * tree-vrp.c (extract_range_from_binary_expr_1): Don't call + extract_range_from_multiplicative_op_1 on symbolic ranges. + +2015-11-23 Richard Henderson + + * optabs.def (uaddv4_optab, usubv4_optab): New. + * internal-fn.c (expand_addsub_overflow): Use them. + * doc/md.texi (Standard Names): Add uaddv4, usubv4. + + * config/i386/i386.c (ix86_cc_mode): Extend add overflow check + to reversed operands. + * config/i386/i386.md (uaddv4, usubv4): New. + (*add3_cconly_overflow_1): Rename *add3_cconly_overflow. + (*add3_cc_overflow_1): Rename *add3_cc_overflow. + (*addsi3_zext_cc_overflow_1): Rename *add3_zext_cc_overflow. + (*add3_cconly_overflow_2): New. + (*add3_cc_overflow_2): New. + (*addsi3_zext_cc_overflow_2): New. + +2015-11-23 Richard Biener + + PR tree-optimization/68465 + * tree-ssa-sccvn.c (sccvn_dom_walker::before_dom_children): + Also record equalities from multiple predecessor blocks if + only one non-backedge exists. + +2015-11-23 Kyrylo Tkachov + + PR target/68363 + * config/aarch64/aarch64.c (aarch64_madd_needs_nop): Reject arguments + that are not INSN_P. + +2015-11-23 Bilyan Borisov + + * config/aarch64/aarch64-builtins.c + (aarch64_gimple_fold_builtin): Fold FMULX. + +2015-11-23 David Edelsohn + + * system.h: Don't poison calloc and strdup if USES_ISL is defined. + * graphite-dependences.c: Define USES_ISL. Include ISL header files + after GCC header files and before graphite header files. + * graphite-dependences.c: Same. + * graphite-isl-ast-to-gimple.c: Same. + * graphite-optimize-isl.c: Same. + * graphite-poly.c: Same. + * graphite-scop-detection.c: Same. + * graphite-sese-to-poly.c: Same. + * graphite.c: Same. + +2015-11-23 Richard Biener + Jiong Wang + + PR tree-optimization/68317 + PR tree-optimization/68326 + * tree-vrp.c (adjust_range_with_scev): Call drop_tree_overflow if the + final min and max are not infinity. + +2015-11-23 Ilya Enkovich + Richard Biener + + PR tree-optimization/68327 + * tree-vect-loop.c (vect_determine_vectorization_factor): Don't + compute vectype for non-relevant mask producers. + * tree-vect-stmts.c (vectorizable_comparison): Check stmt + relevance earlier. + +2015-11-23 Tom de Vries + + PR tree-optimization/68460 + * tree-parloops.c (gather_scalar_reductions): Also call + free_stmt_vec_info_vec if simple_loop_info == NULL. + +2015-11-23 Maxim Ostapenko + + * opts.c (finish_options): Allow -fsanitize-recover=address for + userspace sanitization. + * asan.c (asan_expand_check_ifn): Redefine recover_p. + * doc/invoke.texi (fsanitize-recover): Update documentation. + +2015-11-23 Tom de Vries + + * omp-low.c (build_receiver_ref): Mark by_ref mem_ref as non-trapping. + +2015-11-23 Richard Biener + + PR tree-optimization/68445 + * tree-vect-slp.c (vect_create_mask_and_perm): Properly use + two different strides. + +2015-11-23 Robin Dapp + + * config/s390/s390.h: Add new symref flags, _NOTALIGN2 etc. + * config/s390/s390.c (s390_check_symref_alignment): Use new + symref flags, early abort on wrong alignment + (s390_secondary_reload): Use new symref flags. + (s390_encode_section_info): Likewise. + * config/s390/predicates.md: Likewise. + +2015-11-23 Kugan Vivekanandarajah + + PR target/68390 + * config/arm/arm.c (arm_function_ok_for_sibcall): Get function type + for indirect function call. + +2015-11-22 Bilyan Borisov + + * config/aarch64/aarch64-simd.md + (*aarch64_mulx_elt_, VDQSF): New. + (*aarch64_mulx_elt, VDQF): Likewise. + (*aarch64_mulx_elt_to_64v2df): Likewise. + (*aarch64_vgetfmulx, VDQF_DF): Likewise. + * config/aarch64/arm_neon.h (vmulx_lane_f32): New. + (vmulx_lane_f64): Likewise. + (vmulxq_lane_f32): Refactored & moved. + (vmulxq_lane_f64): Likewise. + (vmulx_laneq_f32): New. + (vmulx_laneq_f64): Likewise. + (vmulxq_laneq_f32): Likewise. + (vmulxq_laneq_f64): Likewise. + (vmulxs_lane_f32): Likewise. + (vmulxs_laneq_f32): Likewise. + (vmulxd_lane_f64): Likewise. + (vmulxd_laneq_f64): Likewise. + +2015-11-21 Jan Hubicka + + * tree.c (build_pointer_type_for_mode,build_reference_type_for_mode): + In LTO we do not compute TYPE_CANONICAL of pointers. + (gimple_canonical_types_compatible_p): Improve coments; sanity check + that pointers do not have canonical type that would make us believe + they are different. + * alias.c (get_alias_set): Do structural type equality on pointers; + enable pointer path for LTO; also glob pointer to vector with pointer + to vector element; glob pointers and references for LTO; do more strict + sanity checking about build_pointer_type returning the canonical type + which is also the main variant. + (record_component_aliases): When component type is pointer and we + do LTO; record void_type_node alias set. + +2015-11-21 Nathan Sidwell + + * config/nvptx/nvptx.md (clz2): Use operand 1 for type. + + * config/nvptx/nvptx.c (write_function_decl_and_comment): Print + leading blank line. + (write_func_decl_from_insn): Likewise. + (init_output_initializer, nvptx_assemble_undefined_decl): Likewise. + (nvptx_file_end): Likewise. + (nvptx_function_end): Undent output. + (nvptx_expand_call): Fix formatting. + (nvptx_output_call_insn): Indent output. + * config/nvptx/nvptx.h (ASM_OUTPUT_ALIGNED_DECL_COMMON, + ASM__OUTPUT_ALIGNED_DECL_LOCAL): Print leading blank line. + +2015-11-21 Jakub Jelinek + + PR debug/66432 + * tree-inline.c (copy_debug_stmt): If + gimple_debug_source_bind_get_value is DECL_ORIGIN of a PARM_DECL + in decl_debug_args, don't call remap_gimple_op_r on it. + +2015-11-07 Jan Hubicka + + * ipa-icf.c (sem_item::add_type): Do not look for TYPE_CANONICAL; + do not check AGGREGATE_TYPE_P when adding TYPE_MODE; + Check that all record types are complete. + * ipa-icf-gimple.c (func_checker::compatible_types_p): Do not + compare alias sets for types w/o alias sets. + +2015-11-20 Eric Botcazou + + * config/sparc/sparc.md (umulxhi_vis): Move around. + (*umulxhi_sp64): Likewise. + (umulxhi_v8plus): Likewise. + (xmulx_vis): Likewise. + (*xmulx_sp64): Likewise. + (xmulx_v8plus): Likewise. + (xmulxhi_vis): Likewise. + (*xmulxhi_sp64): Likewise. + (xmulxhi_v8plus): Likewise. + +2015-11-20 David Malcolm + + PR 62314 + * diagnostic-show-locus.c (colorizer::set_fixit_hint): New. + (class layout): Update comment + (layout::print_any_fixits): New method. + (layout::move_to_column): New method. + (diagnostic_show_locus): Add call to layout.print_any_fixits. + +2015-11-20 Jakub Jelinek + + PR middle-end/68221 + * omp-low.c (lower_rec_input_clauses): If C/C++ array reduction + has non-zero bias, subtract it in integer type instead of + pointer plus of negated bias. + + PR middle-end/68339 + * omp-low.c (expand_simd_clones): Call node->get_body () before + allocating stuff in GC. + +2015-11-20 Jim Wilson + + * tree-vect-data-refs.c (compare_tree): Call STRIP_NOPS. + +2015-11-20 Evandro Menezes + + * config/aarch64/aarch64.md (predicated): Copy attribute from + "arm.md". + * config/arm/arm.md (predicated): Added description. + +2015-11-20 Kyrylo Tkachov + + * config/arm/arm.c (arm_option_override): Require TARGET_32BIT + for unaligned_access. + * config/arm/arm.md (unaligned_loadsi): Remove redundant TARGET_32BIT + from matching condition. + (unaligned_loadhis): Likewise. + (unaligned_loadhiu): Likewise. + (unaligned_storesi): Likewise. + (unaligned_storehi): Likewise. + +2015-11-20 Kyrylo Tkachov + + PR target/68149 + * config/arm/arm.md (unaligned_loaddi): Delete. + (unaligned_storedi): Likewise. + * config/arm/arm.c (gen_movmem_ldrd_strd): Don't generate + unaligned DImode memory ops. Instead perform two back-to-back + unaligned SImode ops. + +2015-11-20 Nathan Sidwell + James Norris + + * config/nvptx/nvptx.c (nvptx_use_anchors_for_symbol_p): New. + (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Override. + +2015-11-20 Alan Hayward + + PR tree-optimization/68413 + * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Cache + evolution base + (vectorizable_reduction): Use cached base + +2015-11-20 Tom de Vries + + * tree-parloops.c (build_new_reduction): Fix trailing whitespace in + dump-file string. + (try_create_reduction_list): Same. Fix typo in dump-file string. + +2015-11-20 Eric Botcazou + + * doc/md.texi (Standard Names): Move entry for addptr3 around, + add entries for addv4, subv4, mulv4, umulv4 and negv3, fixes + glitch in entries for cbranch4 and jump. + +2015-11-20 Tom de Vries + + PR tree-optimization/68373 + * tree-scalar-evolution.c (final_value_replacement_loop): Factor out + of ... + (scev_const_prop): ... here. + * tree-scalar-evolution.h (final_value_replacement_loop): Declare. + * tree-parloops.c (try_create_reduction_list): Call + final_value_replacement_loop. + +2015-11-20 Bin Cheng + + PR tree-optimization/52272 + * tree-ssa-loop-ivopts.c (struct iv_common_cand): New struct. + (struct iv_common_cand_hasher): New struct. + (iv_common_cand_hasher::hash): New function. + (iv_common_cand_hasher::equal): New function. + (struct ivopts_data): New fields, iv_common_cand_tab and + iv_common_cands. + (tree_ssa_iv_optimize_init): Initialize above fields. + (record_common_cand, common_cand_cmp): New functions. + (add_iv_candidate_derived_from_uses): New function. + (add_iv_candidate_for_use): Record iv_common_cands derived from + iv use in hash table, instead of adding candidates directly. + (add_iv_candidate_for_uses): Call add_iv_candidate_derived_from_uses. + (record_important_candidates): Add important candidates to iv uses' + related_cands. Always keep related_cands for future use. + (try_add_cand_for): Use iv uses' related_cands. + (free_loop_data, tree_ssa_iv_optimize_finalize): Release new fields + in struct ivopts_data, iv_common_cand_tab and iv_common_cands. + +2015-11-20 Andreas Krebbel + + * config/s390/s390.md ("bswaphi2"): New pattern. + +2015-11-20 Dominik Vogt + + * config/s390/s390.md (GPR1_REGNUM): New constant. + ("*trunc2") + ("*trunc2") + ("trunc2") + ("trunc2") + ("*extend2") + ("*extend2") + ("extend2") + ("extend2"): Clobber r1. + +2015-11-19 Aditya Kumar + Sebastian Pop + + PR tree-optimization/68428 + * graphite-scop-detection.c (harmful_stmt_in_region): Do not iterate + over basic blocks outside the scop. + +2015-11-19 Aditya Kumar + Sebastian Pop + + PR tree-optimization/68341 + * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Remove + gcc_unreachable and safely fail codegen. + (copy_loop_close_phi_args): Do not insert merge phis in a basic + block with loop phi nodes. + (edge_for_new_close_phis): New. + (copy_bb_and_scalar_dependences): Call edge_for_new_close_phis. + +2015-11-19 Nathan Sidwell + + * config/nvptx/nvptx.h (SUPPORTS_WEAK): Define. + * config/nvptx/nvptx.c (nvptx_write_function_decl): Support DECL_WEAK. + (nvptx_declare_objec_name): Likewise. + +2015-11-19 Aditya Kumar + + * graphite-isl-ast-to-gimple.c (get_true_edge_from_guard_bb): Move... + (get_false_edge_from_guard_bb): Move... + * sese.c (get_false_edge_from_guard_bb) + (get_true_edge_from_guard_bb): ... here. + +2015-11-19 David Edelsohn + + Revert + 2015-11-18 Alan Modra + + * config/rs6000/rs6000.c (use_toc_relative_ref): Ignore + type-limits warning. + + +2015-11-19 Senthil Kumar Selvaraj + + * tree.h (desired_pro_or_demotion_p): New function. + * tree-vrp.c (simplify_cond_using_ranges): Call it. + +2015-11-19 Michael Matz + + PR rtl-optimization/68392 + * fwprop.c (update_uses): Use flag_checking instead of + gcc_checking_assert. + +2015-11-19 David Malcolm + + * doc/gty.texi (Support for inheritance): Fix missing + parentheses in example. + +2015-11-19 Marek Polacek + + PR tree-optimization/68431 + * tree-vrp.c (extract_range_from_binary_expr_1): Fix condition. + +2015-11-19 Nathan Sidwell + + * config/nvptx/nvptx.md (atomic_compare_and_swap_1, + atomic_exchange): Input values can be immediates. + +2015-11-19 Eric Botcazou + + PR lto/61313 + * configure.ac (PLUGIN_LD_SUFFIX): Do not touch the value specified + by the user. + * configure: Regenerate. + +2015-11-19 Eric Botcazou + + PR target/68408 + * config/sparc/sp-elf.h (CTORS_SECTION_ASM_OP): Undefine. + (DTORS_SECTION_ASM_OP): Likewise. + +2015-11-19 Jakub Jelinek + + PR rtl-optimization/68376 + * ifcvt.c (noce_try_abs): Disable one_cmpl optimization if + encountering x <= 0 ? ~x : x or x > 0 ? ~x : x. + +2015-11-19 Richard Biener + + PR middle-end/68117 + * tree-ssa.c (delete_tree_ssa): Revert removal of call to + redirect_edge_var_map_destroy. + +2015-11-19 Jakub Jelinek + + PR target/67770 + * config/i386/i386.md (simple_return): Disable if + ix86_static_chain_on_stack is true. + +2015-11-19 Richard Sandiford + + PR bootstrap/68393 + * internal-fn.c (expand_direct_optab_fn): Handle SUBREG_PROMOTED_VAR_P + destinations. + +2015-11-18 Jeff Law + + PR tree-optimization/68198 + * tree-ssa-threadupdate.c (valid_jump_thread_path): Distinguish + between threading a multi-way branch and a thread path that contains + a multi-way branch. Disallow the case where a path contains a + multi-way branch and does not thread a multi-way branch. + (thread_through_all_blocks): Update comment. + +2015-11-18 Joseph Myers + + PR c/65083 + * ginclude/stdatomic.h (atomic_thread_fence, atomic_signal_fence) + (atomic_flag_test_and_set, atomic_flag_test_and_set_explicit) + (atomic_flag_clear, atomic_flag_clear_explicit): Declare as + functions before defining as macros. + +2015-11-18 Nathan Sidwell + + * config/nvptx/nvptx.c (nvptx_process_pars): Fix whitespace. + (nvptx_record_offload_symbol): Remove code compensating for lack + of default dimension handling. + (nvptx_goacc_validate_dims): Remove incorrect ARG_UNUSED markers. + +2015-11-18 Aditya Kumar + + * graphite-isl-ast-to-gimple.c (copy_loop_phi_args): Change the return + type to bool for early exit. + (translate_isl_ast_to_gimple::copy_loop_phi_nodes): Early return + in case of error. + (translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same. + (add_phi_arg_for_new_expr): Enable codegen for if-block where one + predecessor dominates the other. + (translate_isl_ast_to_gimple::copy_cond_phi_args): Fix. When the + element is not found it returns -1. + (translate_isl_ast_to_gimple::translate_pending_phi_nodes): Bail + out early when codegen fails. + (graphite_regenerate_ast_isl): Remove codegen region when pending + phis could not be generated. + +2015-11-18 Aditya Kumar + + * graphite-isl-ast-to-gimple.c (struct ast_build_info): Remove + semicolon. + (class translate_isl_ast_to_gimple): Indentation. + (translate_pending_phi_nodes): Comment. + (add_parameters_to_ivs_params): Moved from sese.c inside class + translate_isl_ast_to_gimple. + (get_max_schedule_dimensions): Same. + (generate_isl_context): Same. + (extend_schedule): Same. + (generate_isl_schedule): Same. + (set_options): Same. + (scop_to_isl_ast): Same. + (is_valid_rename): Same. + (get_rename): Same. + (get_rename_from_scev): Same. + (get_def_bb_for_const): Same. + (get_new_name): Same. + (collect_all_ssa_names): Same. + (copy_loop_phi_args): Same. + (copy_loop_phi_nodes): Same. + (copy_loop_close_phi_args): Same. + (copy_loop_close_phi_nodes): Same. + (copy_cond_phi_args): Same. + (copy_cond_phi_nodes): Same. + (graphite_copy_stmts_from_block): Same. + (copy_bb_and_scalar_dependences): Same. + (add_phi_arg_for_new_expr): Same. + (rename_uses): Same. + (set_rename): Same. + (set_rename_for_each_def): Same. + (gsi_insert_earliest): Same. + (rename_all_uses): Same. + (codegen_error_p): Same. + (print_isl_ast_node): Same. + (translate_isl_ast_for_loop): Call function codegen_error_p. + (translate_isl_ast_to_gimple::translate_isl_ast): Same. + (translate_isl_ast_node_user): Make nb_loops const and release + iv_map before exit. + (get_true_edge_from_guard_bb): Move all free-functions early. + (get_false_edge_from_guard_bb): Same. + (bb_contains_loop_close_phi_nodes): Same. + (bb_contains_loop_phi_nodes): Same. + (is_loop_closed_ssa_use): Same. + (number_of_phi_nodes): Same. + (phi_uses_name): Same. + (later_of_the_two): Same. + (substitute_ssa_name): + (get_edges): Same. + (get_loc): Same. + (get_loop_init_value): Same. + (find_init_value): Same. + (find_init_value_close_phi): Same. + (ast_build_before_for): Same. + (graphite_regenerate_ast_isl): Formatting changes. + * graphite-scop-detection.c (build_cross_bb_scalars_use): Same. + * sese.c (get_rename): Move to graphite-isl-ast-to-gimple.c + (set_rename): Same. + (gsi_insert_earliest): Same. + (collect_all_ssa_names): Same. + (rename_all_uses): Same. + (rename_uses): Same. + (get_def_bb_for_const): Same. + (copy_loop_phi_nodes): Same. + (copy_loop_close_phi_args): Same. + (copy_loop_close_phi_nodes): Same. + (copy_cond_phi_args): Same. + (copy_cond_phi_nodes): Same. + (set_rename_for_each_def): Same. + (graphite_copy_stmts_from_block): Same. + (copy_bb_and_scalar_dependences): Same. + (if_region_set_false_region): Same. + (scev_analyzable_p): Same. + * sese.h: Delete extern functions moved to graphite-isl-ast-to-gimple.c. + +2015-11-18 Andreas Tobler + + * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Bring in the + commit from r125920 for FreeBSD. + +2015-11-18 Jason Merrill + + * ggc-page.c (ggc_globals): Change finalizers and vec_finalizers + to be vecs of vecs. + (add_finalizer): Split out from ggc_internal_alloc. + (ggc_handle_finalizers): Run finalizers for the current depth. + (init_ggc, ggc_pch_read): Reserve space for finalizers. + +2015-11-18 Sandra Loosemore + + PR target/68410 + * config/nios2/nios2.c (cdx_and_immed): Remove duplicate tests + from || expression. + +2015-11-18 Pitchumani Sivanupandi + + * config/avr/avr-mcus.def: Add new avr4 devices atmega48pb and + atmega88pb. Add new avr5 devices ata5791, ata8210, ata8510, atmega168pb + and atmega328pb. + * doc/avr-mmcu.texi: Regenerate. + +2015-11-18 Nathan Sidwell + + * config/nvptx/nvptx.c (bb_pair_t, bb_pair_vec_t): New types. + (pseudo_node_t, struct bracket, bracket_vec_t): New types. + (struct bb_sese): New struct. + (bb_sese::~bb_sese, bb_sese::append, bb_sese::remove): New. + (BB_GET_SESE, BB_SET_SESE): Define. + (nvptx_sese_number, nvptx_sese_pseudo, nvptx_sese_color): New. + (nvptx_find_sese): New. + (nvptx_neuter_pars): Find SESE regions when optimizing. + +2015-11-18 Alan Modra + + * config/rs6000/rs6000.c (use_toc_relative_ref): Ignore + type-limits warning. + +2015-11-18 Richard Sandiford + + PR bootstrap/68406 + * hash-set.h (hash_set::traverse): Expand Key typedef. + +2015-11-18 Martin Liska + + * config/arm/arm.c (arm_valid_target_attribute_p): Finalize + options struct. + +2015-11-18 Nathan Sidwell + + * config/nvptx/nvptx.c (global_lock_var): New. + (nvptx_global_lock_addr): New. + (nvptx_lockless_update): Recomment and adjust for clarity. + (nvptx_lockfull_update): New. + (nvptx_reduction_update): New. + (nvptx_goacc_reduction_fini): Call it. + +2015-11-18 Bernd Schmidt + + * regrename.h (struct du_head): Add target_data_1 and target_data_2 + fields. + * regrename.c (create_new_chain): Clear entire struct after allocating. + + * config/i386/i386.opt (mmitigate-rop): New option. + * doc/invoke.texi (mmitigate-rop): Document. + * config/i386/i386.c: Include "regrename.h". + (ix86_rop_should_change_byte_p, reg_encoded_number, + ix86_get_modrm_for_rop, set_rop_modrm_reg_bits, ix86_mitigate_rop): New + static functions. + (ix86_reorg): Call ix86_mitigate_rop if -fmitigate-rop. + * config/i386/i386.md (attr "modrm_class"): New. + (cmp_ccno_1, mov_xor, movstrict_xor, + x86_movcc_0_m1. x86_movcc_0_m1_se) + (x86_movcc_0_m1_neg): Override modrm_class attribute. + +2015-11-18 Ilya Enkovich + + PR target/68405 + * config/i386/i386.c (ix86_expand_mask_vec_cmp): Add missing break. + +2015-11-18 Jakub Jelinek + + PR tree-optimization/68157 + * tree-ssa-reassoc.c (attempt_builtin_powi): Set uid of + pow_stmt or mul_stmt from stmt's uid. + (reassociate_bb): Set uid of mul_stmt from stmt's uid. + +2015-11-18 Martin Liska + + * haifa-sched.c (haifa_finish_h_i_d): Release reg_set_list. + +2015-11-18 Martin Liska + + * tree-ssa-uninit.c (convert_control_dep_chain_into_preds): + Fix GNU coding style. + (find_def_preds): Use auto_vec. + (destroy_predicate_vecs): Change signature of the function. + (prune_uninit_phi_opnds_in_unrealizable_paths): Use the + new signature. + (simplify_preds_4): Use destroy_predicate_vecs instread of + just releasing preds vector. + (normalize_preds): Likewise. + (is_use_properly_guarded): Use new signature of + destroy_predicate_vecs. + (find_uninit_use): Likewise. + +2015-11-18 Richard Biener + + PR tree-optimization/67790 + * tree-vect-loop.c (vect_is_simple_reduction_1): Remove + IL rewrite for MINUS_EXPR reductions, rename back to ... + (vect_is_simple_reduction): ... this, removing the wrapper. + (vect_force_simple_reduction): Adjust. + (vectorizable_reduction): Adjust reduc_index for MINUS_EXPR + reductions and make use if reduc_index in all places. For + the final reduction of MINUS_EXPR use PLUS_EXPR. + +2015-11-18 Alan Modra + + * configure.ac (POWERPC64_TOC_POINTER_ALIGNMENT): Pass -z norelro + to ld. + * configure: Regenerate. + +2015-11-17 Tom de Vries + + * tree-ssa-loop.c (pass_tree_loop_init::execute): Improve comments. + +2015-11-17 Tom de Vries + + * tree-scalar-evolution.c (scev_const_prop): Dump details if replacing + uses of ssa_name with constant. + +2015-11-17 Tom de Vries + + * tree-ssa-ccp.c (do_ssa_ccp): Clear LOOP_CLOSED_SSA in loops state if + something changed. + +2015-11-17 Tom de Vries + + * cfgloop.h (struct loop): Add in_oacc_kernels_region field. + * omp-low.c (mark_loops_in_oacc_kernels_region): New function. + (expand_omp_target): Call mark_loops_in_oacc_kernels_region. + +2015-11-17 Bernd Schmidt + + * regrename.c (regrename_find_superclass): New function, code moved + from ... + (rename_chains): ... here. Call it. + * regrename.h (regrename_find_superclass): Declare. + + * regrename.c (record_out_operands): Terminate earlyclobbered + operands here. + + PR target/66785 + * regrename.c (record_operand_use): Keep track of failed operands + and stop appending if we see any. + * regrename.h (struct operand_rr_info): Add a failed field and shrink + n_chains to short. + +2015-11-17 Sandra Loosemore + + PR 48568 + * doc/extend.texi (Common Function Attributes) [visibility]: + Add cross-references to matching variable and type attributes. + (Common Variable Attributes) [visibility]: Add missing entry. + +2015-11-17 Richard Sandiford + + * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function): Remove + entries that map directly to optabs. + +2015-11-17 Richard Sandiford + + * config/i386/i386.c (ix86_builtin_vectorized_function): Remove + entries that map directly to optabs. + +2015-11-17 Richard Sandiford + + * internal-fn.h (direct_internal_fn_info): Add vectorizable flag. + * internal-fn.c (direct_internal_fn_array): Update accordingly. + * tree-vectorizer.h (vectorizable_function): Delete. + * tree-vect-stmts.c: Include internal-fn.h. + (vectorizable_internal_function): New function. + (vectorizable_function): Inline into... + (vectorizable_call): ...here. Explicitly reject calls that read + from or write to memory. Try using an internal function before + falling back on the old vectorizable_function behavior. + +2015-11-17 Richard Sandiford + + * target.def (builtin_vectorized_function): Take a combined_fn (in + the form of an unsigned int) rather than a function decl. + (builtin_md_vectorized_function): New. + * targhooks.h (default_builtin_vectorized_function): Replace the + fndecl argument with an unsigned int. + (default_builtin_md_vectorized_function): Declare. + * targhooks.c (default_builtin_vectorized_function): Replace the + fndecl argument with an unsigned int. + (default_builtin_md_vectorized_function): New function. + * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_MD_VECTORIZED_FUNCTION): + New hook. + * doc/tm.texi: Regenerate. + * tree-vect-stmts.c (vectorizable_function): Update call to + builtin_vectorized_function, also passing internal functions. + Call builtin_md_vectorized_function for target-specific builtins. + * config/aarch64/aarch64-protos.h + (aarch64_builtin_vectorized_function): Replace fndecl argument + with an unsigned int. + * config/aarch64/aarch64-builtins.c: Include case-cfn-macros.h. + (aarch64_builtin_vectorized_function): Update after above changes. + Use CASE_CFN_*. + * config/arm/arm-protos.h (arm_builtin_vectorized_function): Replace + fndecl argument with an unsigned int. + * config/arm/arm-builtins.c: Include case-cfn-macros.h + (arm_builtin_vectorized_function): Update after above changes. + Use CASE_CFN_*. + * config/i386/i386.c: Include case-cfn-macros.h + (ix86_veclib_handler): Take a combined_fn rather than a + built_in_function. + (ix86_veclibabi_svml, ix86_veclibabi_acml): Likewise. Use + mathfn_built_in rather than calling builtin_decl_implicit directly. + (ix86_builtin_vectorized_function) Update after above changes. + Use CASE_CFN_*. + * config/rs6000/rs6000.c: Include case-cfn-macros.h + (rs6000_builtin_vectorized_libmass): Replace fndecl argument + with a combined_fn. Use CASE_CFN_*. Use mathfn_built_in rather + than calling builtin_decl_implicit directly. + (rs6000_builtin_vectorized_function): Update after above changes. + Use CASE_CFN_*. Move BUILT_IN_MD to... + (rs6000_builtin_md_vectorized_function): ...this new function. + (TARGET_VECTORIZE_BUILTIN_MD_VECTORIZED_FUNCTION): Define. + +2015-11-17 Richard Sandiford + + * tree-vect-patterns.c: Include internal-fn.h. + (vect_recog_pow_pattern): Use IFN_SQRT instead of BUILT_IN_SQRT*. + +2015-11-17 Richard Sandiford + + * tree.h (BUILTIN_EXP10_P, BUILTIN_EXPONENT_P, BUILTIN_SQRT_P) + (BUILTIN_CBRT_P, BUILTIN_ROOT_P): Delete. + +2015-11-17 Richard Sandiford + + * builtins.c (expand_errno_check, expand_builtin_mathfn) + (expand_builtin_mathfn_2): Delete. + (expand_builtin): Remove handling of functions with + internal function equivalents. + * internal-fn.def (SET_EDOM): New internal function. + * internal-fn.h (set_edom_supported_p): Declare. + * internal-fn.c (expand_SET_EDOM): New function. + (set_edom_supported_p): Likewise. + * tree-call-cdce.c: Include builtins.h and internal-fn.h. + Rewrite comment at head of file. + (is_call_dce_candidate): Rename to... + (can_test_argument_range): ...this. Don't check gimple_call_lhs + or gimple_call_builtin_p here. + (edom_only_function): New function. + (shrink_wrap_one_built_in_call_with_conds): New function, split out + from... + (shrink_wrap_one_built_in_call): ...here. + (can_use_internal_fn, use_internal_fn): New functions. + (shrink_wrap_conditional_dead_built_in_calls): Call use_internal_fn + for calls that have an lhs. + (pass_call_cdce::gate): Remove optimize_function_for_speed_p check. + (pass_call_cdce::execute): Skip blocks that are optimized for size. + Check gimple_call_builtin_p here. Use can_use_internal_fn for + calls with an lhs. + * opts.c (default_options_table): Enable -ftree-builtin-call-cdce + at -O and above. + +2015-11-17 Richard Sandiford + + * builtins.h (called_as_built_in): Declare. + * builtins.c (called_as_built_in): Make external. + * internal-fn.h (expand_internal_call): Define a variant that + specifies the internal function explicitly. + * internal-fn.c (expand_load_lanes_optab_fn) + (expand_store_lanes_optab_fn, expand_ANNOTATE, expand_GOMP_SIMD_LANE) + (expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE) + (expand_GOMP_SIMD_ORDERED_START, expand_GOMP_SIMD_ORDERED_END) + (expand_UBSAN_NULL, expand_UBSAN_BOUNDS, expand_UBSAN_VPTR) + (expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK, expand_TSAN_FUNC_EXIT) + (expand_UBSAN_CHECK_ADD, expand_UBSAN_CHECK_SUB) + (expand_UBSAN_CHECK_MUL, expand_ADD_OVERFLOW, expand_SUB_OVERFLOW) + (expand_MUL_OVERFLOW, expand_LOOP_VECTORIZED) + (expand_mask_load_optab_fn, expand_mask_store_optab_fn) + (expand_ABNORMAL_DISPATCHER, expand_BUILTIN_EXPECT, expand_VA_ARG) + (expand_UNIQUE, expand_GOACC_DIM_SIZE, expand_GOACC_DIM_POS) + (expand_GOACC_LOOP, expand_GOACC_REDUCTION, expand_direct_optab_fn) + (expand_unary_optab_fn, expand_binary_optab_fn): Add an internal_fn + argument. + (internal_fn_expanders): Update prototype. + (expand_internal_call): Define a variant that specifies the + internal function explicitly. Use it to implement the previous + interface. + * cfgexpand.c (expand_call_stmt): Try to expand calls to built-in + functions as calls to internal functions. + +2015-11-17 Richard Sandiford + + * Makefile.in (MOSTLYCLEANFILES): Add cfn-operators.pd. + (generated_files): Likewise. + (s-cfn-operators, cfn-operators.pd): New rules. + (s-match): Depend on cfn-operators.pd. + * gencfn-macros.c: Expand comment to describe -o behavior. + (print_define_operator_list): New function. + (main): Accept -o. Call print_define_operator_list. + * genmatch.c (main): Add the current directory to the include path. + * match.pd (DEFINE_MATH_FN): Delete. Include cfn-operators.pd + instead. + +2015-11-17 Richard Sandiford + + * doc/match-and-simplify.texi: Document the "null" identifier. + * genmatch.c (id_base::NULL_ID): New kind. + (null_id): New variable. + (get_operator): Add a parameter that says whether null identifiers + are allowed. + (contains_id): New function. + (lower_for): Skip substitutions that would have a null_id in + either the match or the result. + (parser::parse_for): Allow the null identifier to be used. + (parser::parse_operator_list): Likewise. + (main): Initialize null_id. + +2015-11-17 Richard Sandiford + + * match.pd: Use HYPOT and COS rather than hypot and cos. + Use CASE_CFN_* macros. Guard log/exp folds with + SCALAR_FLOAT_TYPE_P. + * genmatch.c (internal_fn): New enum. + (fn_id::fn): Change to an unsigned int. + (fn_id::fn_id): Accept internal_fn too. + (add_builtin): Rename to... + (add_function): ...this and turn into a template. + (get_operator): Only try one variation if the original name fails. + Only add _EXPR if the original name was all lower case. + Try converting internal and built-in function names to their + CFN equivalents. + (expr::gen_transform): Use maybe_build_call_expr_loc for generic. + (dt_simplify::gen_1): Likewise. + (dt_node::gen_kids_1): Use gimple_call_combined_fn for gimple + and get_call_combined_fn for generic. + (dt_simplify::gen): Use combined_fn as the type of fn_ids. + (decision_tree::gen): Likewise. + (main): Use lower case in the strings for {VIEW_,}CONVERT[012]. + Use add_function rather than add_builtin. Register internal + functions too. + * generic-match-head.c: Include case-cfn-macros.h. + * gimple-fold.c (replace_stmt_with_simplification): Use + gimple_call_combined_fn to test whether we can keep an + existing call. + * gimple-match.h (code_helper): Replace built_in_function + with combined_fn. + * gimple-match-head.c: Include fold-const-call.h, internal-fn.h + and case-fn-macros.h. + (gimple_resimplify1): Use fold_const_call. + (gimple_resimplify2, gimple_resimplify3): Likewise. + (build_call_internal, build_call): New functions. + (maybe_push_res_to_seq): Use them. + (gimple_simplify): Use fold_const_call. Set *rcode to a combined_fn + rather than a built-in function. + * tree.h (build_call_expr_internal_loc): Declare. + (maybe_build_call_expr_loc): Likewise. + * tree.c (build_call_expr_internal_loc_array): New function. + (maybe_build_call_expr_loc): Likewise. + +2015-11-17 Richard Sandiford + + * builtins.h (mathfn_built_in): Add a variant that takes + a combined_fn. + * builtins.c: Include case-cfn-macros.h. + (CASE_MATHFN): Use CASE_CFN_*. + (CASE_MATHFN_REENT): Use CFN_ codes. + (mathfn_built_in_2, mathfn_built_in_1): Replace built_in_function + argument with a combined_fn. + (mathfn_built_in): Add a variant that takes a combined_fn. + (expand_builtin_int_roundingfn_2): Update callers accordingly. + (fold_builtin_sincos, fold_builtin_classify): Likewise. + +2015-11-17 Richard Sandiford + + * tree-vect-patterns.c: Include case-cfn-macros.h. + (vect_recog_pow_pattern): Use combined_fn instead of built-in codes. + +2015-11-17 Richard Sandiford + + * tree-ssa-math-opts.c: Include case-cfn-macros.h. + (execute_cse_sincos_1): Use combined_fn instead of built-in codes. + (pass_cse_sincos::execute): Likewise. + +2015-11-17 Richard Sandiford + + * tree-ssa-reassoc.c: Include case-cfn-macros.h. + (stmt_is_power_of_op): Use combined_fn instead of built-in codes. + (decrement_power, acceptable_pow_call): Likewise. + (attempt_builtin_copysign): Likewise. + +2015-11-17 Richard Sandiford + + * tree-vrp.c: Include case-cfn-macros.h. + (extract_range_basic): Switch on combined_fn rather than handling + built-in functions and internal functions separately. + +2015-11-17 Richard Sandiford + + * fold-const.h (negate_mathfn_p): Take a combined_fn rather + than a built_in_function. + (tree_call_nonnegative_warnv_p): Take a combined_fn rather than + a function decl. + (integer_valued_real_call_p): Likewise. + * fold-const.c: Include case-cfn-macros.h + (negate_mathfn_p): Take a combined_fn rather than a built_in_function. + (negate_expr_p): Update accordingly. + (tree_call_nonnegative_warnv_p): Take a combined_fn rather than + a function decl. + (integer_valued_real_call_p): Likewise. + (tree_invalid_nonnegative_warnv_p): Update accordingly. + (integer_valued_real_p): Likewise. + * gimple-fold.c (gimple_call_nonnegative_warnv_p): Update call + to tree_call_nonnegative_warnv_p. + (gimple_call_integer_valued_real_p): Likewise + integer_valued_real_call_p. + * gimple-ssa-backprop.c: Include case-cfn-macros.h. + (backprop::process_builtin_call_use): Extend to combined_fn. + (strip_sign_op_1): Likewise. + (backprop::process_use): Don't check for built-in calls here. + (backprop::execute): Likewise. + (backprop::optimize_builtin_call): Update call to negate_mathfn_p. + +2015-11-17 Richard Sandiford + + * fold-const-call.h (fold_const_call): Replace built_in_function + arguments with combined_fn arguments. + * fold-const-call.c: Include case-cfn-macros.h. + (fold_const_call_ss, fold_const_call_cs, fold_const_call_sc) + (fold_const_call_cc, fold_const_call_sss, fold_const_call_ccc) + (fold_const_call_ssss, fold_const_call_1, fold_const_call): Replace + built_in_function arguments with combined_fn arguments. + * builtins.c (fold_builtin_sincos, fold_builtin_1, fold_builtin_2) + (fold_builtin_3): Update calls to fold_const_call. + +2015-11-17 Richard Sandiford + + * Makefile.in (HASH_TABLE_H): Add GGC_H. + (MOSTLYCLEANFILES, generated_files): Add case-fn-macros.h. + (s-case-cfn-macros, case-cfn-macros.h, build/gencfn-macros.o) + (build/gencfn-macros$(build_exeext): New rules. + (genprogerr): Add cfn-macros. + * hash-set.h (hash_set): Use the traits value_type as the key. + * gencfn-macros.c: New file. + +2015-11-17 Richard Sandiford + + * internal-fn.def (DEF_INTERNAL_INT_FN): New macro. + (CLRSB, CLZ, CTZ, FFS, PARITY, POPCOUNT): New functions. + * builtins.c (associated_internal_fn): Handle them. + +2015-11-17 Richard Sandiford + + * builtins.h (associated_internal_fn): Declare. + (replacement_internal_fn): Likewise. + * builtins.c: Include internal-fn.h + (associated_internal_fn, replacement_internal_fn): New functions. + * internal-fn.def (DEF_INTERNAL_FLT_FN): New macro. + (ACOS, ASIN, ATAN, COS, EXP, EXP10, EXP2, EXPM1, LOG, LOG10, LOG1P) + (LOG2, LOGB, SIGNIFICAND, SIN, SQRT, TAN, CEIL, FLOOR, NEARBYINT) + (RINT, ROUND, TRUNC, ATAN2, COPYSIGN, FMOD, POW, REMAINDER, SCALB) + (LDEXP): New functions. + * internal-fn.c: Include recog.h. + (unary_direct, binary_direct): New macros. + (expand_direct_optab_fn): New function. + (expand_unary_optab_fn): New macro. + (expand_binary_optab_fn): Likewise. + (direct_unary_optab_supported_p): Likewise. + (direct_binary_optab_supported_p): Likewise. + +2015-11-17 Richard Sandiford + + * coretypes.h (tree_pair): New type. + * internal-fn.def (DEF_INTERNAL_OPTAB_FN): New macro. Use it + for MASK_LOAD, LOAD_LANES, MASK_STORE and STORE_LANES. + * internal-fn.h (direct_internal_fn_info): New structure. + (direct_internal_fn_array): Declare. + (direct_internal_fn_p, direct_internal_fn): New functions. + (direct_internal_fn_types, direct_internal_fn_supported_p): Declare. + * internal-fn.c (not_direct, mask_load_direct, load_lanes_direct) + (mask_store_direct, store_lanes_direct): New macros. + (direct_internal_fn_array) New array. + (get_multi_vector_move): Return the optab handler without asserting + that it is available. + (expand_LOAD_LANES): Rename to... + (expand_load_lanes_optab_fn): ...this and add an optab argument. + (expand_STORE_LANES): Rename to... + (expand_store_lanes_optab_fn): ...this and add an optab argument. + (expand_MASK_LOAD): Rename to... + (expand_mask_load_optab_fn): ...this and add an optab argument. + (expand_MASK_STORE): Rename to... + (expand_mask_store_optab_fn): ...this and add an optab argument. + (direct_internal_fn_types, direct_optab_supported_p) + (multi_vector_optab_supported_p, direct_internal_fn_supported_p) + (direct_internal_fn_supported_p): New functions. + (direct_mask_load_optab_supported_p): New macro. + (direct_load_lanes_optab_supported_p): Likewise. + (direct_mask_store_optab_supported_p): Likewise. + (direct_store_lanes_optab_supported_p): Likewise. + +2015-11-17 Richard Sandiford + + * tree-core.h (internal_fn): Move immediately after the definition + of built_in_function. + (combined_fn): New enum. + * tree.h (as_combined_fn, builtin_fn_p, as_builtin_fn) + (internal_fn_p, as_internal_fn): New functions. + (get_call_combined_fn, combined_fn_name): Declare. + * tree.c (get_call_combined_fn): New function. + (combined_fn_name): Likewise. + * gimple.h (gimple_call_combined_fn): Declare. + * gimple.c (gimple_call_combined_fn): New function. + +2015-11-17 Martin Sebor + + PR c++/68308 + * cp/init.c (build_new_1): Check for expression constness + the right way. + +2015-11-17 Sandra Loosemore + + PR target/53587 + * doc/invoke.texi (Option Summary): Add -mms-bitfields to x86 + option list. + (x86 Options): Add -mms-bitfields and -mno-ms-bitfields. Move + discussion of the Microsoft structure layout details here from + its former home in extend.texi. + * doc/extend.texi (x86 Variable Attributes): Replace detailed + discussion with pointer to its new location. Add cross-reference + to corresponding type attributes. + (x86 Type Attributes): Add cross-references to command-line options + and variable attributes. + +2015-11-17 Ilya Enkovich + + PR middle-end/68134 + * targhooks.c (default_get_mask_mode): Filter out + scalar modes returned by mode_for_vector. + +2015-11-17 Kyrylo Tkachov + + PR target/68143 + * config/arm/arm.c (arm_block_set_unaligned_vect): Keep track of + offset from dstbase and use it appropriately in + adjust_automodify_address. + (arm_block_set_aligned_vect): Likewise. + +2015-11-17 Eric Botcazou + + * config/visium/t-visium (MULTILIB_OPTIONS): Add muser-mode. + (MULTILIB_DIRNAMES): Adjust accordingly. + +2015-11-17 James Greenhalgh + + * config/aarch64/aarch64-cores.def (cortex-a35): New. + * config/aarch64/aarch64.c (cortexa35_tunings): New. + * config/aarch64/aarch64-tune.md: Regenerate. + * doc/invoke.texi (-mcpu): Add Cortex-A35 + +2015-11-17 Uros Bizjak + + PR target/68263 + * config/i386/i386.h (BIGGEST_ALIGNMENT): Always define + to 32 for IAMCU. + * config/i386/sse.md (*mov_internal): Always enable + AVX and SSE unaligned moves for IAMCU. + +2015-11-17 Venkataramanan Kumar + + * tree-if-conv.c: Include varasm.h + (ref_DR_map): Define. + (baseref_DR_map): Like wise + (struct ifc_dr): Add new tree predicate field. + (hash_memrefs_baserefs_and_store_DRs_read_written_info): New function. + (memrefs_read_or_written_unconditionally): Remove. + (write_memrefs_written_at_least_once): Remove. + (ifcvt_memrefs_wont_trap): Use hash maps to query + unconditional read/written information. + (if_convertible_loop_p_1): Initialize hash maps and predicates + before hashing data references and delete hashmaps at the end. + +2015-11-16 Thomas Preud'homme + + PR 56036 + * doc/invoke.texi (Optimize Options): Move @end table to the right + place. + +2015-11-16 Sandra Loosemore + + PR 65129 + * doc/extend.texi (__builtin_assume_aligned): Fix formatting of + return value. + +2015-11-16 Michael Meissner + + * config/rs6000/vsx.md (VSX_L): Do not include IBM extended double + 128-bit types, just types that fit in a single vector. + * config/rs6000/rs6000.md (FMOVE128_GPR): Likewise. + +2015-11-16 David Wohlferd + + * doc/md.texi ('#' and '*' constraint modifiers): Do not include these + in the user documentation. + (define_peephole2, define_split): Similarly. + +2015-11-16 Andris Pavenis + + * lto-streamer-out.c (write_global_references): Adjust integer type. + (lto_output_decl_state_refs): Likewise. + +2015-11-16 James Greenhalgh + + * config/arm/arm-cores.def (cortex-a35): New. + * config/arm/arm.c (arm_cortex_a35_tune): New. + * config/arm/arm-tables.opt: Regenerate. + * config/arm/arm-tune.md: Regenerate. + * config/arm/bpabi.h (BE8_LINK_SPEC): Add cortex-a35. + * config/arm/t-aprofile: Likewise. + * doc/invoke.texi (-mcpu): Likewise. + +2015-11-16 Jim Wilson + + * config/arm/t-aprofile (MULTILIB_MATCHES): Add lines for exynos-m1 + and qdf24xx and xgene1 to match -march=armv8-a. + +2015-11-16 Segher Boessenkool + + PR rtl-optimization/68330 + * simplify-rtx.c (simplify_unary_operation_1): Simplify SIGN_EXTEND + of LSHIFTRT by a non-zero constant integer. + +2015-11-16 Richard Biener + + PR tree-optimization/68306 + * tree-vect-data-refs.c (vect_verify_datarefs_alignment): Fix + bogus copying from verify_data_ref_alignment and use continue + instead of return. + +2015-11-16 Oleg Endo + Kaz Kojima + + PR target/68277 + * config/sh/sh.md (addsi3_scr): Handle reg overlap of operands[0] and + operands[2]. + (*addsi3): Add another insn_and_split variant for reload. + +2015-11-16 Richard Biener + + PR middle-end/68117 + * cfgexpand.c (pass_expand::execute): Destroy the edge + redirection var map before setting RTL CFG hooks. + +2015-11-16 Alan Lawrence + + * config/i386/sse.md (reduc_splus_v8df): Rename to... + (reduc_plus_scal_v8df): ...here; reduce to temp and extract scalar. + + (reduc_splus_v4df): Rename to... + (reduc_plus_scal_v4df): ...here; reduce to temp and extract scalar. + + (reduc_splus_v2df): Rename to... + (reduc_plus_scal_v2df): ...here; reduce to temp and extract scalar. + + (reduc_splus_v16sf): Rename to... + (reduc_plus_scal_v16sf): ...here; reduce to temp and extract scalar. + + (reduc_splus_v8sf): Rename to... + (reduc_plus_scal_v8sf): ...here; reduce to temp and extract scalar. + + (reduc_splus_v4sf): Rename to... + (reduc_plus_scal_v4sf): ...here; reduce to temp and extract scalar. + + (reduc__, all 3 variants): Rename each to... + (reduc__scal_): ...here; reduce to temp and extract scalar. + + (reduc_umin_v8hf): Rename to... + (reduc_umin_scal_v8hf): ...here; reduce to temp and extract scalar. + +2015-11-16 Kirill Yukhin + + * omp-low.c (pass_omp_simd_clone::gate): If target allows - call + without additional conditions. + * doc/extend.texi (@item simd): New. + +2015-11-16 Tom de Vries + + * passes.c (first_pass_instance): Remove variable. + (execute_todo): Remove setting of first_pass_instance. + * tree-pass.h (first_pass_instance): Remove declaration. + +2015-11-16 Tom de Vries + + * passes.def: Add arg to pass_ccp pass instantiation. + * tree-ssa-ccp.c (ccp_finalize): Add param nonzero_p. Use nonzero_p + instead of first_pass_instance. + (do_ssa_ccp): Add and handle param nonzero_p. + (pass_ccp::pass_ccp): Initialize nonzero_p. + (pass_ccp::set_pass_param): New member function. Set nonzero_p. + (pass_ccp::execute): Call do_ssa_ccp with extra arg. + (pass_ccp::nonzero_p): New private member. + +2015-11-16 Tom de Vries + + * passes.def: Add arg to pass_object_sizes pass instantiation. + * tree-object-size.c (pass_object_sizes::pass_object_sizes): Initialize + insert_min_max_p. + (pass_object_sizes::set_pass_param): New member function. Set + insert_min_max_p. + (pass_object_sizes::insert_min_max_p): New private member. + (pass_object_sizes::execute): Use insert_min_max_p instead of + first_pass_instance. + +2015-11-16 Tom de Vries + + * passes.def: Add arg to pass_dominator pass instantiation. + * tree-pass.h (first_pass_instance): Remove pass_dominator-related bit + of comment. + * tree-ssa-dom.c (pass_dominator::pass_dominator): Initialize + may_peel_loop_headers_p. + (pass_dominator::set_pass_param): New member function. Set + may_peel_loop_headers_p. + (pass_dominator::may_peel_loop_headers_p): New private member. + (pass_dominator::execute): Use may_peel_loop_headers_p instead of + first_pass_instance. + +2015-11-16 Tom de Vries + + * passes.def: Add arg to pass_reassoc pass instantiation. + * tree-ssa-reassoc.c (reassoc_insert_powi_p): New static variable. + (acceptable_pow_call, reassociate_bb): Use reassoc_insert_powi_p instead + of first_pass_instance. + (execute_reassoc): Add and handle insert_powi_p parameter. + (pass_reassoc::insert_powi_p): New private member. + (pass_reassoc::pass_reassoc): Initialize insert_powi_p. + (pass_reassoc::set_pass_param): New member function. Set insert_powi_p. + (pass_reassoc::execute): Call execute_reassoc with extra arg. + +2015-11-16 Tom de Vries + + * gdbhooks.py (class PassNames): Handle extra arg NEXT_PASS argument. + * gen-pass-instances.awk (handle_line): Same. + * pass_manager.h (class pass_manager): Define and undefine + NEXT_PASS_WITH_ARG. + * passes.c (opt_pass::set_pass_param): New function. + (pass_manager::pass_manager): Define and undefine NEXT_PASS_WITH_ARG. + * passes.def: Add extra arg to NEXT_PASS (pass_vrp). + * tree-pass.h (gimple_opt::set_pass_param): Declare. + * tree-vrp.c (vrp_finalize, execute_vrp): Add and handle + warn_array_bounds_p parameter. + (pass_vrp::pass_vrp): Initialize warn_array_bounds_p. + (pass_vrp::set_pass_param): New function. + (pass_vrp::execute): Add warn_array_bounds_p arg to execute_vrp call. + (pass_vrp::warn_array_bounds_p): New private member. + +2015-11-16 Eric Botcazou + + * config/sparc/sparc.c (sparc_emit_probe_stack_range): Adjust. + (output_probe_stack_range): Rotate the loop and simplify. + +2015-11-16 Eric Botcazou + + * config/rs6000/rs6000.c (rs6000_emit_probe_stack_rang): Adjust. + (output_probe_stack_range): Rotate the loop and simplify. + +2015-11-16 Eric Botcazou + + * config/i386/i386.c (ix86_adjust_stack_and_probe): Adjust and use + an lea instruction when possible. + (output_adjust_stack_and_probe): Rotate the loop and simplify. + (ix86_emit_probe_stack_range): Adjust. + (output_probe_stack_range): Rotate the loop and simplify. + +2015-11-16 Christian Bruel + + * config/arm/arm_neon.h: Remove #ifndef check on __ARM_NEON. + Replace #ifdef __ARM_FEATURE_CRYPTO, __ARM_FEATURE_FMA, __ARM_FP + with appropriate pragma GCC target. + +2015-11-16 Christian Bruel + + PR target/65837 + * config/arm/arm-c.c (arm_cpu_builtins): Conditionally set and reset + __ARM_FEATURE_FMA and __ARM_NEON_FP, __ARM_FP. + +2015-11-16 James Greenhalgh + + * config/aarch64/aarch64.c (cortexa57_branch_costs): New. + (cortexa57_tunings): Use it. + +2015-11-16 Christian Bruel + + PR target/65837 + * config/arm/arm-c.c (arm_cpu_builtins): Set or reset + __ARM_FEATURE_CRYPTO, __VFP_FP__, __ARM_NEON__ + (arm_pragma_target_parse): Change check for arm_cpu_builtins. + undefine __ARM_FP. + * config/arm/arm.c (arm_can_inline_p): Check FPUs. + (arm_valid_target_attribute_rec): Handle -mfpu attribute target. + * doc/invoke.texi (-mfpu=): Mention attribute and pragma. + * doc/extend.texi (-mfpu=): Describe attribute. + +2015-11-16 Christian Bruel + + PR target/65837 + * config/arm/arm-protos.h (arm_init_neon_builtins): Declare. + * config/arm/arm.c (arm_valid_target_attribute_tree): Call + arm_init_neon_builtins. + * config/arm/arm-builtins.c (arm_init_neon_builtins): Split into... + (arm_init_neon_builtins_internal) + (arm_init_crypto_builtins_internal): + Test and set neon_set_p, neon_crypto_set_p. + (neon_set_p, neon_crypto_set_p): New static booleans. + +2015-11-16 Christian Bruel + + PR target/65837 + * config/arm/arm.c (arm_fpu_desc): Remove. + (all_fpus): Make global. + (arm_option_override): Use FPU TARGET accessors. + (arm_declare_function_name): Likewise. + * config/arm/arm.h (TARGET_VFP, TARGET_VFPD32, TARGET_VFP5) + (TARGET_VFP_SINGLE, TARGET_VFP_DOUBLE, TARGET_NEON_FP16) + (TARGET_FP16, TARGET_FMA, TARGET_FPU_ARMV8, TARGET_CRYPTO) + (TARGET_NEON): Likewise. + (all_fpus): Declare extern. + (TARGET_FPU_NAME, TARGET_FPU_MODEL, TARGET_FPU_REV) + (TARGET_FPU_REGS, TARGET_FPU_FEATURES): Define all_fpus accessors. + +2015-11-15 Trevor Saunders + + PR middle-end/68366 + * sdbout.c: Include emit-rtl.h and function.h. + +2015-11-15 Gerald Pfeifer + + * config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Change to i586. + Remove support for FreeBSD 5 and earlier. + +2015-11-14 Trevor Saunders + + * configure: Regenerate. + * configure.ac: Always define ENABLE_OFFLOADING. + * cgraph.c (cgraph_node::create): Adjust. + * gcc.c (process_command): Likewise. + * omp-low.c (create_omp_child_function): Likewise. + (expand_omp_target): Likewise. + * varpool.c (varpool_node::get_create): Likewise. + +2015-11-14 Trevor Saunders + + * defaults.h (EH_RETURN_HANDLER_RTX): New default definition. + * df-scan.c (df_get_exit_block_use_set): Adjust. + * except.c (expand_eh_return): Likewise. + +2015-11-14 Trevor Saunders + + * config/i386/i386.h (TARGET_PECOFF): Remove define. + * defaults.h (TARGET_PECOFF): New default definition. + * varasm.c (handle_vtv_comdat_section): Adjust. + +2015-11-14 Trevor Saunders + + * defaults.h: New definition of SDB_DEBUGGING_INFO. + * doc/tm.texi: Regenerate. + * doc/tm.texi.in: Adjust. + * final.c (rest_of_clean_state): Remove check if + SDB_DEBUGGING_INFO is defined. + * function.c (number_blocks): Likewise. + * output.h: Likewise. + * sdbout.c: Likewise. + * toplev.c (process_options): Likewise. + +2015-11-14 Trevor Saunders + + * gsyms.h (enum sdb_type): Remove code for EXTENDED_SDB_BASIC_TYPES. + (enum sdb_masks): Likewise. + * sdbout.c (plain_type_1): Likewise. + * system.h: Poison EXTENDED_SDB_BASIC_TYPES macro. + +2015-11-14 Jakub Jelinek + + * omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* + internal calls - 0 if ordered simd and 1 for ordered threads simd. + * tree-vectorizer.c (adjust_simduid_builtins): If GOMP_SIMD_ORDERED_* + argument is 1, replace it with GOMP_ordered_* call instead of removing + it. + +2015-11-13 Rich Felker + + * config/sh/sh.md (symGOT_load): Suppress __stack_chk_guard + address loading hack for FDPIC targets. + +2015-11-13 Ajit Agarwal + Jeff Law + + * Makefile.in (OBJS): Add gimple-ssa-split-paths.o + * common.opt (-fsplit-paths): New flag controlling path splitting. + * doc/invoke.texi (fsplit-paths): Document. + * opts.c (default_options_table): Add -fsplit-paths to -O2. + * passes.def: Add split_paths pass. + * timevar.def (TV_SPLIT_PATHS): New timevar. + * tracer.c: Include "tracer.h" + (ignore_bb_p): No longer static. + (transform_duplicate): New function, broken out of tail_duplicate. + (tail_duplicate): Use transform_duplicate. + * tracer.h (ignore_bb_p): Declare + (transform_duplicate): Likewise. + * tree-pass.h (make_pass_split_paths): Declare. + * gimple-ssa-split-paths.c: New file. + +2015-11-13 Kai Tietz + Marek Polacek + Jason Merrill + + * convert.c (maybe_fold_build1_loc): New. + (maybe_fold_build2_loc): New. + (convert_to_pointer_1): Split out from convert_to_pointer. + (convert_to_pointer_nofold): New. + (convert_to_real_1): Split out from convert_to_real. + (convert_to_real_nofold): New. + (convert_to_integer_1): Split out from convert_to_integer. + (convert_to_integer_nofold): New. + (convert_to_complex_1): Split out from convert_to_complex. + (convert_to_complex_nofold): New. + * convert.h: Declare new functions. + * tree-complex.c (create_one_component_var): Break up line to + avoid sequence point issues. + +2015-11-13 Jason Merrill + + * fold-const.c (fold_convert_const): Fold changing cv-quals on + VECTOR_CST. + + * hash-map.h (hash_map::empty): New. + +2015-11-13 Nathan Sidwell + + * omp-low.c (scan_sharing_clauses): Accept INDEPENDENT, AUTO & SEQ. + (oacc_loop_fixed_partitions): Correct return type to bool. + (oacc_loop_auto_partitions): New. + (oacc_loop_partition): Take mask argument, call + oacc_loop_auto_partitions. + (execute_oacc_device_lower): Provide mask to oacc_loop_partition. + +2015-11-13 Michael Meissner + + * config/rs6000/constraints.md (we constraint): New constraint for + 64-bit power9 vector support. + (wL constraint): New constraint for the element in a vector that + can be addressed by the MFVSRLD instruction. + + * config/rs6000/rs6000-protos.h (convert_float128_to_int): Add + declaration. + (convert_int_to_float128): Likewise. + (rs6000_generate_compare): Add support for ISA 3.0 (power9) + hardware support for IEEE 128-bit floating point. + (rs6000_expand_float128_convert): Likewise. + (convert_float128_to_int): Likewise. + (convert_int_to_float128): Likewise. + + * config/rs6000/rs6000.md (UNSPEC_ROUND_TO_ODD): New unspecs for + ISA 3.0 hardware IEEE 128-bit floating point. + (UNSPEC_IEEE128_MOVE): Likewise. + (UNSPEC_IEEE128_CONVERT): Likewise. + (FMA_F): Add support for IEEE 128-bit floating point hardware support. + (Ff): Add support for DImode. + (Fv): Likewise. + (any_fix code iterator): New and updated iterators for IEEE + 128-bit floating point hardware support. + (any_float code iterator): Likewise. + (s code attribute): Likewise. + (su code attribute): Likewise. + (az code attribute): Likewise. + (uns code attribute): Likewise. + (neg2, FLOAT128 iterator): Add support for IEEE 128-bit + floating point hardware support. + (abs2, FLOAT128 iterator): Likewise. + (add3, IEEE128 iterator): New insns for IEEE 128-bit + floating point hardware. + (sub3, IEEE128 iterator): Likewise. + (mul3, IEEE128 iterator): Likewise. + (div3, IEEE128 iterator): Likewise. + (copysign3, IEEE128 iterator): Likewise. + (sqrt2, IEEE128 iterator): Likewise. + (neg2, IEEE128 iterator): Likewise. + (abs2, IEEE128 iterator): Likewise. + (nabs2, IEEE128 iterator): Likewise. + (fma4_hw, IEEE128 iterator): Likewise. + (fms4_hw, IEEE128 iterator): Likewise. + (nfma4_hw, IEEE128 iterator): Likewise. + (nfms4_hw, IEEE128 iterator): Likewise. + (extend2_hw): Likewise. + (truncdf2_hw, IEEE128 iterator): Likewise. + (truncsf2_hw, IEEE128 iterator): Likewise. + (fix_fixuns code attribute): Likewise. + (float_floatuns code attribute): Likewise. + (fix_si2_hw): Likewise. + (fix_di2_hw): Likewise. + (float_si2_hw): Likewise. + (float_di2_hw): Likewise. + (xscvqpwz_): Likewise. + (xscvqpdz_): Likewise. + (xscvdqp_df2_odd): Likewise. + (cmp_h): Likewise. + (128-bit GPR splitters): Don't split a 128-bit move that is a + direct move between GPR and vector registers using ISA 3.0 direct + move instructions. + (maddld4): Add support for the ISA 3.0 integer multiply-add + instruction. + + * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add ISA 3.0 + debugging. + (rs6000_init_hard_regno_mode_ok): If ISA 3.0 and 64-bit, enable we + constraint. Disable the VSX<->GPR direct move helpers if we have + the MFVSRLD and MTVSRDD instructions. + (rs6000_secondary_reload_simple_move): Add support for doing + vector direct moves directly without additional scratch registers + if we have ISA 3.0 instructions. + (rs6000_secondary_reload_direct_move): Update comments. + (rs6000_output_move_128bit): Add support for ISA 3.0 vector + instructions. + + * config/rs6000/vsx.md (vsx_mov): Add support for ISA 3.0 + direct move instructions. + (vsx_movti_64bit): Likewise. + (vsx_extract_): Likewise. + + * config/rs6000/rs6000.h (VECTOR_ELEMENT_MFVSRLD_64BIT): New + macros for ISA 3.0 direct move instructions. + (TARGET_DIRECT_MOVE_128): Likewise. + (TARGET_MADDLD): Add support for the ISA 3.0 integer multiply-add + instruction. + + * doc/md.texi (RS/6000 constraints): Document we, wF, wG, wL + constraints. Update wa documentation to say not to use %x on + instructions that only take Altivec registers. + +2015-11-13 David Malcolm + + * Makefile.in (OBJS): Add gcc-rich-location.o. + * diagnostic.c (diagnostic_append_note): Pass line_table to + rich_location ctor. + (emit_diagnostic): Likewise. + (inform): Likewise. + (inform_n): Likewise. + (warning): Likewise. + (warning_at): Likewise. + (warning_n): Likewise. + (pedwarn): Likewise. + (permerror): Likewise. + (error): Likewise. + (error_n): Likewise. + (error_at): Likewise. + (sorry): Likewise. + (fatal_error): Likewise. + (internal_error): Likewise. + (internal_error_no_backtrace): Likewise. + (source_range::debug): Likewise. + * gcc-rich-location.c: New file. + * gcc-rich-location.h: New file. + * genmatch.c (fatal_at): Pass line_table to rich_location ctor. + (warning_at): Likewise. + * gimple.h (gimple_set_block): Use set_block function. + * input.c (dump_line_table_statistics): Dump stats on how many + ranges were optimized vs how many needed ad-hoc table. + (write_digit_row): Add "map" param; use its range_bits + to calculate the per-character offset. + (dump_location_info): Print the range and column bits for each + ordinary map. Use the range bits to calculate the per-character + offset. Pass the map as a new param to the various calls to + write_digit_row. Eliminate uses of + ORDINARY_MAP_NUMBER_OF_COLUMN_BITS. + * print-tree.c (print_node): Print any source range information. + * rtl-error.c (diagnostic_for_asm): Likewise. + * toplev.c (general_init): Initialize line_table's + default_range_bits. + * tree-cfg.c (move_block_to_fn): Likewise. + (move_block_to_fn): Likewise. + * tree-inline.c (copy_phis_for_bb): Likewise. + * tree.c (tree_set_block): Likewise. + (get_pure_location): New function. + (set_source_range): New functions. + (set_block): New function. + (set_source_range): New functions. + * tree.h (CAN_HAVE_RANGE_P): New. + (EXPR_LOCATION_RANGE): New. + (EXPR_HAS_RANGE): New. + (get_expr_source_range): New inline function. + (DECL_LOCATION_RANGE): New. + (set_source_range): New decls. + (get_decl_source_range): New inline function. + +2015-11-13 Alan Lawrence + + PR tree-optimization/67682 + * tree-vect-slp.c (vect_split_slp_store_group): New. + (vect_analyze_slp_instance): During basic block SLP, recurse on + subgroups if vect_build_slp_tree fails after 1st vector. + +2015-11-13 Christian Bruel + + PR target/65837 + * config/arm/arm.c (arm_option_override): Move NEON check... + (arm_option_check_internal): here + (arm_file_start): Move .fpu print... + (arm_declare_function_name): here + (arm_option_print): Dump current fpu name. + * config/arm/arm.opt (arm_fpu_index): Mark Save. + +2015-11-13 Segher Boessenkool + Kyrylo Tkachov + + * combine.c (subst): Don't substitute or simplify when + handling register-wise widening multiply. + (force_to_mode): Likewise. + +2015-11-13 Richard Sandiford + + PR tree-optimization/68264 + * tree-call-cdce.c (gen_one_condition): Update commentary. + (gen_conditions_for_pow_int_base): Invert the sense of the tests + passed to gen_one_condition. + (gen_conditions_for_domain): Likewise. Use unordered comparisons. + (shrink_wrap_one_built_in_call): Invert the sense of the tests, + using EDGE_FALSE_VALUE for edges to the call block and + EDGE_TRUE_VALUE for the others. + +2015-11-13 Nathan Sidwell + + * config/nvptx/nvptx.c (nvptx_generate_vector_shuffle): Deal with + complex types. + +2015-11-13 Nathan Sidwell + + * gimplify.c (oacc_default_clause): Use inform for enclosing scope. + +2015-11-13 Tom de Vries + + * gen-pass-instances.awk (handle_line): Rename prefix_len var to + len_of_prefix. + +2015-11-13 Tom de Vries + + * gen-pass-instances.awk (handle_line): Add args_str variable. + +2015-11-13 Martin Liska + + * graphite-poly.c (free_scop): Release scop->drs vector. + * graphite-scop-detection.c (scop_detection::harmful_stmt_in_region): + Release dom vector. + (try_generate_gimple_bb): Use vNULL as a default initialization + for vectors. + +2015-11-13 Martin Liska + + PR ipa/68311 + * ipa-icf.c (sem_item_optimizer::traverse_congruence_split): + Replace array initialization (using a variable post-increment) + that possible triggers multiple unsequenced modifications + with a pair of pushes to a vector. + +2015-11-13 Richard Biener + + PR tree-optimization/68306 + * tree-vect-data-refs.c (verify_data_ref_alignment): Move + loop related checks ... + (vect_verify_datarefs_alignment): ... here. + (vect_slp_analyze_and_verify_node_alignment): Compute and + verify alignment of the single DR that it matters. + * tree-vect-stmts.c (vectorizable_store): Add an assert. + (vectorizable_load): Add a comment. + * tree-vect-slp.c (vect_analyze_slp_cost_1): Fix DR used + for determining load cost. + +2015-11-13 Ilya Enkovich + + * tree-vect-loop.c (vect_determine_vectorization_factor): Check + mix of boolean and integer vectors in a single statement. + * tree-vect-slp.c (vect_mask_constant_operand_p): New. + (vect_get_constant_vectors): Use vect_mask_constant_operand_p to + determine constant type. + * tree-vect-stmts.c (vectorizable_comparison): Provide vectype + for loop invariants. + +2015-11-13 Alan Hayward + + PR tree-optimization/66558 + * tree-vect-loop.c (is_integer_induction):Add. + (vectorizable_reduction): Add integer induction checks. + +2015-11-13 Christophe Lyon + + Revert [ARM] Remove neon-testgen.ml and generated tests. + + 2015-11-12 Christophe Lyon + + [ARM] Remove neon-testgen.ml and generated tests. + + * config/arm/neon-testgen.ml: Remove. + +2015-11-13 Richard Biener + + * tree-vect-loop.c (vect_analyze_loop_2): Add fatal parameter. + Signal fatal failure if early checks fail. + (vect_analyze_loop): If vect_analyze_loop_2 fails fatally + do not bother testing further vector sizes. + +2015-11-13 Uros Bizjak + + * config/i386/predicates.md (misaligned_operand): Return true if + operand is aligned to less than its natural alignmnet. + +2015-11-13 Ilya Enkovich + + * doc/md.texi (vec_cmp@var{m}@var{n}): New item. + (vec_cmpu@var{m}@var{n}): New item. + (vcond@var{m}@var{n}): Specify comparison is signed. + (vcondu@var{m}@var{n}): New item. + (vcond_mask_@var{m}@var{n}): New item. + (maskload@var{m}@var{n}): New item. + (maskstore@var{m}@var{n}): New item. + +2015-11-13 Ilya Enkovich + + * tree-vect-stmts.c (vectorizable_mask_load_store): Check + types of stored value and storage are compatible. + +2015-11-13 Andris Pavenis + + * gcc.c (POST_LINK_SPEC): Define if not already defined. + (LINK_COMMAND_SPEC): Use post_link. + (post_link_spec): New, initialize to POST_LINK_SPEC. + (post_link): Initialize new static spec. + * doc/tm.texi.in (POST_LINK_SPEC): Document. + * doc/tm.texi: Regenerated. + +2015-11-13 David Malcolm + + PR driver/67613 + * Makefile.in (GCC_OBJS): Add spellcheck.o. + (OBJS): Add spellcheck-tree.o. + * gcc.c: Include "spellcheck.h". + (suggest_option): New function. + (driver::handle_unrecognized_options): Call suggest_option to + provide a hint about misspelled options. + * spellcheck.c: Update file comment. + (levenshtein_distance): Convert 4-param implementation from static + to extern scope. Remove note about unit tests from leading + comment for const char * implementation. Move tree + implementation to... + * spellcheck-tree.c: New file. + * spellcheck.h (levenshtein_distance): Add 4-param decl. + +2015-11-13 David Malcolm + + * Makefile.in (OBJS): Add spellcheck.o. + * spellcheck.c: New file. + * spellcheck.h: New file. + +2015-11-13 James Bowman + + * config/ft32/ft32.md (*sne): New insn pattern. + +2015-11-12 Brad Lucier + + * cprop.c (is_too_expensive): Remove. + (gcse.h): Include. + (one_cprop_pass): Call gcse_or_cprop_is_too_expensive, not + is_too_expensive. + * gcse.h (gcse_or_cprop_is_too_expensive): Declare. + * gcse.c (is_too_expensive): Rename to ... + (gcse_or_cprop_is_too_expensive): ... this. + Expand warning to add required size of max-gcse-memory. + (one_pre_gcse_pass): Use it. + (one_code_hoisting_pass): Use it. + * params.def (max-gcse-memory): Increase from 50MB to 128MB. + +2015-11-12 James Norris + Joseph Myers + + * gimple-pretty-print.c (dump_gimple_omp_target): Handle + GF_OMP_TARGET_KIND_OACC_DECLARE. + * gimple.h (enum gf_mask): Add GF_OMP_TARGET_KIND_OACC_DECLARE. + (is_gomple_omp_oacc): Handle GF_OMP_TARGET_KIND_OACC_DECLARE. + * gimplify.c (oacc_declare_returns): New. + (gimplify_bind_expr): Prepend 'exit' stmt to cleanup. + (device_resident_p): New function. + (oacc_default_clause): Handle device_resident clause. + (gimplify_oacc_declare_1, gimplify_oacc_declare): New functions. + (gimplify_expr): Handle OACC_DECLARE. + * omp-builtins.def (BUILT_IN_GOACC_DECLARE): New builtin. + * omp-low.c (expand_omp_target): Handle + GF_OMP_TARGET_KIND_OACC_DECLARE and BUILTIN_GOACC_DECLARE. + (build_omp_regions_1): Handlde GF_OMP_TARGET_KIND_OACC_DECLARE. + (lower_omp_target): Handle GF_OMP_TARGET_KIND_OACC_DECLARE, + GOMP_MAP_DEVICE_RESIDENT and GOMP_MAP_LINK. + (make_gimple_omp_edges): Handle GF_OMP_TARGET_KIND_OACC_DECLARE. + * tree-pretty-print.c (dump_omp_clause): Handle GOMP_MAP_LINK and + GOMP_MAP_DEVICE_RESIDENT. + +2015-11-12 Christophe Lyon + + [ARM] Remove neon-testgen.ml and generated tests. + + * config/arm/neon-testgen.ml: Remove. + +2015-11-12 Jim Wilson + + * config/aarch64/aarch64-cores.def (qdf24xx): New. + * config/aarch64/aarch64-tune.md: Regenerated. + * config/arm/arm-cores.def (qdf24xx): New. + * config/arm/arm-tables.opt, config/arm/arm-tune.md: Regenerated. + * config/arm/bpabi.h (BE8_LINK_SPEC): Add qdf24xx support. + * doc/invoke.texi (AArch64 Options/-mtune): Add "qdf24xx". + (ARM Options/-mtune): Likewise. + +2015-11-12 Martin Liska + + * config/i386/i386.c (ix86_valid_target_attribute_p): + Finalize options at the of the function. + * gcc.c (driver_get_configure_time_options): Call newly + introduced init_opts_obstack. + * lto-wrapper.c (main): Likewise. + * opts.c (init_opts_obstack): New function. + (init_options_struct): Call newly introduced init_opts_obstack. + * opts.h (init_options_struct): Declare. + +2015-11-12 Martin Liska + + PR ipa/68035 + * ipa-icf.c (void sem_item::set_hash): New function. + (sem_function::get_hash): Use renamed m_hash member variable. + (sem_item::update_hash_by_addr_refs): Utilize get_hash. + (sem_item::update_hash_by_local_refs): Likewise. + (sem_variable::get_hash): Use renamed m_hash member variable. + (sem_item_optimizer::update_hash_by_addr_refs): Utilize get_hash. + (sem_item_optimizer::build_hash_based_classes): Utilize set_hash. + (sem_item_optimizer::build_graph): As the hash value of an item + is lazy initialized, force the calculation. + * ipa-icf.h (set_hash): Declare new function and rename hash member + variable to m_hash. + +2015-11-12 Richard Biener + + * tree-vectorizer.h (vect_slp_analyze_data_ref_dependences): + Rename to vect_slp_analyze_instance_dependence. + * tree-vect-data-refs.c (vect_slp_analyze_data_ref_dependence): + Remove WAR special-case. + (vect_slp_analyze_node_dependences): Instead add more specific + code here, not relying on other instances being vectorized. + (vect_slp_analyze_instance_dependence): Adjust accordingly. + * tree-vect-slp.c (vect_build_slp_tree_1): Remove excessive + vertical space in dump files. + (vect_print_slp_tree): Likewise. + (vect_analyze_slp_instance): Dump a header for the final SLP tree. + (vect_slp_analyze_bb_1): Delay computing relevant stmts and + not vectorized stmts until after dependence analysis removed + instances. Merge alignment and dependence checks. + * tree-vectorizer.c (pass_slp_vectorize::execute): Clear visited + flag on all stmts. + +2015-11-12 Evandro Menezes + + * config/aarch64/aarch64-protos.h (tune_params): Add new members + "max_case_values" and "cache_line_size". + * config/aarch64/aarch64.c (aarch64_case_values_threshold): New + function. + (aarch64_override_options_internal): Tune heuristics based on new + members in "tune_params". + (TARGET_CASE_VALUES_THRESHOLD): Define macro. + +2015-11-12 Richard Biener + + PR tree-optimization/68306 + * tree-vect-data-refs.c (verify_data_ref_alignment): Remove + relevant and vectorizable checks here. + (vect_verify_datarefs_alignment): Add relevant check here. + +2015-11-12 Nathan Sidwell + + * gimplify.c (oacc_default_clause): New. + (omp_notice_variable): Call it. + +2015-11-12 Ilya Enkovich + + PR tree-optimization/68305 + * tree-vect-slp.c (vect_get_constant_vectors): Support + COND_EXPR with SSA_NAME as a condition. + +2015-11-12 Eric Botcazou + + * config/visium/visium-protos.h (notice_update_cc): Delete. + (print_operand): Likewise. + (print_operand_address): Likewise. + +2015-11-12 Uros Bizjak + + * config/alpha/alpha.h (FUNCTION_VALUE, LIBCALL_VALUE, + FUNCTION_VALUE_REGNO_P): Remove. + * config/alpha/alpha-protos.h (function_value): Remove. + * config/alpha/alpha.c (function_value): Rename to... + (alpha_function_value_1): ... this. Make static. + (alpha_function_value, alpha_libcall_value, + alpha_function_value_regno_p): New functions. + (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE, + TARGET_FUNCTION_VALUE_REGNO_P): Define. + +2015-11-12 Uros Bizjak + + * config/alpha/alpha.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove. + * config/alpha/alpha.c (alpha_memory_latency): Make static. + (alpha_register_move_cost, alpha_memory_move_cost): New functions. + (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define. + +2015-11-12 Eric Botcazou + + PR target/67265 + * config/i386/i386.c (ix86_adjust_stack_and_probe): Remove obsolete + assertion on the CFA register. + +2015-11-12 Ilya Enkovich + + * expr.c (do_store_flag): Expand vector comparison as + VEC_COND_EXPR if vector comparison is not supported by target. + +2015-11-12 Renlin Li + + * config/arm/arm.md (addsi3_compare_op2): Make the order of + assembly pattern consistent with constraint order. + +2015-11-12 Tom de Vries + + * gen-pass-instances.awk (handle_line): Simplify match regexp. + +2015-11-12 Tom de Vries + + * gen-pass-instances.awk (handle_line): Simplify init of + postfix_starts_at. + +2015-11-12 Tom de Vries + + * gen-pass-instances.awk (handle_line): Rename var where to + call_starts_at. + +2015-11-12 Claudiu Zissulescu + + * config/arc/arc.c (gen_compare_reg): Swap operands also when we + do not expand to rtl. + +2015-11-12 Richard Biener + + PR tree-optimization/58497 + * tree-vect-generic.c: Include gimplify.h. + (tree_vec_extract): Lookup constant/constructor DEFs. + (do_cond): Unshare cond. + +2015-11-12 Uros Bizjak + + * config/i386/i386.c (ix86_legitimate_combined_insn): Reject + combined insn if the alignment of vector mode memory operand + is less than ssememalign. + +2015-11-12 Tom de Vries + + * gen-pass-instances.awk (handle_line): Print parentheses and + pass_name explicitly. + +2015-11-12 Tom de Vries + + * gen-pass-instances.awk (handle_line): Add pass_num, prefix + and postfix vars. + +2015-11-12 Tom de Vries + + * gen-pass-instances.awk (handle_line): Add comments. + +2015-11-12 Tom de Vries + + * gen-pass-instances.awk (handle_line): Rename len_of_end to + len_of_close. + +2015-11-12 Tom de Vries + + * gen-pass-instances.awk (handle_line): Add len_of_call variable. + +2015-11-12 Tom de Vries + + * gen-pass-instances.awk (handle_line): Restructure using early-out. + +2015-11-12 Tom de Vries + + * gen-pass-instances.awk (handle_line): Unify semicolon use. + +2015-11-12 Tom de Vries + + * gen-pass-instances.awk (handle_line): Remove unused var line_length. + +2015-11-12 Tom de Vries + + * gen-pass-instances.awk: Add emacs indent setting. + +2015-11-12 Naveen H.S + + * fold-const.c (fold_binary_loc) : Move Convert A/B/C to A/(B*C) + to match.pd. + Move Convert A/(B/C) to (A/B)*C to match.pd. + Move Convert C1/(X*C2) into (C1/C2)/X to match.pd. + Move Optimize (X & (-A)) / A where A is a power of 2, to + X >> log2(A) to match.pd. + + * match.pd (rdiv (rdiv:s @0 @1) @2): New simplifier. + (rdiv @0 (rdiv:s @1 @2)): New simplifier. + (div (convert? (bit_and @0 INTEGER_CST@1)) INTEGER_CST@2): + New simplifier. + (rdiv REAL_CST@0 (mult @1 REAL_CST@2)): New simplifier. + +2015-11-12 Charles Baylis + + * config/arm/neon.md: (neon_vld2_lane): Remove unused max + variable. + (neon_vst2_lane): Likewise. + (neon_vld3_lane): Likewise. + (neon_vst3_lane): Likewise. + (neon_vld4_lane): Likewise. + (neon_vst4_lane): Likewise. + +2015-11-11 Aditya Kumar + Sebastian Pop + + * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple): + New member codegen_error + (translate_isl_ast_for_loop): Remove call to single_succ_edge and + early return. + (translate_isl_ast_node_user): Early return in case of error. + (translate_isl_ast_to_gimple::translate_isl_ast): Same. + (translate_isl_ast_to_gimple::translate_pending_phi_nodes): New. + (add_parameters_to_ivs_params): Remove macro. + (graphite_regenerate_ast_isl): Add if_region pointer to region. + * graphite-poly.c (new_poly_dr): Remove macro. + (print_pdr): Same. + (new_gimple_poly_bb): Same. + (free_gimple_poly_bb): Same. + (print_scop_params): Same. + * graphite-poly.h (struct poly_dr): Same. + (struct poly_bb): Add new_bb. + (gbb_from_bb): Remove dead code. + (pbb_from_bb): Same. + * graphite-scop-detection.c (parameter_index_in_region_1): Same. + (parameter_index_in_region): Same. + (find_scop_parameters): Same. + (build_cross_bb_scalars_def): New. + (build_cross_bb_scalars_use): New. + (graphite_find_cross_bb_scalar_vars): New + (try_generate_gimple_bb): Reads and Writes. + (build_alias_set): Move. + (gather_bbs::before_dom_children): Gather bbs visited. + (build_scops): call build_alias_set. + * graphite-sese-to-poly.c (phi_arg_in_outermost_loop): Delete. + (remove_simple_copy_phi): Delete. + (remove_invariant_phi): Delete. + (simple_copy_phi_p): Delete. + (reduction_phi_p): Delete. + (isl_id_for_dr): Remove unused param. + (parameter_index_in_region_1): Remove macro usage. + (set_scop_parameter_dim): Same. + (add_param_constraints): Same. + (add_conditions_to_constraints): Same + (build_scop_iteration_domain): Same. + (pdr_add_alias_set): Comment. + (add_scalar_version_numbers): New. + (build_poly_dr): ISL id. + (build_scop_drs): Move. + (build_poly_sr_1): Same. + (insert_stmts): Remove. + (build_poly_sr): New. + (new_pbb_from_pbb): Delete. + (insert_out_of_ssa_copy_on_edge): Delete. + (create_zero_dim_array): Delete. + (scalar_close_phi_node_p): Delete. + (propagate_expr_outside_region): Delete. + (rewrite_close_phi_out_of_ssa): Delete. + (rewrite_phi_out_of_ssa): Delete. + (rewrite_degenerate_phi): Delete. + (rewrite_reductions_out_of_ssa): Delete. + (rewrite_cross_bb_scalar_dependence): Delete. + (handle_scalar_deps_crossing_scop_limits): + (rewrite_cross_bb_scalar_deps): Delete. + (build_poly_scop): Remove calls to out-of-ssa functions. + * graphite.c (graphite_transform_loops): Early return in case of + codegen error. + * sese.c (debug_rename_map_1): Delete. + (debug_rename_map): Delete. + (sese_record_loop): Remove macro. + (build_sese_loop_nests): Same. + (new_sese_info): Same. + (free_sese_info): Same. + (sese_insert_phis_for_liveouts): + (is_loop_closed_ssa_use): New. + (number_of_phi_nodes): New. + (bb_contains_loop_close_phi_nodes): New. + (bb_contains_loop_phi_nodes): New. + (phi_uses_name): New. + (is_valid_rename): + (get_rename): Add old_bb and loop_phi for more precise matching of + exprs. + (set_rename): Pass region. + (later_of_the_two): New. + (gsi_insert_earliest): New. + (collect_all_ssa_names): New. + (substitute_ssa_name): New. + (rename_all_uses): New. + (get_rename_from_scev): New. + (rename_uses): Pass old_bb for more precise matching of exprs. + (get_def_bb_for_const): New. + (get_new_name): New. + (get_loc): New. + (get_edges): New. + (copy_loop_phi_args): New. + (copy_loop_phi_nodes): New. + (get_loop_init_value): New. + (find_init_value): New. + (find_init_value_close_phi): New. + (copy_loop_close_phi_args): New. + (copy_loop_close_phi_nodes): New. + (add_phi_arg_for_new_expr): New. + (copy_cond_phi_args): New. + (copy_cond_phi_nodes): New. + (copy_phi_nodes): New. + (should_copy_to_new_region): New. + (set_rename_for_each_def): New. + (graphite_copy_stmts_from_block): Early return in case of error. + (copy_bb_and_scalar_dependences): Same. + * sese.h (vec_find): New. + (SESE_PARAMS): Delete. + (SESE_LOOPS): Delete. + (SESE_LOOP_NEST): Delete. + (sese_contains_loop): Remove macro usage. + (sese_nb_params): Same. + (struct gimple_poly_bb): Added read_scalar_refs, write_scalar_refs. + +2015-11-11 Abderrazek Zaafrani + + * graphite-sese-to-poly.c (build_scop_original_schedule): Call + isl_union_map_add_map on every pbb->schedule. + +2015-11-11 Tom de Vries + + * tree-parloops.c (create_parallel_loop): Return void. + +2015-11-11 Tom de Vries + + * tree-parloops.c (transform_to_exit_first_loop_alt): Insert new exit + block only when needed. + +2015-11-11 Uros Bizjak + + * config/alpha/alpha-protos.h (print_operand): Remove. + (print_operand_address): Remove. + * config/alpha/alpha.h (PRINT_OPERAND): Remove. + (PRINT_OPERAND_ADDRESS): Remove. + (PRINT_OPERAND_PUNCT_VALID_P): Remove. + * config/alpha/alpha.c (TARGET_PRINT_OPERAND): New hook define. + (TARGET_PRINT_OPERAND_ADDRESS): New hook define. + (TARGET_PRINT_OPERAND_PUNCT_VALID_P): New hook define. + (print_operand_address): Rename to... + (alpha_print_operand_address): ...this and make static. + (print_operand): Rename to... + (alpha_print_operand): ...this and make static. + (alpha_print_operand_punct_valid_p): New static function. + +2015-11-11 Richard Biener + + * tree-vectorizer.h (vect_slp_analyze_and_verify_instance_alignment): + Declare. + (vect_analyze_data_refs_alignment): Make loop vect specific. + (vect_verify_datarefs_alignment): Likewise. + * tree-vect-data-refs.c (vect_slp_analyze_data_ref_dependences): + Add missing continue. + (vect_compute_data_ref_alignment): Export. + (vect_compute_data_refs_alignment): Merge into... + (vect_analyze_data_refs_alignment): ... this. + (verify_data_ref_alignment): Split out from ... + (vect_verify_datarefs_alignment): ... here. + (vect_slp_analyze_and_verify_node_alignment): New function. + (vect_slp_analyze_and_verify_instance_alignment): Likewise. + * tree-vect-slp.c (vect_supported_load_permutation_p): Remove + misplaced checks on alignment. + (vect_slp_analyze_bb_1): Add fatal output parameter. Do + alignment analysis after SLP discovery and do it per instance. + (vect_slp_bb): When vect_slp_analyze_bb_1 fatally failed do not + bother to re-try using different vector sizes. + +2015-11-11 Nathan Sidwell + Cesar Philippidis + + * gimplify.c (enum omp_region_type): Add ORT_ACC, + ORT_ACC_DATA, ORT_ACC_PARALLEL, ORT_ACC_KERNELS. Adjust ORT_NONE. + (gimple_add_tmp_var): Add ORT_ACC checks. + (gimplify_var_or_parm_decl): Likewise. + (omp_firstprivatize_variable): Likewise. Use ORT_TARGET_DATA as a mask. + (omp_add_variable): Look in outer contexts for openacc and allow + reductions with other sharing. Add ORT_ACC and ORT_TARGET_DATA checks. + (omp_notice_variable, omp_is_private, omp_check_private): Add + ORT_ACC checks. + (gimplify_scan_omp_clauses: Treat ORT_ACC as ORT_WORKSHARE. + Permit private openacc reductions. + (gimplify_oacc_cache): Specify ORT_ACC. + (gimplify_omp_workshare): Adjust OpenACC region types. + (gimplify_omp_target_update): Likewise. + * omp-low.c (scan_sharing_clauses): Remove Openacc firstprivate sorry. + (lower-rec_input_clauses): Don't handle openacc firstprivate + references here. + (lower_omp_target): Emit initializers for openacc firstprivate vars. + +2015-11-11 Eric Botcazou + + PR target/67265 + * ira.c (ira_setup_eliminable_regset): Do not necessarily create the + frame pointer for stack checking if non-call exceptions aren't used. + * config/i386/i386.c (ix86_finalize_stack_realign_flags): Likewise. + +2015-11-11 Segher Boessenkool + + * simplify-rtx.c (simplify_truncation): Simplify TRUNCATE of AND of + [LA]SHIFTRT. + +2015-11-11 Martin Liska + Richard Biener + + PR rtl-optimization/68287 + * lra-lives.c (lra_create_live_ranges_1): Reserve the right + number of elements. + +2015-11-11 Simon Dardis + + * config/mips/mips.c (mips_breakable_sequence_p): New function. + (mips_break_sequence): New function. + (mips_reorg_process_insns): Use them. Use compact branches in selected + situations. + +2015-11-11 Alan Lawrence + + * fold-const.c (get_array_ctor_element_at_index): Fix whitespace, typo. + +2015-11-11 Jiong Wang + Jim Wilson + + PR target/67305 + * config/arm/arm.md (neon_vector_mem_operand): Return FALSE if strict + be true and eliminable registers mentioned. + +2015-11-11 Claudiu Zissulescu + + * common/config/arc/arc-common.c (arc_handle_option): Handle ARCv2 + options. + * config/arc/arc-opts.h: Add ARCv2 CPUs. + * config/arc/arc-protos.h (arc_secondary_reload_conv): Prototype. + * config/arc/arc.c (arc_secondary_reload): Handle subreg (reg) + situation, and store instructions with large offsets. + (arc_secondary_reload_conv): New function. + (arc_init): Add ARCv2 options. + (arc_conditional_register_usage): Select the proper register usage + for ARCv2 processors. + (arc_handle_interrupt_attribute): ILINK2 is only valid for ARCv1 + architecture. + (arc_compute_function_type): Likewise. + (arc_print_operand): Handle new ARCv2 punctuation characters. + (arc_return_in_memory): ARCv2 ABI returns in registers up to 16 bytes. + (workaround_arc_anomaly, arc_asm_insn_p, arc_loop_hazard): New + function. + (arc_reorg, arc_hazard): Use it. + * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __HS__ and __EM__. + (ASM_SPEC): Add ARCv2 options. + (TARGET_NORM): ARC HS has norm instructions by default. + (TARGET_OPTFPE): Use optimized floating point emulation for ARC HS. + (TARGET_AT_DBR_CONDEXEC): Only for ARC600 family. + (TARGET_EM, TARGET_HS, TARGET_V2, TARGET_MPYW, TARGET_MULTI): Define. + (SIGNED_INT16, TARGET_MPY, TARGET_ARC700_MPY, TARGET_ANY_MPY): + Likewise. + (TARGET_ARC600_FAMILY, TARGET_ARCOMPACT_FAMILY): Likewise. + (TARGET_LP_WR_INTERLOCK): Likewise. + * config/arc/arc.md + (commutative_binary_mult_comparison_result_used, movsicc_insn) + (mulsi3, mulsi3_600_lib, mulsidi3, mulsidi3_700, mulsi3_highpart) + (umulsi3_highpart_i, umulsi3_highpart_int, umulsi3_highpart) + (umulsidi3, umulsidi3_700, cstoresi4, simple_return, p_return_i): + Use it for ARCv2. + (mulhisi3, mulhisi3_imm, mulhisi3_reg, umulhisi3, umulhisi3_imm) + (umulhisi3_reg, umulhisi3_reg, mulsi3_v2, nopv, bswapsi2) + (prefetch, divsi3, udivsi3 modsi3, umodsi3, arcset, arcsetltu) + (arcsetgeu, arcsethi, arcsetls, reload_*_load, reload_*_store) + (extzvsi): New pattern. + * config/arc/arc.opt: New ARCv2 options. + * config/arc/arcEM.md: New file. + * config/arc/arcHS.md: Likewise. + * config/arc/constraints.md (C3p): New constraint, accepts 1 and 2 + values. + (Cm2): A signed 9-bit integer constant constraint. + (C62): An unsigned 6-bit integer constant constraint. + (C16): A signed 16-bit integer constant constraint. + * config/arc/predicates.md (mult_operator): Add ARCv2 processort. + (short_const_int_operand): New predicate. + * config/arc/t-arc-newlib: Add ARCv2 multilib options. + * doc/invoke.texi: Add documentation for -mcpu= + -mcode-density and -mdiv-rem. + +2015-11-11 Julia Koval + + * config/i386/i386.c (m_SKYLAKE_AVX512): Fix typo. + +2015-11-11 Julia Koval + + * config/i386/i386.c: Handle "skylake" and "skylake-avx512". + +2015-11-11 Martin Liska + + * gimple-ssa-strength-reduction.c (create_phi_basis): + Use auto_vec. + * passes.c (release_dump_file_name): New function. + (pass_init_dump_file): Used from this function. + (pass_fini_dump_file): Likewise. + * tree-sra.c (convert_callers_for_node): Use xstrdup_for_dump. + * var-tracking.c (vt_initialize): Use pool_allocator. + +2015-11-11 Richard Biener + Jiong Wang + + PR tree-optimization/68234 + * tree-vrp.c (vrp_visit_phi_node): Extend SCEV check to those loop PHI + node which estimiated to be VR_VARYING initially. + +2015-11-11 Robert Suchanek + + * regname.c (scan_rtx_reg): Check the matching number of consecutive + registers when tying chains. + (build_def_use): Move terminated_this_insn earlier in the function. + +2015-11-10 Mike Frysinger + + * configure.ac: Use = with test and not ==. + * configure: Regenerated. + +2015-11-11 David Edelsohn + + * config/rs6000/aix.h (TARGET_OS_AIX_CPP_BUILTINS): Add cpu and + machine asserts. Update defines for 64 bit. + +2015-11-11 Charles Baylis + + PR target/63870 + * config/arm/neon.md (neon_vld1_lane): Remove error for invalid + lane number. + (neon_vst1_lane): Likewise. + (neon_vld2_lane): Likewise. + (neon_vst2_lane): Likewise. + (neon_vld3_lane): Likewise. + (neon_vst3_lane): Likewise. + (neon_vld4_lane): Likewise. + (neon_vst4_lane): Likewise. + +2015-11-11 Charles Baylis + + PR target/63870 + * config/arm/arm-builtins.c: (arm_load1_qualifiers) Use + qualifier_struct_load_store_lane_index. + (arm_storestruct_lane_qualifiers) Likewise. + * config/arm/neon.md: (neon_vld1_lane) Reverse lane numbers for + big-endian. + (neon_vst1_lane) Likewise. + (neon_vld2_lane) Likewise. + (neon_vst2_lane) Likewise. + (neon_vld3_lane) Likewise. + (neon_vst3_lane) Likewise. + (neon_vld4_lane) Likewise. + (neon_vst4_lane) Likewise. + +2015-11-11 Charles Baylis + + PR target/63870 + * config/arm/arm-builtins.c (enum arm_type_qualifiers): New enumerator + qualifier_struct_load_store_lane_index. + (builtin_arg): New enumerator NEON_ARG_STRUCT_LOAD_STORE_LANE_INDEX. + (arm_expand_neon_args): New parameter. Remove ellipsis. Handle NEON + argument qualifiers. + (arm_expand_neon_builtin): Handle new NEON argument qualifier. + * config/arm/arm.h (NEON_ENDIAN_LANE_N): New macro. + +2015-11-10 Nathan Sidwell + + * config/nvptx/nvptx.opt (moptimize): New flag. + * config/nvptx/nvptx.c (nvptx_option_override): Set nvptx_optimize + default. + (nvptx_optimize_inner): New. + (nvptx_process_pars): Call it when optimizing. + * doc/invoke.texi (Nvidia PTX Options): Document -moptimize. + +2015-11-10 Bill Schmidt + + * config/rs6000/rs6000.c (rs6000_secondary_reload_direct_move): + Remove redundant code. + +2015-11-10 Jeff Law + + * config/ft32/ft32.c (ft32_print_operand): Supply mode to + call to output_address. + * config/moxie/moxie.c (moxie_print_operand_address): Similarly. + Add unnamed machine_mode argument. + +2015-11-10 Michael Meissner + + * config.gcc (powerpc*-*-*, rs6000*-*-*): Add power9 to hosts that + default to 64-bit. + +2015-11-10 Uros Bizjak + + * config/i386/i386.md (*movabs_1): Add explicit + size directives for -masm=intel. + (*movabs_2): Ditto. + +2015-11-10 Uros Bizjak + + * config/i386/i386.c (ix86_print_operand): Remove dead code that + tried to avoid (%rip) for call operands. + +2015-11-10 Uros Bizjak + + * config/i386/i386.c (ix86_print_operand_address_as): Add no_rip + argument. Do not use RIP relative addressing when no_rip is set. + (ix86_print_operand): Update call to ix86_print_operand_address_as. + (ix86_print_operand_address): Ditto. + * config/i386/i386.md (*movabs_1): Use %P modifier for + absolute movabs operand 0. Add square braces for -masm=intel. + (*movabs_2): Ditto for operand 1. + +2015-11-10 Kyrylo Tkachov + + * config/arm/arm.c (arm_new_rtx_costs, FIX case): Handle + combine_vcvtf2i pattern. + +2015-11-10 Kyrylo Tkachov + + * config/arm/arm.c (neon_valid_immediate): Remove integer + CONST_DOUBLE handling. It should never occur. + +2015-11-10 Matthew Wahab + + * config/aarch64/atomics.md (unspecv): Move to iterators.md. + (ATOMIC_LDOP): Likewise. + (atomic_ldop): Likewise. + * config/aarch64/iterators.md (unspecv): Moved from atomics.md. + (ATOMIC_LDOP): Likewise. + (atomic_ldop): Likewise. + +2015-11-10 Martin Liska + + * alloc-pool.h (allocate_raw): New function. + (operator new (size_t, object_allocator &a)): Use the + function instead of object_allocator::allocate). + +2015-11-10 Ilya Enkovich + + * config/i386/sse.md (HALFMASKMODE): New attribute. + (DOUBLEMASKMODE): New attribute. + (vec_pack_trunc_qi): New. + (vec_pack_trunc_): New. + (vec_unpacks_lo_hi): New. + (vec_unpacks_lo_si): New. + (vec_unpacks_lo_di): New. + (vec_unpacks_hi_hi): New. + (vec_unpacks_hi_): New. + +2015-11-10 Ilya Enkovich + + * optabs.c (expand_binop_directly): Allow scalar mode for + vec_pack_trunc_optab. + * tree-vect-loop.c (vect_determine_vectorization_factor): Skip + boolean vector producers from pattern sequence when computing VF. + * tree-vect-patterns.c (vect_vect_recog_func_ptrs) Add + vect_recog_mask_conversion_pattern. + (search_type_for_mask): Choose the smallest + type if different size types are mixed. + (build_mask_conversion): New. + (vect_recog_mask_conversion_pattern): New. + (vect_pattern_recog_1): Allow scalar mode for boolean vectype. + * tree-vect-stmts.c (vectorizable_mask_load_store): Support masked + load with pattern. + (vectorizable_conversion): Support boolean vectors. + (free_stmt_vec_info): Allow patterns for statements with no lhs. + * tree-vectorizer.h (NUM_PATTERNS): Increase to 14. + +2015-11-10 Ilya Enkovich + + * config/i386/i386-protos.h (ix86_expand_sse_movcc): New. + * config/i386/i386.c (ix86_expand_sse_movcc): Make public. + Cast mask to FP mode if required. + * config/i386/sse.md (vcond_mask_): New. + (vcond_mask_): New. + (vcond_mask_): New. + (vcond_mask_): New. + (vcond_mask_v2div2di): New. + (vcond_mask_): New. + (vcond_mask_): New. + +2015-11-10 Ilya Enkovich + + * optabs-query.h (get_vcond_mask_icode): New. + * optabs-tree.c (expand_vec_cond_expr_p): Use + get_vcond_mask_icode for VEC_COND_EXPR with mask. + * optabs.c (expand_vec_cond_mask_expr): New. + (expand_vec_cond_expr): Use get_vcond_mask_icode when possible. + * optabs.def (vcond_mask_optab): New. + * tree-vect-patterns.c (vect_recog_bool_pattern): Don't + generate redundant comparison for COND_EXPR. + * tree-vect-stmts.c (vect_is_simple_cond): Allow SSA_NAME + as a condition. + (vectorizable_condition): Likewise. + * tree-vect-slp.c (vect_get_and_check_slp_defs): Allow + cond_exp with no embedded comparison. + (vect_build_slp_tree_1): Likewise. + +2015-11-10 Ilya Enkovich + + * config/i386/sse.md (maskload): Rename to ... + (maskload): ... this. + (maskstore): Rename to ... + (maskstore): ... this. + (maskload): New. + (maskstore): New. + +2015-11-10 Ilya Enkovich + + * internal-fn.c (expand_MASK_LOAD): Adjust to maskload optab changes. + (expand_MASK_STORE): Adjust to maskstore optab changes. + * optabs-query.c (can_vec_mask_load_store_p): Add MASK_MODE arg. + Adjust to maskload, maskstore optab changes. + * optabs-query.h (can_vec_mask_load_store_p): Add MASK_MODE arg. + * optabs.def (maskload_optab): Transform into convert optab. + (maskstore_optab): Likewise. + * tree-if-conv.c (ifcvt_can_use_mask_load_store): Adjust to + can_vec_mask_load_store_p signature change. + (predicate_mem_writes): Use boolean mask. + * tree-vect-stmts.c (vectorizable_mask_load_store): Adjust to + can_vec_mask_load_store_p signature change. Allow invariant masks. + (vectorizable_operation): Ignore type precision for boolean vectors. + +2015-11-10 Ilya Enkovich + + * expr.c (do_store_flag): Use expand_vec_cmp_expr for mask results. + (const_vector_mask_from_tree): New. + (const_vector_from_tree): Use const_vector_mask_from_tree + for boolean vectors. + * optabs-query.h (get_vec_cmp_icode): New. + * optabs-tree.c (expand_vec_cmp_expr_p): New. + * optabs-tree.h (expand_vec_cmp_expr_p): New. + * optabs.c (vector_compare_rtx): Add OPNO arg. + (expand_vec_cond_expr): Adjust to vector_compare_rtx change. + (expand_vec_cmp_expr): New. + * optabs.def (vec_cmp_optab): New. + (vec_cmpu_optab): New. + * optabs.h (expand_vec_cmp_expr): New. + * tree-vect-generic.c (expand_vector_comparison): Add vector + comparison optabs check. + * tree-vect-loop.c (vect_determine_vectorization_factor): Ignore mask + operations for VF. Add mask type computation. + * tree-vect-stmts.c (get_mask_type_for_scalar_type): New. + (vectorizable_comparison): New. + (vect_analyze_stmt): Add vectorizable_comparison. + (vect_transform_stmt): Likewise. + (vect_init_vector): Support boolean vector invariants. + (vect_get_vec_def_for_operand): Add VECTYPE arg. + (vectorizable_condition): Directly provide vectype for invariants + used in comparison. + * tree-vectorizer.h (get_mask_type_for_scalar_type): New. + (enum vect_var_kind): Add vect_mask_var. + (enum stmt_vec_info_type): Add comparison_vec_info_type. + (vectorizable_comparison): New. + (vect_get_vec_def_for_operand): Add VECTYPE arg. + * tree-vect-data-refs.c (vect_get_new_vect_var): Support vect_mask_var. + (vect_create_destination_var): Likewise. + * tree-vect-patterns.c (check_bool_pattern): Check fails + if we can vectorize comparison directly. + (search_type_for_mask): New. + (vect_recog_bool_pattern): Support cases when bool pattern check fails. + * tree-vect-slp.c (vect_build_slp_tree_1): Allow + comparison statements. + (vect_get_constant_vectors): Support boolean vector constants. + * config/i386/i386-protos.h (ix86_expand_mask_vec_cmp): New. + (ix86_expand_int_vec_cmp): New. + (ix86_expand_fp_vec_cmp): New. + * config/i386/i386.c (ix86_expand_sse_cmp): Allow NULL for + op_true and op_false. + (ix86_int_cmp_code_to_pcmp_immediate): New. + (ix86_fp_cmp_code_to_pcmp_immediate): New. + (ix86_cmp_code_to_pcmp_immediate): New. + (ix86_expand_mask_vec_cmp): New. + (ix86_expand_fp_vec_cmp): New. + (ix86_expand_int_sse_cmp): New. + (ix86_expand_int_vcond): Use ix86_expand_int_sse_cmp. + (ix86_expand_int_vec_cmp): New. + (ix86_get_mask_mode): New. + (TARGET_VECTORIZE_GET_MASK_MODE): New. + * config/i386/sse.md (avx512fmaskmodelower): New. + (vec_cmp): New. + (vec_cmp): New. + (vec_cmpv2div2di): New. + (vec_cmpu): New. + (vec_cmpu): New. + (vec_cmpuv2div2di): New. + +2015-11-10 Richard Biener + + PR tree-optimization/68240 + * tree-ssa-sccvn.c (cond_stmts_equal_p): Handle commutative compares + properly. + (visit_phi): For PHIs with just a single executable edge + take its value directly. + (expressions_equal_p): Handle VN_TOP properly. + +2015-11-10 Richard Biener + + * tree-vect-data-refs.c (vect_slp_analyze_node_dependences): + Handle memory using/clobbering stmts without a STMT_VINFO_DATA_REF + conservatively. + +2015-11-10 Richard Biener + + PR tree-optimization/56118 + * tree-vect-slp.c (vect_bb_vectorization_profitable_p): Make equal + cost favor vectorized version. + +2015-11-10 Kyrylo Tkachov + + * config/aarch64/aarch64.md (cc): New define_expand. + * config/aarch64/iterators.md (NEG_NOT): New code iterator. + (neg_not_op): New code attribute. + +2015-11-10 Kyrylo Tkachov + + * ifcvt.c (noce_try_inverse_constants): New function. + (noce_process_if_block): Call it. + * optabs.h (emit_conditional_neg_or_complement): Declare prototype. + * optabs.def (negcc_optab, notcc_optab): Declare. + * optabs.c (emit_conditional_neg_or_complement): New function. + * doc/tm.texi (Standard Names): Document negcc, notcc names. + +2015-11-10 Kyrylo Tkachov + + PR rtl-optimization/68236 + * haifa-sched.c (autopref_multipass_dfa_lookahead_guard): Return 0 + if insn_queue doesn't exist. + (haifa_sched_finish): Reset insn_queue to NULL. + +2015-11-10 Robert Suchanek + + * regrename.c (create_new_chain): Initialize renamed and tied_chain. + (build_def_use): Initialize terminated_this_insn. + (find_best_rename_reg): Pick and check register from the tied chain. + (regrename_do_replace): Mark head as renamed. + (struct du_head *terminated_this_insn). New static variable. + (scan_rtx_reg): Tie chains in move insns. Set terminated_this_insn. + * regrename.h (struct du_head): Add tied_chain, renamed members. + +2015-11-10 Ramana Radhakrishnan + + PR bootstrap/68256 + * config/aarch64/aarch64.c (aarch64_use_constant_blocks_p): + Return false. + +2015-11-09 Eric Botcazou + + PR target/57845 + * config/sparc/sparc.c (sparc_function_value_1): In 32-bit mode, do + not promote the mode for aggregate types. + +2015-11-09 Nathan Sidwell + + * omp-low.h (replace_oacc_fn_attrib, build_oacc_routine_dims): Declare. + * omp-low.c (build_oacc_routine_dims): New. + +2015-11-09 Michael Meissner + + * config/rs6000/constraints.md (wF constraint): New constraints + for power9/toc fusion. + (wG constraint): Likewise. + + * config/rs6000/predicates.md (u6bit_cint_operand): New + predicate, recognize 0..63. + (upper16_cint_operand): New predicate for power9 and toc fusion. + (fpr_reg_operand): Likewise. + (toc_fusion_or_p9_reg_operand): Likewise. + (toc_fusion_mem_raw): Likewise. + (toc_fusion_mem_wrapped): Likewise. + (fusion_gpr_addis): If power9 fusion, allow fusion for a larger + address range. + (fusion_gpr_mem_combo): Delete, use fusion_addis_mem_combo_load + instead. + (fusion_addis_mem_combo_load): Add support for power9 fusion of + floating point loads, floating point stores, and gpr stores. + (fusion_addis_mem_combo_store): Likewise. + (fusion_offsettable_mem_operand): Likewise. + + * config/rs6000/rs6000-protos.h (emit_fusion_addis): Add declarations. + (emit_fusion_load_store): Likewise. + (fusion_p9_p): Likewise. + (expand_fusion_p9_load): Likewise. + (expand_fusion_p9_store): Likewise. + (emit_fusion_p9_load): Likewise. + (emit_fusion_p9_store): Likewise. + (fusion_wrap_memory_address): Likewise. + + * config/rs6000/rs6000.c (struct rs6000_reg_addr): Add new + elements for power9 fusion. + (rs6000_debug_print_mode): Rework debug information to print more + information about fusion. + (rs6000_init_hard_regno_mode_ok): Setup for power9 fusion support. + (rs6000_legitimate_address_p): Recognize toc fusion as a valid + offsettable memory address. + (rs6000_rtx_costs): Update costs for new ISA 3.0 instructions. + (emit_fusion_gpr_load): Move most of the code from + emit_fusion_gpr_load into emit_fusion-addis that handles both + power8 and power9 fusion. + (emit_fusion_addis): Likewise. + (emit_fusion_load_store): Likewise. + (fusion_wrap_memory_address): Add support for TOC fusion. + (fusion_split_address): Likewise. + (fusion_p9_p): Add support for power9 fusion. + (expand_fusion_p9_load): Likewise. + (expand_fusion_p9_store): Likewise. + (emit_fusion_p9_load): Likewise. + (emit_fusion_p9_store): Likewise. + + * config/rs6000/rs6000.h (TARGET_EXTSWSLI): Macros for support for + new instructions in ISA 3.0. + (TARGET_CTZ): Likewise. + (TARGET_TOC_FUSION_INT): Macros for power9 fusion support. + (TARGET_TOC_FUSION_FP): Likewise. + + * config/rs6000/rs6000.md (UNSPEC_FUSION_P9): New power9/toc + fusion unspecs. + (UNSPEC_FUSION_ADDIS): Likewise. + (QHSI mode iterator): New iterator for power9 fusion. + (GPR_FUSION): Likewise. + (FPR_FUSION): Likewise. + (mod3): Add support for ISA 3.0 modulus instructions. + (umod3): Likewise. + (divmod peephole): Likewise. + (udivmod peephole): Likewise. + (ctz2): Add support for ISA 3.0 count trailing zeros scalar + instructions. + (ctz2_h): Likewise. + (ashdi3_extswsli): Add support for ISA 3.0 EXTSWSLI instruction. + (ashdi3_extswsli_dot): Likewise. + (ashdi3_extswsli_dot2): Likewise. + (power9 fusion splitter): New power9/toc fusion support. + (toc_fusionload_): Likewise. + (toc_fusionload_di): Likewise. + (fusion_gpr_load_): Update predicate function. + (power9 fusion peephole2s): New power9/toc fusion support. + (fusion_gpr___load): Likewise. + (fusion_gpr___store): Likewise. + (fusion_fpr___load): Likewise. + (fusion_fpr___store): Likewise. + (fusion_p9__constant): Likewise. + +2015-11-09 Steve Ellcey + + * optabs.c (prepare_libcall_arg): New function. + (expand_fixed_convert): Add call to prepare_libcall_arg. + +2015-11-09 Nikolai Bozhenov + + * sched-int.h (dump_rgn_dependencies_dot): Declare + * sched-rgn.c (dump_rgn_dependencies_dot): New function + * print-rtl.h (print_insn): Add prototype + + * haifa-sched.c (setup_sched_dump): Don't redirect output to stderr. + * common.opt (-fsched-verbose): Set default value to 1. + * invoke.texi (-fsched-verbose): Update the option's description. + +2015-11-09 Eric Botcazou + + * config/visium/visium.h (PRINT_OPERAND): Delete. + (PRINT_OPERAND_PUNCT_VALID_P): Likewise. + (PRINT_OPERAND_ADDRESS): Likewise. + * config/visium/visium.c (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define + to... + (visium_print_operand_punct_valid_p): ...this. New function. + (TARGET_PRINT_OPERAND): Define to... + (print_operand): Rename to... + (visium_print_operand): ...this. + (TARGET_PRINT_OPERAND_ADDRESS): Define to... + (visium_output_address): Rename to... + (visium_print_operand_address): ...this. + (print_operand_address): Delete. + +2015-11-09 Eric Botcazou + + PR middle-end/68259 + * tree.h (reverse_storage_order_for_component_p) : + Check that the type of the first operand is an aggregate type. + +2015-11-09 Nathan Sidwell + + * omp-low.c: Fix some OpenACC comment typos. + (lower_reduction_clauses): Remove BUILT_IN_GOACC_GET_THREAD_NUM call. + * omp-builtins.def (BUILT_IN_GOACC_GET_THREAD_NUM, + BUILT_IN_GOACC_GET_NUM_THREADS): Delete. + +2015-11-09 Uros Bizjak + + * config/i386/i386.md (*strmovqi_1): Fix insn enable condition. + +2015-11-09 Jeff Law + + * tree-ssanames.c (verify_ssaname_freelists): Simplify check for + being in gimple/ssa form. Remove redundant check for SSA_NAME. + Fix comment typo. + +2015-11-09 Michael Meissner + Peter Bergner + + * config/rs6000/rs6000.opt (-mpower9-fusion): Add new switches for + ISA 3.0 (power9). + (-mpower9-vector): Likewise. + (-mpower9-dform): Likewise. + (-mpower9-minmax): Likewise. + (-mtoc-fusion): Likewise. + (-mmodulo): Likewise. + (-mfloat128-hardware): Likewise. + + * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add option + mask for ISA 3.0 (power9). + (POWERPC_MASKS): Add new ISA 3.0 switches. + (power9 cpu): Add power9 cpu. + + * config/rs6000/rs6000.h (ASM_CPU_POWER9_SPEC): Add support for power9. + (ASM_CPU_SPEC): Likewise. + (EXTRA_SPECS): Likewise. + + * config/rs6000/rs6000-opts.h (enum processor_type): Add + PROCESSOR_POWER9. + + * config/rs6000/rs6000.c (power9_cost): Initial cost setup for power9. + (rs6000_debug_reg_global): Add support for power9 fusion. + (rs6000_setup_reg_addr_masks): Cache mode size. + (rs6000_option_override_internal): Until real power9 tuning is + added, use -mtune=power8 for -mcpu=power9. + (rs6000_setup_reg_addr_masks): Do not allow pre-increment, + pre-decrement, or pre-modify on SFmode/DFmode if we allow the use + of Altivec registers. + (rs6000_option_override_internal): Add support for ISA 3.0 switches. + (rs6000_loop_align): Add support for power9 cpu. + (rs6000_file_start): Likewise. + (rs6000_adjust_cost): Likewise. + (rs6000_issue_rate): Likewise. + (insn_must_be_first_in_group): Likewise. + (insn_must_be_last_in_group): Likewise. + (force_new_group): Likewise. + (rs6000_register_move_cost): Likewise. + (rs6000_opt_masks): Likewise. + + * config/rs6000/rs6000.md (cpu attribute): Add power9. + * config/rs6000/rs6000-tables.opt: Regenerate. + + * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define + _ARCH_PWR9 if power9 support is available. + + * config/rs6000/aix61.h (ASM_CPU_SPEC): Add power9. + * config/rs6000/aix53.h (ASM_CPU_SPEC): Likewise. + + * configure.ac: Determine if the assembler supports the ISA 3.0 + instructions. + * config.in (HAVE_AS_POWER9): Likewise. + * configure: Regenerate. + + * doc/invoke.texi (RS/6000 and PowerPC Options): Document ISA 3.0 + switches. + +2015-11-09 Kyrylo Tkachov + + * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): + Remove integer CONST_DOUBLE handling. It should never occur. + +2015-11-09 Kyrylo Tkachov + + PR target/68129 + * config/aarch64/aarch64.h (TARGET_SUPPORTS_WIDE_INT): Define to 1. + * config/aarch64/aarch64.c (aarch64_print_operand, CONST_DOUBLE): + Delete VOIDmode case. Assert that mode is not VOIDmode. + * config/aarch64/predicates.md (const0_operand): Remove const_double + match. + +2015-11-09 Martin Liska + + * ipa-inline-analysis.c (estimate_function_body_sizes): Call + body_info release function. + * ipa-prop.c (ipa_release_body_info): New function. + (ipa_analyze_node): Call the function. + (ipa_node_params::~ipa_node_params): Release known_csts. + * ipa-prop.h (ipa_release_body_info): Declare. + +2015-11-09 Martin Liska + + * gcc.c (record_temp_file): Release name string. + * ifcvt.c (noce_convert_multiple_sets): Use auto_vec instead of vec. + * lra-lives.c (free_live_range_list): Utilize + lra_live_range_pool for allocation and deallocation. + (create_live_range): Likewise. + (copy_live_range): Likewise. + (lra_merge_live_ranges): Likewise. + (remove_some_program_points_and_update_live_ranges): Likewise. + (lra_create_live_ranges_1): Release point_freq_vec that can + be not freed from previous iteration of the function. + * tree-eh.c (lower_try_finally_switch): Use auto_vec instead of vec. + * tree-sra.c (sra_deinitialize): Release all vectors in + base_access_vec. + * tree-ssa-dom.c (free_dom_edge_info): Make the function extern. + * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): + Release edge_info for a removed edge. + (thread_through_all_blocks): Free region vector. + * tree-ssa.h (free_dom_edge_info): Declare function extern. + +2015-11-09 Ilya Enkovich + + * optabs.c (expand_vec_cond_expr): Always get sign from type. + * tree.c (wide_int_to_tree): Support negative values for boolean. + (build_nonstandard_boolean_type): Use signed type for booleans. + +2015-11-09 Richard Biener + + PR tree-optimization/68248 + * tree-vect-generic.c (expand_vector_operations_1): Handle scalar rhs2. + +2015-11-09 Richard Biener + + PR tree-optimization/56118 + * tree-vectorizer.h (vect_find_last_scalar_stmt_in_slp): Declare. + * tree-vect-slp.c (vect_find_last_scalar_stmt_in_slp): Export. + * tree-vect-data-refs.c (vect_slp_analyze_node_dependences): New + function. + (vect_slp_analyze_data_ref_dependences): Instead of computing + all dependences of the region DRs just analyze the code motions + SLP vectorization will perform. Remove SLP instances that + cannot have their store/load motions applied. + (vect_analyze_data_refs): Allow DRs without a vectype + in BB vectorization. + +2015-11-09 Julian Brown + + * final.c (output_asm_insn): Pass VOIDmode to output_address. + (output_address): Add MODE argument. Pass to print_operand_address + hook. + * targhooks.c (default_print_operand_address): Add MODE argument. + * targhooks.h (default_print_operand_address): Update prototype. + * output.h (output_address): Update prototype. + * target.def (print_operand_address): Add MODE argument. + * config/vax/vax.c (print_operand_address): Pass VOIDmode to + output_address. + (print_operand): Pass access mode to output_address. + * config/mcore/mcore.c (mcore_print_operand_address): Add MODE + argument. + (mcore_print_operand): Update calls to mcore_print_operand_address. + * config/fr30/fr30.c (fr30_print_operand): Pass VOIDmode to + output_address. + * config/lm32/lm32.c (lm32_print_operand): Pass mode in calls to + output_address. + * config/tilegx/tilegx.c (output_memory_reference_mode): Remove + global. + (tilegx_print_operand): Don't set above global. Update calls to + output_address. + (tilegx_print_operand_address): Add MODE argument. Use instead of + output_memory_reference_mode global. + * config/frv/frv.c (frv_print_operand_address): Add MODE argument. + (frv_print_operand): Pass mode to frv_print_operand_address calls. + * config/mn10300/mn10300.c (mn10300_print_operand): Pass mode to + output_address. + * config/cris/cris.c (cris_print_operand_address): Add MODE argument. + (cris_print_operand): Pass mode to output_address calls. + * config/spu/spu.c (print_operand): Pass mode to output_address calls. + * config/aarch64/aarch64.h (aarch64_print_operand) + (aarch64_print_operand_address): Remove prototypes. + * config/aarch64/aarch64.c (aarch64_memory_reference_mode): Delete + global. + (aarch64_print_operand): Make static. Update calls to output_address. + (aarch64_print_operand_address): Add MODE argument. Use instead of + aarch64_memory_reference_mode global. + (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define target + hooks. + * config/aarch64/aarch64.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): + Delete macro definitions. + * config/pa/pa.c (pa_print_operand): Pass mode in output_address calls. + * config/xtensa/xtensa.c (print_operand): Pass mode in + output_address calls. + * config/h8300/h8300.c (h8300_print_operand_address): Add MODE + argument. + (h83000_print_operand): Update calls to h8300_print_operand_address + and output_address. + * config/ia64/ia64.c (ia64_print_operand_address): Add MODE argument. + * config/tilepro/tilepro.c (output_memory_reference_mode): Delete + global. + (tilepro_print_operand): Pass mode to output_address. + (tilepro_print_operand_address): Add MODE argument. Use instead of + output_memory_reference_mode. + * config/nvptx/nvptx.c (output_decl_chunk, nvptx_assemble_integer) + (nvptx_output_call_insn, nvptx_print_address_operand): Pass VOIDmode + to output_address calls. + (nvptx_print_operand_address): Add MODE argument. + * config/alpha/alpha.c (print_operand): Pass mode argument in + output_address calls. + * config/m68k/m68k.c (print_operand): Pass mode argument in + output_address call. + * config/avr/avr.c (avr_print_operand_address): Add MODE argument. + (avr_print_operand): Update calls to avr_print_operand_address. + * config/sparc/sparc.c (sparc_print_operand_address): Add MODE + argument. Update calls to output_address. + (sparc_print_operand): Pass mode to output_address. + * config/iq2000/iq2000.c (iq2000_print_operand_address): Add MODE + argument. + (iq2000_print_operand): Pass mode in output_address calls. + * config/stormy16/stormy16.c (xstormy16_print_operand_address): Add + MODE argument. + (xstormy16_print_operand): Pass mode to + xstormy16_print_operand_address calls. + * config/mips/mips.c (mips_print_operand): Update calls to + output_address. + (mips_print_operand_address): Add MODE argument. + * config/epiphany/epiphany.c (epiphany_print_operand): Update calls + to output_address. + (epiphany_print_operand_address): Add MODE argument. Add FIXME note. + * config/pdp11/pdp11.c (pdp11_asm_print_operand): Update call to + output_address. + * config/rx/rx.c (rx_print_operand_address): Add MODE argument. + (rx_print_operand): Update calls to output_address, + rx_print_operand_address. + * config/nds32/nds32.c (nds32_print_operand): Update calls to + output_address. + (nds32_print_operand_address): Add MODE argument. + * config/rs6000/rs6000.c (print_operand): Pass mem mode to + output_address calls. + * config/c6x/c6x.c (print_address_offset): Pass mem mode to + output_address call. + (c6x_print_address_operand): Update calls to output_address. + (c6x_print_operand_address): Pass mode to above. + * config/v850/v850.c (v850_print_operand_address): Add MODE argument. + (v850_print_operand): Pass mode to v850_print_operand_address, + output_address. + * config/mmix/mmix.c (mmix_print_operand_address): Add MODE argument. + (mmix_print_operand): Pass mode in output_address calls. + * config/sh/sh.c (sh_print_operand_address): Add MODE argument. + (sh_print_operand): Pass mem mode to output_address, + sh_print_operand_address. + * config/cr16/cr16.c (cr16_print_operand_address): Add MODE argument. + (cr16_print_operand): Pass mode to output_address, + cr16_print_operand_address. + * config/bfin/bfin.c (print_address_operand): Pass VOIDmode to + output_address. + * config/microblaze/microblaze.c (print_operand): Pass mode to + output_address. + * config/nios2/nios2.c (nios2_print_operand): Pass VOIDmode to + output_address. + (nios2_print_operand_address): Add MODE argument. Update call to + nios2_print_operand_address. + * config/s390/s390.c (print_operand): Pass mode to output_address. + * config/m32c/m32c.c (m32c_print_operand_address): Add MODE argument. + * config/arc/arc.c (arc_print_operand): Pass VOIDmode to + output_address. + * config/arm/arm.c (arm_print_operand_address): Add MODE argument. + Use instead of output_memory_reference_mode. + (output_memory_reference_mode): Delete global. + (arm_print_operand): Pass mem mode to output_address. + * config/m32r/m32r.c (m32r_print_operand_address): Add MODE argument. + (m32r_print_operand): Pass mode to output_address. + * config/msp430/msp430.c (msp430_print_operand_addr): Add MODE + argument. + (msp430_print_operand): Pass mode to msp430_print_operand_addr. + * config/i386/i386.c (ix86_print_operand): Pass mode to + output_address calls. + (ix86_print_operand_address): Add MODE argument. + +2015-11-09 Eric Botcazou + + PR middle-end/68251 + * tree-core.h (REF_REVERSE_STORAGE_ORDER): Move around. + * tree.h (REF_REVERSE_STORAGE_ORDER): Change to default_def_flag. + * tree-streamer-in.c (unpack_ts_base_value_fields): Adjust. + * tree-streamer-out.c (pack_ts_base_value_fields): Likewise. + +2015-11-09 Kyrylo Tkachov + + PR rtl-optimization/67749 + * ifcvt.c (noce_try_cmove_arith): Do not emit move in IF-ELSE + case before emitting the two blocks. Instead modify the register + in the corresponding final insn of the basic block. + +2015-11-09 Rainer Orth + + * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Allow for differences in + assembler syntax. + Support Solaris ld. + Define HAVE_INITFINI_ARRAY_SUPPORT as 0/1. + + * config/sol2.h (SUPPORTS_INIT_PRIORITY): Define to + HAVE_INITFINI_ARRAY_SUPPORT. + * config/initfini-array.h: Check HAVE_INITFINI_ARRAY_SUPPORT value. + + * configure.ac (gcc_cv_as_sparc_nobits): Remove. + * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): + Don't check HAVE_AS_SPARC_NOBITS. + Heed SECTION_NOTYPE. + + * configure: Regenerate. + * config.in: Regenerate. + +2015-11-09 Eric Botcazou + + PR middle-end/68253 + * fold-const.c (fold_truth_andor_1): Initialize new variables to 0. + +2015-11-09 Richard Henderson + + * config/i386/i386-c.c (ix86_target_macros): Define __SEG_FS, + __SEG_GS, __SEG_TLS. + (ix86_register_pragmas): Register address spaces __seg_fs, + __seg_gs, __seg_tls. + * config/i386/i386-protos.h (enum ix86_address_seg): Remove. + (ADDR_SPACE_SEG_FS, ADDR_SPACE_SEG_GS, ADDR_SPACE_SEG_TLS): New. + (struct ix86_address): Use addr_space_t instead of ix86_address_seg. + * config/i386/i386.c (ix86_decompose_address): Likewise. + (ix86_legitimate_address_p): Likewise. + (memory_address_length): Likewise. Check mem address space too. + (ix86_print_operand): Use ix86_print_operand_address_as. + (ix86_print_operand_address_as): Rename from + ix86_print_operand_address, add new addr_space_t parameter. + Validate that either the parameter or the ix86_address segment + is default address space. Handle ADDR_SPACE_SEG_TLS. + (ix86_print_operand_address): New. + (ix86_addr_space_subset_p, TARGET_ADDR_SPACE_SUBSET_P): New. + (ix86_addr_space_convert, TARGET_ADDR_SPACE_CONVERT): New. + (ix86_addr_space_debug, TARGET_ADDR_SPACE_DEBUG): New. + (ix86_addr_space_zero_address_valid): New. + (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): New. + * config/i386/i386.h (DEFAULT_TLS_SEG_REG): Use addr_space_t constants. + * config/i386/rdos.h (DEFAULT_TLS_SEG_REG): Likewise. + * config/i386/predicates.md (address_no_seg_operand): Likewise. + (vsib_address_operand): Likewise. + (address_mpx_no_base_operand): Likewise. + (address_mpx_no_index_operand): Likewise. + * doc/extend.texi (x86 Named Address Spaces): New section. + + * config/i386/i386.c (ix86_check_no_addr_space): New. + (decide_alg): Add have_as parameter. + (alg_usable_p): Likewise; disable rep algorithms if set. + (ix86_expand_set_or_movmem): Notice if either MEM has a + non-default address space. + (ix86_expand_strlen): Likewise. + * config/i386/i386.md (strmov, strset): Likewise. + (*strmovdi_rex_1): Use ix86_check_no_addr_space. + (*strmovsi_1, *strmovqi_1, *rep_movdi_rex64, *rep_movsi, *rep_movqi, + *strsetdi_rex_1, *strsetsi_1, *strsethi_1, *strsetqi_1, + *rep_stosdi_rex64, *rep_stossi, *rep_stosqi, *cmpstrnqi_nz_1, + *cmpstrnqi_1, *strlenqi_1): Likewise. + + * config/i386/i386.md (*movabs_1): Print the full memory rtx. + (*movabs_2): Likewise. + + * dwarf2out.c (modified_type_die): Pass the address space number + through TARGET_ADDR_SPACE_DEBUG to produce the dwarf address class. + * target.def (TARGET_ADDR_SPACE_DEBUG): New. + * targhooks.c (default_addr_space_debug): New. + * targhooks.h (default_addr_space_debug): Declare. + * doc/tm.texi.in (TARGET_ADDR_SPACE_DEBUG): Mark it. + * doc/tm.texi: Rebuild. + + * gimple.c (check_loadstore): Return false when 0 is a valid address. + * fold-const.c (const_unop) [ADDR_SPACE_CONVERT_EXPR]: Do not fold + null when 0 is valid in the source address space. + * target.def (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): New. + * targhooks.c (default_addr_space_zero_address_valid): New. + * targhooks.h (default_addr_space_zero_address_valid): Declare. + * doc/tm.texi.in (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): Mark it. + * doc/tm.texi: Rebuild. + + * cselib.c (add_mem_for_addr): Compare address spaces when + matching memories. + (cselib_lookup_mem): Likewise. + * fold-const.c (operand_equal_p): Check address spaces of + pointer types before checking integer constants. + + PR tree-opt/66768 + * tree-ssa-address.c (create_mem_ref_raw): Use a pointer of + the correct type for the base. + +2015-11-09 Jeff Law + + * tree-into-ssa.c (names_to_release): No longer static. + * tree-into-ssa.h (names_to_release): Declare. + * tree-ssanames.c (verify_ssaname_freelists): New debug function. + (release_free_names_and_compact_live_names): New function extracted + from pass_release_ssa_names::execute. + (pass_release_ssa_names::execute): Use it. + +2015-11-09 Alan Modra + + * gensupport.c (add_mnemonic_string): Make len param a size_t. + (gen_mnemonic_setattr): Make "size" var a size_t. Use + obstack_blank_fast to shrink obstack. Cast obstack_next_free + return value. + +2015-11-09 Segher Boessenkool + + PR rtl-optimization/68182 + * bb-reorder.c (reorder_basic_blocks_simple): Treat a conditional + branch with only one successor just like unconditional branches. + +2015-11-08 Jeff Law + + * tree-ssa-threadupdate.c (register_jump_thraed): Assert that a + non-FSM path has no edges marked with EDGE_DFS_BACK. + (ssa_redirect_edges): No longer call mark_loop_for_removal. + (thread_single_edge, def_split_header_continue_p): Remove. + (bb_ends_with_multiway_branch): Likewise. + (thread_through_loop_header): Remove cases of threading from + latch through the header. Simplify knowing we won't thread + the latch. + (thread_through_all_blocks): Simplify knowing that only the FSM + threader needs to handle backedges. + +2015-11-08 Eric Botcazou + + * doc/extend.texi (type attributes): Document scalar_storage_order. + (Structure-Packing Pragmas): Rename into... + (Structure-Layout Pragmas): ...this. Document scalar_storage_order. + * doc/invoke.texi (C Dialect Options): Document -fsso-struct + (Warnings): Document -Wno-scalar-storage-order. + * flag-types.h (enum scalar_storage_order_kind): New enumeration. + * calls.c (store_unaligned_arguments_into_pseudos): Adjust calls to + extract_bit_field and store_bit_field. + (initialize_argument_information): Adjust call to store_expr. + (load_register_parameters): Adjust call to extract_bit_field. + * expmed.c (check_reverse_storage_order_support): New function. + (check_reverse_float_storage_order_support): Likewise. + (flip_storage_order): Likewise. + (store_bit_field_1): Add REVERSE parameter. Flip the storage order + of the value if it is true. Pass REVERSE to recursive call after + adjusting the target offset. + Do not use extraction or movstrict instruction if REVERSE is true. + Pass REVERSE to store_fixed_bit_field. + (store_bit_field): Add REVERSE parameter and pass to it to above. + (store_fixed_bit_field): Add REVERSE parameter and pass to it to + store_split_bit_field and store_fixed_bit_field_1. + (store_fixed_bit_field_1): Add REVERSE parameter. Flip the storage + order of the value if it is true and adjust the target offset. + (store_split_bit_field): Add REVERSE parameter and pass it to + store_fixed_bit_field. Adjust the target offset if it is true. + (extract_bit_field_1): Add REVERSE parameter. Flip the storage order + of the value if it is true. Pass REVERSE to recursive call after + adjusting the target offset. + Do not use extraction or subreg instruction if REVERSE is true. + Pass REVERSE to extract_fixed_bit_field. + (extract_bit_field): Add REVERSE parameter and pass to it to above. + (extract_fixed_bit_field): Add REVERSE parameter and pass to it to + extract_split_bit_field and extract_fixed_bit_field_1. + (extract_fixed_bit_field_1): Add REVERSE parameter. Flip the storage + order of the value if it is true and adjust the target offset. + (extract_split_bit_field): Add REVERSE parameter and pass it to + extract_fixed_bit_field. Adjust the target offset if it is true. + * expmed.h (flip_storage_order): Declare. + (store_bit_field): Adjust prototype. + (extract_bit_field): Likewise. + * expr.c (emit_group_load_1): Adjust calls to extract_bit_field. + (emit_group_store): Adjust call to store_bit_field. + (copy_blkmode_from_reg): Likewise. + (copy_blkmode_to_reg): Likewise. + (write_complex_part): Likewise. + (read_complex_part): Likewise. + (optimize_bitfield_assignment_op): Add REVERSE parameter. Assert + that it isn't true if the target is a register. + : If it is, do not optimize unless bitsize is equal to 1, + and flip the storage order of the value. + : Flip the storage order of the value. + (get_bit_range): Adjust call to get_inner_reference. + (expand_assignment): Adjust calls to get_inner_reference, store_expr, + optimize_bitfield_assignment_op and store_field. Handle MEM_EXPRs + with reverse storage order. + (store_expr_with_bounds): Add REVERSE parameter and pass it to + recursive calls and call to store_bit_field. Force the value into a + register if it is true and then flip the storage order of the value. + (store_expr): Add REVERSE parameter and pass it to above. + (categorize_ctor_elements_1): Adjust call to + initializer_constant_valid_p. + (store_constructor_field): Add REVERSE parameter and pass it to + recursive calls and call to store_field. + (store_constructor): Add REVERSE parameter and pass it to calls to + store_constructor_field and store_expr. Set it to true for an + aggregate type with TYPE_REVERSE_STORAGE_ORDER. + (store_field): Add REVERSE parameter and pass it to recursive calls + and calls to store_expr and store_bit_field. Temporarily flip the + storage order of the value with record type and integral mode and + adjust the shift if it is true. + (get_inner_reference): Add PREVERSEP parameter and set it to true + upon encoutering a reference with reverse storage order. + (expand_expr_addr_expr_1): Adjust call to get_inner_reference. + (expand_constructor): Adjust call to store_constructor. + (expand_expr_real_2) : Pass TYPE_REVERSE_STORAGE_ORDER + of the union type to store_expr in the MEM case and assert that it + isn't set in the REG case. Adjust call to store_field. + (expand_expr_real_1) : Handle reverse storage order. + : Add REVERSEP variable and adjust calls to + get_inner_reference and extract_bit_field. Temporarily flip the + storage order of the value with record type and integral mode and + adjust the shift if it is true. Flip the storage order of the value + at the end if it is true. + : Add REVERSEP variable and adjust call to + get_inner_reference. Do not fetch an inner reference if it is true. + * expr.h (store_expr_with_bounds): Ajust prototype. + (store_expr): Likewise. + * fold-const.c (make_bit_field_ref): Add REVERSEP parameter and set + REF_REVERSE_STORAGE_ORDER on the reference according to it. + (optimize_bit_field_compare): Deal with reverse storage order. + Adjust calls to get_inner_reference and make_bit_field_ref. + (decode_field_reference): Add PREVERSEP parameter and adjust call to + get_inner_reference. + (fold_truth_andor_1): Deal with reverse storage order. Adjust calls + to decode_field_reference and make_bit_field_ref. + (fold_unary_loc) : Adjust call to get_inner_reference. + : Propagate the REF_REVERSE_STORAGE_ORDER flag. + (fold_comparison): Adjust call to get_inner_reference. + (split_address_to_core_and_offset): Adjust call to + get_inner_reference. + * gimple-expr.c (useless_type_conversion_p): Return false for array + types with different TYPE_REVERSE_STORAGE_ORDER flag. + * gimplify.c (gimplify_expr) : Propagate the + REF_REVERSE_STORAGE_ORDER flag. + * lto-streamer-out.c (hash_tree): Deal with TYPE_REVERSE_STORAGE_ORDER. + * output.h (assemble_real): Adjust prototype. + * print-tree.c (print_node): Convey TYPE_REVERSE_STORAGE_ORDER. + * stor-layout.c (finish_record_layout): Propagate the + TYPE_REVERSE_STORAGE_ORDER flag to the variants. + * tree-core.h (TYPE_REVERSE_STORAGE_ORDER): Document. + (TYPE_SATURATING): Adjust. + (REF_REVERSE_STORAGE_ORDER): Document. + * tree-dfa.c (get_ref_base_and_extent): Add PREVERSE parameter and + set it to true upon encoutering a reference with reverse storage order. + * tree-dfa.h (get_ref_base_and_extent): Adjust prototype. + * tree-inline.c (remap_gimple_op_r): Propagate the + REF_REVERSE_STORAGE_ORDER flag. + (copy_tree_body_r): Likewise. + * tree-outof-ssa.c (insert_value_copy_on_edge): Adjust call to + store_expr. + * tree-streamer-in.c (unpack_ts_base_value_fields): Deal with + TYPE_REVERSE_STORAGE_ORDER and REF_REVERSE_STORAGE_ORDER. + * tree-streamer-out.c (pack_ts_base_value_fields): Likewise. + * tree.c (stabilize_reference) : Propagate the + REF_REVERSE_STORAGE_ORDER flag. + (verify_type_variant): Deal with TYPE_REVERSE_STORAGE_ORDER. + (gimple_canonical_types_compatible_p): Likewise. + * tree.h (TYPE_REVERSE_STORAGE_ORDER): New flag. + (TYPE_SATURATING): Adjust. + (REF_REVERSE_STORAGE_ORDER): New flag. + (reverse_storage_order_for_component_p): New inline predicate. + (storage_order_barrier_p): Likewise. + (get_inner_reference): Adjust prototype. + * varasm.c: Include expmed.h. + (assemble_variable_contents): Adjust call to output_constant. + (assemble_real): Add REVERSE parameter. Flip the storage + order of the value if REVERSE is true. + (compare_constant) : Compare TYPE_REVERSE_STORAGE_ORDER. + (assemble_constant_contents): Adjust call to output_constant. + (output_constant_pool_2): Adjust call to assemble_real. + (initializer_constant_valid_p_1) : Deal with + TYPE_REVERSE_STORAGE_ORDER. + (initializer_constant_valid_p): Add REVERSE parameter. + (output_constant): Add REVERSE parameter. + : Flip the storage order of the value if REVERSE is true. + : Adjust call to assemble_real. + : Pass it to recursive calls. + : Likewise. Adjust call to output_constructor. + : Likewise. Adjust call to output_constructor. + (struct oc_local_state): Add REVERSE field. + (output_constructor_array_range): Adjust calls to output_constant. + (output_constructor_regular_field): Likewise. + (output_constructor_bitfield): Adjust call to output_constructor. + Flip the storage order of the value if REVERSE is true. + (output_constructor): Add REVERSE parameter. Set it to true for an + aggregate type with TYPE_REVERSE_STORAGE_ORDER. Adjust call to + output_constructor_bitfield. + * varasm.h (initializer_constant_valid_p): Default REVERSE to false. + * asan.c (instrument_derefs): Adjust call to get_inner_reference. + * builtins.c (get_object_alignment_2): Likewise. + * cfgexpand.c (expand_debug_expr): Adjust call to get_inner_reference + and get_ref_base_and_extent. + * dbxout.c (dbxout_expand_expr): Likewise. + * dwarf2out.c (add_var_loc_to_decl): Likewise. + (loc_list_for_address_of_addr_expr_of_indirect_ref): Likewise. + (loc_list_from_tree): Likewise. + (fortran_common): Likewise. + * gimple-fold.c (gimple_fold_builtin_memory_op): Adjust calls to + get_ref_base_and_extent. + (get_base_constructor): Likewise. + (fold_const_aggregate_ref_1): Likewise. + * gimple-laddress.c (pass_laddress::execute): Adjust call to + get_inner_reference. + * gimple-ssa-strength-reduction.c (slsr_process_ref): Adjust call to + get_inner_reference and bail out on reverse storage order. + * ifcvt.c (noce_emit_move_insn): Adjust calls to store_bit_field. + * ipa-cp.c (ipa_get_jf_ancestor_result): Adjust call to + build_ref_for_offset. + * ipa-polymorphic-call.c (set_by_invariant): Adjust call to + get_ref_base_and_extent. + (ipa_polymorphic_call_context): Likewise. + (extr_type_from_vtbl_ptr_store): Likewise. + (check_stmt_for_type_change): Likewise. + (get_dynamic_type): Likewise. + * ipa-prop.c (ipa_load_from_parm_agg_1): Adjust call to + get_ref_base_and_extent. + (compute_complex_assign_jump_func): Likewise. + (get_ancestor_addr_info): Likewise. + (compute_known_type_jump_func): Likewise. + (determine_known_aggregate_parts): Likewise. + (ipa_get_adjustment_candidate): Likewise. + (ipa_modify_call_arguments): Set REF_REVERSE_STORAGE_ORDER on MEM_REF. + * ipa-prop.h (ipa_parm_adjustment): Add REVERSE field. + (build_ref_for_offset): Adjust prototype. + * simplify-rtx.c (delegitimize_mem_from_attrs): Adjust call to + get_inner_reference. + * tree-affine.c (tree_to_aff_combination): Adjust call to + get_inner_reference. + (get_inner_reference_aff): Likewise. + * tree-data-ref.c (split_constant_offset_1): Likewise. + (dr_analyze_innermost): Likewise. Bail out if reverse storage order. + * tree-scalar-evolution.c (interpret_rhs_expr): Adjust call to + get_inner_reference. + * tree-sra.c (struct access): Add REVERSE and move WRITE around. + (dump_access): Print new fields. + (create_access): Adjust call to get_ref_base_and_extent and set the + REVERSE flag according to the result. + (completely_scalarize_record): Set the REVERSE flag. + (scalarize_elem): Add REVERSE parameter. + (build_access_from_expr_1): Preserve storage order barriers. + (build_accesses_from_assign): Likewise. + (build_ref_for_offset): Add REVERSE parameter and set the + REF_REVERSE_STORAGE_ORDER flag accordingly. + (build_ref_for_model): Adjust call to build_ref_for_offset and clear + the REF_REVERSE_STORAGE_ORDER flag if there are components. + (analyze_access_subtree): Likewise. + (create_artificial_child_access): Set the REVERSE flag. + (get_access_for_expr): Adjust call to get_ref_base_and_extent. + (turn_representatives_into_adjustments): Propagate REVERSE flag. + (ipa_sra_check_caller): Adjust call to get_inner_reference. + * tree-ssa-alias.c (ao_ref_base): Adjust call to + get_ref_base_and_extent. + (aliasing_component_refs_p): Likewise. + (stmt_kills_ref_p_1): Likewise. + * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Likewise. + * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p) : New. + Return true if reverse storage order. + : Likewise. + : Likewise. + : Likewise. + : Likewise. + (split_address_cost): Likewise. Bail out if reverse storage order. + * tree-ssa-math-opts.c (find_bswap_or_nop_load): Adjust call to + get_inner_reference. Bail out if reverse storage order. + (bswap_replace): Adjust call to get_inner_reference. + * tree-ssa-pre.c (create_component_ref_by_pieces_1) : Set + the REF_REVERSE_STORAGE_ORDER flag. + : Likewise. + * tree-ssa-sccvn.c (vn_reference_eq): Return false on storage order + barriers. + (copy_reference_ops_from_ref) : Set REVERSE field according + to the REF_REVERSE_STORAGE_ORDER flag. + : Likewise. + : Set it for storage order barriers. + (contains_storage_order_barrier_p): New predicate. + (vn_reference_lookup_3): Adjust calls to get_ref_base_and_extent. + Punt on storage order barriers if necessary. + * tree-ssa-sccvn.h (struct vn_reference_op_struct): Add REVERSE. + * tree-ssa-structalias.c (get_constraint_for_component_ref): Adjust + call to get_ref_base_and_extent. + (do_structure_copy): Likewise. + * tree-vect-data-refs.c (vect_check_gather): Adjust call to + get_inner_reference. + (vect_analyze_data_refs): Likewise. Bail out if reverse storage order. + * tsan.c (instrument_expr): Adjust call to get_inner_reference. + * ubsan.c (instrument_bool_enum_load): Likewise. + (instrument_object_size): Likewise. + * var-tracking.c (track_expr_p): Adjust call to + get_ref_base_and_extent. + * config/mips/mips.c (r10k_safe_mem_expr_p): Adjust call to + get_inner_reference. + * config/s390/s390.c (s390_expand_atomic): Adjust call to + store_bit_field. + * config/tilegx/tilegx.c (tilegx_expand_unaligned_load): Adjust call to + extract_bit_field. + * config/tilepro/tilepro.c (tilepro_expand_unaligned_load): Likewise. + +2015-11-07 Eric Botcazou + + * config/sparc/sparc.opt (mfix-at697f): Add final period. + +2015-11-07 Segher Boessenkool + + PR rtl-optimization/67864 + * common/config/i386/i386-common.c (ix86_option_optimization_table) + : Use REORDER_BLOCKS_ALGORITHM_STC + at -Os and up. + +2015-11-07 Richard Sandiford + + * trans-mem.c (is_tm_pure_call): Use gimple_call_flags for + internal functions. + +2015-11-07 Richard Sandiford + + * builtins.def: #undef DEF_BUILTIN and DEF_BUILTIN_CHKP + * builtins.c, genmatch.c, tree-core.h: Don't undef them here. + +2015-11-07 Richard Sandiford + + * internal-fn.def: #undef DEF_INTERNAL_FN at the end. + * internal-fn.c: Don't undef it here. + * tree-core.h: Likewise. + +2015-11-07 Richard Sandiford + + * builtins.c (fold_builtin_nan): Delete. + (fold_builtin_memcmp): Remove case where both arguments are constant. + (fold_builtin_strcmp, fold_builtin_strncmp): Likewise. + (fold_builtin_strspn, fold_builtin_strcspn): Likewise. + (fold_builtin_1): Remove BUILT_IN_NAN* handling. + * fold-const-call.c: Include fold-const.h. + (host_size_t_cst_p): New function. + (build_cmp_result, fold_const_builtin_nan): Likewise. + (fold_const_call_1): New function, split out from... + (fold_const_call): ...here (for all three interfaces). Handle + constant nan, nans, strlen, strcmp, strncmp, strspn and strcspn. + +2015-11-07 Richard Sandiford + + * builtins.c (fold_builtin_bitop, fold_builtin_bswap): Delete. + (fold_builtin_1): Don't call them. + * fold-const-call.c: Include tm.h. + (fold_const_call_ss): New variant for integer-to-integer folds. + (fold_const_call): Call it. + +2015-11-07 Richard Sandiford + + * builtins.c (fold_builtin_classify): Move constant cases to... + * fold-const-call.c (fold_const_call_ss): ...here. + +2015-11-07 Richard Sandiford + + * builtins.h (c_getstr): Move to... + * fold-const.h (c_getstr): ...here. + * builtins.c (c_getstr): Move to... + * fold-const.c (c_getstr): ...here. + +2015-11-07 Richard Sandiford + + * builtins.def (BUILTIN_RINT, BUILTIN_RINTF, BUILTIN_RINTL): Use + ATTR_MATHFN_FPROUNDING rather than ATTR_MATHFN_FPROUNDING_ERRNO. + +2015-11-07 Richard Sandiford + + * tree-call-cdce.c (shrink_wrap_one_built_in_call): Try to update + the dominance info; free it if we can't. + (pass_call_cdce::execute): Don't free the dominance info here. + +2015-11-06 Jeff Law + + * tree-ssa-threadedge.c (dummy_simplify): Remove. + (thread_around_empty_blocks): Remove backedge_seen_p argument. + If we thread to a backedge, then return false. Update recursive + call to eliminate backedge_seen_p argument. + (thread_through_normal_block): Remove backedge_seen_p argument. + Remove backedge_seen_p argument from calls to + thread_around_empty_blocks. Remove checks on backedge_seen_p. + If we thread to a backedge, then return 0. + (thread_across_edge): Remove bookkeeping for backedge_seen. Don't + pass it to thread_through_normal_block or thread_through_empty_blocks. + For joiner handling, if we see a backedge, do not try normal + threading. + +2015-11-06 Abderrazek Zaafrani + + * graphite-optimize-isl.c (optimize_isl): Call isl_union_map_is_equal. + * graphite-poly.c (new_scop): Initialize original_schedule. + (free_scop): Free original_schedule. + * graphite-poly.h (struct scop): Add field original_schedule. + * graphite-sese-to-poly.c (build_scop_original_schedule): New. + (build_poly_scop): Call build_scop_original_schedule. + +2015-11-06 Abderrazek Zaafrani + + * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove. + (build_pbb_minimal_scattering_polyhedrons): New. + (build_scop_scattering): Remove. + (build_scop_minimal_scattering): New. + (build_scop_scattering): Call build_pbb_minimal_scattering_polyhedrons. + (build_poly_scop): Call build_scop_minimal_scattering. + +2015-11-06 Jeff Law + + * cfg-flags.def (IGNORE): New edge flag. + * tree-vrp.c (identify_jump_threads): Mark and clear edges + scheduled for removal with EDGE_IGNORE around call into + jump threader. Do no thread across edges with EDGE_IGNORE, + but do allow threading across those with EDGE_DFS_BACK. + +2015-11-06 David Wohlferd + + * doc/md.texi (multi-alternative constraints): Don't document + alternatives inherently tied to reload for the user documentation. + +2015-11-06 Michael Collison + Ramana Radhakrishnan + + Revert: + 2015-08-01 Michael Collison + + * config/arm/arm.md (*arm_smin_cmp): New pattern. + (*arm_umin_cmp): Likewise. + +2015-11-06 Jakub Jelinek + + * gimplify.c (gimplify_omp_ordered): Fix up diagnostics wording. + * omp-low.c (check_omp_nesting_restrictions): Update for the + various new OpenMP 4.5 nesting restrictions, clarified + nesting glossary, closely nested region relationship clarified + to mean explicit or implicit parallel regions (target/teams), + use % or %qs where appropriate. + +2015-11-06 Aditya Kumar + Sebastian Pop + + * graphite-scop-detection.c (loop_is_valid_scop): Call + optimize_loop_nest_for_speed_p. + +2015-11-06 Aditya Kumar + Sebastian Pop + + * graphite-optimize-isl.c (optimize_isl): Call + isl_options_set_schedule_maximize_band_depth. + +2015-11-06 Aditya Kumar + Sebastian Pop + + * graphite-scop-detection.c (scop_detection::merge_sese): Entry + and exit edges should not be a part of irreducible loop. + (scop_detection::can_represent_loop_1): Loops should not be + irreducible. + (scop_detection::harmful_stmt_in_region): All the basic block + should belong to reducible loops. + +2015-11-06 Christophe Lyon + + * config/aarch64/aarch64-simd-builtins.def: Update builtins + tables: add tbl3v16qi, qtbl[34]*, tbx4v16qi, qtbx[34]*. + * config/aarch64/aarch64-simd.md (aarch64_tbl3v8qi): Rename to... + (aarch64_tbl3) ... this, which supports v16qi too. + (aarch64_tbx4v8qi): Rename to... + aarch64_tbx4): ... this. + (aarch64_qtbl3): New pattern. + (aarch64_qtbx3): New pattern. + (aarch64_qtbl4): New pattern. + (aarch64_qtbx4): New pattern. + * config/aarch64/arm_neon.h (vqtbl2_s8, vqtbl2_u8, vqtbl2_p8) + (vqtbl2q_s8, vqtbl2q_u8, vqtbl2q_p8, vqtbl3_s8, vqtbl3_u8) + (vqtbl3_p8, vqtbl3q_s8, vqtbl3q_u8, vqtbl3q_p8, vqtbl4_s8) + (vqtbl4_u8, vqtbl4_p8, vqtbl4q_s8, vqtbl4q_u8, vqtbl4q_p8) + (vqtbx2_s8, vqtbx2_u8, vqtbx2_p8, vqtbx2q_s8, vqtbx2q_u8) + (vqtbx2q_p8, vqtbx3_s8, vqtbx3_u8, vqtbx3_p8, vqtbx3q_s8) + (vqtbx3q_u8, vqtbx3q_p8, vqtbx4_s8, vqtbx4_u8, vqtbx4_p8) + (vqtbx4q_s8, vqtbx4q_u8, vqtbx4q_p8): Rewrite using builtin + functions. + +2015-11-06 Mike Stump + + PR debug/66728 + * dwarf2out.c (get_full_len): Return a value based upon the actual + precision needed for the value. + (add_const_value_attribute): Use a maximal wide-int for + CONST_WIDE_INTs, not VOIDmode. + (output_die): Don't ever output NULL with printf. + + * rtl.h (get_precision of rtx_mode_t): Ensure we never process + BLKmode nor VOIDmode values. + +2015-11-06 David Malcolm + + * diagnostic-color.c (color_dict): Eliminate "caret"; add "range1" + and "range2". + (parse_gcc_colors): Update comment to describe default GCC_COLORS. + * diagnostic-core.h (warning_at_rich_loc): New declaration. + (error_at_rich_loc): New declaration. + (permerror_at_rich_loc): New declaration. + (inform_at_rich_loc): New declaration. + * diagnostic-show-locus.c (adjust_line): Delete. + (struct point_state): New struct. + (class colorizer): New class. + (class layout_point): New class. + (class layout_range): New class. + (struct line_bounds): New. + (class layout): New class. + (colorizer::colorizer): New ctor. + (colorizer::~colorizer): New dtor. + (layout::layout): New ctor. + (layout::print_source_line): New method. + (layout::print_annotation_line): New method. + (layout::get_state_at_point): New method. + (layout::get_x_bound_for_row): New method. + (diagnostic_show_locus): Reimplement in terms of class layout. + (diagnostic_print_caret_line): Delete. + * diagnostic.c (diagnostic_initialize): Replace + MAX_LOCATIONS_PER_MESSAGE with rich_location::MAX_RANGES. + (diagnostic_set_info_translated): Convert param from location_t + to rich_location *. Eliminate calls to set_location on the + message in favor of storing the rich_location ptr there. + (diagnostic_set_info): Convert param from location_t to + rich_location *. + (diagnostic_build_prefix): Break out array into... + (diagnostic_kind_color): New variable. + (diagnostic_get_color_for_kind): New function. + (diagnostic_report_diagnostic): Colorize the option_text + using the color for the severity. + (diagnostic_append_note): Update for change in signature of + diagnostic_set_info. + (diagnostic_append_note_at_rich_loc): New function. + (emit_diagnostic): Update for change in signature of + diagnostic_set_info. + (inform): Likewise. + (inform_at_rich_loc): New function. + (inform_n): Update for change in signature of diagnostic_set_info. + (warning): Likewise. + (warning_at): Likewise. + (warning_at_rich_loc): New function. + (warning_n): Update for change in signature of diagnostic_set_info. + (pedwarn): Likewise. + (permerror): Likewise. + (permerror_at_rich_loc): New function. + (error): Update for change in signature of diagnostic_set_info. + (error_n): Likewise. + (error_at): Likewise. + (error_at_rich_loc): New function. + (sorry): Update for change in signature of diagnostic_set_info. + (fatal_error): Likewise. + (internal_error): Likewise. + (internal_error_no_backtrace): Likewise. + (source_range::debug): New function. + * diagnostic.h (struct diagnostic_info): Eliminate field + "override_column". Add field "richloc". + (struct diagnostic_context): Add field "colorize_source_p". + (diagnostic_override_column): Delete. + (diagnostic_set_info): Convert param from location_t to + rich_location *. + (diagnostic_set_info_translated): Likewise. + (diagnostic_append_note_at_rich_loc): New function. + (diagnostic_num_locations): New function. + (diagnostic_expand_location): Get the location from the + rich_location. + (diagnostic_print_caret_line): Delete. + (diagnostic_get_color_for_kind): New declaration. + * genmatch.c (linemap_client_expand_location_to_spelling_point): New. + (error_cb): Update for change in signature of "error" callback. + (fatal_at): Likewise. + (warning_at): Likewise. + * input.c (linemap_client_expand_location_to_spelling_point): New. + * pretty-print.c (text_info::set_range): New method. + (text_info::get_location): New method. + * pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): Eliminate this macro. + (struct text_info): Eliminate "locations" array in favor of + "m_richloc", a rich_location *. + (textinfo::set_location): Add a "caret_p" param, and reimplement + in terms of a call to set_range. + (textinfo::get_location): Eliminate inline implementation in favor of + an out-of-line reimplementation. + (textinfo::set_range): New method. + * rtl-error.c (diagnostic_for_asm): Update for change in signature + of diagnostic_set_info. + * tree-diagnostic.c (default_tree_printer): Update for new + "caret_p" param for textinfo::set_location. + * tree-pretty-print.c (percent_K_format): Likewise. + +2015-11-06 Ramana Radhakrishnan + + Properly apply. + 2015-11-05 Ramana Radhakrishnan + * config/aarch64/aarch64.c + (aarch64_can_use_per_function_literal_pools_p): New. + (aarch64_use_blocks_for_constant_p): Adjust declaration + and use aarch64_can_use_function_literal_pools_p. + (aarch64_select_rtx_section): Update. + +2015-11-06 Ramana Radhakrishnan + + * config/arm/arm-ldmstm.ml: Rewrite to generate unified asm templates. + * config/arm/arm.c (arm_asm_trampoline_template): Make unified asm safe. + (arm_output_multireg_pop): Likewise. + (output_move_double): Likewise. + (output_move_quad): Likewise. + (output_return_instruction): Likewise. + (arm_print_operand): Remove support for %( and %. print modifiers. + (arm_output_shift): Make unified asm. + (arm_declare_function_name): Likewise. + * config/arm/arm.h (TARGET_UNIFIED_ASM): Delete. + (ASM_APP_OFF): Adjust. + (ASM_OUTPUT_REG_PUSH): Undo special casing for TARGET_ARM. + (ASM_OUTPUT_REG_POP): Likewise. + * config/arm/arm.md: Adjust uses of %., %(, %) + * config/arm/sync.md: Likewise. + * config/arm/thumb2.md: Likewise. + * config/arm/ldmstm.md: Regenerate. + * config/arm/arm.opt (masm-unified-syntax): Do not special case Thumb. + * doc/invoke.texi (masm-unified-syntax): Update documentation. + +2015-11-06 David Malcolm + + * input.c (dump_line_table_statistics): Dump stats on adhoc table. + +2015-11-07 Jan Hubicka + + * tree-core.h (size_type_kind): Remove OEP_CONSTANT_ADDRESS_OF and + add OEP_MATCH_SIDE_EFFECTS. + * fold-const.c (operand_equal_p): Update documentation; handle + OEP_MATCH_SIDE_EFFECTS. + * tree-ssa-tail-merge.c (gimple_operand_equal_value_p): Use + OEP_MATCH_SIDE_EFFECTS. + +2015-11-06 Benedikt Huber + Philipp Tomsich + + * config/aarch64/aarch64-builtins.c: Builtins for rsqrt and rsqrtf. + * config/aarch64/aarch64-protos.h: Declare. + * config/aarch64/aarch64-simd.md: Matching expressions for frsqrte and + frsqrts. + * config/aarch64/aarch64-tuning-flags.def: Added recip_sqrt. + * config/aarch64/aarch64.c: New functions. Emit rsqrt estimation + code when applicable. + * config/aarch64/aarch64.md: Added enum entries. + * config/aarch64/aarch64.opt: Added option -mlow-precision-recip-sqrt. + +2015-11-07 Jan Hubicka + + PR ipa/68057 + PR ipa/68220 + * ipa-polymorphic-call.c + (ipa_polymorphic_call_context::restrict_to_inner_type): Fix ordering + issue when offset is out of range. + (contains_type_p): Fix out of range check, clear dynamic flag. + +2015-11-06 Arnout Vandecappelle + + * config.gcc (e6500): Fix cpu_is_64bit typo. + +2015-11-06 Alan Lawrence + + * tree-sra.c (completely_scalarize): Properly handle negative array + indices using offset_int. + +2015-11-06 Richard Biener + + * alloc-pool.h (object_allocator::allocate): Default-initialize + object. + +2015-11-06 Richard Biener + + * tree-ssa-sccvn.c (class sccvn_dom_walker): Add destructor. + * lra.c (init_reg_info): Truncate copy_vec instead of + re-allocating a new one and leaking the old. + * ipa-inline-analysis.c (estimate_function_body_sizes): Free + bb_infos vec. + * sched-deps.c (sched_deps_finish): Free the dn/dl pools. + * postreload-gcse.c (free_mem): Free modify_mem_list and + canon_modify_mem_list. + +2015-11-06 Ilya Enkovich + + PR tree-optimization/68145 + * tree-vect-stmts.c (vectorizable_operation): Fix + determination for booleans. + +2015-11-06 Tom de Vries + + * tree-cfg.c (gimple_split_block_before_cond_jump): Split before + cond_jump, instead of split after last nondebug insn before cond_jump. + * tree-parloops.c (transform_to_exit_first_loop_alt): Verify ssa before + returning. + +2015-11-06 Kyrylo Tkachov + + PR target/68088 + * config/arm/aarch-common.c (aarch_accumulator_forwarding): Strip + subregs from accumulator and make sure it's a register. + +2015-11-06 Simon Dardis + + * config/mips/loongson.md (vec_loongson_extract_lo_): New, extract + low part to scalar. + (reduc_uplus_): Remove. + (reduc_plus_scal_): Rename from reduc_splus_, Use vec + loongson_extract_lo_. + (reduc_smax_scal_, reduc_smin_scal_): Rename from + reduc_smax_, reduc_smax_, use vec + loongson_extract_lo_. + (reduc_umax_scal_, reduc_umin_scal_): Rename. + +2015-11-06 Richard Biener + + * tree-vectorizer.h (struct _bb_vec_info): Add region_begin/end + members. + (vect_stmt_in_region_p): Declare. + * tree-vect-slp.c (new_bb_vec_info): Work on a region. + (destroy_bb_vec_info): Likewise. + (vect_bb_slp_scalar_cost): Use vect_stmt_in_region_p. + (vect_get_and_check_slp_defs): Likewise. + (vect_slp_analyze_bb_1): Refactor to make it work on sub-BBs. + (vect_slp_bb): Likewise. + * tree-vect-patterns.c (vect_same_loop_or_bb_p): Implement + in terms of vect_stmt_in_region_p. + (vect_pattern_recog): Iterate over the BB region. + * tree-vect-stmts.c (vect_is_simple_use): Use vect_stmt_in_region_p. + * tree-vectorizer.c (vect_stmt_in_region_p): New function. + (pass_slp_vectorize::execute): Initialize all stmt UIDs to -1. + * config/i386/i386.c: Include gimple-iterator.h. + * config/aarch64/aarch64.c: Likewise. + +2015-11-06 Alexandre Oliva + + PR rtl-optimization/67753 + PR rtl-optimization/64164 + * function.c (assign_parm_setup_block): Avoid allocating a + stack slot if we don't have an ABI-reserved one. Emit the + copy to target_reg in the conversion seq if the copy from + entry_parm is in it too. Don't use the conversion seq to copy + a PARALLEL to a REG or a CONCAT. + +2015-11-06 Richard Biener + + * tree-hash-traits.h (tree_operand_hash): Provide equal, not + equal_keys. + +2015-11-05 Cesar Philippidis + Thomas Schwinge + James Norris + + + * gimplify.c (gimplify_scan_omp_clauses): Add support for + OMP_CLAUSE_TILE. Update handling of OMP_CLAUSE_INDEPENDENT. + (gimplify_adjust_omp_clauses): Likewise. + * omp-low.c (scan_sharing_clauses): Add support for OMP_CLAUSE_TILE. + * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_TILE. + * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_TILE. + * tree.c (omp_clause_num_ops): Add an entry for OMP_CLAUSE_TILE. + (omp_clause_code_name): Likewise. + (walk_tree_1): Handle OMP_CLAUSE_TILE. + * tree.h (OMP_TILE_LIST): New macro. + +2015-11-05 Martin Sebor + + PR c++/67942 + * doc/invoke.texi (-Wplacement-new): Document new option. + +2015-11-05 Alan Lawrence + + PR tree-optimization/65963 + * tree-scalar-evolution.c (interpret_rhs_expr): Try to handle + LSHIFT_EXPRs as equivalent unsigned MULT_EXPRs. + +2015-11-05 James Greenhalgh + + * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): New. + (noce_convert_multiple_sets): Likewise. + (noce_process_if_block): Call them. + +2015-11-05 Nathan Sidwell + + * gimple-fold.c: Include omp-low.h. + (fold_internal_goacc_dim): New. + (gimple_fold_call): Call it. + +2015-11-05 Jakub Jelinek + Ilya Verbin + + * builtin-types.def + (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR): Remove. + (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): New. + * cgraph.h (enum cgraph_simd_clone_arg_type): Add + SIMD_CLONE_ARG_TYPE_LINEAR_REF_VARIABLE_STEP, + SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_VARIABLE_STEP and + SIMD_CLONE_ARG_TYPE_LINEAR_VAL_VARIABLE_STEP. + (struct cgraph_simd_clone_arg): Adjust comment. + * omp-builtins.def (BUILT_IN_GOMP_TARGET): Rename GOMP_target_41 + to GOMP_target_ext. Add num_teams and thread_limit arguments. + (BUILT_IN_GOMP_TARGET_DATA): Rename GOMP_target_data_41 + to GOMP_target_data_ext. + (BUILT_IN_GOMP_TARGET_UPDATE): Rename GOMP_target_update_41 + to GOMP_target_update_ext. + (BUILT_IN_GOMP_LOOP_NONMONOTONIC_DYNAMIC_START, + BUILT_IN_GOMP_LOOP_NONMONOTONIC_GUIDED_START, + BUILT_IN_GOMP_LOOP_NONMONOTONIC_DYNAMIC_NEXT, + BUILT_IN_GOMP_LOOP_NONMONOTONIC_GUIDED_NEXT, + BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_START, + BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_START, + BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_NEXT, + BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_NEXT, + BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_DYNAMIC, + BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_GUIDED): New built-ins. + * tree-core.h (enum omp_clause_schedule_kind): Add + OMP_CLAUSE_SCHEDULE_MASK, OMP_CLAUSE_SCHEDULE_MONOTONIC, + OMP_CLAUSE_SCHEDULE_NONMONOTONIC and change + OMP_CLAUSE_SCHEDULE_LAST value. + * tree.def (OMP_SIMD, CILK_SIMD, CILK_FOR, OMP_DISTRIBUTE, + OMP_TASKLOOP, OACC_LOOP): Add OMP_FOR_ORIG_DECLS argument. + * tree.h (OMP_FOR_ORIG_DECLS): Use OMP_LOOP_CHECK instead of + OMP_FOR_CHECK. Remove comment. + * tree-pretty-print.c (dump_omp_clause): Handle + GOMP_MAP_FIRSTPRIVATE_REFERENCE and GOMP_MAP_ALWAYS_POINTER. + Simplify. Print schedule clause modifiers. + * tree-vect-stmts.c (vectorizable_simd_clone_call): Add + SIMD_CLONE_ARG_TYPE_LINEAR_{REF,VAL,UVAL}_VARIABLE_STEP + cases. + * gimplify.c (enum gimplify_omp_var_data): Add GOVD_MAP_ALWAYS_TO. + (omp_default_clause): Tweak for + private/firstprivate/is_device_ptr variables on target + construct and use_device_ptr on target data. + (omp_check_private): Likewise. + (omp_notice_variable): For references check whether what it refers + to has mappable type, rather than the reference itself. + (omp_is_private): Diagnose linear iteration variables on non-simd + constructs. + (omp_no_lastprivate): Return true only for Fortran. + (gimplify_scan_omp_clauses): Or in GOVD_MAP_ALWAYS_TO for + GOMP_MAP_ALWAYS_TO or GOMP_MAP_ALWAYS_TOFROM kinds. + Add support for GOMP_MAP_FIRSTPRIVATE_REFERENCE and + GOMP_MAP_ALWAYS_POINTER, remove old handling of structure element + based array sections. Use GOMP_MAP_ALWAYS_P. Fix up handling of + lastprivate and linear when combined with distribute. Gimplify + variable low-bound for array reduction. Look through + POINTER_PLUS_EXPR when looking for ADDR_EXPR for array section + reductions. + (gimplify_adjust_omp_clauses_1): For implicit references to + variables with reference type and when not ref to scalar or + ref to pointer, map what they refer to using tofrom and + use GOMP_MAP_FIRSTPRIVATE_REFERENCE for the reference. + (gimplify_adjust_omp_clauses): Remove GOMP_MAP_ALWAYS_POINTER + from target exit data. Handle GOMP_MAP_FIRSTPRIVATE_REFERENCE. + Drop OMP_CLAUSE_MAP_PRIVATE support. Use GOMP_MAP_ALWAYS_P. + Diagnose the same var on both firstprivate and lastprivate on + distribute construct. + (gimplify_omp_for): Fix up handling of predetermined + lastprivate or linear iter vars when combined with distribute. + (find_omp_teams, computable_teams_clause, optimize_target_teams): New + functions. + (gimplify_omp_workshare): Call optimize_target_teams. + * omp-low.c (struct omp_region): Add sched_modifiers field. + (struct omp_for_data): Likewise. + (omp_any_child_fn_dumped): New variable. + (extract_omp_for_data): Fill in sched_modifiers, and mask out + OMP_CLAUSE_SCHEDULE_KIND bits outside of OMP_CLAUSE_SCHEDULE_MASK + from sched_kind. + (determine_parallel_type): Use only OMP_CLAUSE_SCHEDULE_MASK + bits of OMP_CLAUSE_SCHED_KIND. + (scan_sharing_clauses): Handle GOMP_MAP_FIRSTPRIVATE_REFERENCE, + drop OMP_CLAUSE_MAP_PRIVATE support. Look through POINTER_PLUS_EXPR + for array section reductions. + (add_taskreg_looptemp_clauses): Add one extra _looptemp_ clause even + for distribute parallel for, if there are lastprivate clauses on the + for. + (lower_rec_input_clauses): Handle non-zero low-bound on array + section reductions. + (lower_reduction_clauses): Likewise. + (lower_send_clauses): Look through POINTER_PLUS_EXPR + for array section reductions. + (expand_parallel_call): Use nonmonotonic entrypoints for + nonmonotonic: dynamic/guided. + (expand_omp_taskreg): Call assign_assembler_name_if_neeeded on + child_fn if current_function_decl has assembler name set, but child_fn + does not. Dump the header and IL of the child function when not in SSA + form. + (expand_omp_target): Likewise. Pass num_teams and thread_limit + arguments to BUILT_IN_GOMP_TARGET. + (expand_omp_for_static_nochunk, expand_omp_for_static_chunk): + Initialize the extra _looptemp_ clause to fd->loop.n2. + (expand_omp_for): Use nonmonotonic entrypoints for + nonmonotonic: dynamic/guided. Initialize region->sched_modifiers. + (expand_omp): Clear omp_any_child_fn_dumped. Dump function header + again if we have dumped any child functions. + (lower_omp_for_lastprivate): Determine the right count variable + for distribute simd, or distribute parallel for{, simd}. + (lower_omp_target): Handle GOMP_MAP_FIRSTPRIVATE_REFERENCE + and GOMP_MAP_ALWAYS_POINTER. Drop OMP_CLAUSE_MAP_PRIVATE + support. + (simd_clone_clauses_extract): Handle variable step + for references and arguments passed by reference. + (simd_clone_mangle): Mangle ref/uval/val variable steps. + (simd_clone_adjust_argument_types): Handle + SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_VARIABLE_STEP like + SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP and + SIMD_CLONE_ARG_TYPE_LINEAR_VAL_VARIABLE_STEP like + SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP. + (simd_clone_linear_addend): New function. + (simd_clone_adjust): Handle variable step like similarly + to constant step, use simd_clone_linear_addend to determine + the actual step at runtime. + +2015-11-05 Nathan Sidwell + + * target.def (goacc.dim_limit): New hook. + * targhooks.h (default_goacc_dim_limit): Declare. + * doc/tm.texi.in (TARGET_GOACC_DIM_LIMIT): Add. + * doc/tm.texi: Rebuilt. + * omp-low.h (get_oacc_fn_dim_size, get_oacc_ifn_dim_arg): Declare. + * omp-low.c (get_oacc_fn_dim_size, get_oacc_ifn_dim_arg): New. + (default_goacc_dim_limit): New. + * config/nvptx/nvptx.c (PTX_VECTOR_LENGTH, PTX_WORKER_LENGTH): New. + (nvptx_goacc_dim_limit) New. + (TARGET_GOACC_DIM_LIMIT): Override. + * tree-vrp.c: Include omp-low.h, target.h. + (extract_range_basic): Add handling for IFN_GOACC_DIM_SIZE & + IFN_GOACC_DIM_POS. + +2015-11-05 Ilya Enkovich + + * tree-vect-generic.c (do_compare): Use -1 for true + result instead of 1. + +2015-11-05 Ramana Radhakrishnan + + * config/aarch64/aarch64.c + (aarch64_can_use_per_function_literal_pools_p): New. + (aarch64_use_blocks_for_constant_p): Adjust declaration + and use aarch64_can_use_function_literal_pools_p. + (aarch64_select_rtx_section): Update. + +2015-11-05 Ilya Enkovich + + * targhooks.c (default_get_mask_mode): Use BLKmode in + case target doesn't support required vector mode. + * stor-layout.c (layout_type); Check for BLKmode. + +2015-11-04 Aditya Kumar + Sebastian Pop + + * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id): + Remove use of parameter_rename_map. + (copy_def): Remove. + (copy_internal_parameters): Remove. + (graphite_regenerate_ast_isl): Remove call to copy_internal_parameters. + * sese.c (new_sese_info): Do not initialize parameter_rename_map. + (free_sese_info): Do not free parameter_rename_map. + (set_rename): Do not use parameter_rename_map. + (rename_uses): Update call to set_rename. + (graphite_copy_stmts_from_block): Do not use parameter_rename_map. + * sese.h (parameter_rename_map_t): Remove. + (struct sese_info_t): Remove field parameter_rename_map. + +2015-11-04 Aditya Kumar + Sebastian Pop + + * graphite-isl-ast-to-gimple.c: Include tree-cfg.h. + (translate_isl_ast_node_user): Add more dumps: call print_loops_bb. + * graphite-scop-detection.c (dot_all_scops_1): Moved out of + anonymous namespace. + * graphite-sese-to-poly.c (ssa_name_version_typesize): Remove. + (isl_id_for_pbb): Use a buffer of size 10. + (isl_id_for_ssa_name): Same. + * sese.c (set_rename): Add more dumps. + +2015-11-04 Nathan Sidwell + + * omp-low.c (struct omp_context): Remove reduction_map field. + (lookup_oacc_reduction, maybe_lookup_oacc_reduction): Delete. + (new_omp_context, delete_omp_context, scan_omp_target): Remove + reduction_map handling. + (lower_omp_target): Remove obsolete openacc reduction handling. + +2015-11-04 Nathan Sidwell + + * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Add checking. + +2015-11-04 Nathan Sidwell + Cesar Philippidis + + * config/nvptx/nvptx.c: Include gimple headers. + (worker_red_size, worker_red_align, worker_red_name, + worker_red_sym): New. + (nvptx_option_override): Initialize worker reduction buffer. + (nvptx_file_end): Write out worker reduction buffer var. + (nvptx_expand_shuffle, nvptx_expand_worker_addr, + nvptx_expand_cmp_swap): New builtin expanders. + (enum nvptx_builtins): New. + (nvptx_builtin_decls): New. + (nvptx_builtin_decl, nvptx_init_builtins, nvptx_expand_builtin): New + (PTX_VECTOR_LENGTH, PTX_WORKER_LENGTH): New. + (nvptx_get_worker_red_addr, nvptx_generate_vector_shuffle, + nvptx_lockless_update): New helpers. + (nvptx_goacc_reduction_setup, nvptx_goacc_reduction_init, + nvptx_goacc_reduction_fini, nvptx_goacc_reduction_teaddown): New. + (nvptx_goacc_reduction): New. + (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN, + TARGET_BUILTIN_DECL): Override. + (TARGET_GOACC_REDUCTION): Override. + +2015-11-04 Nathan Sidwell + Cesar Philippidis + + * internal-fn.def (GOACC_REDUCTION): New. + * internal-fn.h (enum ifn_goacc_reduction_kind): New. + * internal-fn.c (expand_GOACC_REDUCTION): New. + * target.def (goacc.reduction): New OpenACC hook. + * targhooks.h (default_goacc_reduction): Declare. + * doc/tm.texi.in: Add TARGET_GOACC_REDUCTION. + * doc/tm.texi: Rebuilt. + * omp-low.c (oacc_get_reduction_array_id, oacc_max_threads, + scan_sharing_clauses): Remove oacc reduction handling here. + (lower_rec_input_clauses): Don't handle OpenACC reductions here. + (oacc_lower_reduction_var_helper): Delete. + (lower_oacc_reductions): New. + (lower_reduction_clauses): Don't handle OpenACC reductions here. + (lower_oacc_head_tail): Call lower_oacc_reductions. + (oacc_gimple_assign, oacc_init_reduction_array, + oacc_initialize_reduction_data, oacc_finalize_reduction_data, + oacc_process_reduction_data): Delete. + (lower_omp_target): Remove old OpenACC reduction handling. Insert + dummy OpenACC gang reduction for reductions at outer level. + (oacc_loop_xform_head_tail): Transform IFN_GOACC_REDUCTION. + (default_goacc_reduction): New. + (execute_oacc_device_lower): Handle IFN_GOACC_REDUCTION. + +2015-11-04 Martin Liska + + * cgraphunit.c (cgraph_node::expand_thunk): Call + allocate_struct_function before init_function_start. + (cgraph_node::expand): Use push_cfun and pop_cfun. + * config/i386/i386.c (ix86_code_end): Call + allocate_struct_function before init_function_start. + * config/rs6000/rs6000.c (rs6000_code_end): Likewise. + * function.c (init_function_start): Move preamble to all + callers. + * passes.c (do_per_function_toporder): Use push_cfun and pop_cfun. + (execute_one_pass): Handle newly added TODO_discard_function. + (execute_pass_list_1): Terminate if cfun equals to NULL. + (execute_pass_list): Do not push and pop cfun, expect that + cfun is set. + * tree-pass.h (TODO_discard_function): Define. + +2015-11-04 Mikhail Maltsev + + * cfganal.c (inverted_post_order_compute): Remove conditional + compilation, use flag_checking. + * config.in: Regenerate. + * configure: Regenerate. + * configure.ac: Remove ENABLE_CHECKING. + * genconditions.c: Do not #undef ENABLE_CHECKING. + * sese.h (bb_in_region): Comment out broken check. + * tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa_1): Remove + conditional compilation, use flag_checking. + +2015-11-04 Tom de Vries + + PR tree-optimization/67742 + * tree-ssa-structalias.c (struct fieldoff): Add restrict_pointed_type + field. + (push_fields_onto_fieldstack): Handle restrict_pointed_type field. + (create_variable_info_for_1): Add and handle handle_param parameter. + Add restrict handling. + (create_variable_info_for): Call create_variable_info_for_1 with extra + arg. + (make_param_constraints): Drop restrict_name parameter. Ignore + vi->only_restrict_pointers. + (intra_create_variable_infos): Call create_variable_info_for_1 with + extra arg. Remove restrict handling. Call make_param_constraints with + one fewer arg. + +2015-11-04 Tom de Vries + + * tree-ssa-structalias.c (create_variable_info_for_1): Use decl_type + variable. + +2015-11-03 Trevor Saunders + + * config/arm/coff.h: Remove. + +2015-11-03 Eric Botcazou + + * gimple-expr.c (useless_type_conversion_p): Reinstate type canonical + check for aggregate types and beef up comment for mode check. + +2015-11-03 Richard Biener + + * tree-vect-data-refs.c (vect_analyze_data_refs): Do not collect + data references here. + * tree-vect-loop.c: Include cgraph.h. + (vect_analyze_loop_2): Collect data references here. + * tree-vect-slp.c (find_bb_location): Inline ... + (vect_slp_bb): ... here. Renamed from vect_slp_analyze_bb. + Factor in vect_slp_transform_bb. + (vect_slp_transform_bb): Removed. + (vect_slp_analyze_bb_1): Collect data references here. + * tree-vectorizer.c (pass_slp_vectorize::execute): Call + vect_slp_bb. + * tree-vectorizer.h (vect_slp_bb): Declare. + (vect_slp_analyze_bb): Remove. + (vect_slp_transform_bb): Remove. + (find_bb_location): Remove. + (vect_analyze_data_refs): Remove stmt count reference parameter. + +2015-11-03 Evgeny Stupachenko + + * multiple_target.c (create_dispatcher_calls): Add target check + on ifunc. + (create_target_clone): Change assembler name for versioned declarations. + +2015-11-03 Thomas Schwinge + Chung-Lin Tang + + * 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 + + * config/aarch64/aarch64-simd-builtins.def (fmulx): New. + * config/aarch64/aarch64-simd.md (aarch64_fmulx): 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 + + * config/aarch64/aarch64.md (*movhf_aarch64): Use + aarch64_reg_or_fp_zero for second operand. + +2015-11-03 Alexandre Oliva + + * 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 + + * 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 + + * 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 + + * 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 + + * tree-ssa-structalias.c (make_restrict_var_constraints): Replace + make_copy_constraint call with make_constraint_from call. + +2015-11-02 Andreas Tobler + + * config/rs6000/freebsd64.h (ASM_SPEC32): Adust spec to handle + PIE executables. + +2015-11-02 Richard Sandiford + + * 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 + + * config/arm/neon-testgen.ml (emit_epilogue): Remove extraneous + brackets and semicolon. + +2015-11-02 Alan Lawrence + + Revert: + 2015-10-27 Alan Lawrence + + PR tree-optimization/65963 + * tree-scalar-evolution.c (interpret_rhs_expr): Handle some + LSHIFT_EXPRs as equivalent MULT_EXPRs. + +2015-11-02 Thomas Schwinge + + PR middle-end/68166 + * fold-const.c: Include "md5.h". + +2015-11-01 Jeff Law + + * vmsdbgout.c: Revert unused header file reduction patch. + + * config/mcore/mcore.c: Include regs.h. + +2015-10-31 Segher Boessenkool + + * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Rewrite. + +2015-10-31 Segher Boessenkool + + * 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 + + * ggc-common.c: Restore needed header for checking=release. + +2015-10-31 Tom de Vries + + * fold-const.c (fold_unary_loc): Tune POINTER_PLUS_EXPR folding. + +2015-10-31 Tom de Vries + + * tree-ssa-structalias.c (intra_create_variable_infos): Don't expect + existing varinfo for arguments. + +2015-10-31 Tom de Vries + + * 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 + + * 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 + + * tree-ssa-structalias.c (ipa_pta_execute): Use make_copy_constraint. + +2015-10-30 Jeff Law + Nathan Sidwell + + * config/nvptx/nvptx.h (HARD_REGNO_NREGS): Avoid warning on unused + args. + (MOVE_MAX): Set to 8. + +2015-10-30 Cesar Philippidis + + * cgraph.c: Include context.h for offloading. + * varpool.c: Include context.h and omp-low.h. + +2015-10-30 Anatoly Sokolov + + * 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 + + * 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 + + * 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 + + 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 + + * config/arm/neon-testgen.ml: Fix comment typo. + +2015-10-30 Kyrylo Tkachov + + * rtlanal.c (reg_set_p): Expand function comment. + +2015-10-30 Andrew MacLeod + + * 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 + + * doc/invoke.texi (fdump-rtl-@var{pass}): Clarify relationship + between pass numbering and execution order. + +2015-10-30 Kyrylo Tkachov + + * config/arm/arm.c (cortex_a9_sched_adjust_cost): Use reg_set_p to + check for dependencies. + +2015-10-30 Richard Sandiford + + * tree-ssa-math-opts.c (pass_cse_sincos::execute): Don't free + CDI_DOMINATORS. + +2015-10-30 Richard Sandiford + + * 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 + + * 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 + + * real.h (REAL_MODE_FORMAT): Abort if the mode isn't a + SCALAR_FLOAT_MODE_P. + +2015-10-30 Alan Lawrence + + * 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 + + * 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 + + * 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 + + * 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_insn): Change the types of "mov %0, {-1,1}" to + "mov_imm". + (*cmovsi_insn_uxtw): Likewise. + +2015-10-30 Tom de Vries + + * 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 + + * 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 + + * config/sh/sh.opt (mfdpic): Add missing period. + +2015-08-29 Anatoly Sokolov + + * 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 + + * 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 + + * 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 + + * lra-constraints.c (process_address_1): Handle (mem:BLK (scratch)) + by ignoring it. + +2015-10-29 Richard Henderson + + 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 + + * 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. + (signbit2): FLOAT128_IBM_P condition test moved into IBM128 + iterator. + (neg2): 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. + (neg2_internal): Likewise. + (abs2): Likewise. + (abstf2_internal): Likewise. + (abs2_internal): Likewise. + (ieee_128bit_neg2): Likewise. + (ieee_128bit_neg2_internal): Likewise. + (ieee_128bit_abs2): Likewise. + (ieee_128bit_abs2_internal): Likewise. + (ieee_128bit_nabs2): Likewise. + (ieee_128bit_nabs2_internal): Likewise. + (extendiftf2): Add explicit conversions between 128-bit floating + point types. Drop the old conversions that had become unwieldy. + (extend2): Likewise. + (extendifkf2): Likewise. + (trunc2): Likewise. + (extendtfkf2): Likewise. + (fix_trunc2): Likewise. + (trunciftf2): Likewise. + (fixuns_trunc2): Likewise. + (truncifkf2): Likewise. + (float2): Likewise. + (trunckftf2): Likewise. + (floatuns2): 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. + (extenddf2): Likewise. + (extenddftf2_fprs): Likewise. + (extenddf2_fprs): Likewise. + (extenddftf2_vsx): Likewise. + (extenddf2_vsx): Likewise. + (extendsftf2): Likewise. + (extendsf2): Likewise. + (trunctfdf2): Likewise. + (truncdf2): Likewise. + (trunctfdf2_internal1): Likewise. + (truncdf2_internal1): Likewise. + (trunctfdf2_internal2): Likewise. + (truncdf2_internal2): Likewise. + (trunctfsf2): Likewise. + (truncsf2): Likewise. + (trunctfsf2_fprs): Likewise. + (truncsf2_fprs): Likewise. + (floatsit2f): Likewise. + (floatsi2): Likewise. + (fix_trunc_helper): Likewise. + (fix_trunc_helper): Likewise. + (fix_trunctfsi2): Likewise. + (fix_truncsi2): Likewise. + (fix_trunctfsi2_fprs): Likewise. + (fix_truncsi2_fprs): Likewise. + (fix_trunctfsi2_internal): Likewise. + (fix_truncsi2_internal): Likewise. + (fix_trunctfdi2): Likewise. + (fix_truncdi2): Likewise. + (fixuns_trunctf2): Likewise. + (fixuns_trunc2): Likewise. + (floatditf2): Likewise. + (floatdi2): Likewise. + (floatunstf2): Likewise. + (floatuns): Likewise. + (cmptf_internal1): Use a mode iterator to add support for both + types (IFmode, TFmode) that support IBM extended double. + (cmp_internal1): Likewise. + (cmptf_internal2): Likewise. + (cmp_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 + + * 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=. + + * 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 + + * 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 + + 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 + + * fold-const.c (fold_unary_loc): Remove folding inhibition for restrict + types. + +2015-10-29 Nathan Sidwell + + * omp-low.c (lower_omp_target): Remove unreachable code & merge + ifs. + +2015-10-29 Marc Glisse + + * match.pd (X-(X/Y)*Y): Properly handle conversions and commutativity. + +2015-10-29 Richard Sandiford + + * tree-call-cdce.c (shrink_wrap_one_built_in_call): Remove + guard_bb0 and use guard_bb throughout. + +2015-10-29 Richard Sandiford + + * tree-call-cdce.c (shrink_wrap_one_built_in_call): Remove + unnecessary label. + +2015-10-29 Richard Biener + + PR middle-end/68142 + * fold-const.c (extract_muldiv_1): Avoid introducing undefined + overflow. + +2015-10-29 Andrew MacLeod + + * 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 + + * 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 + + 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 + + * gimple-match-head.c (gimple_simplify): Remove premature checking + of builtin_decl_implicit of function calls we simplify. + +2015-10-29 Bin Cheng + + * 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 + + * tree-ssa-structalias.c (intra_create_variable_infos): Remove + superfluous code. + +2015-10-28 Jason Merrill + + * Makefile.in (TAGS): Include libcpp and libiberty. + +2015-10-28 Nathan Sidwell + + * 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 + + * tree-eh.c (mark_reachable_handlers): Fix typo in assert. + +2015-10-05 Senthil Kumar Selvaraj + + 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 + + * fold-const.c (operand_equal_p): Do not verify that types are + compatible for MEM_REFs. + +2015-10-28 Richard Biener + + * gimple-match-head.c (gimple_simplify): Allow VECTOR_CSTs + in simplifying VEC_COND_EXPR conditions. + +2015-10-28 Tom de Vries + + * tree-ssa-structalias.c (intra_create_variable_infos): Don't iterate + into vi_next of a full_var. + +2015-10-28 Tom de Vries + + * 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 + + * config/aarch64/aarch64.md (call, call_value, sibcall): Handle noplt. + (sibcall_value): Likewise. + +2015-10-28 Nathan Sidwell + + * 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, unpacksi2, packsi2): New. + (worker_load, worker_store): 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 + + * 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 + + 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 + + * 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 + + 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * omp-low.c (oacc_init_rediction_array): New. + (oacc_initialize_reduction_data): Initialize array. + +2015-10-27 Nathan Sidwell + + * omp-low.c (pass_oacc_device_lower::execute): Ignore errors. + +2015-10-27 Nathan Sidwell + + * 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 + + 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 + + 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 + + * config/aarch64/aarch64.c (aarch64_output_simd_mov_immediate): + Handle floating point inner modes properly. + +2015-10-27 Alan Hayward + + * tree-vect-looop.c + (vectorizable_live_operation): Change iterator. + +2015-10-27 Abderrazek Zaafrani + Aditya Kumar + + * 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. + (optimize_isl): Call the new function get_schedule_map_st for isl-0.15 + +2015-10-27 H.J. Lu + + PR target/67215 + * calls.c (prepare_call_address): Don't handle -fno-plt here. + * config/i386/i386.c (ix86_expand_call): Generate indirect call + via GOT for -fno-plt. Support indirect call via GOT for x32. + * config/i386/predicates.md (sibcall_memory_operand): Allow + GOT memory operand. + +2015-10-27 Richard Biener + + PR tree-optimization/68104 + * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Move + strided access check ... + (vect_compute_data_refs_alignment): ... here. + +2015-10-27 Daniel Jacobowitz + Joseph Myers + Mark Shinwell + Andrew Stubbs + Rich Felker + + * config.gcc: Handle --enable-fdpic. + * config/sh/constraints.md (Ccl): New constraint. + * config/sh/linux.h (SUBTARGET_LINK_EMUL_SUFFIX): Handle -mfdpic. + * config/sh/sh-c.c (sh_cpu_cpp_builtins): Add __FDPIC__ and + __SH_FDPIC__. + * config/sh/sh-mem.cc (expand_block_move): Support FDPIC for calls to + library functions. + * config/sh/sh-protos.h (function_symbol_result): New struct. + (function_symbol): Return function_symbol_result. + (sh_get_fdpic_reg_initial_val, sh_load_function_descriptor): New + declarations. + * config/sh/sh.c (TARGET_ASM_INTEGER, sh_assemble_integer): Implement + target hook. + (TARGET_CANNOT_FORCE_CONST_MEM, sh_cannot_force_const_mem_p): Likewise. + (sh_option_override): Force -fPIC if FDPIC is in effect. + (sh_asm_output_addr_const_extra): Add UNSPEC_GOTFUNCDESC and + UNSPEC_GOTOFFFUNCDESC cases. + (prepare_move_operands): Use FDPIC initial GOT register for + TLS-related GOT access; inhibit cross-section address offset constants + for FDPIC. + (sh_assemble_integer): New function. + (sh_cannot_copy_insn_p): Inhibit copying insns that are FDPIC + PC-relative call sites. + (expand_ashiftrt): Adapt invocation of function_symbol. + (sh_expand_prologue): Inhibit PC-relative GOT address load for FDPIC. + (nonpic_symbol_mentioned_p): Add cases for UNSPEC_GOTFUNCDESC and + UNSPEC_GOTOFFFUNCDESC. + (legitimize_pic_address): Resolve function symbols to function + descriptors for FDPIC. Do not use GOT-relative addressing for local + data that may be read-only on FDPIC. + (sh_emit_storesi, sh_emit_storehi): New functions. + (sh_trampoline_init): Generate FDPIC trampolines. + (sh_function_ok_for_sibcall): Add TARGET_FDPIC check. + (sh_expand_sym_label2reg): Don't assume sibcalls are local. + (sh_output_mi_thunk): Generate FDPIC call. + (function_symbol): Return function_symbol_result. For SFUNC_STATIC on + FDPIC, generate call site labels to use PC-relative addressing rather + than GOT-relative addressing. + (sh_conditional_register_usage): Make PIC register fixed and call used + when FDPIC is in effect. + (sh_legitimate_constant_p): Impose FDPIC constant constraints. + (sh_cannot_force_const_mem_p, sh_load_function_descriptor, + sh_get_fdpic_reg_initial_val): New functions. + * config/sh/sh.h (SUBTARGET_ASM_SPEC, SUBTARGET_LINK_EMUL_SUFFIX): + Handle -mfdpic. + (FDPIC_SELF_SPECS, SUBTARGET_DRIVER_SELF_SPECS, + PIC_OFFSET_TABLE_REG_CALL_CLOBBERED, + SH_OFFSETS_MUST_BE_WITHIN_SECTIONS_P): New macros. + (DRIVER_SELF_SPECS): Add SUBTARGET_DRIVER_SELF_SPECS and + FDPIC_SELF_SPECS. + (TRAMPOLINE_SIZE): Select trampoline size for FDPIC. + (ASM_PREFERRED_EH_DATA_FORMAT): Add EH format constraints for FDPIC. + (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Handle FDPIC case. + * config/sh/sh.md (UNSPEC_GOTFUNCDESC, UNSPEC_GOTOFFFUNCDESC): New + constants. + (calli_fdpic, call_valuei_fdpic, sibcalli_fdpic, sibcalli_pcrel_fdpic, + sibcall_pcrel_fdpic, sibcall_valuei_fdpic, sibcall_valuei_pcrel_fdpic, + sibcall_value_pcrel_fdpic, sym2GOTFUNCDESC, symGOTFUNCDESC2reg, + sym2GOTOFFFUNCDESC, symGOTOFFFUNCDESC2reg): New patterns. + (udivsi3_i1, udivsi3_i4, udivsi3_i4_single, udivsi3, + *divsi_inv_call_combine, divsi3_i4, divsi3_i4_single, divsi3, ashlsi3, + ashlsi3_d_call, ashrsi3_n, lshrsi3, lshrsi3_d_call, calli, call_valuei, + call, call_value, sibcalli, sibcalli_pcrel, sibcall_pcrel, sibcall, + sibcall_valuei, sibcall_valuei_pcrel, sibcall_value_pcrel, + sibcall_value, GOTaddr2picreg, symGOT_load, symGOTOFF2reg, + block_move_real, block_lump_real, block_move_real_i4, + block_lump_real_i4): Add support for FDPIC calls. + (mulsi3, ic_invalidate_line, initialize_trampoline, call_pop, + call_value_pop): Adjust for new function_symbol signature. + * config/sh/sh.opt (-mfdpic): New option. + * doc/install.texi (Options specification): Document --enable-fdpic. + * doc/invoke.texi (SH Options): Document -mfdpic. + + +2015-10-27 Alan Lawrence + + PR tree-optimization/65963 + * tree-scalar-evolution.c (interpret_rhs_expr): Handle some + LSHIFT_EXPRs as equivalent MULT_EXPRs. + +2015-10-27 Kyrylo Tkachov + + PR target/67929 + * config/arm/arm.c (vfp3_const_double_for_bits): Rewrite. + * config/arm/constraints.md (Dp): Update callsite. + * config/arm/predicates.md (const_double_vcvt_power_of_two): Likewise. + +2015-10-27 Richard Sandiford + + * builtins.c (fold_builtin_load_exponent): Rename to... + (fold_const_builtin_load_exponent): ...this and only handle + constant arguments. + (fold_builtin_2): Update accordingly. + * match.pd: Add rules previously handled by fold_builtin_load_exponent. + +2015-10-27 Richard Sandiford + + * builtins.c (fold_builtin_logb): Rename to... + (fold_const_builtin_logb): ...this and remove STRIP_NOPS call. + (fold_builtin_significand): Rename to... + (fold_const_builtin_significand): ...this and remove STRIP_NOPS call. + (fold_builtin_1): Update accordingly. + +2015-10-27 Richard Sandiford + + * builtins.c (fold_builtin_fmin_fmax): Delete. + (fold_builtin_2): Handle constant fmin and fmax arguments here. + * match.pd: Add rules previously handled by fold_builtin_fmin_fmax. + +2015-10-27 Evandro Menezes + + * config/aarch64/aarch64-protos.h (cpu_addrcost_table): Split member + for register extension into sign and zero register extension. + * config/aarch64/aarch64.c (generic_addrcost_table): Infer values + for sign and zero register extension. + (cortexa57_addrcost_table): Likewise. + (xgene1_addrcost_table): Likewise. + +2015-10-27 Richard Sandiford + + * fold-const.c (fold_minmax): Delete. + (fold_binary_loc): Don't call it. + * match.pd: Add rules previously handled by fold_minmax. + +2015-10-27 Richard Sandiford + + * builtins.c (fold_builtin_fma): Remove constant handling. + (fold_builtin_3): Handle constant fma arguments here. + +2015-10-27 Richard Sandiford + + * builtins.c (fold_builtin_fabs): Remove constant handling. + (fold_builtin_abs): Likewise. + +2015-10-27 Richard Sandiford + + * builtins.c (fold_builtin_copysign): Delete. + (fold_builtin_2): Handle constant copysign arguments here. + * match.pd: Add rules previously handled by fold_builtin_copysign. + +2015-10-27 Richard Sandiford + + * builtins.c (fold_builtin_signbit): Delete. + (fold_builtin_2): Handle constant signbit arguments here. + * match.pd: Add rules previously handled by fold_builtin_signbit. + +2015-10-27 Richard Sandiford + + * match.pd: Handle sqrt(x) cmp 0 specially. + +2015-10-27 Ilya Enkovich + + * tree-vect-generic.c (expand_vector_operations_1): Check + optab type before using it. + +2015-10-27 Kyrylo Tkachov + + * config/aarch64/aarch64-protos.h + (struct tune_params): Add autoprefetcher_model field. + * config/aarch64/aarch64.c: Include params.h + (generic_tunings): Specify autoprefetcher_model value. + (cortexa53_tunings): Likewise. + (cortexa57_tunings): Likewise. + (cortexa72_tunings): Likewise. + (thunderx_tunings): Likewise. + (xgene1_tunings): Likewise. + (aarch64_first_cycle_multipass_dfa_lookahead_guard): New function. + (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define. + (aarch64_override_options_internal): Set + PARAM_SCHED_AUTOPREF_QUEUE_DEPTH param. + +2015-10-27 Richard Sandiford + + * builtins.c (fold_builtin_exponent): Delete. + (fold_builtin_2): Handle constant expN arguments here. + * match.pd: Fold expN(logN(x)) -> x. + +2015-10-27 Richard Sandiford + + * builtins.c (fold_builtin_powi): Delete. + (fold_builtin_2): Handle constant powi arguments here. + * match.pd: Add rules previously handled by fold_builtin_powi. + +2015-10-27 Richard Sandiford + + * builtins.c (fold_builtin_pow): Delete in favor of... + (fold_const_builtin_pow): ...this new function. Only handle constant + arguments. + (fold_builtin_2): Update accordingly. + * match.pd: Add rules previously handled by fold_builtin_pow. + +2015-10-27 Richard Sandiford + + * builtins.c (fold_builtin_hypot): Delete. + (fold_builtin_2): Handle constant hypot arguments here. + * match.pd: Fold hypot(x, 0) and hypot(0, x) to x. Canonicalize + hypot(x, x) to fabs(x)*sqrt(2). + +2015-10-27 Richard Sandiford + + * gimple-match-head.c (maybe_push_res_to_seq): Use create_tmp_reg + instead of make_ssa_name if not yet in SSA form. + +2015-10-27 Richard Biener + + * cfg.c (free_edge): Add function argument and use it instead of cfun. + (clear_edges): Likewise. + * cfg.h (clear_edges): Adjust prototype. + * cfgexpand.c (pass_expand::execute): Adjust. + * cfgloop.c (release_recorded_exits): Add function argument and use + it instead of cfun. + * cfgloop.h (release_recorded_exits): Adjust prototype. + (loops_state_satisfies_p): Add overload with function argument. + (loops_state_set): Likewise. + (loops_state_clear): Likewise. + (struct loop_iterator): Add function argument to constructor + and iterator and use it instead of cfun. + (FOR_EACH_LOOP_FN): New macro. + (loop_optimizer_finalize): Add overload with function argument. + * loop-init.c (loop_optimizer_init): Adjust. + (fix_loop_structure): Likewise. + (loop_optimizer_finaliz): Add function argument and use it + instead of cfun. + * tree-cfg.c (delete_tree_cfg_annotations): Likewise. + * tree-cfg.h (delete_tree_cfg_annotations): Adjust prototype. + * cgraph.c (release_function_body): Do not push/pop cfun. + * final.c (rest_of_clean_state): Adjust. + * graphite.c (graphite_finalize): Likewise. + * tree-ssa-copy.c (fini_copy_prop): Likewise. + * tree-ssa-dce.c (perform_tree_ssa_dce): Likewise. + * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables): Likewise. + (tree_unroll_loops_completely): Likewise. + (pass_complete_unrolli::execute): Likewise. + * tree-ssa-loop-niter.c (free_numbers_of_iterations_estimates): + Add function argument and use it instead of cfun. + * tree-ssa-loop-niter.h (free_numbers_of_iterations_estimates): + Adjust prototype. + * tree-ssa-loop.c (tree_ssa_loop_done): Adjust. + * tree-ssa.c (delete_tree_ssa): Add function argument and use it + instead of cfun. + * tree-ssa.h (delete_tree_ssa): Adjust prototype. + * tree-ssanames.c (fini_ssanames): Add function argument and use it + instead of cfun. + * tree-ssanames.c (fini_ssanames): Adjust prototype. + * tree-vrp.c (execute_vrp): Adjust. + * value-prof.c (free_histograms): Add function argument and use it + instead of cfun. + * value-prof.h (free_histograms): Adjust prototype. + +2015-10-27 Thomas Schwinge + + * tree.h (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES) + (OACC_KERNELS_BODY, OACC_KERNELS_CLAUSES, OACC_KERNELS_COMBINED) + (OACC_PARALLEL_COMBINED): Don't define macros. Adjust all users. + +2015-10-27 Tom de Vries + + * tree-ssa-structalias.c (push_fields_onto_fieldstack): Add and use var + field_type. + +2015-10-27 Bin Cheng + + * loop-invariant.c (struct def): New field can_prop_to_addr_uses. + (inv_can_prop_to_addr_use): New function. + (record_use): Call can_prop_to_addr_uses, set the new field. + (get_inv_cost): Count cost if inv can't be propagated into its + address uses. + +2015-10-26 Doug Evans + + * config/linux.h (INCLUDE_DEFAULTS): Add INCLUDE_DEFAULTS_MUSL_LOCAL. + +2015-10-26 Eric Botcazou + + * match.pd (fold_widened_comparison): Apply simplifications to all + integral types. + +2015-10-26 Simon Dardis + + * target.def (TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P): New hook. + * doc/tm.texi.in (TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P): Document. + * doc/tm.texi: Regenerated. + * reorg.c (dbr_schedule): Use new hook. + * config/mips/mips.c (mips_no_speculation_in_delay_slots_p): New. + +2015-10-26 Jeff Law + + PR tree-optimization/68013 + * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths): + Make sure the first block in the path is in VISITED_BBs. + +2015-10-26 Richard Biener + Dominik Vogt + + PR middle-end/67443 + * alias.c (ao_ref_from_mem): Remove promoted subreg handling. + Properly prune ref->ref for accesses outside of ref. + +2015-10-26 Richard Sandiford + + * gimple-fold.c (replace_stmt_with_simplification): Don't allow + new statements to be inserted if inplace. Allow calls to have + nonempty sequences. + +2015-10-26 Richard Biener + + * tree-object-size.c: Remove builtins.h include, include tree-cfg.h. + (do_valueize): New function. + (pass_object_sizes::execute): Use gimple_fold_stmt_to_constant and + replace_uses_by. + * tree-ssa-threadedge.c: Remove builtins.h include, include + gimple-fold.h + (fold_assignment_stmt): Remove. + (threadedge_valueize): New function. + (record_temporary_equivalences_from_stmts): Use + gimple_fold_stmt_to_constant_1, note additional cleanup + opportunities. + +2015-10-26 Richard Biener + + * match.pd ((A & ~B) - (A & B) -> (A ^ B) - B): Add missing :c. + ( (X & ~Y) | (~X & Y) -> X ^ Y): Remove redundant :c. + +2015-10-26 Alan Hayward + + * tree-vect-loop.c (vect_create_epilog_for_reduction): Fix + VEC_COND_EXPR types. + +2015-10-26 Kyrylo Tkachov + + * auto-inc-dec.c (insert_move_insn_before): Delete. + (attempt_change): Remember to cost the simple move in the + FORM_PRE_ADD and FORM_POST_ADD cases. + +2015-10-26 Kaz Kojima + + PR target/68091 + * config/sh/sh.c (sh_vector_mode_supported_p): Use + TARGET_SHMEDIA_FPU instead of TARGET_FPU_ANY. + +2015-10-26 Tom de Vries + + * tree-ssa-structalias.c (make_restrict_var_constraints): New function, + factored out of ... + (intra_create_variable_infos): ... here. + +2015-10-26 Tom de Vries + + * tree-ssa-structalias.c (intra_create_variable_infos): Add + restrict_pointer_p and recursive_restrict_p variables. + +2015-10-26 Tom de Vries + + * tree-ssa-structalias.c (intra_create_variable_infos): Inline + get_vi_for_tree call. + +2015-10-26 Kyrylo Tkachov + + PR middle-end/67989 + * optabs.c (expand_atomic_compare_and_swap): Handle case when + ptarget_oval or ptarget_bool are const0_rtx. + +2015-10-26 Christian Bruel + + * function.h (MINIMUM_METHOD_BOUNDARY): New macro. + * cp/decl.c (grokfndecl): Set DECL_ALIGN with MINIMUM_METHOD_BOUNDARY. + * cp/method.c (implicitly_declare_fn): Likewise. + * cp/lambda.c (maybe_add_lambda_conv_op): Likewise. Remove VBIT setting. + * java/class.c (add_method_1): Likewise. + +2015-10-26 Richard Biener + + * alloc-pool.h (base_pool_allocator): Use placement new. + (base_pool_allocator::remove): Likewise. Compute size outside of + flag_checking. + +2015-10-26 Richard Sandiford + + * builtins.c (do_real_to_int_conversion): New function. + (fold_fixed_mathfn, fold_builtin_int_roundingfn): Delete. + (fold_builtin_1): Handle constant {i,l,ll}{ceil,floor,round}{f,,l} + arguments here. + * match.pd: Add rules previously handled by fold_fixed_mathfn + and fold_builtin_int_roundingfn. + +2015-10-26 Richard Sandiford + + * match.pd: Use macros to define built-in operator lists. + +2015-10-20 Richard Sandiford + Richard Biener + + * genmatch.c (dt_simplify::gen): Skip captures that are + part of the result. + (parser::parse_expr): Allow captures in results too. + * builtins.c (fold_builtin_cexp): Delete. + (fold_builtin_1): Handle constant cexp arguments here. + * match.pd: Fold cexp(x+yi) to exp(x) * cexpi(y). + +2015-10-26 Mikhail Maltsev + + * alloc-pool.h (base_pool_allocator::initialize, ::allocate): Remove + conditional compilation. + (base_pool_allocator::remove): Use flag_checking. + +2015-10-25 John David Anglin + + * config/pa/som.h (EH_FRAME_THROUGH_COLLECT2): Define. + + PR middle-end/68079 + * dojump.c (do_compare_and_jump): Canonicalize both function and + method types. + +2015-10-25 Uros Bizjak + + PR target/68084 + * config/i386/i386.c (ix86_md_asm_adjust) [case 'a']: Use NE code + for =@ccae. + +2015-10-23 Jan Hubicka + + PR ipa/pr67600 + * ipa-polymorphic-call.c + (ipa_polymorphic_call_context::get_dynamic_type): Do not confuse + instance offset with offset of outer type. + +2015-10-23 Jan Hubicka + + * fold-const.c (operand_equal_p): Handle VIEW_CONVERT_EXPR. + +2015-10-23 Caroline Tice + + (from Richard Biener + * tree.c (int_cst_hasher::hash): Replace XOR with more efficient + call to iterative_hash_host_wide_int. + +2015-10-23 David Edelsohn + + * config.gcc (powerpc-ibm-aix[6789]) [default_use_cxa_atexit]: + Define as yes. + +2015-10-23 Ilya Enkovich + + * tree-vect-generic.c (expand_vector_operations_1): Check + optab exists before use it. + +2015-10-23 Ilya Enkovich + + * tree-vect-generic.c (expand_vector_condition): Avoid + uninitialized variable warning. + +2015-10-23 Jeff Law + + * passes.c (execute_function_todo): Do not call flush_ssaname_freelist + here. Instead... + (execute_todo): Call it here. + * tree-ssanames.c (make_ssa_name_fn): Unconditionally gather reuse + statistics + (pass_release_ssa_names::execute): Do not call flusH_ssaname_freelist. + +2015-10-23 Gregor Richards + Szabolcs Nagy + + * config.gcc (enable_secureplt): Add *-linux*-musl*. + +2015-10-23 Jeff Law + + PR tree-optimization/67830 + * match.pd ((bit_and (plus/minus (convert @0) (convert @1)) mask)): + Explicitly verify the mask has no bits outside the type of + the innermost operands. + +2015-10-23 Gregor Richards + Szabolcs Nagy + + * config/rs6000/linux64.h (MUSL_DYNAMIC_LINKER32): Define. + (MUSL_DYNAMIC_LINKER64): Define. + (GNU_USER_DYNAMIC_LINKER32): Update. + (GNU_USER_DYNAMIC_LINKER64): Update. + (CHOOSE_DYNAMIC_LINKER): Update. + + * config/rs6000/sysv4.h (GNU_USER_DYNAMIC_LINKER): Update. + (MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER_E,) + (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,) + (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,) + (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define. + (CHOOSE_DYNAMIC_LINKER): Update. + (INCLUDE_DEFAULTS): Redefine. + + * config/rs6000/sysv4le.h (MUSL_DYNAMIC_LINKER_E): Define. + +2015-10-23 Jan Hubicka + + * fold-const.c (operand_equal_p): Do not compare TYPE_MODE when + comparing addresses. + +2015-10-23 Jan Hubicka + + * fold-const.c (operand_equal_p): Handle matching of vector + constructors. + +2015-10-23 David Edelsohn + + * doc/install.texi (*-ibm-aix*): Additional information for AIX 7.1. + +2015-10-23 Steve Ellcey + Andrew Pinski + + PR rtl-optimization/67736 + * combine.c (simplify_comparison): Use gen_lowpart_or_truncate instead + of gen_lowpart. + +2015-10-23 Ilya Enkovich + + PR middle-end/68066 + * tree.c (build_truth_vector_type): Support BLK mode + returned for boolean vector. + +2015-10-23 Alan Hayward + + PR tree-optimization/65947 + * tree-vect-loop.c + (vect_is_simple_reduction_1): Find condition reductions. + (vect_model_reduction_cost): Add condition reduction costs. + (get_initial_def_for_reduction): Add condition reduction initial var. + (vect_create_epilog_for_reduction): Add condition reduction epilog. + (vectorizable_reduction): Condition reduction support. + * tree-vect-stmts.c (vectorizable_condition): Add vect reduction arg + * doc/sourcebuild.texi (Vector-specific attributes): Document + vect_max_reduc + +2015-10-23 Richard Biener + + * Makefile.in (build/genmatch.o): Properly depend on is-a.h, tree.def + and builtins.def. + +2015-10-23 Richard Biener + Naveen H.S + + * fold-const.c (fold_binary_loc) : Move Fold (A & ~B) - (A & B) + into (A ^ B) - B to match.pd + Move (X & ~Y) | (~X & Y) is X ^ Y to match.pd. + + * match.pd (minus (bit_and:cs @0 (bit_not @1)) (bit_and:s @0 @1)): + New simplifier. + (minus (bit_and:s @0 INTEGER_CST@2) (bit_and:s @0 INTEGER_CST@1)): + New simplifier. + (minus (bit_and:s @0 @1) (bit_and:cs @0 (bit_not @1))): + New simplifier. + (bit_ior:c (bit_and:c @0 (bit_not @1)) (bit_and:c (bit_not @0) @1)): + New simplifier. + (bit_ior:c (bit_and @0 INTEGER_CST@2) (bit_and (bit_not @0) + INTEGER_CST@1)): New simplifier. + +2015-10-23 Richard Sandiford + + * builtins.c (integer_valued_real_p): Move to fold-const.c. + (fold_trunc_transparent_mathfn, fold_builtin_trunc, fold_builtin_floor) + (fold_builtin_ceil, fold_builtin_round): Delete. + (fold_builtin_1): Handle constant trunc, floor, ceil and round + arguments here. + * convert.c (convert_to_real): Remove narrowing of rounding + functions. + * fold-const.h (integer_valued_real_unary_p) + (integer_valued_real_binary_p, integer_valued_real_call_p) + (integer_valued_real_single_p, integer_valued_real_p): Declare. + * fold-const.c (tree_single_nonnegative_warnv_p): Move + name_registered_for_update_p check to SSA_NAME case statement. + Don't call tree_simple_nonnegative_warnv_p for SSA names. + (integer_valued_real_unary_p, integer_valued_real_binary_p) + (integer_valued_real_call_p, integer_valued_real_single_p) + (integer_valued_real_invalid_p): New functions. + (integer_valued_real_p): Move from fold-const.c and rework + to call the functions above. Handle SSA names. + * gimple-fold.h (gimple_stmt_integer_valued_real_p): Declare. + * gimple-fold.c (gimple_assign_integer_valued_real_p) + (gimple_call_integer_valued_real_p, gimple_phi_integer_valued_real_p) + (gimple_stmt_integer_valued_real_p): New functions. + * match.pd: Fold f(f(x))->f(x) for fp->fp rounding functions f. + Fold f(x)->x for the same f if x is known to be integer-valued. + Fold f(extend(x))->extend(f'(x)) if doing so doesn't affect + the result. Canonicalize floor(x) as trunc(x) if x is + nonnegative. + +2015-10-23 Tom de Vries + + * tree-ssa-structalias.c (intra_create_variable_infos): Use + make_constraint_from. + +2015-10-23 Tom de Vries + + * tree-ssa-structalias.c (create_variable_info_for_1): Add missing + setting of is_full_var in case of a single field. + +2015-10-22 Martin Sebor + + PR driver/68043 + * config/i386/i386.opt: Add missing periods to the ends of sentences. + * config/msp430/msp430.opt: Same. + +2015-10-21 David Wohlferd + + * doc/extend.exp (Global Register Variables): Rewrite. + +2015-10-22 Jeff Law + + * genattrtab.c (main): If we do not have any annul-true or annul-false + slots, then write out a dummy eligible_for_annul_true or + eligible_for_annul_false as needed. + +2015-10-22 Nick Clifton + + * config/msp430/msp430.opt: Add -msilicon-errata and + -msilicon-errata-warn. + * config/msp430/msp430.h (ASM_SPEC): Pass new options on to + assembler. + * doc/invoke.texi: Document new options. + +2015-10-22 Richard Biener + + PR tree-optimization/58497 + * tree-vect-generic.c (ssa_uniform_vector_p): New helper. + (expand_vector_operations_1): Use it. Lower operations on + all uniform vectors to scalar operations if the HW supports it. + +2015-10-22 Richard Biener + + PR tree-optimization/19049 + PR tree-optimization/65962 + * tree-vect-data-refs.c (vect_analyze_group_access_1): Fall back + to strided accesses if single-element interleaving doesn't work. + +2015-10-22 Richard Biener + + PR middle-end/68046 + PR middle-end/61893 + * optabs.c (emit_libcall_block_1): Allow a NULL_RTX equiv. + (expand_binop): For -ftrapv optabs do not record an REG_EQUAL note. + (expand_unop): Likewise. + +2015-10-22 Richard Biener + + * fold-const.c (fold_addr_of_array_ref_difference): Properly + convert operands before folding a MINUS_EXPR. + (fold_binary_loc): Move simplification of MINUS_EXPR on + converted POINTER_PLUS_EXPRs ... + * match.pd: ... here. + +2015-10-22 Richard Sandiford + + * builtins.c (fold_builtin_tan): Delete. + (fold_builtin_1): Handle constant tan arguments here. + * match.pd: Simplify (tan (atan x)) to x. + +2015-10-22 Richard Sandiford + + * builtins.c (fold_builtin_cproj): Delete. + (fold_builtin_1): Handle constant arguments here. + (build_complex_cproj): Move and rename to... + * tree.c: (build_complex_inf): ...this. + * tree.h (build_complex_inf): Declare. + * match.pd: Fold cproj(x)->x if x has no infinity. + Use build_complex_inf for existing cproj rules. + +2015-10-22 Andreas Krebbel + + PR target/68015 + * config/s390/s390.md (movcc): Emit compare only if we don't + already have a comparison result. + +2015-10-22 Ramana Radhakrishnan + + PR target/63304 + * config/aarch64/aarch64.c (aarch64_nopcrelative_literal_loads): New. + (aarch64_expand_mov_immediate): Use aarch64_nopcrelative_literal_loads. + (aarch64_classify_address): Likewise. + (aarch64_secondary_reload): Likewise. + (aarch64_override_options_after_change_1): Adjust. + * config/aarch64/aarch64.md (aarch64_reload_movcp): + Use aarch64_nopcrelative_literal_loads. + (aarch64_reload_movcp): Likewise. + * config/aarch64/aarch64-protos.h (aarch64_nopcrelative_literal_loads): + Declare. + +2015-10-21 Martin Sebor + + PR driver/68043 + * opts.c (undocumented_msg, use_diagnosed_msg): New globals. + (print_filtered_help): Reference aliased option's name and encourage + readers to use it in preference to the alias if the former is not + documented. Mention when using an option is diagnosed. + * gcc.c (display_help): End each sentence with a period. + + * common.opt: End each sentence that describes an option with + a period. + * config/aarch64/aarch64.opt: Same. + * config/alpha/alpha.opt: Same. + * config/arc/arc.opt: Same. + * config/arm/arm.opt: Same. + * config/avr/avr.opt: Same. + * config/bfin/bfin.opt: Same. + * config/c6x/c6x.opt: Same. + * config/cr16/cr16.opt: Same. + * config/cris/cris.opt: Same. + * config/cris/linux.opt: Same. + * config/darwin.opt: Same. + * config/epiphany/epiphany.opt: Same. + * config/fr30/fr30.opt: Same. + * config/frv/frv.opt: Same. + * config/ft32/ft32.opt: Same. + * config/g.opt: Same. + * config/h8300/h8300.opt: Same. + * config/i386/cygming.opt: Same. + * config/i386/djgpp.opt: Same. + * config/i386/i386.opt: Same. + * config/i386/interix.opt: Same. + * config/i386/mingw-w64.opt: Same. + * config/i386/mingw.opt: Same. + * config/ia64/ia64.opt: Same. + * config/ia64/ilp32.opt: Same. + * config/iq2000/iq2000.opt: Same. + * config/linux.opt: Same. + * config/lm32/lm32.opt: Same. + * config/lynx.opt: Same. + * config/m32c/m32c.opt: Same. + * config/m32r/m32r.opt: Same. + * config/m68k/ieee.opt: Same. + * config/m68k/m68k.opt: Same. + * config/mcore/mcore.opt: Same. + * config/mep/mep.opt: Same. + * config/microblaze/microblaze.opt: Same. + * config/mips/mips.opt: Same. + * config/mmix/mmix.opt: Same. + * config/mn10300/mn10300.opt: Same. + * config/moxie/moxie.opt: Same. + * config/msp430/msp430.opt: Same. + * config/nios2/elf.opt: Same. + * config/nios2/nios2.opt: Same. + * config/nvptx/nvptx.opt: Same. + * config/pa/pa-hpux.opt: Same. + * config/pa/pa-hpux1010.opt: Same. + * config/pa/pa-hpux1111.opt: Same. + * config/pa/pa-hpux1131.opt: Same. + * config/pa/pa.opt: Same. + * config/pa/pa64-hpux.opt: Same. + * config/pdp11/pdp11.opt: Same. + * config/rl78/rl78.opt: Same. + * config/rs6000/476.opt: Same. + * config/rs6000/aix64.opt: Same. + * config/rs6000/darwin.opt: Same. + * config/rs6000/linux64.opt: Same. + * config/rs6000/rs6000.opt: Same. + * config/rs6000/sysv4.opt: Same. + * config/s390/s390.opt: Same. + * config/s390/tpf.opt: Same. + * config/sh/sh.opt: Same. + * config/sol2.opt: Same. + * config/sparc/long-double-switch.opt: Same. + * config/sparc/sparc.opt: Same. + * config/spu/spu.opt: Same. + * config/stormy16/stormy16.opt: Same. + * config/tilegx/tilegx.opt: Same. + * config/tilepro/tilepro.opt: Same. + * config/v850/v850.opt: Same. + * config/vax/vax.opt: Same. + * config/visium/visium.opt: Same. + * config/vms/vms.opt: Same. + * config/vxworks.opt: Same. + * config/xtensa/xtensa.opt: Same. + +2015-10-21 Aditya Kumar + Sebastian Pop + + * graphite-scop-detection.c (parameter_index_in_region): Update call to + invariant_in_sese_p_rec. + * graphite-sese-to-poly.c (extract_affine): Same. + * sese.c (invariant_in_sese_p_rec): Pass in an extra + parameter has_vdefs. + (scalar_evolution_in_region): Return chrec_dont_know when the scalar + variable depends on virtual definitions in the current region. + * sese.h (invariant_in_sese_p_rec): Update declaration. + +2015-10-21 Aditya Kumar + Sebastian Pop + + * graphite-scop-detection.c (build_scops): Do not handle scops + with more than PARAM_GRAPHITE_MAX_ARRAYS_PER_SCOP arrays. + * params.def (PARAM_GRAPHITE_MAX_ARRAYS_PER_SCOP): New. + +2015-10-21 Mikhail Maltsev + + * config.in: Regenerate. + * configure: Regenerate. + * configure.ac (CHECKING_P): Define. + * system.h: Use CHECKING_P. + +2015-10-11 Jan Hubicka + + PR ipa/67056 + * ipa-polymorphic-call.c (possible_placement_new): If cur_offset + is negative we don't know the type. + (check_stmt_for_type_change): Skip constructors of non-polymorphic + types as those won't help devirutalization. + +2015-10-11 Jan Hubicka + + * fold-const.c (operand_equal_p): Add code matching empty constructors. + +2015-10-21 Eric Botcazou + + * tree.def (CEIL_DIV_EXPR, FLOOR_DIV_EXPR, ROUND_DIV_EXPR): Tweak + comments. + (TRUNC_MOD_EXPR, CEIL_MOD_EXPR, FLOOR_MOD_EXPR, ROUND_MOD_EXPR): + Add comments on sign of the result. + * fold-const.c (tree_binary_nonnegative_warnv_p) : + Recurse on operand #1 instead of operand #0. + : Do not recurse. + : Likewise. + +2015-10-21 Trevor Saunders + + * cfgrtl.c (pass_free_cfg::execute): Adjust. + * final.c (dbr_sequence_length): Always define. + (shorten_branches): Adjust. + * genattr-common.c (main): Always define DELAY_SLOTS. + * genattr.c (main): Unconditionally declare functions and define + macros related to delay slots. + * genattrtab.c (write_eligible_delay): Adjust. + (main): Always write out delay slot functions. + * opts.c (default_options_table): Adjust. + * reorg.c (redirect_with_delay_slots_safe_p): Likewise. + (redirect_with_delay_list_safe_p): Likewise. + (fill_simple_delay_slots): Likewise. + (fill_slots_from_thread): Likewise. + (make_return_insns): Likewise. + (dbr_schedule): Likewise. + (rest_of_handle_delay_slots): Likewise. + (pass_delay_slots::gate): Likewise. + * toplev.c (process_options): Likewise. + +2015-10-21 Richard Henderson + + * targhooks.c (default_addr_space_pointer_mode): Remove check + for generic address space. + (default_addr_space_address_mode): Likewise. + (default_addr_space_valid_pointer_mode): Likewise. + (default_addr_space_legitimate_address_p): Likewise. + (default_addr_space_legitimize_address): Likewise. + * target.def (addr_space.pointer_mode): Update documentation + of default behavior. + (addr_space.address_mode): Likewise. + * tm.texi: Update. + + * expr.c (expand_expr_real_2): Use convert_modes on disjoint + address spaces. + +2015-10-21 Richard Sandiford + + * builtins.c (fold_builtin_cabs): Delete. + (fold_builtin_1): Update accordingly. Handle constant arguments here. + * match.pd: Add rules previously handled by fold_builtin_cabs. + +2015-10-21 Richard Sandiford + + * fold-const.h (fold_strip_sign_ops): Delete. + * fold-const.c (fold_strip_sign_ops): Likewise. + (fold_unary_loc, fold_binary_loc): Remove calls to it. + * builtins.c (fold_builtin_cos, fold_builtin_cosh) + (fold_builtin_ccos): Delete. + (fold_builtin_pow): Don't call fold_strip_sign_ops. + (fold_builtin_hypot, fold_builtin_copysign): Likewise. + Remove fndecl argument. + (fold_builtin_1): Update calls accordingly. Handle constant + cos, cosh, ccos and ccosh here. + +2015-10-21 Richard Sandiford + + * doc/invoke.texi (-fdump-tree-backprop, -fssa-backprop): Document. + * Makefile.in (OBJS): Add gimple-ssa-backprop.o. + * common.opt (fssa-backprop): New option. + * fold-const.h (negate_mathfn_p): Declare. + * fold-const.c (negate_mathfn_p): Make public. + * timevar.def (TV_TREE_BACKPROP): New. + * tree-pass.h (make_pass_backprop): Declare. + * passes.def (pass_backprop): Add. + * gimple-ssa-backprop.c: New file. + +2015-10-21 Aditya Kumar + Sebastian Pop + + * graphite-isl-ast-to-gimple.c (graphite_create_new_loop_guard): + Do not call create_empty_if_region_on_edge when cond_expr is true. + (translate_isl_ast_node_for): Check whether a guard has been generated. + +2015-10-21 Aditya Kumar + + * graphite-poly.h (struct dr_info): Added invalid_alias_set number. + (operator=): Removed. + (dr_info): Make alias_set number the last argument with default + value of invalid_alias_set. + * graphite-sese-to-poly.c (build_scop_drs): Update constructor + of dr_info. + (rewrite_reductions_out_of_ssa): Iterate only through the + basic blocks which are inside region. + (rewrite_cross_bb_scalar_deps_out_of_ssa): Same. + * sese.h (struct sese_l): Removed assignment operator. + (split_region_for_bb): Removed dead code. + +2015-10-21 Aditya Kumar + + * graphite-poly.h (struct dr_info): Removed conversion constructor. + (struct scop): Renamed scop::region to scop::scop_info + (scop_set_region): Same. + (SCOP_REGION): Removed + (SCOP_CONTEXT): Removed. + (POLY_SCOP_P): Removed. + * graphite-isl-ast-to-gimple.c (translate_isl_ast_node_user): + Rename scop->region to scop->scop_info. + (add_parameters_to_ivs_params): Same. + (graphite_regenerate_ast_isl): Same. + * graphite-poly.c (new_scop): Same. + (free_scop): Same. + (print_scop_params): Same. + * graphite-scop-detection.c (scop_detection::remove_subscops): Same. + (scop_detection::remove_intersecting_scops): Use pointer to sese_l. + (dot_all_scops_1): Rename scop->region to scop->scop_info. + (scop_detection::nb_pbbs_in_loops): Same. + (find_scop_parameters): Same. + (try_generate_gimple_bb): Same. + (gather_bbs::before_dom_children): Same. + (gather_bbs::after_dom_children): Same. + (build_scops): Same. + * graphite-sese-to-poly.c (build_scop_scattering): Same. + (extract_affine_chrec): Same. + (extract_affine): Same. + (set_scop_parameter_dim): Same. + (build_loop_iteration_domains): Same. + (create_pw_aff_from_tree): Same. + (add_param_constraints): Same. + (build_scop_iteration_domain): Same. + (build_scop_drs): Same. + (analyze_drs_in_stmts): Same. + (insert_out_of_ssa_copy_on_edge): Same. + (rewrite_close_phi_out_of_ssa):Same. + (rewrite_reductions_out_of_ssa):Same. + (handle_scalar_deps_crossing_scop_limits):Same. + (rewrite_cross_bb_scalar_deps):Same. + (rewrite_cross_bb_scalar_deps_out_of_ssa):Same. + (build_poly_scop):Same. + (build_alias_set): Use pointer to dr_info. + * graphite.c (print_graphite_scop_statistics): + (graphite_transform_loops): + * sese.h (struct sese_l): Remove conversion constructor. + +2015-10-11 Jan Hubicka + + PR middle-end/67966 + * tree.c (verify_type): Verify that TYPE_MODE match + between TYPE_CANONICAL and type. + * expr.c (store_expr_with_bounds): Revert my previous change. + * expmed.c (store_bit_field_1): Revert prevoius change. + * gimple-expr.c (useless_type_conversion_p): Require TYPE_MODE + to match for all types. + +2015-10-21 Nathan Sidwell + + * omp-low.c (check_omp_nesting_restrictions): Check OpenACC loop + nesting. + +2015-10-21 Ilya Enkovich + + * doc/tm.texi: Regenerated. + * doc/tm.texi.in (TARGET_VECTORIZE_GET_MASK_MODE): New. + * stor-layout.c (layout_type): Use mode to get vector mask size. + * target.def (get_mask_mode): New. + * targhooks.c (default_get_mask_mode): New. + * targhooks.h (default_get_mask_mode): New. + * tree-vect-stmts.c (get_same_sized_vectype): Add special case + for boolean vector. + * tree.c (MAX_BOOL_CACHED_PREC): New. + (nonstandard_boolean_type_cache): New. + (build_nonstandard_boolean_type): New. + (make_vector_type): Vector mask has no canonical type. + (build_truth_vector_type): New. + (build_same_sized_truth_vector_type): New. + (truth_type_for): Support vector masks. + * tree.h (VECTOR_BOOLEAN_TYPE_P): New. + (build_truth_vector_type): New. + (build_same_sized_truth_vector_type): New. + (build_nonstandard_boolean_type): New. + * tree-cfg.c (verify_gimple_comparison) Require boolean + vector type for vector comparison. + (verify_gimple_assign_ternary): Likewise. + * optabs.c (expand_vec_cond_expr): Accept boolean vector as + condition operand. + * tree-vect-stmts.c (vectorizable_condition): Use boolean + vector type for vector comparison. + * tree-vect-generic.c (elem_op_func): Add new operand to hold + vector type. + (do_unop): Adjust to modified function type. + (do_binop): Likewise. + (do_plus_minus): Likewise. + (do_negate); Likewise. + (expand_vector_piecewise): Likewise. + (do_cond): Likewise. + (do_compare): Use comparison instead of condition. + (expand_vector_divmod): Use boolean vector type for comparison. + (expand_vector_operations_1): Skip scalar mask operations. + +2015-10-21 Ilya Enkovich + + * omp-low.c (simd_clone_create): Set in_other_partition + for created clones. + +2015-10-21 David Wohlferd + + * doc/extend.exp (Local Register Variables): Rewrite. + +2015-10-21 Richard Sandiford + + * match.pd: Add rules to simplify ccos, ccosh, hypot, copysign + and x*x in cases where the operands are sign ops. Extend these + rules to handle copysign as a sign op (including for cos, cosh + and pow, which already treated negate and abs as sign ops). + +2015-10-21 Uros Bizjak + + PR target/68018 + * config/i386/i386.c (ix86_compute_frame_layout): Realign the stack + for 64-bit MS_ABI targets also when default incoming stack boundary + is overriden. + +2015-10-21 Richard Biener + + * tree-ssa-sccvn.c (cond_stmts_equal_p): Compare two GIMPLE + cond stmts, enhanced and split out from ... + (vn_phi_eq): ... here. + +2015-10-21 Richard Biener + + PR middle-end/68031 + * fold-const.c: Include tree-ssa-operands.h and tree-into-ssa.h. + (tree_ssa_name_nonnegative_warnv_p): Fold into ... + (tree_single_nonnegative_warnv_p): ... here. For SSA names + make sure they are not registered for update. + +2015-10-21 Richard Biener + + PR tree-optimization/68026 + * tree-ssa-ccp.c (get_value_for_expr): Zero-extend mask for + unsigned VARYING values. + +2015-10-21 Maxim Ostapenko + + * asan.c (asan_emit_stack_protection): Don't pass local stack to + asan_stack_malloc_[n] anymore. Check if asan_stack_malloc_[n] returned + NULL and use local stack than. + (asan_finish_file): Insert __asan_version_mismatch_check_v[n] call + in addition to __asan_init. + * sanitizer.def (BUILT_IN_ASAN_INIT): Rename to __asan_init. + (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Add new builtin call. + * asan.h (asan_intercepted_p): Handle new string builtins. + * ubsan.c (ubsan_use_new_style_p): New function. + (ubsan_instrument_float_cast): If location is unknown, assign + input_location to loc. Propagate loc to ubsan_create_data if + ubsan_use_new_style_p returned true. + +2015-10-21 Jeff Law + + * Makefile.in (OBJS): Remove sched-vis.c + * sched-vis.c: Removed. Code moved into... + * print-rtl.c: Here. Include cfg.h, pretty-print.h and print-rtl.h. + * rtl.h: Remove prototypes for functions now living in print-rtl.c + * print-rtl.h Add prototypes for new functions in print-rtl.c. + * auto-inc-dec.c: Include print-rtl.h + * cfgrtl.c, combine.c, final.c haifa-sched.c: Likewise. + * ira.c, lra-constraints.c, lra.c, sel-sched-dump.c: Likewise. + + * varasm.c (handle_vtv_comdat_section): Mark 2nd parameter with + ATTRIBUTE_UNUSED. + +2015-10-21 Richard Biener + Naveen H.S + + * fold-const.c (fold_binary_loc) : Move (-A) * (-B) -> A * B + to match.pd. +* doc/implement-c.texi (Integers Implementation): Make GCC's promises +about signed left shift stronger and clarify the cases when they're +broken. + Move (a * (1 << b)) is (a << b) to match.pd. + Move convert (C1/X)*C2 into (C1*C2)/X to match.pd. + Move ~X & X, (X == 0) & X, and !X & X are zero to match.pd. + Move X & ~X , X & (X == 0), and X & !X are zero to match.pd. + + * match.pd (mult:c @0 (convert? (lshift integer_onep@1 @2))): + New simplifier. + (mult (rdiv:s REAL_CST@0 @1) REAL_CST@2): New simplifier. + (bit_and:c (convert? @0) (convert? (bit_not @0))): New simplifier. + (bit_ior (bit_and:s @0 (bit_not:s @1)) (bit_and:s (bit_not:s @0) @1)) + : New simplifier. + (mult:c (convert1? (negate @0)) (convert2? negate_expr_p@1)): + New simplifier. + (match (logical_inverted_value @0) (truth_not @0)) : New Predicate. + +2015-10-21 Gregor Richards + Szabolcs Nagy + Alan Modra + + * config/rs6000/secureplt.h (LINK_SECURE_PLT_DEFAULT_SPEC): Define. + * config/rs6000/sysv4.h (LINK_SECURE_PLT_SPEC): Define. + (LINK_SPEC): Add %(link_secure_plt). + (SUBTARGET_EXTRA_SPECS): Add "link_secure_plt". + * config/rs6000/linux64.h (LINK_SECURE_PLT_SPEC): Redefine. + +2015-10-20 Gregor Richards + Szabolcs Nagy + + * config/sh/linux.h (MUSL_DYNAMIC_LINKER): Define. + (MUSL_DYNAMIC_LINKER_E, MUSL_DYNAMIC_LINKER_FP): Define. + +2015-10-20 Kyrylo Tkachov + + * config/aarch64/aarch64.c (aarch64_mode_valid_for_sched_fusion_p): + New function. + (fusion_load_store): Use it. + * config/aarch64/aarch64-ldpstp.md: Add new peephole2s for + ldp and stp in VD modes. + * config/aarch64/aarch64-simd.md (load_pair, VD): New pattern. + (store_pair, VD): Likewise. + +2015-10-20 Vladimir Makarov + + PR rtl-optimization/67609 + * lra-splill.c (lra_final_code_change): Don't remove all + sub-registers. + +2015-10-20 Kyrylo Tkachov + + * simplify-rtx.c (simplify_binary_operation): If either operand was + a constant pool reference use them if all other simplifications failed. + +2015-10-20 Kyrylo Tkachov + + * config/aarch64/aarch64.md + (*aarch64_fcvt2_mult): New pattern. + * config/aarch64/aarch64-simd.md + (*aarch64_fcvt2_mult): Likewise. + * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle above patterns. + (aarch64_fpconst_pow_of_2): New function. + (aarch64_vec_fpconst_pow_of_2): Likewise. + * config/aarch64/aarch64-protos.h (aarch64_fpconst_pow_of_2): Declare + prototype. + (aarch64_vec_fpconst_pow_of_2): Likewise. + * config/aarch64/predicates.md (aarch64_fp_pow2): New predicate. + (aarch64_fp_vec_pow2): Likewise. + +2015-10-20 Uros Bizjak + + * config/alpha/alpha.h (HARD_REGNO_NREGS): Use CEIL macro. + (ALPHA_ARG_SIZE): Ditto. Remove unused NAMED argument. + * config/alpha/alpha.c (alpha_function_arg_advance): Update + ALPHA_ARG_SIZE usage. + (alpha_arg_partial_bytes): Ditto. + +2015-10-20 H.J. Lu + + PR target/66810 + * cgraphbuild.c (pass_build_cgraph_edges::execute): Skip local + error_mark_node decls. + +2015-10-20 H.J. Lu + + PR target/67963 + PR target/67985 + * common/config/i386/i386-common.c (ix86_handle_option): Remove + OPT_miamcu handling. + * config/i386/i386.c (PTA_NO_80387): New macro. + (processor_alias_table): Add PTA_NO_80387 to lakemont. + (ix86_option_override_internal): Update MASK_80387 from + PTA_NO_80387. Don't warn x87/MMX/SSE/AVX for -miamcu. Warn + SSE math only if 80387 is supported. Don't change + MASK_FLOAT_RETURNS. + (ix86_valid_target_attribute_tree): Enable FPMATH_387 only if + 80387 is supported. + * config/i386/i386.h (TARGET_FLOAT_RETURNS_IN_80387): True only + if TARGET_80387 is true and TARGET_IAMCU is false. + (TARGET_FLOAT_RETURNS_IN_80387_P): True only if TARGET_80387_P + is true and TARGET_IAMCU_P is false. + +2015-10-20 Richard Biener + + PR tree-optimization/68017 + * tree-tailcall.c (eliminate_tail_call): Remove stmts backwards. + +2015-10-20 Martin Liska + + * cgraphclones.c (cgraph_node::create_virtual_clone): + Verify cgraph_node.local.versionable instead of calling + tree_versionable_function_p. + * ipa-cp.c (determine_versionability): Save the information + to ipa_node_params summary. + (ipcp_versionable_function_p): Use it. + (ipcp_propagate_stage): Pass IPA_NODE_REF to a called function. + (ipcp_generate_summary): Do not compute cgraph_node + versionability. + * ipa-inline-analysis.c (inline_generate_summary): Compute + versionability for all cgraph nodes. + * ipa-prop.c (ipa_node_params_t::duplicate): Duplicate + ipa_node_params::versionability. + * ipa-prop.h (struct ipa_node_params): Declare it. + +2015-10-20 Ramana Radhakrishnan + + PR other/67868 + * varasm.c (assemble_variable): Move special vtv handling to.. + (handle_vtv_comdat_sections): .. here. New function. + (output_object_block): Handle vtv sections. + +2015-10-20 Szabolcs Nagy + + PR target/66912 + * varasm.c (default_binds_local_p_2): Turn on extern_protected_data. + +2015-10-20 Arkadiusz Drabczyk + + * doc/extend.texi: Update documentation WRT inline functions. + +2015-10-20 Alan Modra + + PR go/66870 + * config/rs6000/sysv4.h (TARGET_CAN_SPLIT_STACK_64BIT): Don't define. + * config/rs6000/linux64.h (TARGET_CAN_SPLIT_STACK): Define. + (TARGET_CAN_SPLIT_STACK_64BIT): Define. + +2015-10-19 Pierre-Marie de Rodat + + PR rtl-optimization/66790 + * df.h (DF_MIR): New macro. + (DF_LAST_PROBLEM_PLUS1): Update to be past DF_MIR + (DF_MIR_INFO_BB): New macro. + (DF_MIR_IN, DF_MIR_OUT): New macros. + (struct df_mir_bb_info): New. + (df_mir): New macro. + (df_mir_add_problem, df_mir_simulate_one_insn): New forward + declarations. + (df_mir_get_bb_info): New. + * df-problems.c (struct df_mir_problem_data): New. + (df_mir_free_bb_info, df_mir_alloc, df_mir_reset, + df_mir_bb_local_compute, df_mir_local_compute, df_mir_init, + df_mir_confluence_0, df_mir_confluence_n, + df_mir_transfer_function, df_mir_free, df_mir_top_dump, + df_mir_bottom_dump, df_mir_verify_solution_start, + df_mir_verify_solution_end): New. + (problem_MIR): New. + (df_mir_add_problem, df_mir_simulate_one_insn): New. + * timevar.def (TV_DF_MIR): New. + * ree.c: Include bitmap.h + (add_removable_extension): Add an INIT_REGS parameter. Use it + to skip zero-extensions that may get an uninitialized register. + (find_removable_extensions): Compute must-initialized registers + using the MIR dataflow problem. Update the call to + add_removable_extension. + (find_and_remove_re): Call df_mir_add_problem. + +2015-10-19 Segher Boessenkool + + * common/config/mn10300/mn10300-common.c + (mn10300_option_optimization_table) : + Use REORDER_BLOCKS_ALGORITHM_STC at -Os and up. + +2015-10-19 David Wohlferd + + * doc/extend.texi (Explicit Register Variables): Simplify and + avoid unnecessary and confusion abbreviations. Update cross + references. + doc/implement-c.tex: Update cross reference. + +2015-10-19 Jeff Law + + * tree-ssa-threadupdate.c (valid_jump_thread_path): Reject paths + that create irreducible loops unless the path elimiantes a multiway + branch. + +2015-10-19 Richard Biener + + PR tree-optimization/67975 + * tree-cfg.h (extract_true_false_controlled_edges): Declare. + * tree-cfg.c (extract_true_false_controlled_edges): Split out + core worker from ... + * tree-ssa-loop-im.c (extract_true_false_args_from_phi): ... here. + * tree-ssa-sccvn.c (vn_phi_compute_hash): Hash number of args + instead of block number for PHIs with two or one args. + (vn_phi_eq): Compare edge predicates of PHIs that are in different + blocks. + +2015-10-19 Richard Biener + + * gimple-fold.c (gimple_phi_nonnegative_warnv_p): New function. + (gimple_stmt_nonnegative_warnv_p): Use it. + * match.pd (CPROJ): New operator list. + (cproj (complex ...)): Move simplifications from ... + * builtins.c (fold_builtin_cproj): ... here. + +2015-10-19 H.J. Lu + + * config/i386/i386.c (ix86_expand_vector_move): Use + GET_MODE_BITSIZE for IA MCU psABI to get vector natural + alignment. + +2015-10-19 H.J. Lu + + * doc/invoke.texi: Replace @optindex with @opindex. + +2015-10-19 H.J. Lu + + PR target/67995 + * config/i386/i386.c (ix86_valid_target_attribute_tree): If + arch= is set, clear all bits in x_ix86_isa_flags, except for + ISA_64BIT, ABI_64, ABI_X32, and CODE16. + +2015-10-19 Joost VandeVondele + + PR middle-end/68002 + * common.opt (fkeep-static-functions): New option. + * doc/invoke.texi: Document it. + * cgraphunit.c (cgraph_node::finalize_function): Use it. + +2015-10-19 Kyrylo Tkachov + + * sched-int.h (struct autopref_multipass_data_): Remove offset + field. Add min_offset, max_offset, multi_mem_insn_p fields. + * haifa-sched.c (analyze_set_insn_for_autopref): New function. + (autopref_multipass_init): Use it. Handle PARALLEL sets. + (autopref_rank_data): New function. + (autopref_rank_for_schedule): Use it. + (autopref_multipass_dfa_lookahead_guard_1): Likewise. + +2015-10-18 Mikhail Maltsev + + PR other/65800 + * gengtype.c (dump_type): Handle TYPE_UNDEFINED correctly. + +2015-10-18 Iain Sandoe + + * config/darwin.h (TARGET_SYSTEM_ROOT): Remove this from here, + (HAVE_LD_SYSROOT): New. (SYSROOT_SPEC): New. + (LINK_SYSROOT_SPEC): Revise to remove the default for target sysroot. + (STANDARD_STARTFILE_PREFIX_1): New. + (STANDARD_STARTFILE_PREFIX_2): New. + +2015-10-18 Iain Sandoe + + * config/darwin-driver.c (darwin_default_min_version): Refactor code. + (darwin_driver_init): Note a version-min when provided on the c/l. + * config/darwin.h (%darwin_minversion): Remove. + * config/i386/darwin.h: Likewise. + * config/rs6000/darwin.h: Likewise. + * config/darwin.opt (mmacosx-version-min=): Use the configured default, + rather than an arbitrary constant. + +2015-10-18 Iain Sandoe + + * config/darwin-driver.c (darwin_driver_init): Handle '-arch' for + PPC, detect conflicts between -arch and multilib settings. Detect + and warn about conflicts between multiple -arch definitions. + +2015-10-18 Iain Sandoe + + * config/darwin-driver.c: Adjust includes to add diagnostic-core. + +2015-10-16 Trevor Saunders + + * lra-constraints.c (add_next_usage_insn): Change argument type + from rtx to rtx_insn *. + +2015-10-16 H.J. Lu + + * i386/x86-tune.def (X86_TUNE_ALWAYS_FANCY_MATH_387): Disable + for Lakemont. + +2015-10-16 Andrew MacLeod + + * config/tilepro/gen-mul-tables.cc: Adjust include files. + * config/tilegx/mul-tables.c: Regenerate. + * config/tilepro/mul-tables.c: Regenerate. + + * config/tilegx/tilegx-c.c: Adjust include files. + * config/tilegx/tilegx.c: Likewise. + * config/tilepro/tilepro-c.c: Likewise. + * config/tilepro/tilepro.c: Likewise. + * config/aarch64/aarch64-builtins.c: Likewise. + * config/aarch64/aarch64.c: Likewise. + * config/aarch64/cortex-a57-fma-steering.c: Likewise. + * config/alpha/alpha.c: Likewise. + * config/arc/arc.c: Likewise. + * config/arm/aarch-common.c: Likewise. + * config/arm/arm-builtins.c: Likewise. + * config/arm/arm-c.c: Likewise. + * config/arm/arm.c: Likewise. + * config/avr/avr-c.c: Likewise. + * config/avr/avr-devices.c: Likewise. + * config/avr/avr-log.c: Likewise. + * config/avr/avr.c: Likewise. + * config/bfin/bfin.c: Likewise. + * config/c6x/c6x.c: Likewise. + * config/cr16/cr16.c: Likewise. + * config/cris/cris.c: Likewise. + * config/darwin-c.c: Likewise. + * config/darwin-driver.c: Likewise. + * config/darwin.c: Likewise. + * config/default-c.c: Likewise. + * config/epiphany/epiphany.c: Likewise. + * config/epiphany/mode-switch-use.c: Likewise. + * config/epiphany/resolve-sw-modes.c: Likewise. + * config/fr30/fr30.c: Likewise. + * config/frv/frv.c: Likewise. + * config/ft32/ft32.c: Likewise. + * config/glibc-c.c: Likewise. + * config/h8300/h8300.c: Likewise. + * config/i386/host-cygwin.c: Likewise. + * config/i386/host-mingw32.c: Likewise. + * config/i386/i386-c.c: Likewise. + * config/i386/i386.c: Likewise. + * config/i386/msformat-c.c: Likewise. + * config/i386/winnt-cxx.c: Likewise. + * config/i386/winnt-stubs.c: Likewise. + * config/i386/winnt.c: Likewise. + * config/ia64/ia64-c.c: Likewise. + * config/ia64/ia64.c: Likewise. + * config/iq2000/iq2000.c: Likewise. + * config/lm32/lm32.c: Likewise. + * config/m32c/m32c-pragma.c: Likewise. + * config/m32c/m32c.c: Likewise. + * config/m32r/m32r.c: Likewise. + * config/mcore/mcore.c: Likewise. + * config/mep/mep-pragma.c: Likewise. + * config/mep/mep.c: Likewise. + * config/microblaze/microblaze-c.c: Likewise. + * config/microblaze/microblaze.c: Likewise. + * config/mips/mips-tables.opt + * config/mips/mips.c: Likewise. + * config/mmix/mmix.c: Likewise. + * config/mn10300/mn10300.c: Likewise. + * config/moxie/moxie.c: Likewise. + * config/msp430/msp430-c.c: Likewise. + * config/msp430/msp430.c: Likewise. + * config/nds32/nds32-cost.c: Likewise. + * config/nds32/nds32-fp-as-gp.c: Likewise. + * config/nds32/nds32-intrinsic.c: Likewise. + * config/nds32/nds32-isr.c: Likewise. + * config/nds32/nds32-md-auxiliary.c: Likewise. + * config/nds32/nds32-memory-manipulation.c: Likewise. + * config/nds32/nds32-pipelines-auxiliary.c: Likewise. + * config/nds32/nds32-predicates.c: Likewise. + * config/nds32/nds32.c: Likewise. + * config/nios2/nios2.c: Likewise. + * config/nvptx/mkoffload.c: Likewise. + * config/nvptx/nvptx.c: Likewise. + * config/pa/pa.c: Likewise. + * config/pdp11/pdp11.c: Likewise. + * config/rl78/rl78-c.c: Likewise. + * config/rl78/rl78.c: Likewise. + * config/rs6000/host-darwin.c: Likewise. + * config/rs6000/rs6000-c.c: Likewise. + * config/rs6000/rs6000-linux.c: Likewise. + * config/rs6000/rs6000.c: Likewise. + * config/rx/rx.c: Likewise. + * config/s390/s390-c.c: Likewise. + * config/s390/s390.c: Likewise. + * config/sh/sh-c.c: Likewise. + * config/sh/sh-mem.cc: Likewise. + * config/sh/sh.c: Likewise. + * config/sh/sh_optimize_sett_clrt.cc: Likewise. + * config/sh/sh_treg_combine.cc: Likewise. + * config/sol2-c.c: Likewise. + * config/sol2-cxx.c: Likewise. + * config/sol2-stubs.c: Likewise. + * config/sol2.c: Likewise. + * config/sparc/sparc-c.c: Likewise. + * config/sparc/sparc.c: Likewise. + * config/spu/spu-c.c: Likewise. + * config/spu/spu.c: Likewise. + * config/stormy16/stormy16.c: Likewise. + * config/v850/v850-c.c: Likewise. + * config/v850/v850.c: Likewise. + * config/vax/vax.c: Likewise. + * config/visium/visium.c: Likewise. + * config/vms/vms-c.c: Likewise. + * config/vms/vms.c: Likewise. + * config/vxworks.c: Likewise. + * config/winnt-c.c: Likewise. + * config/xtensa/xtensa.c: Likewise. + +2015-10-16 Christian Bruel + + PR target/67745 + * config/arm/arm.h (FUNCTION_BOUNDARY): Use FUNCTION_BOUNDARY_P. + (FUNCTION_BOUNDARY_P): New macro: + * config/arm/arm.c (TARGET_RELAYOUT_FUNCTION, arm_relayout_function): + New hook. + * doc/tm.texi.in (TARGET_RELAYOUT_FUNCTION): Document. + * doc/tm.texi (TARGET_RELAYOUT_FUNCTION): New hook. + * target.def (TARGET_RELAYOUT_FUNCTION): Likewise. + * function.c (allocate_struct_function): Call + relayout_function hook. + * passes.c (rest_of_decl_compilation): Likewise. + +2015-10-16 Christian Bruel + + PR target/67745 + * config/arm/arm.h (FUNCTION_BOUNDARY): Move optimize_size condition to: + * config/arm/arm.c (arm_option_override_internal): Call + arm_override_options_after_change_1. + (arm_override_options_after_change): New function. + (arm_override_options_after_change_1): Likewise. + (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define hook. + +2015-10-11 Jan Hubicka + + Revert: + * ipa-icf-gimple.c (func_checker::compare_operand): Compare only + empty constructors. + +2015-10-16 Eric Botcazou + + * tree.c (recompute_tree_invariant_for_addr_expr): Assert that the + argument is an ADDR_EXPR. + +2015-10-16 Richard Biener + + * gimple-fold.c (gimple_fold_builtin_memory_op): Use gimple_build + and get rid of force_gimple_operand_gsi. + (gimple_fold_builtin_memory_chk): Likewise. + (gimple_fold_builtin_stxcpy_chk): Likewise. + (rewrite_to_defined_overflow): Likewise. + (gimple_convert_to_ptrofftype): New function. + * gimple-fold.h (gimple_convert_to_ptrofftype): New overload, declare. + +2015-10-16 Richard Biener + + * tree-nested.h (build_addr): Adjust prototype. + * tree-nested.c (build_addr): Remove context argument and use + mark_addressable. + (get_static_chain): Adjust calls to build_addr. + (convert_nl_goto_reference): Likewise. + (convert_tramp_reference_op): Likewise. + (finalize_nesting_tree_1): Likewise. + * value-prof.c (gimple_ic): Likewise. + * gimple-low.c (lower_builtin_setjmp): Likewise. + * tree-parloops.c (take_address_of): Likewise. + (create_call_for_reduction_1): Likewise. + * tree-profile.c (gimple_gen_interval_profiler): Likewise. + (gimple_gen_ic_func_profiler): Likewise. + +2015-10-11 Jan Hubicka + + * ipa-icf-gimple.c (func_checker::compare_operand): Compare only + empty constructors. + +2015-10-16 Michael Collison + Andrew Pinski + + * match.pd ((x < y) && (x < z) -> x < min (y,z), + (x > y) and (x > z) -> x > max (y,z)) + +2015-10-15 Gregor Richards + Szabolcs Nagy + + * config/microblaze/linux.h (MUSL_DYNAMIC_LINKER): Define. + (DYNAMIC_LINKER): Renamed to ... + (GLIBC_DYNAMIC_LINKER): This. + (SUBTARGET_EXTRA_SPECS): Use GNU_USER_DYNAMIC_LINKER. + +2015-10-15 Marek Polacek + + * tree-ssa-reassoc.c (attempt_builtin_copysign): Call + gimple_call_builtin instead of is_gimple_call. + +2015-10-15 Richard Biener + + * tree-vect-stmts.c (vect_init_vector): Remove unused vars. + +2015-10-15 Richard Biener + + * tree-vectorizer.h (vect_get_new_ssa_name): Declare. + * tree-vect-data-refs.c (vect_get_new_ssa_name): New helper. + * tree-vect-loop.c (get_initial_def_for_induction): Drop + use of force_gimple_operand in favor of gimple_build. + Use vect_get_new_ssa_name. + * tree-vect-stmts.c (vect_init_vector): Use vect_get_new_ssa_name. + (vectorizable_mask_load_store): Likewise. + (vectorizable_call): Likewise. + (vectorizable_store): Likewise. + (vectorizable_load): Likewise. + (vect_get_vec_def_for_stmt_copy): Remove redundant stmt. + +2015-10-15 Richard Sandiford + + PR tree-optimization/67945 + * tree-pass.h (PROP_gimple_opt_math): New property flag. + * generic-match-head.c (canonicalize_math_p): New function. + * gimple-match-head.c: Include tree-pass.h. + (canonicalize_math_p): New function. + * match.pd: Group math built-in rules into simplifications + and canonicalizations. Guard the latter with canonicalize_math_p. + * tree-ssa-math-opts.c (pass_data_cse_sincos): Provide the + PROP_gimple_opt_math property. + +2015-10-15 Marek Polacek + + PR tree-optimization/67953 + * match.pd (X - (X / Y) * Y): Don't change signedness of @0. + +2015-10-15 Jiong Wang + + * config.gcc: Recognize "." in architecture base name for AArch64. + +2015-10-14 Uros Bizjak + + * config/mips/mips.h (MIPS_STACK_ALIGN): Implement using + ROUND_UP macro. + * config/mips/mips.c (mips_setup_incoming_varargs): Use + ROUND_DOWN to calculate off. + (mips_gimplify_va_arg_expr): Use ROUND_UP to calculate rsize. + (mips_emit_probe_stack_range): Use ROUND_DOWN to calculate + rounded_size. + +2015-10-14 Eric Botcazou + + * gimplify.c (gimplify_addr_expr) : New case. + +2015-10-14 Peter Bergner + Torvald Riegel + + PR target/67281 + * config/rs6000/htm.md (UNSPEC_HTM_FENCE): New. + (tabort, tabortc, tabortci, tbegin, tcheck, tend, + trechkpt, treclaim, tsr, ttest): Rename define_insns from this... + (*tabort, *tabortc, *tabortci, *tbegin, *tcheck, *tend, + *trechkpt, *treclaim, *tsr, *ttest): ...to this. Add memory barrier. + (tabort, tabortc, tabortci, tbegin, tcheck, tend, + trechkpt, treclaim, tsr, ttest): New define_expands. + * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define + __TM_FENCE__ for htm. + * doc/extend.texi: Update documentation for htm builtins. + +2015-10-14 Uros Bizjak + + PR target/67967 + * config/i386/i386.c (ix86_emit_save_reg_using_mov): Do not add + REG_CFA_EXPRESSION to aligned SSE stores. + +2015-10-14 Jeff Law + + * tree-ssa-threadupdate.c (thread_through_all_blocks): Bump + num_threaded_edges for successful FSM threads too. + +2015-10-14 Richard Biener + + * tree-vectorizer.h (vect_is_simple_use): Remove unused parameters. + (vect_is_simple_use_1): Likewise. Make overload of vect_is_simple_use. + (vect_get_vec_def_for_operand): Remove unused parameter. + * tree-vect-loop.c (get_initial_def_for_induction): Adjust. + (vect_create_epilog_for_reduction): Likewise. + (vectorizable_reduction): Likewise. + (vectorizable_live_operation): Likewise. + * tree-vect-patterns.c (type_conversion_p): Likewise. + (vect_recog_vector_vector_shift_pattern): Likewise. + (check_bool_pattern): Likewise. + * tree-vect-slp.c (vect_get_and_check_slp_defs): Likewise. + (vect_analyze_slp_cost_1): Likewise. + * tree-vect-stmts.c (process_use): Likewise. + (vect_get_vec_def_for_operand): Do not handle reductions. + (vect_get_vec_defs): Adjust. + (vectorizable_mask_load_store): Likewise. + (vectorizable_call): Likewise. + (vectorizable_simd_clone_call): Likewise. + (vect_get_loop_based_defs): Likewise. + (vectorizable_conversion): Likewise. + (vectorizable_assignment): Likewise. + (vectorizable_shift): Likewise. + (vectorizable_operation): Likewise. + (vectorizable_store): Likewise. + (vectorizable_load): Likewise. + (vect_is_simple_cond): Likewise. + (vectorizable_condition): Likewise. + (vect_is_simple_use): Remove unused parameters. + (vect_is_simple_use_1): Adjust and rename. + +2015-10-14 Richard Biener + + PR tree-optimization/67915 + * match.pd: Handle comparisons of addresses of STRING_CSTs. + * gimplify.c (gimplify_cond_expr): Fold the GIMPLE conds we build. + * tree-cfgcleanup.c (cleanup_control_expr_graph): Remove GENERIC + stmt folding in favor of GIMPLE one. + +2015-10-14 Marek Polacek + + PR tree-optimization/67815 + * tree-ssa-reassoc.c (attempt_builtin_copysign): New function. + (reassociate_bb): Call it. + +2015-10-14 Richard Biener + + * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): + Reset info at start. + (vect_analyze_group_access_1): Add debug print. + * tree-vect-loop.c (vect_get_single_scalar_iteration_cost): Rename ... + (vect_compute_single_scalar_iteration_cost): ... to this. + (vect_analyze_loop_2): Adjust. + * tree-vect-slp.c (struct _slp_oprnd_info): Move from ... + * tree-vectorizer.h: ... here. + (add_stmt_info_to_vec): Remove. + * tree-vect-stmts.c (record_stmt_cost): Inline add_stmt_info_to_vec. + +2015-10-14 Dominik Vogt + + * targhooks.c (default_target_option_pragma_parse): Do not warn if + called on behalf of "#pragma GCC pop_options". + +2015-10-14 Tom de Vries + + * cfganal.c (verify_no_unreachable_blocks): New function. + (inverted_post_order_compute) [ENABLE_CHECKING]: Call + verify_no_unreachable_blocks. + cfganal.h (verify_no_unreachable_blocks): Declare. + +2015-10-13 Mikhail Maltsev + + * common.opt: Add flag_checking. + * system.h (CHECKING_P): Define. + +2015-10-13 Jakub Jelinek + Aldy Hernandez + Ilya Verbin + + * builtin-types.def (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR, + BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR, + BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR, + BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR, + BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR, + BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR, + BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT, + BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG, + BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_ULL_ULL_ULL, + BT_FN_VOID_LONG_VAR, BT_FN_VOID_ULL_VAR): New. + (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR, + BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR, + BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR): Remove. + * cgraph.h (enum cgraph_simd_clone_arg_type): Add + SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP, + SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP and + SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP. + (struct cgraph_simd_clone_arg): Adjust comment. + * coretypes.h (struct gomp_ordered): New forward decl. + * gimple.c (gimple_build_omp_critical): Add CLAUSES argument, + set critical clauses to it. + (gimple_build_omp_ordered): Return gomp_ordered * instead of + gimple *. Add CLAUSES argument, set ordered clauses to it. + (gimple_copy): Unshare clauses on GIMPLE_OMP_CRITICAL and + GIMPLE_OMP_ORDERED. + * gimple.def (GIMPLE_OMP_ORDERED): Change from GSS_OMP to + GSS_OMP_SINGLE_LAYOUT, move it after GIMPLE_OMP_TEAMS. + * gimple.h (enum gf_mask): Add GF_OMP_TASK_TASKLOOP. Add another bit + to GF_OMP_FOR_KIND_MASK mask. Add GF_OMP_FOR_KIND_TASKLOOP, renumber + GF_OMP_FOR_KIND_CILKFOR and GF_OMP_FOR_KIND_OACC_LOOP. Adjust + GF_OMP_FOR_SIMD, GF_OMP_FOR_COMBINED and GF_OMP_FOR_COMBINED_INTO. + Add another bit to GF_OMP_TARGET_KIND_MASK mask. Add + GF_OMP_TARGET_KIND_ENTER_DATA and GF_OMP_TARGET_KIND_EXIT_DATA, + renumber + GF_OMP_TARGET_KIND_OACC_{PARALLEL,KERNELS,DATA,UPDATE,ENTER_EXIT_DATA}. + (gomp_critical): Add clauses field. + (gomp_ordered): New struct. + (is_a_helper ::test): New inline. + (gimple_build_omp_critical): Add CLAUSES argument. + (gimple_build_omp_ordered): Likewise. Return gomp_ordered * + instead of gimple *. + (gimple_omp_critical_clauses, gimple_omp_critical_clauses_ptr, + gimple_omp_critical_set_clauses, gimple_omp_ordered_clauses, + gimple_omp_ordered_clauses_ptr, gimple_omp_ordered_set_clauses, + gimple_omp_task_taskloop_p, gimple_omp_task_set_taskloop_p): New + inline functions. + * gimple-pretty-print.c (dump_gimple_omp_for): Handle taskloop. + (dump_gimple_omp_target): Handle enter data and exit data. + (dump_gimple_omp_block): Don't handle GIMPLE_OMP_ORDERED here. + (dump_gimple_omp_critical): Print clauses. + (dump_gimple_omp_ordered): New function. + (dump_gimple_omp_task): Handle taskloop. + (pp_gimple_stmt_1): Use dump_gimple_omp_ordered for + GIMPLE_OMP_ORDERED. + * gimple-walk.c (walk_gimple_op): Walk clauses on + GIMPLE_OMP_CRITICAL and GIMPLE_OMP_ORDERED. + * gimplify.c (enum gimplify_omp_var_data): Add GOVD_MAP_0LEN_ARRAY. + (enum omp_region_type): Add ORT_COMBINED_TARGET and ORT_NONE. + (struct gimplify_omp_ctx): Add loop_iter_var, + target_map_scalars_firstprivate, target_map_pointers_as_0len_arrays + and target_firstprivatize_array_bases fields. + (delete_omp_context): Release loop_iter_var. + (gimplify_bind_expr): Handle ORT_NONE. + (maybe_fold_stmt): Adjust check for ORT_TARGET for the addition of + ORT_COMBINED_TARGET. + (is_gimple_stmt): Return true for OMP_TASKLOOP, OMP_TEAMS and + OMP_TARGET{,_DATA,_UPDATE,_ENTER_DATA,_EXIT_DATA}. + (omp_firstprivatize_variable): Handle ORT_NONE. Adjust check for + ORT_TARGET for the addition of ORT_COMBINED_TARGET. Handle + ctx->target_map_scalars_firstprivate. + (omp_add_variable): Handle ORT_NONE. Allow map clause together with + data sharing clauses. For data sharing clause with VLA decl + on omp target/target data don't add firstprivate for the pointer. + Call omp_notice_variable on TYPE_SIZE_UNIT only if it is a DECL_P. + (omp_notice_threadprivate_variable): Adjust check for ORT_TARGET for + the addition of ORT_COMBINED_TARGET. + (omp_notice_variable): Handle ORT_NONE. Adjust check for ORT_TARGET + for the addition of ORT_COMBINED_TARGET. Handle implicit mapping of + pointers as zero length array sections and + ctx->target_map_scalars_firstprivate mapping of scalars as firstprivate + data sharing. + (omp_check_private): Handle omp_member_access_dummy_var vars. + (find_decl_expr): New function. + (gimplify_scan_omp_clauses): Add CODE argument. For OMP_CLAUSE_IF + complain if OMP_CLAUSE_IF_MODIFIER is present and does not match code. + Handle OMP_CLAUSE_GANG separately. Handle + OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD,SIMDLEN} + clauses. Diagnose linear clause on combined + distribute {, parallel for} simd construct, unless it is the loop + iterator. Handle struct element GOMP_MAP_FIRSTPRIVATE_POINTER. + Handle map clauses with COMPONENT_REF. Initialize + ctx->target_map_scalars_firstprivate, + ctx->target_firstprivatize_array_bases and + ctx->target_map_pointers_as_0len_arrays. Add firstprivate for + linear clause even to target region if combined. Remove + map clauses with GOMP_MAP_FIRSTPRIVATE_POINTER kind from + OMP_TARGET_{,ENTER_,EXIT_}DATA. For GOMP_MAP_FIRSTPRIVATE_POINTER + map kind with non-INTEGER_CST OMP_CLAUSE_SIZE firstprivatize the bias. + Handle OMP_CLAUSE_DEPEND_{SINK,SOURCE}. Handle + OMP_CLAUSE_{{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}. + For linear clause on worksharing loop combined with parallel add + shared clause on the parallel. Handle OMP_CLAUSE_REDUCTION + with MEM_REF OMP_CLAUSE_DECL. Set DECL_NAME on + omp_member_access_dummy_var vars. Add lastprivate clause to outer + taskloop if needed. + (gimplify_adjust_omp_clauses_1): Handle GOVD_MAP_0LEN_ARRAY. + If gimplify_omp_ctxp->target_firstprivatize_array_bases, use + GOMP_MAP_FIRSTPRIVATE_POINTER map kind instead of + GOMP_MAP_POINTER. + (gimplify_adjust_omp_clauses): Add CODE argument. Handle removal + of GOMP_MAP_FIRSTPRIVATE_POINTER struct elements for struct not seen + in target body. Handle removal of struct mapping if struct is not + seen in target body. Remove GOMP_MAP_STRUCT map clause on + OMP_TARGET_EXIT_DATA. Adjust check for ORT_TARGET for the + addition of ORT_COMBINED_TARGET. Use GOMP_MAP_FIRSTPRIVATE_POINTER + instead of GOMP_MAP_POINTER if ctx->target_firstprivatize_array_bases + for VLAs. Set OMP_CLAUSE_MAP_PRIVATE if both data sharing and map + clause appear together. Handle + OMP_CLAUSE_{{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}. Don't remove map + clause if it has map-type-modifier always. Handle + OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD,SIMDLEN} + clauses. + (gimplify_oacc_cache, gimplify_omp_parallel, gimplify_omp_task): + Adjust gimplify_scan_omp_clauses and gimplify_adjust_omp_clauses + callers. + (gimplify_omp_for): Likewise. Handle OMP_TASKLOOP. Initialize + loop_iter_var. Use OMP_FOR_ORIG_DECLS. Fix handling of lastprivate + iterators in doacross loops. + (gimplify_omp_workshare): Adjust gimplify_scan_omp_clauses and + gimplify_adjust_omp_clauses callers. Use ORT_COMBINED_TARGET + for OMP_TARGET_COMBINED. Adjust check for ORT_TARGET + for the addition of ORT_COMBINED_TARGET. + (gimplify_omp_target_update): Adjust gimplify_scan_omp_clauses and + gimplify_adjust_omp_clauses callers. Handle OMP_TARGET_ENTER_DATA + and OMP_TARGET_EXIT_DATA. + (gimplify_omp_ordered): New function. + (gimplify_expr): Handle OMP_TASKLOOP, OMP_TARGET_ENTER_DATA and + OMP_TARGET_EXIT_DATA. Use gimplify_omp_ordered for OMP_ORDERED. + Gimplify clauses on OMP_CRITICAL. + * internal-fn.c (expand_GOMP_SIMD_ORDERED_START, + expand_GOMP_SIMD_ORDERED_END): New functions. + * internal-fn.def (GOMP_SIMD_ORDERED_START, + GOMP_SIMD_ORDERED_END): New internal functions. + * omp-builtins.def (BUILT_IN_GOMP_LOOP_DOACROSS_STATIC_START, + BUILT_IN_GOMP_LOOP_DOACROSS_DYNAMIC_START, + BUILT_IN_GOMP_LOOP_DOACROSS_GUIDED_START, + BUILT_IN_GOMP_LOOP_DOACROSS_RUNTIME_START, + BUILT_IN_GOMP_LOOP_ULL_DOACROSS_STATIC_START, + BUILT_IN_GOMP_LOOP_ULL_DOACROSS_DYNAMIC_START, + BUILT_IN_GOMP_LOOP_ULL_DOACROSS_GUIDED_START, + BUILT_IN_GOMP_LOOP_ULL_DOACROSS_RUNTIME_START, + BUILT_IN_GOMP_DOACROSS_POST, BUILT_IN_GOMP_DOACROSS_WAIT, + BUILT_IN_GOMP_DOACROSS_ULL_POST, BUILT_IN_GOMP_DOACROSS_ULL_WAIT, + BUILT_IN_GOMP_TARGET_ENTER_EXIT_DATA, BUILT_IN_GOMP_TASKLOOP, + BUILT_IN_GOMP_TASKLOOP_ULL): New built-ins. + (BUILT_IN_GOMP_TASK): Add INT argument to the end. + (BUILT_IN_GOMP_TARGET): Rename from GOMP_target to GOMP_target_41, + adjust type. + (BUILT_IN_GOMP_TARGET_DATA): Rename from GOMP_target_data to + GOMP_target_data_41, adjust type. + (BUILT_IN_GOMP_TARGET_UPDATE): Rename from GOMP_target_update to + GOMP_target_update_41, adjust type. + * omp-low.c (struct omp_region): Adjust comments, add ord_stmt + field. + (struct omp_for_data): Add ordered and simd_schedule fields. + (omp_member_access_dummy_var, unshare_and_remap_1, + unshare_and_remap, is_taskloop_ctx): New functions. + (is_taskreg_ctx): Use is_parallel_ctx and is_task_ctx. + (extract_omp_for_data): Handle taskloops and doacross loops + and simd schedule modifier. + (omp_adjust_chunk_size): New function. + (get_ws_args_for): Use it. + (lookup_sfield): Change first argument to splay_tree_key, + add overload with first argument tree. + (maybe_lookup_field): Likewise. + (use_pointer_for_field): Handle omp_member_access_dummy_var. + (omp_copy_decl_2): If var is TREE_ADDRESSABLE listed in + task_shared_vars, clear TREE_ADDRESSABLE on the copy. + (build_outer_var_ref): Add LASTPRIVATE argument, handle + taskloops and omp_member_access_dummy_var vars. + (build_sender_ref): Change first argument to splay_tree_key, + add overload with first argument tree. + (install_var_field): For mask & 8 use &DECL_UID as key instead + of the tree itself. + (fixup_child_record_type): Const qualify *.omp_data_i. + (scan_sharing_clauses): Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE, + C/C++ array reductions, OMP_CLAUSE_{IS,USE}_DEVICE_PTR clauses, + OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,SIMDLEN,THREADS,SIMD} and + OMP_CLAUSE_{NOGROUP,DEFAULTMAP} clauses, OMP_CLAUSE__LOOPTEMP_ clause + on taskloop, GOMP_MAP_FIRSTPRIVATE_POINTER, OMP_CLAUSE_MAP_PRIVATE. + (create_omp_child_function): Set TREE_READONLY on .omp_data_i. + (find_combined_for): Allow searching for different GIMPLE_OMP_FOR + kinds. + (add_taskreg_looptemp_clauses): New function. + (scan_omp_parallel): Use it. + (scan_omp_task): Likewise. + (finish_taskreg_scan): Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE. + For taskloop, move fields for the first two _LOOPTEMP_ clauses first. + (check_omp_nesting_restrictions): Handle GF_OMP_TARGET_KIND_ENTER_DATA + and GF_OMP_TARGET_KIND_EXIT_DATA. Formatting fixes. Allow the + sandwiched taskloop constructs. Type check + OMP_CLAUSE_DEPEND_{KIND,SOURCE}. Allow ordered simd inside of simd + region. Diagnose depend(source) or depend(sink:...) on + target constructs or task/taskloop. + (handle_simd_reference): Use get_name. + (lower_rec_input_clauses): Likewise. Ignore all + OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE clauses on taskloop construct. + Allow _LOOPTEMP_ clause on GOMP_TASK. Unshare new_var + before passing it to omp_clause_{default,copy}_ctor. Handle + OMP_CLAUSE_REDUCTION with MEM_REF OMP_CLAUSE_DECL. Set + lastprivate_firstprivate flag for linear that needs copyin and + copyout. Use BUILT_IN_ALLOCA_WITH_ALIGN instead of BUILT_IN_ALLOCA. + (lower_lastprivate_clauses): For OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE + on taskloop lookup decl in outer context. Pass true to + build_outer_var_ref lastprivate argument. Handle + OMP_CLAUSE_LASTPRIVATE_TASKLOOP_IV lastprivate if the decl is global + outside of outer taskloop for. + (lower_reduction_clauses): Handle OMP_CLAUSE_REDUCTION with MEM_REF + OMP_CLAUSE_DECL. + (lower_send_clauses): Ignore first two _LOOPTEMP_ clauses in taskloop + GOMP_TASK. Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE. Handle + omp_member_access_dummy_var vars. Handle OMP_CLAUSE_REDUCTION + with MEM_REF OMP_CLAUSE_DECL. Use new lookup_sfield overload. + (lower_send_shared_vars): Ignore fields with NULL or FIELD_DECL + abstract origin. Handle omp_member_access_dummy_var vars. + (expand_parallel_call): Use expand_omp_build_assign. + (expand_task_call): Handle taskloop construct expansion. Add + REGION argument. Use GOMP_TASK_* defines instead of hardcoded + integers. Add priority argument to GOMP_task* calls. Or in + GOMP_TASK_FLAG_PRIORITY into flags if priority is present for + GOMP_task call. + (expand_omp_build_assign): Add prototype. Add AFTER + argument, if true emit statements after *GSI_P and continue linking. + (expand_omp_taskreg): Adjust expand_task_call caller. + (expand_omp_for_init_counts): Rename zero_iter_bb argument to + zero_iter1_bb and first_zero_iter to first_zero_iter1, add + zero_iter2_bb and first_zero_iter2 arguments, handle computation + of counts even for ordered loops. + (expand_omp_for_init_vars): Handle GOMP_TASK inner_stmt. + (expand_omp_ordered_source, expand_omp_ordered_sink, + expand_omp_ordered_source_sink, expand_omp_for_ordered_loops): New + functions. + (expand_omp_for_generic): Use omp_adjust_chunk_size. Handle linear + clauses on worksharing loop. Handle DOACROSS loop expansion. + (expand_omp_for_static_nochunk): Handle linear clauses on + worksharing loop. Adjust expand_omp_for_init_counts + callers. + (expand_omp_for_static_chunk): Likewise. Use omp_adjust_chunk_size. + (expand_omp_simd): Handle addressable fd->loop.v. Adjust + expand_omp_for_init_counts callers. + (expand_omp_taskloop_for_outer, expand_omp_taskloop_for_inner): New + functions. + (expand_omp_for): Call expand_omp_taskloop_for_* for taskloop. + Handle doacross loops. + (expand_omp_target): Handle GF_OMP_TARGET_KIND_ENTER_DATA and + GF_OMP_TARGET_KIND_EXIT_DATA. Pass flags and depend arguments to + GOMP_target_{41,update_41,enter_exit_data} libcalls. + (expand_omp): Don't expand ordered depend constructs here, record + ord_stmt instead for later expand_omp_for_generic. + (build_omp_regions_1): Handle GF_OMP_TARGET_KIND_ENTER_DATA and + GF_OMP_TARGET_KIND_EXIT_DATA. Treat GIMPLE_OMP_ORDERED with depend + clause as stand-alone directive. + (lower_omp_ordered_clauses): New function. + (lower_omp_ordered): Handle OMP_CLAUSE_SIMD, for OMP_CLAUSE_DEPEND + don't lower anything. + (lower_omp_for_lastprivate): Use last _looptemp_ clause + on taskloop for comparison. + (lower_omp_for): Handle taskloop constructs. Adjust OMP_CLAUSE_DECL + and OMP_CLAUSE_LINEAR_STEP so that expand_omp_for_* can use it during + expansion for linear adjustments. + (create_task_copyfn): Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE. + (lower_depend_clauses): Assert not seeing sink/source depend kinds. + Set TREE_ADDRESSABLE on array. Change first argument from gimple * + to tree * pointing to the stmt's clauses. + (lower_omp_taskreg): Adjust lower_depend_clauses caller. + (lower_omp_target): Handle GF_OMP_TARGET_KIND_ENTER_DATA + and GF_OMP_TARGET_KIND_EXIT_DATA, depend clauses, + GOMP_MAP_{RELEASE,ALWAYS_{TO,FROM,TOFROM},FIRSTPRIVATE_POINTER,STRUCT} + map kinds, OMP_CLAUSE_{FIRSTPRIVATE,PRIVATE,{IS,USE}_DEVICE_PTR + clauses. Always use short kind and 8-bit align shift. + (lower_omp_regimplify_p): Use IS_TYPE_OR_DECL_P macro. + (struct lower_omp_regimplify_operands_data): New type. + (lower_omp_regimplify_operands_p, lower_omp_regimplify_operands): + New functions. + (lower_omp_1): Use lower_omp_regimplify_operands instead of + gimple_regimplify_operands. + (make_gimple_omp_edges): Handle GF_OMP_TARGET_KIND_ENTER_DATA and + GF_OMP_TARGET_KIND_EXIT_DATA. Treat GIMPLE_OMP_ORDERED with depend + clause as stand-alone directive. + (simd_clone_clauses_extract): Honor OMP_CLAUSE_LINEAR_KIND. + (simd_clone_mangle): Mangle the various linear kinds + per the new ABI. + (simd_clone_adjust_argument_types): Handle + SIMD_CLONE_ARG_TYPE_LINEAR_*_CONSTANT_STEP. + (simd_clone_init_simd_arrays): Don't do anything for uval. + (simd_clone_adjust): Handle + SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP like + SIMD_CLONE_ARG_TYPE_LINEAR_CONSTANT_STEP. + Handle SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP. + * omp-low.h (omp_member_access_dummy_var): New prototype. + * passes.def (pass_simduid_cleanup): Schedule another copy of the + pass after all optimizations. + * tree.c (omp_clause_code_name): Add entries for + OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT} + and OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD}. + (omp_clause_num_ops): Likewise. Bump number of OMP_CLAUSE_REDUCTION + arguments to 5 and for OMP_CLAUSE_ORDERED to 1. + (walk_tree_1): Adjust for OMP_CLAUSE_ORDERED having 1 argument and + OMP_CLAUSE_REDUCTION 5 arguments. Handle + OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT} + and OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD} + clauses. + * tree-core.h (enum omp_clause_linear_kind): New. + (struct tree_omp_clause): Change type of map_kind + from unsigned char to unsigned int. Add subcode.if_modifier + and subcode.linear_kind fields. + (enum omp_clause_code): Add + OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT} + and OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD}. + (OMP_CLAUSE_REDUCTION): Document + OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER. + (enum omp_clause_depend_kind): Add OMP_CLAUSE_DEPEND_{SOURCE,SINK}. + * tree.def (OMP_FOR): Add OMP_FOR_ORIG_DECLS operand. + (OMP_CRITICAL): Move before OMP_SINGLE. Add OMP_CRITICAL_CLAUSES + operand. + (OMP_ORDERED): Move before OMP_SINGLE. Add OMP_ORDERED_CLAUSES + operand. + (OMP_TASKLOOP, OMP_TARGET_ENTER_DATA, OMP_TARGET_EXIT_DATA): New tree + codes. + * tree.h (OMP_BODY): Replace OMP_CRITICAL with OMP_TASKGROUP. + (OMP_CLAUSE_SET_MAP_KIND): Cast to unsigned int rather than unsigned + char. + (OMP_CRITICAL_NAME): Adjust to be 3rd operand instead of 2nd. + (OMP_CLAUSE_NUM_TASKS_EXPR): Formatting fix. + (OMP_STANDALONE_CLAUSES): Adjust to cover OMP_TARGET_{ENTER,EXIT}_DATA. + (OMP_CLAUSE_DEPEND_SINK_NEGATIVE, OMP_TARGET_COMBINED, + OMP_CLAUSE_MAP_PRIVATE, OMP_FOR_ORIG_DECLS, OMP_CLAUSE_IF_MODIFIER, + OMP_CLAUSE_MAP_MAYBE_ZERO_LENGTH_ARRAY_SECTION, OMP_CRITICAL_CLAUSES, + OMP_CLAUSE_PRIVATE_TASKLOOP_IV, OMP_CLAUSE_LASTPRIVATE_TASKLOOP_IV, + OMP_CLAUSE_HINT_EXPR, OMP_CLAUSE_SCHEDULE_SIMD, + OMP_CLAUSE_LINEAR_KIND, OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER, + OMP_CLAUSE_SHARED_FIRSTPRIVATE, OMP_ORDERED_CLAUSES, + OMP_TARGET_ENTER_DATA_CLAUSES, OMP_TARGET_EXIT_DATA_CLAUSES, + OMP_CLAUSE_NUM_TASKS_EXPR, OMP_CLAUSE_GRAINSIZE_EXPR, + OMP_CLAUSE_PRIORITY_EXPR, OMP_CLAUSE_ORDERED_EXPR): Define. + * tree-inline.c (remap_gimple_stmt): Handle clauses on + GIMPLE_OMP_ORDERED and GIMPLE_OMP_CRITICAL. For + IFN_GOMP_SIMD_ORDERED_{START,END} set has_simduid_loops. + * tree-nested.c (convert_nonlocal_omp_clauses): Handle + OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,SIMDLEN,PRIORITY,SIMD} + and OMP_CLAUSE_{GRAINSIZE,NUM_TASKS,HINT,NOGROUP,THREADS,DEFAULTMAP} + clauses. Handle OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER. + (convert_local_omp_clauses): Likewise. + * tree-pretty-print.c (dump_omp_clause): Handle + OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,SIMDLEN,PRIORITY,SIMD} + and OMP_CLAUSE_{GRAINSIZE,NUM_TASKS,HINT,NOGROUP,THREADS,DEFAULTMAP} + clauses. Handle OMP_CLAUSE_IF_MODIFIER, OMP_CLAUSE_ORDERED_EXPR, + OMP_CLAUSE_SCHEDULE_SIMD, OMP_CLAUSE_LINEAR_KIND, + OMP_CLAUSE_DEPEND_{SOURCE,SINK}. Use "delete" for + GOMP_MAP_FORCE_DEALLOC. Handle + GOMP_MAP_{ALWAYS_{TO,FROM,TOFROM},RELEASE,FIRSTPRIVATE_POINTER,STRUCT}. + (dump_generic_node): Handle OMP_TASKLOOP, OMP_TARGET_{ENTER,EXIT}_DATA + and clauses on OMP_ORDERED and OMP_CRITICAL. + * tree-vectorizer.c (adjust_simduid_builtins): Adjust comment. + Remove IFN_GOMP_SIMD_ORDERED_{START,END}. + (vectorize_loops): Adjust comments. + (pass_simduid_cleanup::execute): Likewise. + * tree-vect-stmts.c (vectorizable_simd_clone_call): Handle + SIMD_CLONE_ARG_TYPE_LINEAR_{REF,VAL,UVAL}_CONSTANT_STEP. + * wide-int.h (wi::gcd): New. + +2015-10-13 Uros Bizjak + + * config/i386/i386.c (classify_argument): Use CEIL where applicable. + (ix86_function_arg_advance): Ditto. + (ix86_function_arg): Ditto. + (ix86_gimplify_va_arg): Ditto. + (ix86_class_max_nregs): Ditto. + (inline_memory_move_cost): Ditto. + (ix86_set_reg_reg_cost): Ditto. + * config/i386/i386.h (HARD_REGNO_NREGS): Ditto. + +2015-10-13 Alexandre Oliva + + PR middle-end/67912 + * expmed.c (store_bit_field_1): Adjust mode of BLKmode inputs. + +2015-10-13 Uros Bizjak + + * config/sparc/sparc.h (SPARC_STACK_ALIGN): Implement using + ROUND_UP macro and UNITS_PER_WORD * 2. + * config/sparc/sparc.c (sparc_compute_frame_size): + Use ROUND_UP and ROUND_DOWN macros where applicable. + (function_arg_record_value, function_arg_record_value_1) + (function_arg_record_value_1): Ditto. + (emit_save_or_restore_regs): Use ROUND_DOWN to preserve offset + alignment to double-word. + (sparc_gimplify_va_arg): Use ROUND_UP to calculate rsize. + (sparc_emit_probe_stack_range): Use ROUND_DOWN to calculate + rounded_size. + +2015-10-13 Nikolai Bozhenov + + * rtl.h (print_insn): Fix prototype. + +2015-10-13 Tom de Vries + + * tree-parloops.c (reduction_phi): Handle cases that gimple_uid is 0 or + -1. Add assert that returned entry matches phi argument. + (parallelize_loops): Move calls to init_stmt_vec_info_vec and + free_stmt_vec_info_vec ... + (gather_scalar_reductions): ... here. Initialize gimple_uids of phis + with -1. + +2014-10-13 Yuri Rumyantsev + + PR tree-optimization/67909, 67947 + * tree-ssa-loop-unswitch.c (find_loop_guard): Add check that GUARD_EDGE + really skip the inner loop. + +2015-10-13 Jeff Law + + * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths): + Allow single block jump threading paths. + +2015-10-13 Tom de Vries + + PR tree-optimization/67476 + * doc/invoke.texi (@item parloops-schedule): New item. + * params.def (PARAM_PARLOOPS_SCHEDULE): New DEFPARAMENUM5. + * tree-parloops.c: Include params-enum.h. + (create_parallel_loop): Handle PARAM_PARLOOPS_SCHEDULE. + +2015-10-13 Tom de Vries + + * Makefile.in (PARAMS_H, PLUGIN_HEADERS): Add params-enum.h. + * params-enum.h: New file. + * opts.c (handle_param): Handle case that param arg is a string. + * params-list.h: Handle DEFPARAMENUM5 in params.def. + * params.c (find_param): New function, factored out of ... + (set_param_value): ... here. + (param_string_value_p): New function. + * params.h (struct param_info): Add value_names field. + (find_param, param_string_value_p): Declare. + +2015-10-13 Tom de Vries + + PR tree-optimization/67476 + * omp-low.c (expand_omp_for_generic): Handle original loop tree. + +2015-10-13 Richard Biener + + * tree-vect-data-refs.c (vect_analyze_data_ref_dependences): Allocate + the data dependence vector. + (vect_peeling_hash_insert): Get the peeling hash table as argument. + (vect_peeling_hash_get_lowest_cost): Likewise. + (vect_enhance_data_refs_alignment): Adjust. + (struct _vect_peel_info, struct _vect_peel_extended_info, + struct peel_info_hasher): Move from ... + * tree-vectorizer.h: ... here. + (LOOP_VINFO_COST_MODEL_MIN_ITERS): Remove. + (LOOP_VINFO_PEELING_HTAB): Likewise. + (struct _loop_vec_info): Remove min_profitable_iters and + peeling_htab members. + * tree-vect-loop.c (new_loop_vec_info): Do not allocate vectors + here. + (destroy_loop_vec_info): Adjust. + (vect_analyze_loop_2): Do not set LOOP_VINFO_COST_MODEL_MIN_ITERS. + (vect_estimate_min_profitable_iters): Use LOOP_VINFO_COMP_ALIAS_DDRS + to estimate alias versioning cost. + * tree-vect-slp.c (vect_analyze_slp_cost): Dump header. + +2015-10-13 Richard Sandiford + + * real.h (real_isinteger): Declare. + * real.c (real_isinteger): New function. + * match.pd: Simplify pow(|x|,y) and pow(-x,y) to pow(x,y) + if y is an even integer. + +2015-10-11 Jan Hubicka + + revert: + 2015-10-11 Jan Hubicka + * cgraphbuild.c (compute_call_stmt_bb_frequency): Use + counts when these are more informative. + +2015-10-12 Jeff Law + + * tree-ssa-threadbackward.c (get_gimple_control_stmt): New function. + (fsm_find_control_stmt_paths): Change name of first argument to + more accurately relfect what it really is. Handle simplification + of GIMPLE_COND after finding a thread path for NAME. + * tree-ssa-threadedge.c (simplify_control_stmt_condition): Allow + nontrivial conditions to be handled by FSM threader. + (thread_through_normal_block): Extract the name to looup via + FSM threader from COND_EXPR. + + * tree-ssa-threadbackward.c (fsm_find_thread_path): Remove + restriction that traced SSA_NAME is a user variable. + +2015-10-12 Tom de Vries + + PR tree-optimization/67476 + * omp-low.c (expand_omp_for_generic): Add missing phis. + +2015-10-12 Tom de Vries + + PR tree-optimization/67476 + * omp-low.c (expand_omp_for_generic): Handle simple latch. + +2015-10-12 Christophe Lyon + + * config/aarch64/aarch64-simd-builtins.def: Update builtins + tables: add tbl3 and tbx4. + * config/aarch64/aarch64-simd.md (aarch64_tbl3v8qi): New. + (aarch64_tbx4v8qi): New. + * config/aarch64/arm_neon.h (vtbl3_s8, vtbl3_u8, vtbl3_p8) + (vtbl4_s8, vtbl4_u8, vtbl4_p8, vtbx4_s8, vtbx4_u8, vtbx4_p8): + Rewrite using builtin functions. + * config/aarch64/iterators.md (UNSPEC_TBX): New. + +2015-10-12 Uros Bizjak + + * config/rs6000/rs6000.h (RS6000_ALIGN): Implement using + ROUND_UP macro. + * config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_flush): + Use ROUND_UP and ROUND_DOWN macros where applicable. + (rs6000_darwin64_record_arg_flush): Ditto. + (rs6000_function_arg): Use ROUND_UP to calculate align_words. + (rs6000_emit_probe_stack_range): Use ROUND_DOWN to calculate + rounded_size. + +2015-10-12 Uros Bizjak + + * config/aarch/aarch64.h (AARCH64_ROUND_UP): Remove. + (AARCH64_ROUND_DOWN): Ditto. + * config/aarch64/aarch64.c: Use ROUND_UP instead of AARCH64_ROUND_UP. + +2015-10-12 Richard Biener + + PR ipa/67783 + * ipa-inline-analysis.c (estimate_function_body_sizes): Re-add + code that analyzes IVs on each stmt but in a cheaper way avoiding + quadratic behavior. + +2015-10-12 Nick Clifton + + * config/msp430/msp430.c (msp430_mcu_names): Rename to + msp430_mcu_data, add fields for ISA and hardware multiply + support. Import latest data from the devices.csv file. + (msp430_override_option): Use the data from the new array. + (msp430_use_f5_series_hwmult): Likewise. + (use_32bit_hwmult): Likewise. + (msp430_no_hwmult): Likewise. + * config/msp430/t-msp430 (MULTILIB_MATCHES): Add matches for new + MCU names. + * doc/invoke.texi (MSP430 Options): Note that if the MCU name is + not recognised then no hardware multiply support is assumed and + that only the MSP430 ISA is allowed. + +2015-10-12 Richard Biener + + * tree-vect-loop.c (vect_analyze_loop_operations): Move cost + related code ... + (vect_analyze_loop_2): ... here. + +2015-10-11 Jason Merrill + + PR c++/67557 + * expr.c (store_field): Call store_constructor directly when + storing a CONSTRUCTOR into a target smaller than its type. + Guard against unsafe bitwise copy. + +2015-10-11 Jan Hubicka + + * cgraphbuild.c (compute_call_stmt_bb_frequency): Use + counts when these are more informative. + +2015-10-11 Jan Hubicka + + * tree-profile.c (tree_profiling): Do not clear + pure/const when not instrumenting. + (pass tree_profile): Add dump of symtab. + +2015-10-11 Jan Hubicka + + * fold-const.c (fold_comparsion): Pass OEP_ADDRESS_OF when comparing + addresses. + (fold_addr_of_array_ref_difference): Likewise. + +2015-10-11 Jeff Law + + * tree-ssa-threadedge.c (fsm_find_thread_path): Moved from here into + tree-ssa-threadbackward.c. + (fsm_find_control_statement_thread_paths): Likewise. + (thread_through_normal_block): Break out FSM bits and move them + into a new function in tree-ssa-threadbackward.c. Call new function + instead. + Minimize header file usage. + * tree-ssa-threadbackward.h: New file. + * tree-ssa-threadbackward.c: Likewise. + * Makefile.in (OBJS): Add tree-ssa-threadbackward.o + +2015-10-11 Uros Bizjak + + * config/alpha/alpha.h (ALPHA_ROUND): Implement using ROUND_UP macro. + +2015-10-11 Segher Boessenkool + + PR rtl-optimization/67864 + * bb-reorder (reorder_basic_blocks_simple): Prefer existing + fallthrough edges for conditional jumps. Don't sort candidate + edges if not optimizing for speed. + +2015-10-10 Trevor Saunders + + * defaults.h (REVERSE_CONDITION): New default definition. + * jump.c (reversed_comparison_code_parts): Adjust. + +2015-10-10 Trevor Saunders + + * builtins.c (expand_builtin_setjmp_receiver): Don't use #if to + check HARD_FRAME_POINTER_IS_ARG_POINTER. + +2015-10-10 Trevor Saunders + + * defaults.h (FRAME_ADDR_RTX): New default definition. + * builtins.c (expand_builtin_return_addr): Adjust. + +2015-10-10 Trevor Saunders + + * defaults.h (DYNAMIC_CHAIN_ADDRESS): New default definition. + * builtins.c (expand_builtin_return_addr): Adjust. + +2015-10-10 Trevor Saunders + + * defaults.h (SETUP_FRAME_ADDRESSES): New default definition. + * builtins.c (expand_builtin_return_addr): Adjust. + * doc/tm.texi: Likewise. + * doc/tm.texi.in: Likewise. + * except.c (expand_builtin_unwind_init): Likewise. + +2015-10-10 Trevor Saunders + + * builtins.c (expand_builtin_return_addr): Adjust. + * defaults.h (INITIAL_FRAME_ADDRESS_RTX): New default definition. + +2015-10-10 Jan Hubicka + + * tree.c (type_with_interoperable_signedness): New. + (gimple_canonical_types_compatible_p): Use it. + * tree.h (type_with_interoperable_signedness): Declare + +2015-10-10 Jan Hubicka + + * fold-const.c (operand_equal_p): Document OEP_ADDRESS_OF + and OEP_CONSTANT_ADDRESS_OF; skip type compatibility checks + when OEP_ADDRESS_OF is se. + +2015-10-10 Aditya Kumar + Sebastian Pop + + * graphite-dependences.c (scop_get_dependences): Add dump of the + data dependence graph. + * graphite-poly.c (print_isl_union_map): New. + (debug_isl_union_map): New. + * graphite-poly.h (print_isl_union_map): Declare. + (debug_isl_union_map): Declare. + +2015-10-10 Aditya Kumar + Sebastian Pop + + * graphite-poly.c (print_iteration_domain): Remove verbosity. + Remove OpenScop formatting. + (print_iteration_domains): Same. + (debug_iteration_domain): Same. + (debug_iteration_domains): Same. + (print_pdr): Same. + (debug_pdr): Same. + (dump_gbb_cases): Same. + (dump_gbb_conditions): Same. + (print_pdrs): Same. + (debug_pdrs): Same. + (print_pbb_body): Same. + (print_pbb): Same. + (print_scop_params): Same. + (print_scop_context): Same. + (print_scop): Same. + (debug_pbb_domain): Same. + (debug_pbb): Same. + (debug_scop_context): Same. + (debug_scop): Same. + (debug_scop_params): Same. + * graphite-poly.h: Same. + * graphite.c (graphite_transform_loops): Same. + +2015-10-10 Trevor Saunders + + * function.c (stack_protect_epilogue): Remove as_a () + call that isn't needed. + +2015-10-09 Jeff Law + + * tree-ssanames.c (flush_ssaname_freelist): Use splice and truncate + rather than moving each name to the freelist individually. + +2015-10-09 Steve Ellcey + + * config.gcc (mips*-*-*): Add frame-header-opt.o to extra_objs. + * frame-header-opt.c: New file. + * config/mips/mips-proto.h (mips_register_frame_header_opt): + Add prototype. + * config/mips/mips.c (mips_compute_frame_info): Check + optimize_call_stack flag. + (mips_option_override): Register new frame_header_opt pass. + (mips_frame_info, mips_int_mask, mips_shadow_set, + machine_function): Move these types to... + * config/mips/mips.h: here. + (machine_function): Add does_not_use_frame_header and + optimize_call_stack fields. + * config/mips/t-mips (frame-header-opt.o): Add new make rule. + * doc/invoke.texi (-mframe-header-opt, -mno-frame-header-opt): + Document new flags. + * config/mips/mips.opt (mframe-header-opt): Add new option. + +2015-10-09 Uros Bizjak + + * config/i386/i386.c + (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Use + ROUND_DOWN where applicable. + +2015-10-09 Jeff Law + + * tree-vect-stmts.c (free_stmt_vec_info): Free the LHS of the + correct statement. + +2015-10-09 Renlin Li + + * config/arm/neon.md (neon_vuzp_insn): Add & modifier for + operands[0] and operands[2]. + (neon_vtrn_insn): Likewise. + (neon_vzip_insn): Likewise. + +2015-10-09 Andre Vieira + + * match.pd: ((X inner_op C0) outer_op C1) New pattern. + ((X & C2) << C1): Expand to... + (X {&,^,|} C2 << C1): ...This. + ((X & C2) >> C1): Expand to... + (X {&,^,|} C2 >> C1): ...This. + +2015-10-09 Alexander Fomin + + PR target/67895 + * config/i386/sse.md (define_insn "sse_cvtsi2ss"): + Adjust embedded rounding/SAE specifier position. + (define_insn "sse_cvtsi2ssq"): Likewise. + (define_insn "cvtusi232"): Likewise. + (define_insn "cvtusi264"): Likewise. + (define_insn "sse2_cvtsi2sdq"): Likewise. + (define_insn "avx512dq_rangep"): + Likewise. + (define_insn "avx512dq_ranges"): Likewise. + +2015-10-09 Martin Jambor + + tree-optimization/67794 + * tree-sra.c (replace_removed_params_ssa_names): Do not distinguish + between types of state,ents but accept original definitions as a + parameter. + (ipa_sra_modify_function_body): Use FOR_EACH_SSA_DEF_OPERAND to + iterate over definitions. + +2015-10-09 James Norris + + * config/rs6000/rs6000.c (rs6000_offload_options): New. + (TARGET_OFFLOAD_OPTIONS): New. + +2015-10-09 Alexandre Oliva + + PR middle-end/67891 + * cfgexpand.c (set_parm_rtl): Drop is_gimple_reg test. + + PR middle-end/67766 + * function.c (expand_function_end): Move return value + promotion past the handling of PARALLELs and CONCATs. + + PR rtl-optimization/67828 + * tree-ssa-loop-unswitch.c: Include tree-ssa.h. + (tree_may_unswitch_on): Don't unswitch on expressions + involving undefined values. + +2015-10-09 Richard Biener + + * genmatch.c (print_operand): Fix formatting. + (dt_node::append_simplify): Warn for multiple simplifiers + that match the same pattern. + * match.pd (log (exp @0)): Remove duplicates. + +2015-10-09 Richard Biener + + PR target/67366 + * gimple-fold.c (optabs-query.h): Include + (gimple_fold_builtin_memory_op): Allow unaligned stores + when movmisalign_optabs are available. + +2015-10-09 Ramana Radhakrishnan + + PR target/67366 + * config/arm/arm.md (movmisalign): New. + * config/arm/iterators.md (HSI): New. + +2015-10-09 Richard Biener + + PR tree-optimization/67891 + * gimple-match.h (gimple_simplified_result_is_gimple_val): + New helper. + (gimple_resimplify1): Declare. + (gimple_resimplify2): Likewise. + (gimple_resimplify3): Likewise. + * gimple-match-head.c (gimple_resimplify1): Export. + (gimple_resimplify2): Likewise. + (gimple_resimplify3): Likewise. + (maybe_push_res_to_seq): Use gimple_simplified_result_is_gimple_val. + * gimple-fold.c (gimple_fold_stmt_to_constant_1): Likewise. + * tree-ssa-sccvn.c (visit_reference_op_load): Use gimple_resimplify1 + to avoid creating stmts without VN info. + +2015-10-08 Jan Hubicka + + * ipa-icf.c (sem_item::compare_symbol_references): Fix use + of availability. + +2015-10-08 Jeff Law + + * value-prof.c (gimple_ic): Add missing calls to unlink_stmt_vdef + and release_ssa_name in two places. + (gimple_stringop_fixed_value): Similarly. + + * tree-ssa-loop-im.c (rewrite_bittest): Add missing call to + release_defs. + + * tree-stdarg.c (expand_ifn_va_arg_1): Add missing call to + unlink_stmt_vdef and release_ssa_name_fn. + + * tree-ssa-dse.c (dse_optimize_stmt): Add missing call to + release_defs. + +2015-10-08 H.J. Lu + + * config/i386/i386.c (ix86_compute_frame_layout): Round up the + SSE register save area to 16 bytes only if the incoming stack + boundary is no less than 16 bytes. + +2015-10-08 Jeff Law + + * tree-ssa-phiopt.c (factor_out_conversion): Add missing calls to + release_ssa_name. Fix typo in comment. + +2015-10-08 Nathan Sidwell + + * config/nvptx/nvptx.h (struct machine_function): Add comment. + * config/nvptx/nvptx.c (nvptx_declare_function_name): Functions + may return pointer as well as in memory. + (nvptx_output_return): Likewise. + +2015-10-08 Richard Sandiford + + * builtins.c (fold_builtin_sqrt, fold_builtin_cbrt): Delete. + (fold_builtin_1): Update accordingly. Handle constant arguments here. + * match.pd: Add rules previously handled by fold_builtin_sqrt + and fold_builtin_cbrt. + +2015-10-08 Richard Sandiford + + * params.def (PARAM_MAX_SSA_NAME_QUERY_DEPTH): New param. + * doc/invoke.texi (--param max-ssa-name-query-depth): Document. + * fold-const.h (tree_unary_nonnegative_warnv_p) + (tree_single_nonnegative_warnv_p, tree_call_nonnegative_warnv_p) + (tree_expr_nonnegative_warnv_p): Add depth parameters. + * fold-const.c: Include gimple-fold.h and params.h. + (tree_ssa_name_nonnegative_warnv_p): New function. + (tree_unary_nonnegative_warnv_p, tree_binary_nonnegative_warnv_p) + (tree_single_nonnegative_warnv_p, tree_call_nonnegative_warnv_p) + (tree_invalid_nonnegative_warnv_p, tree_expr_nonnegative_warnv_p): + Add a depth parameter and increment it for recursive calls to + tree_expr_nonnegative_warnv_p. Use tree_ssa_name_nonnegative_warnv_p + to handle SSA names. + * gimple-fold.h (gimple_val_nonnegative_real_p): Delete. + (gimple_stmt_nonnegative_warnv_p): Declare. + * tree-vrp.c (remove_range_assertions): Remove assert that condition + cannot be proven false. + (gimple_assign_nonnegative_warnv_p, gimple_call_nonnegative_warnv_p) + (gimple_stmt_nonnegative_warnv_p): Move to... + * gimple-fold.c: ...here. Add depth parameters and pass them + down to the tree routines. Accept statements that aren't + assignments or calls but just return false for them. + (gimple_val_nonnegative_real_p): Delete. + * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Use + tree_expr_nonnegative_p instead of gimple_val_nonnegative_real_p. + Check HONOR_NANs first. + +2015-10-08 Martin Jambor + + * ipa-cp.c (meet_with_1): Make the argument of abs signed. Remove + unnecessary MIN. + +2015-10-08 Yuri Rumyantsev + + * tree-vect-loop.c (vect_analyze_loop_operations): Skip virtual phi + in the tail of outer-loop. + +2015-10-08 David Edelsohn + + * config/rs6000/rs6000.c (rs6000_xcoff_debug_unwind_info): Always + return UI_NONE. + +2015-10-08 Yuri Rumyantsev + + * tree-ssa-loop-unswitch.c: Include "gimple-iterator.h" and + "cfghooks.h", add prototypes for introduced new functions. + (tree_ssa_unswitch_loops): Use from innermost loop iterator, move all + checks on ability of loop unswitching to tree_unswitch_single_loop; + invoke tree_unswitch_single_loop or tree_unswitch_outer_loop depending + on innermost loop check. + (tree_unswitch_single_loop): Add all required checks on ability of + loop unswitching under zero recursive level guard. + (tree_unswitch_outer_loop): New function. + (find_loop_guard): Likewise. + (empty_bb_without_guard_p): Likewise. + (used_outside_loop_p): Likewise. + (get_vop_from_header): Likewise. + (hoist_guard): Likewise. + (check_exit_phi): Likewise. + +2015-10-08 Marek Polacek + + * tree-ssa-reassoc.c (dump_ops_vector): Print newline after each + ops element. + +2015-10-08 Andreas Krebbel + + PR c/65345 + * config/s390/s390.c (s390_atomic_assign_expand_fenv): Use + create_tmp_var_raw instead of create_tmp_var. + +2015-10-07 Jan Hubicka + + * expr.c (store_expr_with_bounds): Handle aggregate moves from + BLKmode. + * gimple-expr.c (useless_type_conversion_p): Do not use TYPE_CANONICAL + to define gimple type system; compare aggregates only by size. + +2015-10-07 Jeff Law + + * tree-ssa-dom.c (optimize_stmt): Don't set LOOPS_NEED_FIXUP here. + * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): Do it + here instead. Tighten test to avoid setting LOOPS_NEED_FIXUP + unnecessarily. + +2015-10-07 Aditya Kumar + Sebastian Pop + + * graphite-dependences.c (scop_get_dependences): Do not use SCOP_BBS. + * graphite-isl-ast-to-gimple.c (get_max_schedule_dimensions): Same. + (generate_isl_schedule): Same. + * graphite-optimize-isl.c (scop_get_domains): Same. + (apply_schedule_map_to_scop): Same. + * graphite-poly.c (print_iteration_domains): Same. + (remove_gbbs_in_scop): Same. + (new_scop): Same. + (free_scop): Same. + (print_scop): Same. + * graphite-poly.h (struct scop): Rename bbs to pbbs. + (SCOP_BBS): Remove. + * graphite-scop-detection.c (compare_bb_depths): Remove. + (graphite_sort_dominated_info): Remove. + (try_generate_gimple_bb): Move out of scop_detection. + (all_non_dominated_preds_marked_p): Remove. + (build_scop_bbs_1): Remove. + (build_scop_bbs): Remove. + (nb_pbbs_in_loops): Do not use SCOP_BBS. + (find_scop_parameters): Same. + (sese_dom_walker): Rename gather_bbs. + (before_dom_children): Call try_generate_gimple_bb and collect gbb + and pbb. + (build_scops): Call gather_bbs. + * graphite-sese-to-poly.c (build_scop_scattering): Do not use SCOP_BBS. + (add_conditions_to_constraints): Same. + (build_scop_iteration_domain): Same. + (build_scop_drs): Same. + (new_pbb_from_pbb): Same. + * sese.c (new_sese_info): Create bbs. + * sese.h (struct sese_info_t): Add bbs. + +2015-10-07 David Edelsohn + + * config/rs6000/xcoff.h (ASM_PREFERRED_EH_DATA_FORMAT): Use 64-bit + encoding in 64-bit mode. + +2015-10-07 Uros Bizjak + + PR target/66697 + * config/i386/i386.c (ix86_option_override_internal): Always use + 8-byte minimum stack boundary in 64-bit mode. + (ix86_compute_frame_layout): Remove assert on INCOMING_STACK_BOUNDARY. + (ix86_emit_save_reg_using_mov): Support unaligned SSE store. + Add a REG_CFA_EXPRESSION note if needed. + (ix86_emit_restore_sse_regs_using_mov): Support unaligned SSE load. + (ix86_handle_force_align_arg_pointer_attribute): New. + (ix86_minimum_incoming_stack_boundary): Remove TARGET_64BIT check. + (ix86_attribute_table): Set ix86_force_align_arg_pointer_string + with ix86_handle_force_align_arg_pointer_attribute. + * config/i386/i386.h (MIN_STACK_BOUNDARY): Set to BITS_PER_WORD. + +2015-10-07 Aditya Kumar + Sebastian Pop + + * graphite-scop-detection.c (parameter_index_in_region): Remove + use of SESE_ADD_PARAMS. + (find_scop_parameters): Same. + * sese.c (new_sese_info): Same. + * sese.h (struct sese_info_t): Remove add_params. + (SESE_ADD_PARAMS): Remove. + +2015-10-07 Aditya Kumar + Sebastian Pop + + * graphite-isl-ast-to-gimple.c (translate_isl_ast_to_gimple): Use + an sese_info_p. + (copy_def): Same. + (copy_internal_parameters): Same. + (translate_isl_ast_to_gimple): Use an sese_l. + (build_iv_mapping): Same. + * graphite-poly.c (new_sese): Rename new_sese_info. + (free_sese): Rename free_sese_info. + * graphite-poly.h (struct scop): Use an sese_info_p. + (scop_set_region): Same. + * graphite-scop-detection.c (struct sese_l): Moved... + (get_entry_bb): Moved... + (get_exit_bb): Moved... + (parameter_index_in_region_1): Use an sese_info_p. + (parameter_index_in_region): Same. + (scan_tree_for_params): Same. + (find_params_in_bb): Same. + (sese_dom_walker): Use an sese_l. + * graphite-sese-to-poly.c (remove_invariant_phi): Same. + (reduction_phi_p): Same. + (parameter_index_in_region_1): Use an sese_info_p. + (propagate_expr_outside_region): Use an sese_l. + * graphite.c: Replace uses of SCOP_REGION. + * sese.c (sese_record_loop): Use an sese_info_p. + (build_sese_loop_nests): Same. + (sese_build_liveouts_use): Same. + (sese_build_liveouts_bb): Same. + (sese_build_liveouts_bb): Same. + (sese_bad_liveouts_use): Same. + (sese_reset_debug_liveouts_bb): Same. + (sese_build_liveouts): Same. + (new_sese): Renamed new_sese_info. + (free_sese): Renamed free_sese_info. + (set_rename): Use an sese_info_p. + (graphite_copy_stmts_from_block): Same. + (copy_bb_and_scalar_dependences): Same. + (outermost_loop_in_sese_1): Use an sese_l. + (outermost_loop_in_sese): Same. + (if_region_set_false_region): Use an sese_info_p. + (move_sese_in_condition): Same. + (scalar_evolution_in_region): Use an sese_l. + * sese.h (struct sese_l): ... here. + (SESE_ENTRY): Remove. + (SESE_ENTRY_BB): Remove. + (SESE_EXIT): Remove. + (SESE_EXIT_BB): Remove. + (sese_contains_loop): Use an sese_info_p. + (sese_nb_params): Same. + (bb_in_sese_p): Use an sese_l. + (stmt_in_sese_p): Same. + (defined_in_sese_p): Same. + (loop_in_sese_p): Same. + (sese_loop_depth): Same. + (struct ifsese_s): Use an sese_info_p. + (gbb_loop_at_index): Use an sese_l. + (nb_common_loops): Same. + (scev_analyzable_p): Same. + +2015-10-07 H.J. Lu + + * config/i386/i386.c (ix86_conditional_register_usage): Use + CALL_USED_REGISTERS_MASK. + * config/i386/i386.h (CALL_USED_REGISTERS_MASK): New macro. + +2015-10-07 H.J. Lu + + PR bootstrap/67385 + * configure.ac (gcc_cv_readelf): Check $READELF_FOR_TARGET. + * configure: Regenerated. + +2015-10-07 H.J. Lu + + PR target/67850 + * config/i386/i386.c (ix86_maybe_switch_abi): Merged with ... + (ix86_set_current_function): This. + (TARGET_EXPAND_TO_RTL_HOOK): Removed. + +2015-10-07 Richard Biener + + * tree-vectorizer.h (stmt_vec_info_vec): Use vec. + (vinfo_for_stmt): Adjust. + (set_vinfo_for_stmt): Likewise. + * tree-vectorizer.c (stmt_vec_info_vec): Likewise. + * tree-vect-stmts.c (free_stmt_vec_info_vec): Likewise. + * tree-vect-loop.c (new_loop_vec_info): Remove special-casing + of inner loop. + (vect_analyze_loop_1): Remove. + (vect_analyze_loop_form_1): Avoid building a loop_vec_info for + inner loop when vectorizing an outer loop by splitting out from ... + (vect_analyze_loop_form): ... here. + +2015-10-07 Ramana Radhakrishnan + + PR c/65345 + * config/arm/arm-builtins.c (arm_atomic_assign_expand_fenv): + Use create_tmp_var_raw instead of create_tmp_var. + +2015-10-07 Richard Sandiford + + * real.h (dconst_quarter, dconst_sixth, dconst_ninth): New macros. + (dconst_quarter_ptr, dconst_sixth_ptr, dconst_ninth_ptr): Declare. + * real.c (CACHED_FRACTION): New helper macro. + (dconst_third_ptr): Use it. + (dconst_quarter_ptr, dconst_sixth_ptr, dconst_ninth_ptr): New. + * builtins.c (fold_builtin_sqrt): Use dconst_quarter and + dconst_sixth. + (fold_builtin_cbrt): Use dconst_sixth and dconst_ninth. + +2015-10-06 Jeff Law + + PR tree-optimization/67816 + * tree-ssa-threadupdate.h (remove_jump_threads_including): Renamed + from remove_jump_threads_starting_at. Accept an edge rather than + a basic block. + * tree-ssa-threadupdate.c (removed_edges): New hash table. + (remove_jump_threads_including): Note edges that get removed from + the CFG for later pruning of jump threading paths including them. + (thread_through_all_blocks): Remove paths which include edges that + have been removed. + * tree-ssa-dom.c (optimize_stmt): Call remove_jump_threads_including + on each outgoing edges when optimizing away a control statement. + +2015-10-06 Trevor Saunders + + * reorg.c (emit_delay_sequence): Store list of delay slot insns + in a vector instead of rtx_insn_list. + (add_to_delay_list): Likewise. + (delete_from_delay_slot): Likewise. + (optimize_skip): Likewise. + (redirect_with_delay_list_safe_p): Likewise. + (check_annul_list_true_false): Likewise. + (steal_delay_list_from_target): Likewise. + (steal_delay_list_from_fallthrough): Likewise. + (redundant_insn): Likewise. + (fill_simple_delay_slots): Likewise. + (fill_slots_from_thread): Likewise. + (fill_eager_delay_slots): Likewise. + (relax_delay_slots): Likewise. + +2015-10-06 Sandra Loosemore + + * config/nios2/nios2.c (nios2_symbol_ref_in_small_data_p): + For -mgpopt=local, also exclude unintialized common symbols. + * doc/invoke.texi (Nios II Options): Document the change. + +2015-10-07 Kugan Vivekanandarajah + + * config/aarch64/iterators.md (vwcore): Add missing cases for + V4HF/V8HF modes. + +2015-10-06 Aditya Kumar + Sebastian Pop + + * graphite-poly.c (new_scop): Initialize drs. + * graphite-poly.h (struct dr_info): New. + (struct scop): Add drs. + * graphite-sese-to-poly.c (pdr_add_alias_set): Use dr_info. + (pdr_add_memory_accesses): Same. + (build_poly_dr): Same. + (build_alias_set): Same. + (build_scop_drs): Same. + (build_pbb_drs): Remove. + * tree-data-ref.c (create_data_ref): Do not initialize alias_set. + * tree-data-ref.h (data_reference): Remove alias_set. + +2015-10-06 Aditya Kumar + Sebastian Pop + + * graphite-poly.c (free_data_refs_aux): Remove. + (free_gimple_poly_bb): Do not call free_data_refs_aux. + * graphite-poly.h (struct base_alias_pair): Remove. + * graphite-sese-to-poly.c (pdr_add_alias_set): Remove all uses of + base_alias_pair and dr->aux. + (build_alias_set): Same. + * tree-data-ref.c (create_data_ref): Initialize alias_set. + * tree-data-ref.h (data_reference): Add alias_set. + +2015-10-06 Aditya Kumar + Sebastian Pop + + * graphite-poly.c (new_poly_dr): Remove dr_base_object_set. + Do not set PDR_BASE_OBJECT_SET. + * graphite-poly.h (poly_dr): Same. + (PDR_BASE_OBJECT_SET): Remove. + (new_poly_dr): Update decl. + * graphite-sese-to-poly.c (build_poly_dr): Update call to + new_poly_dr. + (write_alias_graph_to_ascii_dimacs): Remove. + (write_alias_graph_to_ascii_dot): Remove. + (write_alias_graph_to_ascii_ecc): Remove. + (dr_same_base_object_p): Remove. + (build_alias_set_optimal_p): Rename build_alias_set. Remove dead + code. + (build_base_obj_set_for_drs): Remove. + (dump_alias_graphs): Remove. + (build_scop_drs): Remove dead code. + +2015-10-05 Michael Meissner + Peter Bergner + + PR target/67808 + * config/rs6000/rs6000.md (extenddftf2): In the expander, only + allow registers, but provide insns for the combiner to create for + loads from memory. Separate VSX code from non-VSX code. For + non-VSX code, combine extenddftf2_fprs into extenddftf2 and rename + externaldftf2_internal to externaldftf2_fprs. Reorder constraints + so that registers come before memory operations. Drop support from + converting DFmode to TFmode, if the DFmode value is in a GPR + register. + (extenddftf2_fprs): Likewise. + (extenddftf2_internal): Likewise. + (extenddftf2_vsx): Likewise. + (extendsftf2): In the expander, only allow registers, but provide + insns for the combiner to create for stores and loads. + +2015-10-06 Ramana Radhakrishnan + + * varasm.c (default_elf_asm_named_section): Remove ATTRIBUTE_UNUSED + from the decl parameter. + +2015-10-06 Nathan Sidwell + + PR 67861 + * gimple-fold.c (gimple_fold_builtin): Add break after + BUILT_IN_PRINTF_CHK, BUILT_IN_VPRINTF_CHK folding. + +2015-10-06 H.J. Lu + + * graphite-optimize-isl.c (optimize_isl): Rename scop->ctx + to scop->isl_context. + +2015-10-06 Eric Botcazou + + * config/arm/arm.c (arm_emit_probe_stack_range): Adjust comment. + (output_probe_stack_range): Rotate the loop and simplify. + (thumb1_expand_prologue): Tweak sorry message. + * config/arm/arm.md (probe_stack): Use bare string. + +2015-10-06 Nick Clifton + + * config.gcc (lm32-elf): Add newlib-stdint.h to tm_file. + +2015-10-06 Nick Clifton + + * config/msp430/msp430.c (ATTR_NOINIT): New constant. + (ATTR_PERSIST): New constant. + (msp430_data_attr): New function - verifies an attribute that only + applies to variables. + (msp430_attributes): Add noinit and persistent attributes. + (noinit_section): New variable. + (presis_section): New variable. + (TARGET_ASM_INIT_SECTIONS): Define. + (msp430_init_sections): New function - initialises the noinit and + persist section variables. + (msp430_select_section): Add support for noinit and persist + attributes. + (msp430_section_type_flags): Likewise. + * doc/extend.texi: Document the reent, critical, wakeup, noinit + and persistent attributes. + +2015-10-05 Aditya Kumar + Sebastian Pop + + * graphite-dependences.c (scop_get_transformed_schedule): Remove. + (no_violations): Remove. + (subtract_commutative_associative_deps): Remove. + (compute_deps): Do not call subtract_commutative_associative_deps. + (transform_is_safe): Remove. + (graphite_legal_transform): Remove. + * graphite-poly.h (graphite_legal_transform): Remove. + +2015-10-05 Aditya Kumar + + * graphite-sese-to-poly.c (build_loop_iteration_domains): Only loops + which are in this region are passed so gcc_assert and remove redundant + computation. + * sese.c (sese_build_liveouts): Pass only those bbs which are not + in region. + (sese_bad_liveouts_use): Only BBs which are not in region are passed so + gcc_assert on that and remove unnecessary computation. + (sese_build_liveouts_use): Same. + +2015-10-05 Aditya Kumar + + * graphite-dependences.c (scop_get_reads): Renamed scop->context + to scop->param_context. + (scop_get_must_writes): Same. + (scop_get_may_writes): Same. + (scop_get_original_schedule): Same. + (scop_get_transformed_schedule): Same. + (subtract_commutative_associative_deps): Same. + * graphite-isl-ast-to-gimple.c (add_parameters_to_ivs_params): Same. + (generate_isl_context): Same. + (generate_isl_schedule): Same. + (scop_to_isl_ast): Same. + (graphite_regenerate_ast_isl): Same. + * graphite-optimize-isl.c (scop_get_domains): Same. + (optimize_isl): Renamed scop->context to scop->param_context. + * graphite-poly.c (new_poly_bb): Change the type of argument to + gimple_poly_bb_p. + (new_scop): Renamed scop->context to scop->param_context. + (free_scop): Same. + (print_scop_context): Same. + * graphite-poly.h (new_poly_dr): Change the type of argument from + void* to data_reference_p. + (struct poly_bb): Change the type of black_box to gimple_poly_bb_p. + (new_poly_bb): Change the type of argument from void* to + gimple_poly_bb_p. + (pbb_set_black_box): Same. + (struct scop): Rename context to param_context, ctx to isl_context. + * graphite-scop-detection.c (scop_detection::build_scop_bbs_1): + Move declarations closer to assignment. + (find_params_in_bb): Same. + (find_scop_parameters): Same. + * graphite-sese-to-poly.c (unsigned ssa_name_version_typesize): + Global to be used for statement IDs. + (isl_id_for_pbb): Use ssa_name_version_typesize. + (simple_copy_phi_p): Move declarations closer to assignment. + (build_pbb_scattering_polyhedrons): Same. + (build_scop_scattering): Same. + (isl_id_for_ssa_name): Same. + (extract_affine_name): Same. + (extract_affine_int): Same. + (extract_affine): Same. + (set_scop_parameter_dim): Use renamed member. + (build_loop_iteration_domains): Same. + (add_param_constraints): Same. + (build_scop_iteration_domain): Same. + (pdr_add_data_dimensions): Same. + (build_poly_dr): Same. + (build_scop_drs): Move declarations closer to assignment. + (analyze_drs_in_stmts): Same. + (insert_out_of_ssa_copy): Same. + (insert_out_of_ssa_copy_on_edge): Same. + (propagate_expr_outside_region): Same. + (rewrite_phi_out_of_ssa): Same. + (rewrite_degenerate_phi): Same. + (rewrite_reductions_out_of_ssa): Same. + (rewrite_cross_bb_scalar_dependence): Same. + (handle_scalar_deps_crossing_scop_limits): Same. + (rewrite_cross_bb_scalar_deps): Same. + * graphite.c (graphite_transform_loops): Use renamed member. + +2015-10-06 Uros Bizjak + + PR c/65345 + * config/alpha/alpha.c (alpha_atomic_assign_expand_fenv): Use + create_tmp_var_raw instead of create_tmp_var. + +2015-10-06 Ramana Radhakrishnan + + PR c/65345 + * config/aarch64/aarch64-builtins.c (aarch64_atomic_assign_expand_fenv): + Use create_tmp_var_raw instead of create_tmp_var. + +2015-10-06 Alexander Fomin + + PR target/67849 + * config/i386/sse.md (define_split vec_select/V8FI): Restrict + split for upper-bank registers when target does not support + AVX512VL. + (define_insn "vec_extract_lo_"): Restrict + split when target does not support AVX512VL. + +2015-10-06 David Edelsohn + + PR c/65345 + * config/rs6000/rs6000.c (rs6000_atomic_assign_expand_fenv): + Adjust to use create_tmp_var_raw instead of create_tmp_var. + +2015-10-06 Nick Clifton + + * config/rl78/rl78.c (rl78_rtx_costs): Improve cost estimates for + multiplication. + +2015-10-06 Venkataramanan Kumar + + * config.gcc (i[34567]86-*-linux* | ...): Add znver1. + (case ${target}): Add znver1. + * config/i386/cpuid.h(bit_CLZERO): Define. + * config/i386/driver-i386.c: (host_detect_local_cpu): Let + -march=native recognize znver1 processors. + * config/i386/i386-c.c (ix86_target_macros_internal): Add + znver1, clzero def_and_undef. + * config/i386/i386.c (struct processor_costs znver1_cost): New. + (m_znver1): New definition. + (m_AMD_MULTIPLE): Includes m_znver1. + (processor_target_table): Add znver1 entry. + (ix86_target_string) : Add clzero entry. + (static const char *const cpu_names): Add znver1 entry. + (ix86_option_override_internal): Add znver1 instruction sets. + (PTA_CLZERO) : New definition. + (ix86_option_override_internal): Handle new clzerooption. + (ix86_issue_rate): Add znver1. + (ix86_adjust_cost): Add znver1. + (ia32_multipass_dfa_lookahead): Add znver1. + (has_dispatch): Add znver1. + * config/i386/i386.h (TARGET_znver1): New definition. + (TARGET_CLZERO): Define. + (TARGET_CLZERO_P): Define. + (struct ix86_size_cost): Add TARGET_ZNVER1. + (enum processor_type): Add PROCESSOR_znver1. + * config/i386/i386.md (define_attr "cpu"): Add znver1. + (set_attr znver1_decode): New definitions for znver1. + * config/i386/i386.opt (flag_dispatch_scheduler): Add znver1. + (mclzero): New. + * config/i386/mmx.md (set_attr znver1_decode): New definitions + for znver1. + * config/i386/sse.md (set_attr znver1_decode): Likewise. + * config/i386/x86-tune.def: Add znver1 tunings. + * config/i386/znver1.md: Introduce znver1 cpu and include new md file. + * doc/invoke.texi: Add details about znver1 + +2015-10-06 Richard Biener + + PR tree-optimization/67859 + * tree-ssa-pre.c (create_expression_by_pieces): Properly + discard not inserted stmts. + +2015-10-06 Jonathan Wakely + + * doc/extend.texi (Template Instantiation): Reorder options and + de-emphasize -frepo. + * doc/invoke.texi (C++ Dialect Options): Use -fstrict-enums in + example instead of -frepo. + +2015-10-06 Eric Botcazou + + PR c/65345 + * config/sparc/sparc.c (sparc_atomic_assign_expand_fenv): Adjust to + use create_tmp_var_raw rather than create_tmp_var. + +2015-10-06 Richard Biener + + * tree-vectorizer.h (vec_info): New base class for... + (_loop_vec_info): ... this and ... + (_bb_vec_info): ... this. + (vect_is_simple_use, vect_is_simple_use_1, new_stmt_vec_info, + vect_analyze_data_refs_alignment, vect_verify_datarefs_alignment, + vect_analyze_data_ref_accesses, vect_analyze_data_refs, + vect_schedule_slp, vect_analyze_slp, vect_pattern_recog, + vect_destroy_datarefs): Adjust interface to take a vec_info * + rather than both a loop_vec_info and a bb_vec_info argument. + * tree-vect-data-refs.c (vect_compute_data_refs_alignment, + vect_verify_datarefs_alignment, vect_enhance_data_refs_alignment, + vect_analyze_data_refs_alignment, vect_analyze_data_ref_accesses, + vect_analyze_data_refs, vect_create_data_ref_ptr): Adjust + accordingly. + * tree-vect-loop.c (new_loop_vec_info): Initialize base class. + (destroy_loop_vec_info, vect_analyze_loop_2, + vect_is_simple_reduction_1, get_initial_def_for_induction, + vect_create_epilog_for_reduction, vectorizable_reduction, + vectorizable_live_operation, vect_transform_loop): Adjust. + * tree-vect-patterns.c (type_conversion_p, + vect_recog_widen_mult_pattern, vect_recog_widen_shift_pattern, + vect_recog_rotate_pattern, vect_recog_vector_vector_shift_pattern, + vect_recog_divmod_pattern, vect_recog_mixed_size_cond_pattern, + check_bool_pattern, vect_recog_bool_pattern, + vect_mark_pattern_stmts, vect_pattern_recog): Likewise. + * tree-vect-slp.c (vect_get_and_check_slp_defs, + vect_build_slp_tree_1, vect_build_slp_tree, vect_analyze_slp_cost_1, + vect_analyze_slp_instance, vect_analyze_slp, destroy_bb_vec_info, + vect_slp_analyze_bb_1, vect_schedule_slp): Likewise. + (new_bb_vec_info): Initialize base classs. + * tree-vect-stmts.c (record_stmt_cost, process_use, + vect_get_vec_def_for_operand, vect_finish_stmt_generation, + vectorizable_mask_load_store, vectorizable_call, + vectorizable_simd_clone_call, vectorizable_conversion, + vectorizable_assignment, vectorizable_shift, + vectorizable_operation, vectorizable_store, + vectorizable_load, vect_is_simple_cond, vectorizable_condition, + new_stmt_vec_info, vect_is_simple_use, vect_is_simple_use_1): Likewise. + * tree-vectorizer.c (vect_destroy_datarefs): Likewise. + +2015-10-05 Kaz Kojima + + PR c/65345 + * config/sh/sh.c (sh_atomic_assign_expand_fenv): Adjust to use + create_tmp_var_raw rather than create_tmp_var. + +2015-10-05 Marek Polacek + + * tree-ssa-loop-im.c + (move_computations_dom_walker::before_dom_children): Don't set + SSA_NAME_ANTI_RANGE_P. + * tree-ssa-phiopt.c (value_replacement): Likewise. + +2015-10-05 Aditya Kumar + Sebastian Pop + + * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Increase to 7. + +2015-10-05 Aditya Kumar + Sebastian Pop + + * graphite-poly.c (new_gimple_poly_bb): ... here. + (free_data_refs_aux): ... here. + (free_gimple_poly_bb): ... here. + (remove_gbbs_in_scop): ... here. + (new_scop): Call new_sese. + (free_scop): Call remove_gbbs_in_scop and free_sese. + * graphite-poly.h (base_alias_pair): ... here. + (new_gimple_poly_bb): Declare. + (free_gimple_poly_bb): Declare. + * graphite-scop-detection.c (parameter_index_in_region_1): + (parameter_index_in_region): ... here. + (scan_tree_for_params): ... here. + (find_params_in_bb): ... here. + (find_scop_parameters): ... here. + (build_scops): Call find_scop_parameters. + * graphite-sese-to-poly.c (free_gimple_poly_bb): Move... + (free_scops): Move... + (single_pred_cond_non_loop_exit): Move... + (sese_dom_walker::before_dom_children): Move... + (sese_dom_walker::after_dom_children): Move... + (build_poly_scop): Move... + * graphite-sese-to-poly.h (base_alias_pair): Move... + * graphite.c (free_scops): ... here. + +2015-10-05 Aditya Kumar + Sebastian Pop + + * graphite-scop-detection.c: Include domwalk.h and tree-cfg.h. + (trivially_empty_bb_p): Move... + (same_close_phi_node): Move... + (new_gimple_poly_bb): Move... + (compare_bb_depths): Move... + (graphite_sort_dominated_info): Move... + (remove_duplicate_close_phi): Move... + (make_close_phi_nodes_unique): Move... + (canonicalize_loop_closed_ssa): Move... + (canonicalize_loop_closed_ssa_form): Move... + (loop_ivs_can_be_represented): Move... + (single_pred_cond_non_loop_exit): Move... + (graphite_can_represent_init): Move... + (graphite_can_represent_scev): Move... + (stmt_has_simple_data_refs_p): Move... + (stmt_has_side_effects): Move... + (graphite_can_represent_stmt): Move... + (scop_detection): ... here. + (sese_dom_walker): ... and here. + (build_scops): Call all moved functions. + * graphite-sese-to-poly.c (try_generate_gimple_bb): Move... + (all_non_dominated_preds_marked_p): Move... + (build_scop_bbs_1): Move... + (build_scop_bbs): Move... + (set_scop_parameter_dim): Move... + (nb_pbbs_in_loops): Move... + (build_poly_scop): Do not call all the moved functions. + +2015-10-05 Martin Jambor + Jan Hubicka + + * ipa-cp.c (ipcp_alignment_lattice): New type. + (ipcp_param_lattices): Use the above to represent alignment. + (ipcp_alignment_lattice::print): New function. + (print_all_lattices): Use it to print alignment information. + (ipcp_alignment_lattice::top_p): New function. + (ipcp_alignment_lattice::bottom_p): Likewise. + (ipcp_alignment_lattice::set_to_bottom): Likewise. + (ipcp_alignment_lattice::meet_with_1): Likewise. + (ipcp_alignment_lattice::meet_with): Two new overloaded functions. + (set_all_contains_variable): Use set_to_bottom of alignment lattice. + (initialize_node_lattices): Likewise. + (propagate_alignment_accross_jump_function): Work with the new class + for alignment lattices. + (propagate_constants_accross_call): Pass only the alignment lattice to + propagate_alignment_accross_jump_function. + (ipcp_store_alignment_results): Work with the new class for alignment + lattices. + +2015-10-05 Marek Polacek + + PR tree-optimization/67821 + * tree-ssanames.c (duplicate_ssa_name_range_info): Remove an assert. + +2015-10-05 Thomas Schwinge + + PR other/65021 + * config/i386/intelmic-mkoffload.c (mkoffload_atexit): Rename + function to... + (mkoffload_cleanup): ... this. Adjust all users. + (maybe_unlink): Look at save_temps and verbose flags instead of + debug flag. + (main): Parse "-save-temps" flag. + (generate_target_descr_file, generate_target_offloadend_file) + (generate_host_descr_file, prepare_target_image): Pass it on. + * config/nvptx/mkoffload.c (tool_cleanup): Implement. + (mkoffload_cleanup): New function. + (maybe_unlink): Look at save_temps and verbose flags instead of + debug flag. + (main): Instead of calling utils_cleanup, register atexit handler + for mkoffload_cleanup. + (main): Parse "-save-temps" flag. + (compile_native, main): Pass it on. + * lto-wrapper.c (compile_offload_image): Likewise. + +2015-10-05 Trevor Saunders + + * gimple.h (gimple_op_ptr): Require a non const gimple *. + (gimple_assign_lhs_ptr): Likewise. + (gimple_assign_rhs1_ptr): Likewise. + (gimple_assign_rhs2_ptr): Likewise. + (gimple_assign_rhs3_ptr): Likewise. + (gimple_call_lhs_ptr): Likewise. + (gimple_call_fn_ptr): Likewise. + (gimple_call_chain_ptr): Likewise. + (gimple_call_arg_ptr): Likewise. + (gimple_cond_lhs_ptr): Likewise. + (gimple_cond_rhs_ptr): Likewise. + (gimple_switch_index_ptr): Likewise. + (gimple_return_retval_ptr): Likewise. + +2015-10-05 Trevor Saunders + + * gimple.h (gimple_asm_input_op_ptr): Remove. + (gimple_asm_output_op_ptr): Likewise. + +2015-10-05 Trevor Saunders + + * gimple.h (gimple_location_ptr): Remove. + * tree-vrp.c (check_all_array_refs): Adjust. + +2015-10-05 Trevor Saunders + + * tree-ssa-operands.c (build_uses): store tree * instead of + tree. + (finalize_ssa_uses): Adjust. + (append_use): Likewise. + (verify_ssa_operands): Likewise. + +2015-10-05 Richard Sandiford + + * real.h (build_real_truncate): Declare. + * tree.c (build_real_truncate): New function. + (strip_float_extensions): Use it. + * builtins.c (fold_builtin_cabs, fold_builtin_sqrt, fold_builtin_cbrt) + (fold_builtin_hypot, fold_builtin_pow): Likewise. + * match.pd: Likewise. + +2015-10-05 James Greenhalgh + Jiong Wang + + * config/aarch64/aarch64.md (tlsie_tiny_sidi): Replace "" with "w". + +2015-10-05 Richard Sandiford + + * real.h (REAL_VALUE_FROM_CONST_DOUBLE): Delete. + * config/aarch64/aarch64.c (aarch64_float_const_zero_rtx_p) + (aarch64_print_operand, aarch64_float_const_representable_p) + (aarch64_output_simd_mov_immediate): Use CONST_DOUBLE_REAL_VALUE + instead of REAL_VALUE_FROM_CONST_DOUBLE. + * config/arc/arc.c (arc_print_operand): Likewise. + * config/arm/arm.c (arm_const_double_rtx, vfp3_const_double_index) + (neon_valid_immediate, arm_print_operand, arm_emit_fp16_const) + (vfp3_const_double_for_fract_bits, vfp3_const_double_for_bits): + Likewise. + * config/arm/arm.md (*arm32_movhf, consttable_4, consttable_8) + (consttable_16): Likewise. + * config/arm/vfp.md (*movhf_vfp_neon, *movhf_vfp): Likewise. + * config/avr/avr.c (avr_print_operand): Likewise. + * config/bfin/bfin.md: Likewise (in a define_split). + * config/c6x/c6x.md: Likewise (in a define_split). + * config/cr16/cr16.c (cr16_const_double_ok): Likewise. + (cr16_print_operand): Likewise. + * config/cris/cris.c (cris_print_operand): Likewise. + * config/epiphany/epiphany.c (epiphany_print_operand): Likewise. + * config/fr30/fr30.c (fr30_print_operand): Likewise. + (fr30_const_double_is_zero): Likewise. + * config/frv/frv.c (frv_print_operand, output_move_single): Likewise. + * config/frv/frv.md: Likewise (in a define_split). + * config/frv/predicates.md (int_2word_operand): Likewise. + * config/h8300/h8300.c (h8300_print_operand): Likewise. + * config/i386/i386.c (standard_80387_constant_p): Likewise. + (ix86_print_operand, ix86_split_to_parts): Likewise. + * config/i386/i386.md: Likewise (in a define_split). + * config/ia64/ia64.c (ia64_split_tmode, ia64_print_operand): Likewise. + * config/iq2000/iq2000.md (movsf_lo_sum, movsf_high): Likewise. + * config/m32r/m32r.c (easy_df_const, m32r_print_operand): Likewise. + * config/m68k/m68k.c (handle_move_double, standard_68881_constant_p) + (print_operand): Likewise. + * config/m68k/m68k.md (movsf_cf_hard, movdf_cf_hard): Likewise. + * config/mep/mep.md: Likewise (in define_split). + * config/microblaze/microblaze.c (microblaze_const_double_ok) + (print_operand): Likewise. + * config/mips/mips.md (consttable_float): Likewise. + * config/mmix/mmix.c (mmix_intval): Likewise. + * config/mn10300/mn10300.c (mn10300_print_operand): Likewise. + * config/nvptx/nvptx.c (nvptx_print_operand): Likewise. + * config/pa/pa.c (pa_singlemove_string): Likewise. + * config/pdp11/pdp11.c (pdp11_expand_operands): Likewise. + (pdp11_asm_print_operand, legitimate_const_double_p): Likewise. + * config/rs6000/rs6000.c (num_insns_constant, rs6000_emit_cmove) + (output_toc): Likewise. + * config/rs6000/rs6000.md: Likewise (in define_splits). + * config/rx/rx.c (rx_print_operand): Likewise. + * config/s390/s390.c (s390_output_pool_entry): Likewise. + * config/sh/sh.c (fp_zero_operand, fp_one_operand): Likewise. + * config/sh/sh.md (consttable_sf, consttable_df): Likewise + (and also in define_splits). + * config/sparc/sparc.c (fp_sethi_p, fp_mov_p): Likewise. + (fp_high_losum_p): Likewise. + * config/sparc/sparc.md (*movsf_insn, *movsf_lo_sum): Likewise. + (*movsf_high): Likewise. + * config/spu/spu.c (const_double_to_hwint): Likewise. + * config/v850/v850.c (const_double_split): Likewise. + * config/vax/vax.c (vax_float_literal): Likewise. + * config/visium/visium.c (visium_expand_copysign): Likewise. + * config/visium/visium.md: Likewise (in define_split). + * config/xtensa/predicates.md (const_float_1_operand): Likewise. + * config/xtensa/xtensa.c (print_operand): Likewise. + (xtensa_output_literal): Likewise. + * cprop.c (implicit_set_cond_p): Likewise. + * dwarf2out.c (insert_float): Likewise. + * expmed.c (expand_mult, make_tree): Likewise. + * expr.c (compress_float_constant): Likewise. + * rtlanal.c (split_double): Likewise. + * simplify-rtx.c (avoid_constant_pool_reference): Likewise. + (simplify_const_unary_operation, simplify_binary_operation_1) + (simplify_const_binary_operation): Likewise. + (simplify_const_relational_operation): Likewise. + * varasm.c (output_constant_pool_2): Likewise. + +2015-10-05 Richard Sandiford + + * real.h (CONST_DOUBLE_ATOF): Use const_double_from_real_value + instead of CONST_DOUBLE_FROM_REAL_VALUE. + (CONST_DOUBLE_FROM_REAL_VALUE): Delete. + * config/c6x/c6x.md (divsf3, divdf3): Use const_double_from_real_value + instead of CONST_DOUBLE_FROM_REAL_VALUE. + * config/epiphany/epiphany.md (fixuns_truncsfsi2): Likewise. + * config/i386/i386.c (standard_80387_constant_rtx): Likewise. + (ix86_expand_builtin, ix86_emit_i387_log1p, ix86_emit_i387_round) + (ix86_emit_swsqrtsf): Likewise. + * config/ia64/ia64.c (ia64_expand_builtin): Likewise. + * config/mips/mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2) + (fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise. + * config/pa/pa.c (pa_expand_builtin): Likewise. + * config/rs6000/rs6000.c (rs6000_load_constant_and_splat): Likewise. + (rs6000_scale_v2df): Likewise. + * config/rs6000/rs6000.md (*cmptf_internal2): Likewise. + * config/s390/s390.md (fixuns_truncdddi2, fixuns_trunctddi2) + (fixuns_trunc2): Likewise. + * config/s390/vx-builtins.md (vec_ctd_s64, vec_ctd_u64, vec_ctsl) + (vec_ctul): Likewise. + * config/sparc/sparc.c (sparc_emit_fixunsdi): Likewise. + * config/spu/spu.c (hwint_to_const_double, spu_float_const): Likewise. + * config/spu/spu.md (floatunsdisf2, floatunstisf2): Likewise. + * cse.c (fold_rtx): Likewise. + * emit-rtl.c (immed_double_const): Likewise (in comments). + (init_emit_once): Likewise. + * expr.c (compress_float_constant, expand_expr_real_1) + (const_vector_from_tree): Likewise. + * optabs.c (expand_float, expand_fix): Likewise. + * reg-stack.c (reg_to_stack): Likewise. + * simplify-rtx.c (avoid_constant_pool_reference): Likewise. + (simplify_const_unary_operation, simplify_binary_operation_1) + (simplify_const_binary_operation, simplify_relational_operation) + (simplify_immed_subreg): Likewise. + +2015-10-05 Richard Sandiford + + * doc/tm.texi.in (REAL_ARITHMETIC): Delete. + * doc/tm.texi: Regenerate. + * real.h (REAL_ARITHMETIC): Delete. + * config/i386/i386.c (ix86_expand_lround, ix86_expand_round) + (ix86_expand_round_sse4): Use real_arithmetic instead of + REAL_ARITHMETIC. + * config/i386/sse.md (round2): Likewise. + * rtl.h (rtx_to_tree_code): Likewise (in comment). + * explow.c (rtx_to_tree_code): Likewise (in comment). + * match.pd: Likewise. + * simplify-rtx.c (simplify_binary_operation_1): Likewise. + * tree-ssa-math-opts.c (representable_as_half_series_p): Likewise. + (expand_pow_as_sqrts): Likewise. + * tree-pretty-print.c (dump_generic_node): Remove code that + was conditional on REAL_ARITHMETIC being undefined. + +2015-10-05 Richard Sandiford + + * doc/tm.texi.in (REAL_VALUES_LESS): Delete. + * doc/tm.texi: Regenerate. + * real.h (real_less): Declare. + (REAL_VALUES_LESS): Delete. + * real.c (real_less): New function. + (real_compare): Use it. + * config/m68k/m68k.c (floating_exact_log2): Use real_less instead + of REAL_VALUES_LESS. + * config/microblaze/microblaze.c (microblaze_const_double_ok): + Likewise. + * fold-const.c (fold_convert_const_int_from_real): Likewise. + * simplify-rtx.c (simplify_const_unary_operation): Likewise. + (simplify_const_relational_operation): Likewise. + * tree-call-cdce.c (check_pow): Likewise. + (gen_conditions_for_pow_cst_base): Likewise. + +2015-10-05 Richard Sandiford + + * real.h (REAL_VALUES_IDENTICAL): Delete. + * config/m68k/m68k.c (standard_68881_constant_p): Use real_identical + instead of REAL_VALUES_IDENTICAL. + * fold-const.c (operand_equal_p): Likewise. + * ipa-icf.c (sem_variable::equals): Likewise. + * tree-complex.c (some_nonzerop): Likewise. + (expand_complex_multiplication): Likewise. + * tree.c (simple_cst_equal): Likewise. + * varasm.c (compare_constant): Likewise. + +2015-10-05 Richard Sandiford + + * real.h (real_equal): Declare. + (REAL_VALUES_EQUAL): Delete. + * real.c (real_equal): New function. + (real_compare): Use it. + * doc/tm.texi.in (REAL_VALUES_EQUAL): Delete. + * doc/tm.texi: Regenerate. + * builtins.c (fold_builtin_pow, fold_builtin_load_exponent): Use + real_equal instead of REAL_VALUES_EQUAL. + * config/aarch64/aarch64.c (aarch64_float_const_zero_rtx_p): Likewise. + * config/arm/arm.c (arm_const_double_rtx, neon_valid_immediate) + (fp_const_from_val): Likewise. + * config/fr30/fr30.c (fr30_const_double_is_zero): Likewise. + * config/m68k/m68k.c (standard_68881_constant_p): Likewise. + (floating_exact_log2): Likewise. + * config/sh/sh.c (fp_zero_operand, fp_one_operand): Likewise. + * config/vax/vax.c (vax_float_literal): Likewise. + * config/xtensa/predicates.md (const_float_1_operand): Likewise. + * cprop.c (implicit_set_cond_p): Likewise. + * expmed.c (expand_mult): Likewise. + * fold-const.c (const_binop): Likewise. + * simplify-rtx.c (simplify_binary_operation_1): Likewise. + (simplify_const_binary_operation): Likewise. + (simplify_const_relational_operation): Likewise. + * tree-call-cdce.c (check_pow): Likewise. + (gen_conditions_for_pow_cst_base): Likewise. + * tree-inline.c (estimate_num_insns): Likewise. + * tree-ssa-dom.c (record_equality): Likewise. + * tree-ssa-math-opts.c (representable_as_half_series_p): Likewise. + (gimple_expand_builtin_pow): Likewise. + (pass_optimize_widening_mul::execute): Likewise. + * tree-ssa-uncprop.c (associate_equivalences_with_edges): Likewise. + * tree-vect-patterns.c (vect_recog_pow_pattern): Likewise. + * tree.c (real_zerop, real_onep, real_minus_onep): Likewise. + +2015-10-05 Richard Biener + + PR ipa/67783 + * ipa-inline-analysis.c (estimate_function_body_sizes): Only + consider loop header PHI defs as IVs. + +2015-10-05 Richard Biener + + * tree-ssa-pre.c (create_component_ref_by_pieces_1): Move + call handling ... + (create_expression_by_pieces): ... here and build GIMPLE + calls directly. Use gimple_build API and avoid force_gimple_operand. + (insert_into_preds_of_block): Simplify. + (do_regular_insertion): Add comment. + +2015-10-04 Jason Merrill + + * builtins.def (BUILT_IN_ABORT): Add transaction_pure attribute. + +2015-10-04 Uros Bizjak + + * config/i386/i386.c (ix86_nsaved_regs): Use GENERAL_REGNO_P to + check for general register. + (ix86_emit_save_regs): Ditto. + (ix86_emit_save_regs_using_mov): Ditto. + (ix86_emit_restore_regs_using_pop): Ditto. + (ix86_emit_restore_regs_using_mov): Ditto. + +2015-10-03 Marek Polacek + + * Makefile.in (insn-latencytab.o): Remove -Wno-duplicated-cond. + (insn-dfatab.o): Likewise. + +2015-10-03 Max Filippov + + * config.gcc (xtensa*-*-uclinux*): New configuration. + * config/xtensa/uclinux.h: New file. + * config/xtensa/uclinux.opt: New file. + +2015-10-03 Jonathan Wakely + + * doc/cpp.texi (Standard Predefined Macros): Document value of + __cplusplus for C++14. + +2015-10-02 Bernd Schmidt + + * gcc.c (process_command): Use spec_machine rather than + spec_host_machine to build tooldir_prefix2. + +2015-10-02 Thomas Schwinge + Bernd Schmidt + + * config/nvptx/mkoffload.c (Kind, Vis): Remove enums. + (Token, Stmt): Remove structs. + (decls, vars, fns): Remove variables. + (alloc_comment, append_stmt, is_keyword): Remove macros. + (tokenize, write_token, write_tokens, alloc_stmt, rev_stmts) + (write_stmt, write_stmts, parse_insn, parse_list_nosemi) + (parse_init, parse_file): Remove functions. + (read_file): Accept a pointer to a length and store into it. + (process): Don't try to parse the input file, just write it out as + a string, but looking for maps. Also write out the length. + (main): Don't use "-S" to compile PTX code. + +2015-10-02 Jeff Law + + * tree-ssa-dom.c (optimize_stmt): Note when loop structures need + fixups. + +2015-10-02 Thomas Schwinge + + PR target/67822 + * config/nvptx/mkoffload.c (main): Scan the argument vector for + -fopenmp, and skip generating an offloading image if specified. + +2015-10-02 Uros Bizjak + + * system.h (ROUND_UP): New macro definition. + (ROUND_DOWN): Ditto. + * ggc-page.c (ROUND_UP): Remove local macro definition. + (PAGE_ALIGN): Implement using ROUND_UP macro. + + * config/i386/i386.h (PUSH_ROUNDING): Implement using ROUND_UP macro. + * config/i386/i386.c (function_arg_advance_64): Use ROUND_UP macro + to align values. + (ix86_compute_frame_layout): Ditto. + (ix86_expand_prologue): Ditto. + (ix86_adjust_stack_and_probe): Use ROUND_DOWN macro + to round down values. + (expand_set_or_movmem_via_rep): Ditto. + +2015-10-02 Marek Polacek + + * genemit.c (gen_exp): Remove -Wduplicated-cond hack. + +2015-10-02 Aditya Kumar + + * graphite-scop-detection.c (loop_ivs_can_be_represented): New. + (loop_body_is_valid_scop): Call loop_ivs_can_be_represented. + * graphite-sese-to-poly.c (new_gimple_bb): Renamed new_gimple_poly_bb. + (free_gimple_bb): Renamed free_gimple_poly_bb. + (try_generate_gimple_bb): Hoist loop invariant code. + (analyze_drs_in_stmts): Same. + (build_scop_drs): Call renamed functions. + (new_pbb_from_pbb): Same. + (scop_ivs_can_be_represented): Delete as functionality now moved to + graphite-scop-detection.c + (build_poly_scop): Remove call to scop_ivs_can_be_represented. + +2015-10-02 Aditya Kumar + + * graphite-scop-detection.c (stmt_has_side_effects): New function + outlined from stmt_simple_for_scop_p. + (graphite_can_represent_stmt): Same. + (stmt_simple_for_scop_p): Moved code out of this function for better + readability. + +2015-10-02 Kirill Yukhin + + * config/i386/i386.c (processor_features): Add F_AVX512VBMI, + F_AVX512IFMA. + (isa_names_table): Handle F_AVX512VBMI and F_AVX512IFMA. + +2015-10-02 Ramana Radhakrishnan + + * config/aarch64/aarch64-elf.h (TARGET_ASM_NAMED_SECTION): Delete. + +2015-10-02 Vladimir Makarov + + PR rtl-optimization/67756 + * lra-constraints.c (match_reload): Add a new parameter. Use it + for creating a pseudo with the same value. + (curr_insn_transform): Pass a new argument to match_reload. + +2015-10-02 Kirill Yukhin + + * config/i386/i386.c (expand_vec_perm_even_odd_trunc): New. + (expand_vec_perm_even_odd_1): Handle V64QImode. + (ix86_expand_vec_perm_const_1): Try expansion with + expand_vec_perm_even_odd_trunc as well. + * config/i386/sse.md (VI124_AVX512F): Rename to ... + (define_mode_iterator VI124_AVX2_24_AVX512F_1_AVX512BW): This. Extend + to V54QI. + (define_mode_iterator VI248_AVX2_8_AVX512F): Rename to ... + (define_mode_iterator VI248_AVX2_8_AVX512F_24_AVX512BW): This. Extend + to V32HI and V16SI. + (define_insn "avx512bw_v32hiv32qi2"): Unhide pattern name. + (define_expand "vec_pack_trunc_"): Update iterator name. + (define_expand "vec_unpacks_lo_"): Ditto. + (define_expand "vec_unpacks_hi_"): Ditto. + (define_expand "vec_unpacku_lo_"): Ditto. + (define_expand "vec_unpacku_hi_"): Ditto. + +2015-10-02 Kirill Yukhin + + * doc/invoke.texi: Mention -mavx512vl, -mavx512bw, -mavx512dq, + -mavx521vbmi, -mavx512ifma. Add missing opindex-es. + +2015-10-02 Jason Merrill + + PR c/59218 + * trans-mem.c (volatile_lvalue_p): Rename from volatile_var_p. + (diagnose_tm_1_op): Also diagnose volatile accesses in + transaction_safe function. + +2015-10-02 Jonathan Wakely + + * system.h (malloc.h): Don't include obsolete header. + +2015-10-02 Ramana Radhakrishnan + + * config/aarch64/aarch64.c (aarch64_elf_asm_named_section): Delete. + (TLS_SECTION_ASM_FLAG): Delete. + +2015-10-02 Marek Polacek + + PR c/64249 + * doc/invoke.texi: Document -Wduplicated-cond. + * Makefile.in (insn-latencytab.o): Use -Wno-duplicated-cond. + (insn-dfatab.o): Likewise. + * genemit.c (gen_exp): Rewrite condition to avoid -Wduplicated-cond + warning. + +2015-10-02 Oleg Endo + + * config/sh/sh.md: Add new unnamed split pattern to handle movt-movt + sequences. + +2015-10-02 Renlin Li + + * config/aarch64/aarch64.md (csneg3_insn_uxtw): New pattern. + +2015-10-02 Renlin Li + + PR target/66776 + * config/aarch64/aarch64.md (cmovdi_insn_uxtw): New pattern. + +2015-10-02 Kyrylo Tkachov + + PR rtl-optimization/67786 + PR rtl-optimization/67787 + * ifcvt.c (bb_valid_for_noce_process_p): Reject basic block if + it modifies a reg used in the condition calculation. + +2015-10-02 James Greenhalgh + + * config/aarch64/aarch64-simd.md (*aarch64_combinez): Add + alternatives for reads from memory and moves from general-purpose + registers. + (*aarch64_combinez_be): Likewise. + +2015-10-02 Kai Tietz + + PR target/51726 + * config/i386/winnt.c (ix86_handle_selectany_attribute): Handle + selectany within this function without need to keep attribute. + (i386_pe_encode_section_info): Remove selectany-code. + +2015-10-02 Richard Biener + + * tree-ssa-sccvn.c (has_VN_INFO): New function. + (free_scc_vn): Use it. + (visit_use): Remove dead code and refactor to use gassign + and use less indentation. + +2015-10-01 Segher Boessenkool + + PR target/67788 + PR target/67789 + * config/rs6000/rs6000.c (TARGET_CANNOT_COPY_INSN_P): New. + (rs6000_cannot_copy_insn_p): New function. + * config/rs6000/rs6000.md (cannot_copy): New attribute. + (load_toc_v4_PIC_1_normal): Set cannot_copy. + (load_toc_v4_PIC_1_476): Ditto. + +2015-10-01 Aditya Kumar + + * graphite-scop-detection.c (struct sese_l): New conversion constructor + so that this type can be pushed into a vec. + (class scop_builder): use sese_l to collect scops. + (get_scops): New getter function. + (remove_intersecting_scops): Use sese_l instead of scops_p. + (intersects): Same. + (add_scop): Same. + (subsumes): Same. + (remove_subscops): Same. + (build_scops): Add scops to vec once all the scops have been + detected. + +2015-10-01 Aditya Kumar + + * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple): + Renamed type from gimple_bb_p to gimple_poly_bb_p. + (translate_isl_ast_node_user): Same. + * graphite-poly.c (new_poly_bb): Same. + * graphite-poly.h (gbb_from_bb): Same. + * sese.h: Same. + * graphite-sese-to-poly.c (new_gimple_bb): + gimple_bb_p -> gimple_poly_bb_p + (build_scop_scattering): Same. + (find_params_in_bb): Same. + (add_conditions_to_domain): Same. + (sese_dom_walker::before_dom_children): Same. + (analyze_drs_in_stmts): Same. + (new_pbb_from_pbb): Same. + (free_data_refs_aux): New pointer to type base_alias_pair. + * graphite-sese-to-poly.h: Same. + * sese.c (if_region_set_false_region): Fixed Indentation. + (move_sese_in_condition): Same. + +2015-10-01 Sebastian Pop + Aditya Kumar + + PR tree-optimization/66980 + * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Return false + when data reference analysis has failed. + +2015-10-01 Sebastian Pop + Aditya Kumar + + PR tree-optimization/67754 + * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Call + scev analysis on the same loop nest as analyze_drs_in_stmts. + * graphite-sese-to-poly.c (outermost_loop_in_sese_1): Moved and + renamed... + (try_generate_gimple_bb): Call outermost_loop_in_sese. + (analyze_drs_in_stmts): Same. + * sese.c (outermost_loop_in_sese): ...here. + +2015-10-01 Sebastian Pop + Aditya Kumar + + PR tree-optimization/67754 + * graphite-scop-detection.c (loop_body_is_valid_scop): Add missing + recursion on the inner loops. + +2015-10-01 Trevor Saunders + + * cfganal.c, compare-elim.c, coverage.c, cprop.c, df-scan.c, + function.c, read-rtl.c, statistics.c, trans-mem.c, tree-if-conv.c, + tree-into-ssa.c, tree-loop-distribution.c, tree-ssa-coalesce.c, + tree-ssa-loop-ivopts.c, tree-ssa-reassoc.c, tree-ssa-strlen.c, + tree-ssa-tail-merge.c, tree-vrp.c, var-tracking.c: Remove + +2015-10-01 Marek Polacek + + PR c/65345 + * config/i386/i386.c (ix86_atomic_assign_expand_fenv): Adjust to use + create_tmp_var_raw rather than create_tmp_var. + +2015-10-01 Marek Polacek + + PR tree-optimization/67769 + * tree-ssa-phiopt.c (conditional_replacement): Call + reset_flow_sensitive_info_in_bb. + (minmax_replacement): Likewise. + (abs_replacement): Likewise. + +2015-10-01 Nathan Sidwell + + * builtins.c: Don't include gomp-constants.h. + (fold_builtin_1): Don't fold acc_on_device here. + * gimple-fold.c: Include gomp-constants.h. + (gimple_fold_builtin_acc_on_device): New. + (gimple_fold_builtin): Call it. + +2015-10-01 H.J. Lu + + * config/i386/x86-tune.def (X86_TUNE_USE_BT): Enable for Lakemont. + (X86_TUNE_ZERO_EXTEND_WITH_AND): Disable for Lakemont. + +2015-10-01 James Greenhalgh + + * config/arm/aarch-common-protos.h + (aarch_accumulator_forwarding): New. + (aarch_forward_to_shift_is_not_shifted_reg): Likewise. + * config/arm/aarch-common.c (aarch_accumulator_forwarding): New. + (aarch_forward_to_shift_is_not_shifted_reg): Likewise. + * config/arm/cortex-a53.md: Rewrite. + +2015-10-01 Richard Biener + + * gimple-match.h (mprts_hook): Declare. + * gimple-match.head.c (mprts_hook): Define. + (maybe_push_res_to_seq): Use new hook. + * gimple-fold.c (gimple_fold_stmt_to_constant_1): Likewise. + * tree-ssa-sccvn.h (vn_ssa_aux::expr): Change to a gimple_seq. + (vn_ssa_aux::has_constants): Remove. + * tree-ssa-sccvn.c: Include gimple-match.h. + (VN_INFO_GET): Assert we don't re-use SSA names. + (vn_get_expr_for): Remove. + (expr_has_constants): Likewise. + (stmt_has_constants): Likewise. + (simplify_binary_expression): Likewise. + (simplify_unary_expression): Likewise. + (vn_lookup_simplify_result): New hook. + (visit_copy): Adjust. + (visit_reference_op_call): Likewise. + (visit_phi): Likewise. + (visit_use): Likewise. + (process_scc): Likewise. + (init_scc_vn): Likewise. + (visit_reference_op_load): Likewise. Use match-and-simplify and + a gimple seq for inserted expressions. + (try_to_simplify): Remove GENERIC stmt combining code. + (sccvn_dom_walker::before_dom_children): Use match-and-simplify. + * tree-ssa-pre.c (eliminate_insert): Adjust. + (eliminate_dom_walker::before_dom_children): Likewise. + +2015-10-01 Segher Boessenkool + + * doc/invoke.texi (Optimization Options): Add + -freorder-blocks-algorithm=. + (Optimize Options) <-O>: Add -freorder-blocks. + <-O2>: Remove -freorder-blocks. Add -freorder-blocks-algorithm=stc. + <-Os>: Add -freorder-blocks-algorithm=stc as not enabled. + <-freorder-blocks>: Also enabled at levels -O and -Os. + <-freorder-blocks-algorithm=>: Document new option. + +2015-10-01 Segher Boessenkool + + * bb-reorder.c (reorder_basic_blocks): Use the algorithm selected + with flag_reorder_blocks_algorithm. + * common.opt (freorder-blocks-algorithm=): New flag. + (reorder_blocks_algorithm): New enum. + * flag-types.h (reorder_blocks_algorithm): New enum. + * opts.c (default_options_table): Use -freorder-blocks at -O1 and up, + and -freorder-blocks-algorithm=stc at -O2 and up (not at -Os). + +2015-10-01 Segher Boessenkool + + * bb-reorder.c: Add intro comment. + (reorder_basic_blocks_software_trace_cache): Print a header to + the dump file. + (edge_order): New function. + (reorder_basic_blocks_simple): New function. + (reorder_basic_blocks): Choose between the STC and the simple + algorithms (always choose the former). + +2015-10-01 Segher Boessenkool + + * bb-reorder.c (reorder_basic_blocks_software_trace_cache): New + function, factored out from ... + (reorder_basic_blocks): ... here. + +2015-10-01 Tom de Vries + + * tree-cfg.c (dump_function_to_file): Dump function attributes using + __attribute__(()) string. Move dumping of function attributes to before + function name. + +2015-10-01 Lynn Boger + + PR target/66870 + * config/rs6000/sysv4.h (TARGET_CAN_SPLIT_STACK_64BIT): Define. + * configure.ac: Define HAVE_GOLD_ALTERNATE_SPLIT_STACK on Power + based on gold linker version. + * gcc.c: Add -fuse-ld=gold to STACK_SPLIT_SPEC if + HAVE_GOLD_ALTERNATE_SPLIT_STACK defined. + * configure, config.in: Regenerate. + +2015-10-01 Alan Modra + + * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't set + r2_setup_needed when TARGET_SINGLE_PIC_BASE. + (rs6000_output_mi_thunk): Likewise. + +2015-09-30 Nathan Sidwell + + * config/nvptx/mkoffload.c (process): Change offload data format. + +2015-09-30 Jeff Law + + * tree-ssa-dom.c (optimize_stmt): Collapse control flow statements + with constant conditions. + * tree-ssa-threadupdate.c (remove_jump_threads_starting_at): New. + (remove_ctrl_stmt_and_useless_edges): No longer static. + * tree-ssa-threadupdate.h (remove_jump_threads_starting_at): Prototype. + (remove_ctrl_stmt_and_useless_edges): Likewise. + +2015-09-30 Nathan Sidwell + Cesar Philippidis + + * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): New. + (TARGET_GOACC_VALIDATE_DIMS): Override. + * target.def (TARGET_GOACC): New target hook prefix. + (validate_dims): New hook. + * targhooks.h (default_goacc_validate_dims): New. + * omp-low.c (oacc_validate_dims): New. + (execute_oacc_device_lower): New. + (default_goacc_validate_dims): New. + (pass_data_oacc_device_lower): New. + (pass_oacc_device_lower): New pass. + (make_pass_oacc_device_lower): New. + * tree-pass.h (make_pass_oacc_device_lower): Declare. + * passes.def (pass_oacc_device_lower): Add it. + * doc/tm.texi: Rebuilt. + * doc/tm.texi.in (TARGET_GOACC_VALIDATE_DIMS): Add hook. + * doc/invoke.texi (oaccdevlow): Document tree dump flag. + +2015-09-30 Bernd Edlinger + + PR rtl-optimization/67037 + * lra-constraints.c (process_addr_reg): Use copy_rtx when necessary. + +2015-09-30 Bernd Schmidt + + * gimple-ssa.h (gimple_df): Add free_ssanames_queue field. + * passes.c: Include tree-ssanames.h. + (execute_function_todo): Flush the pending free SSA_NAMEs after + eliminating unreachable basic blocks. + * tree-ssanames.c (FREE_SSANAMES_QUEUE): new. + (init_ssanames): Initialize FREE_SSANAMES_QUEUE. + (fini_ssanames): Finalize FREE_SSANAMES_QUEUE. + (flush_ssanames_freelist): New function. + (release_ssaname_fn): Put released names on the queue. + (pass_release_ssa_names::execute): Call flush_ssanames_freelist. + * tree-ssanames.h (flush_ssanames_freelist): Declare. + +2015-09-30 Thomas Schwinge + + * config/i386/intelmic-mkoffload.c (main): Parse "-v" flag. + (generate_target_descr_file, generate_target_offloadend_file) + (generate_host_descr_file, prepare_target_image): Pass it on. + * config/nvptx/mkoffload.c (main): Parse "-v" flag. + (compile_native, main): Pass it on. + * lto-wrapper.c (compile_offload_image): Likewise. + +2015-09-30 Thomas Schwinge + Ilya Verbin + Andrey Turetskiy + + * config/i386/intelmic-mkoffload.c (generate_host_descr_file) + (prepare_target_image, main): Refactor argv building to use + obstacks. + +2015-09-30 Ulrich Weigand + + * config/spu/spu-protos.h (spu_expand_atomic_op): Add prototype. + * config/spu/spu.c (spu_expand_atomic_op): New function. + * config/spu/spu.md (AINT): New mode iterator. + (ATOMIC): New code iterator. + (atomic_name, atomic_pred): New code predicates. + ("atomic_load", "atomic_store"): New expanders. + ("atomic_compare_and_swap", "atomic_exchange"): Likewise. + (""atomic_", "atomic_fetch_", + "atomic__fetch"): Likewise. + +2015-09-30 Ilya Enkovich + + * config/i386/i386.c (scalar_chain::analyze_register_chain): Ignore + debug insns. + (scalar_chain::convert_reg): Likewise. + +2015-09-30 Richard Biener + + * builtins.c: Add comment that no new simplifications should + be added here. + +2015-09-30 Marek Polacek + + PR tree-optimization/67690 + * tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): Call + reset_flow_sensitive_info_in_bb. + * tree-ssa-tail-merge.c (replace_block_by): Likewise. + * tree-ssanames.c: Include "gimple-iterator.h". + (reset_flow_sensitive_info_in_bb): New function. + * tree-ssanames.h (reset_flow_sensitive_info_in_bb): Declare. + +2015-09-30 Thomas Schwinge + + * config/i386/intelmic-mkoffload.c (target_ilp32): Remove + variable, replacing it with... + (offload_abi): ... this new variable. Adjust all users. + * config/nvptx/mkoffload.c (target_ilp32, offload_abi): Likewise. + +2015-09-30 Matthias Klose + + * configure.ac: Remove extraneous ;;. + * configure: Regenerate. + +2015-09-29 James Bowman + + * config/ft32/predicates.md (ft32_imm_operand): New predicate. + * config/ft32/ft32.md (movmemsi, setmemsi): Use ft32_imm_operand + predicate, disallow register for operand 2. + +2015-09-29 Aditya Kumar + + * graphite-dependences.c (scop_get_dependences): Moved in down + in order to be visible to its caller. + * graphite-poly.h: Removed compute_deps, and extend_schedule. + +2015-09-29 Sebastian Pop + Aditya Kumar + + PR tree-optimization/67754 + * graphite-optimize-isl.c (optimize_isl): Call + isl_options_set_schedule_fuse with ISL_SCHEDULE_FUSE_MIN for ISL-14. + +2015-09-29 Nathan Sidwell + + * builtins.c (expand_builtin_acc_on_device): Delete. + (expand_builtin): Don't call it. + (fold_builtin_1): Fold acc_on_device. + +2015-09-29 H.J. Lu + + * config/i386/i386.c (ix86_function_arg): Fix typo in comments. + (ix86_nsaved_sseregs): Likewise. + +2015-09-29 Jeff Law + + * config/microblaze/microblaze.c (microblaze_version_to_int): Remove + computation of unused value. + + * config/pdp11/pdp11.c (pdp11_branch_cost): New function. + * config/pdp11/pdp11.h (BRANCH_COST): Call function rather than + inline macro expansion. + + * config/i386/t-interix (winnt-stubs.o): Fix compilation rule. + + * config/sh/sh.c (gen_shl_and): Fix undefined left shift behaviour. + (gen_shl_sext): Likewise. + * config/sh/sh.md (divsi3): Likewise. + (imm->ext_dest_operand splitter): Likewise. + +2015-09-29 Sebastian Pop + Aditya Kumar + + * graphite-sese-to-poly.c (gsi_for_phi_node): Remove. + (nb_data_writes_in_bb): Remove. + (split_pbb): Remove. + (split_reduction_stmt): Remove. + (is_reduction_operation_p): Remove. + (phi_contains_arg): Remove. + (follow_ssa_with_commutative_ops): Remove. + (detect_commutative_reduction_arg): Remove. + (detect_commutative_reduction_assign): Remove. + (follow_inital_value_to_phi): Remove. + (edge_initial_value_for_loop_phi): Remove. + (initial_value_for_loop_phi): Remove. + (used_outside_reduction): Remove. + (detect_commutative_reduction): Remove. + (translate_scalar_reduction_to_array_for_stmt): Remove. + (remove_phi): Remove. + (dr_indices_valid_in_loop): Remove. + (close_phi_written_to_memory): Remove. + (translate_scalar_reduction_to_array): Remove. + (rewrite_commutative_reductions_out_of_ssa_close_phi): Remove. + (rewrite_commutative_reductions_out_of_ssa_loop): Remove. + (rewrite_commutative_reductions_out_of_ssa): Remove. + (build_poly_scop): Remove call to + rewrite_commutative_reductions_out_of_ssa. + +2015-09-29 Evandro Menezes + + * config/arm/types.md (neon_ldp, neon_ldp_q, neon_stp, neon_stp_q): + Add new insn types for vector load and store pairs. + * config/arm/cortex-a53.md (cortex_a53_f_load_2reg): Add insn + types "neon_ldp{,_q}". + * config/arm/cortex-a57.md (neon_load_c): Add insn types + "neon_ldp{,_q}". + (neon_store_complex): Add insn types "neon_stp{,_q}". + * config/aarch64/aarch64-simd.md (aarch64_be_movoi): Add insn types + "neon_{ldp,stp}_q". + +2015-09-29 Jeff Law + + * config/rx/constraints.md (Int08): Fix undefined left shift + behaviour. + (Sint08, Sint16, Sint24): Likewise. + * config/rx/rx.c (rx_get_stack_layout): Likewise. + + * config/rl78/rl78-expand.md (movqi): Fix undefined left shift + behaviour. + + * config/msp430/msp430.c (msp430_legitimate_constant): Fix undefined + left shift behaviour. + * config/msp430/constraints.md ('L' constraint): Similarly. + ('Ys' constraint): Similarly. + +2015-09-29 Richard Biener + + PR tree-optimization/67170 + * tree-ssa-alias.h (get_continuation_for_phi): Adjust + the translate function pointer parameter to get the + bool whether to disambiguate only by reference. + (walk_non_aliased_vuses): Likewise. + * tree-ssa-alias.c (maybe_skip_until): Adjust. + (get_continuation_for_phi_1): Likewise. + (get_continuation_for_phi): Likewise. + (walk_non_aliased_vuses): Likewise. + * tree-ssa-sccvn.c (const_parms): New bitmap. + (vn_reference_lookup_3): Adjust for interface change. + Disambiguate parameters pointing to readonly memory. + (free_scc_vn): Free const_parms. + (run_scc_vn): Initialize const_parms from a fn spec attribute. + +2015-09-29 Richard Biener + + PR tree-optimization/67741 + * tree-ssa-math-opts.c (pass_cse_sincos::execute): Only recognize + builtin calls with correct signature. + +2015-09-29 Ilya Enkovich + + PR target/65105 + * config/i386/i386.c: Include dbgcnt.h. + (has_non_address_hard_reg): New. + (convertible_comparison_p): New. + (scalar_to_vector_candidate_p): New. + (remove_non_convertible_regs): New. + (scalar_chain): New. + (scalar_chain::scalar_chain): New. + (scalar_chain::~scalar_chain): New. + (scalar_chain::add_to_queue): New. + (scalar_chain::mark_dual_mode_def): New. + (scalar_chain::analyze_register_chain): New. + (scalar_chain::add_insn): New. + (scalar_chain::build): New. + (scalar_chain::compute_convert_gain): New. + (scalar_chain::replace_with_subreg): New. + (scalar_chain::replace_with_subreg_in_insn): New. + (scalar_chain::emit_conversion_insns): New. + (scalar_chain::make_vector_copies): New. + (scalar_chain::convert_reg): New. + (scalar_chain::convert_op): New. + (scalar_chain::convert_insn): New. + (scalar_chain::convert): New. + (convert_scalars_to_vector): New. + (pass_data_stv): New. + (pass_stv): New. + (make_pass_stv): New. + (ix86_option_override): Created and register stv pass. + (flag_opts): Add -mstv. + (ix86_option_override_internal): Likewise. + * config/i386/i386.md (SWIM1248x): New. + (*movdi_internal): Add xmm to mem alternative for TARGET_STV. + (and3): Use SWIM1248x iterator instead of SWIM. + (*anddi3_doubleword): New. + (*zext_doubleword): New. + (*zextsi_doubleword): New. + (3): Use SWIM1248x iterator instead of SWIM. + (*di3_doubleword): New. + * config/i386/i386.opt (mstv): New. + * dbgcnt.def (stv_conversion): New. + +2015-09-29 Tom de Vries + + * tree-cfg.c (dump_function_to_file): Dump function attributes. + +2015-09-29 Kaz Kojima + + PR target/67716 + * config/sh/sh.c (sh_override_options_after_change): New. + (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define. + (sh_option_override): Move align_loops, align_jumps and + align_functions handling into sh_override_options_after_change. + +2015-09-28 Nathan Sidwell + + * config/nvptx/nvptx.c: Include omp-low.h and gomp-constants.h. + (nvptx_record_offload_symbol): Record function execution geometry. + * config/nvptx/mkoffload.c (process): Include launch geometry in + function data. + * omp-low.c (oacc_launch_pack): New. + (replace_oacc_fn_attrib): New. + (set_oacc_fn_attrib): New. + (get_oacc_fn_attrib): New. + (expand_omp_target): Create keyed varargs for GOACC_parallel call + generation. + * omp-low.h (get_oacc_fn_attrib): Declare. + * builtin-types.def (DEF_FUNCTION_TyPE_VAR_6): New. + (DEF_FUNCTION_TYPE_VAR_11): Delete. + * tree.h (OMP_CLAUSE_EXPR): New. + * omp-builtins.def (BUILT_IN_GOACC_PARALLEL): Change target fn name. + +2015-09-28 Aditya Kumar + Sebastian Pop + + * sese.c (invariant_in_sese_p_rec): Remove unused variable. + +2015-09-28 Aditya Kumar + Sebastian Pop + + * graphite-optimize-isl.c (optimize_isl): Use ISL_SCHEDULE_FUSE_MAX. + * graphite-scop-detection.c (struct sese_l): New type. + (get_entry_bb): API for getting entry bb of SESE. + (get_exit_bb): API for getting exit bb of SESE. + (class debug_printer): New type. Simple printer in debug mode. + (trivially_empty_bb_p): New. Return true when BB is empty or + contains only debug instructions. + (graphite_can_represent_expr): Call scalar_evoution_in_region + instead of analyze_scalar_evolution. Pass in scop instead of only + the scop entry. + (stmt_has_simple_data_refs_p): Pass in scop instead of only the + scop entry. + (stmt_simple_for_scop_p): Same. + (harmful_stmt_in_bb): Same. + (graphite_can_represent_loop): Deleted. + (struct scopdet_info): Deleted. + (scopdet_basic_block_info): Deleted. + (build_scops_1): Deleted. + (bb_in_sd_region): Deleted. + (find_single_entry_edge): Deleted. + (find_single_exit_edge): Deleted. + (create_single_entry_edge): Deleted. + (sd_region_without_exit): Deleted. + (create_single_exit_edge): Deleted. + (unmark_exit_edges): Deleted. + (mark_exit_edges): Deleted. + (create_sese_edges): Deleted. + (build_graphite_scops): Deleted. + (canonicalize_loop_closed_ssa): Recompute all dominators at the end. + (build_scops): Use the new scop_builder to build scops. + (dot_all_scops_1): Use the new pretty printer. Print loop father + as well. + (loop_body_is_valid_scop): New. Return true if loop body is a + valid scop. + (class scop_builder): New. Builds SCoPs for polyhedral + optimizations. + (scop_builder): New constructor. + (static sese_l invalid_sese): sese_l with invalid edges. + (get_sese): Get an sese (from a loop) if possible, invalid_sese + otherwise. + (get_nearest_dom_with_single_entry): Get nearest dominator of a + basic_block with single entry. Return NULL if we get to the + beginning of a function. + (get_nearest_pdom_with_single_exit): Get nearest post-dominator of + a basic_block with single exit. Return NULL if we get to the + beginning of a function. + (print_sese): Pretty-print SESE. + (merge_sese): Merge two SESEs if possible and return the new SESE. + (build_scop_depth): Start building the SCoP within a loop nest. + (build_scop_breadth): Start building the SCoP at a single loop + depth. Merge adjacent SESEs if valid. + (can_represent_loop_1): Returns true if Graphite can represent + loop inside SCoP. Helper for can_represent_loop. + (can_represent_loop): Returns true if Graphite can represent LOOP + and all its nested loops in SCoP. + (loop_is_valid_scop): Returns true if LOOP and all its nests + constitute a valid SCoP. + (region_has_one_loop): Returns true of a region has only one loop. + (add_scop): Add SCoP to the list of valid scops. Removes an + already existing scop if it intersects with or subsumed by this one. + (harmful_stmt_in_region): Returns true if SCoP has any statment + which cannot be represented by Graphite. + (subsumes): Returns true of SCoP S1 subsumes SCoP S2. + (remove_subscops): Remove any SCoP from the list of already found + SCoPs, if subsumed by S1. + (intersects): Return true if region bounded by SCoPs S1 and S2 + intersect. + (remove_intersecting_scops): Remove any SCoP which intersects with S1. + * graphite.c (print_graphite_scop_statistics): + (print_graphite_statistics): Print SCoP info while debugging. + (graphite_initialize): Early exit in case number of loops in a + function is less than PARAM_GRAPHITE_MIN_LOOPS_PER_FUNCTION or + basic blocks are more than PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION. + (graphite_finalize): + * params.def: Add PARAM_GRAPHITE_MIN_LOOPS_PER_FUNCTION. + * sese.h (sese_loop_depth): Remove unnecessary gcc_assert. + (recompute_all_dominators): Recalculate POST_DOMINATORS. + * tree-cfg.c (print_loops): Print the function name while printing + loops. + +2015-09-28 Aditya Kumar + Sebastian Pop + + PR tree-optimization/67700 + * graphite-sese-to-poly.c (parameter_index_in_region): Call + invariant_in_sese_p_rec. + (extract_affine): Same. + (rewrite_cross_bb_scalar_deps): Call update_ssa. + * sese.c (invariant_in_sese_p_rec): Export. Handle vdefs and vuses. + * sese.h (invariant_in_sese_p_rec): Declare. + +2015-09-28 David Wohlferd + + * doc/extend.texi (Asm Labels): Break out text for data vs functions. + +2015-09-28 Jiong Wang + + Revert: + 2015-08-06 Ramana Radhakrishnan + Jiong Wang + + * config/aarch64/aarch64.d (tlsdesc_small_pseudo_): New pattern. + * config/aarch64/aarch64.h (reg_class): New enumeration FIXED_REG0. + (REG_CLASS_NAMES): Likewise. + (REG_CLASS_CONTENTS): Likewise. + * config/aarch64/aarch64.c (aarch64_class_max_nregs): Likewise. + (aarch64_register_move_cost): Likewise. + (aarch64_load_symref_appropriately): Invoke the new added pattern if + possible. + * config/aarch64/constraints.md (Uc0): New constraint. + +2015-09-28 Daniel Hellstrom + + * config/sparc/t-rtems: Remove -muser-mode. Add ut699, at697f and leon. + +2015-09-28 David Edelsohn + + * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Place + SECTION_EXCLUDE in XO mapping class. + +2015-09-28 Oleg Endo + + PR target/54236 + * config/sh/predicates.md (t_reg_operand, negt_reg_operand): Allow + and handle ne and eq codes. + * config/sh/sh.c (sh_rtx_costs): Adjust matching of tst #imm,r0 insn. + (sh_recog_treg_set_expr): Early accept negt_reg_operand. Eearly reject + CONST_INT_P. Use reverse_condition. + (sh_split_treg_set_expr): Likewise. + +2015-09-28 James Greenhalgh + + * config/arm/types.md (type): Add rotate_imm. + * config/aarch64/aarch64.md (*ror3_insn): Split out the + ROR immediate case. + (*rorsi3_insn_uxtw): Likewise. + * config/aarch64/thunderx.md (thunderx_shift): Add rotate_imm. + * config/arm/cortex-a53.md (cortex_a53_alu_shift): Add rotate_imm. + * config/arm/cortex-a57.md (cortex_a53_alu): Add rotate_imm. + +2015-09-28 Kyrylo Tkachov + + PR rtl-optimization/67481 + * ifcvt.c (contains_ccmode_rtx_p): New function. + (insn_valid_noce_process_p): Use it. + +2015-09-28 Kyrylo Tkachov + + PR rtl-optimization/67456 + PR rtl-optimization/67464 + PR rtl-optimization/67465 + * ifcvt.c (noce_try_cmove_arith): Bail out if cannot conditionally + move in the mode of x. Handle combination of complex and simple + block pairs as well as the case when one is empty. + +2015-09-28 Trevor Saunders + + * doc/gimple.texi: Update references to gimple_statement_base. + * gdbhooks.py: Likewise. + * gimple.h: Likewise. + +2015-09-28 Daniel Cederman + + * config/sparc/driver-sparc.c: map LEON to leon3 + +2015-09-28 Daniel Cederman + + * config/sparc/sparc.opt: Rename mask from USER_MODE to SV_MODE + and make it inverse to change default + * config/sparc/sync.md: Only use supervisor ASI for CASA when in + supervisor mode + * doc/invoke.texi: Document change of default + +2015-09-28 Daniel Cederman + + * config/sparc/sparc.c (sparc_function_value_regno_p): Do not return + true on %f0 for a target without FPU. + * config/sparc/sparc.md (untyped_call): Do not save %f0 for a target + without FPU. + (untyped_return): Do not load %f0 for a target without FPU. + +2015-09-28 Andrew Pinski + + * config/aarch64/aarch64.md (prefetch): + Change the predicate of operand 0 to register_operand. + +2015-09-27 Uros Bizjak + + * config/i386/predicates.md (register_sse4nonimm_operand): New + predicate. + * config/i386/sse.md (PEXTR_MODE12): New mode iterator. + (*vec_extract): Use PEXTR_MODE12 instead of VI12_128 mode. + Use register_sse4nonimm_operand as operand 0 predicate. + (*vec_extractv8hi_sse2): Remove insn pattern. + (*vec_extract_zext): Merge insn pattern from + *vec_extractv8hi_zext and *vec_extractv16qi_zext patterns. + +2015-09-27 Oleg Endo + Kaz Kojima + + PR target/67391 + * config/sh/sh-protos.h (sh_lra_p): Declare. + * config/sh/sh.c (sh_lra_p): Make non-static. + * config/sh/sh.md (addsi3): Use arith_reg_dest for operands[0] and + arith_reg_operand for operands[1]. Remove TARGET_SHMEDIA case. + Expand into addsi3_scr if operands[2] if needed. + (*addsi3_compact): Rename to *addsi3_compact_lra. Use + arith_reg_operand for operands[1]. Allow it only when LRA is enabled. + (addsi3_scr, *addsi3): New insn_and_split patterns. + +2015-09-27 Alexandre Oliva + + PR rtl-optimization/64164 + PR tree-optimization/67312 + PR middle-end/67340 + PR middle-end/67490 + PR bootstrap/67597 + * cfgexpand.c (parm_in_stack_slot_p): Remove. + (ssa_default_def_partition): Remove. + (get_rtl_for_parm_ssa_default_def): Remove. + (set_rtl): Check that RTL assignments match expectations. + Loop on SUBREGs, CONCATs and PARALLELs subexprs. Set only the + default def location for params and results. Record SSA names + or types in REG and MEM attrs, respectively. + (set_parm_rtl): New. + (expand_one_ssa_partition): Drop logic that assigned MEMs with + unassigned addresses. + (adjust_one_expanded_partition_var): Don't accept NULL RTL on + deferred stack alloc vars. + (expand_used_vars): Skip partitions holding parm default defs. + Move adjust_one_expanded_partition_var loop... + (pass_expand::execute): ... here. Drop redundant assert. + Adjust comments before the final loop over all ssa names. + Require assigned rtl of parms and results to match exactly. + Reset its attributes to match them, not any other variables in + the same partition. + (expand_debug_expr): Use entry value for PARM's default defs + only iff they have zero nondebug uses. + * cfgexpand.h (parm_in_stack_slot_p): Remove. + (get_rtl_for_parm_ssa_default_def): Remove. + (set_parm_rtl): Declare. + * doc/invoke.texi: Improve wording. + * explow.c (promote_decl_mode): Fix promote_function_mode for + result decls not by reference. + (promote_ssa_mode): Disregard BLKmode from promote_decl, and + bypass TYPE_MODE to get the actual vector mode. + * function.c: Include tree-dfa.h. Revert 2015-08-14's and + 2015-08-19's changes as follows. Drop include of + basic-block.h and df.h. + (rtl_for_parm): Remove. + (maybe_reset_rtl_for_parm): Remove. + (parm_in_unassigned_mem_p): Remove. + (use_register_for_decl): Add logic for RESULT_DECLs matching + assign_parms' behavior. + (split_complex_args): Revert. + (assign_parms_augmented_arg_list): Revert. Add comment + referencing the logic above. + (assign_parm_adjust_stack_rtl): Revert. + (assign_parm_setup_block): Revert. Use set_parm_rtl instead + of SET_DECL_RTL. Set up a REG if the parm demands so. + (assign_parm_setup_reg): Revert. Consolidated SET_DECL_RTL + calls into a single set_parm_rtl. Set up a temporary RTL + temporarily for expand_assignment. + (assign_parm_setup_stack): Revert. Use set_parm_rtl. + (assign_parms_unsplit_complex): Revert. Use set_parm_rtl. + (assign_bounds): Revert. + (assign_parms): Revert. Use set_parm_rtl. + (allocate_struct_function): Relayout result and parms of + non-abstruct functions. + (expand_function_start): Revert. Use set_parm_rtl. If the + result is not a hard reg, create a pseudo from the promoted + mode of the default def. Promote static chain mode. + * tree-outof-ssa.c (remove_ssa_form): Drop unused + partition_has_default_def. Set up + partitions_for_parm_default_defs. + (finish_out_of_ssa): Remove partition_has_default_def. + Release partitions_for_parm_default_defs. + * tree-outof-ssa.h (struct ssaexpand): Remove + partition_has_default_def. Add + partitions_for_parm_default_defs. + * tree-ssa-coalesce.c: Include tree-dfa.h, tm_p.h and + stor-layout.h. + (build_ssa_conflict_graph): Fix conflict-detection of default + defs of even unused default defs of params and results. + (for_all_parms): New. + (create_default_def): New. + (register_default_def): New. + (coalesce_with_default): New. + (create_outofssa_var_map): Create default defs for all parms + and results, and register their partitions. Add GIMPLE_RETURN + operands as coalesce candidates with results. Add default + defs of each parm or result as coalesce candidates with its + other defs. Mark each result def, and each default def of + parms, as used_in_copy. + (gimple_can_coalesce_p): Call it. Call use_register_for_decl + with the ssa names, even anonymous ones. Drop + parm_in_stack_slot_p calls. Require same signedness and + alignment. + (coalesce_ssa_name): Add coalesce candidates for all defs of + each parm and result, even unused ones. + (parm_default_def_partition_arg): New type. + (set_parm_default_def_partition): New. + (get_parm_default_def_partitions): New. + * tree-ssa-coalesce.h (get_parm_default_def_partitions): New. + * tree-ssa-live.c (partition_view_init): Regard unused defs of + parms and results as used. + (verify_live_on_entry): Don't error out just because they're + not live. + +2015-09-26 David Edelsohn + + * dwarf2out.c (XCOFF_DEBUGGING_INFO): Default 0 definition. + (HAVE_XCOFF_DWARF_EXTRAS): Default to 0 definition. + (output_fde): Don't output length for debug_frame on AIX. + (output_call_frame_info): Don't output length for debug_frame on AIX. + (have_macinfo): Force to False for XCOFF_DEBUGGING_INFO and not + HAVE_XCOFF_DWARF_EXTRAS. + (add_AT_loc_list): Return early if XCOFF_DEBUGGING_INFO and not + HAVE_XCOFF_DWARF_EXTRAS. + (output_compilation_unit_header): Don't output length on AIX. + (output_pubnames): Don't output length on AIX. + (output_aranges): Delete argument. Compute length locally. Don't + output length on AIX. + (output_line_info): Don't output length on AIX. + (dwarf2out_finish): Don't compute aranges_length. + * dwarf2asm.c (XCOFF_DEBUGGING_INFO): Default 0 definition. + (dw2_asm_output_nstring): Emit .byte not .ascii on AIX. + * config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): Emit correct + symbol decoration for AIX. + (rs6000_xcoff_debug_unwind_info): New. + (rs6000_xcoff_asm_named_section): Emit .dwsect pseudo-op + for SECTION_DEBUG. + (rs6000_xcoff_declare_function_name): Emit different + .function pseudo-op when DWARF2_DEBUG. Don't call + xcoffout_declare_function for DWARF2_DEBUG. + * config/rs6000/xcoff.h (TARGET_DEBUG_UNWIND_INFO): + Redefine. + * config/rs6000/aix71.h: New. + * configure.ac (gcc_cv_as_aix_dwloc): Check AIX as for DWARF + locations support. + * configure: Regenerate. + * config.gcc (powerpc-ibm-aix[789]+): New stanza for AIX 7.1+ with + DWARF support. + +2015-09-26 Jeff Law + + * config/arc/arc.c (arc_output_addsi): Fix left shift undefined + behaviour. + * config/arc/constraints.md (Cca, C2a): Fix left shift undefined + behaviour. + + * config/sh/sh.h (CONST_OK_FOR_J16): Fix left shift undefined + behaviour + + * config/mips/mips.c (mips_compute_frame_info): Fix left shift + undefined behaviour. + + * config/cris/cris.md (asrandb): Fix left shift undefined + behaviour. + (asrandw): Likewise. + +2015-09-25 Vladimir Makarov + + PR target/61578 + * lra-constarints.c (match_reload): Check presence of the input pseudo + in the output operand. + +2015-09-25 Tobias Burnus + + * doc/invoke.texi (-fsanitize): Minor wording tweak. + +2015-09-25 Tobias Burnus + + * doc/invoke.texi (-fsanitize): Update URLs. + +2015-09-25 Teresa Johnson + + * opts.c (finish_options): Unset -freorder-blocks-and-partition + if not using profile. + +2015-09-25 Manuel López-Ibáñez + + PR pretty-print/67567 + * pretty-print.c (pp_string): Add gcc_checking_assert. + * pretty-print.h (output_buffer_append_r): Likewise. + +2015-09-25 Oleg Endo + + PR target/67675 + * config/sh/sh-mem.cc (sh_expand_cmpstr): Check alignment of addr1 and + addr2 individually. Don't emit logical or insn if one is known to + be aligned approriately. + (sh_expand_cmpnstr): Likewise. + +2015-09-25 Richard Sandiford + + * config/aarch64/aarch64-builtins.c (aarch64_expand_builtin): Force + __builtin_aarch64_fp[sc]r arguments into a register. + +2015-09-25 H.J. Lu + + * config.gcc (x86_archs): Replace lakemount with lakemont. + (with_cpu): Likewise. + (with_arch): Likewise. + * config/i386/i386-c.c (ix86_target_macros_internal): Replace + PROCESSOR_LAKEMOUNT with PROCESSOR_LAKEMONT. Replace + __tune_lakemount__ with __tune_lakemont__. + * config/i386/i386.c (lakemount_cost): Renamed to ... + (lakemont_cost): This. + (m_LAKEMOUNT): Renamed to ... + (m_LAKEMONT): This. + (initial_ix86_arch_features): Replace m_LAKEMOUNT with m_LAKEMONT. + (processor_target_table): Replace "lakemount" with "lakemont". + (processor_alias_table): Likewise. + (ix86_issue_rate): Replace PROCESSOR_LAKEMOUNT with + PROCESSOR_LAKEMONT. + (ix86_adjust_cost): Likewise. + (ia32_multipass_dfa_lookahead): Likewise. + * config/i386/i386.h (processor_type): Likewise. + * config/i386/x86-tune.def: Replace m_LAKEMOUNT with m_LAKEMONT. + * doc/invoke.texi: Replace lakemount with lakemont. Replace + Lakemount with Lakemont. + +2015-09-24 H.J. Lu + + * config.gcc (x86_archs): Replace iamcu with lakemount. + (with_cpu): Likewise. + (with_arch): Likewise. + * doc/invoke.texi: Likewise. + * config/i386/i386-c.c (ix86_target_macros_internal): Replace + PROCESSOR_IAMCU with PROCESSOR_LAKEMOUNT. Replace + __tune_iamcu__ with __tune_lakemount__. + * config/i386/i386.c (iamcu_cost): Renamed to ... + (lakemount_cost): This. + (m_IAMCU): Renamed to ... + (m_LAKEMOUNT): This. + (initial_ix86_arch_features): Replace m_IAMCU with m_LAKEMOUNT. + (processor_target_table): Replace "iamcu" with "lakemount". + (processor_alias_table): Likewise. + (ix86_issue_rate): Replace PROCESSOR_IAMCU with + PROCESSOR_LAKEMOUNT. + (ix86_adjust_cost): Likewise. + (ia32_multipass_dfa_lookahead): Likewise. + * config/i386/i386.h (processor_type): Likewise. + * config/i386/x86-tune.def: Replace m_IAMCU with m_LAKEMOUNT. + +2015-09-24 John David Anglin + + * config/pa/pa-linux.h (HAVE_sync_compare_and_swapdi): Define. + * config/pa/pa-protos.h (pa_maybe_emit_compare_and_swap_exchange_loop): + Declare. + * config/pa/pa.c (pa_init_libfuncs): Init sync libfuncs up to 8 bytes. + (pa_expand_compare_and_swap_loop): New. + (pa_maybe_emit_compare_and_swap_exchange_loop): New. + * config/pa/pa.md (atomic_storeqi, atomic_storehi, atomic_storesi, + atomic_storesf, atomic_loaddf, atomic_storedf): New expanders. + (atomic_loaddf_1, atomic_storedf_1): New insn patterns. + (atomic_loaddi, atomic_loaddi_1, atomic_storedi, atomic_storedi_1): + Revise. + +2015-09-24 Michael Collison + + PR other/57195 + * read-md.c (read_name): Allow mode iterators inside angle + brackets in rtl expressions. + +2015-09-24 Vladimir Makarov + + PR target/61578 + * ira-color.c (update_allocno_cost): Add parameter. + (update_costs_from_allocno): Decrease conflict cost. Pass the new + parameter. + +2015-09-24 Manuel López-Ibáñez + + PR driver/67640 + * opts-common.c (prune_options): Discard all -fdiagnostics-color + but the last one, which is moved to the front to be processed + first. + * opts.c (enable_warning_as_error): Reject options that do not + control warnings. + +2015-09-24 Jiong Wang + + * config/aarch64/aarch64.c (aarch64_print_operand): Add "CONST" support. + +2015-09-24 Jiong Wang + + * config/aarch64/aarch64-protos.h (aarch64_symbol_context): Delete. + * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Likewise. + (aarch64_cannot_force_const_mem): Likewise. + (aarch64_classify_address): Likewise. + (aarch64_classify_symbolic_expression): Likewise. + (aarch64_print_operand): Likewise. + (aarch64_classify_symbol): Likewise. + (aarch64_mov_operand_p): Likewise. + * config/aarch64/predicates.md (aarch64_valid_symref): Likewise. + (aarch64_mov_operand): Likewise. + +2015-09-24 Segher Boessenkool + + * config/rs6000/rs6000.c (debug_stack_info): Invert the test + for info->spe_gp_size. + +2015-09-24 Richard Biener + + PR lto/67699 + * lto-cgraph.c (compute_ltrans_boundary): Do not stream + abstract origins. + +2015-09-24 Thomas Schwinge + + * tree-object-size.c (plus_stmt_object_size) + (cond_expr_object_size): Change the formal parameters from gimple + to gimple *. + * tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Likewise. + * tree-ssa-sccvn.c (vn_nary_op_insert_stmt): Make it static. + * tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Don't declare. + +2015-09-24 Rainer Orth + + * configure.ac (gcc_cv_ld_pie): Check for gld >= 2.26 on Solaris. + Check for ld -type pie on Solaris 11.x and 12. + * configure: Regenerate. + * config.in: Regenerate. + + * gcc.c (LD_PIE_SPEC): Allow redefinition. + + * config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Define. + (STARTFILE_SPEC): Use it. + (ENDFILE_CRTEND_SPEC): Define. + (ENDFILE_SPEC): Use it and ENDFILE_ARCH_SPEC. + (SUBTARGET_EXTRA_SPECS): Add STARTFILE_CRTBEGIN_SPEC, + ENDFILE_ARCH_SPEC, ENDFILE_CRTEND_SPEC. + [HAVE_LD_PIE && HAVE_SOLARIS_CRTS] (LD_PIE_SPEC): Define. + (!(HAVE_LD_PIE && HAVE_SOLARIS_CRTS)] (LINK_PIE_SPEC): Define. + * config/i386/sol2.h (ENDFILE_SPEC): Remove. + (ENDFILE_ARCH_SPEC): Define. + * config/sparc/sol2.h (ENDFILE_ARCH_SPEC): Define. + +2015-09-24 Rainer Orth + + * configure.ac (gcc_cv_solaris_crts): New test. + * configure. Regenerate. + * config.in: Regenerate. + * config/sol2.h (STARTFILE_SPEC): Simplify, provide + HAVE_SOLARIS_CRTS variant. + +2015-09-24 Kyrylo Tkachov + + * tree-inline.h (count_insns_seq): Delete prototype. + (estimate_num_insns_seq): Define prototype. + * tree-inline.c (count_insns_seq): Delete. + (estimate_num_insns_seq): Remove static qualifier. + * tree-eh.c (decide_copy_try_finally): Replace use of count_insns_seq + with estimate_num_insns_seq. + +2015-09-24 Richard Biener + + * tree-ssa-sccvn.h (vn_reference_op_struct): Add clique and base + members. + * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Record clique + and base for MEM_REF and TARGET_MEM_REF. Handle BIT_FIELD_REF + offset. + (ao_ref_init_from_vn_reference): Record clique and base in the + built base. + * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise + +2015-09-24 Richard Biener + + PR tree-optimization/48885 + * tree-ssa-structalias.c (visit_loadstore): Handle default defs + as not including any restrict tags from other pointers. + +2015-09-23 Thomas Schwinge + + * gcc.c (handle_foffload_option): Don't lose the trailing NUL + character when appending to offload_targets. + + * configure.ac (offload_targets, OFFLOAD_TARGETS): Separate + offload targets by commas, not colons. + * config.in: Regenerate. + * configure: Likewise. + * gcc.c (driver::maybe_putenv_COLLECT_LTO_WRAPPER): Due to that, + instead of setting up the default offload targets here... + (process_command): ..., do it here. + libgomp/ + * plugin/configfrag.ac (OFFLOAD_TARGETS): Clarify that offload + targets are separated by commas. + * config.h.in: Regenerate. + +2015-09-23 Thomas Schwinge + Nathan Sidwell + + * omp-low.h (omp_reduction_init_op): Declare. + * omp-low.c (omp_reduction_init_op): New, broken out of ... + (omp_reduction_init): ... here. Call it. + * tree-parloops.c (initialize_reductions): Use + omp_reduction_init_op. + +2015-09-23 Richard Biener + + PR middle-end/67662 + * fold-const.c (fold_binary_loc): Do not reassociate two vars with + undefined overflow unless they will cancel out. + +2015-09-23 Kirill Yukhin + + * config/i386/i386.md (define_insn "*3"): Fix + insn emit. + +2015-09-23 Manuel López-Ibáñez + + PR c/49655 + * opts.h (write_langs): Declare. + * opts-global.c (write_langs): Make it extern. + +2015-09-23 Oleg Endo + + PR target/67391 + * config/sh/sh.md (addsi3, *addsi3_compact): Don't check for + overlapping regs when matching the pattern. + +2015-09-23 James Greenhalgh + + * config/aarch64/aarch64-simd.md + (aarch64_float_truncate_hi_v4sf): Rewrite as an expand. + (aarch64_float_truncate_hi_v4sf_le): New. + (aarch64_float_truncate_hi_v4sf_be): Likewise. + +2015-09-23 Richard Biener + + * tree-ssa-structalias.c (intra_create_variable_infos): Build + representatives for all restrict qualified pointer destinations. + +2015-09-23 Kirill Yukhin + + * config/i386/i386.md (define_code_attr mshift): New. + (define_mode_iterator SWI1248_AVX512BW): Rename ... + (SWI1248_AVX512BW): ... to this. Make QI enabled for TARGET_AVX512DQ + only. + (define_insn "*k"): Use new iterator name. + (define_insn "*3"): New. + +2015-09-23 Mikhail Maltsev + + PR middle-end/67649 + * memory-block.h (memory_block_pool::allocate): Use valgrind API to + mark the block as accessible. + +2015-09-22 Segher Boessenkool + + * function.c (thread_prologue_and_epilogue_insns): Delete + orig_entry_edge argument to try_shrink_wrapping. + * shrink-wrap.c (can_get_prologue): New function. + (can_dup_for_shrink_wrapping): Also handle EDGE_CROSSING. + (try_shrink_wrapping): Delete orig_entry_edge argument. Use + can_get_prologue where needed. Remove code that finds a single + edge for the prologue. Remove code that tests if any reg clobbered + by the prologue is live on the prologue edge. Remove code that finds + the new prologue edge after duplicating blocks. Make a new prologue + block and edge. + * shrink-wrap.h (try_shrink_wrapping): Delete orig_entry_edge argument. + +2015-09-22 Jeff Law + + * config/pa/pa.h (MIN_LEGIT_64BIT_CONST_INT): Avoid undefined + behavior. + +2015-09-22 Nathan Sidwell + + * doc/invoke.texi (-Wmultiple-inheritance, -Wvirtual-inheritance, + -Wtemplates, -Wnamespaces): Document. + +2015-09-22 Tom de Vries + + PR tree-optimization/67671 + * tree-ssa-structalias.c (create_variable_info_for_1): Handle restrict + pointer references as restrict. + +2015-09-22 Chung-Lin Tang + + * config/nios2/nios2.c (nios2_legitimize_address): When handling + 'reg + reloc' cases, allow first operand to be non-REG, and use + force_reg() to enforce address pattern. + +2015-09-22 Alexander Fomin + + PR target/67480 + * config/i386/sse.md (define_mode_iterator VI48_AVX_AVX512F): New. + (define_mode_iterator VI12_AVX_AVX512F): New. + (define_insn "3"): Change + all iterators to VI48_AVX_AVX512F. Extract remaining modes ... + (define_insn "*3"): ... Into new pattern using + VI12_AVX_AVX512F iterators without masking. + +2015-09-22 Kirill Yukhin + + * config.gcc: Support "skylake-avx512". + * config/i386/i386-c.c (ix86_target_macros_internal): Handle + PROCESSOR_SKYLAKE_AVX512. + * config/i386/i386.c (m_SKYLAKE_AVX512): Define. + (processor_target_table): Add "skylake-avx512". + (PTA_SKYLAKE_AVX512): Define. + (ix86_option_override_internal): Add "skylake_avx512". + (fold_builtin_cpu): Handle "skylake_avx512", add F_AVX512VL + F_AVX512BW, F_AVX512DQ, F_AVX512ER, F_AVX512PF, F_AVX512CD. + * config/i386/i386.h (TARGET_SKYLAKE_AVX512): Define. + (processor_type): Add PROCESSOR_SKYLAKE_AVX512. + * doc/invoke.texi (skylake-avx512): New. + +2015-09-22 Kirill Yukhin + + * config/i386/i386.md (define_insn "kunpckhi"): Fix + operand in pattern. + (define_insn "kunpcksi"): Ditto. + (define_insn "kunpckdi"): Ditto. + +2015-09-22 Kirill Yukhin + + * config/i386/i386.md (define_split not/xor SWI1248x): Use + iterator instead of fixed modes. + +2015-09-22 Matthew Wahab + + * config/aarch64/aarch64-protos.h (aarch64_gen_atomic_ldop): + Adjust declaration. + * config/aarch64/aarch64.c (aarch64_emit_bic): New. + (aarch64_gen_atomic_ldop): Adjust comment. Add parameter + out_result. Update to support update-fetch operations. + * config/aarch64/atomics.md (aarch64_atomic_exchange_lse): + Adjust for change to aarch64_gen_atomic_ldop. + (aarch64_atomic__lse): Likewise. + (aarch64_atomic_fetch__lse): Likewise. + (atomic__fetch): Change to an expander. + (aarch64_atomic__fetch): New. + (aarch64_atomic__fetch_lse): New. + +2015-09-22 Matthew Wahab + + * config/aarch64/aarch64-protos.h + (aarch64_atomic_ldop_supported_p): Declare. + * config/aarch64/aarch64.c (aarch64_atomic_ldop_supported_p): New. + (enum aarch64_atomic_load_op_code): New. + (aarch64_emit_atomic_load_op): New. + (aarch64_gen_atomic_ldop): Update to support load-operate + patterns. + * config/aarch64/atomics.md (atomic_): Change + to an expander. + (aarch64_atomic_): New. + (aarch64_atomic__lse): New. + (atomic_fetch_): Change to an expander. + (aarch64_atomic_fetch_): New. + (aarch64_atomic_fetch__lse): New. + +2015-09-22 Matthew Wahab + + * config/aarch64/aarch64/atomics.md (UNSPECV_ATOMIC_LDOP): New. + (UNSPECV_ATOMIC_LDOP_OR): New. + (UNSPECV_ATOMIC_LDOP_BIC): New. + (UNSPECV_ATOMIC_LDOP_XOR): New. + (UNSPECV_ATOMIC_LDOP_PLUS): New. + (ATOMIC_LDOP): New. + (atomic_ldop): New. + (aarch64_atomic_load): New. + +2015-09-22 Matthew Wahab + + * config/aarch64/aarch64.md + (_one_cmpl_3): Make a named + pattern. + +2015-09-22 Matthew Wahab + + * config/aarch64/aarch64-protos.h (aarch64_gen_atomic_ldop): + Declare. + * config/aarch64/aarch64.c (aarch64_emit_atomic_swap): New. + (aarch64_gen_atomic_ldop): New. + (aarch64_split_atomic_op): Fix whitespace and add a comment. + * config/aarch64/atomics.md (UNSPECV_ATOMIC_SWP): New. + (aarch64_compare_and_swap_lse): Fix some whitespace. + (atomic_exchange): Replace with an expander. + (aarch64_atomic_exchange): New. + (aarch64_atomic_exchange_lse): New. + (aarch64_atomic_): Fix some whitespace. + (aarch64_atomic_swp): New. + +2015-09-22 Manuel López-Ibáñez + + * tree-inline.c (expand_call_inline): Use inform for extra note. + Do not give a note with UNKNOWN_LOCATION. + Replace input_location with gimple_location (stmt). + Use true/false instead of TRUE/FALSE. + +2015-09-22 Tom de Vries + + PR tree-optimization/67666 + * tree-ssa-structalias.c (create_variable_info_for_1): Handle struct + with single field non-conservative. + +2015-09-21 David S. Miller + + PR/67622 + Revert: + 2015-09-11 David S. Miller + + * config/sparc/constraints.md: Make "U" constraint a real register + constraint. + * config/sparc/sparc.c (TARGET_LRA_P): Define. + (D_MODES, DF_MODES): Add missing cast. + (TF_MODES, TF_MODES_NO_S): Include T_MODE. + (OF_MODES, OF_MODES_NO_S): Include O_MODE. + (sparc_register_move_cost): Decrease Niagara/UltrsSPARC memory + cost to 8. + * config/sparc/sparc.h (PROMOTE_MODE): Define. + * config/sparc/sparc.md (*movsi_lo_sum, *movsi_high): Do not + provide these insn when flag_pic. + + 2015-09-17 David S. Miller + + * config/sparc/sparc-protos.h (sparc_secondary_memory_needed): + Declare. + * config/sparc/sparc.c (sparc_secondary_memory_needed): New + function. + * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): Use it. + (HARD_REGNO_CALLER_SAVE_MODE): Define. + * config/sparc/sparc.md (sethi_di_medlow, losum_di_medlow, seth44) + (setm44, setl44, sethh, setlm, sethm, setlo, embmedany_sethi) + (embmedany_losum, embmedany_brsum, embmedany_textuhi) + (embmedany_texthi, embmedany_textulo, embmedany_textlo): Do not + provide when flag_pic. + +2015-09-21 Jeff Law + + * config/h8300/h8300.md (andsi3_ashift_n_lower): Avoid undefined + behavior. + +2015-09-21 Ulrich Weigand + + * config/spu/spu.c (spu_expand_insv): Avoid undefined behavior. + +2015-09-21 Richard Biener + + * passes.c (rest_of_decl_compilation): Do not call + dwarf2out_early_global_decl for aliases. + +2015-09-21 Richard Biener + + PR debug/67664 + * dwarf2out.c (add_location_or_const_value_attribute): Remove + attribute parameter. Early exit if either DW_AT_const_value + or DW_AT_location are present already. + (gen_variable_die): Adjust caller. + (dwarf2out_late_global_decl): Likewise. + +2015-09-21 Oleg Endo + + PR target/67657 + * config/sh/sh.c (sh_remove_overlapping_post_inc, + sh_peephole_emit_move_insn): Add new functions. + * config/sh/sh-protos.h (sh_remove_overlapping_post_inc, + sh_peephole_emit_move_insn): Declere them. + * config/sh/sh.md: Use them in various peephole2 patterns. + +2015-09-21 Richard Biener + + PR middle-end/67651 + * rtlanal.c (nonzero_address_p): SYMBOL_REFs may have zero + address with -fno-delete-null-pointer-checks. + +2015-09-21 Alan Lawrence + + * config/rs6000/altivec.md (reduc_splus_): Rename to... + (reduc_plus_scal_): ...this, add rs6000_expand_vector_extract. + (reduc_uplus_v16qi): Remove. + + * config/rs6000/vector.md (VEC_reduc_name): Change "splus" to "plus". + (reduc__v2df): Remove. + (reduc__v4sf): Remove. + (reduc__scal_): New. + + * config/rs6000/vsx.md (vsx_reduc__v2df): Declare + gen_ function by removing * prefix. + (vsx_reduc__v4sf): Likewise. + +2015-09-21 Manuel López-Ibáñez + + PR middle-end/60832 + * tree-ssa-loop-niter.c (do_warn_aggressive_loop_optimizations): + Print i_bound without converting it to a tree. + +2015-09-21 Bilyan Borisov + + * config/arm/arm.c (thumb_output_move_mem_multiple): Replaced + operands[4] operands[5] swap with std::swap, removed tmp variable. + (arm_evpc_neon_vzip): Replaced in0/in1 and + out0/out1 swaps with std::swap, removed x variable. + (arm_evpc_neon_vtrn): Replaced in0/int1 and + out0/out1 swaos with std::swap, removed x variable. + (arm_expand_vec_perm_const_1): Replaced + d->op0/d->op1 swap with std::swap, removed x variable. + (arm_evpc_neon_vuzp): Replaced in0/in1 and + out0/out1 swaps with std::swap, removed x variable. + +2015-09-21 Jonathan Yong <10walls@gmail.com> + + * config/i386/cygwin.h (STARTFILE_SPEC): Explicitly search + sysroot/usr/lib/32api for additional win32 libraries, + fixes failing Cygwin bootstrapping. + +2015-09-21 Oleg Endo + + * doc/invoke.texi (SH Options): Undocument SH5/SH64 related options. + +2015-09-21 Oleg Endo + + PR target/67126 + * config/sh/sh.md (*reg_lsb_t): Emit bld insn on SH2A. + (*mov_t_msb_neg): Rewrite negc pattern. + +2015-09-20 Wilco Dijkstra + + * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Cleanup + immediate generation code. + +2015-09-20 Wilco Dijkstra + + * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Remove + redundant immediate generation code. + +2015-09-20 Wilco Dijkstra + + * config/aarch64/aarch64.c (aarch64_bitmasks): Remove. + (AARCH64_NUM_BITMASKS): Remove. + (aarch64_bitmasks_cmp): Remove. + (aarch64_build_bitmask_table): Remove. + +2015-09-20 Wilco Dijkstra + + * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Replace + slow immediate matching loops with a faster algorithm. + +2015-09-20 Wilco Dijkstra + + * config/aarch64/aarch64.c (aarch64_bitmask_imm): Reimplement using + faster algorithm. + +2015-09-20 Jeff Law + + PR tree-optimization/47679 + * tree-ssa-dom.c (record_temporary_equivalences): No longer static. + * tree-ssa-dom.h (record_temporary_equivalences): Add prototype. + * tree-ssa-threadedge.c: Include tree-ssa-dom.h. + (thread_through_normal_block): Use record_temporary_equivalences. + +2015-09-19 Trevor Saunders + + * coretypes.h (gimple): Change typedef to be a forward declaration. + * gimple.h (gimple_statement_base): rename to gimple. + * (all functions and types using gimple): Adjust. + * *.[ch]: Likewise. + +2015-09-19 Andrew Dixie + David Edelsohn + + * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): Delete. + (ASM_PREFERRED_EH_DATA_FORMAT): Define. + (EH_FRAME_THROUGH_COLLECT2): Define. + (EH_TABLES_CAN_BE_READ_ONLY): Define. + (ASM_OUTPUT_DWARF_PCREL): Define. + (ASM_OUTPUT_DWARF_DATAREL): Define. + +2015-09-19 John David Anglin + + * config/pa/pa.c (pa_function_ok_for_sibcall): Remove special treatment + of TARGET_ELF32. + +2015-09-18 Jeff Law + + PR tree-optimization/47679 + * tree-ssa-dom.c (avail_exprs_stack): No longer file scoped. Move + it here ... + (dom_opt_dom_walker): New private member holding the avail_exprs_stack + object. Update constructor. + (pass_dominator::execute): Corresponding chagnes to declaration + and initialization of avail_exprs_stack. Update constructor call + for dom_opt_dom_walker object. + (lookup_avail_expr, record_cond): Accept additional argument. Pass + it down to children as needed. + (record_equivalences_from_incoming_edge): Likewise. + (eliminate_redundant_computations): Likewise. + (record_equivalences_from_stmt): Likewise. + (simplify_stmt_for_jump_threading): Likewise. + (record_temporary_equivalences): Likewise. + (optimize_stmt): Likewise. + (dom_opt_dom_walker::thread_across_edge): Update access to + avail_exprs_stack object and pass it to children as needed. + (dom_opt_dom_walker::before_dom_children): Similarly. + (dom_opt_dom_walker::after_dom_children): Similarly. + * tree-ssa-threadedge.c (pfn_simplify): New typedef. + (record_temporary_equivalences_from_stmts_at_dest): Use new typedef. + Add avail_expr_stack argument. Pass it to children as needed. + (dummy_simplify): Likewise. + (simplify_control_stmt_condition): Likewise. + (thread_around_empty_blocks): Likewise. + (thread_through_normal_block): Likewise. + (thread_across_edge): Likewise. + * tree-ssa-threadedge.h (thread_across_edge): Update prototype. + * tree-vrp.c (simplify_stmt_for_jump_threading): Update. + + PR tree-optimization/47679 + * tree-ssa-dom.c (const_and_copies): No longer file scoped. Move + it here ... + (dom_opt_dom_walker): New private member holding the const_and_copies + object. Update constructor. + (pass_dominator::execute): Corresponding changes to declaration + and initialization of const_and_copies. Update constructor call + for the dom_opt_dom_walker object. + (record_temporary_equivalences): Accept const_and_copies argument + pass it down to children as needed. + (record_equality): Likewise. + (record_equivalences_from_incoming_edge): Likewise. + (cprop_into_successor_phis, optimize_stmt): Likewise. + (eliminate_redundant_computations): Likewise. + (dom_opt_dom_walker::thread_across_edge): Update access to + const_and_copies object and pass it to children as needed. + (dom_opt_dom_walker::before_dom_children): Similarly. + (dom_opt_dom_walker::after_dom_children): Similarly. + + PR tree-optimization/47679 + * tree-ssa-dom.c (avail_exprs): No longer file scoped. Bury + it into the avail_exprs_stack class. + (pass_dominator::execute): Corresponding changes to declaration + and initialization of avail_exprs. Pass avail_exprs to + dump_dominator_optimization_stats. + (record_cond): Extract avail_exprs from avail_exprs_stack. + (lookup_avail_expr): Similarly. + (htab_staticstics): Remove unnecessary prototype. Move to earlier + position in file. + (dump_dominator_optimization_stats): Make static and prototype. + Add argument for the hash table to dump. + (debug_dominator_optimization_stats): Remove. + * tree-ssa-dom.h (dump_dominator_optimization_stats): Remove + prototype. + (debug_dominator_optimization_stats): Similarly. + * tree-ssa-scopedtables.h (class avail_exprs_stack): Add missing + "void" in prototype for pop_to_marker method. Add accessor method + for the underlying avail_exprs table. + + * tree-ssa-threadedge.c: Remove trailing whitespace. + +2014-09-18 John David Anglin + + * config/pa/pa-protos.h (pa_cint_ok_for_move): Change argument type to + unsigned. + (pa_ldil_cint_p): Likewise. + * config/pa/pa.c (pa_cint_ok_for_move): likewise. + (pa_ldil_cint_p): Likewise. Change signed casts to unsigned. + Update callers. + * config/pa/pa.md: Likewise. + +2015-09-18 David Malcolm + + * Makefile.in (OBJS-libcommon): Add diagnostic-show-locus.o. + * diagnostic.c (adjust_line): Move to diagnostic-show-locus.c. + (diagnostic_show_locus): Likewise. + (diagnostic_print_caret_line): Likewise. + * diagnostic-show-locus.c: New file. + +2015-09-18 David Edelsohn + + * dwarf2out.c (switch_to_eh_frame_section): Add ATTRIBUTE_UNUSED to + "back" parameter. Declare label in #if block. + +2015-09-18 Uros Bizjak + + PR middle-end/67619 + * except.c (expand_builtin_eh_return): Use copy_addr_to_reg to copy + the address to a register. + +2015-09-18 Jeff Law + + PR tree-optimization/47679 + * Makefile.in (OBJS): Add tree-ssa-phionlycprop.o + * tree-ssa-dom.c: Remove unnecessary header includes. + (remove_stmt_or_phi): Moved from here into tree-ssa-phionlycprop.c + (get_rhs_or_phi_arg, get_lhs_or_phi_result): Likewise. + (propagate_rhs_into_lhs, eliminate_const_or_copy): Likewise. + (eliminate_degenerate_phis_1, pass_phi_only_cprop): Likewise. + (pass_phi_only_cprop::execute): Likewise. + (make_pass_phi_only_cprop): Likewise. + * tree-ssa-phionlycprop.c: New file with moved code. Eliminate + uses of file scoped statics by passing the required objects + as parameters wherever needed. + +2015-09-18 Andrew Dixie + David Edelsohn + + * defaults.h (EH_FRAME_SECTION_NAME): Depend on + EH_FRAME_THROUGH_COLLECT2. + * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add case for + DW_EH_PE_datarel. + * dwarf2out.c (switch_to_eh_frame_section): Use a read-only section + even if EH_FRAME_SECTION_NAME is undefined. Restrict special + collect2 labels to EH_FRAME_THROUGH_COLLECT2. + * except.c (switch_to_exception_section): Use a read-only section + even if EH_FRAME_SECTION_NAME is undefined. + * system.h (EH_FRAME_IN_DATA_SECTION): Poison. + * collect2.c (write_c_file_stat): Provide dbase on AIX. + (scan_prog_file): Don't export __dso_handle nor + __gcc_unwind_dbase. + * config/rs6000/aix.h (ASM_PREFERRED_EH_DATA_FORMAT): Define. + (EH_TABLES_CAN_BE_READ_ONLY): Define. + (ASM_OUTPUT_DWARF_PCREL): Define. + (ASM_OUTPUT_DWARF_DATAREL): Define. + (EH_FRAME_THROUGH_COLLECT2): Define. + (EH_FRAME_IN_DATA_SECTION): Delete. + * config/rs6000/aix61.h (STARTFILE_SPEC): Add crtdbase.o. + * config/rs6000/rs6000-protos.h (rs6000_asm_output_dwarf_pcrel): + Declare. + (rs6000_asm_output_dwarf_datarel): Declare. + * config/rs6000/rs6000.c (rs6000_aix_asm_output_dwarf_pcrel): New. + (rs6000_aix_asm_output_dwarf_datarel): New. + (rs6000_xcoff_asm_init_sections): Don't set exception_section. + * config/spu/spu-elf.h (EH_FRAME_IN_DATA_SECTION): Delete. + (EH_FRAME_THROUGH_COLLECT2): Define. + * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Delete. + (EH_FRAME_THROUGH_COLLECT2): Define. + (EH_TABLES_CAN_BE_READ_ONLY): Define. + * doc/tm.texi.in (EH_FRAME_IN_DATA_SECTION): Delete. + (EH_FRAME_THROUGH_COLLECT2): New. + (ASM_OUTPUT_DWARF_DATAREL): New. + * doc/tm.texi: Regenerate. + +2015-09-18 Richard Biener + + * dwarf2out.c (append_entry_to_tmpl_value_parm_die_table): Assert + we're in early phase. + (schedule_generic_params_dies_gen): Likewise. + (gen_remaining_tmpl_value_param_die_attribute): Do only as much + work as possible, retaining unhandled cases. + (gen_scheduled_generic_parms_dies): Set early-dwarf flag and + clear out generic_type_instances at the end. + (dwarf2out_finish): Move call to gen_scheduled_generic_parms_dies... + (dwarf2out_early_finish): ... here. Do most of + gen_remaining_tmpl_value_param_die_attribute here. + +2015-09-18 Alan Lawrence + + PR tree-optimization/67283 + * tree-sra.c (type_consists_of_records_p): Rename to... + (scalarizable_type_p): ...this, add case for ARRAY_TYPE. + (completely_scalarize_record): Rename to... + (completely_scalarize): ...this, add ARRAY_TYPE case, move some code to: + (scalarize_elem): New. + (analyze_all_variable_accesses): Follow renamings. + +2015-09-18 Richard Biener + + * dwarf2out.c (add_location_or_const_value_attribute): Do nothing + in early-dwarf. + +2015-09-18 Richard Biener + + PR tree-optimization/66142 + * fold-const.c (operand_equal_p): When OEP_ADDRESS_OF + treat MEM[&x] and x the same. + * tree-ssa-sccvn.h (vn_reference_fold_indirect): Remove. + * tree-ssa-sccvn.c (vn_reference_fold_indirect): Return true + when we simplified sth. + (vn_reference_maybe_forwprop_address): Likewise. + (valueize_refs_1): When we simplified through + vn_reference_fold_indirect or vn_reference_maybe_forwprop_address + set valueized_anything to true. + (vn_reference_lookup_3): Use stmt_kills_ref_p to see whether + one ref kills the other instead of just a offset-based test. + * tree-ssa-alias.c (stmt_kills_ref_p): Use OEP_ADDRESS_OF + for the operand_equal_p test to compare bases and also compare + sizes. + +2015-09-17 Christian Bruel + + * config/arm/arm.md (*call_value_symbol): Fix operand for interworking. + +2015-09-17 Richard Henderson + + PR libstdc++/65913 + * builtins.c (fold_builtin_atomic_always_lock_free): Handle fake + pointers that encode the alignment of the object. + +2015-09-17 Eric Botcazou + + PR rtl-optimization/66790 + * df-problems.c (LIVE): Amend documentation. + +2015-09-17 Richard Sandiford + + * Makefile.in (OBJS): Add optabs-libfuncs.o, optabs-query.o + and optabs-tree.o. + (GTFILES): Replace optabs.c with optabs-libfunc.c. + * genopinit.c (main): Add an include guard to insn-opinit.h. + Protect the rtx_code parts with NUM_RTX_CODE. + * optabs.h: Split parts out to... + * optabs-libfuncs.h, optabs-query.h, optabs-tree.h: ...these new files. + * optabs.c: Split parts out to... + * optabs-libfuncs.c, optabs-query.c, optabs-tree.c: ...these new files. + * cilk-common.c: Include optabs-query.h rather than optabs.h. + * fold-const.c: Likewise. + * target-globals.c: Likewise. + * tree-if-conv.c: Likewise. + * tree-ssa-forwprop.c: Likewise. + * tree-ssa-loop-prefetch.c: Likewise. + * tree-ssa-math-opts.c: Include optabs-tree.h rather than optabs.h. + Remove unncessary include files. + * tree-ssa-phiopt.c: Likewise. + * tree-ssa-reassoc.c: Likewise. + * tree-switch-conversion.c: Likewise. + * tree-vect-data-refs.c: Likewise. + * tree-vect-generic.c: Likewise. + * tree-vect-loop.c: Likewise. + * tree-vect-patterns.c: Likewise. + * tree-vect-slp.c: Likewise. + * tree-vect-stmts.c: Likewise. + * tree-vrp.c: Likewise. + * toplev.c: Include optabs-query.h and optabs-libfuncs.h + rather than optabs.h. + * expr.c: Include optabs-tree.h. + * function.c: Likewise. + +2015-09-17 Eric Botcazou + + PR middle-end/65958 + * config/arm/linux-elf.h (STACK_CHECK_STATIC_BUILTIN): Define. + * config/arm/arm-protos.h (output_probe_stack_range): Declare. + * config/arm/arm.c: Include common/common-target.h. + (use_return_insn): Return 0 if the static chain register was saved + above a non-APCS frame. + (arm_compute_static_chain_stack_bytes): Adjust for stack checking. + (struct scratch_reg): New. + (get_scratch_register_on_entry): New function. + (release_scratch_register_on_entry): Likewise. + (arm_emit_probe_stack_range): Likewise. + (output_probe_stack_range): Likewise. + (arm_expand_prologue): Factor out code dealing with the IP register + for nested function and adjust it for stack checking. + Invoke arm_emit_probe_stack_range if static builtin stack checking + is enabled. + (thumb1_expand_prologue): Sorry out if static builtin stack checking + is enabled. + (arm_expand_epilogue): Add the saved static chain register, if any, to + the amount of pre-pushed registers to pop. + (arm_frame_pointer_required): Return true if static stack checking is + enabled and we want to catch the exception with the EABI unwinder. + * config/arm/unspecs.md (UNSPEC_PROBE_STACK): New constant. + (UNSPEC_PROBE_STACK_RANGE): Likewise. + * config/arm/arm.md (probe_stack): New insn. + (probe_stack_range): Likewise. + +2015-09-17 Richard Biener + + * genmatch.c (parser::parse_expr): Improve error message + for mis-placed flags. + +2015-09-17 Richard Biener + + * passes.c (rest_of_decl_compilation): Always call early_global_decl + debug hook when we created a varpool node. + * dwarf2out.c (dwarf2out_late_global_decl): When in LTO call + dwarf2out_early_global_decl, when not just add location or + value attributes to existing DIEs. + +2015-09-17 James Greenhalgh + + * config/aarch64/aarch64.md (copysigndf3): New. + (copysignsf3): Likewise. + +2015-09-17 David S. Miller + + * config/sparc/sparc-protos.h (sparc_secondary_memory_needed): Declare. + * config/sparc/sparc.c (sparc_secondary_memory_needed): New function. + * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): Use it. + (HARD_REGNO_CALLER_SAVE_MODE): Define. + * config/sparc/sparc.md (sethi_di_medlow, losum_di_medlow, seth44) + (setm44, setl44, sethh, setlm, sethm, setlo, embmedany_sethi) + (embmedany_losum, embmedany_brsum, embmedany_textuhi) + (embmedany_texthi, embmedany_textulo, embmedany_textlo): Do not + provide when flag_pic. + +2015-09-17 Kaz Kojima + + * config/sh/sh.c (label_ref_list_d_pool): Adjust to + object_allocator change. + +2015-09-17 Bin Cheng + + PR tree-optimization/66388 + * tree-ssa-loop-ivopts.c (struct iv, iv_cand, ivopts_data): New fields. + (dump_iv): Dump no_overflow information. + (alloc_iv): Initialize new field for struct iv. + (mark_bivs): Count number of no_overflow bivs. + (find_deriving_biv_for_expr, record_biv_for_address_use): New + functions. + (idx_find_step): Call new functions above. + (add_candidate_1, add_candidate): New paramter. + (add_iv_candidate_for_biv): Add sizetype cand for BIV. + (get_computation_aff): Simplify convertion of cand for BIV. + (get_computation_cost_at): Step cand's base if necessary. + +2015-09-17 Bin Cheng + + * tree-ssa-loop-niter.c (tree_simplify_using_condition_1): New + parameter. + (tree_simplify_using_condition): Ditto. + (simplify_using_initial_conditions): Ditto. + (loop_exits_before_overflow): Pass new argument to function + simplify_using_initial_conditions. Remove case for type conversions + simplification. + * tree-ssa-loop-niter.h (simplify_using_initial_conditions): New + parameter. + * tree-scalar-evolution.c (simple_iv): Simplify type conversions + in iv base using loop initial conditions. + +2015-09-16 Jeff Law + + PR tree-optimization/47679 + * tree-ssa-dom.c (free_edge_info): Factored out of free_all_edge_infos. + (free_all_edge_infos): Use it. + (allocate_edge_info): Free preexisting edge info data. + (pass_dominator::execute): Set up initial edge info structures. + (dom_opt_dom_walker::thread_across_edge): Pass avail_expr_stack to + thread_across_edge. + * tree-ssa-threadedge.c (thread_across_edge): Accept new argument. + If non-null, then push/pop markers appropriately. + * tree-ssa-threadedge.h (thread_across_edge): Update prototype. + * tree-vrp.c (identify_jump_threads): Pass NULL for new argument to + thread-across_edge. + +2015-09-16 James Bowman + + * config/ft32/ft32.c: Fix the memory address space predicate. + +2015-09-16 Kaz Kojima + + PR target/67573 + * config/sh/sh.md (call_pcrel): Add early clobber to scratch operand. + (call_value_pcrel, sibcall_pcrel, sibcall_value_pcrel): Likewise. + +2015-09-16 Manuel López-Ibáñez + + * toplev.h (check_global_declaration): Remove declaration. + * toplev.c (check_global_declaration): Move to ... + * cgraphunit.c: ... here. Make it static and pass a symtab_node *. + (analyze_functions): Update call. + +2015-09-16 David S. Miller + + * lra-constraints.c (simplify_operand_subreg): Do not assume that + lowpart of a SUBREG has offset zero. + +2015-09-16 Jeff Law + + PR tree-optimization/47679 + * tree-ssa-dom.c (enum expr_kind): Moved from here to + tree-ssa-scopedtables.h. + (struct hashable_expr, class expr_hash_elt): Likewise. + (struct expr_elt_hasher, class avail_exprs_stack): Likewise. + Move associated methods into tree-ssa-scopedtables.c. + (avail_expr_hash, initialize_expr_from_cond): Similarly. + (hashable_expr_equal_p, add_expr_commutative): Likewise. + (add_hashable_expr): Likewise. + (record_cond): Delete element directly. + * tree-ssa-scopedtables.h (avail_expr_stack, const_and_copies): Add + private copy ctor and assignment operator methods. + (expr_elt_hasher): Inline trivial methods. + (initialize_expr_from_cond): Prototype. + * tree-ssa-scopedtables.c: Add necessary includes, functions and + methods that were previously in tree-ssa-dom.c. Improve various + comments. + +2015-09-16 Paolo Carlini + + * doc/invoke.texi ([Wsubobject-linkage]): Extend documentation. + +2015-09-16 Segher Boessenkool + + PR bootstrap/67587 + * function.c (rest_of_handle_thread_prologue_and_epilogue): Call + fixup_partitions. + +2015-09-16 Richard Biener + + PR middle-end/67253 + * cfgexpand.c (expand_gimple_stmt_1): Do not clobber + location of possibly shared trees. + +2015-09-16 Richard Biener + + PR middle-end/67271 + * fold-const.c (native_encode_expr): Bail out on bogus offsets. + +2015-09-16 Eric Botcazou + + * tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Use offset_int for + offset and size computations instead of HOST_WIDE_INT. + +2015-09-16 Richard Biener + + PR middle-end/67442 + * fold-const.c (extract_muldiv_1): Properly extend multiplication + result before builting a tree via wide_int_to_tree. + +2015-09-16 Mikhail Maltsev + + * Makefile.in: Add memory-block.cc + (pool_allocator::initialize): Use fixed block size. + (pool_allocator::release): Use memory_block_pool. + (pool_allocator::allocate): Likewise. + * asan.c (asan_mem_ref_pool): Adjust to use common block size in all + object pools. + * cfg.c (initialize_original_copy_tables): Likewise. + * cselib.c (elt_list_pool, elt_loc_list_pool, + cselib_val_pool): Likewise. + * df-problems.c (df_chain_alloc): Likewise. + * df-scan.c (df_scan_alloc): Likewise. + * dse.c (cse_store_info_pool, rtx_store_info_pool, + read_info_type_pool, insn_info_type_pool, bb_info_pool, + group_info_pool, deferred_change_pool): Likewise. + * et-forest.c (et_nodes, et_occurrences): Likewise. + * ipa-cp.c (ipcp_cst_values_pool, ipcp_sources_pool, + ipcp_agg_lattice_pool): Likewise. + * ipa-inline-analysis.c (edge_predicate_pool): Likewise. + * ipa-profile.c (histogram_pool): Likewise. + * ipa-prop.c (ipa_refdesc_pool): Likewise. + * ira-build.c (live_range_pool, allocno_pool, object_pool, + initiate_cost_vectors, pref_pool, copy_pool): Likewise. + * ira-color.c (update_cost_record_pool): Likewise. + * lra-lives.c (lra_live_range_pool): Likewise. + * lra.c (lra_insn_reg_pool, lra_copy_pool): Likewise. + * memory-block.cc: New file. + * memory-block.h: New file. + * regcprop.c (queued_debug_insn_change_pool): Use common block size. + * sched-deps.c (sched_deps_init): Likewise. + * sel-sched-ir.c (sched_lists_pool): Likewise. + * stmt.c (expand_case, expand_sjlj_dispatch_table): Likewise. + * tree-sra.c (access_pool): Likewise. + * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise. + * tree-ssa-pre.c (pre_expr_pool, bitmap_set_pool): Likewise. + * tree-ssa-reassoc.c (operand_entry_pool): Likewise. + * tree-ssa-sccvn.c (allocate_vn_table): Likewise. + * tree-ssa-strlen.c (strinfo_pool): Likewise. + * tree-ssa-structalias.c (variable_info_pool): Likewise. + * var-tracking.c (attrs_def_pool, var_pool, valvar_pool, + location_chain_pool, shared_hash_pool, loc_exp_dep_pool): Likewise. + +2015-09-15 Max Filippov + + * config/xtensa/xtensa.h (DWARF_ALT_FRAME_RETURN_COLUMN): New + definition. + (DWARF_FRAME_REGISTERS): Reserve space for one extra register in + call0 ABI. + +2015-09-15 Max Filippov + + * config/xtensa/xtensa.c (xtensa_call_tls_desc): Use a10 or a2 + to pass TLS call argument, according to current ABI. + * config/xtensa/xtensa.md (tls_call pattern): Use callx8 or + callx0 for TLS call, according to current ABI. + +2015-09-15 Eric Botcazou + + * tree-eh.c (lower_try_finally_dup_block): Clear location information + on stack restore statements. + (decide_copy_try_finally): Do not consider a stack restore statement as + coming from sources. + +2015-09-15 Uros Bizjak + + * config/alpha/alpha.c (alpha_expand_block_clear): Use + HOST_WIDE_INT_M1U instead of ~(HOST_WIDE_INT)0 when shifting. + +2015-09-15 Jeff Law + + PR tree-optimization/47679 + * tree-ssa-dom.c (expr_hash_elt): Now a class with ctors/dtors, + methods and private members. + (avail_exprs_stack): Similarly. Change type of global + from a pair of expr_hash_elt_t to the new class. + (expr_elt_hasher::hash): Corresponding changes. + (expr_elt_hasher::equal): Similarly. + (avail_expr_hash): Similarly. + (pass_dominator::execute): Similarly. + (dom_opt_dom_walker::thread_across_edge): Similarly. + (record_cond): Similarly. + (dom_opt_dom_walker::before_dom_children): Similarly. + (dom_opt_dom_walker::after_dom_children): Similarly. + (lookup_avail_expr): Likewise. + (initialize_hash_element): Now a expr_hash_elt constructor. + (initialize_hash_element_from_expr): Similarly. + (free_expr_hash_elt_contents): Now a dtor for class expr_hash_elt. + (free_expr_hash_elt): Call dtor for the element. + (remove_local_expressions_from_table): Now the "pop_to_marker" + method in the available_exprs_stack class. + (avail_expr_stack::record_expr): Method factored out. + (print_expr_hash_elt): Now a method in the expr_hash_elt class. + Fix formatting. + (hashable_expr_equal_p): Fix formatting. + +2015-09-15 David Malcolm + + * input.h (location_get_source_line): Drop "expanded_location" + param in favor of a file and line number. + * input.c (location_get_source_line): Likewise. + (dump_location_info): Update for change in signature of + location_get_source_line. + * diagnostic.c (diagnostic_print_caret_line): Likewise. + +2015-09-15 Eric Botcazou + + * defaults.h (STACK_OLD_CHECK_PROTECT): Adjust for -fno-exceptions. + Bump to 4KB for SJLJ exceptions. + (STACK_CHECK_PROTECT): Likewise. Bump to 8KB for SJLJ exceptions. + * doc/tm.texi.in (STACK_CHECK_PROTECT): Adjust. + * doc/tm.texi: Regenerate. + +2015-09-15 Kyrylo Tkachov + + * config/arm/arm.c (arm_gen_constant): Use HOST_WIDE_INT_M1U instead + of -1 when shifting. Change type of val to unsigned HOST_WIDE_INT. + Update prototype. + +2015-09-15 Richard Biener + + PR tree-optimization/67470 + * tree-ssa-loop-im.c (execute_sm_if_changed): Preserve PHI + structure for PHI hoisting by inserting a forwarder block + if appropriate. + +2015-09-15 Christian Bruel + + * config/arm/arm.c (TARGET_OPTION_PRINT): Define. + (arm_option_print): New function. + +2015-09-15 Christian Bruel + + PR target/52144 + * config/arm/arm.c (arm_option_params_internal): Remove opts parameter. + * config/arm/arm-c.c (arm_cpu_builtins): Declare static. + Remove flags parameter. + * config/arm/arm.h (TARGET_32BIT_P, TARGET_ARM_QBIT_P) + (TARGET_ARM_SAT_P, TARGET_IDIV_P, TARGET_HAVE_LDREX_P) + (TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P, TARGET_DSP_MULTIPLY_P) + (TARGET_ARM_FEATURE_LDREX_P, TARGET_INT_SIMD_P): Redefine macros with... + (TARGET_ARM_SAT, TARGET_IDIV, TARGET_HAVE_LDREX) + (TARGET_HAVE_LDREXBH, TARGET_HAVE_LDREXD, TARGET_ARM_FEATURE_LDREX) + (TARGET_DSP_MULTIPLY, TARGET_INT_SIMD): Redefined macros. + * config/arm/arm-protos.h (arm_cpu_builtins): Remove declaration. + +2015-09-15 Alan Lawrence + + * config/aarch64/aarch64.h (AARCH64_VALID_SIMD_DREG_MODE): New. + + * config/aarch64/aarch64.c (aarch64_array_mode_supported_p): Add + AARCH64_VALID_SIMD_DREG_MODE. + +2015-09-15 Alan Lawrence + + * config/aarch64/aarch64-simd.md (aarch64_ld2r, + aarch64_ld3r, aarch64_ld4r): Combine together, making... + (aarch64_simd_ldr): ...this. + (aarch64_ld2_lane, aarch64_ld3_lane, + aarch64_ld4_lane): Combine together, making... + (aarch64_ld_lane): ...this. + (aarch64_st2_lane, aarch64_st3_lane, + aarch64_st4_lane): Combine together, making... + (aarch64_st_lane): ...this. + * config/aarch64/iterators.md (nregs): Add comment. + +2015-09-15 Alan Lawrence + + * config/aarch64/aarch64-simd.md (aarch64_simd_ld2r): + Change operand mode from to BLK. + (aarch64_vec_load_lanesoi_lane): Likewise. + (aarch64_vec_store_lanesoi_lane): Generate MEM rtx with BLKmode, call set_mem_size. + (aarch64_ld2_lane): Likewise. + (aarch64_st2_lane): Likewise. + * config/aarch64/iterators.md (V_TWO_ELEM): Remove. + +2015-09-15 Alan Lawrence + + * config/aarch64/aarch64-simd.md (aarch64_simd_ld4r): + Change operand mode from to BLK. + (aarch64_vec_load_lanesxi_lane): Likewise. + (aarch64_vec_store_lanesxi_lane): Generate MEM rtx with BLKmode, call set_mem_size. + (aarch64_ld4_lane): Likewise. + (aarch64_st4_lane): Likewise. + * config/aarch64/iterators.md (V_FOUR_ELEM): Remove. + +2015-09-15 Richard Biener + + PR middle-end/67563 + * gimple-fold.c (gimplify_and_update_call_from_tree): Do not + transfer EH info from old to new stmt. + (replace_call_with_value): Likewise. + (replace_call_with_call_and_fold): Likewise. + (gimple_fold_builtin_memory_op): Likewise. + (gimple_fold_builtin_memset): Likewise. + (gimple_fold_builtin_stpcpy): Likewise. + (gimple_fold_call): Likewise. + +2015-09-15 Alan Lawrence + + * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist): Update + comment. + * config/aarch64/aarch64-builtins.c (ei_UP): Remove. + (aarch64_simd_intEI_type_node): Likewise. + (aarch64_simd_builtin_std_type): Remove EImode case. + (aarch64_init_simd_builtin_types): Don't create/add intEI_type_node. + * config/aarch64/aarch64-modes.def: Remove EImode. + +2015-09-15 Alan Lawrence + + * config/aarch64/aarch64-simd.md (aarch64_simd_ld3r): + Change operand mode from to BLK. + (aarch64_vec_load_lanesci_lane): Likewise. + (aarch64_vec_store_lanesci_lane): Likewise. + (aarch64_ld3r): Generate MEM rtx with BLKmode, call set_mem_size. + (aarch64_ld3_lane): Likewise. + (aarch64_st3_lane): Likewise. + * config/aarch64/iterators.md (V_THREE_ELEM): Remove. + +2015-09-15 Alan Lawrence + + * config/aarch64/aarch64-simd.md + (aarch64_ld2_dreg VD & DX, aarch64_st2_dreg VD & DX ): + Change all TImode operands to BLKmode. + (aarch64_ld3_dreg VD & DX, aarch64_st3_dreg VD & DX): + Change all EImode operands to BLKmode. + (aarch64_ld4_dreg VD & DX, aarch64_st4_dreg VD & DX): + Change all OImode operands to BLKmode. + + (aarch64_ld): Generate MEM rtx with BLKmode + and call set_mem_size. + (aarch64_st): Likewise. + + * config/aarch64/iterators.md (VSTRUCT_DREG): Remove. + +2015-09-15 Alan Lawrence + + * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane): Rename + to... + (aarch64_vec_store_lanesoi_lane): ...this. + + (vec_store_lanesci_lane): Rename to... + (aarch64_vec_store_lanesci_lane): ...this. + + (vec_store_lanesxi_lane): Rename to... + (aarch64_vec_store_lanesxi_lane): ...this. + + (aarch64_st2_lane, aarch64_st3_lane, + aarch64_st4_lane): Follow renaming. + +2015-09-15 Andreas Krebbel + + * config/s390/s390.c (s390_const_operand_ok): Add missing + brackets. + +2015-09-15 Richard Biener + + PR lto/67568 + * lto-streamer.h (lto_location_cache::current_sysp): Properly + initialize. + * lto-streamer-out.c (clear_line_info): Likewise. + +2015-09-15 Richard Biener + + * doc/match-and-simplify.texi: Fix wording. + +2015-09-15 Bin Cheng + + * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Strip + unnecessary type conversion in op1. + +2015-09-14 Segher Boessenkool + + * shrink-wrap.c (requires_stack_frame_p): Fix formatting. + (dup_block_and_redirect): Delete function. + (can_dup_for_shrink_wrapping): New function. + (fix_fake_fallthrough_edge): New function. + (try_shrink_wrapping): Rewrite function. + (convert_to_simple_return): Call fix_fake_fallthrough_edge. + +2015-09-14 Rich Felker + + * configure.ac: Change target pattern for sh TLS support + test from "sh[34]-*-*" to "sh[123456789lbe]*-*-*". + * configure: Regenerate. + +2015-09-14 Jeff Law + + PR tree-optimization/47679 + * tree-ssa-dom.c (avail_expr_hash): Pass a pointer to a real + type rather than void *. + +2015-09-14 Manuel López-Ibáñez + + PR fortran/67460 + * diagnostic.c (diagnostic_initialize): Do not set + some_warnings_are_errors. + (diagnostic_finish): Use DK_WERROR count instead. + (diagnostic_report_diagnostic): Do not set + some_warnings_are_errors. + * diagnostic.h (struct diagnostic_context): Remove + some_warnings_are_errors. + +2015-09-14 Richard Sandiford + + * config/sparc/predicates.md (const_all_ones_operand): Use + CONSTM1_RTX to simplify definition. + +2015-09-14 Oleg Endo + + PR target/67061 + * config/sh/sh-protos.h (sh_find_set_of_reg): Simplfiy for-loop. + Handle call insns. + +2015-09-14 Chung-Lin Tang + + * lto-wrapper.c (merge_and_complain): Add OPT_fdiagnostics_show_caret, + OPT_fdiagnostics_show_option, OPT_fdiagnostics_show_location_, and + OPT_fshow_column to handled saved option cases. + (append_compiler_options): Do not skip the above added options. + +2015-09-14 Ramana Radhakrishnan + + PR target/63304 + * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Handle + nopcrelative_literal_loads. + (aarch64_classify_address): Likewise. + (aarch64_constant_pool_reload_icode): Define. + (aarch64_secondary_reload): Handle secondary reloads for + literal pools. + (aarch64_override_options): Handle nopcrelative_literal_loads. + (aarch64_classify_symbol): Handle nopcrelative_literal_loads. + * config/aarch64/aarch64.md (aarch64_reload_movcp): + Define. + (aarch64_reload_movcp): Likewise. + * config/aarch64/aarch64.opt (mpc-relative-literal-loads): New option. + * config/aarch64/predicates.md (aarch64_constant_pool_symref): New + predicate. + * doc/invoke.texi (mpc-relative-literal-loads): Document. + +2015-09-14 John David Anglin + + PR middle-end/67401 + * optabs.c (expand_atomic_compare_and_swap): Move result of emitting + sync_compare_and_swap_optab libcall to target_oval. + +2015-09-14 Marek Polacek + + * rtlanal.c (split_double): Cast to unsigned when shifting a negative + value. + * sched-int.h (UNKNOWN_DEP_COST): Likewise. + +2015-09-11 Mark Wielaard + + PR c/28901 + * toplev.c (check_global_declaration): Check and use + warn_unused_const_variable. + * doc/invoke.texi (Warning Options): Add -Wunused-const-variable. + (-Wunused-variable): Remove non-constant. For C implies + -Wunused-const-variable. + (-Wunused-const-variable): New. + +2015-09-14 Richard Biener + + * doc/match-and-simplify.texi: Update for changed syntax + of inner ifs and the new switch expression. + +2015-09-14 Yuri Rumyantsev + + * config/i386/haswell.md: New file describing Haswell pipeline. + * config/i386/i386.c (processor_alias_table): Use CPU_HASWELL for + haswell-like processors. + (ix86_reassociation_width): Increase reassociation width for 64-bit + Haswell processor family. + * config/i386/i386.md: Introduce haswell cpu and include new md file. + +2015-09-14 Richard Biener + + * doc/match-and-simplify.texi: Fixup some formatting issues + and document the 's' flag. + +2015-09-13 Olivier Hainque + Eric Botcazou + + * config.gcc (visium-*-*): Enable --with-cpu option, accept gr5 and + gr6 as possible values, defaulting to gr5. Set target_cpu_default2. + * config/visium/visium.h (OPTION_DEFAULT_SPECS): Define. + (TARGET_CPU_gr5): Likewise. + (TARGET_CPU_gr6): Likewise. + (MULTILIB_DEFAULTS): Likewise. + * config/visium/t-visium (MULTILIB_OPTIONS): Request distinct variants + for mcpu=gr5 and mcpu=gr6. + (MULTILIB_DIRNAMES): Adjust accordingly. + +2015-09-13 Trevor Saunders + + * tree-ssa-loop-im.c (mem_ref_loc_p): Remove typedef. + (mem_ref_p): Likewise. + (outermost_indep_loop): Adjust. + (mem_ref_in_stmt): Likewise. + (determine_max_movement): Likewise. + (mem_ref_alloc): Likewise. + (record_mem_ref_loc): Likewise. + (set_ref_stored_in_loop): Likewise. + (mark_ref_stored): Likewise. + (gather_mem_refs_stmt): Likewise. + (mem_refs_may_alias_p): Likewise. + (for_all_locs_in_loop): Likewise. + (struct rewrite_mem_ref_loc): Likewise. + (rewrite_mem_refs): Likewise. + (struct first_mem_ref_loc_1): Likewise. + (first_mem_ref_loc): Likewise. + (struct sm_set_flag_if_changed): Likewise. + (execute_sm_if_changed_flag_set): Likewise. + (execute_sm): Likewise. + (hoist_memory_references): + (struct ref_always_accessed): Likewise. + (ref_always_accessed_p): Likewise. + (refs_independent_p): Likewise. + (record_dep_loop): Likewise. + (ref_indep_loop_p_1): Likewise. + (ref_indep_loop_p_2): Likewise. + (ref_indep_loop_p): Likewise. + (can_sm_ref_p): Likewise. + (find_refs_for_sm): Likewise. + (tree_ssa_lim_finalize): Likewise. + +2015-09-13 Trevor Saunders + + * dwarf2out.c (dw_attr_ref): Remove typedef. + (dw_line_info_ref): Likewise. + (pubname_ref): Likewise. + (dw_ranges_ref): Likewise. + (dw_ranges_by_label_ref): Likewise. + (comdat_type_node_ref): Likewise. + (get_AT): Adjust. + (get_AT_low_pc): Likewise. + (get_AT_hi_pc): Likewise. + (get_AT_string): Likewise. + (get_AT_flag): Likewise. + (get_AT_unsigned): Likewise. + (get_AT_ref): Likewise. + (get_AT_file): Likewise. + (remove_AT): Likewise. + (print_die): Likewise. + (check_die): Likewise. + (die_checksum): Likewise. + (attr_checksum_ordered): Likewise. + (struct checksum_attributes): Likewise. + (collect_checksum_attributes): Likewise. + (die_checksum_ordered): Likewise. + (same_die_p): Likewise. + (is_declaration_die): Likewise. + (clone_die): Likewise. + (clone_as_declaration): Likewise. + (copy_declaration_context): Likewise. + (break_out_comdat_types): Likewise. + (copy_decls_walk): Likewise. + (output_location_lists): Likewise. + (external_ref_hasher::hash): Likewise. + (optimize_external_refs_1): Likewise. + (build_abbrev_table): Likewise. + (size_of_die): Likewise. + (unmark_all_dies): Likewise. + (size_of_pubnames): Likewise. + (output_die_abbrevs): Likewise. + (output_die): Likewise. + (output_pubnames): Likewise. + (add_ranges_num): Likewise. + (add_ranges_by_labels): Likewise. + (add_high_low_attributes): Likewise. + (gen_producer_string): Likewise. + (dwarf2out_set_name): Likewise. + (new_line_info_table): Likewise. + (prune_unused_types_walk_attribs): Likewise. + (prune_unused_types_update_strings): Likewise. + (prune_unused_types): Likewise. + (resolve_addr): Likewise. + (optimize_location_lists_1): Likewise. + (index_location_lists): Likewise. + (dwarf2out_finish): Likewise. + +2015-09-13 Trevor Saunders + + * dwarf2cfi.c (dw_trace_info_ref): Remove typedef. + +2015-09-13 Trevor Saunders + + * tree-vrp.c (struct assert_locus_d): Rename to assert_locus. + (dump_asserts_for): Adjust. + (register_new_assert_for): Likewise. + (process_assert_insertions): Likewise. + (insert_range_assertions): Likewise. + +2015-09-13 Trevor Saunders + + * tree-ssa-ter.c (temp_expr_table_d): Rename to temp_expr_table + and remove typedef. + (new_temp_expr_table): Adjust. + (free_temp_expr_table): Likewise. + (version_to_be_replaced_p): Likewise. + (make_dependent_on_partition): Likewise. + (add_to_partition_kill_list): Likewise. + (remove_from_partition_kill_list): Likewise. + (add_dependence): Likewise. + (finished_with_expr): Likewise. + (process_replaceable): Likewise. + (kill_expr): Likewise. + (kill_virtual_exprs): Likewise. + (mark_replaceable): Likewise. + (find_replaceable_in_bb): Likewise. + (find_replaceable_exprs): Likewise. + (debug_ter): Likewise. + +2015-09-13 Trevor Saunders + + * bt-load.c (struct btr_def_group): Rename from btr_def_group_s. + (struct btr_user): Rename from btr_user_s. + (struct btr_def): Rename from btr_def_s. + (find_btr_def_group): Adjust. + (add_btr_def): Likewise. + (new_btr_user): Likewise. + (note_other_use_this_block): Likewise. + (compute_defs_uses_and_gen): Likewise. + (link_btr_uses): Likewise. + (build_btr_def_use_webs): Likewise. + (block_at_edge_of_live_range_p): Likewise. + (btr_def_live_range): Likewise. + (combine_btr_defs): Likewise. + (move_btr_def): Likewise. + (migrate_btr_def): Likewise. + (migrate_btr_defs): Likewise. + +2015-09-13 Trevor Saunders + + * var-tracking.c (shared_hash_def): Rename to shared_hash. + (shared_hash): Remove typedef. + (struct dataflow_set): Adjust. + (shared_hash_unshare): Likewise. + (dataflow_set_merge): Likewise. + (vt_initialize): Likewise. + (vt_finalize): Likewise. + +2015-09-13 Trevor Saunders + + * var-tracking.c (struct location_chain): Rename from + location_chain_def. + (struct variable_part): Adjust. + (variable_htab_free): Likewise. + (unshare_variable): Likewise. + (get_init_value): Likewise. + (get_addr_from_local_cache): Likewise. + (drop_overlapping_mem_locs): Likewise. + (val_reset): Likewise. + (struct variable_union_info): Likewise. + (variable_union): Likewise. + (find_loc_in_1pdv): Likewise. + (insert_into_intersection): Likewise. + (intersect_loc_chains): Likewise. + (canonicalize_loc_order_check): Likewise. + (canonicalize_values_mark): Likewise. + (canonicalize_values_star): Likewise. + (canonicalize_vars_star): Likewise. + (variable_merge_over_cur): Likewise. + (remove_duplicate_values): Likewise. + (variable_post_merge_new_vals): Likewise. + (variable_post_merge_perm_vals): Likewise. + (find_mem_expr_in_1pdv): Likewise. + (dataflow_set_preserve_mem_locs): Likewise. + (dataflow_set_remove_mem_locs): Likewise. + (variable_part_different_p): Likewise. + (onepart_variable_different_p): Likewise. + (find_src_set_src): Likewise. + (dump_var): Likewise. + (set_slot_part): Likewise. + (clobber_slot_part): Likewise. + (delete_slot_part): Likewise. + (vt_expand_var_loc_chain): Likewise. + (emit_note_insn_var_location): Likewise. + (vt_finalize): Likewise. + +2015-09-13 Trevor Saunders + + * dse.c (store_info_t): Remove typedef. + (group_info_t): Likewise. + (const_group_info_t): Likewise. + (deferred_change_t): Likewise. + (get_group_info): Adjust. + (free_store_info): Likewise. + (canon_address): Likewise. + (clear_rhs_from_active_local_stores): Likewise. + (record_store): Likewise. + (replace_read): Likewise. + (check_mem_read_rtx): Likewise. + (scan_insn): Likewise. + (remove_useless_values): Likewise. + (dse_step1): Likewise. + (dse_step2_init): Likewise. + (dse_step2_nospill): Likewise. + (scan_stores_nospill): Likewise. + (scan_reads_nospill): Likewise. + (dse_step3_exit_block_scan): Likewise. + (dse_step3): Likewise. + (dse_step5_nospill): Likewise. + (dse_step6): Likewise. + +2015-09-13 Trevor Saunders + + * alias.c (alias_set_entry_d): Rename to alias_set_entry. + (alias_set_entry): Remove typedef. + (alias_set_subset_of): Adjust. + (alias_sets_conflict_p): Likewise. + (init_alias_set_entry): Likewise. + (get_alias_set): Likewise. + (new_alias_set): Likewise. + (record_alias_subset): Likewise. + +2015-09-13 Gerald Pfeifer + + * doc/install.texi (Downloading the source): Mark up + contrib/download_prerequisites properly and drop leading "./". + +2015-09-12 Trevor Saunders + + * config/arc/arc.h: Remove define of STRUCT_VALUE. + * config/lm32/lm32.h: Likewise. + * config/mep/mep.h: Likewise. + * config/visium/visium.h: Likewise. + * system.h: Poison STRUCT_VALUE macro. + +2015-09-12 John David Anglin + + * config/pa/pa.c (pa_output_move_double): Enhance to handle HIGH + CONSTANT_P operands. + +2015-09-11 David S. Miller + + * config/sparc/constraints.md: Make "U" constraint a real register + constraint. + * config/sparc/sparc.c (TARGET_LRA_P): Define. + (D_MODES, DF_MODES): Add missing cast. + (TF_MODES, TF_MODES_NO_S): Include T_MODE. + (OF_MODES, OF_MODES_NO_S): Include O_MODE. + (sparc_register_move_cost): Decrease Niagara/UltrsSPARC memory + cost to 8. + * config/sparc/sparc.h (PROMOTE_MODE): Define. + * config/sparc/sparc.md (*movsi_lo_sum, *movsi_high): Do not + provide these insn when flag_pic. + +2015-09-11 Jeff Law + + PR tree-optimization/47679 + * tree-ssa-dom.c (struct cond_equivalence): Update comment. + * tree-ssa-scopedtables.h (class const_and_copies): Prefix data + member with m_. Update inline member functions as necessary. Add + toplevel comment. + * tree-ssa-scopedtables.c: Update const_and_copies's member + functions to use m_ prefix to access the stack. + +2015-09-11 Aditya Kumar + + * graphite-optimize-isl.c (disable_tiling): Remove. + (get_schedule_for_band): Do not use disable_tiling. + (get_prevector_map): Delete function. + (enable_polly_vector): Remove. + (get_schedule_for_band_list): Remove dead code. + +2015-09-11 Aditya Kumar + + * graphite-optimize-isl.c (get_tile_map): Refactor. + (get_schedule_for_band): Same. + (getScheduleForBand): Same. + (get_prevector_map): Same. + (get_schedule_for_band_list): Same. + (get_schedule_map): Same. + (get_single_map): Same. + (apply_schedule_map_to_scop): Same. + (optimize_isl): Same. + +2015-09-10 Ramana Radhakrishnan + + PR target/63304 + * config/aarch64/aarch.md (mov:GPF_F16): Use GPF_TF_F16. + (movtf): Delete. + * config/aarch64/iterators.md (GPF_TF_F16): New. + (GPF_F16): Delete. + +2015-09-10 Nathan Sidwell + + * config/nvptx/nvptx.c (nvptx_expand_call): Add spacing. + (nvptx_reorg): Adjust comments. + +2015-09-15 John David Anglin + + PR bootstrap/67363 + * configure.ac: Check if setenv and unsetenv are declared. + * configure: Rebuild. + * config.in: Rebuild. + * system.h: Declare setenv and unsetenv if not declared. + +2015-09-10 Bill Schmidt + + * config/rs6000/rs6000.c (swap_web_entry): Update preceding + commentary to simplify permute mask adjustment equation. + (special_handling_values): Add SH_VPERM. + (const_load_sequence_p): New function. + (insn_is_swappable_p): Add logic to recognize an UNSPEC_VPERM with + the mask loaded from the constant pool. + (adjust_vperm): New function. + (handle_special_swappables): Call adjust_vperm. + (dump_swap_insn_table): Handle SH_VPERM. + +2015-09-10 H.J. Lu + + * shrink-wrap.c (requires_stack_frame_p): Remove static. + * shrink-wrap.h (requires_stack_frame_p): Put back. + +2015-09-10 Richard Sandiford + + * reload1.c (elimination_costs_in_insn): Locally turn + -Wmaybe-uninitialized into a warning. + +2015-09-10 Segher Boessenkool + + * shrink-wrap.c (requires_stack_frame_p): Make static. + (prepare_shrink_wrap): Likewise. + (dup_block_and_redirect): Likewise. + * shrink-wrap.h: Remove declarations of those functions. + +2015-09-10 Mark Wielaard + + * doc/invoke.texi (Wnonnull): Also warns when comparing against NULL. + +2015-09-10 Oleg Endo + + PR target/67506 + * config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Add + missing simplify_gen_subreg. + +2015-09-10 Andreas Krebbel + + * config/s390/s390.c (s390_contiguous_bitmask_vector_p): Reject if + the vector element is bigger than 64 bit. + +2015-09-10 Andreas Krebbel + + * config/s390/vx-builtins.md ("vec_vmal", "vec_vmah") + ("vec_vmalh"): Change mode iterator from VI_HW to VI_HW_QHS. + +2015-09-10 Andreas Krebbel + + * config/s390/s390.c: Add V1TImode to constant pool modes. + +2015-09-10 Kyrylo Tkachov + + PR target/67439 + * config/arm/arm.md (*arm32_movhf): Remove !arm_restrict_it from + predicate. Set predicable_short_it attr to "no". + +2015-09-10 Jiong Wang + + PR rtl-optimization/67421 + * expr.c (expand_expr_real_2): Cost instrcution sequences when doing + left wide shift tranformation. + +2015-09-10 Claudiu Zissulescu + + * common/config/arc/arc-common.c: Remove references to A5. + * config/arc/arc-opts.h: Likewise. + * config/arc/arc.c, config/arc/arc.h, config/arc/arc.md: Likewise. + * config/arc/arc.opt, config/arc/constraints.md: Likewise. + * config/arc/t-arc-newlib: Likewise. + +2015-09-10 Claudiu Zissulescu + + * config/arc/arc.md (length): Fix attribute length for conditional + executed instructions with long immediate. + +2015-09-10 Kyrylo Tkachov + + * config/aarch64/aarch64.md (*and3nr_compare0): Use logics_imm + type for second alternative. + +2015-09-10 Markus Trippelsdorf + + * doc/invoke.texi (Downloading GCC): Mention + contrib/download_prerequisites script. + +2015-09-10 Jakub Jelinek + + PR c++/67523 + * gimplify.c (gimplify_omp_for): If inner stmt is not found + for combined loop, assert seen_error () and return GS_ERROR. + + PR middle-end/67521 + * gimplify.c (gimplify_omp_for): Don't call omp_add_variable + if decl is already in outer->variables. + + PR middle-end/67517 + * gimplify.c (gimplify_scan_omp_clauses): Instead of + asserting that decl is not specified in octx->variables, + break out of the loop if it is. + + PR c++/67514 + * gimplify.c (gimplify_omp_for): For loop SIMD construct, if + iterator is not explicitly determined, but is defined inside + of the combined workshare region, handle it like if it has + DECL_EXPR in OMP_FOR_PRE_BODY. + +2015-09-09 Nathan Sidwell + + * config/nvptx/nvptx.md (call_operation): Move bound out of loop. + (*cmp): Add assembler spacing. + (setcc_int, set_cc_float): Likewise. + * config/nvptx/nvptx.c (nvptx_option_override): Override debug + level. + (write_func_decl_from_insn): Refactor argument loops & comma emission. + (nvptx_expand_call): Likewise. + (nvptx_output_call_insn): Likewise. + (nvptx_reorg_subreg): Add spacing. + +2015-09-09 Marek Polacek + + PR middle-end/67512 + * tree-ssa-uninit.c (pred_equal_p): Only call invert_tree_comparison + for comparisons. + +2015-09-09 Paolo Carlini + + PR c++/53184 + * doc/invoke.texi ([Wsubobject-linkage]): Document. + +2015-09-09 Tom de Vries + + * params-list.h: Add missing copyright notice. + +2015-09-09 Nathan Sidwell + + * config/nvptx/nvptx.md (atomic_compare_and_swap): Use + sel_truesi, not andsi. + +2015-09-09 Kyrylo Tkachov + + * config/arm/arm.md (*subsi3_compare0): Rename to... + (subsi3_compare0): ... This. + (modsi3): New define_expand. + * config/arm/arm.c (arm_new_rtx_costs, MOD case): Handle case + when operand is power of 2. + +2015-09-09 Kyrylo Tkachov + + * config/aarch64/aarch64.md (mod3): New define_expand. + (*neg2_compare0): Rename to... + (neg2_compare0): ... This. + * config/aarch64/aarch64.c (aarch64_rtx_costs, MOD case): + Move check for speed inside the if-then-elses. Reflect + CSNEG sequence in MOD by power of 2 case. + +2015-09-09 Alan Modra + + PR target/67378 + * config/rs6000/rs6000.c (rs6000_secondary_reload_gpr): Find + reload replacement for PRE_MODIFY address reg. + +2015-09-09 Sebastian Pop + + PR tree-optimization/53852 + * config.in: Regenerate. + * configure: Regenerate. + * configure.ac (HAVE_ISL_CTX_MAX_OPERATIONS): Detect. + * graphite-optimize-isl.c (optimize_isl): Stop computation when + PARAM_MAX_ISL_OPERATIONS is reached. + * params.def (PARAM_MAX_ISL_OPERATIONS): Add. + * graphite-dependences.c (extend_schedule): Remove gcc_asserts on + result equal to isl_stat_ok as the status now can be isl_error_quota. + (subtract_commutative_associative_deps): Same. + (compute_deps): Same. + +2015-09-08 Aditya Kumar + Sebastian Pop + + * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id): + Return the parameter if it was saved in corresponding + parameter_rename_map of the region. + (copy_def): Copy def from sese region to the newly created region. + (copy_internal_parameters): Copy all the internal parameters defined + within a region to the newly created region. + (graphite_regenerate_ast_isl): Copy parameters to the new region before + translating isl to gimple. + * graphite-scop-detection.c (graphite_can_represent_loop): Bail out if + the loop-nest does not have any data-references. + (build_graphite_scops): Create a scop only when there is at least one + loop inside it. + (contains_only_close_phi_nodes): Deleted. + (print_graphite_scop_statistics): Deleted + (print_graphite_statistics): Deleted + (limit_scops): Deleted. + (build_scops): Removed call to limit_scops. + * sese.c (new_sese): Construct. + (free_sese): Destruct. + (sese_add_exit_phis_edge): update_stmt after exit phi edge has been + added. + (set_rename): Pass sese region so that parameters inside the region can + be added to its parameter_rename_map. + (rename_uses): Pass sese region. + (graphite_copy_stmts_from_block): Do not copy parameters that have been + generated in the header of the scop. For each SSA_NAME in the + parameter_rename_map rename its usage. + (invariant_in_sese_p_rec): Return false if tree t is defined outside + sese region. + (scalar_evolution_in_region): If the tree t is invariant just return t. + * sese.h: Added a parameter renamne map (parameter_rename_map_t) to + struct sese to keep track of all the parameters which need renaming. + * tree-data-ref.c (loop_nest_has_data_refs): Check if a loop nest has + any data-refs. + * tree-data-ref.h: Declaration of loop_nest_has_data_refs. + +2015-09-08 Tom de Vries + + * Makefile.in (generated_files): Add params.list. + (params.list, s-params.list): Add rule. + * params.h (enum compiler_param): Include params-list.h. Move define + DEFPARAM, include params.def and undef DEFPARAM ... + * params-list.h: ... here. New file. + +2015-09-08 David Malcolm + + * pretty-print.h (printer_fn): Fix typo in comment. + +2015-09-07 Jeff Law + + * tree-ssa-scopedtables.h (class const_and_copies): Fix comment typo. + +2015-09-08 Alan Lawrence + + * doc/sourcebuild.texi (arm_neon_fp16): Correct cross-reference. + (arm_neon_fp16_ok): Document adding of -mfp16-format=ieee flag. + (arm_neon_fp16_hw): New. + +2015-09-08 Alan Lawrence + + * fold-const.c (native_interpret_real): Fix HFmode for bigendian where + UNITS_PER_WORD >= 4. + +2015-09-08 Alan Lawrence + + * config/aarch64/aarch64-simd.md (aarch64_simd_vec_unpacks_lo_, + aarch64_simd_vec_unpacks_hi_): New insn. + (vec_unpacks_lo_v4sf, vec_unpacks_hi_v4sf): Delete insn. + (vec_unpacks_lo_, vec_unpacks_hi_): New expand. + (aarch64_float_extend_lo_v2df): Rename to... + (aarch64_float_extend_lo_): this, using VDF and so adding V4SF. + + * config/aarch64/aarch64-simd-builtins.def (vec_unpacks_hi): Add v8hf. + (float_extend_lo): Add v4sf. + + * config/aarch64/arm_neon.h (vcvt_f32_f16, vcvt_high_f32_f16): New. + * config/aarch64/iterators.md (VQ_HSF): New iterator. + (VWIDE, Vwtype, Vhalftype): Add V8HF, V4SF. + (Vwide): New mode_attr. + +2015-09-08 Alan Lawrence + + * config/aarch64/aarch64-simd.md (aarch64_simd_dup, + aarch64_dup_lane, aarch64_dup_lane_, + aarch64_simd_vec_set, vec_set, vec_perm_const, + vec_init, *aarch64_simd_ld1r, vec_extract): Add + V4HF and V8HF variants to iterator. + + * config/aarch64/aarch64.c (aarch64_evpc_dup): Add V4HF and V8HF cases. + + * config/aarch64/iterators.md (VDQF_F16): New. + (VSWAP_WIDTH, vswap_width_name): Add V4HF and V8HF cases. + +2015-09-08 Alan Lawrence + + * config/aarch64/arm_neon.h (vreinterpret_p8_f16, vreinterpret_p16_f16, + vreinterpret_f16_f64, vreinterpret_f16_s8, vreinterpret_f16_s16, + vreinterpret_f16_s32, vreinterpret_f16_s64, vreinterpret_f16_f32, + vreinterpret_f16_u8, vreinterpret_f16_u16, vreinterpret_f16_u32, + vreinterpret_f16_u64, vreinterpret_f16_p8, vreinterpret_f16_p16, + vreinterpretq_f16_f64, vreinterpretq_f16_s8, vreinterpretq_f16_s16, + vreinterpretq_f16_s32, vreinterpretq_f16_s64, vreinterpretq_f16_f32, + vreinterpretq_f16_u8, vreinterpretq_f16_u16, vreinterpretq_f16_u32, + vreinterpretq_f16_u64, vreinterpretq_f16_p8, vreinterpretq_f16_p16, + vreinterpret_f32_f16, vreinterpret_f64_f16, vreinterpret_s64_f16, + vreinterpret_u64_f16, vreinterpretq_u64_f16, vreinterpret_s8_f16, + vreinterpret_s16_f16, vreinterpret_s32_f16, vreinterpret_u8_f16, + vreinterpret_u16_f16, vreinterpret_u32_f16, vreinterpretq_p8_f16, + vreinterpretq_p16_f16, vreinterpretq_f32_f16, vreinterpretq_f64_f16, + vreinterpretq_s64_f16, vreinterpretq_s8_f16, vreinterpretq_s16_f16, + vreinterpretq_s32_f16, vreinterpretq_u8_f16, vreinterpretq_u16_f16, + vreinterpretq_u32_f16, vget_low_f16, vget_high_f16, vld1_dup_f16, + vld1q_dup_f16): New. + +2015-09-08 Alan Lawrence + + * config/aarch64/aarch64-simd.md (aarch64_float_truncate_lo_v2sf): + Reparameterize to... + (aarch64_float_truncate_lo_): ...this, for both V2SF and V4HF. + (aarch64_float_truncate_hi_v4sf): Reparameterize to... + (aarch64_float_truncate_hi_): ...this, for both V4SF and V8HF. + + * config/aarch64/aarch64-simd-builtins.def (float_truncate_hi_): Add + v8hf variant. + (float_truncate_lo_): Use BUILTIN_VDF iterator. + + * config/aarch64/arm_neon.h (vcvt_f16_f32, vcvt_high_f16_f32): New. + + * config/aarch64/iterators.md (VDF, Vdtype): New. + (VWIDE, Vmwtype): Add cases for V4HF and V2SF. + +2015-09-08 Alan Lawrence + + * config/aarch64/aarch64.c (aarch64_split_simd_combine): Add V4HFmode. + * config/aarch64/aarch64-builtins.c (VAR13, VAR14): New. + (aarch64_scalar_builtin_types, aarch64_init_simd_builtin_scalar_types): + Add __builtin_aarch64_simd_hf. + * config/aarch64/arm_neon.h (float16x4x2_t, float16x8x2_t, + float16x4x3_t, float16x8x3_t, float16x4x4_t, float16x8x4_t, + vcombine_f16, vst2_lane_f16, vst2q_lane_f16, vst3_lane_f16, + vst3q_lane_f16, vst4_lane_f16, vst4q_lane_f16, vld2_f16, vld2q_f16, + vld3_f16, vld3q_f16, vld4_f16, vld4q_f16, vld2_dup_f16, vld2q_dup_f16, + vld3_dup_f16, vld3q_dup_f16, vld4_dup_f16, vld4q_dup_f16, + vld2_lane_f16, vld2q_lane_f16, vld3_lane_f16, vld3q_lane_f16, + vld4_lane_f16, vld4q_lane_f16, vst2_f16, vst2q_f16, vst3_f16, + vst3q_f16, vst4_f16, vst4q_f16, vcreate_f16): New. + + * config/aarch64/iterators.md (VALLDIF, Vtype, Vetype, Vbtype, + V_cmp_result, v_cmp_result): Add cases for V4HF and V8HF. + (VDC, Vdbl): Add V4HF. + +2015-09-08 Alan Lawrence + + * config/aarch64/aarch64.c (aarch64_vector_mode_supported_p): Support + V4HFmode and V8HFmode. + (aarch64_split_simd_move): Add case for V8HFmode. + * config/aarch64/aarch64-builtins.c (v4hf_UP, v8hf_UP): Define. + (aarch64_simd_builtin_std_type): Handle HFmode. + (aarch64_init_simd_builtin_types): Include Float16x4_t and Float16x8_t. + + * config/aarch64/aarch64-simd.md (mov, aarch64_get_lane, + aarch64_ld1, aarch64_st1, aarch64_be_st1): Use VALLDI_F16 iterator. + + * config/aarch64/aarch64-simd-builtin-types.def: Add Float16x4_t, + Float16x8_t. + + * config/aarch64/aarch64-simd-builtins.def (ld1, st1): Use VALL_F16. + * config/aarch64/arm_neon.h (float16x4_t, float16x8_t, float16_t): + New typedefs. + (vget_lane_f16, vgetq_lane_f16, vset_lane_f16, vsetq_lane_f16, + vld1_f16, vld1q_f16, vst1_f16, vst1q_f16, vst1_lane_f16, + vst1q_lane_f16): New. + * config/aarch64/iterators.md (VD, VQ, VQ_NO2E): Add vectors of HFmode. + (VALLDI_F16, VALL_F16): New. + (Vmtype, VEL, VCONQ, VHALF, V_TWO_ELEM, V_THREE_ELEM, V_FOUR_ELEM, q): + Add cases for V4HF and V8HF. + (VDBL, VRL2, VRL3, VRL4): Add V4HF case. + +2015-09-08 Alan Lawrence + + * config/arm/arm-builtins.c (VAR11, VAR12): New. + * config/arm/arm_neon_builtins.def (vcombine, vld2_dup, vld3_dup, + vld4_dup): Add v4hf variant. + (vget_high, vget_low): Add v8hf variant. + (vld1, vst1, vst1_lane, vld2, vld2_lane, vst2, vst2_lane, vld3, + vld3_lane, vst3, vst3_lane, vld4, vld4_lane, vst4, vst4_lane): Add + v4hf and v8hf variants. + + * config/arm/iterators.md (VD_LANE, VD_RE, VQ2, VQ_HS): New. + (VDX): Add V4HF. + (V_DOUBLE): Add case for V4HF. + (VQX): Add V8HF. + (V_HALF): Add case for V8HF. + (VDQX): Add V4HF, V8HF. + (V_elem, V_two_elem, V_three_elem, V_four_elem, V_cmp_result, + V_uf_sclr, V_sz_elem, V_mode_nunits, q): Add cases for V4HF & V8HF. + + * config/arm/neon.md (vec_setinternal, vec_extract, + neon_vget_lane_sext_internal, neon_vget_lane_zext_internal, + vec_load_lanesoi, neon_vld2, vec_store_lanesoi, + neon_vst2, vec_load_lanesci, neon_vld3, + neon_vld3qa, neon_vld3qb, vec_store_lanesci, + neon_vst3, neon_vst3qa, neon_vst3qb, + vec_load_lanesxi, neon_vld4, neon_vld4qa, + neon_vld4qb, vec_store_lanesxi, neon_vst4, + neon_vst4qa, neon_vst4qb): Change VQ iterator to VQ2. + + (neon_vcreate, neon_vreinterpretv8qi, + neon_vreinterpretv4hi, neon_vreinterpretv2si, + neon_vreinterpretv2sf, neon_vreinterpretdi): + Change VDX to VD_RE. + + (neon_vld2_lane, neon_vst2_lane, neon_vld3_lane, + neon_vst3_lane, neon_vld4_lane, neon_vst4_lane): + Change VD iterator to VD_LANE, and VMQ iterator to VQ_HS. + + * config/arm/arm_neon.h (float16x4x2_t, float16x8x2_t, float16x4x3_t, + float16x8x3_t, float16x4x4_t, float16x8x4_t, vcombine_f16, + vget_high_f16, vget_low_f16, vld1_f16, vld1q_f16, vst1_f16, vst1q_f16, + vst1_lane_f16, vst1q_lane_f16, vld2_f16, vld2q_f16, vld2_lane_f16, + vld2q_lane_f16, vld2_dup_f16, vst2_f16, vst2q_f16, vst2_lane_f16, + vst2q_lane_f16, vld3_f16, vld3q_f16, vld3_lane_f16, vld3q_lane_f16, + vld3_dup_f16, vst3_f16, vst3q_f16, vst3_lane_f16, vst3q_lane_f16, + vld4_f16, vld4q_f16, vld4_lane_f16, vld4q_lane_f16, vld4_dup_f16, + vst4_f16, vst4q_f16, vst4_lane_f16, vst4q_lane_f16): New. + +2015-09-08 Alan Lawrence + + * config/arm/arm_neon.h (vgetq_lane_f16, vsetq_lane_f16, vld1q_lane_f16, + vld1q_dup_f16, vreinterpretq_p8_f16, vreinterpretq_p16_f16, + vreinterpretq_f16_p8, vreinterpretq_f16_p16, vreinterpretq_f16_f32, + vreinterpretq_f16_p64, vreinterpretq_f16_p128, vreinterpretq_f16_s64, + vreinterpretq_f16_u64, vreinterpretq_f16_s8, vreinterpretq_f16_s16, + vreinterpretq_f16_s32, vreinterpretq_f16_u8, vreinterpretq_f16_u16, + vreinterpretq_f16_u32, vreinterpretq_f32_f16, vreinterpretq_p64_f16, + vreinterpretq_p128_f16, vreinterpretq_s64_f16, vreinterpretq_u64_f16, + vreinterpretq_s8_f16, vreinterpretq_s16_f16, vreinterpretq_s32_f16, + vreinterpretq_u8_f16, vreinterpretq_u16_f16, vreinterpretq_u32_f16): + New. + +2015-09-08 Alan Lawrence + + * config/arm/arm.h (VALID_NEON_QREG_MODE): Add V8HFmode. + + * config/arm/arm.c (arm_vector_mode_supported_p): Support V8HFmode. + + * config/arm/arm-builtins.c (v8hf_UP): New. + (arm_init_simd_builtin_types): Initialise Float16x8_t. + + * config/arm/arm-simd-builtin-types.def (Float16x8_t): New. + + * config/arm/arm_neon.h (float16x8_t): New typedef. + +2015-09-08 Alan Lawrence + + * config/arm/arm_neon.h (float16_t, vget_lane_f16, vset_lane_f16, + vcreate_f16, vld1_lane_f16, vld1_dup_f16, vreinterpret_p8_f16, + vreinterpret_p16_f16, vreinterpret_f16_p8, vreinterpret_f16_p16, + vreinterpret_f16_f32, vreinterpret_f16_p64, vreinterpret_f16_s64, + vreinterpret_f16_u64, vreinterpret_f16_s8, vreinterpret_f16_s16, + vreinterpret_f16_s32, vreinterpret_f16_u8, vreinterpret_f16_u16, + vreinterpret_f16_u32, vreinterpret_f32_f16, vreinterpret_p64_f16, + vreinterpret_s64_f16, vreinterpret_u64_f16, vreinterpret_s8_f16, + vreinterpret_s16_f16, vreinterpret_s32_f16, vreinterpret_u8_f16, + vreinterpret_u16_f16, vreinterpret_u32_f16): New. + +2015-09-07 Ilya Verbin + + * config/i386/intelmic-mkoffload.c (prepare_target_image): Handle all + non-alphanumeric characters in the symbol name. + +2015-09-07 Marek Polacek + + PR inline-asm/67448 + * gimplify.c (gimplify_asm_expr): Don't allow MODIFY_EXPR as + a memory input. + +2015-09-07 Marek Polacek + + * system.h (INTTYPE_MINIMUM): Rewrite to avoid shift warning. + +2015-09-04 Paolo Bonzini + + * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Do + not warn. + +2015-09-04 Jakub Jelinek + + PR middle-end/67452 + * tree-ssa-live.c: Include cfgloop.h. + (remove_unused_locals): Clear loop->simduid if simduid is about + to be removed from cfun->local_decls. + +2015-09-02 Senthil Kumar Selvaraj + + PR target/65210 + * config/avr/avr.c (avr_eval_addr_attrib): Look for io_low + attribute as well. + +2015-09-04 Tom de Vries + + * doc/invoke.texi (@item -ftrapv, @item -fwrapv): Document interaction. + +2015-09-04 Jeff Law + + * tree-ssa-scopedtables.c (const_and_copies::const_and_copies): Remove + unnecessary constructor. It's now trivial and implemented inside... + * tree-ssa-scopedtables.h (const_and_copies): Implement trivial + constructor. Add comments to various methods. Remove unused + private fields. + * tree-ssa-dom.c (pass_dominator::execute): Corresponding changes. + * tree-vrp.c (identify_jump_threads): Likewise. + * tree-ssa-threadedge.c (thread_through_normal_block): Fix minor + indentation issues. + (thread_across_edge): Similarly. + (record_temporary_equivalences_from_stmts_at_dest): Remove unused + arguments in constructor call. + +2015-09-04 Jonas Hahnfeld + + * config/i386/intelmic-mkoffload.c (prepare_target_image): Fix if the + temp path contains a '-'. + +2015-09-04 Andrey Turetskiy + Petr Murzin + Kirill Yukhin + + * config/i386/i386-builtin-types.def + (VOID_PFLOAT_HI_V8DI_V16SF_INT): New. + (VOID_PDOUBLE_QI_V16SI_V8DF_INT): Ditto. + (VOID_PINT_HI_V8DI_V16SI_INT): Ditto. + (VOID_PLONGLONG_QI_V16SI_V8DI_INT): Ditto. + * config/i386/i386.c + (ix86_builtins): Add IX86_BUILTIN_SCATTERALTSIV8DF, + IX86_BUILTIN_SCATTERALTDIV16SF, IX86_BUILTIN_SCATTERALTSIV8DI, + IX86_BUILTIN_SCATTERALTDIV16SI. + (ix86_init_mmx_sse_builtins): Define __builtin_ia32_scatteraltsiv8df, + __builtin_ia32_scatteraltdiv8sf, __builtin_ia32_scatteraltsiv8di, + __builtin_ia32_scatteraltdiv8si. + (ix86_expand_builtin): Handle IX86_BUILTIN_SCATTERALTSIV8DF, + IX86_BUILTIN_SCATTERALTDIV16SF, IX86_BUILTIN_SCATTERALTSIV8DI, + IX86_BUILTIN_SCATTERALTDIV16SI. + (ix86_vectorize_builtin_scatter): New. + (TARGET_VECTORIZE_BUILTIN_SCATTER): Define as + ix86_vectorize_builtin_scatter. + +2015-09-04 Andrey Turetskiy + Petr Murzin + Kirill Yukhin + + * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_SCATTER): New. + * doc/tm.texi: Regenerate. + * target.def: Add scatter builtin. + * tree-vectorizer.h: Rename gather_p to gather_scatter_p and use it + for loads/stores in case of gather/scatter accordingly. + (STMT_VINFO_GATHER_SCATTER_P(S)): Use it instead of + STMT_VINFO_GATHER_P(S). + (vect_check_gather): Rename to ... + (vect_check_gather_scatter): this. + * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Use + STMT_VINFO_GATHER_SCATTER_P instead of STMT_VINFO_SCATTER_P. + (vect_check_gather_scatter): Use it instead of vect_check_gather. + (vect_analyze_data_refs): Add gatherscatter enum and maybe_scatter + variable and new checkings for it accordingly. + * tree-vect-stmts.c + (STMT_VINFO_GATHER_SCATTER_P(S)): Use it instead of + STMT_VINFO_GATHER_P(S). + (vect_check_gather_scatter): Use it instead of vect_check_gather. + (vectorizable_store): Add checkings for STMT_VINFO_GATHER_SCATTER_P. + +2015-09-03 Bill Schmidt + + * config/rs6000/altivec.md (altivec_vperm_v8hiv16qi): New + define_insn. + (mulv16qi3): New define_expand. + +2015-09-03 Martin Sebor + + PR c/66516 + * doc/extend.texi (Other Builtins): Document when the address + of a built-in function can be taken. + +2015-09-03 Richard Biener + + * dwarf2out.c (flush_limbo_die_list): Split out from ... + (dwarf2out_early_finish): ... here. + (dwarf2out_finish): Do not call dwarf2out_early_finish but + flush_limbo_die_list. Assert we have no deferred asm names. + +2015-09-03 Bill Schmidt + + * optabs.c (expand_binop): Don't create a broadcast vector with a + source element wider than the inner mode. + +2015-09-03 Richard Biener + + * varasm.c (output_constant): Use fold_convert instead of + wide_int_to_tree. + +2015-09-03 Tom de Vries + + PR tree-optimization/65637 + * omp-low.c (expand_omp_for_static_chunk): Handle case that + fin_bb has 2 predecessors. + +2015-09-03 Tom de Vries + + PR tree-optimization/65637 + * omp-low.c (find_phi_with_arg_on_edge): New function. + (expand_omp_for_static_chunk): Fix inner loop phi. + +2015-09-03 Tom de Vries + + PR tree-optimization/65637 + * omp-low.c (expand_omp_for_static_chunk): Fix gcc_assert for the case + that head is NULL. + +2015-09-03 Tom de Vries + + * omp-low.c (expand_omp_for_static_chunk): Handle simple latch bb. + +2015-09-03 Tom de Vries + + * doc/invoke.texi (parloops-chunk-size): Add item. + * params.def (PARAM_PARLOOPS_CHUNK_SIZE): Add DEFPARAM. + * tree-parloops.c: Include params.h. + (create_parallel_loop): Set chunk-size of schedule of omp-for loop, if + param parloops-chunk-size is used. + +2015-09-03 Naveen H.S + + PR middle-end/67351 + * fold-const.c (fold_binary_loc) : Move + Transform (x >> c) << c into x & (-1<> c into x & ((unsigned)-1 >> c) for unsigned + types using simplify and match. + * match.pd (lshift (rshift @0 INTEGER_CST@1) @1) : New simplifier. + (rshift (lshift @0 INTEGER_CST@1) @1) : New Simplifier + +2015-09-03 Richard Biener + + PR ipa/66705 + * tree-ssa-structalias.c (ctor_for_analysis): New function. + (create_variable_info_for_1): Use ctor_for_analysis instead + of get_constructor. + (create_variable_info_for): Likewise. + +2015-09-02 Charles Baylis + + PR ipa/67280 + * cgraphunit.c (cgraph_node::create_wrapper): Set can_throw_external + in new callgraph edge. + +2015-09-02 Christophe Lyon + + PR target/59810 + PR target/63652 + PR target/63653 + * config/aarch64/aarch64-simd.md + (aarch64_ld): Call + gen_aarch64_simd_ld. + (aarch64_st): Call + gen_aarch64_simd_st. + +2015-09-02 Alan Modra + + * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Don't define. + * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Likewise. + (LINK_SPEC, SUBTARGET_EXTRA_SPECS): Delete link_target. + +2015-09-02 Alan Modra + + PR target/67417 + * config/rs6000/predicates.md (current_file_function_operand): Don't + return true for weak symbols. + * config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Likewise. + +2015-09-01 Matthew Fortune + Andrew Bennett + + * config/mips/mips-opts.h (mips_cb_setting): New enum. + * config/mips/mips-protos.h: Add definitions for + mips_output_jump and mips_output_equal_conditional_branch + * config/mips/mips.c (MIPS_JR): Change to support the + JIC instruction. + (mips_emit_compare): Add support for the MIPS R6 conditional + compact branches. + (mips_process_sync_loop): Likewise. + (mips_output_order_conditional_branch): Likewise. + (mips16_build_call_stub): Change MIPS_CALL to + mips_output_jump. + (mips_print_operand_punctuation): Update 's' case to only + apply to micromips r2. + (mips_adjust_insn_length): Add support for forbidden slot + hazards. + (mips_avoid_hazard): Likewise. + (mips_reorg_process_insns): Likewise. + (mips_output_jump): New function. + (mips_output_equal_conditional_branch): Likewise. + (mips_output_conditional_branch): Use jrc/bc if compact + branch support is enabled. Ensure the forbidden slots + between the two branch instructions is filled with a nop. + (mips_option_override): Add support to process the compact + branch option and set the correct defaults. Prevent + non-explict relocs being using for MIPS R6. + (mips_trampoline_init): Add compact branch support. + (mips_mult_zero_zero_cost): Allow zero initialisation of + accumulators with TARGET_DSP. + * config/mips/mips.h (TARGET_CB_NEVER): New define. + (TARGET_CB_MAYBE): New define. + (TARGET_CB_ALWAYS): New define. + (ISA_HAS_DELAY_SLOTS): New define. + (ISA_HAS_COMPACT_BRANCHES): New define. + (ISA_HAS_JRC): New define. + (MIPS_BRANCH_C): New define. + (MIPS_CALL): Removed. + (MICROMIPS_J): Removed. + * config/mips/mips.md (compact_form): New attr. + (hazard): Add support for forbidden slots. + (define_delay): Add support for compact branches. + (*branch_order): Likewise. + (*branch_order_inverted): Likewise. + (*branch_equality): Likewise. + (*branch_equality_inverted): Likewise. + (*jump_absolute): Likewise. + (*jump_pic): Likewise. + (indirect_jump): Use mips_output_jump to produce assembly output. + (tablejump_"): Likewise. + (*"): Likewise. + (_internal): Likewise. + (sibcall_internal): Likewise. + (sibcall_value_internal): Likewise. + (sibcall_value_multiple_internal): Likewise. + (call_internal): Likewise. + (call_split): Likewise. + (call_internal_direct): Likewise. + (call_direct_split): Likewise. + (call_value_internal): Likewise. + (call_value_split): Likewise. + (call_value_internal_direct): Likewise. + (call_value_direct_split): Likewise. + (call_value_multiple_internal): Likewise. + (call_value_multiple_split): Likewise. + (mips_get_fcsr_mips16_): Likewise. + (mips_set_fcsr_mips16_): Likewise. + (tls_get_tp_mips16_): Likewise. + * config/mips/mips.opt: Add -mcompact-branches option. + * config/mips/predicates.md (order_operator): Ensure the + conditional compact branches are only used if the ISA them. + * doc/invoke.texi: Document -mcompact-branches option. + +2015-09-01 Vladimir Makarov + + PR target/61578 + * lra-lives.c (process_bb_lives): Process move pseudos with the + same value for copies and preferences + * lra-constraints.c (match_reload): Create match reload pseudo + with the same value from single dying input pseudo. + +2015-09-01 Ilya Enkovich + + PR target/67405 + * tree-chkp.c (chkp_find_bound_slots_1): Add NULL check. + +2015-09-01 Aldy Hernandez + + * trans-mem.c: Add contributed-by. + * trans-mem.h: Same. + +2015-09-01 Richard Biener + + * expr.c (expand_expr_real_1): For expanding TERed defs + set the current location to that of the def if not UNKNOWN. + +2015-09-01 David Sherwood + + * genmodes.c: Add CONST_MODE_UNIT_SIZE modifier. + +2015-09-01 Kyrylo Tkachov + + * ifcvt.c (struct noce_if_info): Add then_simple, else_simple, + then_cost, else_cost fields. Change branch_cost field to unsigned int. + (end_ifcvt_sequence): Call set_used_flags on each insn in the sequence. + Include rtl-iter.h. + (noce_simple_bbs): New function. + (noce_try_move): Bail if basic blocks are not simple. + (noce_try_store_flag): Likewise. + (noce_try_store_flag_constants): Likewise. + (noce_try_addcc): Likewise. + (noce_try_store_flag_mask): Likewise. + (noce_try_cmove): Likewise. + (noce_try_minmax): Likewise. + (noce_try_abs): Likewise. + (noce_try_sign_mask): Likewise. + (noce_try_bitop): Likewise. + (bbs_ok_for_cmove_arith): New function. + (noce_emit_all_but_last): Likewise. + (noce_emit_insn): Likewise. + (noce_emit_bb): Likewise. + (noce_try_cmove_arith): Handle non-simple basic blocks. + (insn_valid_noce_process_p): New function. + (contains_mem_rtx_p): Likewise. + (bb_valid_for_noce_process_p): Likewise. + (noce_process_if_block): Allow non-simple basic blocks + where appropriate. + +2015-08-31 Alan Lawrence + + * tree-ssa-dom.c (record_equivalences_from_phis, + record_equivalences_from_stmt, optimize_stmt): Use dom_valueize. + (lookup_avail_expr): Likewise, and remove comment and unused temp. + +2015-09-01 Nick Clifton + + * config/msp430/msp430.opt (mcpu): Fix typo. + +2015-09-01 Kyrylo Tkachov + + * config/aarch64/aarch64.c (aarch64_set_current_function): + Re-layout any vector parameters have non-simd layout. + * config/aarch64/aarch64-builtins.c (aarch64_relayout_simd_param): + Delete. + (aarch64_simd_expand_args): Delete call to the above. + +2015-08-31 Mike Frysinger + + * doc/invoke.texi (asan-stack): Add space before option. + +2015-08-31 Marc Glisse + + * tree.h (zerop): New function. + * tree.c (zerop): Likewise. + (element_precision): Handle expressions. + * match.pd (define_predicates): Add zerop. + (x <= +Inf): Fix comment. + (abs (x) == 0, A & C == C, A & C != 0): Converted from ... + * fold-const.c (fold_binary_loc): ... here. Remove. + +2015-08-31 Richard Biener + + PR middle-end/67381 + * genmatch.c (dt_node::gen_kids): Also treat matches as barrier. + +2015-08-31 Marc Glisse + + * match.pd (SIN, COS, TAN, COSH): Reorder for consistency. + (CEXPI): New operator list. + (real (conj (x)), imag (conj (x)), real (x +- y), real (cexpi (x)), + imag (cexpi (x)), conj (conj (x)), conj (complex (x, y))): + Converted from ... + * fold-const.c (fold_unary_loc, fold_binary_loc): ... here. Remove. + +2015-08-31 Tom de Vries + + * tree-ssa-loop-manip.c (find_uses_to_rename_stmt) + (find_uses_to_rename_bb, find_uses_to_rename): Add and handle use_flags + parameter. + (find_uses_to_rename_def, find_uses_to_rename_in_loop): New function. + (rewrite_into_loop_closed_ssa_1): New function, factored out of ... + (rewrite_into_loop_closed_ssa): ... here. + (replace_uses_in_dominated_bbs): Remove function. + (rewrite_virtuals_into_loop_closed_ssa): Reimplement using + rewrite_into_loop_closed_ssa_1. + +2015-08-31 Michael Matz + + * cfganal.c (pre_and_rev_post_order_compute_fn): Correctly + enter entry and exit blocks for reverse post order. + +2015-08-31 Richard Biener + + * lto-streamer.h (lto_location_cache::cached_location::sysp): Add. + (lto_location_cache::current_sysp): Likewise. + (output_block::current_sysp): Likewise. + * lto-streamer-in.c (lto_location_cache::cmp_loc): Compare sysp. + (lto_location_cache::apply_location_cache): Properly record + system header locations. + (lto_location_cache::input_location): Input whether a file + is a system header. + * lto-streamer-out.c (lto_output_location): Stream whether a file + is a system header. + +2015-08-31 Rainer Orth + + PR bootstrap/67363 + * gcc.c (env_manager::xput): Replace strndup by xstrndup. + +2015-08-31 Tom de Vries + + * tree-ssa-loop-manip.c (find_uses_to_rename_use) + (find_uses_to_rename_stmt, find_uses_to_rename_bb, find_uses_to_rename): + Improve function header comments. + +2015-08-30 Michael Collison + + PR other/67320 + * doc.md.texi: Rename [su]sum_widen to widen_[su]sum to reflect correct + standard names + +2015-08-30 Bill Schmidt + + * config/rs6000/rs6000.c (swap_web_entry): Enlarge + special_handling bitfield. + (special_handling_values): Add SH_XXPERMDI and SH_CONCAT. + (rtx_is_swappable_p): Add handling for vec_select/vec_concat form + that represents a general xxpermdi. + (insn_is_swappable_p): Add handling for vec_concat of two + doublewords, which maps to a specific xxpermdi. + (adjust_xxpermdi): New function. + (adjust_concat): Likewise. + (handle_special_swappables): Call adjust_xxpermdi and + adjust_concat. + (dump_swap_insn_table): Handle SH_XXPERMDI and SH_CONCAT. + +2015-08-30 Rich Felker + + * config.gcc (supported_defaults): Handle sh[123456ble]*-*-* + case instead of sh[123456ble]-*-*. + +2015-08-29 Anatoly Sokolov + + * ira.c (print_unform_and_important_classes, + print_translated_classes): Remove reg_class_names static array. + (print_unform_and_important_classes): Rename to ... + (print_uniform_and_important_classes): ... this. + (ira_debug_allocno_classes): Update accordingly. + +2015-08-29 Tom de Vries + + PR tree-optimization/46193 + * omp-low.c (omp_reduction_init): Handle pointer type for min or max + clause. + +2015-08-28 Jeff Law + + PR lto/66752 + * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are + unable to find X NE 0 in the tables, return X as the simplified + condition. + (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are + in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH + to VISISTED_BBS. + * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags + after removing the control flow statement and unnecessary edges. + +2015-08-28 Alan Lawrence + + Revert: + 2015-08-27 Alan Lawrence + + PR tree-optimization/67283 + * tree-sra.c (type_consists_of_records_p): Rename to... + (scalarizable_type_p): ...this, add case for ARRAY_TYPE. + + (completely_scalarize_record): Rename to... + (completely_scalarize): ...this, add ARRAY_TYPE case, move some + code to: + (scalarize_elem): New. + +2015-08-28 Jiong Wang + + * config/aarch64/aarch64-protos.h (aarch64_symbol_context): Rename + SYMBOL_SMALL_GOTTPREL to SYMBOL_SMALL_TLSIE. + (aarch64_symbol_type): Likewise. + * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): + Likewise. + (aarch64_expand_mov_immediate): Likewise. + (aarch64_print_operand): Likewise. + (aarch64_classify_tls_symbol): Likewise. + +2015-08-28 Richard Biener + + * cgraphunit.c (symbol_table::compile): Move early debug generation + and finish... + (symbol_table::finalize_compilation_unit): ... back here and + add a !seen_error () guard. + +2015-08-27 Sebastian Pop + + * toplev.c (process_options): Do not use flag_loop_block, + flag_loop_interchange, and flag_loop_strip_mine. Add check for + flag_loop_optimize_isl. + +2015-08-27 Sebastian Pop + + * Makefile.in (OBJS): Remove graphite-blocking.o and + graphite-interchange.o. + * common.opt (floop-strip-mine, floop-interchange, floop-block): + Alias of floop-nest-optimize. + * doc/invoke.texi (floop-strip-mine, floop-interchange, floop-block): + Document as alias of -floop-nest-optimize. + * graphite-blocking.c: Remove. + * graphite-interchange.c: Remove. + * graphite-optimize-isl.c: Include dumpfile.h. + (getScheduleForBand): Add dump for tiled loops. Use + PARAM_LOOP_BLOCK_TILE_SIZE instead of hard coded constant. + * graphite-poly.c (scop_max_loop_depth): Remove. + (print_scattering_function_1): Remove. + (print_scattering_function): Remove. + (print_scattering_functions): Remove. + (debug_scattering_function): Remove. + (debug_scattering_functions): Remove. + (apply_poly_transforms): Remove use of flag_loop_block, + flag_loop_strip_mine, and flag_loop_interchange. + (new_poly_bb): Remove use of PBB_TRANSFORMED, PBB_SAVED, and + PBB_ORIGINAL. + (print_pdr_access_layout): Remove. + (print_pdr): Print ISL representation. + (new_scop): Remove use of SCOP_ORIGINAL_SCHEDULE, + SCOP_TRANSFORMED_SCHEDULE, and SCOP_SAVED_SCHEDULE. + (free_scop): Same. + (openscop_print_pbb_domain): Remove. + (print_pbb): Remove call to print_scattering_function. + (openscop_print_scop_context): Remove. + (print_scop_context): Do not print matrices anymore. + (print_scop): Do not print SCOP_ORIGINAL_SCHEDULE and + SCOP_TRANSFORMED_SCHEDULE. + (print_isl_set): Add printing of a new line. + (print_isl_map): Same. + (print_isl_aff): Same. + (print_isl_constraint): Same. + (loop_to_lst): Remove. + (scop_to_lst): Remove. + (lst_indent_to): Remove. + (print_lst): Remove. + (debug_lst): Remove. + (dot_lst_1): Remove. + (dot_lst): Remove. + (reverse_loop_at_level): Remove. + (reverse_loop_for_pbbs): Remove. + * graphite-poly.h (pdr_dim_iter_domain): Remove. + (pdr_nb_params): Remove. + (pdr_alias_set_dim): Remove. + (pdr_subscript_dim): Remove. + (pdr_iterator_dim): Remove. + (pdr_parameter_dim): Remove. + (same_pdr_p): Remove. + (struct poly_scattering): Remove. + (struct poly_bb): Remove _original, _transformed, _saved. + (PBB_DOMAIN, PBB_ORIGINAL, PBB_ORIGINAL_SCATTERING): Remove. + (PBB_TRANSFORMED, PBB_TRANSFORMED_SCATTERING, PBB_SAVED): Remove. + (PBB_NB_LOCAL_VARIABLES): Remove. + (PBB_NB_SCATTERING_TRANSFORM): Remove. + (schedule_to_scattering): Remove. + (number_of_write_pdrs): Remove. + (pbb_dim_iter_domain): Remove. + (pbb_nb_params): Remove. + (pbb_nb_scattering_orig): Remove. + (pbb_nb_scattering_transform): Remove. + (pbb_nb_dynamic_scattering_transform): Remove. + (pbb_nb_local_vars): Remove. + (pbb_iterator_dim): Remove. + (pbb_parameter_dim): Remove. + (psco_scattering_dim): Remove. + (psct_scattering_dim): Remove. + (psct_local_var_dim): Remove. + (psco_iterator_dim): Remove. + (psct_iterator_dim): Remove. + (psco_parameter_dim): Remove. + (psct_parameter_dim): Remove. + (psct_dynamic_dim): Remove. + (psct_static_dim): Remove. + (psct_add_local_variable): Remove. + (new_lst_loop): Remove. + (new_lst_stmt): Remove. + (free_lst): Remove. + (copy_lst): Remove. + (lst_add_loop_under_loop): Remove. + (lst_depth): Remove. + (lst_dewey_number): Remove. + (lst_dewey_number_at_depth): Remove. + (lst_pred): Remove. + (lst_succ): Remove. + (lst_find_pbb): Remove. + (find_lst_loop): Remove. + (lst_find_first_pbb): Remove. + (lst_empty_p): Remove. + (lst_find_last_pbb): Remove. + (lst_contains_p): Remove. + (lst_contains_pbb): Remove. + (lst_create_nest): Remove. + (lst_remove_from_sequence): Remove. + (lst_remove_loop_and_inline_stmts_in_loop_father): Remove. + (lst_niter_for_loop): Remove. + (pbb_update_scattering): Remove. + (lst_update_scattering_under): Remove. + (lst_update_scattering): Remove. + (lst_insert_in_sequence): Remove. + (lst_replace): Remove. + (lst_substitute_3): Remove. + (lst_distribute_lst): Remove. + (lst_remove_all_before_including_pbb): Remove. + (lst_remove_all_before_excluding_pbb): Remove. + (struct scop): Remove original_schedule, transformed_schedule, and + saved_schedule. + (SCOP_ORIGINAL_SCHEDULE, SCOP_TRANSFORMED_SCHEDULE): Remove. + (SCOP_SAVED_SCHEDULE): Remove. + (poly_scattering_new): Remove. + (poly_scattering_free): Remove. + (poly_scattering_copy): Remove. + (store_scattering_pbb): Remove. + (store_lst_schedule): Remove. + (restore_lst_schedule): Remove. + (store_scattering): Remove. + (restore_scattering_pbb): Remove. + (restore_scattering): Remove. + * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): + Remove scattering_dimensions. Do not use pbb_dim_iter_domain: + compute the scattering polyhedron dimension from the dimension of + pbb->domain. + (build_scop_scattering): Update call to + build_pbb_scattering_polyhedrons. + (build_poly_scop): Remove call to scop_to_lst. + * graphite.c (graphite_transform_loops): Add call to print_scop. + (gate_graphite_transforms): Remove use of flag_loop_block, + flag_loop_interchange, and flag_loop_strip_mine. + +2015-08-27 Sebastian Pop + + * common.opt (floop-unroll-and-jam): Make alias of floop-nest-optimize. + * doc/invoke.texi (-floop-unroll-and-jam): Document as alias of + -floop-nest-optimize. + * graphite-isl-ast-to-gimple.c (generate_luj_sepclass_opt): Remove. + (generate_luj_sepclass): Remove. + (generate_luj_options): Remove. + (set_options): Remove opt_luj. + (scop_to_isl_ast): Remove opt_luj. + * graphite-optimize-isl.c (getScheduleForBand): Remove check for + flag_loop_unroll_jam. + (getPrevectorMap_full): Remove. + (getScheduleForBandList): Remove map_sepcl. + (getScheduleMap): Same. + (apply_schedule_map_to_scop): Remove sepcl. + (optimize_isl): Same. + * graphite-poly.c (apply_poly_transforms): Remove check for + flag_loop_unroll_jam. + (new_poly_bb): Remove map_sepclass. + * graphite-poly.h (struct poly_bb): Same. + * graphite.c (gate_graphite_transforms): Remove flag_loop_unroll_jam. + * params.def (PARAM_LOOP_UNROLL_JAM_SIZE) + (PARAM_LOOP_UNROLL_JAM_DEPTH): Remove. + * toplev.c (process_options): Remove flag_loop_unroll_jam. + +2015-08-27 Uros Bizjak + + PR target/67317 + * config/i386/i386.md (*add3_cc): Remove insn pattern. + (addqi3_cc): Ditto. + (UNSPEC_ADD_CARRY): Remove. + (addqi3_cconly_overflow): New expander. + (*add3_doubleword): Split to add3_cconly_overflow. + Adjust for changed add3_carry. + (*neg2_doubleword): Adjust for changed add3_carry. + (*sub3_doubleword): Adjust for changed sub3_carry. + (3_carry): Remove expander. + (*3_carry): Split insn pattern to + add3_carry and sub3_carry. + (plusminus_carry_mnemonic): Remove code attribute. + (add3_carry): Canonicalize insn pattern. + (*addsi3_carry_zext): Ditto. + (sub3_carry): Ditto. + (*subsi3_carry_zext): Ditto. + (adcx3): Remove insn pattern. + (addcarry): New insn pattern. + (subborrow): Ditto. + * config/i386/i386.c (ix86_expand_strlensi_unroll_1): Use + gen_addqi3_cconly_overflow instead of gen_addqi3_cc. + (ix86_expand_builtin) : Use CODE_FOR_subborrowsi, + CODE_FOR_subborrowdi, CODE_FOR_addcarrysi and CODE_FOR_addcarrydi. + Rewrite expander to not clobber carry flag chains. + +2015-08-27 Pat Haugen + + * config/rs6000/vector.md (vec_shr_): Fix to do a shift + instead of a rotate. + +2015-08-27 Marek Polacek + + PR middle-end/67005 + * tree-ssa-dce.c (remove_dead_stmt): Also schedule fixup if removing + an entry into an irreducible region. + +2015-08-27 Francois-Xavier Coudert + + * configure: Regenerate. + +2015-08-27 Alan Lawrence + + PR tree-optimization/67283 + * tree-sra.c (type_consists_of_records_p): Rename to... + (scalarizable_type_p): ...this, add case for ARRAY_TYPE. + + (completely_scalarize_record): Rename to... + (completely_scalarize): ...this, add ARRAY_TYPE case, move some code to: + (scalarize_elem): New. + +2015-08-27 Alan Lawrence + + * tree-sra.c (completely_scalarize_var): Rename to... + (create_total_scalarization_access): ... Here. Drop call to + completely_scalarize_record. + + (analyze_all_variable_accesses): Replace completely_scalarize_var + with create_total_scalarization_access and completely_scalarize_record. + +2015-08-27 Alan Modra + + PR target/67356 + * config/rs6000/rs6000.md (ior_mask): Use constraint "0" + for operand 1. + +2015-08-27 Richard Biener + + * passes.c (rest_of_decl_compilation): Guard early_global_decl + call with !seen_error (). + * cgraphunit.c (symbol_table::finalize_compilation_unit): Move + early debug generation and finish... + (symbol_table::compile): ... here to put it after a !seen_error () + guard. + +2015-08-27 Rainer Orth + + * config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit on + Solaris 12+. + +2015-08-27 Ramana Radhakrishnan + Andre Vieira + + * config/aarch64/aarch64.md (*condjump): Handle functions > 1 MiB. + (*cb1): Likewise. + (*tb1): Likewise. + (*cb1): Likewise. + * config/aarch64/iterators.md (inv_cb): New code attribute. + (inv_tb): Likewise. + * config/aarch64/aarch64.c (aarch64_gen_far_branch): New. + * config/aarch64/aarch64-protos.h (aarch64_gen_far_branch): New. + +2015-08-27 Richard Biener + + * ipa.c (cgraph_build_static_cdtor_1): Set DECL_IGNORED_P. + +2015-08-27 Dominik Vogt + + * config/s390/s390.c (s390_emit_prologue): Add emit_barrier() after + trap to fix ICE. + +2015-08-26 Michael Meissner + + * config/rs6000/rs6000-protos.h (rs6000_expand_float128_convert): + Add declaration. + + * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Fix a + comment. + (rs6000_cannot_change_mode_class): Add support for IEEE 128-bit + floating point in VSX registers. + (rs6000_output_move_128bit): Always print out the set insn if we + can't generate an appropriate 128-bit move. + (rs6000_generate_compare): Add support for IEEE 128-bit floating + point in VSX registers comparisons. + (rs6000_expand_float128_convert): Likewise. + + * config/rs6000/predicates.md (int_reg_operand_not_pseudo): New + predicate for only GPR hard registers. + + * config/rs6000/rs6000.md (FP): Add IEEE 128-bit floating point + modes to iterators. Add new iterators for moving 128-bit values in + scalar FPR registers and VSX registers. + (FMOVE128): Likewise. + (FMOVE128_FPR): Likewise. + (FMOVE128_GPR): Likewise. + (FMOVE128_VSX): Likewise. + (FLOAT128_SFDFTF): New iterators for IEEE 128-bit floating point + in VSX registers. + (IFKF): Likewise. + (IBM128): Likewise. + (TFIFKF): Likewise. + (RELOAD): Add IEEE 128-bit floating point modes. + (signbittf2): Convert TF insns to add support for new IEEE 128-bit + floating point in VSX registers modes. + (signbit2, IBM128 iterator): Likewise. + (mov_64bit_dm, FMOVE128_FPR iterator): Likewise. + (mov_32bit, FMOVE128_FPR iterator): Likewise. + (negtf2): Likewise. + (neg2, TFIFKF iterator): Likewise. + (negtf2_internal): Likewise. + (abstf2): Likewise. + (abs2, TFIFKF iterator): Likewise. + (ieee_128bit_negative_zero): New IEEE 128-bit floating point in + VSX insn support for negate, absolute value, and negative absolute + value. + (ieee_128bit_vsx_neg2): Likewise. + (ieee_128bit_vsx_neg2_internal): Likewise. + (ieee_128bit_vsx_abs2): Likewise. + (ieee_128bit_vsx_abs2_internal): Likewise. + (ieee_128bit_vsx_nabs2): Likewise. + (ieee_128bit_vsx_nabs2_internal): Likewise. + (FP128_64): Update pack/unpack 128-bit insns for IEEE 128-bit + floating point in VSX registers. + (unpack_dm): Likewise. + (unpack_nodm): Likewise. + (pack): Likewise. + (unpackv1ti): Likewise. + (unpack, FMOVE128_VSX iterator): Likewise. + (packv1ti): Likewise. + (pack, FMOVE128_VSX iterator): Likewise. + (extenddftf2): Add support for IEEE 128-bit floating point in VSX + registers. + (extenddftf2_internal): Likewise. + (trunctfdf2): Likewise. + (trunctfdf2_internal2): Likewise. + (fix_trunc_helper): Likewise. + (fix_trunctfdi2"): Likewise. + (floatditf2): Likewise. + (floatunstf2): Likewise. + (extend2): Likewise. + (trunc2): Likewise. + (fix_trunc2): Likewise. + (fixuns_trunc2): Likewise. + (float2): Likewise. + (floatuns2): Likewise. + +2015-08-26 Renlin Li + + * config/aarch64/aarch64.md (*aarch64_bfi4): New. + +2015-08-26 Marcus Shawcroft + Jiong Wang + + * config/aarch64/aarch64.md (UNSPEC_GOTTINYTLS): New UNSPEC. + (tlsie_tiny_): New define_insn. + (tlsie_tiny_sidi): Likewise. + * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Define + SYMBOL_TINY_TLSIE. + (aarch64_symbol_context): New comment for SYMBOL_TINY_TLSIE. + * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support + SYMBOL_TINY_TLSIE. + (aarch64_expand_mov_immediate): Likewise. + (aarch64_print_operand): Likewise. + (arch64_classify_tls_symbol): Likewise. + +2015-08-26 Matthew Wahab + + * config/arm/arm-arches.def: Replace single value flags with + an initializer built from ARM_FSET_MAKE_CPU1. + * config/arm/arm-cores.def: Likewise. + * config/arm/arm.c: (all_cores): Remove ARM_FSET_MAKE_CPU1 + derivation from the ARM_CORE macro definition, use the given value + instead. + (all_architectures): Remove ARM_FSET_MAKE_CPU1 derivation from the + ARM_ARCH macro definition, use the given value instead. + +2015-08-26 Matthew Wahab + + * config/arm/arm-builtins.c (def_mbuiltin): Test all flags in a + feature set. + (struct builtin_description): Replace field mask with field + features. + (IWMMXT_BUILTIN): Use ARM_FSET macros for feature flags. + (IWMMXT2_BUILTIN): Likewise. + (IWMMXT2_BUILTIN2): Likewise. + (FP_BUILTIN): Likewise. + (CRC32_BUILTIN): Likewise. + (CRYPTO_BUILTIN): Likewise. + (iwmmx_mbuiltin): Likewise. + (iwmmx2_mbuiltin): Likewise. + (arm_init_iwmmxt_builtins): Likewise. Also, update for change to + struct builtin_description. + +2015-08-26 Matthew Wahab + + * config/arm/arm-builtins.c (def_mbuiltin): Use ARM_FSET macro. + (struct builtin_description): Change type of mask to unsigned + long. + * config/arm/arm-protos.h (insn_flags): Declare as type + arm_feature_set. + (tune_flags): Likewise. + * config/arm/arm.c (feature_count): New. + (insn_flags): Define as type arm_feature_set. + (tune_flags): Likewise. + (struct processors): Define field flags as type arm_feature_set. + (all_cores): Update for change to struct processors. + (all_architectures): Likewise. + (arm_option_check_internal): Use arm_feature_set and ARM_FSET + macros. + (arm_option_override_internal): Likewise. + (arm_option_override): Likewise. + +2015-08-26 Marcus Shawcroft + Jiong Wang + + * config/aarch64/aarch64.c (initialize_aarch64_tls_size): Set default + tls size for tiny, small, large memory model. + (aarch64_load_symref_appropriately): Support new symbol types. + (aarch64_expand_mov_immediate): Likewise. + (aarch64_print_operand): Likewise. + (aarch64_classify_tls_symbol): Likewise. + * config/aarch64/aarch64-protos.h (aarch64_symbol_context): Likewise. + (aarch64_symbol_type): Likewise. + * config/aarch64/aarch64.md (tlsle): Deleted. + (tlsle12_): New define_insn. + (tlsle24_): Likewise. + (tlsle32_): Likewise. + (tlsle48_): Likewise. + * doc/sourcebuild.texi (AArch64-specific attributes): Document + "aarch64_tlsle32". + +2015-08-26 Matthew Wahab + + * config/arm/arm-protos.h (FL_NONE): New. + (FL_ANY): New. + (arm_feature_set): New. + (ARM_FSET_MAKE): New. + (ARM_FSET_MAKE_CPU1): New. + (ARM_FSET_MAKE_CPU2): New. + (ARM_FSET_CPU1): New. + (ARM_FSET_CPU2): New. + (ARM_FSET_EMPTY): New. + (ARM_FSET_ANY): New. + (ARM_FSET_HAS_CPU1): New. + (ARM_FSET_HAS_CPU2): New. + (ARM_FSET_HAS_CPU): New. + (ARM_FSET_ADD_CPU1): New. + (ARM_FSET_ADD_CPU2): New. + (ARM_FSET_DEL_CPU1): New. + (ARM_FSET_DEL_CPU2): New. + (ARM_FSET_UNION): New. + (ARM_FSET_INTER): New. + (ARM_FSET_XOR): New. + (ARM_FSET_EXCLUDE): New. + (AFM_FSET_IS_EMPTY): New. + (ARM_FSET_CPU_SUBSET): New. + +2015-08-26 Jiong Wang + + * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename + SYMBOL_TLSLE to SYMBOL_TLSLE24. + * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): + Likewise. + (aarch64_expand_mov_immediate): Likewise. + (aarch64_print_operand): Likewise. + (aarch64_classify_symbol): Likewise. + +2015-08-26 Jiong Wang + + * config/aarch64/aarch64.opt (mtls-size): New entry. + * config/aarch64/aarch64.c (initialize_aarch64_tls_size): New function. + (aarch64_override_options_internal): Call initialize_aarch64_tls_size. + * doc/invoke.texi (AArch64 Options): Document -mtls-size. + +2015-08-26 Matthew Wahab + + * config/arm/arm-cores.def: Add FL_FOR_ARCH flag for each + ARM_CORE entry. Fix some white-space. + * config/arm/arm.c: Remove FL_FOR_ARCH derivation from + ARM_CORE definition. + +2015-08-26 Naveen H.S + + * fold-const.c (fold_binary_loc) : Move Optimize + root(x)*root(y) as root(x*y) to match.pd. + Move Optimize expN(x)*expN(y) as expN(x+y) to match.pd. + Move Optimize pow(x,y)*pow(x,z) as pow(x,y+z) to match.pd. + Move Optimize a/root(b/c) into a*root(c/b) to match.pd. + Move Optimize x/expN(y) into x*expN(-y) to match.pd. + * match.pd (mult (root:s @0) (root:s @1)): New simplifier. + (mult (POW:s @0 @1) (POW:s @0 @2)) : New simplifier. + (mult (exps:s @0) (exps:s @1)) : New simplifier. + (rdiv @0 (root:s (rdiv:s @1 @2))) : New simplifier. + (rdiv @0 (exps:s @1)) : New simplifier. + +2015-08-25 Joseph Myers + + * gcc.c (driver::finalize): Only assign to extra_specs if + [EXTRA_SPECS]. + +2015-08-25 Marek Polacek + + PR middle-end/67330 + * varasm.c (declare_weak): Return after giving an error. + +2015-08-25 David Malcolm + + * gcc-main.c (main): Add params to driver ctor. + * gcc.c (class env_manager): New. + (env): New global. + (env_manager::init): New. + (env_manager::get): New. + (env_manager::xput): New. + (env_manager::restore): New. + Poison getenv and putenv. + (DEFAULT_TARGET_SYSTEM_ROOT): New. + (target_system_root): Update initialization to use + DEFAULT_TARGET_SYSTEM_ROOT. + (struct spec_list): Add field "default_ptr". + (INIT_STATIC_SPEC): Initialize new field "default_ptr". + (init_spec): Likewise. + (set_spec): Clear field "default_ptr". + (read_specs): Free "spec" and "buffer". + (xputenv): Reimplement in terms of env_manager. + (process_command): Replace ::getenv calls with calls to the + env_manager singleton. + (process_brace_body): Free string in three places. + (driver::driver): New. + (driver::~driver): New. + (used_arg): Convert from a function to... + (class used_arg_t): ...this class, and... + (used_arg): ...this new global instance. + (used_arg_t::finalize): New function. + (getenv_spec_function): Add "const" to local "value". Replace + ::getenv call with call to the env_manager singleton. + (path_prefix_reset): New function. + (driver::finalize): New function. + * gcc.h (driver::driver): New. + (driver::~driver): New. + (driver::finalize): New. + +2015-08-25 Nathan Sidwell + + * optabs.c (emit_indirect_jump): Don't try an emit a jump if the + target doesn't have one. + +2015-08-25 Segher Boessenkool + + PR target/67346 + * config/rs6000/rs6000.md (*ior_mask): Use a match_scratch. + +2015-08-25 Segher Boessenkool + + PR target/67344 + * config/rs6000/rs6000.md (*and3_imm_dot_shifted): Change to + a define_insn, remove second alternative. + +2015-08-25 Thomas Schwinge + Joseph Myers + + * gcc.c (struct switchstr): Expand comment. + +2015-08-25 Nathan Sidwell + + * config/nvptx/nvptx.c (nvptx_write_function_decl): Reformat. + (nvptx_reorg_subreg): Pass insn pattern to asm_operands. + +2015-08-25 Richard Biener + + PR middle-end/67306 + * genmatch.c (expr::gen_transform): Verify the result of + builtin_decl_implicit. + (dt_simplify::gen_1): Likewise. + +2015-08-25 Thomas Preud'homme + + * config/arm/constraints.md: Also list Cs and US ARM-specific + constraints as used. + +2015-08-24 Kaz Kojima + + PR target/66609 + * config/sh/sh.c (sh_asm_output_addr_const_extra): Handle + UNSPEC_PCREL. + (nonpic_symbol_mentioned_p): Likewise. + (sh_delegitimize_address): Likewise. + (sh_function_ok_for_sibcall): Take into account weak symbols. + (sh_expand_sym_label2reg): New. + * config/sh/sh-protos.h (sh_expand_sym_label2reg): Declare. + * config/sh/sh.md (UNSPEC_PCREL): New enum. + (call_pcrel): Use sh_expand_sym_label2reg. + (call_value_pcrel, sibcall_pcrel, sibcall_value_pcrel): Likewise. + (symPCREL_label2reg) New expand. + +2015-08-24 Aditya Kumar + + * graphite-poly.c: Change type of region from void* to sese. + * graphite-poly.h (struct scop): Changing the type of scop::region + from void* to sese. Change accessor macro accordingly. + * graphite-sese-to-poly.c (extract_affine_chrec): Use accessor macro. + +2015-08-24 Aditya Kumar + + * graphite-scop-detection.c (stmt_simple_for_scop_p): + Constrain only on INTEGER_TYPE. + +2015-08-24 Michael Meissner + + PR target/67211 + * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Set + -mefficient-unaligned-vsx on ISA 2.7. + + * config/rs6000/rs6000.opt (-mefficient-unaligned-vsx): Convert + option to a masked option. + + * config/rs6000/rs6000.c (rs6000_option_override_internal): Rework + logic for -mefficient-unaligned-vsx so that it is set via an arch + ISA option, instead of being set if -mtune=power8 is set. Move + -mefficient-unaligned-vsx and -mallow-movmisalign handling to be + near other default option handling. + +2015-08-24 Richard Sandiford + + * genflags.c (gen_macro): Delete. + (gen_proto): Don't create GEN.*CALL.* macros. + * gensupport.h (get_file_location): Declare. + * gensupport.c (rtx_locs): New variable. + (read_md_rtx): Record rtx locations. + (get_file_location): New function. + * target-insns.def (call, call_pop, call_value, call_value_pop) + (sibcall, sibcall_value): New patterns. + * gentarget-def.c (parse_argument): New function. + (def_target_insn): Use it. Handle optional operands. Raise an + error if an .md pattern has the wrong number of operands for the + pattern name. Remove the names of unused operands from the prototype. + * builtins.c (expand_builtin_apply): Use targetm functions + instead of HAVE_call_value and GEN_CALL_VALUE. + * calls.c (emit_call_1): Likewise. Remove support for sibcall_pop + and sibcall_value_pop. + * config/aarch64/aarch64.md (untyped_call): Use gen_call instead + of GEN_CALL. + * config/alpha/alpha.md (untyped_call): Likewise. + * config/iq2000/iq2000.md (untyped_call): Likewise. + * config/m68k/m68k.md (untyped_call): Likewise. + * config/mips/mips.md (untyped_call): Likewise. + * config/pa/pa.md (untyped_call): Likewise. + * config/rs6000/rs6000.md (untyped_call): Likewise. + * config/sparc/sparc.md (untyped_call): Likewise. + * config/tilegx/tilegx.md (untyped_call): Likewise. + * config/tilepro/tilepro.md (untyped_call): Likewise. + * config/visium/visium.md (untyped_call): Likewise. + * config/alpha/alpha.c (alpha_emit_xfloating_libcall): Use + gen_call_value instead of GEN_CALL_VALUE. + * config/arm/arm.md (untyped_call): Likewise. + * config/cr16/cr16.c (cr16_function_arg): Remove reference to + GEN_CALL. + +2015-08-24 Richard Sandiford + + * ifcvt.c (HAVE_incscc, HAVE_decscc, HAVE_cbranchcc4): Delete. + (have_cbranchcc4): New variable. + (cc_in_cond, noce_emit_cmove, noce_get_alt_condition) + (noce_get_condition): Use it instead of HAVE_cbranchcc4. + (if_convert): Initialize have_cbranchcc4. + +2015-08-24 Richard Sandiford + + * builtins.c (expand_cmpstrn): Rename to... + (expand_cmpstrn_or_cmpmem): ...this. + (expand_builtin_strcmp, expand_builtin_strncmp): Update accordingly. + (expand_builtin_memcmp): Use optabs instead of HAVE_cmpmem/gen_cmpmem. + Remove mode argument. + (expand_builtin): Update accordingly. + +2015-08-24 Richard Sandiford + + * builtins.c (expand_cmpstr, expand_cmpstrn): New functions. + (expand_builtin_strcmp, expand_builtin_strncmp): Use them. Remove + references to HAVE_cmpstr{,n}si and CODE_FOR_cmpstr{,n}si. + * config/m32c/blkmov.md (cmpstrsi): Fix predicates of operands 1 and 2. + Add predicates for operands 0 and 3. + * config/rx/rx.md (cmpstrnsi): Remove force_operand for the length + operand. + * config/sh/sh.md (cmpstrnsi): Change the length predicate from + immediate_operand to nonmemory_operand. + +2015-08-24 Richard Sandiford + + * df-scan.c (df_insn_info_init_fields): New function, split out + from... + (df_insn_create_insn_record): ...here. + (df_insn_info_free_fields): New function, split out from... + (df_insn_info_delete): ...here. + (df_insn_rescan): Use the new functions instead of freeing and + reallocating the df_insn_info. + +2015-08-24 Francois-Xavier Coudert + + * doc/install.texi (Binaries): Remove links no longer valid. + +2015-08-24 Nathan Sidwell + + * config/nvptx/mkoffload.c (process): Replace + GOMP_offload_{,un}register with GOMP_offload_{,un}register_ver. + +2015-08-24 H.J. Lu + + PR target/67329 + * config/i386/i386.c (iamcu_cost): Set MOVE_RATIO cost to 9. + +2015-08-24 Renlin Li + + * config/arm/arm-protos.h (arm_valid_symbolic_address_p): Declare. + * config/arm/arm.c (arm_valid_symbolic_address_p): Define. + * config/arm/arm.md (arm_movt): Use arm_valid_symbolic_address_p. + * config/arm/constraints.md ("j"): Add check for high code. + +2015-08-24 Tom de Vries + + PR tree-optimization/65468 + * omp-low.c (expand_omp_for_static_chunk): Remove inner loop if + chunk_size is one. + +2015-08-24 Nathan Sidwell + + * config/nvptx/nvptx.c (walk_args_for_param): Revert previous + change to nvptx_type_from_mode call. Use arg_promotion for both + split and non-split args. + +2015-08-24 Richard Sandiford + + * target-insns.def (movstr): New pattern. + * builtins.c (HAVE_movstr, CODE_FOR_movstr): Delete. + (expand_movstr): Use targetm rather than HAVE_movstr/ + CODE_FOR_movstr. + +2015-08-24 Richard Sandiford + + * config/microblaze/microblaze.c (microblaze_classify_unspec): Fix + cast syntax. + +2015-08-24 Andrew Pinski + + * config/aarch64/aarch64-tuning-flags.def: Remove all index to + AARCH64_EXTRA_TUNING_OPTION. + * config/aarch64/aarch64-protos.h (aarch64_extra_tuning_flags_index): + New enum. + (aarch64_extra_tuning_flags): Base the shifted value on the index + instead of the argument to AARCH64_EXTRA_TUNING_OPTION. + * config/aarch64/aarch64.c: Remove the last argument to + AARCH64_EXTRA_TUNING_OPTION. + +2015-08-23 Nathan Sidwell + + * config/nvptx/nvptx.c (walk_args_for_param): Promote arg reg + decls. + (nvptx_declare_function_name): Insert formatting tabs for + consistency. + +2015-08-23 Tom de Vries + + * omp-low.c (expand_omp_taskreg): If in ssa, set rhs of parcopy stmt to + parm_decl, rather than generating a dummy default def in cfun. + * tree-cfg.c (replace_ssa_name): Assume no default defs. Make sure + ssa_name from cfun and child_fn do not share a stmt as def stmt. + (move_stmt_op): Handle PARM_DECl. + (gather_ssa_name_hash_map_from): New function. + (move_sese_region_to_fn): Add default defs for function params, and add + them to vars_map. Release copied ssa names. + * tree-cfg.h (gather_ssa_name_hash_map_from): Declare. + +2015-08-23 Tom de Vries + + * doc/sourcebuild.texi: Rename vect_no_int_max with + vect_no_int_min_max. Update description. + +2015-08-22 Andrew Pinski + + * aarch64-fusion-pairs.def: Remove all index to AARCH64_FUSION_PAIR. + * config/aarch64/aarch64-protos.h + (aarch64_fusion_pairs_index): New enum. + (aarch64_fusion_pairs): Base the shifted value on the index instead + Rewrite AARCH64_FUSE_ALL to be based on the end index. + of the argument to AARCH64_FUSION_PAIR. + * config/aarch64/aarch64.c: Remove the last argument to + AARCH64_FUSION_PAIR. + +2015-08-22 Mikhail Maltsev + + * dominance.c (new_zero_array): Define. + (dom_info): Redefine as class with proper encapsulation. + (dom_info::m_n_basic_blocks, m_reverse, m_start_block, m_end_block): + Add new members. + (dom_info::dom_info, ~dom_info): Define. Use new/delete for memory + allocations/deallocations. Pass function as parameter (instead of + using cfun). + (dom_info::get_idom): Define accessor method. + (dom_info::calc_dfs_tree_nonrec, calc_dfs_tree, compress, eval, + link_roots, calc_idoms): Redefine as class members. Do not use cfun. + (calculate_dominance_info): Adjust to use dom_info class. + (verify_dominators): Likewise. + +2015-08-21 Alexandre Oliva + + * print-rtl.c (print_rtx): Check the correct range for + flag_dump_unnumbered_links to behave as documented. + + PR rtl-optimization/67227 + PR rtl-optimization/64164 + * alias.c (memrefs_conflict_p): Handle VALUEs in PLUS better. + (nonoverlapping_memrefs_p): Test offsets and sizes when given + identical gimple_reg exprs. + +2015-08-21 Nathan Sidwell + + * config/nvptx/nvptx.md (allocate_stack): Emit sorry during + expansion. + * config/nvptx/nvptx.c (nvptx_declare_function_name): Look at + crtl->stack_alignment_needed to determine alignment. + (nvptx_get_drap_rtx): New. + (TARGET_GET_DRAP_RTX): Override. + * config/nvptx/nvptx.h (MAX_STACK_ALIGNMENT): Set. + +2015-08-21 Francois-Xavier Coudert + + * config.build: Remove case for m68000-hp-hpux* | m68k-hp-hpux*. + +2015-08-21 Francois-Xavier Coudert + + * configure.ac: Remove uwin* cases. + * config.build: Remove cases for i370-*-opened*, i370-*-mvs*, + i[34567]86-*-sco3.2v5*, i[34567]86-sequent-ptx4*, + i[34567]86-sequent-sysv4*, i[34567]86-*-sysv4*, + i[34567]86-*-udk*, i[34567]86-*-uwin*, i386-*-vsta. + * config.host: Remove cases for i370-*-opened*, i370-*-mvs*, + i[34567]86-*-uwin*, powerpc-*-beos*. + +2015-08-21 Richard Sandiford + + * gencodes.c (gencodes): Print the comma for the preceding + enum value rather than the current one. Use aliased enum values + rather than #defines for compiled-out patterns. + (main): Update accordingly. Replace LAST_INSN_CODE with + NUM_INSN_CODES. + * lra.c (insn_code_data): Update accordingly. + (finish_insn_code_data_once, get_static_insn_data): Likewise. + * recog.h (target_recog): Likewise. + (preprocess_insn_constraints): Change parameter to unsigned int. + * recog.c (preprocess_insn_constraints): Likewise. + (recog_init): Replace LAST_INSN_CODE with NUM_INSN_CODES. + * tree-vect-stmts.c (vectorizable_operation): Simplify. + +2015-08-21 Markus Trippelsdorf + + PR rtl-optimization/61657 + * loop-iv.c (iv_number_of_iterations): Declare up and down as + unsigned. Remove superflous uint64_t cast. + +2014-08-21 Felix Yang + Jiji Jiang + + * value-prof.c (interesting_stringop_to_profile_p): Removed FNDECL + argument and get builtin function code directly from CALL. + (gimple_stringop_fixed_value): Modified accordingly. + (gimple_stringops_transform, gimple_stringops_values_to_profile): + Modified accordingly and only accept BUILT_IN_NORMAL string operations. + +2015-08-21 Dominik Vogt + + * config/s390/s390-builtins.def: Fix value range of vec_load_bndry. + +2015-08-21 Naveen H.S + + * fold-const.c (fold_binary_loc) : Move sqrt(x)*sqrt(x) as x + to match.pd. + Move Optimize pow(x,y)*pow(z,y) as pow(x*z,y)to match.pd. + Move Optimize tan(x)*cos(x) as sin(x) to match.pd. + Move Optimize x*pow(x,c) as pow(x,c+1) to match.pd. + Move Optimize pow(x,c)*x as pow(x,c+1) to match.pd. + Move Optimize sin(x)/cos(x) as tan(x) to match.pd. + Move Optimize cos(x)/sin(x) as 1.0/tan(x) to match.pd. + Move Optimize sin(x)/tan(x) as cos(x) to match.pd. + Move Optimize tan(x)/sin(x) as 1.0/cos(x) to match.pd. + Move Optimize pow(x,c)/x as pow(x,c-1) to match.pd. + Move Optimize x/pow(y,z) into x*pow(y,-z) to match.pd. + + * match.pd (SIN ) : New Operator. + (TAN) : New Operator. + (mult (SQRT@1 @0) @1) : New simplifier. + (mult (POW:s @0 @1) (POW:s @2 @1)) : New simplifier. + (mult:c (TAN:s @0) (COS:s @0)) : New simplifier. + (mult:c (TAN:s @0) (COS:s @0)) : New simplifier. + (rdiv (SIN:s @0) (COS:s @0)) : New simplifier. + (rdiv (COS:s @0) (SIN:s @0)) : New simplifier. + (rdiv (SIN:s @0) (TAN:s @0)) : New simplifier. + (rdiv (TAN:s @0) (SIN:s @0)) : New simplifier. + (rdiv (POW:s @0 REAL_CST@1) @0) : New simplifier. + (rdiv @0 (SQRT:s (rdiv:s @1 @2))) : New simplifier. + (rdiv @0 (POW:s @1 @2)) : New simplifier. + +2015-08-21 Bin Cheng + + * tree-ssa-loop-niter.c (simplify_using_initial_conditions): Break + loop if EXPR is simplified to const value. + +2015-08-21 Yury Gribov + + * sanitizer.def (BUILT_IN_UBSAN_HANDLE_NONNULL_ARG, + BUILT_IN_UBSAN_HANDLE_NONNULL_ARG): Fix builtin types. + +2015-08-21 Richard Biener + + PR middle-end/67285 + * gimple-fold.c (replace_stmt_with_simplification): Assert + seq is empty when replacing a call with itself but different + arguments. + * gimple-match-head.c (maybe_push_res_to_seq): When pushing + a call require that it is const. + +2015-08-20 Trevor Saunders + + * defaults.h (CONSTANT_ALIGNMENT): New macro definition. + * builtins.c (get_object_alignment_2): Adjust. + * varasm.c (align_variable): Likewise. + (get_variable_align): Likewise. + (build_constant_desc): Likewise. + (force_const_mem): Likewise. + * doc/tm.texi.in: Likewise. + * doc/tm.texi: Regenerate. + +2015-08-20 Trevor Saunders + + * genconfig.c (main): Always define HAVE_cc0. + * recog.c (rest_of_handle_peephole2): Adjust. + +2015-08-20 Trevor Saunders + + * reorg.c (relax_delay_slots): Don't use #if to check value of + HAVE_cc0. + +2015-08-20 Trevor Saunders + + * genconfig.c (main): Always define HAVE_CONDITIONAL_EXECUTION. + * targhooks.c (default_have_conditional_execution): Adjust. + +2015-08-20 Richard Sandiford + + * rtl.h (rtvec_all_equal_p): Declare. + (const_vec_duplicate_p, unwrap_const_vec_duplicate): New functions. + * rtl.c (rtvec_all_equal_p): New function. + * expmed.c (expand_mult): Use unwrap_const_vec_duplicate. + * config/aarch64/aarch64.c (aarch64_vect_float_const_representable_p) + (aarch64_simd_dup_constant): Use const_vec_duplicate_p. + * config/arm/arm.c (neon_vdup_constant): Likewise. + * config/s390/s390.c (s390_contiguous_bitmask_vector_p): Likewise. + * config/tilegx/constraints.md (W, Y): Likewise. + * config/tilepro/constraints.md (W, Y): Likewise. + * config/spu/spu.c (spu_legitimate_constant_p): Likewise. + (classify_immediate): Use unwrap_const_vec_duplicate. + * config/tilepro/predicates.md (reg_or_v4s8bit_operand): Likewise. + (reg_or_v2s8bit_operand): Likewise. + * config/tilegx/predicates.md (reg_or_v8s8bit_operand): Likewise. + (reg_or_v4s8bit_operand): Likewise. + +2015-08-20 Bill Schmidt + + * config/rs6000/altivec.h (vec_pmsum_be): New #define. + (vec_shasigma_be): New #define. + * config/rs6000/rs6000-builtin.def (VPMSUMB): New BU_P8V_AV2_2. + (VPMSUMH): Likewise. + (VPMSUMW): Likewise. + (VPMSUMD): Likewise. + (VPMSUM): New BU_P8V_OVERLOAD_2. + * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): New + entries for VEC_MADD and VEC_VPMSUM. + +2015-08-20 Georg-Johann Lay + + * config/avr/avr.c (avr_insert_attributes): In diagnostic essage: + Multiply argument avr_n_flash by 64 to match unit of "KiB". + (avr_pgm_check_var_decl): Same. + +2015-08-20 Alan Lawrence + + * config/arm/arm-builtins.c (arm_init_simd_builtin_types): Move + initialization of HFmode scalar type (float16_t) to... + (arm_init_fp16_builtins): ... Here. Combine with __fp16 initialization + code. + + (arm_init_builtins): Call arm_init_fp16_builtins earlier and always. + + * config/arm/arm_neon.h (vcvt_f16_f32, vcvt_f32_f16): Condition on + having an -mfp16-format. + +2015-08-20 Richard Sandiford + + * config/i386/predicates.md (vector_all_ones_operand): Use + CONSTM1_RTX to simplify definition. + +2015-08-20 Richard Biener + + * toplev.c (compile_file): Remove loop calling late_global_decl + on all symbols. + * varpool.c (varpool_node::assemble_decl): Call late_global_decl + on decls we assembled. + +2015-08-20 James Greenhalgh + + * common/config/aarch64/aarch64-common.c + (AARCH64_CPU_NAME_LENGTH): Delete. + (aarch64_option_extension): New. + (all_extensions): Likewise. + (processor_name_to_arch): Likewise. + (arch_to_arch_name): Likewise. + (all_cores): New. + (all_architectures): Likewise. + (aarch64_get_extension_string_for_isa_flags): Likewise. + (aarch64_rewrite_selected_cpu): Change to rewrite CPU names to + architecture names. + * config/aarch64/aarch64-protos.h + (aarch64_get_extension_string_for_isa_flags): New. + * config/aarch64/aarch64.c (aarch64_print_extension): Delete. + (aarch64_option_print): Get the string to print from + aarch64_get_extension_string_for_isa_flags. + (aarch64_declare_function_name): Likewise. + * config/aarch64/aarch64.h (BIG_LITTLE_SPEC): Rename to... + (MCPU_TO_MARCH_SPEC): This. + (ASM_CPU_SPEC): Use it. + (BIG_LITTLE_SPEC_FUNCTIONS): Rename to... + (MCPU_TO_MARCH_SPEC_FUNCTIONS): ...This. + (EXTRA_SPEC_FUNCTIONS): Use it. + +2015-08-20 Simon Dardis + + * config/mips/mips.c (mips_expand_block_move): Enable inline memcpy + expansion when !ISA_HAS_LWL_LWR. + (mips_block_move_straight): Update the size of elements copied to + account for alignment when !ISA_HAS_LWL_LWR. + * config/mips/mips.h (MIPS_MIN_MOVE_MEM_ALIGN): New macro. + +2015-08-19 Jiong Wang + + * expr.c (expand_expr_real_2): Check gimple statement during + LSHIFT_EXPR expand. + +2015-08-19 Magnus Granberg + + * common.opt (fstack-protector): Initialize to -1. + (fstack-protector-all): Likewise. + (fstack-protector-strong): Likewise. + (fstack-protector-explicit): Likewise. + * configure.ac: Add --enable-default-ssp. + * defaults.h (DEFAULT_FLAG_SSP): New. Default SSP to strong. + * opts.c (finish_options): Update opts->x_flag_stack_protect if it is + -1. + * doc/install.texi: Document --enable-default-ssp. + * config.in: Regenerated. + * configure: Likewise. + +2015-08-19 Alexandre Oliva + + PR rtl-optimization/64164 + * cfgexpand.c (parm_maybe_byref_p): Renamed to... + (parm_in_stack_slot_p): ... this. Disregard mode, what + matters is whether the parm will live in a pseudo or a stack + slot. + (expand_one_ssa_partition): Deal with params without a default + def. Disregard mode. + * cfgexpand.h: Renamed function declaration. + * tree-ssa-coalesce.c: Adjust. + * function.c (split_complex_args): Allocate stack slot for + unassigned parms before splitting. + (parm_in_unassigned_mem_p): New. Use it instead of + parm_maybe_byref_p throughout this file. + (assign_parm_setup_block): Use it. Accept pseudos in the + expand-assigned rtl. + (assign_parm_setup_reg): Drop BLKmode requirement. + (assign_parm_setup_stack): Allocate and fill in the address of + unassigned MEM parms. + +2015-08-19 David Sherwood + + * genmodes.c (emit_mode_unit_size_inline): New function. + (emit_mode_unit_precision_inline): New function. + (emit_insn_modes_h): Emit new #define. Emit new functions. + (emit_mode_unit_size): New function. + (emit_mode_unit_precision): New function. + (emit_mode_adjustments): Add mode_unit_size adjustments. + (emit_insn_modes_c): Emit new arrays. + * machmode.h (GET_MODE_UNIT_SIZE, GET_MODE_UNIT_PRECISION): Update to + use new inline methods. + +2015-08-19 Kyrylo Tkachov + + * config/aarch64/aarch64.c (bit_count): Delete prototype + and definition. + (aarch64_print_operand): Use popcount_hwi instead of the above. + +2015-08-19 Kyrylo Tkachov + + * config/aarch64/aarch64-option-extensions.def: Delete obsolete + comment. + +2015-08-19 Marek Polacek + + PR middle-end/67133 + * gimple-ssa-isolate-paths.c + (insert_trap_and_remove_trailing_statements): Rename to ... + (insert_trap): ... this. Don't remove trailing statements; split + block instead. + (find_explicit_erroneous_behaviour): Don't remove all outgoing edges. + +2015-08-19 Mikael Morin + + PR other/67042 + * hwint.h (sext_hwi): Switch to unsigned for the left shift, and + conditionalize the whole on __GNUC__. Add fallback code + depending neither on undefined nor implementation-defined behaviour. + +2015-08-19 Jiong Wang + + * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Replace + whitespaces with tab. + +2015-08-19 Florian Weimer + + * prj.adb (For_Every_Project_Imported_Context.Recursive_Check_Context): + Move Name_Id_Set instantiation to the Prj package, to avoid trampolines. + * prj-proc.adb (Process.Process_Expression_Variable_Decl): + Move Name_Ids instantiation to the Prj.Proc package, to avoid + trampolines. + +2015-08-19 Kyrylo Tkachov + + * config/arm/arm.c (bounds_check): Use %wd print format + for HOST_WIDE_INT arguments. + +2015-08-18 Trevor Saunders + + * bb-reorder.c, cfgloop.h, collect2.c, combine.c, dse.c, + dwarf2cfi.c, gcse-common.h, genopinit.c, ggc-page.c, machmode.h, + mcf.c, modulo-sched.c, omp-low.c, read-rtl.c, sched-rgn.c, + signop.h, tree-call-cdce.c, tree-dfa.c, tree-diagnostic.c, + tree-inline.h, tree-scalar-evolution.c, tree-ssa-address.c, + tree-ssa-loop-niter.c, tree-ssa-loop.h, tree-ssa-pre.c, + tree-ssa-reassoc.c, tree-ssa-sccvn.h, tree-ssa-structalias.c, + tree-ssa-uninit.c, tree-ssa.h, tree-vect-loop-manip.c, + tree-vectorizer.h, tree-vrp.c, var-tracking.c: Remove useless + typedefs. + +2015-08-18 trevor Saunders + + * bt-load.c, cgraph.h, dwarf2out.c, dwarf2out.h, final.c, + function.c, graphite-scop-detection.c, haifa-sched.c, + ipa-devirt.c, ipa-split.c, recog.c, ree.c, stmt.c, + tree-data-ref.c, tree-ssa-dom.c, tree-ssa-loop-ivopts.c, + varasm.c: Remove typedefs of structs. + +2015-08-18 Bill Schmidt + + * config/rs6000/altivec.h (vec_adde): New define. + (vec_addec): Likewise. + (vec_double): Likewise. + (vec_bperm): Likewise. + (vec_gb): Likewise. + * config/rs6000/rs6000-builtin.def (ADDE): New + BU_ALTIVEC_OVERLOAD_3. + (ADDEC): Likewise. + (DOUBLE): New BU_VSX_OVERLOAD_1. + * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add new + entries for ALTIVEC_BUILTIN_VEC_ADDC, ALTIVEC_BUILTIN_VEC_ADDE, + ALTIVEC_BUILTIN_VEC_ADDEC, ALTIVEC_BUILTIN_VEC_ANDC, + VSX_BUILTIN_VEC_DOUBLE, ALTIVEC_BUILTIN_VEC_MERGEH, + ALTIVEC_BUILTIN_VEC_MERGEL, ALTIVEC_BUILTIN_VEC_NOR, + ALTIVEC_BUILTIN_VEC_OR, ALTIVEC_BUILTIN_VEC_XOR, + ALTIVEC_BUILTIN_VEC_PERM, ALTIVEC_BUILTIN_VEC_SEL, + P8V_BUILTIN_VEC_EQV, P8V_BUILTIN_VEC_NAND, P8V_BUILTIN_VEC_ORC, + and P8V_BUILTIN_VEC_VBPERMQ. + +2015-08-18 Jason Merrill + + * print-tree.c (print_node): Handle TREE_BINFO. + +2015-08-18 Francois-Xavier Coudert + + PR middle-end/36757 + * builtins.c (expand_builtin_signbit): Add asserts to make sure + we can expand BUILT_IN_SIGNBIT inline. + * builtins.def (BUILT_IN_SIGNBIT): Make type-generic. + * doc/extend.texi: Document the type-generic __builtin_signbit. + +2015-08-18 Richard Sandiford + + PR rtl-optimization/67218 + * simplify-rtx.c (exact_int_to_float_conversion_p): New function. + (simplify_unary_operation_1): Use it. + +2015-08-18 Marek Polacek + + PR middle-end/67222 + * gimple-low.c (lower_stmt): Don't lower BUILT_IN_POSIX_MEMALIGN + if the call isn't valid. + * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Check builtins using + gimple_call_builtin_p. + (call_may_clobber_ref_p_1): Likewise. + (stmt_kills_ref_p): Likewise. + +2015-08-18 Robert Suchanek + + * config/mips/mips-protos.h (mips_hard_regno_rename_ok): New prototype. + * config/mips/mips.c (mips_hard_regno_rename_ok): New function. + (mips_hard_regno_scratch_ok): Likewise. + (TARGET_HARD_REGNO_SCRATCH_OK): Define macro. + * config/mips/mips.h (HARD_REGNO_RENAME_OK): New. + +2015-08-18 Bin Cheng + + * tree-ssa-loop-niter.c (refine_value_range_using_guard): New. + (determine_value_range): Call refine_value_range_using_guard for + each loop initial condition to improve value range. + +2015-08-17 Aldy Hernandez + + * config/i386/i386.c: Remove include of fibheap.h. + +2015-08-17 Richard Biener + + PR tree-optimization/67221 + * tree-ssa-sccvn.c (visit_phi): Keep all-TOP args TOP. + (sccvn_dom_walker::before_dom_children): Mark backedges of + non-executable blocks as not executable. + +2015-08-17 David Sherwood + + * config/arm/arm.c (neon_element_bits): Replace call to + GET_MODE_BITSIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_BITSIZE (m). + * config/arm/neon.md (neon_vget_lane): Likewise. + (neon_vget_laneu, neon_vset_lane): Likewise + (neon_vdup_lane): Likewise. + * config/i386/i386.c (ix86_expand_int_vcond): Likewise. + (ix86_expand_multi_arg_builtin, ix86_expand_reduc): Likewise. + (expand_vec_perm_palignr, ix86_expand_sse2_abs): Likewise. + * config/rs6000/rs6000.c (rs6000_do_expand_vec_perm): Likewise. + * config/spu/spu.c (arith_immediate_p): Likewise. + * expmed.c (store_bit_field_1, extract_bit_field_1): Likewise. + * expr.c (expand_expr_real_2): Likewise. + * optabs.c (shift_amt_for_vec_perm_mask): Likewise. + * simplify-rtx.c (simplify_immed_subreg): Likewise. + * tree-cfg.c (verify_gimple_assign_ternary): Likewise. + * tree-vect-patterns.c (vect_recog_mixed_size_cond_pattern): Likewise. + New variable. + * fold-const.c (fold_binary_loc): Replace call to + GET_MODE_PRECISION (GET_MODE_INNER (m)) with + GET_MODE_UNIT_PRECISION (m). + +2015-08-17 Mike Stump + + * config/arm/arm.c (arm_block_move_unaligned_straight): + Emit normal move instead of unaligned load when source or destination + are appropriately aligned. + +2015-08-17 Richard Biener + Naveen H.S + + PR middle-end/16107 + * match.pd (div (coss (op @0) : New simplifier. + +2015-08-14 Alexandre Oliva + + PR rtl-optimization/64164 + PR bootstrap/66978 + PR middle-end/66983 + PR rtl-optimization/67000 + PR middle-end/67034 + PR middle-end/67035 + * Makefile.in (OBJS): Drop tree-ssa-copyrename.o. + * tree-ssa-copyrename.c: Removed. + * opts.c (default_options_table): Drop -ftree-copyrename. Add + -ftree-coalesce-vars. + * passes.def: Drop all occurrences of pass_rename_ssa_copies. + * common.opt (ftree-copyrename): Ignore. + (ftree-coalesce-inlined-vars): Likewise. + * doc/invoke.texi: Remove the ignored options above. + * gimple-expr.h (gimple_can_coalesce_p): Move declaration + * tree-ssa-coalesce.h: ... here. + * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other + headers required by it. + * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing + across variables when flag_tree_coalesce_vars. Check register + use and promoted modes to allow coalescing. Do not coalesce + maybe-byref parms with SSA_NAMEs of other variables, or + anonymous SSA_NAMEs. Moved to tree-ssa-coalesce.c. + * tree-ssa-live.c (struct tree_int_map_hasher): Move along + with its member functions to tree-ssa-coalesce.c. + (var_map_base_init): Likewise. Renamed to + compute_samebase_partition_bases. + (partition_view_normal): Drop want_bases parameter. + (partition_view_bitmap): Likewise. + * tree-ssa-live.h: Adjust declarations. + * tree-ssa-coalesce.c: Include explow.h and cfgexpand.h. + (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's + default defs at the entry point. + (dump_part_var_map): New. + (compute_optimized_partition_bases): New, called by... + (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead + of compute_samebase_partition_bases. Adjust. + * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs. + * cfgexpand.c (leader_merge, parm_maybe_byref_p): New. + (ssa_default_def_partition): New. + (get_rtl_for_parm_ssa_default_def): New. + (align_local_variable, add_stack_var): Support anonymous SSA + names. + (defer_stack_allocation): Likewise. Declare earlier. + (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA + vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too. + Do no record deferred-allocation marker in + SA.partition_to_pseudo. + (expand_stack_vars): Adjust check for the marker in it. + (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop + redundant MEM attr setting. + (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed + from... + (expand_one_stack_var): ... this. New wrapper to check and + skip already expanded SSA partitions. + (record_alignment_for_reg_var): New, factored out of... + (expand_one_var): ... this. + (expand_one_ssa_partition): New. + (adjust_one_expanded_partition_var): New. + (expand_one_register_var): Check and skip already expanded SSA + partitions. + (expand_used_vars): Don't create DECLs for anonymous SSA + names. Expand all SSA partitions, then adjust all SSA names. + (pass::execute): Replace the loops that set + SA.partition_to_pseudo from partition leaders and cleared + DECL_RTL for multi-location variables, and that which used to + rename vars and set attrs, with one that clears DECL_RTL and + checks that PARMs and RESULTs default_defs match DECL_RTL. + * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare. + * emit-rtl.c: Include stor-layout.h. + (set_reg_attrs_for_parm): Handle NULL decl. + (set_reg_attrs_for_decl_rtl): Take mode from expression if + it's not a DECL. + * stmt.c (emit_case_decision_tree): Pass it the SSA_NAME + rather than its possibly-NULL DECL. + * explow.c (promote_ssa_mode): New. + * explow.h (promote_ssa_mode): Declare. + * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs. + (read_complex_part): Export. + * expr.h (read_complex_part): Declare. + * cfgexpand.h (parm_maybe_byref_p): Declare. + * function.c: Include cfgexpand.h. + (use_register_for_decl): Handle SSA_NAMEs, anonymous or not. + (use_register_for_parm_decl): Wrapper for the above to + special-case the result_ptr. + (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def. + (split_complex_args): Take assign_parm_data_all argument. + Pass it to rtl_for_parm. Set up rtl and context for split + args. Reset complex parm before fetching its default decl + rtl. + (assign_parms_unsplit_complex): Use the default-def complex + parm rtl if it matches the components. + (assign_parms_augmented_arg_list): Adjust. + (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with + multiple locations. Recognize split complex args. + (assign_parm_adjust_stack_rtl): Add all and parm arguments, + for rtl_for_parm. For SSA-assigned parms, zero stack_parm. + (assign_parm_setup_block): Prefer SSA-assigned location, and + fill in its address if the memory location of a maybe-byref + parm was not assigned by cfgexpand. + (assign_parm_setup_reg): Likewise. Adjust its mode as + needed. Use entry_parm for equiv if stack_parm is NULL. Make + sure passed_pointer parms don't need conversion. Copy address + or value as needed. + (assign_parm_setup_stack): Prefer SSA-assigned location. + (assign_parms): Maybe reset DECL_RTL of params. Adjust stack + rtl before testing for pointer bounds. Special-case result_ptr. + (expand_function_start): Maybe reset DECL_RTL of result. + Prefer SSA-assigned location for result and static chain. + Factor out DECL_RESULT and SET_DECL_RTL. Convert static chain + to Pmode if needed, from H.J. Lu . + * tree-outof-ssa.c (insert_value_copy_on_edge): Handle + anonymous SSA names. Use promote_ssa_mode. + (get_temp_reg): Likewise. + (remove_ssa_form): Adjust. + * stor-layout.c (layout_decl): Don't set mem attributes of + non-MEMs. + * var-tracking.c (dataflow_set_clear_at_call): Take call_insn + and get its reg_usage for reg invalidation. + (compute_bb_dataflow): Pass it insn. + (emit_notes_in_bb): Likewise. + +2015-08-14 Marek Polacek + + * tree-core.h (tree_base): Fix typo. + +2015-08-14 Marek Polacek + + PR middle-end/67133 + * gimple.c (infer_nonnull_range_by_attribute): Check that the + nonnull argument position is not outside function arguments. + +2015-08-14 Matthew Wahab + + PR target/67143 + * config/aarch64/atomics.md (atomic_): Replace + 'lconst_atomic' with 'const_atomic'. + (atomic_fetch_): Likewise. + (atomic__fetch): Likewise. + * config/aarch64/iterators.md (lconst-atomic): Move below + 'const_atomic'. + (const_atomic): New. + +2015-08-14 Thomas Schwinge + Bernd Schmidt + + * config/nvptx/nvptx.c (nvptx_option_override): Don't override + debug options. + * config/nvptx/nvptx.h (DWARF2_LINENO_DEBUGGING_INFO): Define. + (DWARF2_DEBUGGING_INFO): Don't define. + * debug.h (dwarf2_lineno_debug_hooks): Declare. + * toplev.c (process_options): Add a case for it. + * dwarf2out.c (dwarf2_lineno_debug_hooks): New variable. + (dwarf2out_init): Skip most initializations if + DWARF2_LINENO_DEBUGGING_INFO, but set cur_line_info_table in that + case. + * defaults.h (PREFERRED_DEBUGGING_TYPE): Also use DWARF2_DEBUG if + DWARF2_LINENO_DEBUGGING_INFO. + * opts.c (set_debug_level): Likewise. + +2015-08-14 James Greenhalgh + + * config/arm/types.md (is_neon_type): Add missing types. + +2015-08-14 Yuri Rumyantsev + + * config/i386/driver-i386.c (host_detect_local_cpu): Add support + for skylake. + * config/i386/i386.c (PTA_SKYLAKE): New macros. + (processor_alias_table): Add skylake description. + (enum processor_model): Add skylake processor. + (arch_names_table): Add skylake record. + * doc/invoke.texi: Add skylake item. + +2015-08-13 Andrew MacLeod + + * ira-int.h: Include recog.h. + * ira-build.c: Don't include recog.h. + * ira-color.c: Likewise. + * ira-conflicts.c: Likewise. + * ira-costs.c: Likewise. + * ira-emit.c: Likewise. + * ira-lives.c: Likewise. + * ira.c: Likewise. + * sched-deps.c: Likewise. + * sel-sched.c: Likewise. + * target-globals.c: Likewise. + +2015-08-13 Richard Sandiford + + PR bootstrap/55035 + * reload1.c (elimination_costs_in_insn): Make it obvious to the + compiler that the n_dups and n_operands loop bounds are invariant. + +2015-08-13 Kyrylo Tkachov + + * ifcvt.c (noce_try_store_flag_constants): Handle PLUS-immediate + expressions in A and B. + +2015-08-13 Richard Biener + + * tree.c (nonnull_arg_p): Move from ... + * tree-vrp.c (nonnull_arg_p): ... here. + * tree.h (nonnull_arg_p): Declare. + * tree-ssa-sccvn.c (init_scc_vn): Perform all lattice init + here, register ptr != 0 for nonnull_arg_p pointer arguments. + Properly initialize static chain and by-reference result pointer. + (run_scc_vn): Adjust. + +2015-08-13 Robert Suchanek + + * config/mips/mips.h (ENABLE_LD_ST_PAIRS): Enable load/store pairs for + TUNE_I6400. + +2015-08-13 Matthew Wahab + + * config/aarch64/aarch64-protos.h + (aarch64_gen_atomic_cas): Declare. + * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap): + Choose appropriate instruction pattern for the target. + (aarch64_gen_atomic_cas): New. + * config/aarch64/atomics.md (UNSPECV_ATOMIC_CAS): New. + (atomic_compare_and_swap_1): Rename to + aarch64_compare_and_swap. Fix some indentation. + (aarch64_compare_and_swap_lse): New. + (aarch64_atomic_cas): New. + +2015-08-13 Matthew Wahab + + * config/aarch64/aarch64.h (AARCH64_ISA_LSE): New. + (TARGET_LSE): New. + +2015-08-13 Richard Biener + + PR tree-optimization/67191 + * tree-ssa-sccvn.c (sccvn_dom_walker::before_dom_children): Remove + assert we value-numbered last stmts operand because it can validly + trigger for unreachable code. + +2015-08-13 Kyrylo Tkachov + + PR rtl-optimization/67103 + * ifcvt.c (noce_try_store_flag_constants): Move + x = (-(test != 0) & (b - a)) + a transformation to... + (noce_try_cmove): ... Here. Try it if normal conditional + move fails. + +2015-08-13 Robert Suchanek + + * config/mips/mips.c (mips_rtx_cost_data): Remove costs for W32 and W64 + pseudo-processors. + * config/mips/mips.md (processor): Remove w32 and w64. + +2015-08-13 Richard Biener + + PR tree-optimization/66502 + PR tree-optimization/67167 + * tree-ssa-sccvn.c (vn_phi_compute_hash): Do not include + backedge arguments. + (vn_phi_lookup): Adjust. + (vn_phi_insert): Likewise. + (visit_phi): Prefer to value-number to another PHI node + over value-numbering to a PHI argument. + (init_scc_vn): Mark DFS back edges. + +2015-08-13 Richard Biener + + * gimple.h (gcall::code_): New constant static member. + (gcond::code_): Likewise. + * gimple.c (gcall::code_): Define. + (gcond::code_): Likewise. + (is_a_helper ): Add. + (gimple_call_lhs): Use GIMPLE_CHECK2 in the gimple overload + and forward to a new gcall overload with less checking and a + cheaper way to access the operand. + (gimple_call_lhs_ptr): Likewise. + (gimple_call_set_lhs): Likewise. + (gimple_call_internal_p): Likewise. + (gimple_call_with_bounds_p): Likewise. + (gimple_call_set_with_bounds): Likewise. + (gimple_call_internal_fn): Likewise. + (gimple_call_set_ctrl_altering): Likewise. + (gimple_call_ctrl_altering_p): Likewise. + (gimple_call_fntype): Likewise. + (gimple_call_fn): Likewise. + (gimple_call_fn_ptr): Likewise. + (gimple_call_set_fndecl): Likewise. + (gimple_call_fndecl): Likewise. + (gimple_call_chain): Likewise. + (gimple_call_num_args): Likewise. + (gimple_call_arg): Likewise. + (gimple_call_arg_ptr): Likewise. + (gimple_call_set_arg): Likewise. + (gimple_call_noreturn_p): Likewise. + (gimple_cond_code): Likewise. + (gimple_cond_lhs): Likewise. + (gimple_cond_rhs): Likewise. + (gimple_has_lhs): Reduce checking. + +2015-08-13 Naveen H.S + + PR middle-end/25529 + * match.pd (div (mult @0 @1) @1) : New simplifier. + +2015-08-12 Michael Meissner + + PR target/67071 + * config/rs6000/predicates.md (easy_vector_constant_vsldoi): New + predicate to allow construction of vector constants using the + VSLDOI vector shift instruction. + + * config/rs6000/rs6000-protos.h (vspltis_shifted): Add + declaration. + + * config/rs6000/rs6000.c (vspltis_shifted): New function to return + the number of bytes to be shifted left and filled in with either + all zero or all one bits. + (gen_easy_altivec_constant): Call vsplitis_shifted if no other + methods exist. + (output_vec_const_move): On power8, generate XXLORC to generate + a vector constant with all 1's. Do a split if we need to use a + VSLDOI instruction. + + * config/rs6000/rs6000.h (EASY_VECTOR_MSB): Use mode mask to + properly test for the MSB. + + * config/rs6000/altivec.md (VSLDOI splitter): Add splitter for + vector constants that can be created with VSLDOI. + +2015-08-11 Trevor Saunders + + revert: + * compare-elim.c, dce.c, dse.c, gimple-ssa-isolate-paths.c, + gimple-ssa-strength-reduction.c, graphite.c, init-regs.c, + ipa-pure-const.c, ipa-visibility.c, ipa.c, mode-switching.c, + omp-low.c, reorg.c, sanopt.c, trans-mem.c, tree-eh.c, + tree-if-conv.c, tree-ssa-copyrename.c, tree-ssa-dce.c, + tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c, + tree-ssa-sink.c, tree-ssanames.c, tree-stdarg.c, tree-tailcall.c, + tree-vect-generic.c, tree.c, ubsan.c, var-tracking.c, + vtable-verify.c, web.c: Use GCC_FINAL instead of the anonymous + +2015-08-12 Max Filippov + + * config/xtensa/constraints.md (define_constraint "Y"): New + constraint. + * config/xtensa/elf.h (ASM_SPEC): Add m(no-)auto-litpools. + * config/xtensa/linux.h (ASM_SPEC): Likewise. + * config/xtensa/predicates.md (move_operand): Match constants + and symbols in the presence of TARGET_AUTO_LITPOOLS. + * config/xtensa/xtensa.c (xtensa_valid_move): Don't allow + immediate references to TLS data. + (xtensa_emit_move_sequence): Don't force constants to memory in + the presence of TARGET_AUTO_LITPOOLS. + (print_operand): Add 'y' format, same as default, but capable of + printing SF mode constants as well. + * config/xtensa/xtensa.md (movsi_internal, movhi_internal) + (movsf_internal): Add movi pattern that loads literal. + (movsf, movdf): Don't force constants to memory in the presence + of TARGET_AUTO_LITPOOLS. + (movdf_internal): Add 'Y' constraint. + * config/xtensa/xtensa.opt (mauto-litpools): New option. + * doc/invoke.text (Xtensa options): Document -mauto-litpools. + +2015-08-12 Matthew Wahab + + * config/arm/arm-fpus.def: Replace booleans with feature flags. + Update comment. + * config/arm/arm.c (ARM_FPU): Update macro. + * config/arm/arm.h (TARGET_NEON_FP16): Update feature test. + (TARGET_FP16): Likewise. + (TARGET_CRYPTO): Likewise. + (TARGET_NEON): Likewise. + (struct arm_fpu_desc): Remove fields neon, fp16 and crypto. Add + field features. + +2015-08-12 Tom de Vries + + PR other/67092 + PR other/67098 + * doc/install.texi: Remove --with_host_libstdcxx item. Update + --with-stage1-libs, --with-boot-ldflags and --with-boot-libs items + accordingly. Mention default for --with-stage1-ldflags. + +2015-08-12 Matthew Wahab + + * config/arm/arm.h (arm_fpu_feature_set): New. + (ARM_FPU_FSET_HAS): New. + (FPU_FL_NONE): New. + (FPU_FL_NEON): New. + (FPU_FL_FP16): New. + (FPU_FL_CRYPTO): New. + +2015-08-12 Kyrylo Tkachov + + * config/aarch64/aarch64.c (initialize_aarch64_code_model): Break + after -mcmodel=large -fPIC sorry. + +2015-08-12 Richard Biener + + * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Also canonicalize + comparison operand order and commutative ternary op operand order. + (sccvn_dom_walker::cond_stack): New state to track temporary + expressions. + (sccvn_dom_walker::after_dom_children): Remove tempoary expressions + no longer valid. + (sccvn_dom_walker::record_cond): Add a single temporary conditional + expression. + (sccvn_dom_walker::record_conds): Add a temporary conditional + expressions and all related expressions also true/false. + (sccvn_dom_walker::before_dom_children): Record temporary + expressions based on the controlling condition of a single + predecessor. When trying to simplify a conditional statement + lookup expressions we might have inserted earlier. + +2015-08-12 Yvan Roux + + PR target/67127 + * config/arm/arm.md (movdi): Restrict illegitimate ldrd/strd checking + to ARM core registers. + +2015-08-12 Nathan Sidwell + + * tree-vrp.c (simplify_min_or_max_using_ranges): New. + (simplify_stmt_using_ranges): Simplify MIN and MAX exprs. + +2015-08-12 Simon Dardis + + * config/mips/mips.c (mips_store_data_bypass_p): Bring code into + line with comments. + * config/mips/sb1.md: Update usage of mips_store_data_bypass_p. + +2015-08-12 Richard Biener + + * gimple.h (remove_pointer): New trait. + (GIMPLE_CHECK2): New inline template function. + (gassign::code_): New constant static member. + (is_a_helper): Add. + (gimple_assign_lhs): Use GIMPLE_CHECK2 in the gimple overload + and forward to a new gassign overload with less checking and a + cheaper way to access the operand. + (gimple_assign_lhs_ptr): Likewise. + (gimple_assign_set_lhs): Likewise. + (gimple_assign_rhs1, gimple_assign_rhs1_ptr, gimple_assign_set_rhs1): + Likewise. + (gimple_assign_rhs2, gimple_assign_rhs2_ptr, gimple_assign_set_rhs2): + Likewise. + (gimple_assign_rhs3, gimple_assign_rhs3_ptr, gimple_assign_set_rhs3): + Likewise. + (gimple_assign_rhs_code): Likewise. + * gimple.c (gassign::code_): Define. + +2015-08-12 Richard Biener + + * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): + Eliminate edges marked as not executable by SCCVN. + * tree-ssa-sccvn.c: Include gimple-iterator.h. + (cond_dom_walker): Rename to sccvn_dom_walker. + (sccvn_dom_walker::before_dom_children): Value-number defs + of all stmts. + (run_scc_vn): Remove loop value-numbering all SSA names. + Drop not visited SSA names to varying. + +2015-08-11 Trevor Saunders + + * compare-elim.c, dce.c, dse.c, gimple-ssa-isolate-paths.c, + gimple-ssa-strength-reduction.c, graphite.c, init-regs.c, + ipa-pure-const.c, ipa-visibility.c, ipa.c, mode-switching.c, + omp-low.c, reorg.c, sanopt.c, trans-mem.c, tree-eh.c, + tree-if-conv.c, tree-ssa-copyrename.c, tree-ssa-dce.c, + tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c, + tree-ssa-sink.c, tree-ssanames.c, tree-stdarg.c, tree-tailcall.c, + tree-vect-generic.c, tree.c, ubsan.c, var-tracking.c, + vtable-verify.c, web.c: Use GCC_FINAL instead of the anonymous + +2015-08-11 Uros Bizjak + + PR target/66954 + * config/i386/i386.c (get_builtin_code_for_version): Add P_PCLMUL + to enum feature_priority and feature_list. + (fold_builtin_cpu): Add F_PCLMUL to enum processor_features + and isa_names_table. + +2015-08-11 Yuri Rumyantsev + + * tree-vect-stmts.c (vectorizable_shift): Add missed test on + vect_induction_def. + +2015-08-11 Manuel López-Ibáñez + + PR c/66098 + PR c/66711 + * diagnostic.c (diagnostic_classify_diagnostic): Take -Werror into + account when deciding what was the command-line status. + +2015-08-11 Nathan Sidwell + + * tree-vrp.c (simplify_abs_using_ranges): Simplify. + + * tree-ssa-phiopt.c (minmax_replacement): Create new ssa name if + we're not the only contributor to target phi. + +2015-08-11 Jiong Wang + + * config/aarch64/aarch64.h (REG_CLASS_NAMES): Add the missing ',' after + FIXED_REG0. + +2015-08-11 Tom de Vries + + * tree-cfg.c (move_sese_region_to_fn): Add todo comment. + +2015-08-10 H.J. Lu + + * config/i386/i386.c (processor_alias_table): Replace CPU_KNL + with CPU_SLM. + * config/i386/i386.md (cpu): Remove knl. + +2015-08-10 Thomas Schwinge + + PR libgomp/65742 + PR middle-end/66332 + * builtins.c (expand_builtin_acc_on_device) [ACCEL_COMPILER]: Emit + open-coded sequence. + * omp-low.c (oacc_process_reduction_data): Remove handline of + GOMP_DEVICE_HOST_NONSHM. + + * lto-streamer-in.c (lto_input_mode_table): Adjust to + GET_MODE_INNER changes. + +2015-08-10 Thomas Schwinge + Ilya Verbin + + * lto-streamer-in.c (lto_input_mode_table): Correctly advance iterator. + +2015-08-09 Manuel López-Ibáñez + + * doc/options.texi (EnabledBy): Document that the argument must be + a Common option. + * doc/invoke.texi (Wnull-dereference): Move after Wnonnull. + Not enabled by -Wall. + * optc-gen.awk: Give nicer error messages. Detect if the argument + of EnabledBy is not a Common option. + * common.opt (Wnull-dereference): Not enabled by -Wall. + * opt-functions.awk (lang_enabled_by): Nicer error messages. + +2015-08-09 H.J. Lu + + * config/i386/driver-i386.c (host_detect_local_cpu): Treat + model == 0x4f as Broadwell. + +2015-08-08 Segher Boessenkool + + PR rtl-optimization/67028 + * combine.c (simplify_comparison): Fix comment. Rearrange code. + Add test to see if a const_int fits in the new mode. + +2015-08-07 DJ Delorie + + * config/rx/rx.c (rx_mode_dependent_address_p): Remove unneeded asserts. + +2015-08-07 H.J. Lu + + PR rtl-optimization/67029 + * ira-color.c: Include "recog.h" before including "ira-int.h". + * target-globals.c: Likewise. + * ira-lives.c (ira_implicitly_set_insn_hard_regs): Add an + adds an alternative_mask argument and use it instead of + preferred_alternatives. + * ira.h (ira_implicitly_set_insn_hard_regs): Moved to ... + * ira-int.h (ira_implicitly_set_insn_hard_regs): Here. + * sched-deps.c: Include "ira-int.h" after including "ira.h". + (sched_analyze_insn): Update call to + ira_implicitly_set_insn_hard_regs. + * sel-sched.c: Include "ira-int.h" after including "ira.h". + (implicit_clobber_conflict_p): Update call to + ira_implicitly_set_insn_hard_regs. + +2015-08-06 Uros Bizjak + + * Makefile.in (.INTERMEDIATE): Add gpl.pod. + +2015-08-07 Kaz Kojima + + PR target/67002 + * config/sh/sh.c (sh_recog_treg_set_expr): Return false when + currently_expanding_to_rtl is set. + +2015-08-06 Yaakov Selkowitz + + * configure.ac: Define LIBICONV_DEP with in-tree libiconv. + * configure: Regenerate. + +2015-08-06 Ramana Radhakrishnan + Jiong Wang + + * config/aarch64/aarch64.d (tlsdesc_small_pseudo_): New pattern. + * config/aarch64/aarch64.h (reg_class): New enumeration FIXED_REG0. + (REG_CLASS_NAMES): Likewise. + (REG_CLASS_CONTENTS): Likewise. + * config/aarch64/aarch64.c (aarch64_class_max_nregs): Likewise. + (aarch64_register_move_cost): Likewise. + (aarch64_load_symref_appropriately): Invoke the new added pattern if + possible. + * config/aarch64/constraints.md (Uc0): New constraint. + +2015-08-06 Jiong Wang + + * config/aarch64/constraints.md (Usf): Add the test of + aarch64_is_noplt_call_p. + +2015-08-06 Jiong Wang + + * config/aarch64/aarch64-protos.h (aarch64_is_noplt_call_p): New + declaration. + * config/aarch64/aarch64.c (aarch64_is_noplt_call_p): New function. + * config/aarch64/aarch64.md (call_value_symbol): Check noplt scenarios. + (call_symbol): Likewise. + +2015-08-06 Venkataramanan Kumar + + * tree-vect-patterns.c (vect_recog_mult_pattern): New function + for vectorizing multiplication patterns. + * tree-vectorizer.h: Adjust the number of patterns. + +2015-08-06 Uros Bizjak + + * config/i386/sse.md (*vec_concatv2df): Declare added + alternatives as sselog type. + +2015-08-06 Andreas Krebbel + + * config/s390/s390.c (s390_dwarf_frame_reg_mode): Return Pmode for + all GPRs. + +2015-08-06 Andreas Krebbel + + * config/s390/s390.c (s390_expand_tbegin): Expand either + tbegin_1_z13 or tbegin_1 depending on VX flag. + * config/s390/s390.md ("tbegin_1_z13"): New expander. + +2015-08-06 Andreas Krebbel + + * config/s390/s390.opt: Clarify description for -mzvector + * doc/invoke.texi: Add documentation for -mhtm, -mvx, and + -mzvector. + +2015-08-06 Richard Biener + + * gimple.h (gimple_call_set_fn): Access op member directly. + (gimple_call_chain_ptr): Likewise. + (gimple_call_set_chain): Likewise. + (gimple_cond_lhs_ptr): Likewise. + (gimple_cond_set_lhs): Likewise. + (gimple_cond_rhs_ptr): Likewise. + (gimple_cond_set_rhs): Likewise. + (gimple_cond_true_label): Likewise. + (gimple_cond_set_true_label): Likewise. + (gimple_cond_set_false_label): Likewise. + (gimple_cond_false_label): Likewise. + (gimple_label_label): Likewise. + (gimple_label_set_label): Likewise. + (gimple_goto_set_dest): Likewise. + (gimple_asm_input_op): Likewise. + (gimple_asm_input_op_ptr): Likewise. + (gimple_asm_set_input_op): Likewise. + (gimple_asm_output_op): Likewise. + (gimple_asm_output_op_ptr): Likewise. + (gimple_asm_set_output_op): Likewise. + (gimple_asm_clobber_op): Likewise. + (gimple_asm_set_clobber_op): Likewise. + (gimple_asm_label_op): Likewise. + (gimple_asm_set_label_op): Likewise. + (gimple_switch_index): Likewise. + (gimple_switch_index_ptr): Likewise. + (gimple_return_retval_ptr): Likewise. + (gimple_return_retval): Likewise. + (gimple_return_set_retval): Likewise. + (gimple_switch_set_index): Likewise. Remove superfluous GIMPLE_CHECK. + (gimple_switch_label): Likewise. + (gimple_switch_set_label): Likewise. + +2015-08-06 Richard Biener + + * gimple-fold.c (gimple_fold_stmt_to_constant_1): Simplify + bool comparison canonicalization and restrict to integers. + +2015-08-05 Andrew MacLeod + + * coretypes.h (enum symbol_visibility): Relocate here. + * flag-types.h (enum symbol_visibility): Remove. + * tree-core.h (enum symbol_visibility): Remove. + +2015-08-05 Lynn Boger + + PR target/66870 + * config/rs6000/rs6000.c (rs6000_emit_prologue): Check + for no_split_stack function attribute along with + flag_split_stack. + (rs6000_expand_split_stack_prologue): Likewise. + +2015-08-05 Manuel López-Ibáñez + Jeff Law + + PR c/16351 + * doc/invoke.texi (Wnull-dereference): New. + * tree-vrp.c (infer_value_range): Update call to infer_nonnull_range. + * gimple-ssa-isolate-paths.c (find_implicit_erroneous_behaviour): + Warn for potential NULL dereferences. + (find_explicit_erroneous_behaviour): Warn for NULL dereferences. + * ubsan.c (instrument_nonnull_arg): Call + infer_nonnull_range_by_attribute. + (instrument_nonnull_return): Likewise. + * common.opt (Wnull-dereference); New. + * gimple.c (infer_nonnull_range): Remove bool arguments. + (infer_nonnull_range_by_dereference): New. + (infer_nonnull_range_by_attribute): New. + * gimple.h: Update declarations. + +2015-08-05 Richard Sandiford + + * gensupport.c (sequence_num): Replace with... + (insn_sequence_num, split_sequence_num, peephole2_sequence_num): + ...these new variables. + (init_rtx_reader_args_cb): Update accordingly. + (get_num_code_insns): Likewise. + (read_md_rtx): Rework to use a while loop and get_c_test. + Use the new counters. Remove redundant DEFINE_SUBST case. + * genoutput.c (gen_split): Delete. + (main): Don't call it. + +2015-08-05 Richard Sandiford + + * gensupport.h (get_c_test): Declare. + * gensupport.c (get_c_test): New function. + * genconditions.c (main): Use it. + * genrecog.c (validate_pattern): Likewise. + (match_pattern_1): Likewise. Remove c_test argument. + (match_pattern): Update accordingly and remove c_test argument. + (main): Update accordingly. + +2015-08-05 Richard Sandiford + + * gensupport.h (get_num_insn_codes): Declare. + * gensupport.c (get_num_insn_codes): New function. + * genattrtab.c (optimize_attrs): Rename max_insn_code to + num_insn_codes. + (main): Likewise. Use get_num_insn_codes. + * gencodes.c (main): Remove "last" and use get_num_insn_codes. + +2015-08-05 Richard Sandiford + + PR middle-end/66311 + * wide-int.cc (wi::from_mpz): Make sure that absolute mpz value + is zero- rather than sign-extended. + +2015-08-05 Richard Sandiford + + * target-insns.def (can_extend): Delete. + +2015-08-05 Richard Biener + + PR tree-optimization/67121 + * tree-if-conv.c (combine_blocks): Clear range-info produced + by stmts no longer executed conditionally. + +2015-08-05 Nick Clifton + + * config/rl78/rl78.c (rl78_force_nonfar_3): Remove optimization + to allow identical far pointers to remain. + +2015-08-05 Richard Biener + + PR middle-end/67120 + * match.pd: Compare address bases with == if they are decls + or SSA names, not operand_equal_p. Otherwise fail. + +2015-08-05 Richard Biener + + PR tree-optimization/67055 + * tree-ssa-ccp.c (fold_builtin_alloca_with_align): Handle + NULL gimple_block. + + * g++.dg/torture/pr67055.C: New testcase. + +2015-08-05 Kirill Yukhin + + * config/i386/i386.md (define_attr "isa"): Addd avx512vl and + noavx512vl. + (define_attr "enabled"): Handle avx521vl and noavx512vl. + * config/i386/sse.md (define_insn "vec_dupv2df"): Split + AVX-512 alternative out of SSE. + (define_insn "*vec_concatv2df"): Ditto. + +2015-08-05 Kirill Yukhin + + * config/i386/i386.c (bdesc_args): Rename CODE_FOR_sse4_1_ptest into + CODE_FOR_sse4_1_ptestv2di and CODE_FOR_avx_vtestps256 into + CODE_FOR_avx_ptestv4di. + * config/i386/sse.md (define_mode_iterator V_AVX): New. + (define_mode_attr sse4_1): Extend to other 128/256-bit modes. + (define_insn "avx_ptest256"): Merge this ... + (define_insn "sse4_1_ptest"): And this ... + (define_insn "_ptest"): Into this. Use V_AVX iterator. + +2015-08-05 Richard Biener + + PR tree-optimization/67109 + * tree-vect-data-refs.c (vect_analyze_group_access_1): Check + against too big groups. Print whether this is a load or store + group. Rename from ... + (vect_analyze_group_access): ... this which is now a wrapper + dissolving an invalid group. + (vect_analyze_data_ref_accesses): Print whether this is a load + or store group. + +2015-08-05 Richard Biener + + PR middle-end/67107 + * match.pd: Guard const_binop result checking against NULL_TREE + result. + +2015-08-05 Kugan Vivekanandarajah + + * cse.c (cse_insn): Restoring old behaviour for src_eqv + when dest and value in the REG_EQUAL are same and dest + is STRICT_LOW_PART. + +2015-08-04 Anatoly Sokolov + + * config/moxie/moxie.h (PRINT_OPERAND, + PRINT_OPERAND_ADDRESS): Remove macros. + * config/moxie/moxie-protos.h (moxie_print_operand, + moxie_print_operand_address): Remove declaration. + * config/moxie/moxie.c (TARGET_PRINT_OPERAND, + TARGET_PRINT_OPERAND_ADDRESS): Define. + (moxie_print_operand, moxie_print_operand_address): Make static. + +2015-08-04 Szabolcs Nagy + + PR target/66731 + * config/aarch64/aarch64.c (aarch64_rtx_costs): Fix NEG cost for FNMUL. + (aarch64_rtx_mult_cost): Fix MULT cost with -frounding-math. + +2015-08-04 Richard Biener + + * genmatch.c (dt_node::gen_kids_1): Use gassign and gcall in + generated code. + (dt_operand::gen_gimple_expr): Adjust. + +2015-08-04 Richard Biener + + * gimple-fold.c (gimple_fold_stmt_to_constant_1): Canonicalize + bool compares on RHS. + * match.pd: Add X ==/!= !X is false/true pattern. + +2015-08-04 Pawel Kupidura + + * config/aarch64/aarch64.c: Change inner loop statement cost + to be consistent with other targets. + +2015-08-04 Christophe Lyon + + * config/arm/neon.md (neon_vget_lanev2di): Handle big-endian + targets. + +2015-08-04 Nathan Sidwell + + * config/nvptx/nvptx.h (struct nvptx_pseudo_info): Delete. + (machine_function): Remove pseudos field. + +2015-08-04 Kyrylo Tkachov + + * config/aarch64/aarch64.c (aarch64_option_valid_attribute_p): + Exit early and use target_option_current_node if processing current + pragma. + +2015-08-04 Kyrylo Tkachov + + * doc/extend.texi (AArch64 Function Attributes): New node. + (AArch64 Pragmas): Likewise. + +2015-08-04 Kyrylo Tkachov + + * config/aarch64/aarch64.c (aarch64_option_valid_attribute_p): + Initialize simd builtins if TARGET_SIMD. + * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins): + Make sure that the builtins are initialized only once no matter how + many times the function is called. + (aarch64_init_builtins): Unconditionally initialize crc builtins. + (aarch64_relayout_simd_param): New function. + (aarch64_simd_expand_args): Use above during argument expansion. + * config/aarch64/aarch64-c.c (aarch64_pragma_target_parse): Initialize + simd builtins if TARGET_SIMD. + * config/aarch64/aarch64-protos.h (aarch64_init_simd_builtins): New + prototype. + (aarch64_relayout_simd_types): Likewise. + +2015-08-04 Kyrylo Tkachov + + * config.gcc (aarch64*-*-*): Specify c_target_objs and cxx_target_objs. + * config/aarch64/aarch64.h (REGISTER_TARGET_PRAGMAS): Define. + (TARGET_CPU_CPP_BUILTINS): Redefine to call aarch64_cpu_cpp_builtins. + * config/aarch64/aarch64.c (aarch64_override_options_internal): Remove + static keyword. + (aarch64_reset_previous_fndecl): New function. + (aarch64_handle_attr_isa_flags): Handle "+nothing" in the beginning of + the string. + * config/aarch64/aarch64-c.c: New file. + * config/aarch64/arm_acle.h: Add pragma +crc+nofp at the top. + Push and pop options at beginning and end. Remove ifdef + __ARM_FEATURE_CRC32. + * config/aarch64/arm_neon.h: Remove #ifdef check on __ARM_NEON. + Add pragma +nothing+simd and +nothing+crypto where appropriate. + * config/aarch64/t-aarch64 (aarch64-c.o): New rule. + * config/aarch64/aarch64-protos.h (aarch64_cpu_cpp_builtins): + Define prototype. + (aarch64_register_pragmas): Likewise. + (aarch64_reset_previous_fndecl): Likewise. + (aarch64_process_target_attr): Likewise. + (aarch64_override_options_internal): Likewise. + +2015-08-04 Kyrylo Tkachov + + * config/aarch64/aarch64.c (aarch64_tribools_ok_for_inlining_p): + New function. + (aarch64_can_inline_p): Likewise. + (TARGET_CAN_INLINE_P): Define. + +2015-08-04 Kyrylo Tkachov + + * common/config/aarch64/aarch64-common.c (aarch64_handle_option): + Remove static. Handle OPT_mgeneral_regs_only, + OPT_mfix_cortex_a53_835769, OPT_mstrict_align, + OPT_momit_leaf_frame_pointer. + * config/aarch64/aarch64.c: Include opts.h and diagnostic.h + (aarch64_attr_opt_type): New enum. + (aarch64_attribute_info): New struct. + (aarch64_handle_attr_arch): New function. + (aarch64_handle_attr_cpu): Likewise. + (aarch64_handle_attr_tune): Likewise. + (aarch64_handle_attr_isa_flags): Likewise. + (aarch64_attributes): New table. + (aarch64_process_one_target_attr): New function. + (num_occurences_in_str): Likewise. + (aarch64_process_target_attr): Likewise. + (aarch64_option_valid_attribute_p): Likewise. + (TARGET_OPTION_VALID_ATTRIBUTE_P): Define. + * config/aarch64/aarch64-protos.h: Include input.h + (aarch64_handle_option): Declare prototype. + +2015-08-04 Kyrylo Tkachov + + * config/aarch64/aarch64.h (SWITCHABLE_TARGET): Define. + * config/aarch64/aarch64.c: Include target-globals.h + (aarch64_previous_fndecl): New variable. + (aarch64_set_current_function): New function. + (TARGET_SET_CURRENT_FUNCTION): Define. + +2015-08-04 Kyrylo Tkachov + + * config/aarch64/aarch64.opt (explicit_tune_core): New TargetVariable. + (explicit_arch): Likewise. + (x_aarch64_isa_flags): Likewise. + (mgeneral-regs-only): Mark as Save. + (mfix-cortex-a53-835769): Likewise. + (mcmodel=): Likewise. + (mstrict-align): Likewise. + (momit-leaf-frame-pointer): Likewise. + (mtls-dialect): Likewise. + (master=): Likewise. + * config/aarch64/aarch64.h (ASM_DECLARE_FUNCTION_NAME): Define. + (aarch64_isa_flags): Remove extern declaration. + * config/aarch64/aarch64.c (aarch64_validate_mcpu): Return a bool + to indicate success or failure. + (aarch64_validate_march): Likewise. + (aarch64_validate_mtune): Likewise. + (aarch64_isa_flags): Delete. + (aarch64_override_options_internal): Access opts->x_aarch64_isa_flags + instead of aarch64_isa_flags. + (aarch64_get_tune_cpu): New function. + (aarch64_get_arch): Likewise. + (aarch64_override_options): Use above and set up explicit_tune_core + and explicit_arch. + (aarch64_print_extension): Move earlier in file. Add isa_flags + argument and use that instead of the global aarch64_isa_flags. + (aarch64_option_save): New function. + (aarch64_option_restore): Likewise. + (aarch64_option_print): Likewise. + (aarch64_declare_function_name): Likewise. + (aarch64_start_file): Delete. + (TARGET_ASM_FILE_START): Do not define. + (TARGET_OPTION_RESTORE, TARGET_OPTION_PRINT): Define. + * config/aarch64/aarch64-protos.h (aarch64_declare_function_name): + Declare prototype. + +2015-08-04 Kyrylo Tkachov + + * config/aarch64/aarch64.opt (momit-leaf-frame-pointer): Initialize + flag_omit_leaf_frame_pointer to 2. + +2015-08-04 Kyrylo Tkachov + + * config/aarch64/aarch64.h (TARGET_FIX_ERR_A53_835769_DEFAULT): Always + define to 0 or 1. + (TARGET_FIX_ERR_A53_835769): New macro. + * config/aarch64/aarch64.c (aarch64_override_options_internal): Remove + handling of opts->x_aarch64_fix_a53_err835769. + (aarch64_madd_needs_nop): Check for TARGET_FIX_ERR_A53_835769 rather + than aarch64_fix_a53_err835769. + * config/aarch64/aarch64-elf-raw.h: Update for above changes. + * config/aarch64/aarch64-linux.h: Likewise. + +2015-08-04 Uros Bizjak + + * config/i386/i386.c (ix86_expand_int_movcc): Check result of + ix86_expand_int_movcc as boolean. + +2015-08-04 Kyrylo Tkachov + + * config/aarch64/aarch64.opt (aarch64_arch_string): Delete. + (aarch64_cpu_string): Likewise. + (aarch64_tune_string): Likewise. + * config/aarch64/aarch64.c (aarch64_parse_opt_result): New enum. + (aarch64_parse_extension): Return aarch64_parse_opt_result. + Add extra argument to put result into. + (aarch64_parse_arch): Likewise. Do not set selected_cpu. + (aarch64_parse_cpu): Add arguments to put results into. Return + aarch64_parse_opt_result. + (aarch64_parse_tune): Likewise. + (aarch64_override_options_after_change_1): New function. + (aarch64_override_options_internal): New function. + (aarch64_validate_mcpu): Likewise. + (aarch64_validate_march): Likewise. + (aarch64_validate_mtune): Likewise. + (aarch64_override_options): Update to reflect above changes. + Move some logic into aarch64_override_options_internal. + Initialize target_option_default_node and target_option_current_node. + (aarch64_override_options_after_change): Move logic into + aarch64_override_options_after_change_1 and call it with global_options. + (initialize_aarch64_code_model): Take a gcc_options pointer and use the + flag values from that. + +2015-08-04 Kyrylo Tkachov + + * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define + __ARM_ARCH_8A directly rather than with cpp_define_formatted. + * config/aarch64/aarch64.c (struct processor): Add arch field. + (all_architectures): Handle above, move above all_cores. + (all_cores): Handle above. + (aarch64_parse_arch): Handle above changes. + * config/aarch64/aarch64-arches.def (armv8-a): Extend according to + above. Update comments. + (armv8.1-a): Likewise. + * config/aarch64/aarch64-cores.def: Update according to above. + * config/aarch64/aarch64-opts.h (aarch64_arch): New enum. + * config/aarch64/driver-aarch64.c (struct aarch64_arch): Rename to + aarch64_arch_driver_info. + +2015-08-04 Kyrylo Tkachov + + * config/aarch64/aarch64.c (struct processor): Add ident field. + Rename core sched_core. + (all_cores): Handle above changes. + (all_architectures): Likewise. + (aarch64_parse_arch): Likewise. + (aarch64_override_options): Likewise. + +2015-08-04 Richard Biener + + * gimple-fold.c (gimple_fold_stmt_to_constant_1): Remove + dispatching to fold_binary for GIMPLE_BINARY_RHS and for + comparisons embedded in [VEC_]COND_EXPRs. + +2015-08-03 Abe Skolnik + + * tree-if-conv.c: Fix various typos in comments. + * tree-vect-stmts.c: Likewise. + +2015-08-04 Thomas Preud'homme + + PR tree-optimization/67043 + * loop-invariant.c (move_invariant_reg): Recompute luids in loop + preheader after hoisting invariant in it. + (find_defs): Force recomputation of all luids. + +2015-08-03 Peter Bergner + + * config/rs6000/htm.md (tabort.): Restrict the source operand to + using a base register. + +2015-08-03 David Malcolm + + * main.c (main): Pass in NULL for toplev's external_timer. + * timevar.c: Include coretypes.h. + (class timer::named_items): New. + (timer::named_items::named_items): New. + (timer::named_items::~named_items): New. + (timer::named_items::push): New. + (timer::named_items::pop): New. + (timer::named_items::print): New. + (timer::timer): Initialize field "m_jit_client_items". + (timer::~timer): New. + (timer::push): Move bulk of implementation to... + (timer::push_internal): ...here. New function. + (timer::pop): Move bulk of implementation to... + (timer::pop_internal): ...here. New function. + (timer::push_client_item): New. + (timer::pop_client_item): New. + (timer::print_row): New function, taken from timer::print. + (timer::print): Print "GCC items" header if we also have client + items. Move row-printing to timer::print_row. Print any client + items. + (timer::get_topmost_item_name): New method. + * timevar.def (TV_JIT_ACQUIRING_MUTEX): New. + (TV_JIT_CLIENT_CODE): New. + * timevar.h (timer::push_client_item): New declaration. + (timer::pop_client_item): New declaration. + (timer::get_topmost_item_name): New method. + (timer::push_internal): New declaration. + (timer::pop_internal): New declaration. + (timer::print_row): New declaration. + (timer::named_items): New declaration. + (timer::m_jit_client_items): New field. + (timer): Add friend class named_items. + (auto_timevar::auto_timevar): Add timer param. + (auto_timevar::~auto_timevar): Use field "m_timer". + (auto_timevar::m_timer): New field. + * toplev.c (initialize_rtl): Add g_timer as param when + constructing auto_timevar instance. + (toplev::toplev): Add "external_timer" param, and use it to + initialize the "g_timer" global if non-NULL. + (toplev::~toplev): If this created "g_timer", delete it. + * toplev.h (toplev::toplev): Replace "use_TV_TOTAL" bool param + with "external_timer" timer *. + +2015-08-03 Alexander Basov + + PR middle-end/64744 + PR middle-end/48470 + PR middle-end/43404 + * cfgexpand.c (expand_one_var): Add check if stack is going to + be used in naked function. + * expr.c (expand_expr_addr_expr_1): Remove excess checking + whether expression should not reside in MEM. + * function.c (use_register_for_decl): Do not use registers for + non-register things (volatile, float, BLKMode) in naked functions. + +2015-08-03 John David Anglin + + PR target/67060 + * config/pa/pa.md (call_reg_64bit): Remove reg:DI 1 clobber. + Adjust splits to match new pattern. + +2015-08-03 Michael Meissner + + * config/rs6000/vector.md (VEC_L): Add KFmode and TFmode. + (VEC_M): Likewise. + (VEC_N): Likewise. + (mov, VEC_M iterator): Add support for IEEE 128-bit floating + point in VSX registers. + + * config/rs6000/constraints.md (wb constraint): Document unused + w constraint. + (we constraint): Likewise. + (wo constraint): Likewise. + (wp constraint): New constraint for IEEE 128-bit floating point in + VSX registers. + (wq constraint): Likewise. + + * config/rs6000/predicates.md (easy_fp_constant): Add support for + IEEE 128-bit floating point in VSX registers. + (easy_scalar_constant): Likewise. + + * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add new + constraints (wp, wq) for IEEE 128-bit floating point in VSX + registers. + (rs6000_init_hard_regno_mode_ok): Likewise. + + * config/rs6000/vsx.md (VSX_LE_128): Add support for IEEE 128-bit + floating point in VSX registers. + (VSX_L): Likewise. + (VSX_M): Likewise. + (VSX_M2): Likewise. + (VSm): Likewise. + (VSs): Likewise. + (VSr): Likewise. + (VSa): Likewise. + (VSv): Likewise. + (vsx_le_permute_): Add support to properly swap bytes for + IEEE 128-bit floating point in VSX registers on little endian. + (vsx_le_undo_permute_): Likewise. + (vsx_le_perm_load_): Likewise. + (vsx_le_perm_store_): Likewise. + (splitters for IEEE 128-bit fp moves): Likewise. + + * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Add wp and + wq constraints. + + * config/rs6000/altivec.md (VM): Add support for IEEE 128-bit + floating point in VSX registers. + (VM2): Likewise. + + * doc/md.text (Machine Constraints): Document wp and wq + constraints on PowerPC. + +2015-08-03 Jeff Law + + PR middle-end/66314 + PR gcov-profile/66899 + * tree-ssa-threadupdate.c (mark_threaded_blocks): Correctly + iterate over the jump threading paths when an element in the + jump threading paths array is eliminated. + +2015-08-03 Segher Boessenkool + + * Makefile.in (OBJS): Put gimple-match.o and generic-match.o first. + +2015-08-03 Patrick Palka + + * tree-ssa-uninit.c (find_uninit_use): Declare and pass to + is_use_properly_guarded the variable def_preds. Free its + contents before returning. + (prune_uninit_phi_opnds_in_unrealizable_paths): Same. + (is_use_properly_guarded): Replace local variable def_preds with + a parameter. Adjust accordingly. Only update *def_preds if it's + the empty vector. + +2015-08-03 Richard Biener + + * genmatch.c (simplify::for_subst_vec): New member. + (binary_ok): New helper for for lowering. + (lower_for): Delay substituting operators into result expressions + if we can merge the results eventually again. + (capture_info::walk_result): Adjust for user_id appearing as + result expression operator. + (expr::gen_transform): Likewise. + (dt_simplify::gen_1): Likewise. + (dt_simplify::gen): Pass not substituted operators to tail + functions or initialize local variable with it. + (decision_tree::gen): Adjust function signature. + * match.pd: Fix tests against global code and add default + cases to switch stmts. + +2015-08-03 Richard Biener + + * genmatch.c (dt_simplify::gen): Create captures array + with an initializer. + +2015-08-03 Ulrich Weigand + + * configure.ac: Set aliasing_flags to -fno-strict-aliasing if + the host compiler is affected by placement new aliasing bug. + * configure: Regenerate. + * Makefile.in (ALIASING_FLAGS): New variable. + (ALL_CXXFLAGS): Add $(ALIASING_FLAGS). + +2015-08-03 Szabolcs Nagy + + PR target/66731 + * config/arm/vfp.md (negmuldf3_vfp): Add new pattern. + (negmulsf3_vfp): Likewise. + (muldf3negdf_vfp): Disable for -frounding-math. + (mulsf3negsf_vfp): Likewise. + * config/arm/arm.c (arm_new_rtx_costs): Fix NEG cost for VNMUL, + fix MULT cost with -frounding-math. + +2015-08-03 Kyrylo Tkachov + + * ifcvt.c (noce_try_store_flag_constants): Make logic of the case + when diff == STORE_FLAG_VALUE or diff == -STORE_FLAG_VALUE more + explicit. Prefer to add the flag whenever possible. + (noce_process_if_block): Try noce_try_store_flag_constants before + noce_try_cmove. + +2015-08-03 Richard Biener + + * genmatch.c (struct sinfo, struct sinfo_hashmap_traits, sinfo_map_t): + New hash-map to record equivalent transforms. + (dt_node::analyze): Populate the equivalent transforms hash-map. + (dt_simplify::info): Add reference to hash-map entry. + (dt_simplify::gen): If we have split out a function for the + transform, generate a call to it. + (sinfo_hashmap_traits::hash): New function. + (compare_op): New helper function for ... + (sinfo_hashmap_traits::equal_keys): ... this new function. + (decision_tree::gen): Split out common equivalent transforms + into functions. + +2015-08-03 Richard Biener + + * gimple-fold.c (fold_gimple_assign): Remove folding of + the comparison in COND_EXPRs. + +2015-08-03 Richard Biener + + * gimple-match-head.c (gimple_simplify): For [VEC_]COND_EXPRs + on the rhs of assignments first simplify the embedded + GENERIC condition. + +2015-08-03 Richard Biener + + PR tree-optimization/66917 + * tree-vectorizer.h (struct dataref_aux): Add base_element_aligned + field. + (DR_VECT_AUX): New macro. + (set_dr_misalignment): Adjust. + (dr_misalignment): Likewise. + * tree-vect-data-refs.c (vect_compute_data_ref_alignment): + Compute whether the base is at least element aligned. + * tree-vect-stmts.c (ensure_base_align): Adjust. + (vectorizable_store): If the base is not element aligned + preserve alignment of the original access if misalignment is unknown. + (vectorizable_load): Likewise. + +2015-08-02 Martin Sebor + + * doc/invoke.texi (Wframe-address): Document it. + * doc/extend.texi (__builtin_frame_address, __builtin_return_address): + Clarify possible effects of calling the functions with non-zero + arguments and mention -Wframe-address. + * builtins.c (expand_builtin_frame_address): Handle -Wframe-address. + +2015-08-01 Michael Collison + + * config/arm/arm.md (*arm_smin_cmp): New pattern. + (*arm_umin_cmp): Likewise. + +2015-08-01 Caroline Tice + + PR 66521 + * vtable-verify.c (vtbl_mangled_name_types, vtbl_mangled_name_ids): New + global variables. + (vtbl_find_mangled_name): New function. + (vtbl_register_mangled_name): New function. + (vtbl_map_get_node): If DECL_ASSEMBLER_NAME is "", look up + mangled name in mangled name vectors. + (find_or_create_vtbl_map_node): Ditto. + (var_is_used_for_virtual_call_p): Add recursion_depth parameter; + update recursion_depth on function entry; pass it to every recursive + call; automatically exit if depth > 25 (give up looking at that point). + (verify_bb_vtables): Initialize recursion_depth and pass it to + var_is_used_for_virtual_call_p. + * vtable-verify.h (vtbl_mangbled_name_types, vtbl_mangled_name_ids): New + global variable decls. + (vtbl_register_mangled_name): New extern function decl. + +2015-08-01 Tom de Vries + + * tree.c (operation_can_overflow, operation_no_trapping_overflow): New + function. + * tree.h (operation_can_overflow, operation_no_trapping_overflow): + Declare. + * tree-vect-loop.c (vect_is_simple_reduction_1): Use + operation_no_trapping_overflow. Allow non-overflow operations. + * graphite-sese-to-poly.c (is_reduction_operation_p): Allow non-overflow + operations. + +2015-07-31 Kaz Kojima + + PR target/67049 + * config/sh/sh.md (GOTaddr2picreg): Fix typo. + +2015-07-31 Kyrylo Tkachov + + * config/arm/arm.md (*if_neg_move): Convert to insn_and_split. + Enable for TARGET_32BIT. + (*if_move_neg): Likewise. + +2015-07-31 Nick Clifton + + * config/m32r/m32r.c (m32r_attribute_identifier): New function. + Returns true for __model__. + (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define. + +2015-07-31 Alan Modra + + PR target/66870 + * config/rs6000/rs6000.c (machine_function): Add split_stack_argp_used. + (rs6000_emit_prologue): Set it. + (rs6000_set_up_by_prologue): Specify r12 when split_stack_argp_used. + +2015-07-31 Richard Biener + + * fold-const.c (fold_binary_loc): Remove X ^ C1 == C2 + -> X == (C1 ^ C2) which is already implemented in match.pd. + Remove redundant dispatching to fold_relational_const. + Move unordered self and NaN compares ... + * match.pd: ... as patterns here. Remove some stray captures + and add a comment. + +2015-07-31 Petr Murzin + + * config/i386/i386.c + (bdesc_special_args): Convert mask type from signed to unsigned for + masked builtins. + (ix86_expand_args_builtin): Do not handle UINT_FTYPE_V2DF, + UINT64_FTYPE_V2DF, UINT64_FTYPE_V4SF, V16QI_FTYPE_V8DI, + V16HI_FTYPE_V16SI, V16SI_FTYPE_V16SI, V16SF_FTYPE_FLOAT, + V8HI_FTYPE_V8DI, V8UHI_FTYPE_V8UHI, V8SI_FTYPE_V8DI, V8SF_FTYPE_V8DF, + V8DI_FTYPE_INT64, V8DI_FTYPE_V4DI, V8DI_FTYPE_V8DI, V8DF_FTYPE_DOUBLE, + V8DF_FTYPE_V8SI, V16SI_FTYPE_V16SI_V16SI, V16SF_FTYPE_V16SF_V16SI, + V8DI_FTYPE_V8DI_V8DI, V8DF_FTYPE_V8DF_V8DI, V4SI_FTYPE_V4SF_V4SF, + V4SF_FTYPE_V4SF_UINT64, V2UDI_FTYPE_V4USI_V4USI, V2DI_FTYPE_V2DF_V2DF, + V2DF_FTYPE_V2DF_UINT64, V4UDI_FTYPE_V8USI_V8USI, QI_FTYPE_V8DI_V8DI, + HI_FTYPE_V16SI_V16SI, HI_FTYPE_HI_INT, V16SF_FTYPE_V16SF_V16SF_V16SF, + V16SF_FTYPE_V16SF_V16SI_V16SF, V16SF_FTYPE_V16SI_V16SF_HI, + V16SF_FTYPE_V16SI_V16SF_V16SF, V16SI_FTYPE_V16SF_V16SI_HI, + V8DI_FTYPE_V8SF_V8DI_QI, V8SF_FTYPE_V8DI_V8SF_QI, V8DI_FTYPE_PV4DI, + V8DF_FTYPE_V8DI_V8DF_QI, V16SI_FTYPE_V16SI_V16SI_V16SI, + V2DI_FTYPE_V2DI_V2DI_V2DI, V8DI_FTYPE_V8DF_V8DI_QI, V8DF_FTYPE_PV4DF, + V8SI_FTYPE_V8SI_V8SI_V8SI, V8DF_FTYPE_V8DF_V8DF_V8DF, UINT_FTYPE_V4SF, + V8DF_FTYPE_V8DF_V8DI_V8DF, V8DF_FTYPE_V8DI_V8DF_V8DF, + V8DF_FTYPE_V8SF_V8DF_QI, V8DI_FTYPE_V8DI_V8DI_V8DI, V16SF_FTYPE_PV4SF, + V8SF_FTYPE_V8DF_V8SF_QI, V8SI_FTYPE_V8DF_V8SI_QI, V16SI_FTYPE_PV4SI, + V2DF_FTYPE_V2DF_V4SF_V2DF_QI, V4SF_FTYPE_V4SF_V2DF_V4SF_QI, + V8DI_FTYPE_V8DI_SI_V8DI_V8DI, QI_FTYPE_V8DF_V8DF_INT_QI, + HI_FTYPE_V16SF_V16SF_INT_HI, V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI, + VOID_FTYPE_PDOUBLE_V2DF_QI, VOID_FTYPE_PFLOAT_V4SF_QI, + V2DF_FTYPE_PCDOUBLE_V2DF_QI, V4SF_FTYPE_PCFLOAT_V4SF_QI. + * config/i386/i386-builtin-types.def + (V16QI_FTYPE_V16SI): Remove. + (V8DF_FTYPE_V8SI): Ditto. + (V8HI_FTYPE_V8DI): Ditto. + (V8SI_FTYPE_V8DI): Ditto. + (V8SF_FTYPE_V8DF): Ditto. + (V8SF_FTYPE_V8DF_V8SF_QI): Ditto. + (V16HI_FTYPE_V16SI): Ditto. + (V16SF_FTYPE_V16HI): Ditto. + (V16SF_FTYPE_V16HI_V16SF_HI): Ditto. + (V16SF_FTYPE_V16SI): Ditto. + (V4DI_FTYPE_V4DI): Ditto. + (V16SI_FTYPE_V16SF): Ditto. + (V16SF_FTYPE_FLOAT): Ditto. + (V8DF_FTYPE_DOUBLE): Ditto. + (V8DI_FTYPE_INT64): Ditto. + (V8DI_FTYPE_V4DI): Ditto. + (V16QI_FTYPE_V8DI): Ditto. + (UINT_FTYPE_V4SF): Ditto. + (UINT64_FTYPE_V4SF): Ditto. + (UINT_FTYPE_V2DF): Ditto. + (UINT64_FTYPE_V2DF): Ditto. + (V16SI_FTYPE_V16SI): Ditto. + (V8DI_FTYPE_V8DI): Ditto. + (V16SI_FTYPE_PV4SI): Ditto. + (V16SF_FTYPE_PV4SF): Ditto. + (V8DI_FTYPE_PV2DI): Ditto. + (V8DF_FTYPE_PV2DF): Ditto. + (V4DI_FTYPE_PV2DI): Ditto. + (V4DF_FTYPE_PV2DF): Ditto. + (V16SI_FTYPE_PV2SI): Ditto. + (V16SF_FTYPE_PV2SF): Ditto. + (V8DI_FTYPE_PV4DI): Ditto. + (V8DF_FTYPE_PV4DF): Ditto. + (V8SF_FTYPE_FLOAT): Ditto. + (V4SF_FTYPE_FLOAT): Ditto. + (V4DF_FTYPE_DOUBLE): Ditto. + (V8SF_FTYPE_PV4SF): Ditto. + (V8SI_FTYPE_PV4SI): Ditto. + (V4SI_FTYPE_PV2SI): Ditto. + (V8SF_FTYPE_PV2SF): Ditto. + (V8SI_FTYPE_PV2SI): Ditto. + (V16SF_FTYPE_PV8SF): Ditto. + (V16SI_FTYPE_PV8SI): Ditto. + (V8DI_FTYPE_V8SF): Ditto. + (V4DI_FTYPE_V4SF): Ditto. + (V2DI_FTYPE_V4SF): Ditto. + (V64QI_FTYPE_QI): Ditto. + (V32HI_FTYPE_HI): Ditto. + (V8UHI_FTYPE_V8UHI): Ditto. + (V16UHI_FTYPE_V16UHI): Ditto. + (V32UHI_FTYPE_V32UHI): Ditto. + (V2UDI_FTYPE_V2UDI): Ditto. + (V4UDI_FTYPE_V4UDI): Ditto. + (V8UDI_FTYPE_V8UDI): Ditto. + (V4USI_FTYPE_V4USI): Ditto. + (V8USI_FTYPE_V8USI): Ditto. + (V16USI_FTYPE_V16USI): Ditto. + (V2DF_FTYPE_V2DF_UINT64): Ditto. + (V2DI_FTYPE_V2DF_V2DF): Ditto. + (V2UDI_FTYPE_V4USI_V4USI): Ditto. + (V8DF_FTYPE_V8DF_V8DI): Ditto. + (V4SF_FTYPE_V4SF_UINT64): Ditto. + (V4SI_FTYPE_V4SF_V4SF): Ditto. + (V16SF_FTYPE_V16SF_V16SI): Ditto. + (V64QI_FTYPE_V32HI_V32HI): Ditto. + (V32HI_FTYPE_V16SI_V16SI): Ditto. + (V8DF_FTYPE_V8DF_V8DF_V8DI_INT_QI): Ditto. + (V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI): Ditto. + (V32HI_FTYPE_V64QI_V64QI): Ditto. + (V32HI_FTYPE_V32HI_V32HI): Ditto. + (V16HI_FTYPE_V16HI_V16HI_INT_V16HI_HI): Ditto. + (V16SI_FTYPE_V16SI_V4SI): Ditto. + (V16SI_FTYPE_V16SI_V16SI): Ditto. + (V16SI_FTYPE_V32HI_V32HI): Ditto. + (V16SI_FTYPE_V16SI_SI): Ditto. + (V8DI_FTYPE_V8DI_V8DI): Ditto. + (V4UDI_FTYPE_V8USI_V8USI): Ditto. + (V8DI_FTYPE_V16SI_V16SI): Ditto. + (V8DI_FTYPE_V8DI_V2DI): Ditto. + (QI_FTYPE_QI): Ditto. + (SI_FTYPE_SI): Ditto. + (DI_FTYPE_DI): Ditto. + (QI_FTYPE_QI_QI): Ditto. + (QI_FTYPE_QI_INT): Ditto. + (HI_FTYPE_HI_INT): Ditto. + (SI_FTYPE_SI_INT): Ditto. + (DI_FTYPE_DI_INT): Ditto. + (HI_FTYPE_V16QI_V16QI): Ditto. + (SI_FTYPE_V32QI_V32QI): Ditto. + (DI_FTYPE_V64QI_V64QI): Ditto. + (QI_FTYPE_V8HI_V8HI): Ditto. + (HI_FTYPE_V16HI_V16HI): Ditto. + (SI_FTYPE_V32HI_V32HI): Ditto. + (QI_FTYPE_V4SI_V4SI): Ditto. + (QI_FTYPE_V8SI_V8SI): Ditto. + (QI_FTYPE_V2DI_V2DI): Ditto. + (QI_FTYPE_V4DI_V4DI): Ditto. + (QI_FTYPE_V8DI_V8DI): Ditto. + (HI_FTYPE_V16SI_V16SI): Ditto. + (HI_FTYPE_V16SI_V16SI_INT_HI): Ditto. + (QI_FTYPE_V8DF_V8DF_INT_QI): Ditto. + (HI_FTYPE_V16SF_V16SF_INT_HI): Ditto. + (V32HI_FTYPE_V32HI_V32HI_V32HI): Ditto. + (V4SF_FTYPE_V4SF_V2DF_V4SF_QI): Ditto. + (V8DF_FTYPE_V8DF_V8DF_V8DF): Ditto. + (V16SF_FTYPE_V16SF_V16SF_V16SF): Ditto. + (V8DF_FTYPE_V8SF_V8DF_QI): Ditto. + (V8DI_FTYPE_V8DF_V8DI_QI): Ditto. + (V8DF_FTYPE_V8DI_V8DF_V8DF): Ditto. + (V2DF_FTYPE_V2DF_V4SF_V2DF_QI): Ditto. + (V16SF_FTYPE_V16SI_V16SF_HI): Ditto. + (V16SF_FTYPE_V16SI_V16SF_V16SF): Ditto. + (V8SI_FTYPE_V8DF_V8SI_QI): Ditto. + (V8DI_FTYPE_PCCHAR_V8DI_QI): Ditto. + (V8SF_FTYPE_PCFLOAT_V8SF_QI): Ditto. + (V4SF_FTYPE_PCFLOAT_V4SF_QI): Ditto. + (V4DF_FTYPE_PCDOUBLE_V4DF_QI): Ditto. + (V2DF_FTYPE_PCDOUBLE_V2DF_QI): Ditto. + (V8SI_FTYPE_PCCHAR_V8SI_QI): Ditto. + (V4SI_FTYPE_PCCHAR_V4SI_QI): Ditto. + (V4DI_FTYPE_PCCHAR_V4DI_QI): Ditto. + (V2DI_FTYPE_PCCHAR_V2DI_QI): Ditto. + (V16SF_FTYPE_PCV8SF_V16SF_HI): Ditto. + (V16SI_FTYPE_PCV8SI_V16SI_HI): Ditto. + (V8DF_FTYPE_PCV2DF_V8DF_QI): Ditto. + (V8SF_FTYPE_PCV4SF_V8SF_QI): Ditto. + (V8DI_FTYPE_PCV2DI_V8DI_QI): Ditto. + (V8SI_FTYPE_PCV4SI_V8SI_QI): Ditto. + (V4DF_FTYPE_PCV2DF_V4DF_QI): Ditto. + (V4DI_FTYPE_PCV2DI_V4DI_QI): Ditto. + (VOID_FTYPE_PDOUBLE_V2DF_QI): Ditto. + (VOID_FTYPE_PFLOAT_V4SF_QI): Ditto. + (V16SI_FTYPE_V16SF_V16SI_HI): Ditto. + (V8DI_FTYPE_V8SF_V8DI_QI): Ditto. + (V8SF_FTYPE_V8DI_V8SF_QI): Ditto. + (V8DF_FTYPE_V8DI_V8DF_QI): Ditto. + (V2DF_FTYPE_V2DF_V2DF_V2DI): Ditto. + (V4SF_FTYPE_V4SF_V4SF_V4SI): Ditto. + (V2UDI_FTYPE_V2UDI_V2UDI_V2UDI): Ditto. + (V4USI_FTYPE_V4USI_V4USI_V4USI): Ditto. + (V8UHI_FTYPE_V8UHI_V8UHI_V8UHI): Ditto. + (V16UQI_FTYPE_V16UQI_V16UQI_V16UQI): Ditto. + (V4DF_FTYPE_V4DF_V4DF_V4DI): Ditto. + (V8SF_FTYPE_V8SF_V8SF_V8SI): Ditto. + (V8DI_FTYPE_V8DI_V8DI_V8DI): Ditto. + (V16SI_FTYPE_V16SI_V16SI_V16SI): Ditto. + (V2DF_FTYPE_V2DF_V2DI_V2DF): Ditto. + (V4DF_FTYPE_V4DF_V4DI_V4DF): Ditto. + (V8DF_FTYPE_V8DF_V8DI_V8DF): Ditto. + (V4SF_FTYPE_V4SF_V4SI_V4SF): Ditto. + (V8SF_FTYPE_V8SF_V8SI_V8SF): Ditto. + (V16SF_FTYPE_V16SF_V16SI_V16SF): Ditto. + (V8DI_FTYPE_V8DI_SI_V8DI_V8DI): Ditto. + (PVOID_FTYPE_PVOID_PVOID_ULONG): Ditto. + (V4SF_FTYPE_V2DF_V4SF_QI): Convert mask type from signed to unsigned. + (V4SF_FTYPE_V4DF_V4SF_QI): Ditto. + (V4SF_FTYPE_V8HI_V4SF_QI): Ditto. + (V8SF_FTYPE_V8HI_V8SF_QI): Ditto. + (V16SI_FTYPE_V16SI_V16SI_HI): Ditto. + (V8DI_FTYPE_V8DI_V8DI_QI): Ditto. + (V2DF_FTYPE_V4DF_INT_V2DF_QI): Ditto. + (V2DF_FTYPE_V8DF_INT_V2DF_QI): Ditto. + (V2DI_FTYPE_V2DI_INT_V2DI_QI): Ditto. + (V4DF_FTYPE_V8DF_INT_V4DF_QI): Ditto. + (V4SF_FTYPE_V8SF_INT_V4SF_QI): Ditto. + (V4SI_FTYPE_V2DF_V4SI_QI): Ditto. + (V4SI_FTYPE_V4SI_INT_V4SI_QI): Ditto. + (V4SI_FTYPE_V8HI_V8HI_V4SI_QI): Ditto. + (V4SI_FTYPE_V8SI_INT_V4SI_QI): Ditto. + (V8HI_FTYPE_V16QI_V16QI_V8HI_QI): Ditto. + (V8HI_FTYPE_V8SF_INT_V8HI_QI): Ditto. + (V8HI_FTYPE_V4SF_INT_V8HI_QI): Ditto. + (V8SF_FTYPE_V16SF_INT_V8SF_QI): Ditto. + (V4SF_FTYPE_V16SF_INT_V4SF_QI): Ditto. + (V8DF_FTYPE_V8DF_V2DF_INT_V8DF_QI): Ditto. + (V8DF_FTYPE_V8DF_V4DF_INT_V8DF_QI): Ditto. + (V8DF_FTYPE_V8DF_V8DF_INT_V8DF_QI): Ditto. + (V8DF_FTYPE_V8DF_INT_V8DF_QI): Ditto. + (V4DF_FTYPE_V4DF_V4DF_V4DI_INT_QI): Ditto. + (V2DF_FTYPE_V2DF_V2DF_V2DI_INT_QI): Ditto. + (V16SF_FTYPE_V16SF_V16SF_INT_V16SF_HI): Ditto. + (V16SF_FTYPE_V16SF_INT_V16SF_HI): Ditto. + (V16SI_FTYPE_V16SI_V4SI_INT_V16SI_HI): Ditto. + (V8SF_FTYPE_V8SF_V8SF_V8SI_INT_QI): Ditto. + (V4SF_FTYPE_V4SF_V4SF_V4SI_INT_QI): Ditto. + (V16SF_FTYPE_V16SF_V4SF_INT_V16SF_HI): Ditto. + (V16SF_FTYPE_V16SF_V8SF_INT_V16SF_HI): Ditto. + (V16HI_FTYPE_V32QI_V32QI_V16HI_HI): Ditto. + (V32HI_FTYPE_V64QI_V64QI_V32HI_SI): Ditto. + (V16HI_FTYPE_V16SF_INT_V16HI_HI): Ditto. + (V16SI_FTYPE_V16SI_V8SI_INT_V16SI_HI): Ditto. + (V4SI_FTYPE_V16SI_INT_V4SI_QI): Ditto. + (V16SI_FTYPE_V16SI_V16SI_INT_V16SI_HI): Ditto. + (V8SI_FTYPE_V16HI_V16HI_V8SI_QI): Ditto. + (V16SI_FTYPE_V32HI_V32HI_V16SI_HI): Ditto. + (V8SI_FTYPE_V8SI_INT_V8SI_QI): Ditto. + (V8SI_FTYPE_V16SI_INT_V8SI_QI): Ditto. + (V16SI_FTYPE_V16SI_V4SI_V16SI_HI): Ditto. + (V16SI_FTYPE_V16SI_INT_V16SI_HI): Ditto. + (V8DI_FTYPE_V8DI_V8DI_INT_V8DI_QI): Ditto. + (V8DI_FTYPE_V8DI_V8DI_INT_V8DI_DI): Ditto. + (V4DI_FTYPE_V4DI_V4DI_INT_V4DI_SI): Ditto. + (V2DI_FTYPE_V2DI_V2DI_INT_V2DI_HI): Ditto. + (V8DI_FTYPE_V8DI_V2DI_INT_V8DI_QI): Ditto. + (V8DI_FTYPE_V8DI_V4DI_INT_V8DI_QI): Ditto. + (V4DI_FTYPE_V8DI_INT_V4DI_QI): Ditto. + (V8DI_FTYPE_V8DI_V2DI_V8DI_QI): Ditto. + (V8DI_FTYPE_V8DI_INT_V8DI_QI): Ditto. + (V4DI_FTYPE_V4DI_INT_V4DI_QI): Ditto. + (V2DI_FTYPE_V4DI_INT_V2DI_QI): Ditto. + (V2DI_FTYPE_V8DI_INT_V2DI_QI): Ditto. + (HI_FTYPE_HI): Ditto. + (HI_FTYPE_V16QI): Ditto. + (SI_FTYPE_V32QI): Ditto. + (DI_FTYPE_V64QI): Ditto. + (QI_FTYPE_V8HI): Ditto. + (HI_FTYPE_V16HI): Ditto. + (SI_FTYPE_V32HI): Ditto. + (QI_FTYPE_V4SI): Ditto. + (QI_FTYPE_V8SI): Ditto. + (HI_FTYPE_V16SI): Ditto. + (QI_FTYPE_V2DI): Ditto. + (QI_FTYPE_V4DI): Ditto. + (QI_FTYPE_V8DI): Ditto. + (V16QI_FTYPE_HI): Ditto. + (V32QI_FTYPE_SI): Ditto. + (V64QI_FTYPE_DI): Ditto. + (V8HI_FTYPE_QI): Ditto. + (V16HI_FTYPE_HI): Ditto. + (V32HI_FTYPE_SI): Ditto. + (V4SI_FTYPE_QI): Ditto. + (V4SI_FTYPE_HI): Ditto. + (V8SI_FTYPE_QI): Ditto. + (V8SI_FTYPE_HI): Ditto. + (V2DI_FTYPE_QI): Ditto. + (V4DI_FTYPE_QI): Ditto. + (HI_FTYPE_HI_HI): Ditto. + (SI_FTYPE_SI_SI): Ditto. + (DI_FTYPE_DI_DI): Ditto. + (HI_FTYPE_V16QI_V16QI_HI): Ditto. + (HI_FTYPE_V16QI_V16QI_INT_HI): Ditto. + (SI_FTYPE_V32QI_V32QI_SI): Ditto. + (SI_FTYPE_V32QI_V32QI_INT_SI): Ditto. + (DI_FTYPE_V64QI_V64QI_DI): Ditto. + (DI_FTYPE_V64QI_V64QI_INT_DI): Ditto. + (QI_FTYPE_V8HI_V8HI_QI): Ditto. + (QI_FTYPE_V8HI_V8HI_INT_QI): Ditto. + (HI_FTYPE_V16HI_V16HI_HI): Ditto. + (HI_FTYPE_V16HI_V16HI_INT_HI): Ditto. + (SI_FTYPE_V32HI_V32HI_SI): Ditto. + (SI_FTYPE_V32HI_V32HI_INT_SI): Ditto. + (QI_FTYPE_V4SI_V4SI_QI): Ditto. + (QI_FTYPE_V4SI_V4SI_INT_QI): Ditto. + (QI_FTYPE_V8SI_V8SI_QI): Ditto. + (QI_FTYPE_V8SI_V8SI_INT_QI): Ditto. + (QI_FTYPE_V2DI_V2DI_QI): Ditto. + (QI_FTYPE_V2DI_V2DI_INT_QI): Ditto. + (QI_FTYPE_V4DI_V4DI_QI): Ditto. + (QI_FTYPE_V4DI_V4DI_INT_QI): Ditto. + (QI_FTYPE_V8DI_V8DI_QI): Ditto. + (HI_FTYPE_V16SI_V16SI_HI): Ditto. + (QI_FTYPE_V8DI_V8DI_INT): Ditto. + (QI_FTYPE_V8DI_V8DI_INT_QI): Ditto. + (HI_FTYPE_V16SI_V16SI_INT): Ditto. + (HI_FTYPE_V16SI_V16SI_INT _HI): Ditto. + (QI_FTYPE_V8DF_V8DF_INT): Ditto. + (QI_FTYPE_V8DF_V8DF_INT_QI_INT): Ditto. + (HI_FTYPE_V16SF_V16SF_INT): Ditto. + (HI_FTYPE_V16SF_V16SF_INT_HI_INT): Ditto. + (QI_FTYPE_V2DF_V2DF_INT): Ditto. + (QI_FTYPE_V2DF_V2DF_INT_QI): Ditto. + (QI_FTYPE_V2DF_V2DF_INT_QI_INT): Ditto. + (QI_FTYPE_V4SF_V4SF_INT): Ditto. + (QI_FTYPE_V4SF_V4SF_INT_QI): Ditto. + (QI_FTYPE_V4SF_V4SF_INT_QI_INT): Ditto. + (V16SI_FTYPE_HI): Ditto. + (V8DI_FTYPE_QI): Ditto. + (V2DF_FTYPE_V2DI_V2DF_V2DF_QI): Ditto. + (V2DF_FTYPE_V2DF_V2DI_V2DF_QI): Ditto. + (V4DF_FTYPE_V4DF_V2DF_INT_V4DF_QI): Ditto. + (V4SF_FTYPE_V4SI_V4SF_V4SF_QI): Ditto. + (V4SF_FTYPE_V4SF_V4SI_V4SF_QI): Ditto. + (V4SF_FTYPE_V4SF_V4SF_V4SF_QI): Ditto. + (V8SF_FTYPE_V8SF_V4SF_INT_V8SF_QI): Ditto. + (V8SI_FTYPE_V8SI_V4SI_INT_V8SI_QI): Ditto. + (V4DI_FTYPE_V4DI_V2DI_INT_V4DI_QI): Ditto. + (V2DF_FTYPE_V2DF_V2DF_QI): Ditto. + (V2DF_FTYPE_V4SF_V2DF_QI): Ditto. + (V2DF_FTYPE_V4SI_V2DF_QI): Ditto. + (V4DF_FTYPE_V4DF_V4DF_QI): Ditto. + (V4DF_FTYPE_V4SF_V4DF_QI): Ditto. + (V4DF_FTYPE_V4SI_V4DF_QI): Ditto. + (V8DF_FTYPE_V8DF_V8DF_QI): Ditto. + (V8DF_FTYPE_V8SI_V8DF_QI): Ditto. + (V2DI_FTYPE_V4SI_V2DI_QI): Ditto. + (V2DI_FTYPE_V8HI_V2DI_QI): Ditto. + (V4DI_FTYPE_V4DF_V4DI_QI): Ditto. + (V2DI_FTYPE_V2DF_V2DI_QI): Ditto. + (V2DI_FTYPE_V2DI_V2DI_V2DI_QI): Ditto. + (V2DI_FTYPE_V2DI_V2DI_INT_V2DI_QI): Ditto. + (V4DI_FTYPE_V4DI_V4DI_V4DI_QI): Ditto. + (V4DI_FTYPE_V4DI_V4DI_INT_V4DI_QI): Ditto. + (V8DI_FTYPE_V8SI_V8DI_QI): Ditto. + (V8DI_FTYPE_V8HI_V8DI_QI): Ditto. + (V8DI_FTYPE_V16QI_V8DI_QI): Ditto. + (V2DI_FTYPE_V16QI_V2DI_QI): Ditto. + (V4DI_FTYPE_V16QI_V4DI_QI): Ditto. + (V4DI_FTYPE_V4DI_V4DI_QI): Ditto. + (V4DI_FTYPE_V4SI_V4DI_QI): Ditto. + (V4DI_FTYPE_V8HI_V4DI_QI): Ditto. + (V8DI_FTYPE_V8DI_V8DI_V8DI_QI): Ditto. + (V8DF_FTYPE_V8DI_V8DF_V8DF_QI): Ditto. + (V8DF_FTYPE_V8DF_V8DI_V8DF_QI): Ditto. + (V4DF_FTYPE_V4DI_V4DF_V4DF_QI): Ditto. + (V4DF_FTYPE_V4DF_V4DI_V4DF_QI): Ditto. + (V4DF_FTYPE_V4DF_V4DF_V4DF_QI): Ditto. + (V8DF_FTYPE_V8DF_V8DF_V8DF_QI): Ditto. + (V16QI_FTYPE_V16QI_V16QI_V16QI_HI): Ditto. + (V16HI_FTYPE_V16HI_V16HI_V16HI_HI): Ditto. + (V16SI_FTYPE_V16SI_V16SI_V16SI_HI): Ditto. + (V2DF_FTYPE_V2DF_V2DF_V2DF_QI): Ditto. + (V32HI_FTYPE_V32HI_V32HI_V32HI_SI): Ditto. + (V64QI_FTYPE_V64QI_V64QI_V64QI_DI): Ditto. + (V32QI_FTYPE_V32QI_V32QI_V32QI_SI): Ditto. + (V8HI_FTYPE_V8HI_V8HI_V8HI_QI): Ditto. + (V4SF_FTYPE_V4SF_V4SF_QI): Ditto. + (V4SF_FTYPE_V4SI_V4SF_QI): Ditto. + (V8SF_FTYPE_V8SF_V8SF_QI): Ditto. + (V8SF_FTYPE_V8SI_V8SF_QI): Ditto. + (V16SF_FTYPE_V16SF_V16SF_HI): Ditto. + (V4SI_FTYPE_V16QI_V4SI_QI): Ditto. + (V4SI_FTYPE_V8HI_V4SI_QI): Ditto. + (V8SI_FTYPE_V8SI_V8SI_QI): Ditto. + (V8SI_FTYPE_V8HI_V8SI_QI): Ditto. + (V8SI_FTYPE_V16QI_V8SI_QI): Ditto. + (V4SI_FTYPE_V4SI_V4SI_V4SI_QI): Ditto. + (V4SI_FTYPE_V4SI_V4SI_INT_V4SI_QI): Ditto. + (V8SF_FTYPE_V8SF_V8SF_V8SF_QI): Ditto. + (V8SF_FTYPE_V8SI_V8SF_V8SF_QI): Ditto. + (V8SF_FTYPE_V8SF_V8SI_V8SF_QI): Ditto. + (V8SI_FTYPE_V8SI_V8SI_V8SI_QI): Ditto. + (V8SI_FTYPE_V8SI_V8SI_INT_V8SI_QI): Ditto. + (V16SF_FTYPE_V16SF_V16SF_V16SF_HI): Ditto. + (V16SF_FTYPE_V16SI_V16SF_V16SF_HI): Ditto. + (V16SF_FTYPE_V16SF_V16SI_V16SF_HI): Ditto. + (V16SF_FTYPE_V8SF_V16SF_HI): Ditto. + (V16SF_FTYPE_V4SF_V16SF_HI): Ditto. + (V8DF_FTYPE_V4DF_V8DF_QI): Ditto. + (V8DF_FTYPE_V2DF_V8DF_QI): Ditto. + (V16SI_FTYPE_V8SI_V16SI_HI): Ditto. + (V16SI_FTYPE_V4SI_V16SI_HI): Ditto. + (V16SI_FTYPE_SI_V16SI_HI): Ditto. + (V16SI_FTYPE_V16HI_V16SI_HI): Ditto. + (V16SI_FTYPE_V16QI_V16SI_HI): Ditto. + (V8DI_FTYPE_V4DI_V8DI_QI): Ditto. + (V4SI_FTYPE_V4DF_V4SI_QI): Ditto. + (V8DI_FTYPE_V2DI_V8DI_QI): Ditto. + (V8DI_FTYPE_DI_V8DI_QI): Ditto. + (V16QI_FTYPE_V16SI_V16QI_HI): Ditto. + (V16QI_FTYPE_V8DI_V16QI_QI): Ditto. + (V32HI_FTYPE_V32HI_V32HI_SI): Ditto. + (V32HI_FTYPE_V32QI_V32HI_SI): Ditto. + (V16HI_FTYPE_V16HI_V16HI_HI): Ditto. + (V16HI_FTYPE_V16QI_V16HI_HI): Ditto. + (V8HI_FTYPE_V16QI_V8HI_QI): Ditto. + (V8SF_FTYPE_V4SF_V8SF_QI): Ditto. + (V4DF_FTYPE_V2DF_V4DF_QI): Ditto. + (V8SI_FTYPE_V4SI_V8SI_QI): Ditto. + (V8SI_FTYPE_SI_V8SI_QI): Ditto. + (V4SI_FTYPE_V4SI_V4SI_QI): Ditto. + (V4SI_FTYPE_SI_V4SI_QI): Ditto. + (V4DI_FTYPE_V2DI_V4DI_QI): Ditto. + (V4DI_FTYPE_DI_V4DI_QI): Ditto. + (V2DI_FTYPE_V2DI_V2DI_QI): Ditto. + (V2DI_FTYPE_DI_V2DI_QI): Ditto. + (V64QI_FTYPE_V64QI_V64QI_DI): Ditto. + (V64QI_FTYPE_V16QI_V64QI_DI): Ditto. + (V64QI_FTYPE_QI_V64QI_DI): Ditto. + (V32QI_FTYPE_V32QI_V32QI_SI): Ditto. + (V32QI_FTYPE_V16QI_V32QI_SI): Ditto. + (V32QI_FTYPE_QI_V32QI_SI): Ditto. + (V16QI_FTYPE_V16QI_V16QI_HI): Ditto. + (V16QI_FTYPE_QI_V16QI_HI): Ditto. + (V32HI_FTYPE_V8HI_V32HI_SI): Ditto. + (V32HI_FTYPE_HI_V32HI_SI): Ditto. + (V16HI_FTYPE_V8HI_V16HI_HI): Ditto. + (V16HI_FTYPE_HI_V16HI_HI): Ditto. + (V8HI_FTYPE_V8HI_V8HI_QI): Ditto. + (V8HI_FTYPE_HI_V8HI_QI): Ditto. + (V64QI_FTYPE_PCV64QI_V64QI_DI): Ditto. + (V32HI_FTYPE_PCV32HI_V32HI_SI): Ditto. + (V32QI_FTYPE_PCV32QI_V32QI_SI): Ditto. + (V16SF_FTYPE_PCV16SF_V16SF_HI): Ditto. + (V8DF_FTYPE_PCV8DF_V8DF_QI): Ditto. + (V16SI_FTYPE_PCV16SI_V16SI_HI): Ditto. + (V16HI_FTYPE_PCV16HI_V16HI_HI): Ditto. + (V16QI_FTYPE_PCV16QI_V16QI_HI): Ditto. + (V8SF_FTYPE_PCV8SF_V8SF_QI): Ditto. + (V8DI_FTYPE_PCV8DI_V8DI_QI): Ditto. + (V8SI_FTYPE_PCV8SI_V8SI_QI): Ditto. + (V8HI_FTYPE_PCV8HI_V8HI_QI): Ditto. + (V4DF_FTYPE_PCV4DF_V4DF_QI): Ditto. + (V4SF_FTYPE_PCV4SF_V4SF_QI): Ditto. + (V4DI_FTYPE_PCV4DI_V4DI_QI): Ditto. + (V4SI_FTYPE_PCV4SI_V4SI_QI): Ditto. + (V2DF_FTYPE_PCV2DF_V2DF_QI): Ditto. + (V2DI_FTYPE_PCV2DI_V2DI_QI): Ditto. + (V16HI_FTYPE_V16SI_V16HI_HI): Ditto. + (V8SI_FTYPE_V8DI_V8SI_QI): Ditto. + (V8HI_FTYPE_V8DI_V8HI_QI): Ditto. + (V16QI_FTYPE_V8HI_V16QI_QI): Ditto. + (V16QI_FTYPE_V16HI_V16QI_HI): Ditto. + (V16QI_FTYPE_V4SI_V16QI_QI): Ditto. + (V16QI_FTYPE_V8SI_V16QI_QI): Ditto. + (V8HI_FTYPE_V4SI_V8HI_QI): Ditto. + (V8HI_FTYPE_V8SI_V8HI_QI): Ditto. + (V16QI_FTYPE_V2DI_V16QI_QI): Ditto. + (V16QI_FTYPE_V4DI_V16QI_QI): Ditto. + (V8HI_FTYPE_V2DI_V8HI_QI): Ditto. + (V8HI_FTYPE_V4DI_V8HI_QI): Ditto. + (V4SI_FTYPE_V2DI_V4SI_QI): Ditto. + (V4SI_FTYPE_V4DI_V4SI_QI): Ditto. + (V32QI_FTYPE_V32HI_V32QI_SI): Ditto. + (V2DF_FTYPE_V2DF_INT_V2DF_QI): Ditto. + (V4DF_FTYPE_V4DF_INT_V4DF_QI): Ditto. + (V4SF_FTYPE_V4SF_INT_V4SF_QI): Ditto. + (V8SF_FTYPE_V8SF_INT_V8SF_QI): Ditto. + (V4DF_FTYPE_V4DF_V4DF_INT_V4DF_QI): Ditto. + (V2DF_FTYPE_V2DF_V2DF_INT_V2DF_QI): Ditto. + (V8SF_FTYPE_V8SF_V8SF_INT_V8SF_QI): Ditto. + (V4SF_FTYPE_V4SF_V4SF_INT_V4SF_QI): Ditto. + (VOID_FTYPE_PV8DF_V8DF_QI): Ditto. + (VOID_FTYPE_PV8SI_V8DI_QI): Ditto. + (VOID_FTYPE_PV8HI_V8DI_QI): Ditto. + (VOID_FTYPE_PV8HI_V4DI_QI): Ditto. + (VOID_FTYPE_PV8HI_V2DI_QI): Ditto. + (VOID_FTYPE_PV4SI_V4DI_QI): Ditto. + (VOID_FTYPE_PV4SI_V2DI_QI): Ditto. + (VOID_FTYPE_PV8HI_V8SI_QI): Ditto. + (VOID_FTYPE_PV8HI_V4SI_QI): Ditto. + (VOID_FTYPE_PV4DF_V4DF_QI): Ditto. + (VOID_FTYPE_PV2DF_V2DF_QI): Ditto. + (VOID_FTYPE_PV16SF_V16SF_HI): Ditto. + (VOID_FTYPE_PV8SF_V8SF_QI): Ditto. + (VOID_FTYPE_PV4SF_V4SF_QI): Ditto. + (VOID_FTYPE_PV8DI_V8DI_QI): Ditto. + (VOID_FTYPE_PV4DI_V4DI_QI): Ditto. + (VOID_FTYPE_PV2DI_V2DI_QI): Ditto. + (VOID_FTYPE_PV16SI_V16SI_HI): Ditto. + (VOID_FTYPE_PV16HI_V16SI_HI): Ditto. + (VOID_FTYPE_PV16QI_V16SI_HI): Ditto. + (VOID_FTYPE_PV16QI_V8SI_QI): Ditto. + (VOID_FTYPE_PV16QI_V4SI_QI): Ditto. + (VOID_FTYPE_PV16QI_V8DI_QI): Ditto. + (VOID_FTYPE_PV16QI_V4DI_QI): Ditto. + (VOID_FTYPE_PV16QI_V2DI_QI): Ditto. + (VOID_FTYPE_PV8SI_V8SI_QI): Ditto. + (VOID_FTYPE_PV4SI_V4SI_QI): Ditto. + (VOID_FTYPE_PV32HI_V32HI_SI): Ditto. + (VOID_FTYPE_PV16HI_V16HI_HI): Ditto. + (VOID_FTYPE_PV8HI_V8HI_QI): Ditto. + (VOID_FTYPE_PV64QI_V64QI_DI): Ditto. + (VOID_FTYPE_PV32QI_V32QI_SI): Ditto. + (VOID_FTYPE_PV16QI_V16QI_HI): Ditto. + (V8DI_FTYPE_V8DI_V8DI_V8DI_INT_QI): Ditto. + (V8SI_FTYPE_V8SF_V8SI_QI): Ditto. + (V4SI_FTYPE_V4SF_V4SI_QI): Ditto. + (V4DI_FTYPE_V4SF_V4DI_QI): Ditto. + (V2DI_FTYPE_V4SF_V2DI_QI): Ditto. + (V4SF_FTYPE_V4DI_V4SF_QI): Ditto. + (V4SF_FTYPE_V2DI_V4SF_QI): Ditto. + (V4DF_FTYPE_V4DI_V4DF_QI): Ditto. + (V2DF_FTYPE_V2DI_V2DF_QI): Ditto. + (V32HI_FTYPE_V32HI_INT_V32HI_SI): Ditto. + (V32HI_FTYPE_V32HI_V8HI_V32HI_SI): Ditto. + (V16HI_FTYPE_V16HI_INT_V16HI_HI): Ditto. + (V16HI_FTYPE_V16HI_V8HI_V16HI_HI): Ditto. + (V8HI_FTYPE_V8HI_INT_V8HI_QI): Ditto. + (V32HI_FTYPE_V64QI_V64QI_INT_V32HI_SI): Ditto. + (V16HI_FTYPE_V32QI_V32QI_INT_V16HI_HI): Ditto. + (V8HI_FTYPE_V16QI_V16QI_INT_V8HI_QI): Ditto. + (V64QI_FTYPE_V32HI_V32HI_V64QI_DI): Ditto. + (V32QI_FTYPE_V16HI_V16HI_V32QI_SI): Ditto. + (V16QI_FTYPE_V8HI_V8HI_V16QI_HI): Ditto. + (V32HI_FTYPE_V16SI_V16SI_V32HI_SI): Ditto. + (V16HI_FTYPE_V8SI_V8SI_V16HI_HI): Ditto. + (V8HI_FTYPE_V4SI_V4SI_V8HI_QI): Ditto. + (V8DI_FTYPE_V16SI_V16SI_V8DI_QI): Ditto. + (V4DI_FTYPE_V8SI_V8SI_V4DI_QI): Ditto. + (V2DI_FTYPE_V4SI_V4SI_V2DI_QI): Ditto. + (V16SI_FTYPE_V16SI_V16SI_V16SI_INT_HI): Ditto. + (V8SI_FTYPE_V8SI_V8SI_V8SI_INT_QI): Ditto. + (V4DI_FTYPE_V4DI_V4DI_V4DI_INT_QI): Ditto. + (V4SI_FTYPE_V4SI_V4SI_V4SI_INT_QI): Ditto. + (V2DI_FTYPE_V2DI_V2DI_V2DI_INT_QI): Ditto. + (V8SI_FTYPE_V8SI_V4SI_V8SI_QI): Ditto. + (V4DI_FTYPE_V4DI_V2DI_V4DI_QI): Ditto. + (QI_FTYPE_V4DF_V4DF_INT_QI): Ditto. + (QI_FTYPE_V8SF_V8SF_INT_QI): Ditto. + (QI_FTYPE_V8DF_INT_QI): Ditto. + (QI_FTYPE_V4DF_INT_QI): Ditto. + (QI_FTYPE_V2DF_INT_QI): Ditto. + (HI_FTYPE_V16SF_INT_HI): Ditto. + (QI_FTYPE_V8SF_INT_QI): Ditto. + (QI_FTYPE_V4SF_INT_QI): Ditto. + (V8DF_FTYPE_V8DF_V8DF_V8DF_QI_INT): Ditto. + +2015-07-31 Richard Biener + + * gimple-fold.c (fold_gimple_assign): Remove folding of + GIMPLE_BINARY_RHS. + +2015-07-31 Tom de Vries + + PR tree-optimization/66846 + * omp-low.c (expand_omp_taskreg) [ENABLE_CHECKING]: Call + verify_loop_structure for child_cfun if !LOOPS_NEED_FIXUP. + (expand_omp_target) [ENABLE_CHECKING]: Same. + (execute_expand_omp) [ENABLE_CHECKING]: Call verify_loop_structure for + cfun if !LOOPS_NEED_FIXUP. + (expand_omp_for_static_nochunk): Handle simple latch bb. Handle case + that omp_for already has its own loop struct. + * tree-parloops.c (create_phi_for_local_result) + (create_call_for_reduction): Handle simple latch bb. + (create_parallel_loop): Add simple latch bb to preserve + LOOPS_HAVE_SIMPLE_LATCHES. Record new exit. Handle simple latch bb. + (gen_parallel_loop): Remove call to cancel_loop_tree. + (parallelize_loops): Skip loops that are inner loops of parallelized + loops. + (pass_parallelize_loops::execute) [ENABLE_CHECKING]: Call + verify_loop_structure. + +2015-07-30 Anatoly Sokolov + + * config/v850/v850.h (LIBCALL_VALUE): Remove macros. + * config/v850/v850.md (RV_REGNUM): New constants. + * config/v850/v850.c (v850_libcall_value): New functions. + (v850_function_value_regno_p, v850_function_value): Use RV_REGNUM. + (TARGET_LIBCALL_VALUE): Define. + +2015-07-30 Anatoly Sokolov + + * rtl.h (lowpart_subreg): Move in file. + * loop-iv.c (lowpart_subreg): Move to... + * simplify-rtx.c (lowpart_subreg): ...here. + (simplify_binary_operation_1): Use lowpart_subreg instead of + simplify_gen_subreg. + * expr.c (expand_expr_real_2): Ditto. + * emit-rtl.c (gen_lowpart_common): Ditto. + * combine.c (gen_lowpart_for_combine): Ditto. + * cfgexpand.c (convert_debug_memory_address, expand_debug_expr, + expand_debug_source_expr): Ditto. + +2015-07-30 Richard Sandiford + + * builtins.c (HAVE_atomic_clear, gen_atomic_clear): Delete. + (expand_builtin_atomic_clear): Remove support for atomic_clear + pattern. + +2015-07-30 Richard Biener + + * gimple-fold.c (fold_gimple_assign): Only fold !tcc_comparison + binaries. Move X == 0, X == 1, X != 0, and X != 1 canonicalization ... + (fold_stmt_1): ... here and work on GIMPLE directly. Remove + redundant operand canonicalization. + +2015-07-30 David Sherwood + + * config/aarch64/aarch64-simd.md (aarch64_ext): Replace call to + GET_MODE_SIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_SIZE (m). + * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Likewise. + * config/arm/arm.c (neon_valid_immediate): Likewise. + * config/i386/i386.c (classify_argument, ix86_expand_int_vcond) + (expand_vec_perm_blend, expand_vec_perm_pshufb): Likewise. + (expand_vec_perm_pshufb2, expand_vec_perm_vpshufb2_vpermq): Likewise. + (expand_vec_perm_vpshufb2_vpermq): Likewise. + (expand_vec_perm_vpshufb2_vpermq_even_odd): Likewise. + (expand_vec_perm_vpshufb4_vpermq2): Likewise. + * config/i386/sse.md + (_vinsert_mask): Likewise. + (*ssse3_palignr_perm): Likewise. + * config/rs6000/rs6000.c (rs6000_complex_function_value): Likewise. + * config/spu/spu.c (arith_immediate_p): Likewise. + * simplify-rtx.c (simplify_const_unary_operation): Likewise. + (simplify_binary_operation_1, simplify_ternary_operation): Likewise. + +2015-07-30 Richard Biener + + * genmatch.c (decision_tree::gen_gimple): Merge with ... + (decision_tree::gen_generic): ... this into ... + (decision_tree::gen): ... this. + (main): Adjust callers. + +2015-07-30 Richard Biener + + * genmatch.c (verbose): New global. + (warning_at): Add overload with source_location. + (capture_info::capture_info): Add bool whether generating gimple + or generic. Add gimple member. + (capture_info::cinfo): Add capture member. + (capture_info::walk_match): Record capture. Warn on + non-captured leafs. + (capture_info::walk_c_expr): Add more fragments captures cannot + escape through. Warn on escaped captures. + (dt_simplify::gen_1): Warn on operands we force to have no + side-effects. + (main): Initialize verbose. + * match.pd: Add integer_nonzerop and HONOR_NANS predicates. + +2015-07-30 Richard Biener + + PR middle-end/67053 + * match.pd: Allow both operands to independently have conversion + when simplifying compares of addresses. + +2015-07-29 Segher Boessenkool + + PR target/66217 + PR target/67045 + * config/rs6000/rs6000.md (and3): Put a CONST_INT_P check + around those cases that need one. + +2015-07-29 Aditya Kumar + + * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Default to 3. + +2015-07-29 H.J. Lu + + * config/i386/iamcu.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE): + New. Copied from config/i386/gnu-user.h. + (ASM_COMMENT_START): Likewise. + (DBX_REGISTER_NUMBER): Likewise. + +2015-07-29 Richard Biener + + * gimple-fold.c (fold_gimple_cond): Remove. + (fold_stmt_1): Do not call it. + +2015-07-29 Alan Lawrence + + * config/aarch64/aarch64-builtins.c (aarch64_fp16_type_node): New. + (aarch64_init_builtins): Make aarch64_fp16_type_node, use for __fp16. + + * config/aarch64/aarch64-modes.def: Add HFmode. + + * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define + __ARM_FP16_FORMAT_IEEE and __ARM_FP16_ARGS. Set bit 1 of __ARM_FP. + + * config/aarch64/aarch64.c (aarch64_init_libfuncs, + aarch64_promoted_type): New. + + (aarch64_float_const_representable_p): Disable HFmode. + (aarch64_mangle_type): Mangle half-precision floats to "Dh". + (TARGET_PROMOTED_TYPE): Define to aarch64_promoted_type. + (TARGET_INIT_LIBFUNCS): Define to aarch64_init_libfuncs. + + * config/aarch64/aarch64.md (mov): Include HFmode using GPF_F16. + (movhf_aarch64, extendhfsf2, extendhfdf2, truncsfhf2, truncdfhf2): New. + + * config/aarch64/iterators.md (GPF_F16): New. + +2015-07-29 Richard Biener + + * match.pd: Merge address comparison patterns and make them + handle some more cases. + +2015-07-29 Richard Biener + + * genmatch.c (c_expr::gen_transform): Error on unknown captures. + (parser::parse_capture): Add bool argument on whether to reject + unknown captures. + (parser::parse_expr): Adjust. + (parser::parse_op): Likewise. + (parser::parse_pattern): Likewise. + +2015-07-29 Richard Biener + + * gimple-fold.c (has_use_on_stmt): New function. + (replace_stmt_with_simplification): Use it to allow + abnormals originally referenced in the stmt. + (fold_stmt_1): Canonicalize operand order. + +2015-07-28 David Sherwood + + * config/arm/arm.c (neon_element_bits, neon_valid_immediate): Call + GET_MODE_INNER unconditionally. + * config/spu/spu.c (arith_immediate_p): Likewise. + * config/i386/i386.c (ix86_build_signbit_mask): Likewise. + * expmed.c (synth_mult): Remove check for VOIDmode result from + GET_MODE_INNER. + (expand_mult_const): Likewise. + * fold-const.c (fold_binary_loc): Replace call to element_precision + with call to GET_MODE_PRECISION. + * genmodes.c (emit_mode_inner_inline): Replace void_mode->name with + m->name. + (emit_mode_inner): Likewise. + * lto-streamer-out.c (lto_write_mode_table): Update GET_MODE_INNER + result check. + * machmode.h (GET_MODE_UNIT_SIZE): Simplify. + (GET_MODE_UNIT_PRECISION): Likewise. + * rtlanal.c (subreg_get_info): Call GET_MODE_INNER unconditionally. + * simplify-rtx.c (simplify_immed_subreg): Likewise. + * stor-layout.c (bitwise_type_for_mode): Update assert. + (element_precision): Remove. + +2015-07-28 Richard Sandiford + + * target-insns.def (reload_load_address): New targetm instruction + pattern. + * reload1.c (gen_reload): Use it instead of HAVE_*/gen_* interface. + +2015-07-28 Richard Sandiford + + * target-insns.def (atomic_test_and_set): New targetm instruction + pattern. + * optabs.c (maybe_emit_atomic_test_and_set): Use it instead of + HAVE_*/gen_* interface. + +2015-07-28 Richard Sandiford + + * target-insns.def (can_extend, ptr_extend): New targetm instruction + patterns. + * optabs.c (can_extend_p): Use them instead of HAVE_*/gen_* interface. + * simplify-rtx.c (simplify_unary_operation_1): Likewise. + * emit-rtl.c (set_reg_attrs_from_value): Likewise. + * rtlanal.c (nonzero_bits1): Likewise. + (num_sign_bit_copies1): Likewise. + +2015-07-28 Richard Sandiford + + * target-insns.def (eh_return): New targetm instruction pattern. + * except.c (expand_eh_return): Use it instead of HAVE_*/gen_* + interface. + * function.c (thread_prologue_and_epilogue_insns): Remove + preprocessor condition. + +2015-07-28 Richard Sandiford + + * target-insns.def (indirect_jump): New targetm instruction pattern. + * optabs.c (emit_indirect_jump): Use it instead of HAVE_*/gen_* + interface. + +2015-07-28 Richard Sandiford + + * config/fr30/fr30.md (indirect_jump): Use pmode_register_operand + instead of nonimmediate_operand. Remove C condiition. + +2015-07-28 Richard Biener + + * match.pd: Add more simplification of address comparisons. + +2015-07-28 Richard Biener + + * match.pd: Re-order two cases in comparison with max/min + value simplification to make it apply for bools. + +2015-07-28 Kyrylo Tkachov + + * config/aarch64/aarch64.c (aarch64_rtx_arith_op_extract_p): + Handle simple SIGN_EXTEND or ZERO_EXTEND. + (aarch64_rtx_costs): Properly strip extend or extract before + passing down to rtx costs again. + +2015-07-28 Nick Clifton + + * config/rl78/rl78.c (rl78_addsi3_internal): New function. + Optimizes the case where -mes0 is active and a constant symbolic + address is used. + * config/rl78/rl78-protos.h: Prototype the new function. + * config/rl78/rl78.md (addsi3_internal_real): Call new function. + +2015-07-28 Tom de Vries + + * tree-parloops.c (reduc_stmt_res): New function. + (initialize_reductions, add_field_for_reduction) + (create_phi_for_local_result, create_loads_for_reductions) + (create_stores_for_reduction, build_new_reduction): Handle case that + reduc_stmt is a phi. + (gather_scalar_reductions): Allow double_reduc reductions. + +2015-07-28 Richard Biener + + * fold-const.c (fold_comparison): Remove equality folding + of decl addresses ... + * match.pd: ... here and merge with existing pattern. + +2015-07-28 Thomas Preud'homme + + PR tree-optimization/66828 + * tree-ssa-math-opts.c (perform_symbolic_merge): Change type of inc + from int64_t to uint64_t. + +2015-07-28 Dominik Vogt + + * opts-common.c (read_cmdline_option): List DriverOnly enum values + as valid only in the error message of the driver, not in the + messages of the language compilers. + +2015-07-27 Tom de Vries + + * tree-parloops.c (gather_scalar_reductions): Simplify function + structure. + +2015-07-27 Marek Polacek + + * ipa-devirt.c (types_same_for_odr): Fix typo. + +2015-07-27 Jason Merrill + + PR debug/66468 + * dwarf2out.c (gen_inlined_subroutine_die): Check + cgraph_function_possibly_inlined_p. + +2015-07-27 Wilco Dijkstra + + * config/aarch64/aarch64.md (aarch64_lshr_sisd_or_int_3): + Place integer variant first. + (aarch64_ashr_sisd_or_int_3): Likewise. + +2015-07-27 Alan Lawrence + + PR/63870 + * config/arm/arm-builtins.c (enum arm_builtins): + Add ARM_BUILTIN_NEON_BASE and ARM_BUILTIN_NEON_LANE_CHECK. + (ARM_BUILTIN_NEON_BASE): Rename macro to.... + (ARM_BUILTIN_NEON_PATTERN_START): ...this. + (arm_init_neon_builtins): Register __builtin_arm_lane_check. + (arm_expand_neon_builtin): Handle ARM_BUILTIN_NEON_LANE_CHECK. + +2015-07-27 Alan Lawrence + + PR/63870 + * config/arm/arm-builtins.c (enum arm_type_qualifiers): + Add qualifier_lane_index. + (arm_binop_imm_qualifiers, BINOP_IMM_QUALIFIERS): New. + (arm_getlane_qualifiers): Use qualifier_lane_index. + (arm_lanemac_qualifiers): Rename to... + (arm_mac_n_qualifiers): ...this. + (LANEMAC_QUALIFIERS): Rename to... + (MAC_N_QUALIFIERS): ...this. + (arm_mac_lane_qualifiers, MAC_LANE_QUALIFIERS): New. + (arm_setlane_qualifiers): Use qualifier_lane_index. + (arm_ternop_imm_qualifiers, TERNOP_IMM_QUALIFIERS): New. + (enum builtin_arg): Add NEON_ARG_LANE_INDEX. + (arm_expand_neon_args): Handle NEON_ARG_LANE_INDEX. + (arm_expand_neon_builtin): Handle qualifier_lane_index. + + * config/arm/arm-protos.h (neon_lane_bounds): Add const_tree parameter. + * config/arm/arm.c (bounds_check): Likewise, improve error message. + (neon_lane_bounds, neon_const_bounds): Add arguments to bounds_check. + * config/arm/arm_neon_builtins.def (vshrs_n, vshru_n, vrshrs_n, + vrshru_n, vshrn_n, vrshrn_n, vqshrns_n, vqshrnu_n, vqrshrns_n, + vqrshrnu_n, vqshrun_n, vqrshrun_n, vshl_n, vqshl_s_n, vqshl_u_n, + vqshlu_n, vshlls_n, vshllu_n): Change qualifiers to BINOP_IMM. + (vsras_n, vsrau_n, vrsras_n, vrsrau_n, vsri_n, vsli_n): Change + qualifiers to TERNOP_IMM. + (vdup_lane): Change qualifiers to GETLANE. + (vmla_lane, vmlals_lane, vmlalu_lane, vqdmlal_lane, vmls_lane, + vmlsls_lane, vmlslu_lane, vqdmlsl_lane): Change qualifiers to MAC_LANE. + (vmla_n, vmlals_n, vmlalu_n, vqdmlal_n, vmls_n, vmlsls_n, vmlslu_n, + vqdmlsl_n): Change qualifiers to MAC_N. + + * config/arm/neon.md (neon_vget_lane, neon_vget_laneu, + neon_vget_lanedi, neon_vget_lanev2di, neon_vset_lane, + neon_vset_lanedi, neon_vdup_lane, neon_vdup_lanedi, + neon_vdup_lanev2di, neon_vmul_lane, neon_vmul_lane, + neon_vmull_lane, neon_vqdmull_lane, + neon_vqdmulh_lane, neon_vqdmulh_lane, + neon_vmla_lane, neon_vmla_lane, neon_vmlal_lane, + neon_vqdmlal_lane, neon_vmls_lane, neon_vmls_lane, + neon_vmlsl_lane, neon_vqdmlsl_lane): + Remove call to neon_lane_bounds. + +2015-07-27 Wilco Dijkstra + + * config/aarch64/aarch64.md (aarch64_ashl_sisd_or_int_3): + Place integer variant first. + +2015-07-27 Matthew Wahab + + * config/arm/arm-arches.def: Add "armv6kz". Replace 6ZK with 6KZ + and FL_FOR_ARCH6ZK with FL_FOR_ARCH6KZ. + * config/arm/arm-c.c (arm_cpu_builtins): Emit "__ARM_ARCH_6ZK__" + for armv6kz targets. + * config/arm/arm-cores.def: Replace 6ZK with 6KZ. + * config/arm/arm-protos.h (FL_ARCH6KZ): New. + (FL_FOR_ARCH6ZK): Remove. + (FL_FOR_ARCH6KZ): New. + (arm_arch6zk): New declaration. + * config/arm/arm-tables.opt: Regenerate. + * config/arm/arm.c (arm_arch6kz): New. + (arm_option_override): Set arm_arch6kz. + * config/arm/arm.h (BASE_ARCH_6ZK): Rename to BASE_ARCH_6KZ. + * config/arm/driver-arm.c: Add comment to "armv6zk" entry. + * doc/invoke.texi: Replace "armv6zk" with "armv6kz". + +2015-07-27 Marek Polacek + + PR c++/66555 + PR c/54979 + * doc/invoke.texi: Document -Wtautological-compare. + +2015-07-27 Richard Biener + + * genmatch.c (decision_tree::gen_gimple): Split out large + subtrees into separate functions. + (decision_tree::gen_generic): Likewise. + +2015-07-26 Uros Bizjak + + * config/alpha/alpha.c: Use SUBREG_P predicate. + * config/alpha/predicates.md: Ditto. + +2015-07-25 Dominik Vogt + + * config.host (s390*-*-*): Include driver-native.c only when + building with s390* as host *and* target. + +2015-07-25 Oleg Endo + + PR target/66930 + * config/sh/sh.c (sh_split_movrt_negc_to_movt_xor): Add missing + T bit register modified_between_p check. + +2015-07-25 Uros Bizjak + + * config/i386/i386.c: Use SUBREG_P predicate. + * config/i386/i386.md: Ditto. + * config/i386/sse.md: Ditto. + * config/i386/predicates.md: Ditto. + +2015-07-25 Uros Bizjak + + PR target/67004 + * config/i386/i386.h (ADJUST_INSN_LENGTH): Use NONDEBUG_INSN_P (INSN) + predicate and INSN_CODE (INSN) >= 0 to check for valid instruction. + +2015-07-25 Sebastian Pop + + * Makefile.in: Remove use of TREEBROWSER. + * config.in: Regenerated. + * configure: Regenerated. + * configure.ac: Remove definition of TREEBROWSER. + * tree-browser.c: Removed. + * tree-browser.def: Removed. + +2015-07-25 Sebastian Pop + + * graphite-scop-detection.c: Include gimple-pretty-print.h. + (stmt_simple_for_scop_p): Print when a stmt is not handled in + Graphite. + (scopdet_basic_block_info): Print when a loop or bb cannot be + represented in Graphite. + +2015-07-25 Uros Bizjak + + PR target/66648 + * config/i386/i386.c (ix86_expand_set_or_movmem): Emit main loop + execution guard when min_size is less than size_needed. + +2015-07-25 Sebastian Pop + + * doc/install.texi: Document supported versions of ISL. + +2015-07-25 Jeff Law + + Revert: + PR lto/66752 + * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are + unable to find X NE 0 in the tables, return X as the simplified + condition. + (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are + in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH + to VISISTED_BBS. */ + * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags + after removing the control flow statement and unnecessary edges. + +2015-07-25 David Edelsohn + + Revert: + 2015-07-23 Alexandre Oliva + + PR rtl-optimization/64164 + * Makefile.in (OBJS): Drop tree-ssa-copyrename.o. + * tree-ssa-copyrename.c: Removed. + * opts.c (default_options_table): Drop -ftree-copyrename. Add + -ftree-coalesce-vars. + * passes.def: Drop all occurrences of pass_rename_ssa_copies. + * common.opt (ftree-copyrename): Ignore. + (ftree-coalesce-inlined-vars): Likewise. + * doc/invoke.texi: Remove the ignored options above. + * gimple-expr.h (gimple_can_coalesce_p): Move declaration + * tree-ssa-coalesce.h: ... here. + * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other + headers required by it. + * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing + across variables when flag_tree_coalesce_vars. Check register + use and promoted modes to allow coalescing. Moved to + tree-ssa-coalesce.c. + * tree-ssa-live.c (struct tree_int_map_hasher): Move along + with its member functions to tree-ssa-coalesce.c. + (var_map_base_init): Likewise. Renamed to + compute_samebase_partition_bases. + (partition_view_normal): Drop want_bases parameter. + (partition_view_bitmap): Likewise. + * tree-ssa-live.h: Adjust declarations. + * tree-ssa-coalesce.c: Include explow.h. + (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's + default defs at the entry point. + (dump_part_var_map): New. + (compute_optimized_partition_bases): New, called by... + (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead + of compute_samebase_partition_bases. Adjust. + * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs. + * cfgexpand.c (leader_merge): New. + (get_rtl_for_parm_ssa_default_def): New. + (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA + vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too. + (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop + redundant MEM attr setting. + (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed + from... + (expand_one_stack_var): ... this. New wrapper to check and + skip already expanded SSA partitions. + (record_alignment_for_reg_var): New, factored out of... + (expand_one_var): ... this. + (expand_one_ssa_partition): New. + (adjust_one_expanded_partition_var): New. + (expand_one_register_var): Check and skip already expanded SSA + partitions. + (expand_used_vars): Don't create DECLs for anonymous SSA + names. Expand all SSA partitions, then adjust all SSA names. + (pass::execute): Replace the loops that set + SA.partition_to_pseudo from partition leaders and cleared + DECL_RTL for multi-location variables, and that which used to + rename vars and set attrs, with one that clears DECL_RTL and + checks that PARMs and RESULTs default_defs match DECL_RTL. + * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare. + * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl. + * explow.c (promote_ssa_mode): New. + * explow.h (promote_ssa_mode): Declare. + * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs. + * function.c: Include cfgexpand.h. + (use_register_for_decl): Handle SSA_NAMEs, anonymous or not. + (use_register_for_parm_decl): Wrapper for the above to + special-case the result_ptr. + (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def. + (split_complex_args): Take assign_parm_data_all argument. + Pass it to rtl_for_parm. Set up rtl and context for split + args. + (assign_parms_augmented_arg_list): Adjust. + (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with + multiple locations. Recognize split complex args. + (assign_parm_adjust_stack_rtl): Add all and parm arguments, + for rtl_for_parm. For SSA-assigned parms, zero stack_parm. + (assign_parm_setup_block): Prefer SSA-assigned location. + (assign_parm_setup_reg): Likewise. Use entry_parm for equiv + if stack_parm is NULL. + (assign_parm_setup_stack): Prefer SSA-assigned location. + (assign_parms): Maybe reset DECL_RTL of params. Adjust stack + rtl before testing for pointer bounds. Special-case result_ptr. + (expand_function_start): Maybe reset DECL_RTL of result. + Prefer SSA-assigned location for result and static chain. + Factor out DECL_RESULT and SET_DECL_RTL. + * tree-outof-ssa.c (insert_value_copy_on_edge): Handle + anonymous SSA names. Use promote_ssa_mode. + (get_temp_reg): Likewise. + (remove_ssa_form): Adjust. + * stor-layout.c (layout_decl): Don't set mem attributes of + non-MEMs. + * var-tracking.c (dataflow_set_clear_at_call): Take call_insn + and get its reg_usage for reg invalidation. + (compute_bb_dataflow): Pass it insn. + (emit_notes_in_bb): Likewise. + +2015-07-25 Uros Bizjak + + * config/i386/i386.c (ix86_va_start): Remove + unneeded !TARGET_64BIT check. + (ix86_gimplify_va_arg): Ditto. + +2015-07-24 Tom de Vries + + * graphite-sese-to-poly.c (build_poly_scop): Always call + rewrite_commutative_reductions_out_of_ssa. + +2015-07-24 Tom de Vries + + * graphite-sese-to-poly.c (is_reduction_operation_p): Limit + flag_associative_math to FLOAT_TYPE_P. Honour + TYPE_OVERFLOW_WRAPS for INTEGRAL_TYPE_P. Don't allow any other types. + +2015-07-24 Manuel López-Ibáñez + + PR c++/64079 + * toplev.c (check_global_declaration): Use DECL_SOURCE_LOCATION + and "%qD" in warning_at instead of "%q+D" in warning. + +2015-07-24 Uros Bizjak + + * config/i386/i386.c (ix86_call_abi_override): Call ix86_function_abi. + (ix86_function_abi): Cleanup. + +2015-07-24 Michael Darling + + PR other/66259 + * acinclude.m4: Reflects renaming of configure.in to configure.ac + * configure: Likewise + * configure.ac: Likewise + * doc/install.texi: Likewise + * doc/tm.texi: Likewise + * doc/tm.texi.in: Likewise + +2015-07-24 Kyrylo Tkachov + + * alias.c (nonoverlapping_memrefs_p): Use std::swap instead of + manually swapping values. + * cse.c (fold_rtx): Likewise. + * lra-eliminations.c (form_sum): Likewise. + +2015-07-24 Uros Bizjak + + PR target/64003 + * config/i386/i386.h (ADJUST_INSN_LENGTH): New define. + * config/i386/i386.md (maybe_prefix_bnd): New attribute. + (*jcc_1, *jcc_2, jump, simple_return_internal) + (simple_return_pop_internal): Set attribute maybe_prefix_bnd. + Set length_nobnd attribute instead of length attribute. + (indirect_jump, *tablejump_1): Set attribute maybe_prefix_bnd. + (length_nobnd): Remove attribute. + (length): Remove length_nobnd processing. + +2015-07-24 Nathan Sidwell + + * gimplify.c (omp_default_clause): New function. Reorganize flow + for clarity. Broken out of ... + (omp_notice_variable): ... here. + +2015-07-24 Gary Funck + + PR middle-end/66984 + * fold-const.c (fold_binary_loc): Call fold_convert on arguments to + fold_build2 for CEIL_DIV_EXPR and FLOOR_DIV_EXPR optimization. + +2015-07-24 Tom de Vries + + * tree-parloops.c (gen_parallel_loop): Add debug print for alternative + exit-first loop transform. + +2015-07-24 Cesar Philippidis + + PR 66714 + * tree-cfg.c (struct replace_decls_d): New struct. + (replace_block_vars_by_duplicates_1): New function. + (replace_block_vars_by_duplicates): Use it to replace the decls + in the value exprs by duplicates. + +2015-07-24 Szabolcs Nagy + + * config/aarch64/aarch64-elf-raw.h (LINK_SPEC): Handle -h, -static, + -shared, -symbolic, -rdynamic. + +2015-07-24 Szabolcs Nagy + + PR target/65711 + * config/aarch64/aarch64-linux.h (LINUX_TARGET_LINK_SPEC): Move + -dynamic-linker within %{!static %{!shared, and -rdynamic within + %{!static. + +2015-07-24 Ilya Enkovich + + PR ipa/66566 + * ipa-inline-analysis.c (estimate_calls_size_and_time): Check + edge summary is available. + +2015-07-24 Richard Biener + + * genmatch.c (struct dt_node): Add statistic fields. + (dt_node::analyze): New method. + (decision_tree::gen_gimple): Call analyze on the root node + and print statistics to stderr. + (decision_tree::gen_generic): Likewise. + +2015-07-24 Richard Biener + + * fold-const.c (fold_binary_loc): Move simplifying of comparisons + against the highest or lowest possible integer ... + * match.pd: ... as patterns here. + +2015-07-24 Richard Biener + + * genmatch.c (struct capture_info): Add same_as field. + (capture_info::capture_info): Initialize same_as. + (capture_info::walk_match): Compute same_as. + (capture_info::walk_result): Compute stuff for the leader. + (capture_info::walk_c_expr): Likewise. + (dt_simplify::gen_1): Only look at leaders when deciding + to force no side-effects or emit side-effects of omitted operands. + +2015-07-24 Andreas Krebbel + + * config/s390/s390.c (s390_save_gprs_to_fprs): Add CFA_REGISTER + reg note to the GPR -> FPR save instructions. + +2015-07-24 Andreas Krebbel + + * config/s390/s390.c (s390_rtx_costs): Make risbg patterns + cheaper. + (s390_expand_insv): Don't generate risbg pattern for constant zero + sources. + * config/s390/s390.md ("*insv_zEC12_appendbitsleft") + ("*insv_z10_appendbitsleft"): New pattern definitions. New + splitters. + +2015-07-24 Dominik Vogt + + * config/s390/s390.c (s390_reorg): Clean up handling of processors + with + -mtune= + (s390_issue_rate): Likewise. + (s390_sched_reorder): Likewise. + (s390_sched_variable_issue): Likewise. + (s390_loop_unroll_adjust): Likewise. + (s390_option_override): Likewise. + +2015-07-24 Dominik Vogt + + * config/s390/driver-native.c (s390_host_detect_local_cpu): Handle + processor capabilities with -march=native. + * config/s390/s390.h (MARCH_MTUNE_NATIVE_SPECS): Likewise. + (DRIVER_SELF_SPECS): Likewise. Join specs for 31 and 64 bit. + (S390_TARGET_BITS_STRING): Macro to simplify specs. + +2015-07-24 Dominik Vogt + + * config/s390/s390.c (s390_issue_rate): Handle + PROCESSOR_2094_Z9_EC. + (s390_option_override): Likewise. + (s390_adjust_priority): Likewise. + +2015-07-24 Dominik Vogt + + * config/s390/s390.h: S390: Do not define EXTRA_SPEC_FUNCTIONS + when cross compiling. + +2015-07-24 Richard Biener + + * fold-const.c (maybe_canonicalize_comparison_1): Move + A code CST canonicalization ... + * match.pd: ... to a pattern here. + +2015-07-24 Jiong Wang + + Revert: + 2015-07-22 Jiong Wang + PR target/63521 + * config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define. + (HONOR_REG_ALLOC_ORDER): Define. + +2015-07-24 Richard Biener + + * genmatch.c (add_operator): Allow SSA_NAME as predicate. + * fold-const.c (fold_comparison): Move parameter does not + alias &local simplification ... + * match.pd: ... as a pattern here. + +2015-07-24 Richard Biener + + * gimple-fold.c (replace_stmt_with_simplification): Special-case + valueizing call operands. + * gimple-match-head.c (maybe_push_res_to_seq): Take + number of call arguments from ops array. + (do_valueize): New function. + (gimple_simplify): Return true if valueization changed + any operand even if the result didn't simplify further. + +2015-07-24 Naveen H.S + + PR middle-end/25530 + * match.pd (mult (trunc_div @0 integer_pow2p@1) @1) : New simplifier. + +2015-07-24 Naveen H.S + + PR middle-end/25529 + * match.pd (trunc_div (mult @0 integer_pow2p@1) @1) : New simplifier. + +2015-07-23 Kugan Vivekanandarajah + + * config/arm/arm.c (arm_emit_movpair): Add REG_EQUAL notes to + instruction. + +2015-07-23 Kugan Vivekanandarajah + + * cse.c (cse_insn): Fix missing check for STRICT_LOW_PART and minor + clean up. + +2015-07-23 Uros Bizjak + + * config/i386/i386.c (ix86_build_builtin_va_list_64): Rename + from ix86_build_builtin_va_list_abi. Handle only 64bit non-MS_ABI + targets here. + (ix86_build_builtin_va_list): Rewrite sysv_va_list_type_node and + ms_va_list_type_node initialization. + +2015-07-23 Jeff Law + + PR lto/66752 + * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are + unable to find X NE 0 in the tables, return X as the simplified + condition. + (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are + in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH + to VISISTED_BBS. */ + * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags + after removing the control flow statement and unnecessary edges. + +2015-07-23 Bernd Edlinger + + * tree-pass.h (get_current_pass_name): Removed. + +2015-07-23 Alexandre Oliva + + PR rtl-optimization/64164 + * Makefile.in (OBJS): Drop tree-ssa-copyrename.o. + * tree-ssa-copyrename.c: Removed. + * opts.c (default_options_table): Drop -ftree-copyrename. Add + -ftree-coalesce-vars. + * passes.def: Drop all occurrences of pass_rename_ssa_copies. + * common.opt (ftree-copyrename): Ignore. + (ftree-coalesce-inlined-vars): Likewise. + * doc/invoke.texi: Remove the ignored options above. + * gimple-expr.h (gimple_can_coalesce_p): Move declaration + * tree-ssa-coalesce.h: ... here. + * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other + headers required by it. + * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing + across variables when flag_tree_coalesce_vars. Check register + use and promoted modes to allow coalescing. Moved to + tree-ssa-coalesce.c. + * tree-ssa-live.c (struct tree_int_map_hasher): Move along + with its member functions to tree-ssa-coalesce.c. + (var_map_base_init): Likewise. Renamed to + compute_samebase_partition_bases. + (partition_view_normal): Drop want_bases parameter. + (partition_view_bitmap): Likewise. + * tree-ssa-live.h: Adjust declarations. + * tree-ssa-coalesce.c: Include explow.h. + (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's + default defs at the entry point. + (dump_part_var_map): New. + (compute_optimized_partition_bases): New, called by... + (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead + of compute_samebase_partition_bases. Adjust. + * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs. + * cfgexpand.c (leader_merge): New. + (get_rtl_for_parm_ssa_default_def): New. + (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA + vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too. + (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop + redundant MEM attr setting. + (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed + from... + (expand_one_stack_var): ... this. New wrapper to check and + skip already expanded SSA partitions. + (record_alignment_for_reg_var): New, factored out of... + (expand_one_var): ... this. + (expand_one_ssa_partition): New. + (adjust_one_expanded_partition_var): New. + (expand_one_register_var): Check and skip already expanded SSA + partitions. + (expand_used_vars): Don't create DECLs for anonymous SSA + names. Expand all SSA partitions, then adjust all SSA names. + (pass::execute): Replace the loops that set + SA.partition_to_pseudo from partition leaders and cleared + DECL_RTL for multi-location variables, and that which used to + rename vars and set attrs, with one that clears DECL_RTL and + checks that PARMs and RESULTs default_defs match DECL_RTL. + * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare. + * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl. + * explow.c (promote_ssa_mode): New. + * explow.h (promote_ssa_mode): Declare. + * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs. + * function.c: Include cfgexpand.h. + (use_register_for_decl): Handle SSA_NAMEs, anonymous or not. + (use_register_for_parm_decl): Wrapper for the above to + special-case the result_ptr. + (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def. + (split_complex_args): Take assign_parm_data_all argument. + Pass it to rtl_for_parm. Set up rtl and context for split + args. + (assign_parms_augmented_arg_list): Adjust. + (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with + multiple locations. Recognize split complex args. + (assign_parm_adjust_stack_rtl): Add all and parm arguments, + for rtl_for_parm. For SSA-assigned parms, zero stack_parm. + (assign_parm_setup_block): Prefer SSA-assigned location. + (assign_parm_setup_reg): Likewise. Use entry_parm for equiv + if stack_parm is NULL. + (assign_parm_setup_stack): Prefer SSA-assigned location. + (assign_parms): Maybe reset DECL_RTL of params. Adjust stack + rtl before testing for pointer bounds. Special-case result_ptr. + (expand_function_start): Maybe reset DECL_RTL of result. + Prefer SSA-assigned location for result and static chain. + Factor out DECL_RESULT and SET_DECL_RTL. + * tree-outof-ssa.c (insert_value_copy_on_edge): Handle + anonymous SSA names. Use promote_ssa_mode. + (get_temp_reg): Likewise. + (remove_ssa_form): Adjust. + * stor-layout.c (layout_decl): Don't set mem attributes of + non-MEMs. + * var-tracking.c (dataflow_set_clear_at_call): Take call_insn + and get its reg_usage for reg invalidation. + (compute_bb_dataflow): Pass it insn. + (emit_notes_in_bb): Likewise. + +2015-07-23 Segher Boessenkool + + PR target/66217 + * config/rs6000/rs6000-protos.h (rs6000_emit_2insn_and): Change + prototype. + * config/rs6000/rs6000.c (rs6000_emit_dot_insn): New function. + (rs6000_emit_2insn_and): Handle dot forms. + * config/rs6000/rs6000.md (and3): Adjust. + (*and3_2insn): Remove TODO. Adjust. Add "type" attr. + (*and3_2insn_dot, *and3_2insn_dot2): New. + +2015-07-23 Richard Biener + + * generic-match-head.c: Include cgraph.h. + * gimple-match-head.c: Likewise. + * tree-ssa-sccvn.c (free_scc_vn): Guard against newly created + SSA names. + * fold-const.c (fold_binary_loc): Move &A ==/!= &B simplification... + * match.pd: ...to a pattern here. Add &A ==/!= 0 simplification + pattern. + +2015-07-23 Richard Biener + + * gimple-fold.c (fold_gimple_cond): Do not require folding + results to pass valid_gimple_rhs_p. + * tree-cfg.h (fold_cond_expr_cond): Remove. + * tree-cfg.c (fold_cond_expr_cond): Likewise. + (make_edges): Do not call it. + * tree-inline.c (tree_function_versioning): Likewise. + +2015-07-23 Tom de Vries + + * tree-parloops.c (gather_scalar_reductions): Add arg to call to + vect_force_simple_reduction. + * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Same. + (vect_is_simple_reduction_1): Add and handle + need_wrapping_integral_overflow parameter. + (vect_is_simple_reduction, vect_force_simple_reduction): Add and pass + need_wrapping_integral_overflow parameter. + (vectorizable_reduction): Add arg to call to vect_is_simple_reduction. + * tree-vectorizer.h (vect_force_simple_reduction): Add parameter to + decl. + +2015-07-23 Yuri Rumyantsev + + PR tree-optimization/66926,66951 + * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Delete + INNER_LOOP and fix up condition for renaming virtual operands. + +2015-07-23 Kyrylo Tkachov + + * combine.c (try_combine): Use std::swap instead of manually + swapping. + +2015-07-23 Prachi Godbole + + * config/mips/i6400.md: New file. + * config/mips/mips-cpus.def (mips32r6): Change to PROCESSOR_I6400. + (mips64r6): Likewise. + (i6400): Define. + * config/mips/mips-tables.opt: Regenerate. + * config/mips/mips.c (mips_rtx_cost_data): Add I6400 processor. + (mips_issue_rate): Add support for i6400. + (mips_multipass_dfa_lookahead): Likewise. + * config/mips/mips.h (TUNE_I6400): Define. + * config/mips/mips.md: Include i6400.md. + (processor): Add i6400. + * doc/invoke.texi (-march=@var{arch}): Add i6400. + +2015-07-23 Richard Biener + + PR middle-end/66916 + * match.pd: Guard widen and sign-change comparison simplification + with single_use. + +2015-07-23 Richard Biener + + PR tree-optimization/66945 + * tree-ssa-propagate.c (substitute_and_fold_dom_walker + ::before_dom_children): Force the propagators idea of + non-executable edges to materialize, not what the folder + chooses. + +2015-07-23 Richard Biener + + * gimple.h (gimple_cond_make_false): Use 0 != 0. + (gimple_cond_make_true): Use 1 != 0. + +2015-07-22 DJ Delorie + + * config/msp430/t-msp430 (MULTILIB_DIRNAMES): Remove trailing + slashes. + + * config/msp430/msp430.md (ashlhi3): Optimize shifts of subregs. + (ashrhi3): Likewise. + (lshrhi3): Likewise. + (movhi): Take advantage of zero-extend to load small constants. + (movpsi): Likewise. + (and3): Likewise. + (zero_extendqihi2): Likewise. + (zero_extendqisi2): New. + * config/msp430/constraints.md (N,O): New. + * config/msp430/msp430.h (WORD_REGISTER_OPERATIONS): Define. + +2015-07-22 Uros Bizjak + + PR target/66954 + * config/i386/i386.c (get_builtin_code_for_version): Add P_AES + to enum feature_priority and feature_list. + (fold_builtin_cpu): Add F_AES to enum processor_features + and isa_names_table. + +2015-07-22 Ilya Enkovich + + PR driver/66737 + * config/i386/linux-common.h (MPX_SPEC): Use linker option + for 64bit target only. + +2015-07-22 Bernd Schmidt + + * config/nvptx/nvptx.c: Expand some comments. + +2015-07-22 James Greenhalgh + + * config/arm/cortex-a53 (cortex_53_advsimd): Rename to... + (cortex_a53_advsimd): ...This. + +2015-07-22 Richard Biener + + * genmatch.c (expr::gen_transform): Clarify error message + and display location. + +2015-07-22 Richard Biener + + * genmatch.c (struct operand): Add location member. + (predicate, expr, c_expr, capture, if_expr, with_expr): Adjust + constructors. + (struct simplify): Remove match_location and result_location + members. + (elsehwere): Adjust. + +2015-07-22 Prachi Godbole + + * config/mips/m5100.md: New file. + * config/mips/mips-cpus.def (m5100, m5101): Define. + * config/mips/mips-tables.opt: Regenerate. + * config/mips/mips.c (mips_rtx_cost_data): Add costs for m5100. + * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=m5100 and + -march=m5101 to -mips32r5. + (MIPS_ARCH_FLOAT_SPEC): Map -m5101 to -msoft-float. + (MIPS_ISA_NAN2008_SPEC): Map -march=m51* to -mnan=2008 if + !-msoft-float. + * config/mips/mips.md: Include m5100.md. + (processor): Add m5100. + * doc/invoke.texi (-march=@var{arch}): Add m5100, m5101. + +2015-07-22 Robert Suchanek + + * config/mips/mips-cpus.def (interaptiv): Define. + * config/mips/mips-tables.opt: Regenerate. + * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=interaptiv to + -mips32r2. + (BASE_DRIVER_SELF_SPECS): Likewise but map to -mdsp. + * doc/invoke.texi (-march=@var{arch}): Add interaptiv. + +2015-07-22 Jiong Wang + + PR target/63521 + * config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define. + (HONOR_REG_ALLOC_ORDER): Define. + +2015-07-22 Richard Biener + + PR tree-optimization/66952 + * tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): For + blocks we end up executing unconditionally reset all SSA + info such as range and alignment. + * tree-ssanames.h (reset_flow_sensitive_info): Declare. + * tree-ssanames.c (reset_flow_sensitive_info): New function. + +2015-07-22 Charles Baylis + + * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane): Fix + typo in attribute. + +2015-07-22 Richard Biener + + * genmatch.c (parser::parse_result): Properly handle + match with result operands and conditions. + +2015-07-22 Charles Baylis + + PR target/63870 + * config/aarch64/aarch64-builtins.c (enum aarch64_type_qualifiers): + Add qualifier_struct_load_store_lane_index. + (aarch64_types_loadstruct_lane_qualifiers): Use + qualifier_struct_load_store_lane_index for lane index argument for + last argument. + (aarch64_types_storestruct_lane_qualifiers): Ditto. + (builtin_simd_arg): Add SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX. + (aarch64_simd_expand_args): Add new argument describing mode of + builtin. Check lane bounds for arguments with + SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX. + (aarch64_simd_expand_builtin): Emit error for incorrect lane indices + if marked with SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX. + (aarch64_simd_expand_builtin): Handle arguments with + qualifier_struct_load_store_lane_index. Pass machine mode of builtin to + aarch64_simd_expand_args. + * config/aarch64/aarch64-simd-builtins.def: Declare ld[234]_lane and + vst[234]_lane with BUILTIN_VALLDIF. + * config/aarch64/aarch64-simd.md: + (aarch64_vec_load_lanesoi_lane): Use VALLDIF iterator. Perform + endianness reversal on lane index. + (aarch64_vec_load_lanesci_lane): Ditto. + (aarch64_vec_load_lanesxi_lane): Ditto. + (vec_store_lanesoi_lane): Use VALLDIF iterator. + (vec_store_lanesci_lane): Ditto. + (vec_store_lanesxi_lane): Ditto. + (aarch64_ld2_lane): Use VALLDIF iterator. Remove endianness + reversal of lane index. + (aarch64_ld3_lane): Ditto. + (aarch64_ld4_lane): Ditto. + (aarch64_st2_lane): Ditto. + (aarch64_st3_lane): Ditto. + (aarch64_st4_lane): Ditto. + * config/aarch64/arm_neon.h (__LD2_LANE_FUNC): Rename mode parameter + to qmode. Add new mode parameter. Update uses. + (__LD3_LANE_FUNC): Ditto. + (__LD4_LANE_FUNC): Ditto. + (__ST2_LANE_FUNC): Ditto. + (__ST3_LANE_FUNC): Ditto. + (__ST4_LANE_FUNC): Ditto. + +2015-07-22 Jonathan Wakely + + * doc/invoke.texi (Language Independent Options): Rename node to + Diagnostic Message Formatting Options. + +2015-07-21 Vladimir Makarov + + PR ipa/66424. + * lra-remat.c (operand_to_remat): Prevent using insns with input + subregs processed separately by IRA. + +2015-07-21 Andrew MacLeod + + * ssa-iterators.h (has_zero_uses, has_single_use): Implement as + straight loops. + (single_imm_use): Check for iterator node. + (num_imm_uses): Likewise. + * tree-ssa-operands.c (has_zero_uses_1): Delete. + (single_imm_use_1): Check for iterator node. + +2015-07-21 Mike Frysinger + Bernhard Reutner-Fischer + + * configure.ac: Add check for new options in isl-0.15. + * config.in, configure: Rebuilt. + * graphite-blocking.c: Include + * graphite-interchange.c, graphite-poly.c: Likewise. + * graphhite-scop-detection.c, graphite-sese-to-poly.c: Likewise. + * graphite.c: Likewise. + * graphite-isl-ast-to-gimple.c: Include and + . + * graphite-dependences.c: Include . + (max_number_of_out_dimensions): Returns isl_stat. + (extend_schedule_1): Likewise + (extend_schedule): Corresponding changes. + * graphite-optimize-isl.c: Include and + . + (getSingleMap): Change return type of isl_stat. + (optimize_isl): Conditionally use + isl_options_set_schedule_serialize_sccs. + * graphite-poly.h (isl_stat, isl_stat_ok): Define fallbacks + if not HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS. + +2015-07-21 Georg-Johann Lay + + PR target/66956 + * config/avr/avr-dimode.md (mulsidi3_insn) + (mulsidi3): Don't use if !AVR_HAVE_MUL. + +2015-07-21 Richard Biener + + PR tree-optimization/66948 + * genmatch.c (capture_info::walk_match): Also recurse to + captures. Properly compute expr state from captures of + captures. + * match.pd: Add single-use guards to + (X & C2) >> C1 into (X >> C1) & (C2 >> C1) transform. + +2015-07-21 Nathan Sidwell + + * config/nvptx/mkoffload.c (process): Add static destructor call. + +2015-07-21 Kyrylo Tkachov + + PR middle-end/66915 + * match.pd (A - B -> A + (-B)): Don't allow folding + when type if a fixed-point type. + +2015-07-20 DJ Delorie + + * config/rl78/rl78-real.md (andqi3_real): Expand operands for clr1. + (iorqi3_real): Likewise for set1. + +2015-07-20 Uros Bizjak + + * config/i386/i386.c (ix86_md_asm_adjust): Handle DImode dest_mode + for !TARGET_64BIT. + +2015-07-20 Aditya Kumar + + * graphite-isl-ast-to-gimple.c: + Refactor so that each function can access 'region'. This will help + maintain a parameter rename_map within a region. + +2015-07-20 Segher Boessenkool + + * config/rs6000/rs6000.md (*lt0_disi): New. + +2015-07-20 Segher Boessenkool + + PR target/66217 + * config/rs6000/constraints.md ("S", "T", "t"): Delete. Update + "available letters" comment. + * config/rs6000/predicates.md (mask_operand, mask_operand_wrap, + mask64_operand, mask64_2_operand, any_mask_operand, and64_2_operand, + and_2rld_operand): Delete. + (and_operand): Adjust. + (rotate_mask_operator): New. + * config/rs6000/rs6000-protos.h (build_mask64_2_operands, + includes_lshift_p, includes_rshift_p, includes_rldic_lshift_p, + includes_rldicr_lshift_p, insvdi_rshift_rlwimi_p, extract_MB, + extract_ME): Delete. + (rs6000_is_valid_mask, rs6000_is_valid_and_mask, + rs6000_is_valid_shift_mask, rs6000_is_valid_insert_mask, + rs6000_insn_for_and_mask, rs6000_insn_for_shift_mask, + rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and, + rs6000_emit_2insn_and): New. + * config/rs6000/rs6000.c (num_insns_constant): Adjust. + (build_mask64_2_operands, includes_lshift_p, includes_rshift_p, + includes_rldic_lshift_p, includes_rldicr_lshift_p, + insvdi_rshift_rlwimi_p, extract_MB, extract_ME): Delete. + (rs6000_is_valid_mask, rs6000_is_valid_and_mask, + rs6000_insn_for_and_mask, rs6000_is_valid_shift_mask, + s6000_insn_for_shift_mask, rs6000_is_valid_insert_mask, + rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and, + rs6000_emit_2insn_and): New. + (print_operand) <'b', 'B', 'm', 'M', 's', 'S', 'W'>: Delete. + (rs6000_rtx_costs) : Delete mask_operand and mask64_operand + handling. + : Don't fall through to next case. + : Handle the various rotate-and-mask cases directly. + : Always cost as one insn. + * config/rs6000/rs6000.md (splitter for bswap:SI): Adjust. + (and3): Adjust expander for the new patterns. + (and3_imm, and3_imm_dot, and3_imm_dot2, + and3_imm_mask_dot, and3_imm_mask_dot2): Adjust condition. + (*and3_imm_dot_shifted): New. + (*and3_mask): Delete, rewrite as ... + (and3_mask): ... New. + (*and3_mask_dot, *and3_mask_dot): Rewrite. + (andsi3_internal0_nomc): Delete. + (*andsi3_internal6): Delete. + (*and3_2insn): New. + (insv, insvsi_internal, *insvsi_internal1, *insvsi_internal2, + *insvsi_internal3, *insvsi_internal4, *insvsi_internal5, + *insvsi_internal6, insvdi_internal, *insvdi_internal2, + *insvdi_internal3): Delete. + (*rotl3_mask, *rotl3_mask_dot, *rotl3_mask_dot2, + *rotl3_insert, *rotl3_insert_2, *rotl3_insert_3, + *rotl3_insert_4, two splitters for multi-precision shifts, + *ior_mask): New. + (extzv, extzvdi_internal, *extzvdi_internal1, *extzvdi_internal2, + *rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2, + *ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2, + *lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2): + Delete. + (ashr3): Delete expander. + (*ashr3): Rename to ... + (ashr3): ... This. + (ashrdi3_no_power, *ashrdisi3_noppc64be): Delete. + (*rotldi3_internal4, *rotldi3_internal5 and split, + *rotldi3_internal6 and split, *ashldi3_internal4, ashldi3_internal5 + and split, *ashldi3_internal6 and split, *ashldi3_internal7, + ashldi3_internal8 and split, *ashldi3_internal9 and split): Delete. + (*anddi3_2rld, *anddi3_2rld_dot, *anddi3_2rld_dot2): Delete. + (splitter for loading a mask): Adjust. + * doc/md.texi (Machine Constraints): Remove q, S, T, t constraints. + +2015-07-20 Marek Polacek + + * genemit.c (print_code, gen_exp, gen_insn, gen_expand, gen_split, + output_add_clobbers, output_added_clobbers_hard_reg_p, + gen_rtx_scratch): Remove declarations. + +2015-07-20 Marek Polacek + + PR c++/55095 + * doc/invoke.texi: Document -Wshift-overflow and -Wshift-overflow=. + +2015-07-20 Kyrylo Tkachov + + * simplify-rtx.c (simplify_unary_operation_1, NEG case): + (neg (x ? (neg y) : y)) -> !x ? (neg y) : y. + +2015-07-20 Kyrylo Tkachov + + * combine.c (combine_simplify_rtx): Move simplification step + before various transformations/substitutions. + +2015-07-20 Mikhail Maltsev + + * wide-int.h (struct binary_traits): Fix partial specialization syntax. + (struct int_traits): Likewise. + +2015-07-18 Trevor Saunders + + * vmsdbgout.c (vmsdbgout_decl): Change name of prototyped + function to vmsdbgout_function_decl. + +2015-07-18 Uros Bizjak + + PR target/66922 + * config/i386/i386.c (ix86_expand_pextr): Reject extractions + from misaligned positions. + (ix86_expand_pinsr): Reject insertions to misaligned positions. + +2015-07-18 Sebastian Pop + + PR middle-end/46851 + PR middle-end/60340 + * Makefile.in: Removed omega.o. + * common.opt: Document flag fcheck-data-deps as deprecated. + * doc/invoke.texi: Remove documentation for fcheck-data-deps and + its associated params: omega-max-vars, omega-max-geqs, + omega-max-eqs, omega-max-wild-cards, omega-hash-table-size, + omega-max-keys, omega-eliminate-redundant-constraints. + * doc/loop.texi: Remove all the section on Omega. + * graphite-blocking.c: Include missing params.h: it used to be + included through tree-data-ref.h and omega.h. + * graphite-isl-ast-to-gimple.c: Same. + * graphite-optimize-isl.c: Same. + * graphite-sese-to-poly.c: Same. + * graphite.c: Same. + * omega.c: Remove. + * omega.h: Remove. + * params.def: Removed PARAM_OMEGA_MAX_VARS, PARAM_OMEGA_MAX_GEQS, + PARAM_OMEGA_MAX_EQS, PARAM_OMEGA_MAX_WILD_CARDS, + PARAM_OMEGA_HASH_TABLE_SIZE, PARAM_OMEGA_MAX_KEYS, and + PARAM_OMEGA_ELIMINATE_REDUNDANT_CONSTRAINTS. + * passes.def: Remove pass_check_data_deps. + * tree-data-ref.c (dump_affine_function): Declare DEBUG_FUNCTION. + (dump_conflict_function): Same. + (dump_subscript): Same. + (print_direction_vector): Same. + (print_dir_vectors): Same. + (print_lambda_vector): Same. + (print_dist_vectors): Same. + (dump_data_dependence_relation): Same. + (dump_data_dependence_relations): Same. + (dump_dist_dir_vectors): Same. + (dump_ddrs): Same. + (init_omega_eq_with_af): Removed. + (omega_extract_distance_vectors): Removed. + (omega_setup_subscript): Removed. + (init_omega_for_ddr_1): Removed. + (init_omega_for_ddr): Removed. + (ddr_consistent_p): Removed. + (compute_affine_dependence): Do not use omega to check data + dependences. + (compute_data_dependences_for_bb): Removed. + (analyze_all_data_dependences): Removed. + (tree_check_data_deps): Removed. + * tree-data-ref.h: Do not include omega.h. + (compute_data_dependences_for_bb): Removed. + (tree_check_data_deps): Removed. + * tree-ssa-loop.c (pass_check_data_deps): Removed. + (make_pass_check_data_deps): Removed. + * tree-ssa-phiopt.c: Include params.h. + * tree-vect-data-refs.c: Same. + * tree-vect-slp.c: Same. + +2015-07-18 Uros Bizjak + + * config/i386/i386.md (pushsf splitter): Pass curr_insn to + find_constant_src. FAIL if find_constant_src returns NULL_RTX. + (mem->fpreg splitters): Ditto. + (general_operand->nonimmediate_operand splitter): Use explicit modes. + Disable DFmode for TARGET_64BIT. + +2015-07-17 H.J. Lu + + PR target/66906 + * config/i386/i386.c (ix86_expand_prologue): Replicate static + chain on the stack. + +2015-07-17 Nathan Sidwell + + * config/nvptx/mkoffload.c (process): Constify host data. + * config/i386/intelmic-mkoffload.c (generate_target_descr_file): + Constify host data. + (generate_host_descr_file): Likewise. + +2015-07-17 Aditya Kumar + Sebastian Pop + + PR middle-end/61929 + * graphite-dependences.c (add_pdr_constraints): Renamed + pdr->extent to pdr->subscript_sizes. + * graphite-interchange.c (build_linearized_memory_access): Add + back all gcc_assert's that the "isl_int to isl_val conversion" + patch has removed. Refactored. + (pdr_stride_in_loop): Renamed pdr->extent to pdr->subscript_sizes. + * graphite-poly.c (new_poly_dr): Same. + (free_poly_dr): Same. + * graphite-poly.h (struct poly_dr): Same. + * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Ignore + all data references other than ARRAY_REF, MEM_REF, and COMPONENT_REF. + * graphite-scop-detection.h: Fix space. + * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Add + back all gcc_assert's removed by a previous patch. + (wrap): Remove the_isl_ctx global variable that the same patch has + added. + (build_loop_iteration_domains): Same. + (add_param_constraints): Same. + (pdr_add_data_dimensions): Same. Refactored. + (build_poly_dr): Renamed extent to subscript_sizes. + +2015-07-17 Marek Polacek + + * fold-const.c (fold_binary_loc): Move A - (A & B) into ~B & A ... + * match.pd: ... here. + +2015-07-17 Nathan Sidwell + + * config/nvptx/mkoffload.c (process): Constify target data. + * config/i386/intelmic-mkoffload.c (generate_target_descr_file): + Constify target data. + (generate_target_offloadend_file): Likewise. + +2015-07-17 Yuri Rumyantsev + + * tree-vect-loop-manip.c (rename_variables_in_bb): Add argument + to allow renaming of PHI arguments on edges incoming from outer + loop header, add corresponding check before start PHI iterator. + (slpeel_tree_duplicate_loop_to_edge_cfg): Introduce new bool + variable DUPLICATE_OUTER_LOOP and set it to true for outer loops + with true force_vectorize. Set-up dominator for outer loop too. + Pass DUPLICATE_OUTER_LOOP as argument to rename_variables_in_bb. + (slpeel_can_duplicate_loop_p): Allow duplicate of outer loop if it + was marked with force_vectorize and has restricted cfg. + (slpeel_tree_peel_loop_to_edge): Do not rename exit PHI uses in + inner loop. + * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not + do peeling for outer loops. + +2015-07-17 Yvan Roux + Matthias Klose + + * configure.ac: Move AC_ARG_WITH checks for native-system-header-dir, + build-sysroot, sysroot from the `Miscenalleous configure options' to + the `Directories' section and strip trailing `/' from with_sysroot. + (gcc_gxx_include_dir): Don't strip a `/' sysroot value. + * configure: Regenerated. + +2015-07-17 Uros Bizjak + + PR target/66824 + * config/i386/i386.h (TARGET_HARD_SF_REGS): New define. + (TARGET_HARD_DF_REGS): Ditto. + (TARGET_HARD_XF_REGS): Ditto. + * config/i386/i386.md (*movxf_internal): Add alternatives 9 and 10. + Enable alternatives 9 and 10 only for !TARGET_HARD_XF_REG target. + (*movdf_internal): Add alternatives 22, 23, 24 and 25. Enable + alternatives 22, 23, 24 and 25 only for !TARGET_HARD_DF_REG target. + (*movsf_internal): Add alternatives 16 and 17. Enable + alternatives 16 and 17 only for !TARGET_HARD_SF_REG target. + +2015-07-17 Uros Bizjak + + PR rtl-optimization/66891 + * calls.c (expand_call): Wrap precompute_register_parameters with + NO_DEFER_POP/OK_DEFER_POP to prevent deferred pops. + +2015-07-16 Nathan Sidwell + + * config/nvptx/mkoffload.c (process): Constify mapping variables. + Define target data struct and initialize it. + +2015-07-16 Vladimir Makarov + + PR rtl-optimization/66626 + * ira.h (emit-rtl.h): Include. + (non_spilled_static_chain_regno_p): New. + * ira-color.c (setup_profitable_hard_regs): Clear profitable regs + unless it is non spilled static chain pseudo. + (assign_hard_rego): Spill memory profitable allocno unless it is + non spilled static chain pseudo. + (allocno_spill_priority_compare): Put non spilled static chain + pseudo at the end of sorted array. + (improve_allocation): Do nothing if we have static chain and + non-local goto. + (allocno__priority_compare_func): Put non spilled static chain + pseudo at the beginning of sorted array. + (move_spill_restore): Ignore non spilled static chain pseudo. + * ira-costs.c (find_costs_and_classes): Don't assign class NO_REGS + to non spilled static chain pseudo. + * lra-assigns.c (pseudo_compare_func): Put non spilled static chain + pseudo at the beginning of sorted array. + (spill_for): Spill non spilled static chain pseudo last. + * lra-constraints.c (lra_constraints): Remove static chain pseudo + check for equivalence. + +2015-07-16 Martin Liska + + PR ipa/66896. + * ipa-prop.c (update_jump_functions_after_inlining): Create properly + dst_ctx if it does not exist. + +2015-07-16 Martin Liska + + * hash-set.h (remove): New function. + (iterator): New iteration class for hash_set. + +2015-07-16 Richard Sandiford + + * genattrtab.c (make_canonical): Add a file_location parameter. + Use fatal_at rather than fatal. + (get_attr_value): Likewise. Update call to make_canonical. + (fill_attr, make_length_attrs, optimize_attrs, gen_attr) + (make_internal_attr): Update calls accordingly. + +2015-07-16 Richard Sandiford + + * read-md.h (message_with_line, error_with_line): Delete. + * read-md.c (message_with_line, error_with_line): Delete. + * gensupport.h: Include read-md.h. + (md_rtx_info): New structure. + (read_md_rtx): Use it. Return a bool success value. + * gensupport.c (read_md_rtx): Likewise. + * genattr-common.c (gen_attr): Take an md_rtx_info rather than an rtx. + (main): Update after interface changes. + * genattr.c (gen_attr): Take an md_rtx_info rather than an rtx. + (main): Update after interface changes. + * genattrtab.c (insn_code_number): Delete. + (optimize_attrs): Add a max_insn_code parameter and use it instead + of insn_code_number. + (gen_attr): Take an md_rtx_info rather than an rtx and lineno. + Use *_at rather than *_with_line functions. + (gen_insn): Likewise. + (gen_delay): Likewise. + (gen_insn_reserv): Likewise. + (gen_bypass): Take an md_rtx_info rather than an rtx. + (main): Update after interface changes. Use a local max_insn_code + variable instead of insn_code_number. + * genautomata.c (gen_cpu_unit): Take an md_rtx_info rather than + an rtx. Use fatal_at rather than fatal. + (gen_query_cpu_unit, gen_bypass, gen_excl_set) + (gen_presence_absence_set, gen_presence_set, gen_final_presence_set) + (gen_absence_set, gen_final_absence_set, gen_automaton) + (gen_automata_option, gen_reserv, gen_insn_reserv): Likewise. + (main): Update after interface changes. + * gencodes.c (gen_insn): Take an md_rtx_info rather than an rtx + and code number. + (main): Update after interface changes. + * genconditions.c (main): Use new read_md_rtx interface. + * genconfig.c (gen_insn): Take an md_rtx_info rather than an rtx. + (gen_expand, gen_split, gen_peephole, gen_peephole2): Likewise. + (main): Update after interface changes. + * genemit.c (insn_code_number, insn_index_number): Delete. + (gen_insn): Take an md_rtx_info rather than an rtx and lineno. + Use fatal_at rather than fatal. + (gen_expand): Take an md_rtx_info rather than an rtx. Use fatal_at + rather than fatal. + (gen_split): Likewise. + (main): Update after interface changes. + * genextract.c (line_no): Delete. + (gen_insn): Take an md_rtx_info rather than an rtx and lineno. + Update call to walk_rtx. + (VEC_safe_set_locstr): Add an md_rtx_info argument. Use message_at + rather than message_with_line. + (walk_rtx): Add an md_rtx_info argument. Update call to + VEC_safe_set_locstr. + (main): Update after interface changes. + * genflags.c (gen_insn): Take an md_rtx_info rather than an rtx + and lineno. Use error_at rather than separate message_with_line + calls and have_error assignments. + (main): Update after interface changes. + * genmddump.c (main): Use new read_md_rtx interface. + * genopinit.c (insn): Take an md_rtx_info rather than an rtx. + (main): Update after interface changes. + * genoutput.c (next_code_number): Delete. + (gen_insn): Take an md_rtx_info rather than an rtx and lineno. + (gen_peephole, gen_expand, gen_split): Likewise. + (note_constraint): Likewise. Use *_at rather than *_with_line + functions. + (main): Update after interface changes. + * genpeep.c (gen_peephole): Take an md_rtx_info rather than an + rtx and lineno. + (main): Update after interface changes. + * genpreds.c (process_define_predicate): Take an md_rtx_info rather + than an rtx and lineno. + (process_define_constraint): Likewise. + (process_define_register_constraint): Likewise. + (main): Update after interface changes. + * genrecog.c (next_insn_code, pattern_lineno): Delete. + (validate_pattern): Replace top-level rtx with an md_rtx_info. + Use *_at rather than *_with_line functions. + (match_pattern_2): Likewise. + (match_pattern_1, match_pattern): Add an md_rtx_info parameter. + (get_peephole2_pattern): Take an md_rtx_info rather than an rtvec. + Use *_at rather than *_with_line functions. + * gentarget-def.c (add_insn): New function. + (main): Use it. Use new read_md_rtx interface. + +2015-07-16 Richard Sandiford + + * gensupport.h (compute_test_codes): Take a file_location rather + than a line number. + * gensupport.c (compute_test_codes): Likewise. Use *_at functions + rather than *_with_line functions. + (process_define_predicate): Update call to compute_test_codes. + * genpreds.c (validate_exp): Take a file_location rather than a + line number. Use *_at functions rather than *_with_line functions. + (process_define_predicate): Update call to validate_exp. + (constraint_data): Replace lineno field with a file_location. + (add_constraint): Take a file_location rather than a line number. + Use *_at functions rather than *_with_line functions. Fix error + message for address constraints. Update after changes to + validate_exp, constraint_data and compute_test_codes. + (process_define_constraint): Update accordingly. + (process_define_register_constraint): Likewise. + +2015-07-16 Richard Sandiford + + * genoutput.c (data): Use a file_location to record the source + position. + (nothing): Delete. + (idata, idata_end): Remove initialization. + (constraint_data): Replace lineno with a file_location. + (output_insn_data): Update after changes to data. + (gen_insn, gen_peephole, gen_expand, gen_split): Likewise. + (scan_operands): Likewise, using *_at rather than *_with_line + functions. + (process_template): Likewise. + (validate_insn_alternatives): Likewise. + (validate_insn_operands): Likewise. + (validate_optab_operands): Likewise. + (init_insn_for_nothing): Initialize idata and idata_end. + (note_constraint): Update after changes to constraint_data, + using at rather than with_line functions. + (mdep_constraint_len): Take a file_location rather than a + line number. Use at rather than with_line functions. + +2015-07-16 Richard Sandiford + + * read-md.h (fatal_at): Declare. + * read-md.c (fatal_at): New function. + * genattrtab.c (insn_def, attr_desc, delay_desc): Use a file_location + to record the source position. + (check_attr_test): Take a file_location instead of a line number. + Use fatal_at instead of fatal. + (check_attr_value): Update after above changes, using "at" + rather than "with_line" reporting functions. + (convert_set_attr_alternative): Likewise. + (gen_attr): Likewise. + (check_defs): Likewise. Don't assign to read_md_filename. + (gen_insn): Update initialization after above changes. + (gen_delay): Likewise. + (write_insn_cases): Print the filename for a define_peephole. + (gen_insn_reserv): Take a line number as argument and update + the call to check_attr_test. + (main): Pass a line number to gen_insn_reserv. + +2015-07-16 Richard Sandiford + + * read-md.h (file_location): New structure. + (directive_handler_t): Take a file_location rather than a line number. + (message_at, error_at): Declare. + (read_skip_construct): Delete. + * read-md.c (message_with_line_1): Replace with... + (message_at_1): ...this new function. + (message_at, error_at): New functions. + (message_with_line, error_with_line): Update to use message_at_1. + (handle_enum): Take a file_location rather than a line number + and use error_at for error reporting. + (handle_include): Likewise. + (read_skip_construct): Likewise. Make static. + (handle_file): Update after above changes. Pass a file_location + rather than a line number to handle_directive. + * gensupport.c (queue_elem): Replace separate filename and lineno + with a file_location. + (queue_pattern): Replace filename and lineno arguments with a + file_location. Update after change to queue_elem. + (process_define_predicate): Replace lineno argument with a + file_location and use error_at for error reporting. Update + after above changes. + (process_rtx): Likewise. + (subst_pattern_match): Likewise. + (get_alternatives_number): Likewise. + (alter_predicate_for_insn): Likewise. + (rtx_handle_directive): Likewise. + (is_predicable): Update after above changes, using error_at rather + than error_with_line. + (has_subst_attribute): Likewise. + (identify_predicable_attribute): Likewise. + (alter_attrs_for_subst_insn): Likewise. + (process_one_cond_exec): Likewise. + (process_substs_on_one_elem): Likewise. + (process_define_subst): Likewise. + (check_define_attr_duplicates): Likewise. + (read_md_rtx): Update after change to queue_elem. + +2015-07-16 Richard Sandiford + + * genoutput.c (next_index_number): Delete. + (data): Remove index_number. + (gen_insn, gen_peephole, gen_expand, gen_split): Update accordingly. + (main): Remove manipulation of next_index_number. + +2015-07-16 Richard Sandiford + + * genattrtab.c (check_attr_value): Remove handling of null attrs. + (make_canonical): Likewise. + +2015-07-16 Eric Botcazou + + * config/sparc/sparc.md (save_stack_nonlocal): Use adjust_address + instead of adjust_address_nv. + (restore_stack_nonlocal): Likewise. + (nonlocal_goto): Likewise. + +2015-07-16 Tom de Vries + + * tree-parloops.c (create_parallel_loop): Handle case that exit phi does + not have a corresponding loop header phi. + +2015-07-16 Tom de Vries + + * tree-parloops.c (create_loads_for_reductions): Handle case that + reduction is unused. + +2015-07-16 Richard Biener + + PR tree-optimization/66894 + * tree-vrp.c (register_edge_assert_for_2): Fix bad assumption + about deriving NE_EXPR from truncated values. + +2015-07-16 Martin Liska + + * alloc-pool.h + (object_allocator): Add new class. + (pool_allocator::initialize): Use the underlying class. + (pool_allocator::allocate): Likewise. + (pool_allocator::remove): Likewise. + (operator new): A new generic allocator. + * asan.c (struct asan_mem_ref): Remove unused members. + (asan_mem_ref_new): Replace new operator with + object_allocator::allocate. + (free_mem_ref_resources): Change deallocation. + * cfg.c (initialize_original_copy_tables): Replace pool_allocator + with object_allocator. + * config/sh/sh.c (add_constant): Replace new operator with + object_allocator::allocate. + (sh_reorg): Change call to a release method. + * cselib.c (struct elt_list): Remove unused members. + (new_elt_list): Replace new operator with + object_allocator::allocate. + (new_elt_loc_list): Likewise. + (new_cselib_val): Likewise. + (unchain_one_elt_list): Change delete operator with remove method. + (unchain_one_elt_loc_list): Likewise. + (unchain_one_value): Likewise. + (cselib_finish): Release newly added static allocators. + * cselib.h (struct cselib_val): Remove unused members. + (struct elt_loc_list): Likewise. + * df-problems.c (df_chain_alloc): Replace pool_allocator with + object_allocator. + * df-scan.c (struct df_scan_problem_data): Likewise. + (df_scan_alloc): Likewise. + * df.h (struct dataflow): Likewise. + * dse.c (struct read_info_type): Likewise. + (struct insn_info_type): Likewise. + (struct dse_bb_info_type): Likewise. + (struct group_info): Likewise. + (struct deferred_change): Likewise. + (get_group_info): Likewise. + (delete_dead_store_insn): Likewise. + (free_read_records): Likewise. + (replace_read): Likewise. + (check_mem_read_rtx): Likewise. + (scan_insn): Likewise. + (dse_step1): Likewise. + (dse_step7): Likewise. + * et-forest.c (struct et_occ): Remove unused members. + (et_new_occ): Use allocate instead of new operator. + (et_new_tree): Likewise. + (et_free_tree): Call release method explicitly. + (et_free_tree_force): Likewise. + (et_free_pools): Likewise. + (et_split): Use remove instead of delete operator. + * et-forest.h (struct et_node): Remove unused members. + * ipa-cp.c: Change pool_allocator to object_allocator. + * ipa-inline-analysis.c: Likewise. + * ipa-profile.c: Likewise. + * ipa-prop.c: Likewise. + * ipa-prop.h: Likewise. + * ira-build.c (initiate_cost_vectors): Cast return value. + (ira_allocate_cost_vector): Likewise. + * ira-color.c (struct update_cost_record): Remove unused members. + * lra-int.h (struct lra_live_range): Likewise. + (struct lra_copy): Likewise. + (struct lra_insn_reg): Likewise. + * lra-lives.c (lra_live_ranges_finish): Release new static allocator. + * lra.c (new_insn_reg): Replace new operator with allocate method. + (free_insn_regs): Same for operator delete. + (finish_insn_regs): Release new static allocator. + (finish_insn_recog_data): Likewise. + (lra_free_copies): Replace delete operator with remove method. + (lra_create_copy): Replace operator new with allocate method. + (invalidate_insn_data_regno_info): Same for remove method. + * regcprop.c (struct queued_debug_insn_change): Remove unused members. + (free_debug_insn_changes): Replace delete operator with remove method. + (replace_oldest_value_reg): Replace operator new with allocate method. + (pass_cprop_hardreg::execute): Release new static variable. + * sched-deps.c (sched_deps_init): Change pool_allocator to + object_allocator. + * sel-sched-ir.c: Likewise. + * sel-sched-ir.h: Likewise. + * stmt.c (expand_case): Likewise. + (expand_sjlj_dispatch_table): Likewise. + * tree-sra.c (struct access): Remove unused members. + (struct assign_link): Likewise. + (sra_deinitialize): Release newly added static pools. + (create_access_1):Replace operator new with allocate method. + (build_accesses_from_assign): Likewise. + (create_artificial_child_access): Likewise. + * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Change + pool_allocator to object_allocator. + * tree-ssa-pre.c: Likewise. + * tree-ssa-reassoc.c: Likewise. + * tree-ssa-sccvn.c (allocate_vn_table): Likewise. + * tree-ssa-strlen.c: Likewise. + * tree-ssa-structalias.c: Likewise. + * var-tracking.c (onepart_pool_allocate): New function. + (unshare_variable): Use the newly added function. + (variable_merge_over_cur): Likewise. + (variable_from_dropped): Likewise. + (variable_was_changed): Likewise. + (set_slot_part): Likewise. + (emit_notes_for_differences_1): Likewise. + (vt_finalize): Release newly added static pools. + +2015-07-16 Martin Jambor + + * ipa-prop.h (param_aa_status): Rename to ipa_param_aa_status. Adjust + all uses. Fix two typos in its general comment. + (func_body_info): Rename to ipa_func_body_info. Adjust all uses. + +2015-07-16 Ilya Enkovich + + * config/i386/linux-common.h (LINK_MPX): New. + (MPX_SPEC): Use LINK_MPX instead of %(link_mpx). + * configure.ac: Add HAVE_LD_BNDPLT_SUPPORT macro + indicating '-z bndplt' support by linker. + * configure: Regenerate. + * config.in: Regenerate. + +2015-07-16 Richard Biener + + * fold-const.c (fold_widened_comparison): Remove. + (fold_sign_changed_comparison): Likewise. + (fold_comparison): Move widened and sign-changed comparison + simplification ... + * match.pd: ... to patterns here. + * generic-match-head.c: Include target.h. + * gimple-match-head.c: Likewise. + +2015-07-16 Richard Biener + + * tree-ssa-dom.c (dom_valueize): New function. + (record_temporary_equivalences): Also record equivalences + for dominating stmts that have uses of equivalences we are + about to record. + +2015-07-16 Bin Cheng + + * tree-ssa-loop-ivopts.c (add_candidate): Remove call to + add_autoinc_candidates. + (add_iv_candidate_for_biv): Rename to add_iv_candidate_for_biv. + (add_iv_candidate_for_biv): Rename from add_iv_candidate_for_biv. + (add_old_ivs_candidates): Rename to add_iv_candidate_for_bivs. + (add_iv_candidate_for_bivs): Rename from add_old_ivs_candidates. + Call new function. + (add_iv_value_candidates): Rename to add_iv_candidate_for_use. + (add_iv_candidate_for_use): Rename from add_iv_value_candidates. + Remove parameter struct iv*. Call add_autoinc_candidates here. + (add_derived_ivs_candidates): Rename to add_iv_candidate_for_uses. + (add_iv_candidate_for_uses): Rename from add_derived_ivs_candidates. + Call new function. + (find_iv_candidates): Call new functions. + +2015-07-16 Sandra Loosemore + + * config/nios2/nios2.c (nios2_emit_stack_limit_check): Fix + uninitialized-variable warning. + +2015-07-16 Kaz Kojima + + PR target/65249 + * config/sh/sh.md (movdi): Split simple reg move to two movsi + when the destination is R0. + +2015-07-16 Uros Bizjak + + PR target/66866 + * config/i386/i386-protos.h (ix86_expand_pextr): New prototype. + * config/i386/i386.c (ix86_expand_pextr): New function. + (ix86_expand_pinsr): Handle V1TI and TI modes. Call ix86_expand_pextr + for non-lowpart subregs. + * config/i386/i386.md (extzv): Expand with ix86_expand_pextr. + (insv): Use SWI248 mode iterator. + (insv_1): Ditto. + +2015-07-15 Aditya Kumar + Sebastian Pop + + * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Point + iterator to use_stmt. + +2015-07-15 Aditya Kumar + Sebastian Pop + + * graphite-scop-detection.c (build_scops_1): Discard scops for + which entry==exit. + +2015-07-15 Aditya Kumar + Sebastian Pop + + * graphite-scop-detection.c (stmt_simple_for_scop_p): Bail out in + case of a return statement in scop. + +2015-07-15 Aditya Kumar + Sebastian Pop + + * graphite-sese-to-poly.c (parameter_index_in_region): Only handle + INTEGER_TYPE parameters. + (scan_tree_for_params): Handle REAL_CST, COMPLEX_CST, and + VECTOR_CST in scan_tree_for_params. + (add_conditions_to_domain): Only constrain on INTEGER_TYPE. + +2015-07-15 Andrew MacLeod + + * gimple-pretty-print.h: Don't include pretty-print.h. + * tree-streamer.h: Don't include lto-streamer.h. + * gimple-streamer.h: Include tree-streamer.h rather than lto-streamer.h. + * gimple-streamer-in.c: Remove redundant includes. + * gimple-streamer-out.c: Likewise. + * ipa-devirt.c: Likewise. + * ipa-icf.c: Likewise. + * ipa-inline-analysis.c: Likewise. + * ipa-polymorphic-call.c: Likewise. + * ipa-profile.c: Likewise. + * ipa-prop.c: Likewise. + * ipa-pure-const.c: Likewise. + * lto-cgraph.c: Likewise. + * lto-streamer-in.c: Likewise. + * lto-streamer-out.c: Likewise. + * lto-streamer.c: Likewise. + * tree-streamer-in.c: Likewise. + * tree-streamer-out.c: Likewise. + * tree-streamer.c: Likewise. + +2015-07-15 Andrew MacLeod + + * opth-gen.awk: Check for UNKNOWN_LOCATION rather than GCC_TM_H, don't + include input.h. + * opts.c: Remove multiline #include comment. + +2015-07-15 Nathan Sidwell + + * config/nvptx/mkoffload.c (process): Add C++ protection to + emitted code. + +2015-07-14 Michael Meissner + + PR target/66854 + * config/rs6000/rs6000.c (rs6000_pass_by_reference): Move test for + null before IEEE 128-bit floating point support patch. + +2015-07-15 Bill Schmidt + + * simplify-rtx.c (simplify_ternary_operation): Add simplification + for (!c) != {0,...,0} ? a : b for vector modes. + +2015-07-15 Paolo Bonzini + Martin Jambor + + * ipa-inline-analysis.c (unmodified_parm_or_parm_agg_item): Accept + struct func_body_info* instead of struct ipa_node_params*, expecting + fbi->info to be filled in. Replace throughout. Adjust call to + ipa_load_from_parm_agg. + (set_cond_stmt_execution_predicate): Accept struct func_body_info* + instead of struct ipa_node_params*. Adjust calls to other functions + so that they pass either fbi or fbi->info. + (set_switch_stmt_execution_predicate): Likewise. + (will_be_nonconstant_predicate): Likewise. + (compute_bb_predicates): Likewise. + (estimate_function_body_sizes): Move asserts earlier. Fill in + struct func_body_info, replace parms_info with fbi.info. Adjust + calls to functions that now accept struct func_body_info. + * ipa-prop.c (param_aa_status, struct ipa_bb_info): Move to ipa-prop.h. + (struct func_body_info): Likewise. + (ipa_load_from_parm_agg_1): Rename to ipa_load_from_parm_agg, + remove static. Adjust callers. + (ipa_load_from_parm_agg): Remove. + * ipa-prop.h (param_aa_status, ipa_bb_info): Move from ipa-prop.c. + (func_body_info): Likewise. + (ipa_load_from_parm_agg): Adjust prototype. + +2015-07-12 Trevor Saunders + + * gensupport.c (rtx_handle_directive): Adjust. + * read-rtl.c (apply_iterators): Take vector to add rtxs to + instead of expr list rtx. + (add_define_attr_for_define_subst): Likewise. + (add_define_subst_attr): Likewise. + (read_subst_mapping): Likewise. + (read_rtx): Likewise. + * rtl.h (read_rtx): Adjust. + +2015-07-15 Kyrylo Tkachov + + * config/aarch64/aarch64.md (*csinc2_insn): Use cinc mnemonic. + +2015-07-15 Uros Bizjak + + PR target/58066 + * config/i386/i386.md (*tls_global_dynamic_64_): Depend on SP_REG. + (*tls_local_dynamic_base_64_): Ditto. + (*tls_local_dynamic_base_64_largepic): Ditto. + (tls_global_dynamic_64_): Update expander pattern. + (tls_local_dynamic_base_64_): Ditto. + +2015-07-15 Richard Biener + + * fold-const.c (fold_binary_loc): Move bool_var != 0 -> bool_var + and bool_var == 1 -> bool_var simplifications ... + * match.pd: ... to patterns here. Factor out negate_expr_p + cases from the A - B -> A + (-B) patterns as negate_expr_p + predicate and add a -(A + B) -> (-B) - A pattern. + +2015-07-15 Robert Suchanek + + * config/mips/mips.c (mips_emit_save_slot_move): Fix typo. + +2015-07-15 Matthew Fortune + Robert Suchanek + + * config/mips/mips.c (mips_int_mask): New enum. + (mips_shadow_set): Likewise. + (int_mask): New variable. + (use_shadow_register_set_p): Change type to enum mips_shadow_set. + (machine_function): Add int_mask and use_shadow_register_set. + (mips_attribute_table): Add attribute handlers for interrupt and + use_shadow_register_set. + (mips_interrupt_mask): New static function. + (mips_handle_interrupt_attr): Likewise. + (mips_handle_use_shadow_register_set_attr): Likewise. + (mips_use_shadow_register_set): Change return type to enum + mips_shadow_set. Add argument handling for use_shadow_register_set + attribute. + (mips_interrupt_extra_called_saved_reg_p): Update the conditional to + compare with mips_shadow_set enum. + (mips_compute_frame_info): Add interrupt mask and + use_shadow_register_set to per-function information structure. + Add a stack slot for EPC unconditionally. + (mips_expand_prologue): Compare use_shadow_register_set value + with mips_shadow_set enum. Save EPC always in K1, clobber only K1 for + masked interrupt register but in EIC mode use K0 and save Cause in K0. + EPC saved and restored unconditionally. Use PMODE_INSN macro when + copying the stack pointer from the shadow register set. + * config/mips/mips.h (SR_IM0): New define. + * config/mips/mips.md (mips_rdpgpr): Rename to... + (mips_rdpgpr_): ...this. Use the Pmode iterator. + * doc/extend.texi (Declaring Attributes of Functions): Document + optional arguments for interrupt and use_shadow_register_set + attributes. + +2015-07-15 Robert Suchanek + + * config/mips/mips.c (mips_compute_frame_info): Allow -mhard-float in + interrupt attribute. + (mips_expand_prologue): Disable the floating point unit in an ISR. + * config/mips/mips.h (SR_COP1): New define. + +2015-07-15 Richard Biener + + * genmatch.c (parser::peek, parser::peek_ident): Add argument + to tell how many tokens to peek ahead (default 1). + (parser::eat_token, parser::eat_ident): Return token consumed. + (parser::parse_result): Parse new switch statement. + * match.pd: Use case statements where appropriate. + +2015-07-15 Uros Bizjak + + PR rtl-optimization/58066 + * calls.c (expand_call): Precompute register parameters before stack + alignment is performed. + +2015-07-15 Uros Bizjak + + PR rtl-optimization/66838 + * postreload.c (reload_cse_move2add): Also process + CALL_INSN_FUNCTION_USAGE when resetting information of + call-clobbered registers. + +2015-07-14 Sandra Loosemore + Cesar Philippidis + Chung-Lin Tang + + * config/nios2/constraints.md (U, v): New constraints. + * config/nios2/predicates.md (rdprs_dcache_operand): New. + (ldstex_memory_operand): New. + * config/nios2/sync.md: New file. + * config/nios2/nios2.md (unspecv): Add new builtin function + UNSPECV codes. + (rdprs, flushd, flushda, wrpie, eni): New patterns. + (top-level): Include sync.md. + * config/nios2/nios2.c (N2_FTYPES): Add function types for + new builtins. + (N2_BUILTINS): Add arch field setting, add new builtins. + (enum nios2_builtin_code,nios2_builtins): Update N2_BUILTIN_DEF + for arch field. + (nios2_expand_ldst_builtin): Rename from nios2_expand_ldstio_builtin. + Also handle ldex/stex/ldsex/stsex builtins. + (nios2_expand_rdprs_builtin): New function. + (nios2_expand_cache_builtin): New function. + (nios2_expand_wrpie_builtin): New function. + (nios2_expand_eni_builtin): New function. + (nios2_expand_builtin): Add arch field handling and new builtin + cases. + * doc/extend.texi (Altera Nios II Built-in Functions): Document + new builtins. + * doc/md.texi (Machine Constraints): Document U and v constraints. + +2015-07-14 Sandra Loosemore + Cesar Philippidis + Chung-Lin Tang + + * config/nios2/nios2-protos.h (nios2_expand_return): Declare. + * config/nios2/nios2.c (struct GTY (()) machine_function): Add + callee_save_reg_size and uses_anonymous_args fields. + (nios2_compute_frame_layout): Update for CDX push.n/pop.n usage. + (nios2_create_cfa_notes): New function. + (nios2_adjust_stack): New function for adjusting stack. + (nios2_expand_prologue): Update for CDX push.n/pop.n usage. + Use nios2_adjust_stack. + (nios2_expand_epilogue): Likewise. + (nios2_expand_return): New function. + (nios2_can_use_return_insn): Update for CDX pop.n usage. + (nios2_setup_incoming_varargs): Set uses_anonymous_args flag. + If TARGET_HAS_CDX, defer pushing regs to nios2_expand_prologue. + * config/nios2/nios2.md (return): Use nios2_expand_return. + +2015-07-14 Sandra Loosemore + Cesar Philippidis + Chung-Lin Tang + + * config/nios2/predicates.md (pop_operation): New. + (ldwm_operation, stwm_operation): New. + (nios2_hard_register_operand): New. + * config/nios2/nios2-protos.h (pop_operation_p): Declare. + (ldstwm_operation_p): Declare. + (gen_ldstwm_peep): Declare. + * config/nios2/nios2.c: (nios2_ldst_parallel): Declare. + (base_reg_adjustment_p): New. + (pop_operation_p): New. + (CDX_LDSTWM_VALID_REGS_0, CDX_LDSTWM_VALID_REGS_1): Define. + (nios2_ldstwm_regset_p): New. + (ldstwm_operation_p): New. + (gen_ldst): New. + (nios2_ldst_parallel): New. + (struct ldswm_operand): Declare. + (compare_ldstwm_operands): New. + (can_use_cdx_ldstw): New. + (gen_ldstwm_peep): New. + * config/nios2/nios2-ldstwm.sml: New. + * config/nios2/nios2.md: Include ldstwm.md. + * config/nios2/ldstwm.md: Generated. + +2015-07-14 Sandra Loosemore + Cesar Philippidis + Chung-Lin Tang + + * config/nios2/nios2.h (LABEL_ALIGN): Define. + (REG_ALLOC_ORDER): Define. + (ADJUST_REG_ALLOC_ORDER): Define. + (HONOR_REG_ALLOC_ORDER): Define. + (CDX_REG_P): Define. + (ANDCLEAR_INT): Define. + * config/nios2/nios2-protos.h (nios2_add_insn_asm): Declare. + (nios2_label_align): Declare. + (nios2_cdx_narrow_form_p): Declare. + (nios2_adjust_reg_alloc_order): Declare. + * config/nios2/nios2.c (nios2_rtx_costs): Adjust for BMX zero-extract + operation. + (nios2_large_unspec_reloc_p): New function, split from... + (nios2_legitimate_pic_operand_p): ...here. + (nios2_emit_move_sequence): Add *high/*lo_sum constant expand code. + (nios2_print_operand_punct_valid_p): New. + (nios2_print_operand): Add %., %!, %x, %y, %A. Remove %U. + (split_mem_address): New. + (split_alu_insn): New. + (cdxreg): New. + (cdx_add_immed, cdx_and_immed, cdx_mov_immed, cdx_shift_immed): New. + (enum nios2_add_insn_kind): New. + (nios2_add_insn_names, nios2_add_insn_narrow): New. + (nios2_add_insn_classify): New. + (nios2_add_insn_asm): New. + (nios2_cdx_narrow_form_p): New. + (label_align, min_labelno, max_labelno): New. + (nios2_reorg): New. + (nios2_label_align): New. + (nios2_adjust_reg_alloc_order): New. + (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define. + (TARGET_MACHINE_DEPENDENT_REORG): Define. + * config/nios2/constraints.md (P): New constraint. + * config/nios2/predicates.md (const_and_operand): New. + (and_operand): New. + (stack_memory_operand): New. + * config/nios2/nios2.md (SP_REGNO): Define stack pointer regno. + (length): Update to use nios2_cdx_narrow_form_p(). + (type): Add new insn type values. + (control, alu, st, ld, shift): Update insn reservations with + new insn type values. + (*high, *lo_sum): Define new insn patterns for constant generation. + (movqi_internal, movhi_internal, movsi_internal): Reduce + alternatives, update asm template to handle CDX variants, update + type attributes. + (zero_extendhisi2, zero_extendqi2): Add CDX variants to asm + template, update type attributes. + (extendhisi2, extendqi2): Likewise. + (addsi3): Change to use function for asm string. + (subsi3): Add CDX notation to asm template, update type attributes. + (negsi3, one_cmplsi3): Likewise. + (andsi3): New pattern, specialized from logical patterns. + (si3): Remove and case, combine alternatives, update asm + template. + (si3): Add CDX notation, update type attributes. + (rotrsi3): Update type attribute. + (*merge, extzv, insv): New insn patterns. + (return): Change to define_expand. + (simple_return): Add CDX notation, update type attributes. + (indirect_jump): Add CDX notation. + (jump): Update asm cases, update length attribute expression. + (*call, *call_value, *sibcall, *sibcall_value): Add CDX variant. + (nios2_cbranch): Update asm cases and length attribute expression + to handle CDX variants. + (nios2_cmp): Update asm template. + (nop): Add CDX notation, update type attributes. + (trap): Add CDX notation. + (ctrapsi4): Update asm cases and length attribute expression to + handle CDX variant. + * doc/md.texi (Machine Constraints): Document P constraint. + +2015-07-14 Sandra Loosemore + Cesar Philippidis + Chung-Lin Tang + + * config/nios2/nios2.h (SMALL_INT12): New macro. + * config/nios2/nios2.c (nios2_valid_addr_offset_p): New function. + (nios2_valid_addr_expr_p): Use it. + (nios2_symbol_ref_in_small_data_p): Disallow GP-relative addressing + with implicit "io" instructions on R2. + * config/nios2/constraints.md (w): New constraint. + * config/nios2/predicates.md (ldstio_memory_operand): New. + * config/nios2/nios2.md (ldio, ldio): Update memory + operand predicate and constraint. + (ldio_signed, stio>): Likewise. + * doc/md.texi (Machine Constraints): Document w constraint. + +2015-07-14 Sandra Loosemore + Cesar Philippidis + Chung-Lin Tang + + * config/nios2/nios2.opt (march, mbmx, mcdx): New options. + * config/nios2/nios2-opts.h (enum nios2_arch_type): New enum for + Nios II architecture level. + * config/nios2/nios2.h (TARGET_ARCH_R2): New define. + (TARGET_CPU_CPP_BUILTINS): Add definition of __nios2_arch__ symbol. + (OPTION_DEFAULT_SPECS): Define. + (ASM_SPEC): Add -march= spec strings. + * config/nios2/nios2.c (nios2_option_override): Check for + conflicts involving new options. + * config.gcc (nios2*-*-*): Support --with-arch=. + * doc/invoke.texi (Option Summary, Nios II Options): Document + -march=, -mbmx, and -mcdx. + +2015-07-14 Vladimir Makarov + + PR rtl-optimization/66626 + * lra-constraints.c (lra_constraints): Prevent equivalence + substitution for static chain pseudo in functions with nonlocal + goto. + +2015-07-14 Sandra Loosemore + + * config/nios2/nios2.c (TEMP_REG_NUM): Move define up in file. + (nios2_emit_stack_limit_check): Add size parameter. Handle + -fstack-limit-symbol as well as -fstack-limit-register. + (nios2_expand_prologue): Emit only a single stack limit check, + even if multiple stack adjustments are required. + (nios2_option_override): Diagnose unsupported combination of -fpic + and -stack-limit-symbol. + +2015-07-14 H.J. Lu + + * Makefile.in (top_srcdir): New. + * configure.ac: Use AM_ZLIB. + * configure: Regeneated. + +2015-07-14 Matthias Klose + + PR target/66840 + * config/rs6000/t-rs6000 (TM_H): Add rs6000-cpus.def. + +2015-07-14 Richard Biener + + PR tree-optimization/66863 + * tree-vrp.c (register_edge_assert_for_2): Properly restrict + what we record for conversion use stmt lhs inequalities. + +2015-07-14 Richard Biener + + * genmatch.c (dt_node::gen_kids_1): Fix case label indenting. + (decision_tree::gen_gimple): Likewise. + +2015-07-14 Tom de Vries + + * gcc.c (greater_than_spec_func): Declare forward. + (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use gt to ignore + -ftree-parallelize-loops={0,1}. + (static_spec_functions): Add greater_than_spec_func function with name + "gt". + (greater_than_spec_func): New function. + +2015-07-14 Richard Biener + + * tree-ssa-dom.c (record_temporary_equivalences): Merge + wideing type conversion case from record_equivalences_from_incoming_edge + and use record_equality to record equivalences. + (record_equivalences_from_incoming_edge): Call + record_temporary_equivalences. + +2015-07-14 Richard Biener + + * genmatch.c (struct operand): Add OP_IF and OP_WITH op_types. + (struct if_expr): New. + (struct with_expr): Likewise. + (is_a_helper): Add helpers for if_expr and with_expr. + (struct simplify): Add simplify_kind enum and member. Remove + ifexpr_vec member. + (simplify::simplify): Adjust. + (lower_commutative): Adjust. + (lower_opt_convert): Likewise. + (lower_cond): Likewise. + (replace_id): Handle with_expr and if_expr. + (lower_for): Adjust. + (dt_simplify::gen_1): New recursive worker, split out from ... + (dt_simplify::gen): ... here. Deal with if and with expansion + recursively. + (capture_info::capture_info): Take context argument + (capture_info::walk_result): Only analyze specific result. + (parser::parse_result): New function. + (parser::parse_simplify): Adjust to parse ifs with then end + else case. + (parser::parse_if): Simplify. + (parser::parse_pattern): Pass down simplify kind. + * match.pd: Convert if structure to new syntax. + +2015-07-13 Marek Polacek + + * rtl.c (rtx_equal_p_cb): Fix typo. + +2015-07-13 Andrew MacLeod + + * omega.h: Don't include config.h, don't include params.h again if + omega.h has already been included. + * graphite-poly.h: Include sese.h. + * graphite.c: Don't include sese.h, remove needless includes and + minimize includes outside #ifdef HAVE_isl block. + * graphite-blocking.c: Don't include sese.h, remove needless includes, + and wrap entire file in #ifdef HAVE_isl + * graphite-dependences.c: Likewise. + * graphite-interchange.c: Likewise. + * graphite-isl-ast-to-gimple.c: Likewise. + * graphite-optimize-isl.c: Likewise. + * graphite-poly.c: Likewise. + * graphite-scop-detection.c: Likewise. + * graphite-sese-to-poly.c: Likewise. + +2015-07-13 Tom de Vries + + * omp-low.c (build_receiver_ref): Mark *.omp_data_i as non-trapping. + +2015-07-13 Renlin Li + + PR rtl/66556 + * simplify-rtx.c (simplify_const_relational_operation): Add + side_effects_p checks. + +2015-07-12 Aldy Hernandez + + * bitmap.h: Fix double word typos. + * builtins.c: Same. + * calls.c: Same. + * cfgloopmanip.c: Same. + * cgraph.c: Same. + * cgraph.h: Same. + * cgraphclones.c: Same. + * combine.c: Same. + * config/aarch64/aarch64-protos.h: Same. + * config/aarch64/aarch64.c: Same. + * config/aarch64/aarch64.md: Same. + * config/arm/arm.md: Same. + * config/arm/arm1020e.md: Same. + * config/arm/arm1026ejs.md: Same. + * config/arm/arm926ejs.md: Same. + * config/arm/fa526.md: Same. + * config/arm/fa606te.md: Same. + * config/arm/fa626te.md: Same. + * config/arm/fa726te.md: Same. + * config/arm/fmp626.md: Same. + * config/darwin.c: Same. + * config/epiphany/epiphany.c: Same. + * config/frv/frv.c: Same. + * config/ft32/ft32.c: Same. + * config/gnu-user.h: Same. + * config/h8300/constraints.md: Same. + * config/i386/i386.c: Same. + * config/i386/i386.md: Same. + * config/iq2000/iq2000.md: Same. + * config/mips/mips.c: Same. + * config/mmix/mmix.md: Same. + * config/moxie/moxie.c: Same. + * config/nds32/nds32.md: Same. + * config/pa/pa.h: Same. + * config/rs6000/aix.h: Same. + * config/rs6000/rs6000.h: Same. + * config/sh/sh.c: Same. + * config/tilegx/tilegx.md: Same. + * config/tilepro/gen-mul-tables.cc: Same. + * cse.c: Same. + * dbxout.c: Same. + * doc/invoke.texi: Same. + * dse.c: Same. + * dwarf2out.c: Same. + * final.c: Same. + * gcc.c: Same. + * genmatch.c: Same. + * gimplify.c: Same. + * hash-table.h: Same. + * internal-fn.c: Same. + * ipa-cp.c: Same. + * ipa-devirt.c: Same. + * ipa-icf.c: Same. + * ipa-icf.h: Same. + * ipa-profile.c: Same. + * ipa-prop.c: Same. + * ipa-prop.h: Same. + * ira.c: Same. + * omp-low.c: Same. + * reg-stack.c: Same. + * regcprop.c: Same. + * reorg.c: Same. + * rtl.h: Same. + * sbitmap.h: Same. + * tree-eh.c: Same. + * tree-inline.c: Same. + * tree-sra.c: Same. + * tree-ssa-dom.c: Same. + * tree-ssa-loop-ivopts.c: Same. + * tree-ssa-structalias.c: Same. + * tree-ssa-tail-merge.c: Same. + * tree-ssa-ter.c: Same. + * tree-ssa-threadupdate.c: Same. + * tree-ssa-uninit.c: Same. + * tree-ssanames.c: Same. + * tree-vect-loop-manip.c: Same. + * tree-vrp.c: Same. + * tree.c: Same. + * valtrack.c: Same. + * vec.h: Same. + +2015-07-12 Kugan Vivekanandarajah + + PR middle-end/66726 + * tree-ssa-phiopt.c(factor_out_conditional_conversion): New function. + tree_ssa_phiopt_worker): Call it. + +2015-07-12 Kugan Vivekanandarajah + + * cse.c (cse_insn): Calculate src_eqv for ZERO_EXTRACT. + * emit-rtl.c (set_for_reg_notes): Allow ZERO_EXTRACT to set + REG_EQUAL note. + +2015-07-11 Marek Polacek + + PR middle-end/66353 + * basic-block.h (has_abnormal_call_or_eh_pred_edge_p): New function. + * ira-lives.c (bb_has_abnormal_call_pred): Remove function. + (process_bb_node_lives): Call has_abnormal_call_or_eh_pred_edge_p + rather than bb_has_abnormal_call_pred. + * lra-lives.c (bb_has_abnormal_call_pred): Remove function. + (process_bb_lives): Call has_abnormal_call_or_eh_pred_edge_p + rather than bb_has_abnormal_call_pred. + +2015-07-10 Anatoly Sokolov + + * config/v850/v850.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, + REG_OK_FOR_BASE_P_STRICT, REG_OK_FOR_INDEX_P_STRICT, STRICT, + RTX_OK_FOR_BASE_P, GO_IF_LEGITIMATE_ADDRESS): Remove macros. + * config/v850/v850.c (v850_reg_ok_for_base_, v850_rtx_ok_for_base_p, + v850_legitimate_address_p): New functions. + (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define. + +2015-07-10 H.J. Lu + + PR target/66819 + * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow + indirect sibcall with register arguments if register available + for argument passing. + (init_cumulative_args): Set cfun->machine->arg_reg_available + to (cum->nregs > 0) or to true if function has a variable + argument list. + (function_arg_advance_32): Set cfun->machine->arg_reg_available + to false if cum->nregs <= 0. + * config/i386/i386.h (machine_function): Add arg_reg_available. + +2015-07-10 Uros Bizjak + + * config/i386/sse.md (movdi_to_sse): Use gen_lowpart + and gen_higpart instead of gen_rtx_SUBREG. + * config/i386/i386.md + (floatdi2_i387_with_xmm splitter): Ditto. + (read-modify peephole2): Use gen_lowpart instead of + gen_rtx_SUBREG for operand 5. + +2015-07-10 Andrew MacLeod + + * config/tilepro/gen-mul-tables.cc (main): Change include list for + generated files. + * config/tilepro/mul-tables.c: Regenerate. + * config/tilegx/mul-tables.c: Regenerate. + +2015-07-10 Richard Biener + + * fold-const.c (distribute_bit_expr): Remove. + (fold_binary_loc): Move simplifying (A & C1) + (B & C2) + to (A & C1) | (B & C2), distributing (A & B) | (A & C) + to A & (B | C) and simplifying A << C1 << C2 to ... + * match.pd: ... patterns here. + +2015-07-10 Jiong Wang + + * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): + Mark mem as READONLY and NOTRAP for PIC symbol. + +2015-07-10 Andrew MacLeod + + * gimple-predict.h: New file. + (gimple_predict_predictor, gimple_predict_set_predictor, + gimple_predict_outcome, gimple_predict_set_outcome, + gimple_build_predict): Relocate here. + * gimple.h (gimple_predict_predictor, gimple_predict_set_predictor, + gimple_predict_outcome, gimple_predict_set_outcome): Move to + gimple-predict.h. + * gimple.c (gimple_build_predict): Move to gimple-predict.h + * basic-block.h: Don't include cfghooks.h. + * backend.h: Don't include predict.h. + * cfghooks.h: Include predict.h. + * gimple-pretty-print.c: Include gimple-predict.h. + * gimplify.c: Likwise. + * predict.c: Adjust includes. + * tree-inline.c: Likewise. + * asan.c: Likewise. + * auto-inc-dec.c: Likewise. + * auto-profile.c: Likewise. + * bb-reorder.c: Likewise. + * builtins.c: Likewise. + * caller-save.c: Likewise. + * calls.c: Likewise. + * cfganal.c: Likewise. + * cfgbuild.c: Likewise. + * cfg.c: Likewise. + * cfgcleanup.c: Likewise. + * cfgexpand.c: Likewise. + * cfghooks.c: Likewise. + * cfgloopanal.c: Likewise. + * cfgloop.c: Likewise. + * cfgloopmanip.c: Likewise. + * cfgrtl.c: Likewise. + * cgraph.c: Likewise. + * cgraphunit.c: Likewise. + * combine.c: Likewise. + * cprop.c: Likewise. + * cse.c: Likewise. + * dce.c: Likewise. + * dojump.c: Likewise. + * dse.c: Likewise. + * except.c: Likewise. + * expmed.c: Likewise. + * expr.c: Likewise. + * final.c: Likewise. + * fold-const.c: Likewise. + * function.c: Likewise. + * fwprop.c: Likewise. + * gcc-plugin.h: Likewise. + * gcse.c: Likewise. + * genattrtab.c: Likewise. + * genemit.c: Likewise. + * gengtype.c: Likewise. + * genopinit.c: Likewise. + * genoutput.c: Likewise. + * genpreds.c: Likewise. + * genrecog.c: Likewise. + * gimple-fold.c: Likewise. + * gimple-iterator.c: Likewise. + * gimple-ssa-isolate-paths.c: Likewise. + * gimple-ssa-strength-reduction.c: Likewise. + * graph.c: Likewise. + * graphite-blocking.c: Likewise. + * graphite.c: Likewise. + * graphite-dependences.c: Likewise. + * graphite-interchange.c: Likewise. + * graphite-isl-ast-to-gimple.c: Likewise. + * graphite-optimize-isl.c: Likewise. + * graphite-poly.c: Likewise. + * graphite-scop-detection.c: Likewise. + * graphite-sese-to-poly.c: Likewise. + * haifa-sched.c: Likewise. + * ifcvt.c: Likewise. + * internal-fn.c: Likewise. + * ipa-cp.c: Likewise. + * ipa-profile.c: Likewise. + * ipa-split.c: Likewise. + * ipa-utils.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. + * jump.c: Likewise. + * loop-doloop.c: Likewise. + * loop-init.c: Likewise. + * loop-invariant.c: Likewise. + * loop-unroll.c: Likewise. + * lower-subreg.c: Likewise. + * lra-assigns.c: Likewise. + * lra.c: Likewise. + * lra-coalesce.c: Likewise. + * lra-constraints.c: Likewise. + * lra-lives.c: Likewise. + * lto-cgraph.c: Likewise. + * lto-streamer-in.c: Likewise. + * mode-switching.c: Likewise. + * modulo-sched.c: Likewise. + * omp-low.c: Likewise. + * optabs.c: Likewise. + * passes.c: Likewise. + * postreload.c: Likewise. + * postreload-gcse.c: Likewise. + * profile.c: Likewise. + * recog.c: Likewise. + * regstat.c: Likewise. + * reload1.c: Likewise. + * reorg.c: Likewise. + * rtlanal.c: Likewise. + * sched-ebb.c: Likewise. + * sel-sched-ir.c: Likewise. + * sese.c: Likewise. + * shrink-wrap.c: Likewise. + * simplify-rtx.c: Likewise. + * stmt.c: Likewise. + * store-motion.c: Likewise. + * tracer.c: Likewise. + * trans-mem.c: Likewise. + * tree-call-cdce.c: Likewise. + * tree-cfg.c: Likewise. + * tree-cfgcleanup.c: Likewise. + * tree-chkp.c: Likewise. + * tree-complex.c: Likewise. + * tree-eh.c: Likewise. + * tree-if-conv.c: Likewise. + * tree-loop-distribution.c: Likewise. + * tree-outof-ssa.c: Likewise. + * tree-parloops.c: Likewise. + * tree-predcom.c: Likewise. + * tree-pretty-print.c: Likewise. + * tree-profile.c: Likewise. + * tree-sra.c: Likewise. + * tree-ssa.c: Likewise. + * tree-ssa-coalesce.c: Likewise. + * tree-ssa-dce.c: Likewise. + * tree-ssa-dom.c: Likewise. + * tree-ssa-forwprop.c: Likewise. + * tree-ssa-ifcombine.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-prefetch.c: Likewise. + * tree-ssa-loop-unswitch.c: Likewise. + * tree-ssa-math-opts.c: Likewise. + * tree-ssa-phiopt.c: Likewise. + * tree-ssa-pre.c: Likewise. + * tree-ssa-reassoc.c: Likewise. + * tree-ssa-sink.c: Likewise. + * tree-ssa-tail-merge.c: Likewise. + * tree-ssa-threadedge.c: Likewise. + * tree-ssa-threadupdate.c: Likewise. + * tree-switch-conversion.c: Likewise. + * tree-tailcall.c: Likewise. + * tree-vect-data-refs.c: Likewise. + * tree-vect-loop.c: Likewise. + * tree-vect-loop-manip.c: Likewise. + * tree-vectorizer.c: Likewise. + * tree-vrp.c: Likewise. + * ubsan.c: Likewise. + * value-prof.c: Likewise. + * varasm.c: Likewise. + * var-tracking.c: Likewise. + * config/aarch64/aarch64-builtins.c: Likewise. + * config/aarch64/aarch64.c: Likewise. + * config/aarch64/cortex-a57-fma-steering.c: Likewise. + * config/alpha/alpha.c: Likewise. + * config/arc/arc.c: Likewise. + * config/arm/arm.c: Likewise. + * config/avr/avr.c: Likewise. + * config/bfin/bfin.c: Likewise. + * config/c6x/c6x.c: Likewise. + * config/cr16/cr16.c: Likewise. + * config/cris/cris.c: Likewise. + * config/darwin.c: Likewise. + * config/darwin-c.c: Likewise. + * config/epiphany/epiphany.c: Likewise. + * config/epiphany/mode-switch-use.c: Likewise. + * config/epiphany/resolve-sw-modes.c: Likewise. + * config/fr30/fr30.c: Likewise. + * config/frv/frv.c: Likewise. + * config/ft32/ft32.c: Likewise. + * config/h8300/h8300.c: Likewise. + * config/i386/i386.c: Likewise. + * config/i386/winnt.c: Likewise. + * config/ia64/ia64.c: Likewise. + * config/iq2000/iq2000.c: Likewise. + * config/lm32/lm32.c: Likewise. + * config/m32c/m32c.c: Likewise. + * config/m32r/m32r.c: Likewise. + * config/m68k/m68k.c: Likewise. + * config/mcore/mcore.c: Likewise. + * config/mep/mep.c: Likewise. + * config/microblaze/microblaze.c: Likewise. + * config/mips/mips.c: Likewise. + * config/mmix/mmix.c: Likewise. + * config/mn10300/mn10300.c: Likewise. + * config/moxie/moxie.c: Likewise. + * config/msp430/msp430.c: Likewise. + * config/nds32/nds32.c: Likewise. + * config/nds32/nds32-cost.c: Likewise. + * config/nds32/nds32-fp-as-gp.c: Likewise. + * config/nds32/nds32-intrinsic.c: Likewise. + * config/nds32/nds32-isr.c: Likewise. + * config/nds32/nds32-md-auxiliary.c: Likewise. + * config/nds32/nds32-memory-manipulation.c: Likewise. + * config/nds32/nds32-pipelines-auxiliary.c: Likewise. + * config/nds32/nds32-predicates.c: Likewise. + * config/nios2/nios2.c: Likewise. + * config/nvptx/nvptx.c: Likewise. + * config/pa/pa.c: Likewise. + * config/pdp11/pdp11.c: Likewise. + * config/rl78/rl78.c: Likewise. + * config/rs6000/rs6000.c: Likewise. + * config/rx/rx.c: Likewise. + * config/s390/s390.c: Likewise. + * config/sh/sh.c: Likewise. + * config/sh/sh-mem.cc: Likewise. + * config/sh/sh_optimize_sett_clrt.cc: Likewise. + * config/sh/sh_treg_combine.cc: Likewise. + * config/sparc/sparc.c: Likewise. + * config/spu/spu.c: Likewise. + * config/stormy16/stormy16.c: Likewise. + * config/tilegx/tilegx.c: Likewise. + * config/tilepro/tilepro.c: Likewise. + * config/v850/v850.c: Likewise. + * config/vax/vax.c: Likewise. + * config/visium/visium.c: Likewise. + * config/xtensa/xtensa.c: Likewise. + +2015-07-10 Richard Biener + + * genmatch.c (dt_node::gen_kids_1): Fix indenting of case labels. + (decision_tree::gen_gimple): Likewise. + (decision_tree::gen_generic): Likewise. + +2015-07-10 Uros Bizjak + + PR target/66813 + * config/i386/i386.c (ix86_md_asm_adjust): Emit movstrictqi + sequence for TARGET_ZERO_EXTEND_WITH_AND targets. + +2015-07-10 Jakub Jelinek + + PR middle-end/66820 + * gimplify.c (maybe_fold_stmt): Don't fold in ORT_PARALLEL + or ORT_TASK contexts. + * omp-low.c (lower_omp): Call fold_stmt even if taskreg_nesting_level + is non-zero. + +2015-07-10 Kyrylo Tkachov + + * expr.c (expand_cond_expr_using_cmove): Fix typos in comment + above function. + +2015-07-10 Tom de Vries + + * tree-parloops.c (try_transform_to_exit_first_loop_alt): If not found, + insert nit + 1 bound. + +2015-07-10 Richard Biener + + * tree-if-conv.c (if_convertible_gimple_assign_stmt_p): + Use ifcvt_could_trap_p also when not flag_tree_loop_if_convert_stores. + (if_convertible_loop_p_1): For this always compute bb predicates. + (if_convertible_loop_p): And free them. + +2015-07-10 Bernhard Reutner-Fischer + + * ipa-icf.c (sem_item_optimizer::do_congruence_step): Fix typo + in dump message. + +2015-07-10 Richard Biener + + PR tree-optimization/66823 + * tree-if-conv.c (memrefs_read_or_written_unconditionally): Fix + inverted predicate. + +2015-07-09 Steve Ellcey + + * config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): Update + to handle mips[32|64]r3 and mips[32|64]r5. + +2015-07-09 Jakub Jelinek + + PR middle-end/66633 + * tree-nested.c (get_static_chain): Or in a flag into + info->static_chain_added. + (get_frame_field, get_nonlocal_debug_decl): Likewise. + (convert_nonlocal_omp_clauses, convert_local_omp_clauses): Revert + 2015-07-01 changes. + (convert_tramp_reference_stmt): If a frame_decl or chain_decl + is needed newly inside of GIMPLE_OMP_{PARALLEL,TASK,TARGET} body, + add it to clauses. + + PR tree-optimization/66718 + * tree-vect-stmts.c (struct simd_call_arg_info): Add simd_lane_linear + field. + (vect_simd_lane_linear): New function. + (vectorizable_simd_clone_call): Support using linear arguments for + addresses of arrays elements indexed by GOMP_SIMD_LANE result. + +2015-07-09 H.J. Lu + + PR target/66821 + * config/i386/i386.c (iamcu_cost): Adjust variable shift costs. + +2015-07-09 Michael Meissner + + * config/rs6000/rs6000-protos.h (rs6000_secondary_reload_memory): + Use machine mode, not enum machine_mode in the prototype. + + * config/rs6000/rs6000.h (FLOAT128_IEEE_P): New helper macros to + classify 128-bit floating point support. + (FLOAT128_IBM_P): Likewise. + (FLOAT128_VECTOR_P): Likewise. + (FLOAT128_2REG_P): Likewise. + (SCALAR_FLOAT_MODE_NOT_VECTOR_P): Likewise. + (SLOW_UNALIGNED_ACCESS): Add IEEE 128-bit floating point support. + (HARD_REGNO_CALLER_SAVE_MODE): Likewise. + (HARD_REGNO_CALL_PART_CLOBBERED): Likewise. + + * config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Drop + tests against TFmode/TDmode, since those modes do not use VSX + addresses. + (rs6000_hard_regno_mode_ok): Add IEEE 128-bit floating point + support. + (rs6000_init_hard_regno_mode_ok): Use new helper macros instead of + tests against TFmode, etc. + (invalid_e500_subreg): Add tests against IFmode/KFmode. + (reg_offset_addressing_ok_p): Likewise. + (rs6000_legitimate_offset_address_p): Likewise. + (rs6000_legitimize_address): Likewise. + (rs6000_legitimize_reload_address): Likewise. + (rs6000_legitimate_address_p): Clean up tests against TFmode and + TDmode to use the new helper macros, which will include IFmode and + KFmode. + (rs6000_emit_move): Likewise. + (rs6000_darwin64_record_arg_recurse): Likewise. + (print_operand): Likewise. + (rs6000_member_type_forces_blk): Treat IEEE 128-bit floating point + that uses a single vector register as a vector and not as a + floating point register in terms of the calling sequence. + (rs6000_discover_homogeneous_aggregate): Likewise. + (rs6000_return_in_memory): Likewise. + (init_cumulative_args): Likewise. + (rs6000_function_arg_boundary): Likewise. + (rs6000_function_arg_advance_1): Likewise. + (rs6000_function_arg): Likewise. + (rs6000_pass_by_reference): Likewise. + (rs6000_gimplify_va_arg): Likewise. + (rs6000_secondary_reload_memory): Use machine_mode not enum + machine mode. + (rs6000_split_multireg_move): Use new helper macros. + (spe_func_has_64bit_regs_p): Likewise. + (rs6000_output_function_epilogue): Add IFmode/KFmode support. + (output_toc): Use new helper macros. + (rs6000_register_move_cost): Likewise. + (rs6000_function_value): Add IEEE 128-bit floating point calling + sequence support. + (rs6000_libcall_value): Likewise. + (rs6000_scalar_mode_supported_p): Add support for IEEE 128-bit + floating point support. + (rs6000_vector_mode_supported_p): Likewise. + +2015-07-09 Vladimir Makarov + + PR rtl-optimization/66782 + * lra-int.h (struct lra_insn_recog_data): Add comment about + clobbered hard regs for arg_hard_regs. + * lra.c (lra_set_insn_recog_data): Add clobbered hard regs. + * lra-lives.c (process_bb_lives): Process clobbered hard regs. + Add condition for processing used hard regs. + * lra-constraints.c (update_ebb_live_info, inherit_in_ebb): + Process clobbered hard regs. + +2015-07-09 Michael Matz + + * genmatch.c (fprintf_indent): New function. + (operand::gen_transform): Add indent parameter. + (expr::gen_transform, c_expr::gen_transform, + capture::gen_transform): Ditto and use fprintf_indent. + (dt_node::gen, dt_node::gen_kids, dt_node::gen_kids_1): Ditto. + (dt_operand::gen, dt_operand::gen_predicate, + dt_operand::gen_match_op, dt_operand::gen_gimple_expr, + dt_operand::gen_generic_expr, dt_simplify::gen): Ditto. + (decision_tree::gen_gimple): Adjust calls and indent generated + code. + (decision_tree::gen_generic): Ditto. + (write_predicate): Ditto. + +2015-07-08 Uros Bizjak + + PR target/66814 + * config/i386/predicates.md (nonimmediate_gr_operand): New predicate. + * config/i386/i386.md (not peephole2): Use nonimmediate_gr_operand. + (varous peephole2s): Use {GENERAL,SSE,MMX}_REGNO_P instead of + {GENERAL,SSE,MMX}_REG_P where appropriate. + +2015-07-09 Andrew MacLeod + + * lto-streamer.h: Don't include target.h and alloc-pool.h. + * builtins.c: Adjust includes. + * gimple.c: Likewise. + * ipa-icf.c: Likewise. + * lto-opts.c: Likewise. + * ipa-reference.c: Likewise. + * lto-section-out.c: Likewise. + * lto-streamer-in.c: Likewise. + * lto-streamer-out.c: Likewise. + * opts-global.c: Likewise. + * symtab.c: Likewise. + * tree-chkp.c: Likewise. + * tree-ssa-live.c: Likewise. + * tree-streamer-in.c: Likewise. + * tree-streamer-out.c: Likewise. + * config/darwin.c: Likewise. + * config/i386/winnt.c: Likewise. + +2015-07-09 Richard Biener + + * genmatch.c (struct expr): Add force_single_use flag. + (expr::expr): Add copy constructor. + (capture_info::walk_match): Gather force_single_use captures. + (expr::gen_transform): Use possibly NULLified sequence. + (dt_simplify::gen): Apply single-use restrictions by NULLifying + seq if any constrained expr is not single-use. + (parser::parse_expr): Refactor to allow multiple flags. Handle + 's' flag to force an expression have a single-use if the pattern + simplifies to more than one statement. + * match.pd: Convert most single_use conditionals to :s flags. + +2015-07-09 H.J. Lu + + * config/i386/iamcu.h (ASM_OUTPUT_ALIGNED_BSS): New. + (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise. + (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise. + +2015-07-09 Andrew MacLeod + + * flags.h: Don't include flag-types.h or options.h. + * opts-common.c: Adjust includes. + * opts-global.c: Likewise. + * common/config/epiphany/epiphany-common.c: Likewise. + +2015-07-09 H.J. Lu + + PR target/66818 + * config/i386/i386.h (ATTRIBUTE_ALIGNED_VALUE): Defined to 32 + for IA MCU. + +2015-07-09 H.J. Lu + + PR target/66817 + * config/i386/i386.c (ix86_return_in_memory): Return true + if int_size_in_bytes returns negative for IA MCU. + +2015-07-09 Marek Polacek + + PR tree-optimization/66718 + * Makefile.in (OBJS): Add gimple-laddress.o. + * passes.def: Schedule pass_laddress. + * timevar.def (DEFTIMEVAR): Add TV_GIMPLE_LADDRESS. + * tree-pass.h (make_pass_laddress): Declare. + * gimple-laddress.c: New file. + +2015-07-09 Richard Biener + + * toplev.c (compile_file): Reset maximum_field_alignment after parsing. + +2015-07-09 Richard Biener + + PR tree-optimization/66807 + * tree-chkp-opt.c (chkp_opt_fini): Free post dominator info. + +2015-07-08 Kito Cheng + + * function.c (stack_protect_epilogue): Use if rather than switch for + check targetm.have_stack_protect_test. + +2015-07-08 Trevor Saunders + + * defaults.h: Provide default for WORD_REGISTER_OPERATIONS. + * config/alpha/alpha.h: Define WORD_REGISTER_OPERATIONS to 1. + * config/arc/arc.h: Likewise. + * config/arm/arm.h: Likewise. + * config/bfin/bfin.h: Likewise. + * config/epiphany/epiphany.h: Likewise. + * config/frv/frv.h: Likewise. + * config/ia64/ia64.h: Likewise. + * config/iq2000/iq2000.h: Likewise. + * config/lm32/lm32.h: Likewise. + * config/m32r/m32r.h: Likewise. + * config/mcore/mcore.h: Likewise. + * config/mep/mep.h: Likewise. + * config/microblaze/microblaze.h: Likewise. + * config/mips/mips.h: Likewise. + * config/mmix/mmix.h: Likewise. + * config/mn10300/mn10300.h: Likewise. + * config/nds32/nds32.h: Likewise. + * config/nios2/nios2.h: Likewise. + * config/pa/pa.h: Likewise. + * config/rl78/rl78.h: Likewise. + * config/sh/sh.h: Likewise. + * config/sparc/sparc.h: Likewise. + * config/stormy16/stormy16.h: Likewise. + * config/tilegx/tilegx.h: Likewise. + * config/tilepro/tilepro.h: Likewise. + * config/v850/v850.h: Likewise. + * config/xtensa/xtensa.h: Likewise. + * doc/tm.texi: Regenerate. + * doc/tm.texi.in: Adjust. + * combine.c (simplify_set): Likewise. + (simplify_comparison): Likewise. + * expr.c (store_constructor): Likewise. + * internal-fn.c (expand_arith_overflow): Likewise. + * reload.c (push_reload): Likewise. + (find_reloads): Likewise. + (find_reloads_subreg_address): Likewise. + * reload1.c (eliminate_regs_1): Likewise. + * rtlanal.c (nonzero_bits1): Likewise. + (num_sign_bit_copies1): Likewise. + * simplify-rtx.c (simplify_truncation): Likewise. + +2015-07-08 Trevor Saunders + + * auto-inc-dec.c (pass_inc_dec::execute): Don't check the value + of AUTO_INC_DEC with the preprocessor. + * combine.c (combine_instructions): Likewise. + (can_combine_p): Likewise. + (try_combine): Likewise. + * emit-rtl.c (try_split): Likewise. + * loop-invariant.c (calculate_loop_reg_pressure): Likewise. + * lower-subreg.c (resolve_simple_move): Likewise. + * lra.c (update_inc_notes): Likewise. + * recog.c (asm_operand_ok): Likewise. + (constrain_operands): Likewise. + * regrename.c (scan_rtx_address): Likewise. + * reload.c (update_auto_inc_notes): Likewise. + (reg_inc_found_and_valid_p): Likewise. + * reload1.c (reload): Likewise. + (emit_input_reload_insns): Likewise. + (delete_output_reload): Likewise. + * sched-deps.c (init_insn_reg_pressure_info): Likewise. + * valtrack.c (cleanup_auto_inc_dec): Likewise. + +2015-07-08 Trevor Saunders + + * rtl.h: Always define AUTO_INC_DEC. + * auto-inc-dec.c (pass_inc_dec::execute): Adjust. + * combine.c (combine_instructions): Likewise. + (can_combine_p): Likewise. + (try_combine): Likewise. + * emit-rtl.c (try_split): Likewise. + * loop-invariant.c (calculate_loop_reg_pressure): Likewise. + * lower-subreg.c (resolve_simple_move): Likewise. + * lra.c (update_inc_notes): Likewise. + * recog.c (asm_operand_ok): Likewise. + (constrain_operands): Likewise. + * regrename.c (scan_rtx_address): Likewise. + * reload.c (update_auto_inc_notes): Likewise. + (find_equiv_reg): Likewise. + * reload1.c (reload): Likewise. + (reload_as_needed): Likewise. + (choose_reload_regs): Likewise. + (emit_input_reload_insns): Likewise. + (delete_output_reload): Likewise. + * sched-deps.c (init_insn_reg_pressure_info): Likewise. + * valtrack.c (cleanup_auto_inc_dec): Likewise. + +2015-07-08 Trevor Saunders + + * combine.c (can_combine_def_p): Don't check the value of + HARD_FRAME_POINTER_IS_FRAME_POINTER with the preprocessor. + (combinable_i3pat): Likewise. + (mark_used_regs_combine): Likewise. + * regrename.c (rename_chains): Likewise. + * reload.c (find_reloads_address): Likewise. + * sel-sched.c (mark_unavailable_hard_regs): Likewise. + +2015-07-08 Trevor Saunders + + * combine.c (update_rsp_from_reg_equal): Don't check if + SHORT_IMMEDIATES_SIGN_EXTEND is defined. + (reg_nonzero_bits_for_combine): Likewise. + * config/alpha/alpha.h: Define SHORT_IMMEDIATES_SIGN_EXTEND to + 1. + * config/frv/frv.h: Likewise. + * config/lm32/lm32.h: Likewise. + * config/mep/mep.h: Likewise. + * config/mips/mips.h: Likewise. + * config/rs6000/rs6000.h: Likewise. + * config/sh/sh.h: Likewise. + * config/tilegx/tilegx.h (enum reg_class): Likewise. + * config/tilepro/tilepro.h: Likewise. + * defaults.h: Add default for SHORT_IMMEDIATES_SIGN_EXTEND. + * doc/tm.texi: Regenerate. + * doc/tm.texi.in: Adjust. + * rtlanal.c (nonzero_bits1): Likewise. + +2015-07-08 Trevor Saunders + + * combine.c (do_SUBST_MODE): Don't check the value of HAVE_cc0 + with the preprocessor. + (combine_instructions): Likewise. + (try_combine): Likewise. + (subst): Likewise. + (distribute_notes): Likewise. + +2015-07-08 Trevor Saunders + + * combine.c (try_combine): Don't check if LOAD_EXTEND_OP is + defined. + (simplify_set): Likewise. + * cse.c (cse_insn): Likewise. + * fold-const.c (fold_single_bit_test): Likewise. + (fold_unary_loc): Likewise. + * postreload.c (reload_cse_simplify_set): Likewise. + (reload_cse_simplify_operands): Likewise. + +2015-07-08 Jiong Wang + + * config/aarch64/aarch64.c (aarch64_unspec_may_trap_p): New function. + (TARGET_UNSPEC_MAY_TRAP_P): Define as aarch64_unspec_may_trap_p. + +2015-07-08 H.J. Lu + + PR target/66746 + * config/i386/x86intrin.h: Include even if + __iamcu__ is defined. + +2015-07-08 Uros Bizjak + + * config/i386/predicates.md (general_reg_operand): Use GENERAL_REGNO_P. + +2015-07-08 Iain Sandoe + + PR target/66523 + * config/darwin.c (darwin_mark_decl_preserved): Exclude 'L' label + names from preservation. + +2015-07-08 H.J. Lu + + PR target/66806 + * config/i386/i386.c (type_natural_mode): Don't warn vector ABI + change for IAMCU. + (function_arg_advance_32): Don't pass vectors in registers for + IAMCU. + (function_arg_32): Likewise. + (ix86_return_in_memory): Don't return vectors in registers for + IAMCU. + +2015-07-08 Vladimir Makarov + + PR middle-end/66334 + * ira-lives.c (process_bb_node_lives): Make conflicts with PIC + hard regno live at the start of BB with incoming abnormal edges. + * lra-lives.c (process_bb_lives): Ditto. + +2015-07-08 Thomas Schwinge + + PR libgomp/65099 + * config/nvptx/mkoffload.c (main): Create an offload image only in + 64-bit configurations. + +2015-07-08 Martin Liska + + PR bootstrap/66744 + * tree-sra.c (create_access_1): Call ctor without brackets. + (create_artificial_child_access): Likewise. + +2015-07-08 Richard Biener + + PR tree-optimization/66793 + * gimple-ssa-isolate-paths.c (insert_trap_and_remove_trailing_statemen): + Properly split the block after stmts ending it. + +2015-07-08 Richard Biener + + PR tree-optimization/66794 + * passes.c (execute_function_todo): Assert that post-dominators + are not computed. + * gimple-ssa-isolate-paths.c (gimple_ssa_isolate_erroneous_paths): + Free post-dominators. + +2015-07-08 Andreas Krebbel + + * config/s390/s390.c (s390_init_frame_layout): Replace assertion + with early exit. + +2015-07-08 Uros Bizjak + + * config/i386/i386.md (*jcc_bt): Only allow const_int values + more than or equal 8 and less than 32 when optimizing for size. + +2015-07-08 Kyrylo Tkachov + + * config/arm/arm.c (arm_new_rtx_costs): Initialise cost to + COSTS_N_INSNS (1) and increment it appropriately throughout the + function. + +2015-07-08 Richard Biener + + * fold-const.c (fold_widened_comparison): Fix inverted comparison. + +2015-07-08 Alan Modra + + * target.def (rtx_costs): Remove "code" param, add "mode". + * rtl.h (rtx_cost, get_full_rtx_cost): Update prototype. + (set_src_cost, get_full_set_src_cost): Likewise. Move later in file. + (set_rtx_cost, get_full_set_rtx_cost): Move later in file. + * rtlanal.c (rtx_cost): Add "mode" parameter. Update targetm.rtx_costs + call. Track mode when given in rtx. + (get_full_rtx_cost): Add "mode" parameter. Update rtx_cost calls. + (default_address_cost): Pass Pmode to rtx_cost. + (insn_rtx_cost): Pass dest mode of set to set_src_cost. + * cprop.c (try_replace_reg): Ensure set_rtx_cost is not called + with NULL set. + * cse.c (COST, COST_IN): Add MODE param. Update all uses. + (notreg_cost): Add mode param. Use it. + * gcse.c (want_to_gcse_p): Delete forward declaration. Add + mode param and pass to set_src_cost. Update all calls. + (hash_scan_set): Formatting. + * hooks.c (hook_bool_rtx_int_int_int_intp_bool_false): Delete. + (hook_bool_rtx_mode_int_int_intp_bool_false): New function. + * hooks.h: Ditto. + * expmed.c (init_expmed_one_conv, init_expmed_one_mode, + init_expmed, expand_mult, mult_by_coeff_cost, expand_smod_pow2, + emit_store_flag): Update set_src_cost and rtx_cost calls. + * auto-inc-dec.c (attempt_change): Likewise. + * calls.c (precompute_register_parameters): Likewise. + * combine.c (expand_compound_operation, make_extraction, + force_to_mode, distribute_and_simplify_rtx): Likewise. + * dojump.c (prefer_and_bit_test): Likewise. + * dse.c (find_shift_sequence): Likewise. + * expr.c (compress_float_constant): Likewise. + * fwprop.c (should_replace_address, try_fwprop_subst): Likewise. + * ifcvt.c (noce_try_sign_mask): Likewise. + * loop-doloop.c (doloop_optimize): Likewise. + * loop-invariant.c (create_new_invariant): Likewise. + * lower-subreg.c (shift_cost, compute_costs): Likewise. + * optabs.c (avoid_expensive_constant, prepare_cmp_insn, + lshift_cheap_p): Likewise. + * postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands, + try_replace_in_use, reload_cse_move2add): Likewise. + * reload1.c (calculate_elim_costs_all_insns, note_reg_elim_costly): + Likewise. + * simplify-rtx.c (simplify_binary_operation_1): Likewise. + * tree-ssa-loop-ivopts.c (computation_cost): Likewise. + * tree-ssa-reassoc.c (optimize_range_tests_to_bit_test): Likewise. + * tree-switch-conversion.c (emit_case_bit_tests): Likewise. + * config/aarch64/aarch64.c (aarch64_rtx_costs): Delete "code" param, + add "mode" param. Use "mode: in place of GET_MODE (x). Pass mode + to rtx_cost calls. + * config/alpha/alpha.c (alpha_rtx_costs): Likewise. + * config/arc/arc.c (arc_rtx_costs): Likewise. + * config/arm/arm.c (arm_rtx_costs): Likewise. + * config/avr/avr.c (avr_rtx_costs, avr_rtx_costs_1): Likewise. + * config/bfin/bfin.c (bfin_rtx_costs): Likewise. + * config/c6x/c6x.c (c6x_rtx_costs): Likewise. + * config/cris/cris.c (cris_rtx_costs): Likewise. + * config/epiphany/epiphany.c (epiphany_rtx_costs): Likewise. + * config/frv/frv.c (frv_rtx_costs): Likewise. + * config/h8300/h8300.c (h8300_rtx_costs): Likewise. + * config/i386/i386.c (ix86_rtx_costs): Likewise. + * config/ia64/ia64.c (ia64_rtx_costs): Likewise. + * config/iq2000/iq2000.c (iq2000_rtx_costs): Likewise. + * config/lm32/lm32.c (lm32_rtx_costs): Likewise. + * config/m32c/m32c.c (m32c_rtx_costs): Likewise. + * config/m32r/m32r.c (m32r_rtx_costs): Likewise. + * config/m68k/m68k.c (m68k_rtx_costs): Likewise. + * config/mcore/mcore.c (mcore_rtx_costs): Likewise. + * config/mep/mep.c (mep_rtx_cost): Likewise. + * config/microblaze/microblaze.c (microblaze_rtx_costs): Likewise. + * config/mips/mips.c (mips_rtx_costs): Likewise. + * config/mmix/mmix.c (mmix_rtx_costs): Likewise. + * config/mn10300/mn10300.c (mn10300_rtx_costs): Likewise. + * config/msp430/msp430.c (msp430_rtx_costs): Likewise. + * config/nds32/nds32-cost.c (nds32_rtx_costs_impl): Likewise. + * config/nds32/nds32-protos.h (nds32_rtx_costs_impl): Likewise. + * config/nds32/nds32.c (nds32_rtx_costs): Likewise. + * config/nios2/nios2.c (nios2_rtx_costs): Likewise. + * config/pa/pa.c (hppa_rtx_costs): Likewise. + * config/pdp11/pdp11.c (pdp11_rtx_costs): Likewise. + * config/rl78/rl78.c (rl78_rtx_costs): Likewise. + * config/rs6000/rs6000.c (rs6000_rtx_costs): Likewise. + * config/s390/s390.c (s390_rtx_costs): Likewise. + * config/sh/sh.c (sh_rtx_costs): Likewise. + * config/sparc/sparc.c (sparc_rtx_costs): Likewise. + * config/spu/spu.c (spu_rtx_costs): Likewise. + * config/stormy16/stormy16.c (xstormy16_rtx_costs): Likewise. + * config/tilegx/tilegx.c (tilegx_rtx_costs): Likewise. + * config/tilepro/tilepro.c (tilepro_rtx_costs): Likewise. + * config/v850/v850.c (v850_rtx_costs): Likewise. + * config/vax/vax.c (vax_rtx_costs): Likewise. + * config/visium/visium.c (visium_rtx_costs): Likewise. + * config/xtensa/xtensa.c (xtensa_rtx_costs): Likewise. + * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Change type of + "code" param, and pass as outer_code to first rtx_cost call. Pass + mode to rtx_cost calls. + (aarch64_address_cost, aarch64_if_then_else_costs): Update rtx_cost + calls. + (aarch64_rtx_costs_wrapper): Update. + * config/arm/arm.c (arm_rtx_costs_1, arm_size_rtx_costs, + arm_unspec_cost, arm_new_rtx_costs, arm_slowmul_rtx_costs): Update + rtx_cost calls. + * config/avr/avr.c (avr_final_prescan_insn): Update set_src_cost + and rtx_cost calls. + (avr_operand_rtx_cost): Similarly. + (avr_rtx_costs_1): Correct mode passed to avr_operand_rtx_cost + for subexpressions of ZERO_EXTEND, SIGN_EXTEND and COMPARE. + * config/mips/mips.c (mips_stack_address_p): Comment typo. + (mips_binary_cost): Update rtx_cost and set_src_cost calls. + (mips_rtx_costs): Use GET_MODE (x) to detect const_int. + * config/mn10300/mn10300.c (mn10300_address_cost): Pass Pmode to + rtx_cost. + (mn10300_rtx_costs): Correct mode passed to mn10300_address_cost. + * config/rs6000/rs6000.c (rs6000_debug_rtx_costs): Update. + * config/sh/sh.c (and_xor_ior_costs): Update rtx_cost call. + * doc/tm.texi: Regenerate. + +2015-07-07 Andrew MacLeod + + * tree-core.h: Include symtab.h. + * rtl.h: Include hard-reg-set.h but not flags.h. + (HARD_CONST): Remove condition compilation involving HARD_CONST since + hard-reg-set.h is always included. + * regs.h: Don't include hard-reg-set.h or rtl.h. + * cfg.h: Include dominance.h. + * gimple.h: Include tree-ssa-alias.h and gimple-expr.h. + * backend.h: New. Aggregate commonly used backend header files. + * gimple-ssa.h: Don't include tree-hasher.h. + * ssa.h: New. Aggregate commonly used SSA header files. + * regset.h: Remove bitmap.h and hard-reg-set.h #includes. + * sel-sched-ir.h: Flatten includes. + * lra-int.h: Flatten completely. + * sel-sched-dump.h: Flatten includes. + * ira-int.h: Flatten includes. + * gimple-streamer.h: Remove all includes. + * cfgloop.h: Remove all #includes except cfgloopmanip.h. + * resource.h: Flatten hard-reg-set.h and df.h. + * sched-int.h: Flatten insn-arrt.h and df.h. + * valtrack.h: flatten bitmap.h, df.h, and rtl.h + * df.h: Flatten includes, leaving regset.h, alloc-pool.h and timevar.h. + * genattrtab.c (write_header): Adjust generated includes. + * genautomata.c (main): Likewise. + * genconditions.c (write-header): Likewise. + * genemit.c (main): Likewise. + * gengtype.c (open_base_files): Likewise. + * genopinit.c (main): Likewise. + * genoutput.c (output_prologue): Likewise. + * genpeep.c (main): Likewise. + * genpreds.c (write_insn_preds_c): Likewise. + * genrecog.c (write_header): Likewise. + * alias.c: Adjust includes. + * 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. + * 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. + * et-forest.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. + * gcc-plugin.h: Likewise. + * gcse-common.c: Likewise. + * gcse.c: Likewise. + * generic-match-head.c: Likewise. + * ggc-page.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-blocking.c: Likewise. + * graphite-dependences.c: Likewise. + * graphite-interchange.c: Likewise. + * graphite-isl-ast-to-gimple.c: Likewise. + * graphite-optimize-isl.c: Likewise. + * graphite-poly.c: Likewise. + * graphite-scop-detection.c: Likewise. + * graphite-sese-to-poly.c: Likewise. + * graphite.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. + * 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. + * omega.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-rtl.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. + * rtlanal.c: Likewise. + * rtlhooks.c: Likewise. + * sanopt.c: Likewise. + * sched-deps.c: Likewise. + * sched-ebb.c: Likewise. + * sched-rgn.c: Likewise. + * sched-vis.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. + * 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-browser.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-copyrename.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. + * valtrack.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.cc: Likewise. + * xcoffout.c: Likewise. + * config/aarch64/aarch64-builtins.c: Likewise. + * config/aarch64/aarch64.c: Likewise. + * config/aarch64/cortex-a57-fma-steering.c: Likewise. + * config/alpha/alpha.c: Likewise. + * config/arc/arc.c: Likewise. + * config/arm/aarch-common.c: Likewise. + * config/arm/arm-builtins.c: Likewise. + * config/arm/arm-c.c: Likewise. + * config/arm/arm.c: Likewise. + * config/avr/avr-c.c: Likewise. + * config/avr/avr-log.c: Likewise. + * config/avr/avr.c: Likewise. + * config/bfin/bfin.c: Likewise. + * config/c6x/c6x.c: Likewise. + * config/cr16/cr16.c: Likewise. + * config/cris/cris.c: Likewise. + * config/darwin-c.c: Likewise. + * config/darwin.c: Likewise. + * config/epiphany/epiphany.c: Likewise. + * config/epiphany/mode-switch-use.c: Likewise. + * config/epiphany/resolve-sw-modes.c: Likewise. + * config/fr30/fr30.c: Likewise. + * config/frv/frv.c: Likewise. + * config/ft32/ft32.c: Likewise. + * config/h8300/h8300.c: Likewise. + * config/i386/i386-c.c: Likewise. + * config/i386/i386.c: Likewise. + * config/i386/msformat-c.c: Likewise. + * config/i386/winnt-cxx.c: Likewise. + * config/i386/winnt-stubs.c: Likewise. + * config/i386/winnt.c: Likewise. + * config/ia64/ia64-c.c: Likewise. + * config/ia64/ia64.c: Likewise. + * config/iq2000/iq2000.c: Likewise. + * config/lm32/lm32.c: Likewise. + * config/m32c/m32c-pragma.c: Likewise. + * config/m32c/m32c.c: Likewise. + * config/m32r/m32r.c: Likewise. + * config/m68k/m68k.c: Likewise. + * config/mcore/mcore.c: Likewise. + * config/mep/mep-pragma.c: Likewise. + * config/mep/mep.c: Likewise. + * config/microblaze/microblaze-c.c: Likewise. + * config/microblaze/microblaze.c: Likewise. + * config/mips/mips.c: Likewise. + * config/mmix/mmix.c: Likewise. + * config/mn10300/mn10300.c: Likewise. + * config/moxie/moxie.c: Likewise. + * config/msp430/msp430-c.c: Likewise. + * config/msp430/msp430.c: Likewise. + * config/nds32/nds32-cost.c: Likewise. + * config/nds32/nds32-fp-as-gp.c: Likewise. + * config/nds32/nds32-intrinsic.c: Likewise. + * config/nds32/nds32-isr.c: Likewise. + * config/nds32/nds32-md-auxiliary.c: Likewise. + * config/nds32/nds32-memory-manipulation.c: Likewise. + * config/nds32/nds32-pipelines-auxiliary.c: Likewise. + * config/nds32/nds32-predicates.c: Likewise. + * config/nds32/nds32.c: Likewise. + * config/nios2/nios2.c: Likewise. + * config/nvptx/nvptx.c: Likewise. + * config/pa/pa.c: Likewise. + * config/pdp11/pdp11.c: Likewise. + * config/rl78/rl78-c.c: Likewise. + * config/rl78/rl78.c: Likewise. + * config/rs6000/rs6000-c.c: Likewise. + * config/rs6000/rs6000.c: Likewise. + * config/rx/rx.c: Likewise. + * config/s390/s390-c.c: Likewise. + * config/s390/s390.c: Likewise. + * config/sh/sh-c.c: Likewise. + * config/sh/sh-mem.cc: Likewise. + * config/sh/sh.c: Likewise. + * config/sh/sh_optimize_sett_clrt.cc: Likewise. + * config/sh/sh_treg_combine.cc: Likewise. + * config/sol2-c.c: Likewise. + * config/sol2-cxx.c: Likewise. + * config/sol2-stubs.c: Likewise. + * config/sol2.c: Likewise. + * config/sparc/sparc-c.c: Likewise. + * config/sparc/sparc.c: Likewise. + * config/spu/spu-c.c: Likewise. + * config/spu/spu.c: Likewise. + * config/stormy16/stormy16.c: Likewise. + * config/tilegx/mul-tables.c: Likewise. + * config/tilegx/tilegx-c.c: Likewise. + * config/tilegx/tilegx.c: Likewise. + * config/tilepro/mul-tables.c: Likewise. + * config/tilepro/tilepro-c.c: Likewise. + * config/tilepro/tilepro.c: Likewise. + * config/v850/v850-c.c: Likewise. + * config/v850/v850.c: Likewise. + * config/vax/vax.c: Likewise. + * config/visium/visium.c: Likewise. + * config/vms/vms-c.c: Likewise. + * config/vms/vms.c: Likewise. + * config/vxworks.c: Likewise. + * config/xtensa/xtensa.c: Likewise. + +2015-07-07 Uros Bizjak + + * config/i386/i386.md (*jcc_bt): Only split before reload. + Remove operand constraints. Change operand 2 predicate to + nonmemory operand. Limit const_int values to mode bitsize. Only + allow const_int values less than 32 when optimizing for size. + (*jcc_bt_1, *jcc_bt_mask): Only split before reload. + Remove operand constraints. + (*bt): Use SImode for const_int values less than 32. + (regmode): Remove mode attribute. + +2015-07-07 Anatoly Sokolov + + * config/moxie/moxie.h (GO_IF_LEGITIMATE_ADDRESS): Remove macros. + * config/moxie/moxie.c (moxie_reg_ok_for_base_p, + moxie_legitimate_address_p): New functions. + (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define. + +2015-07-07 Tom de Vries + + PR tree-optimization/66642 + * tree-parloops.c (transform_to_exit_first_loop_alt): Update function + header comment. Rename split_edge variable to edge_at_split. Split + exit edge to create new loop exit bb. Insert loop exit phis in new + loop exit bb. + +2015-07-07 Tom de Vries + + * tree-cfg.c (get_virtual_phi): New function. + * tree-cfg.h (get_virtual_phi): Declare. + * tree-ssa-loop-manip.c (replace_uses_in_dominated_bbs) + (rewrite_virtuals_into_loop_closed_ssa): New function. + * tree-ssa-loop-manip.h (rewrite_virtuals_into_loop_closed_ssa): + Declare. + * tree-parloops.c (replace_uses_in_bbs_by): Remove. + (transform_to_exit_first_loop_alt): Use + rewrite_virtuals_into_loop_closed_ssa. + +2015-07-07 Richard Biener + + * fold-const.c (fold_binary_loc): Move + (X & C2) << C1 -> (X << C1) & (C2 << C1) simplification ... + * match.pd: ... here. + Add (X * C1) % C2 -> 0 simplification pattern derived from + extract_muldiv_1. + +2015-07-07 Kaz Kojima + + PR target/66780 + * config/sh/sh.md (symGOT_load): Revert a part of 2015-03-03 + change for target/65249. + +2015-07-07 Paulo Matos + + * symtab.c (address_matters_1): Fix typo in comment above. + (can_increase_alignment_p): Likewise. + +2015-07-07 Prathamesh Kulkarni + + * function.c (free_after_compilation): Clear PROP_cfg in + f->curr_properties. + +2015-07-07 Richard Biener + + * tree-ssa-propagate.c (add_ssa_edge): Dump what edge list we + add which use to. + (add_control_edge): Remove excessive vertical space in dumping. + (process_ssa_edge_worklist): Simulate at most one statement and + return whether we did. Do not simulate PHIs if they are in a + BB not yet simulated. + (ssa_propagate): Adjust to always drain the BB worklist whenever + a BB is available there, likewise the VARYING edges list before + the interesting edge list. + +2015-07-07 Christian Bruel + + PR target/52144 + * config/arm/elf.h (TARGET_ASM_FILE_START_APP_OFF): Delete. + +2015-07-07 Richard Biener + + PR middle-end/66739 + * match.pd: Condition A - B ==/!= 0 -> A ==/!= B on single-use + A - B. + +2015-07-06 Uros Bizjak + + * config/i386/i386.md (insv): Rename from insv. Use SWI48 + modes for operands 0 and 3. Use SImode for operands 2 and 3. + Copy operand 0 to a temporary if !ext_register_operand. Remove + ancient extract_bit_field workaround. + (insv_1): Rename from mov_insv_1. + (*insvqi): Rename from *movqi_insv_2. + * config/i386/i386.c (emit_i386_cw_initialization): Update calls + for renamed insvsi_1. + (promote_duplicated_reg): Ditto for renamed insv_1. + +2015-07-06 Nathan Sidwell + + * config/nvptx/nvptx.c (nvptx_reorg): Remove unused vars. Fix + call to nvptx_reorg_subreg. + +2015-07-06 Jim Wilson + + * graphite-blocking.c (HAVE_isl): Include . + * graphite-dependencies.c, graphite-interchange.c, + graphite-isl-ast-to-gimple.c, graphite-optimize-isl.c, graphite-poly.c, + graphite-scop-detection.c, graphite-sese-to-poly.c, graphite.c: + Likewise. + +2015-07-06 Marc Glisse + + * match.pd: Remove element_mode inside HONOR_*. + (~ (-A) -> A - 1, ~ (A - 1) -> -A): Handle complex types. + (~X | X -> -1, ~X ^ X -> -1): Merge. + * tree.c (build_each_one_cst): New function. + * tree.h (build_each_one_cst): Likewise. + +2015-07-06 H.J. Lu + + * config/i386/i386-c.c (ix86_target_macros_internal): Handle + PROCESSOR_IAMCU. + +2015-07-06 Steve Ellcey + + * config.gcc : Add fused-madd.opt. + * config/mips/mips.opt (mfused-madd): Remove. + * config/mips/mips.c (mips_rtx_costs): Update cost calculations. + * config/mips/mips.h (TARGET_MIPS8000): New. + (ISA_HAS_FP_MADD4_MSUB4): Remove. + (ISA_HAS_FP_MADDF_MSUBF): Remove. + (ISA_HAS_FP_MADD3_MSUB3): Remove. + (ISA_HAS_NMADD4_NMSUB4): Remove. + (ISA_HAS_NMADD3_NMSUB3): Remove. + (ISA_HAS_FUSED_MADD4): New. + (ISA_HAS_UNFUSED_MADD4): New. + (ISA_HAS_FUSED_MADDF): New. + (ISA_HAS_FUSED_MADD3): New. + * config/mips/mips.md: (fma4) Change from insn to expand. + (*fma4_madd3) New. + (*fma4_madd4) New. + (*fma4_maddf) New. + (fms4) New. + (*fms4_msub3) New. + (*fms4_msub4) New. + (fnma4) New. + (*fnma4_nmadd3) New. + (*fnma4_nmadd4) New. + (fnms4) New. + (*fnms4_nmsub3) New. + (*fnms4_nmsub4) New. + (*madd4) Modify to be unfused only. + (*msub4) Modify to be unfused only. + (*nmadd4) Modify to be unfused only. + (*nmsub4) Modify to be unfused only. + (*madd3) Remove. + (*msub3) Remove. + (*nmadd3) Remove. + (*nmsub3) Remove. + (*nmadd3_fastmath) Remove. + (*nmsub3_fastmath) Remove. + (*nmadd4_fastmath) Update condition. + (*nmsub4_fastmath) Update condition. + +2015-07-06 Alan Lawrence + + PR target/65956 + * config/arm/arm.c (arm_needs_doubleword_align): Drop any outer + alignment attribute, exploring one level down for records and arrays. + +2015-07-06 Uros Bizjak + + * config/i386/i386.md (extv): Rename from extv. Use SWI24 + modes for operands 0 and 1. Use SImode for operands 2 and 3. + Copy operand 1 to a temporary if !ext_register_operand. Remove + ancient extract_bit_field workaround. + (*extv): Rename from *mov_extv_1. + (*extvqi): Rename from *movqi_extv_1. + (extzv): Rename from extzv. Use SWI248 modes for + operands 0 and 1. Use SImode for operands 2 and 3. Copy operand 1 + to a temporary if !ext_register_operand. Remove ancient + extract_bit_field workaround. + (*extzv): Rename from *mov_extzv_1. + (*extzvqi): Rename from *movqi_extzv_2. + (*testqi_ext_3): Remove modes from const_int_operand predicated + operands. Add "n" constraint. + (*btsq, *btrq, *btcq): Remove mode from const_0_to_63 predicated + operand. Add "J" constraint. + (*btsq, *btrq, *btcq peephole2s): Remove mode from + const_0_to_63 predicated operand. + (regmode): New insn attribute. + (*bt): Use SImode for operand 1. Change operand 1 predicate + to nonmemory_operand. Use regmode insn attribute. + (*jcc_bt_1): Convert operand 2 to SImode. + (*jcc_bt_mask): Remove mode from operand 3. + (*jcc_btsi_1, *jcc_btsi_mask_1): Remove patterns. + (tbm_bextri_): Remove modes from const_0_to_255 predicated + operands. Use "N" constraint instead of "n". + +2015-07-06 Alan Lawrence + + * config/arm/arm.md (movdi): Avoid odd-number ldrd/strd in ARM state. + +2015-07-06 H.J. Lu + + PR target/66749 + * config/i386/i386.c (iamcu_cost): New. + (m_IAMCU): Likewise. + (initial_ix86_arch_features): Disable X86_ARCH_CMOV for m_IAMCU. + (processor_target_table): Add an entry for "iamcu". + (processor_alias_table): Likewise. + (ix86_issue_rate): Handle PROCESSOR_IAMCU. + (ix86_adjust_cost): Likewise. + (ia32_multipass_dfa_lookahead): Likewise. + * config/i386/i386.h (processor_type): Add PROCESSOR_IAMCU. + * config/i386/x86-tune.def: Updated for m_IAMCU. + +2015-07-06 Richard Biener + + PR tree-optimization/66772 + * tree-ssa-ccp.c (ccp_visit_phi_node): Make sure that copy + values are available in the PHI node BB when there are + still unexecutable edges. + +2015-07-06 Richard Biener + + PR tree-optimization/66767 + * tree-vect-loop-manip.c (vect_create_cond_for_align_checks): + Make sure to build the alignment test on a SSA name without + final alignment info valid only if the alignment test + evaluates to true. + +2015-07-06 Bernd Schmidt + + PR target/66620 + * config/bfin/bfin.c (hwloop_optimize): Create new bb between jump and + loop start when inserting LSETUP. + +2015-07-06 H.J. Lu + + PR target/53383 + * config/i386/i386.c (ix86_option_override_internal): Allow + -mincoming-stack-boundary=3 for 64-bit if SSE is disabled. + +2015-07-06 Rainer Orth + + * read-md.c (decimal_string): Rename to ... + (md_decimal_string): ... this. + (handle_enum): Reflect this. + +2015-07-06 Szabolcs Nagy + + PR target/66731 + * config/aarch64/aarch64.md (fnmul3): Handle -frounding-math. + +2015-07-06 Richard Biener + + PR middle-end/66759 + * match.pd: Add missing constraint of y to REAL_CST in + REAL_CST - x CMP y to y - CST CMP x simplification. + +2015-07-06 Eric Botcazou + + PR tree-optimization/66757 + * match.pd: Add missing condition to ~X ^ C -> X ^ ~C. + +2015-07-05 Chung-Lin Tang + Sandra Loosemore + + * config/nios2/nios2-protos.h (nios2_symbol_ref_in_small_data_p): + Delete extern declaration. + (gprel_constant_p): Add extern declaration. + * config/nios2/constraints.md ("S"): Use gprel_constant_p + instead of nios2_symbol_ref_in_small_data_p. + * config/nios2/nios2.c (nios2_legitimate_address_p): Likewise. + (nios2_symbol_ref_in_small_data_p): Make static. + (gprel_constant_p): Make non-static. + +2015-07-05 Gerald Pfeifer + + * doc/fragments.texi (Target Fragment): Convert debian.org + link to use https. + * doc/install.texi (Configuration): Ditto. + +2015-07-05 Jakub Jelinek + + PR tree-optimization/66718 + * tree-vect-stmts.c (vectorizable_call): Replace uses of + GOMP_SIMD_LANE outside of loop with vf - 1 rather than 0. + + PR tree-optimization/66718 + * tree-vect-stmts.c (vectorizable_assignment, vectorizable_store, + vectorizable_load, vectorizable_condition): Move vectype, + nunits, ncopies computation after checking what kind of statement + stmt is. + +2015-07-05 Richard Sandiford + + * target-insns.def (extv, extzv, insv): New targetm instruction + patterns. + * optabs.c (get_extraction_insn): Use them instead of HAVE_*/gen_* + interface. + * recog.c (simplify_while_replacing): Likewise. + +2015-07-05 Richard Sandiford + + * target-insns.def (doloop_begin, doloop_end): New targetm + instruction patterns. + * loop-init.c: Include target.h. + (pass_loop2::gate): Use the new targetm patterns instead of + HAVE_*/gen_* interface. + (pass_rtl_doloop::gate): Likewise. + (pass_rtl_doloop::execute): Remove preprocessor condition. + * hw-doloop.c: Build unconditionally. + * loop-doloop.c: Likewise. + (doloop_optimize): Use the new targetm patterns instead of + HAVE_*/gen_* interface. + (doloop_modify): Likewise. Change type of doloop_seq to rtx_insn *. + * modulo-sched.c (doloop_register_get): Likewise. + +2015-07-05 Richard Sandiford + + * target-insns.def (clear_cache): New targetm instruction pattern. + * builtins.c (expand_builtin___clear_cache): Use it instead of + HAVE_*/gen_* interface. + +2015-07-05 Richard Sandiford + + * target-insns.def (allocate_stack, check_stack, probe_stack) + (probe_stack_address, split_stack_prologue, split_stack_space_check): + New targetm instruction patterns. + * explow.c (allocate_dynamic_stack_space): Use them instead of + HAVE_*/gen_* interface. + (emit_stack_probe): Likewise. + (probe_stack_range): Likewise. + * function.c (thread_prologue_and_epilogue_insns): Likewise. + +2015-07-05 Richard Sandiford + + * target-insns.def (stack_protect_set, stack_protect_test): New + targetm instruction patterns. + * cfgexpand.c (stack_protect_prologue): Use them instead of + HAVE_*/gen_* interface. + * function.c (stack_protect_epilogue): Likewise. + +2015-07-05 Richard Sandiford + + * expr.h (gen_move_insn_uncast): Delete. + * expr.c (gen_move_insn_uncast): Delete. + +2015-07-05 Richard Sandiford + + * target-insns.def (restore_stack_block, restore_stack_function) + (restore_stack_nonlocal, save_stack_block, save_stack_function) + (save_stack_nonlocal): New targetm instruction patterns. + * builtins.c (expand_builtin_apply): Use them instead of + HAVE_*/gen_* interface. + * explow.c (emit_stack_save, emit_stack_restore): Likewise. + +2015-07-05 Richard Sandiford + + * target-insns.def (trap): New targetm instruction pattern. + * builtins.c (expand_builtin_trap): Use it instead of HAVE_*/gen_* + interface. + * explow.c (allocate_dynamic_stack_space): Likewise. + * ifcvt.c (find_if_header): Likewise. + +2015-07-05 Richard Sandiford + + * target-insns.def (prefetch): New targetm instruction pattern. + * tree-ssa-loop-prefetch.c: Include targeth. + (tree_ssa_prefetch_arrays): Use prefetch targetm pattern instead + of HAVE_*/gen_* interface. + * builtins.c (expand_builtin_prefetch): Likewise. + * toplev.c (process_options): Likewise. + +2015-07-05 Richard Sandiford + + * target-insns.def (untyped_call, untyped_return): New targetm + instruction patterns. + * builtins.c (expand_builtin_apply): Use them instead of + HAVE_*/gen_* interface. + (result_vector): Define unconditionally. + +2015-07-05 Richard Sandiford + + * target-insns.def (builtin_longjmp, builtin_setjmp_receiver) + (builtin_setjmp_setup, exception_receiver, nonlocal_goto) + (nonlocal_goto_receiver): New targetm instruction patterns. + * builtins.c (expand_builtin_setjmp_setup): Use them instead + of HAVE_*/gen_* interface. + (expand_builtin_setjmp_receiver): Likewise. + (expand_builtin_longjmp, expand_builtin_nonlocal_goto): Likewise. + * except.c (expand_dw2_landing_pad_for_region): Likewise. + +2015-07-05 Richard Sandiford + + * target.def: Add code_for_* hooks. + * gentarget-def.c (def_target_insn): Add TARGET_CODE_FOR_* macros. + * defaults.h (HAVE_tablejump, gen_tablejump): Delete. + * target-insns.def (casesi, tablejump): New targetm instruction + patterns. + * expr.c (try_casesi): Use them instead of HAVE_*/gen_* interface. + (do_tablejump): Likewise. + * stmt.c (expand_switch_as_decision_tree_p): Likewise. + (expand_sjlj_dispatch_table): Likewise. + * targhooks.c (default_case_values_threshold): Likewise. + +2015-07-04 Sandra Loosemore + + * config/nios2/nios2.c (save_reg, restore_reg): Use plus_constant. + Use rtx_insn * instead of rtx. + (nios2_emit_add_constant): Use rtx_insn * instead of rtx. + (nios2_expand_prologue, nios2_expand_epilogue): Likewise. + (nios2_call_tls_get_addr): Likewise. + (nios2_emit_expensive_div): Likewise. + (nios2_emit_move_sequence): Change return type to bool. + * config/nios2/nios2-protos.h (nios2_emit_move_sequence): + Change return type to bool. + +2015-07-04 Bernd Edlinger + + PR target/66747 + * config/mips/mips.c (mips_find_gp_ref): Handle instruction sequences. + +2015-07-04 John David Anglin + + PR target/66114 + * config/pa/pa.md (indirect_jump): Use pmode_register_operand instead + of register_operand. Remove constraint. + +2015-07-04 Marc Glisse + + * tree-cfg.c (verify_gimple_assign_ternary) : Check + the first argument. + +2015-07-03 Paolo Carlini + + * attribs.c (decl_attributes): Guard inform with the return value + of the preceding warning. + +2015-07-03 James Greenhalgh + + * doc/invoke.texi (moverride): Move to correct section. + +2015-07-03 Richard Biener + + * genmatch.c (commutative_tree_code, commutative_ternary_tree_code): + Copy from tree.c + (dt_operand::gen_gimple_expr): After valueizing operands + re-canonicalize operand order for commutative tree codes. + +2015-07-03 H.J. Lu + + PR target/66746. + * config/i386/ia32intrin.h (__crc32b): Don't define if __iamcu__ + is defined. + (__crc32w): Likewise. + (__crc32d): Likewise. + (__rdpmc): Likewise. + (__rdtscp): Likewise. + (_rdpmc): Likewise. + (_rdtscp): Likewise. + * config/i386/x86intrin.h: Only include ia32intrin.h if __iamcu__ + is defined. + +2015-07-03 Richard Biener + + * fold-const.c (fold_mathfn_compare): Remove. + (fold_inf_compare): Likewise. + (fold_comparison): Move floating point comparison simplifications... + * match.pd: ... to patterns here. Introduce simple_comparisons + operator list and use it for patterns formerly in fold_comparison. + +2015-07-03 James Greenhalgh + + PR tree-optimization/66119 + * toplev.c (process_options): Don't set up default values for + the sra_max_scalarization_size_{speed,size} parameters. + * tree-sra (analyze_all_variable_accesses): If no values + have been set for the sra_max_scalarization_size_{speed,size} + parameters, call get_move_ratio to get target defaults. + +2015-07-03 Richard Biener + + * fold-const.c (fold_binary_loc): Move (T)ptr & CST folding... + * match.pd: ... here. + +2015-07-03 Gerald Pfeifer + + PR target/37072 + * doc/invoke.texi (i386 and x86-64 Options): -mno-fancy-math-387 + is not actually the default on FreeBSD. + +2015-07-02 Bill Schmidt + + * config/rs6000/rs6000-builtin.def (CMPGE_16QI): New built-in + definition. + (CMPGE_8HI): Likewise. + (CMPGE_4SI): Likewise. + (CMPGE_2DI): Likewise. + (CMPGE_U16QI): Likewise. + (CMPGE_U8HI): Likewise. + (CMPGE_U4SI): Likewise. + (CMPGE_U2DI): Likewise. + (CMPLE_16QI): Likewise. + (CMPLE_8HI): Likewise. + (CMPLE_4SI): Likewise. + (CMPLE_2DI): Likewise. + (CMPLE_U16QI): Likewise. + (CMPLE_U8HI): Likewise. + (CMPLE_U4SI): Likewise. + (CMPLE_U2DI): Likewise. + * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add + overloads for ALTIVEC_BUILTIN_VEC_CMPGE and + ALTIVEC_BUILTIN_VEC_CMPLE. + * config/rs6000/vector.md (vector_ge): Restrict to + floating-point vector modes. + (vector_nlt): New define_expand. + (vector_nltu): Likewise. + (vector_ngt): Likewise. + (vector_ngtu): Likewise. + +2015-07-02 Segher Boessenkool + + PR rtl-optimization/66706 + * combine.c (make_compound_operation): If an AND of SUBREG of + LSHIFTRT does not simplify, see if just the AND of SUBREG does. + +2015-07-02 Alan Lawrence + + * tree-pass.h (make_pass_ch_vect): New. + * passes.def: Add pass_ch_vect just before pass_if_conversion. + + * tree-ssa-loop-ch.c (ch_base, pass_ch_vect, pass_data_ch_vect, + pass_ch::process_loop_p, pass_ch_vect::process_loop_p, + make_pass_ch_vect): New. + (pass_ch): Extend ch_base. + + (pass_ch::execute): Move all but loop_optimizer_init/finalize to... + (ch_base::copy_headers): ...here. + +2015-07-02 Richard Biener + + * builtins.c (get_pointer_alignment_1): Handle POINTER_PLUS_EXPR. + * fold-const.c (get_pointer_modulus_and_residue): Remove. + (fold_binary_loc): Implement (T)ptr & CST in terms of + get_pointer_alignment_1. + * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): + Make sure to build the alignment test on a SSA name without + final alignment info valid only after the prologue. + +2015-07-02 Hans-Peter Nilsson + + * config/cris/cris.md ("epilogue"): Remove condition. + ("prologue"): Ditto. + +2015-07-02 Richard Biener + + * tree-ssa-dom.c (build_and_record_new_cond): Add optional + parameter to record a condition that is false. + (record_conditions): When recording an extra NE_EXPR that is + true also record a EQ_EXPR that is false. + +2015-07-02 Bin Cheng + + * tree-ssa-loop-ivopts.c (struct ivopts_data): New field iv_obstack. + (tree_ssa_iv_optimize_init): Initialize iv_obstack. + (alloc_iv): New parameter. Allocate struct iv using obstack_alloc. + (set_iv, find_interesting_uses_address, add_candidate_1): New + argument to alloc_iv. + (find_interesting_uses_op, find_interesting_uses_cond): Don't + duplicate struct iv. + (free_loop_data): Don't free struct iv explicitly. + (tree_ssa_iv_optimize_finalize): Free iv_obstack. + +2015-07-01 DJ Delorie + + * config/s390/tpf.h (LIBSTDCXX): Change to CPP1. + (LIB_SPEC): Add. + (SUPPORTS_DISCRIMINATOR): Define. + +2015-07-01 Richard Sandiford + + PR bootstrap/66685 + * rtl.c (classify_insn): Only return JUMP_INSN for parallel returns if + there are no CALLs in the same pattern. + +2015-07-01 Bernd Edlinger + + PR rtl-optimization/61047 + * rtlanal.c (get_initial_register_offset): New function. + (rtx_addr_can_trap_p_1): Check offsets of stack references. + +2015-07-01 Richard Biener + + * fold-const.c (fold_comparison): Move X - Y CMP 0 -> X CMP Y, + X * C1 CMP 0 -> X CMP 0, X CMP X, ~X CMP ~Y -> Y CMP X and + ~X CMP C -> X CMP' ~C to ... + * match.pd: ... patterns here. + +2015-07-01 Nick Clifton + + * config/msp430/msp430.md (zero_extendhipsi2): Use MOVX.A to store + a 16-bit value into a 20-bit memory slot. + +2015-07-01 Jiong Wang + + * doc/sourcebuild.texi (AArch64-specific attributes): Document + "aarch64_tiny", "aarch64_small", "aarch64_large", + "aarch64_little_endian", "aarch64_big_endian". + +2015-07-01 Jiong Wang + + * doc/sourcebuild.texi (AArch64-specific attributes): New subsection. + Document "aarch64_small_fpic". + +2015-07-01 Jiong Wang + + * configure.ac: Add check for aarch64 assembler -fpic relocation + modifier support. + * configure: Regenerate. + * config.in: Regenerate. + * config/aarch64/aarch64.c (initialize_aarch64_code_model): Fall back + to -fPIC if not support of -fpic relocation modifier in assembler. + +2015-07-01 Richard Sandiford + + PR bootstrap/66685 + * rtl.c (classify_insn): Handle returns in PARALLELs. + +2015-07-01 Eric Botcazou + + PR middle-end/66633 + * tree-nested.c (convert_nonlocal_omp_clauses): Initialize need_chain + to true if the function is nested and if not optimizing. + (convert_local_omp_clauses): Initialize need_frame to true if the + function contains nested functions and if not optimizing. + +2015-07-01 Richard Biener + + * fold-const.c (fold_binary_loc): Move ~X ^ X -> -1 and + (X & Y) ^ Y -> ~X & Y transforms to ... + * match.pd: ... here. + +2015-07-01 Richard Biener + + * genmatch.c (expr::gen_transform): Shortcut re-simplifying + of converts to avoid uninteresting noise from the conversion + simplifying patterns. + +2015-06-30 Sandra Loosemore + + * config/c6x/c6x.c (try_rename_operands): Do not depend on + gcc_assert evaluating its argument for side-effect. + +2015-06-30 Kaz Kojima + + PR target/64833 + * config/sh/sh.md (casesi_worker_1): Set length to 8 when + flag_pic is set. + +2015-06-30 Eric Botcazou + + * lto-streamer-out.c (class DFS): Adjust hash_scc method. + (DFS::DFS): Pass this_ref_p and ref_p to hash_scc. + (hash_scc): Add this_ref_p and ref_p parameters and pass them + to the inner DFS walk. + +2015-06-30 Richard Sandiford + + * target-insns.def (jump): New targetm instruction pattern. + * bb-reorder.c (get_uncond_jump_length): Use targetm.gen_jump + instead of gen_jump. + (fix_up_crossing_landing_pad): Likewise. + (add_labels_and_missing_jumps): Likewise. + (fix_crossing_conditional_branches): Likewise. + * cfgrtl.c (try_redirect_by_replacing_jump): Likewise. + (force_nonfallthru_and_redirect): Likewise. + * cse.c (cse_insn): Likewise. + * expmed.c (expand_divmod): Likewise. + * expr.c (store_expr_with_bounds, expand_expr_real_2): Likewise. + * haifa-sched.c (init_before_recovery): Likewise. + (sched_create_recovery_edges): Likewise. + * ifcvt.c (find_cond_trap): Likewise. + * optabs.c (expand_doubleword_shift, expand_doubleword_clz): Likewise. + (expand_float, expand_fix): Likewise. + * stmt.c (emit_jump): Likewise. + +2015-06-30 Richard Sandiford + + * defaults.h (HAVE_load_multiple, gen_load_multiple) + (HAVE_store_multiple, gen_store_multiple): Delete. + * target-insns.def (load_multiple, store_multiple): New targetm + instruction patterns. + * expr.c (move_block_to_reg, move_block_from_reg): Use them instead + of HAVE_*/gen_* interface. + +2015-06-30 Richard Sandiford + + * defaults.h (HAVE_mem_thread_fence, gen_mem_thread_fence) + (HAVE_memory_barrier, gen_memory_barrier, HAVE_mem_signal_fence) + (gen_mem_signal_fence): Delete. + * target-insns.def (mem_signal_fence, mem_thread_fence) + (memory_barrier): New targetm instruction patterns. + * optabs.c (expand_mem_thread_fence): Use them instead of HAVE_*/gen_* + interface. + (expand_mem_signal_fence): Likewise. + +2015-06-30 Richard Sandiford + + * defaults.h (HAVE_epilogue, gen_epilogue): Delete. + * target-insns.def (epilogue, prologue, sibcall_prologue): New + targetm instruction patterns. + * alias.c (init_alias_analysis): Use them instead of HAVE_*/gen_* + interface. + * calls.c (expand_call): Likewise. + * cfgrtl.c (cfg_layout_finalize): Likewise. + * df-scan.c (df_get_entry_block_def_set): Likewise. + (df_get_exit_block_use_set): Likewise. + * dwarf2cfi.c (pass_dwarf2_frame::gate): Likewise. + * final.c (final_start_function): Likewise. + * function.c (thread_prologue_and_epilogue_insns): Likewise. + (reposition_prologue_and_epilogue_notes): Likewise. + * reorg.c (find_end_label): Likewise. + * toplev.c (process_options): Likewise. + +2015-06-30 David Malcolm + + * typed-splay-tree.h: New file. + +2015-06-30 Vladimir Makarov + + PR debug/66691 + * lra-int.h (lra_substitute_pseudo): Add a parameter. + (lra_substitute_pseudo_within_insn): Ditto. + * lra.c (lra_substitute_pseudo): Add a parameter. Simplify subreg + of constant. + (lra_substitute_pseudo_within_insn): Add a parameter. Transfer it + to lra_substitute_pseudo. + * lra-lives.c (process_bb_lives): Add an argument to + lra_substitute_pseudo_within_insn call. + * lra-constraints.c (inherit_reload_reg, split_reg): Add an + argument to lra_substitute_pseudo and + lra_substitute_pseudo_within_insn calls. + (remove_inheritance_pseudos, undo_optional_reloads): Ditto. + +2015-06-30 H.J. Lu + + * configure: Regenerated. + +2015-06-30 H.J. Lu + + * config.gcc: Support i[34567]86-*-elfiamcu target. + * config/i386/iamcu.h: New. + * config/i386/i386.opt: Add -miamcu. + * doc/invoke.texi: Document -miamcu. + * common/config/i386/i386-common.c (ix86_handle_option): Turn + off x87/MMX/SSE/AVX codegen for -miamcu. + * config/i386/i386-c.c (ix86_target_macros_internal): Define + __iamcu/__iamcu__ for -miamcu. + * config/i386/i386.h (PREFERRED_STACK_BOUNDARY_DEFAULT): Set + to MIN_STACK_BOUNDARY if TARGET_IAMCU is true. + (BIGGEST_ALIGNMENT): Set to 32 if TARGET_IAMCU is true. + * config/i386/i386.c (ix86_option_override_internal): Ignore and + warn -mregparm for Intel MCU. Turn on -mregparm=3 for Intel + MCU by default. Default long double to 64-bit for Intel MCU. + Turn on -freg-struct-return for Intel MCU. Issue an error when + -miamcu is used in 64-bit or x32 mode or if x87, MMX, SSE or + AVX is turned on. + (function_arg_advance_32): Pass value whose size is no larger + than 8 bytes in registers for Intel MCU. + (function_arg_32): Likewise. + (ix86_return_in_memory): Return value whose size is no larger + than 8 bytes in registers for Intel MCU. + (iamcu_alignment): New function. + (ix86_data_alignment): Call iamcu_alignment if TARGET_IAMCU is + true. + (ix86_local_alignment): Don't increase alignment for Intel MCU. + (x86_field_alignment): Return iamcu_alignment if TARGET_IAMCU is + true. + +2015-06-30 Marek Polacek + + * match.pd (X - (X / Y) * Y): Use convert1 and convert2. Convert + both operands of the resulting expression. + + * match.pd (~x | x): Don't use tree_nop_conversion_p. Build + the final expression with the operand's type and then convert + it to the type of the expression. + +2015-06-30 Richard Biener + + * fold-const.c (fold_binary_loc): Move ~x & ~y -> ~(x | y) and + ~x | ~y -> ~(x & y), (x & CST) ^ (x & CST2) -> (x & CST) | (x & CST2), + (X | Y) ^ X -> Y & ~ X, ~X ^ ~Y to X ^ Y and ~X ^ C to X ^ ~C ... + * match.pd: ... to patterns here. + +2015-06-30 Richard Biener + + PR tree-optimization/66704 + * tree-vect-data-refs.c (vect_setup_realignment): Use + make_ssa_name for non-SSA name source. + +2015-06-30 Jakub Jelinek + + PR middle-end/66702 + * omp-low.c (simd_clone_adjust): Handle addressable linear + or uniform parameters or non-gimple type uniform parameters. + +2015-06-30 Richard Biener + + * fold-const.c (fold_unary_loc): Move abs(abs(x)) -> abs(x), + ~ (-A) to A - 1, ~ (A - 1) or ~ (A + -1) to -A and some cases of + ~(X ^ Y) to ~X ^ Y or X ^ ~Y if ~X or ~Y simplify to ... + * match.pd: ... here. + Add a few cases of A - B -> A + (-B) when B "easily" negates. + Move (x & y) | x -> x and friends before + (x | CST1) & CST2 -> (x & CST2) | (CST1 & CST2). + +2015-06-30 Eric Botcazou + + * config/sparc/leon.md (leon_load): Enable for all LEON variants if + -mfix-ut699 is not specified. + (leon3_load): Rename into... + (ut699_load): ...this. Enable for all LEON variants if -mfix-ut699 + is specified. + +2015-06-30 Marek Polacek + + * fold-const.c (fold_binary_loc): Move ~X | X folding ... + * match.pd: ... here. + +2015-06-30 Richard Biener + + * target-insns.def (canonicalize_funcptr_for_compare): Add. + * fold-const.c (build_range_check): Replace uses of + HAVE_canonicalize_funcptr_for_compare. + (fold_widened_comparison): Likewise. + (fold_sign_changed_comparison): Likewise. + * dojump.c: Include "target.h". + (do_compare_and_jump): Replace uses of + HAVE_canonicalize_funcptr_for_compare and + gen_canonicalize_funcptr_for_compare. + * expr.c (do_store_flag): Likewise. + +2015-06-30 Tom de Vries + + PR tree-optimization/66652 + * tree-parloops.c (try_transform_to_exit_first_loop_alt): Use + max_loop_iterations to determine if nit + 1 overflows. + +2015-06-30 Richard Biener + + * tree-vrp.c (register_edge_assert_for_2): Also register + asserts for dominating conversion results. + +2015-06-30 Bin Cheng + + * tree-ssa-loop-ivopts.c (record_sub_use): Don't reset ssa_name + field in struct iv. + +2015-06-29 Jack Howarth + + PR target/66509 + * configure.ac: Fix filds and fildq test for 64-bit. + * configure: Regenerated. + +2015-06-29 Nathan Sidwell + + * config/nvptx/nvptx.md (nvptx_reorg_subreg): New fn, broken out of ... + (nvptx_reorg): Here. Keep the non-subreg pieces. + +2015-06-29 H.J. Lu + + * config/gnu-user.h (GNU_USER_TARGET_ENDFILE_SPEC): Use + PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined. + +2015-06-29 Uros Bizjak + + * config/i386/i386.md (*jcc_1): Use %! in asm template. + Set attribute "length_nobnd" instead of "length". + (*jcc_2): Ditto. + (jump): Ditto. + (*jcc_1_bnd, *jcc_2_bnd, jump_bnd): Remove insn patterns. + +2015-06-29 Sandra Loosemore + + * config/nios2/nios2.c (nios2_delegitimize_address): Make + assert less restrictive. + +2015-06-29 Manuel López-Ibáñez + + PR fortran/66605 + * cgraphunit.c (cgraph_node::finalize_function): Do not call + do_warn_unused_parameter. + * function.c (do_warn_unused_parameter): Move from here. + * function.h (do_warn_unused_parameter): Do not declare. + +2015-06-29 Matthew Wahab + + PR target/65697 + * gcc.target/arm/armv-sync-comp-swap.c: New. + * gcc.target/arm/armv-sync-op-acquire.c: New. + * gcc.target/arm/armv-sync-op-full.c: New. + * gcc.target/arm/armv-sync-op-release.c: New. + +2015-06-29 Matthew Wahab + + PR target/65697 + * config/armc/arm.c (arm_split_compare_and_swap): For ARMv8, replace an + initial acquire barrier with final barrier. + +2015-06-29 Matthew Wahab + + PR target/65697 + * config/armc/arm.c (arm_split_atomic_op): For ARMv8, replace an + initial acquire barrier with final barrier. + +2015-06-29 Richard Henderson + + * config/i386/constraints.md (Bf): New constraint. + * config/i386/i386-c.c (ix86_target_macros): Define + __GCC_ASM_FLAG_OUTPUTS__. + * config/i386/i386.c (ix86_md_asm_adjust): Handle =@cc* constraints + as flags outputs. + * doc/extend.texi (FlagOutputOperands): Document them. + +2015-06-29 Jiong Wang + + * config/arch64/aarch64.md (UNSPEC_TLSLE): New enumeration. + * config/arch64/aarch64.md (tlsle_small): Rename to tlsle and use new + unspec name. + (tlsle_small_): Rename to tlsle_ and use new unspec name. + * config/arch64/aarch64-protos.h (arch64_symbol_type): Rename + SYMBOL_SMALL_TPREL to SYMBOL_TLSLE. + (aarch64_symbol_context): Ditto. + * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto + and use new pattern name. + (aarch64_expand_mov_immediate): Ditto. + (aarch64_print_operand): Ditto. + (aarch64_classify_tls_symbol): Ditto. + +2015-06-29 Marek Polacek + Marc Glisse + + * fold-const.c (fold_binary_loc): Move X - (X / Y) * Y -> X % Y to ... + * match.pd: ... pattern here. + +2015-06-29 Tom de Vries + + * tree-parloops.c (try_transform_to_exit_first_loop_alt): Simplify + function structure. + +2015-06-29 Matthew Wahab + + * doc/invoke.texi (Aarch64 Options, -march): Split out arch and + feature description, split out the native option, add a link to + the feature documentation, rearrange and slightly rewrite text. + (Aarch64 options, -mcpu): Likewise. + (Aarch64 options, Feature Modifiers): Add an anchor. Mention + +rdma implies Adv. SIMD. + +2015-06-29 Marek Polacek + + PR c/66322 + * function.c (stack_protect_epilogue): Remove a cast to int. + * doc/invoke.texi: Update -Wswitch-bool description. + +2015-06-29 Richard Biener + + * genmatch.c (add_operator): Treat ADDR_EXPR as atom. + * fold-const.c (fold_binary_loc): Move &A - &B simplification + via ptr_difference_const ... + * match.pd: ... here. + When matching (X ^ Y) == Y also match with swapped operands. + +2015-06-29 Richard Biener + + * lto-streamer.h (LTO_major_version): Bump to 5. + +2015-06-29 Richard Biener + + PR tree-optimization/66677 + * tree-vect-stmts.c (vect_transform_stmt): Make assert about + STMT_VINFO_VEC_STMT clobbering less strict. + +2015-06-29 Kugan Vivekanandarajah + + PR middle-end/64130 + * tree-vrp.c (extract_range_from_binary_expr_1): For unsigned + division, compute max and min when value ranges for dividend and + divisor are available. + +2015-06-28 Chung-Lin Tang + Sandra Loosemore + + * regrename.h (regrename_do_replace): Change to return bool. + * regrename.c (rename_chains): Check return value of + regname_do_replace. + (regrename_do_replace): Re-validate the modified insns and + return bool status. + * config/aarch64/cortex-a57-fma-steering.c (rename_single_chain): + Update to match rename_chains changes. + * config/c6x/c6x.c (try_rename_operands): Assert that + regrename_do_replace returns true. + +2015-06-28 Uros Bizjak + + * config/i386/i386.md (_ldx): Do not zero-extend non-Pmode + operand 2 here. Use copy_addr_to_reg to copy non-index + register operand 2 to a temporary. + (_stx): Ditto for operand 1. + (*_ldx, *_stx): Remove enclosing parallel. + * config/i386/i386.c (ix86_load_bounds): Zero-extend non-Pmode ptr here. + (ix86_store_bounds): Ditto. + +2015-06-27 Patrick Palka + + * print-tree.c (print_node) [TREE_VEC]: Print its length. + +2015-06-26 Andrew MacLeod + + * gimple.c (gimple_call_set_fndecl): Remove. + * gimple.h (gimple_call_set_fndecl): Relocate to gimple.h and call + build1_loc directly instead of build_fold_addr_expr_loc. + +2015-06-26 Richard Sandiford + + * hash-map.h (hash_map::traverse): Use the definition of the + Key typedef rather than the typedef itself. + +2015-06-26 Martin Jambor + + PR debug/66301 + * tree-ssa-pre.c (before_dom_children): Check that dump_file is not + NULL instead of calling dump_enabled_p. + +2015-06-26 James Greenhalgh + + * config/aarch64/aarch64.opt: (override): New. + * doc/invoke.texi (override): Document. + * config/aarch64/aarch64.c (aarch64_flag_desc): New + (aarch64_fusible_pairs): Likewise. + (aarch64_tuning_flags): Likewise. + (aarch64_tuning_override_function): Likewise. + (aarch64_tuning_override_functions): Likewise. + (aarch64_parse_one_option_token): Likewise. + (aarch64_parse_boolean_options): Likewise. + (aarch64_parse_fuse_string): Likewise. + (aarch64_parse_tune_string): Likewise. + (aarch64_parse_one_override_token): Likewise. + (aarch64_parse_override_string): Likewise. + (aarch64_override_options): Parse the -override string if it + is present. + +2015-06-26 James Greenhalgh + + * config/aarch64/aarch64-protos.h (tune_params): Remove + const from members. + (aarch64_tune_params): Remove const, change to no longer be + a pointer. + * config/aarch64/aarch64.c (aarch64_tune_params): Remove const, + change to no longer be a pointer, initialize to generic_tunings. + (aarch64_min_divisions_for_recip_mul): Change dereference of + aarch64_tune_params to member access. + (aarch64_reassociation_width): Likewise. + (aarch64_rtx_mult_cost): Likewise. + (aarch64_address_cost): Likewise. + (aarch64_branch_cost): Likewise. + (aarch64_rtx_costs): Likewise. + (aarch64_register_move_cost): Likewise. + (aarch64_memory_move_cost): Likewise. + (aarch64_sched_issue_rate): Likewise. + (aarch64_builtin_vectorization_cost): Likewise. + (aarch64_override_options): Take a copy of the selected tuning + struct in to aarch64_tune_params, rather than just setting + a pointer, change dereferences of aarch64_tune_params to member + accesses. + (aarch64_override_options_after_change): Change dereferences of + aarch64_tune_params to member access. + (aarch64_macro_fusion_p): Likewise. + (aarch_macro_fusion_pair_p): Likewise. + * config/aarch64/cortex-a57-fma-steering.c (gate): Likewise. + +2015-06-26 James Greenhalgh + + * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Delete. + (aarch64_tune_flags): Likewise. + (AARCH64_TUNE_FMA_STEERING): Likewise. + * config/aarch64/aarch64-cores.def (cortex-a57): Remove reference + to AARCH64_FL_USE_FMA_STEERING_PASS. + (cortex-a57.cortex-a53): Likewise. + (cortex-a72): Use cortexa72_tunings. + (cortex-a72.cortex-a53): Likewise. + (exynos-m1): Likewise. + * config/aarch64/aarch64-protos.h (tune_params): Add + a field: extra_tuning_flags. + * config/aarch64/aarch64-tuning-flags.def: New. + * config/aarch64/aarch64-protos.h (AARCH64_EXTRA_TUNING_OPTION): New. + (aarch64_extra_tuning_flags): Likewise. + (aarch64_tune_params): Declare here. + * config/aarch64/aarch64.c (generic_tunings): Set extra_tuning_flags. + (cortexa53_tunings): Likewise. + (cortexa57_tunings): Likewise. + (thunderx_tunings): Likewise. + (xgene1_tunings): Likewise. + (cortexa72_tunings): New. + * config/aarch64/cortex-a57-fma-steering.c: Include aarch64-protos.h. + (gate): Check against aarch64_tune_params. + * config/aarch64/t-aarch64 (cortex-a57-fma-steering.o): Depend on + aarch64-protos.h. + +2015-06-26 James Greenhalgh + + * config/aarch64/aarch64-fusion-pairs.def: New. + * config/aarch64/aarch64-protos.h (aarch64_fusion_pairs): New. + * config/aarch64/aarch64.c (AARCH64_FUSE_NOTHING): Move to + aarch64_fusion_pairs. + (AARCH64_FUSE_MOV_MOVK): Likewise. + (AARCH64_FUSE_ADRP_ADD): Likewise. + (AARCH64_FUSE_MOVK_MOVK): Likewise. + (AARCH64_FUSE_ADRP_LDR): Likewise. + (AARCH64_FUSE_CMP_BRANCH): Likewise. + +2015-06-26 Jiong Wang + + * config/aarch64/aarch64-protos.h (aarch64_symbol_type): New type + SYMBOL_SMALL_GOT_28K. + * config/aarch64/aarch64.md: (ldr_got_small_): Support new GOT + relocation modifiers. + (unspec): New enum "UNSPEC_GOTMALLPIC28K. + (ldr_got_small_28k_): New. + (ldr_got_small_28k_sidi): New. + * config/aarch64/iterators.md (got_modifier): New mode iterator. + * config/aarch64/aarch64-otps.h (aarch64_code_model): New model. + * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support + SYMBOL_SMALL_GOT_28K. + (aarch64_rtx_costs): Add costs for new instruction sequences. + (initialize_aarch64_code_model): Initialize new model. + (aarch64_classify_symbol): Recognize new model and new symbol classification. + (aarch64_asm_preferred_eh_data_format): Support new model. + (aarch64_load_symref_appropriately): Generate new instruction + sequences for -fpic. + (TARGET_USE_PSEUDO_PIC_REG): New definition. + (aarch64_use_pseudo_pic_reg): New function. + +2015-06-26 Jiong Wang + + * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename + SYMBOL_SMALL_GOT to SYMBOL_SMALL_GOT_4G. + * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto. + (aarch64_expand_mov_immediate): Ditto. + (aarch64_print_operand): Ditto. + (aarch64_classify_symbol): Ditto. + +2015-06-26 Nathan Sidwell + + * config/nvptx/nvptx.md (call_operation): Remove unused variables. + +2015-06-26 Bin Cheng + + PR bootstrap/66638 + * tree-ssa-loop-niter.c (loop_exits_before_overflow): Skip if + assertion failed. Remove assertion itself. + +2015-06-26 Richard Biener + + * fold-const.c (fold_binary_loc): Remove -A CMP -B -> A CMP B + and -A CMP CST -> A CMP -CST which is redundant with a pattern + in match.pd. + Move (A | C) == D where C & ~D != 0 -> 0, (X ^ Y) ==/!= 0 -> X ==/!= Y, + (X ^ Y) ==/!= {Y,X} -> {X,Y} ==/!= 0 and + (X ^ C1) op C2 -> X op (C1 ^ C2) to ... + * match.pd: ... patterns here. + +2015-06-26 Marek Polacek + + * match.pd ((x | y) & ~(x & y) -> x ^ y, + (x | y) & (~x ^ y) -> x & y): New patterns. + +2015-06-26 Richard Sandiford + + * rtl.h (emit): Add an optional boolean parameter to control + whether barriers are emitted. + * emit-rtl.c (emit): Likewise. + * gensupport.c (get_emit_function): Return null rather than "emit". + * genemit.c (gen_emit_seq): Handle the null return value. + Don't emit barriers after the final instruction in the sequence. + * gentarget-def.c (main): Don't emit barriers after the instruction. + +2015-06-26 Ramana Radhakrishnan + + * config/arm/arm.c (arm_output_multireg_pop): Fix use of + TARGET_UNIFIED_ASM. + +2015-06-26 Richard Biener + + * match.pd: Allow associating FLOAT_TYPE_P when flag_associative_math. + +2015-06-26 Richard Biener + + * match.pd: Allow (p +p off1) +p off2 to (p +p (off1 + off2)) + irrespective on whether the inner operation has a single use + of both off are constant. + +2015-06-26 Uros Bizjak + Segher Boessenkool + + PR target/66412 + * config/i386/i386.md (various splitters): Use shallow_copy_rtx + before doing PUT_MODE or PUT_CODE on operands to avoid + in-place RTX modification. + +2015-06-25 H.J. Lu + + * gentarget-def.c (def_target_insn): Cast return of strtol to + unsigned int. + +2015-06-25 Andrew MacLeod + + * gimple.h (gimple_call_set_fn): Move inline function. + * gimple.c (gimple_call_set_fn): Relocate here. + +2015-06-25 Oleg Endo + + PR target/65979 + PR target/66611 + * config/sh/sh.md (tstsi_t peephole2): Use insn_invalid_p to check if + the replacement insn will work. + +2015-06-25 H.J. Lu + + * gcc.c (driver_handle_option): Validate -pie if PIE is enabled + by default. + +2015-06-25 Andrew MacLeod + + * function.h (ipa_opt_pass, ipa_opt_pass_d): Move forward declarations. + * cgraph.h: Include ipa-ref.h and plugin-api.h. + (ipa_opt_pass, ipa_opt_pass_d)): Relocate forward declarations here. + (symtab_node::address_can_be_compared_p): Move function. + * cgraph.c (symtab_node::address_can_be_compared_p): Relocate function + definition here. + * asan.c: Remove ipa-ref.h and plugin-api.h from include list. + * auto-profile.c: Likewise. + * bb-reorder.c: Likewise. + * builtins.c: Likewise. + * calls.c: Likewise. + * cfgexpand.c: Likewise. + * cgraphbuild.c: Likewise. + * cgraphclones.c: Likewise. + * cgraphunit.c: Likewise. + * combine.c: Likewise. + * coverage.c: Likewise. + * data-streamer-in.c: Likewise. + * data-streamer-out.c: Likewise. + * data-streamer.c: Likewise. + * dbxout.c: Likewise. + * dwarf2out.c: Likewise. + * except.c: Likewise. + * expr.c: Likewise. + * final.c: Likewise. + * fold-const.c: Likewise. + * ggc-page.c: Likewise. + * gimple-fold.c: Likewise. + * gimple-iterator.c: Likewise. + * gimple-pretty-print.c: Likewise. + * gimple-streamer-in.c: Likewise. + * gimple-streamer-out.c: Likewise. + * gimple.c: Likewise. + * gimplify.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. + * langhooks.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. + * omp-low.c: Likewise. + * opts-global.c: Likewise. + * passes.c: Likewise. + * predict.c: Likewise. + * print-tree.c: Likewise. + * profile.c: Likewise. + * ree.c: Likewise. + * sanopt.c: Likewise. + * stor-layout.c: Likewise. + * symtab.c: Likewise. + * toplev.c: Likewise. + * trans-mem.c: Likewise. + * tree-cfg.c: Likewise. + * tree-chkp.c: Likewise. + * tree-eh.c: Likewise. + * tree-emutls.c: Likewise. + * tree-inline.c: Likewise. + * tree-nested.c: Likewise. + * tree-parloops.c: Likewise. + * tree-pretty-print.c: Likewise. + * tree-profile.c: Likewise. + * tree-sra.c: Likewise. + * tree-ssa-alias.c: Likewise. + * tree-ssa-live.c: Likewise. + * tree-ssa-loop-ivcanon.c: Likewise. + * tree-ssa-loop-ivopts.c: Likewise. + * tree-ssa-pre.c: Likewise. + * tree-ssa-sccvn.c: Likewise. + * tree-ssa-strlen.c: Likewise. + * tree-ssa-structalias.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-stmts.c: Likewise. + * tree-vectorizer.c: Likewise. + * tree.c: Likewise. + * tsan.c: Likewise. + * ubsan.c: Likewise. + * value-prof.c: Likewise. + * varasm.c: Likewise. + * varpool.c: Likewise. + * config/arm/arm.c: Likewise. + * config/bfin/bfin.c: Likewise. + * config/c6x/c6x.c: Likewise. + * config/cris/cris.c: Likewise. + * config/darwin-c.c: Likewise. + * config/darwin.c: Likewise. + * config/i386/i386.c: Likewise. + * config/i386/winnt.c: Likewise. + * config/microblaze/microblaze.c: Likewise. + * config/mips/mips.c: Likewise. + * config/rs6000/rs6000.c: Likewise. + * config/rx/rx.c: Likewise. + * config/s390/s390.c: Likewise. + * config/tilegx/mul-tables.c: Likewise. + +2015-06-25 Richard Sandiford + + * config/aarch64/aarch64.c, config/alpha/alpha.c, + config/arm/arm.c, config/avr/avr.c, config/bfin/bfin.c, + config/c6x/c6x.c, config/cr16/cr16.c, config/cris/cris.c, + config/fr30/fr30.c, config/frv/frv.c, config/h8300/h8300.c, + config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c, + config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c, + config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c, + config/microblaze/microblaze.c, config/mips/mips.c, + config/mmix/mmix.c, config/mn10300/mn10300.c, + config/moxie/moxie.c, config/msp430/msp430.c, + config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c, + config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c, + config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c, + config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c, + config/stormy16/stormy16.c, config/tilegx/tilegx.c, + config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c, + config/visium/visium.c, config/xtensa/xtensa.c: Add comment above + target-def.h include. + * config/ft32/ft32.c: Likewise. Fix misapplied hunk. + +2015-06-25 Richard Sandiford + + * Makefile.in (TARGET_DEF): Add target-insns.def. + (.PRECIOUS, simple_rtl_generated_h): Add insn-target-def.h. + (build/gentarget-def.o): New rule. + (genprogrtl): Add target-def. + * target-insns.def, gentarget-def.c: New files. + * target.def: Add targetm.have_* and targetm.gen_* hooks, + based on the contents of target-insns.def. + * defaults.h (HAVE_simple_return, gen_simple_return): Delete. + (HAVE_return, gen_return): Delete. + * target-def.h: Include insn-target-def.h. + * cfgrtl.c (force_nonfallthru_and_redirect): Use targetm interface + instead of direct calls. Rely on them to do the appropriate assertions. + * function.c (gen_return_pattern): Likewise. Return an rtx_insn *. + (convert_jumps_to_returns): Use targetm interface instead of + direct calls. + (thread_prologue_and_epilogue_insns): Likewise. + * reorg.c (find_end_label, dbr_schedule): Likewise. + * shrink-wrap.h (SHRINK_WRAPPING_ENABLED): Likewise. + * shrink-wrap.c (convert_to_simple_return): Likewise. + (try_shrink_wrapping): Use SHRINK_WRAPPING_ENABLED. + +2015-06-25 Richard Sandiford + + * config/aarch64/aarch64.c, config/alpha/alpha.c, config/arm/arm.c, + config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c, + config/cr16/cr16.c, config/cris/cris.c, config/fr30/fr30.c, + config/frv/frv.c, config/ft32/ft32.c, config/h8300/h8300.c, + config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c, + config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c, + config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c, + config/microblaze/microblaze.c, config/mips/mips.c, config/mmix/mmix.c, + config/mn10300/mn10300.c, config/moxie/moxie.c, config/msp430/msp430.c, + config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c, + config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c, + config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c, + config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c, + config/stormy16/stormy16.c, config/tilegx/tilegx.c, + config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c, + config/visium/visium.c, config/xtensa/xtensa.c: Move target-def.h + includes to end. + +2015-06-25 Richard Sandiford + + * hash-map-traits.h (simple_hashmap_traits::key_type): New typedef. + (unbounded_int_hashmap_traits::key_type): Likewise. + * hash-map.h (hash_map): Get the key type from the traits. + * hash-traits.h (default_hash_traits): By default, inherit from the + template parameter. + * alias.c (alias_set_traits): Delete. + (alias_set_entry_d::children): Use alias_set_hash as the first + template parameter. + (record_alias_subset): Update accordingly. + * except.c (tree_hash_traits): Delete. + (type_to_runtime_map): Use tree_hash as the first template parameter. + (init_eh): Update accordingly. + * genmatch.c (capture_id_map_hasher): Delete. + (cid_map_t): Use nofree_string_hash as first template parameter. + * ipa-icf.h (symbol_compare_hashmap_traits): Delete. + * ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs): + Use symbol_compare_hash as the first template parameter in + subdivide_hash_map. + * mem-stats.h (mem_usage_pair::mem_alloc_hashmap_traits): Delete. + (mem_usage_pair::mem_map_t): Use mem_location_hash as the first + template parameter. + * passes.c (pass_registry_hasher): Delete. + (name_to_pass_map): Use nofree_string_hash as the first template + parameter. + (register_pass_name): Update accordingly. + * sanopt.c (sanopt_tree_map_traits): Delete. + (sanopt_tree_triplet_map_traits): Delete. + (sanopt_ctx::asan_check_map): Use tree_operand_hash as the first + template parameter. + (sanopt_ctx::vptr_check_map): Use sanopt_tree_triplet_hash as + the first template parameter. + * sese.c (rename_map_hasher): Delete. + (rename_map_type): Use tree_ssa_name_hash as the first template + parameter. + * symbol-summary.h (function_summary::summary_hashmap_traits): Delete. + (function_summary::m_map): Use map_hash as the first template + parameter. + (function_summary::release): Update accordingly. + * tree-if-conv.c (phi_args_hash_traits): Delete. + (predicate_scalar_phi): Use tree_operand_hash as the first template + parameter to phi_arg_map. + * tree-inline.h (dependence_hasher): Delete. + (copy_body_data::dependence_map): Use dependence_hash as the first + template parameter. + * tree-inline.c (remap_dependence_clique): Update accordingly. + * tree-ssa-strlen.c (stridxlist_hash_traits): Delete. + (decl_to_stridxlist_htab): Use tree_decl_hash as the first template + parameter. + (addr_stridxptr): Update accordingly. + * value-prof.c (profile_id_traits): Delete. + (cgraph_node_map): Use profile_id_hash as the first template + parameter. + (init_node_map): Update accordingly. + * config/alpha/alpha.c (string_traits): Delete. + (machine_function::links): Use nofree_string_hash as the first + template parameter. + (alpha_use_linkage, alpha_write_linkage): Update accordingly. + * config/m32c/m32c.c (pragma_traits): Delete. + (pragma_htab): Use nofree_string_hash as the first template parameter. + (m32c_note_pragma_address): Update accordingly. + * config/mep/mep.c (pragma_traits): Delete. + (pragma_htab): Use nofree_string_hash as the first template parameter. + (mep_note_pragma_flag): Update accordingly. + * config/mips/mips.c (mips16_flip_traits): Delete. + (mflip_mips16_htab): Use nofree_string_hash as the first template + parameter. + (mflip_mips16_use_mips16_p): Update accordingly. + (local_alias_traits): Delete. + (mips16_local_aliases): Use nofree_string_hash as the first template + parameter. + (mips16_local_alias): Update accordingly. + +2015-06-25 Richard Sandiford + + * hash-map-traits.h (default_hashmap_traits): Delete. + +2015-06-25 Richard Sandiford + + * hash-map-traits.h (unbounded_hashmap_traits): New class. + (unbounded_int_hashmap_traits): Likewise. + * cfgexpand.c (part_traits): Use unbounded_int_hashmap_traits. + +2015-06-25 Richard Sandiford + + * ipa-icf.h (symbol_compare_hash): New class. + (symbol_compare_hashmap_traits): Use it. + * mem-stats.h (mem_alloc_description::mem_location_hash): New class. + (mem_alloc_description::mem_alloc_hashmap_traits): Use it. + (mem_alloc_description::reverse_mem_map_t): Remove redundant + default_hashmap_traits. + * sanopt.c (sanopt_tree_triplet_hash): New class. + (sanopt_tree_triplet_map_traits): Use it. + +2015-06-25 Richard Sandiford + + * gengtype-parse.c (require_template_declaration): Allow '+' in + template parameters. Consolidate cases. + * hash-traits.h (int_hash): New class. + * alias.c (alias_set_hash): New structure. + (alias_set_traits): Use it. + * symbol-summary.h (function_summary::map_hash): New class. + (function_summary::summary_hashmap_traits): Use it. + * tree-inline.h (dependence_hash): New class. + (dependence_hasher): Use it. + * tree-ssa-reassoc.c (oecount_hasher): Use int_hash. + * value-prof.c (profile_id_hash): New class. + (profile_id_traits): Use it. + +2015-06-25 Richard Sandiford + + * config/mips/mips.c (mips16_flip_traits): Use it. + (local_alias_traits, mips16_local_aliases): Convert from a map of + rtxes to a map of symbol names. + (mips16_local_alias): Update accordingly. + +2015-06-25 Richard Sandiford + + * hash-traits.h (string_hash, nofree_string_hash): New classes. + * genmatch.c (capture_id_map_hasher): Use nofree_string_hash. + * passes.c (pass_registry_hasher): Likewise. + * config/alpha/alpha.c (string_traits): Likewise. + * config/i386/winnt.c (i386_find_on_wrapper_list): Likewise. + * config/m32c/m32c.c (pragma_traits): Likewise. + * config/mep/mep.c (pragma_traits): Likewise. + +2015-06-25 Richard Sandiford + + * tree-hash-traits.h (tree_hash): New class. + * except.c: Include tree-hash-traits.h. + (tree_hash_traits): Use tree_hash. + +2015-06-25 Richard Sandiford + + * tree-hash-traits.h (tree_ssa_name_hasher): New class. + * sese.c: Include tree-hash-traits.h. + (rename_map_hasher): Use tree_ssa_name_hasher. + +2015-06-25 Richard Sandiford + + * tree-hash-traits.h (tree_decl_hash): New class. + * tree-ssa-strlen.c: Include tree-hash-traits.h. + (stridxlist_hash_traits): Use tree_decl_hash. + +2015-06-25 Richard Sandiford + + * tree-hash-traits.h: New file. + (tree_operand_hash): New class. + * sanopt.c: Include tree-hash-traits.h. + (sanopt_tree_map_traits): Use tree_operand_hash. + * tree-if-conv.c: Include tree-hash-traits.h. + (phi_args_hash_traits): Use tree_operand_hash. + * tree-ssa-uncprop.c: Include tree-hash-traits.h. + (val_ssa_equiv_hash_traits): Use tree_operand_hash. + +2015-06-25 Richard Sandiford + + * hash-map-traits.h: Include hash-traits.h. + (simple_hashmap_traits): New class. + * mem-stats.h (hash_map): Change the default traits to + simple_hashmap_traits >. + +2015-06-25 Richard Sandiford + + * hash-table.h: Update comments. + +2015-06-25 Richard Sandiford + + * hash-traits.h (default_hash_traits): New structure. + * hash-set.h (default_hashset_traits): Delete. + (hash_set): Use default_hash_traits instead of + default_hashset_traits. Delete hash_entry type and use Key directly. + * ipa-devirt.c (pair_traits): Delete. + (default_hash_traits ): Override. + (odr_subtypes_equivalent_p): Remove pair_types template parameter. + (odr_types_equivalent_p, add_type_duplicate): Likewise. + +2015-06-25 Richard Sandiford + + * hash-traits.h (typed_noop_remove): Don't require a pointer type. + +2015-06-25 Richard Sandiford + + * hash-table.h (has_is_deleted, is_deleted_helper): Delete. + (has_is_empty, is_empty_helper): Delete. + (has_mark_deleted, mark_deleted_helper): Delete. + (has_mark_empty, mark_empty_helper): Delete. + (hash_table::is_deleted): Call the Descriptor unconditionally. + (hash_table::is_empty): Likewise. + (hash_table::mark_deleted): Likewise. + (hash_table::mark_empty): Likewise. + +2015-06-25 Richard Sandiford + + * cgraph.h (asmname_hasher): Inherit from ggc_ptr_hash. Remove + redundant typedefs and members. + * coverage.c (counts_entry): Inherit from pointer_hash. Remove + redundant typedefs. + * dwarf2out.c (cu_hash_table_entry_hasher): Likewise. + * ipa-devirt.c (odr_name_hasher): Likewise. + (polymorphic_call_target_hasher): Likewise. + * ira-costs.c (cost_classes_hasher): Likewise. + * statistics.c (stats_counter_hasher): Likewise. + * trans-mem.c (log_entry_hasher): Likewise. + * tree-ssa-dom.c (expr_elt_hasher): Likewise. + * tree-ssa-sccvn.c (vn_phi_hasher, vn_reference_hasher): Likewise. + * tree-ssa-tail-merge.c (same_succ_def): Likewise. + * var-tracking.c (variable_hasher): Likewise. + * valtrack.h (dead_debug_hash_descr): Inherit from free_ptr_hash. + Remove redundant typedefs and members. + +2015-06-25 Richard Sandiford + + * hash-traits.h (ggc_cache_hasher): Rename to... + (ggc_cache_remove): ...this and remove typedefs. + (ggc_cache_ptr_hash): New class. + * hash-table.h: Update commentary. + * emit-rtl.c (const_int_hasher): Inherit from ggc_cache_ptr_hash + rather than ggc_cache_hasher. + (const_wide_int_hasher, reg_attr_hasher): Likewise. + (const_double_hasher, const_fixed_hasher): Likewise. + * function.c (insn_cache_hasher): Likewise. + * trans-mem.c (tm_wrapper_hasher): Likewise. + * tree.h (tree_decl_map_cache_hasher): Likewise. + * tree.c (type_cache_hasher, int_cst_hasher): Likewise. + (cl_option_hasher, tree_vec_map_cache_hasher): Likewise. + * ubsan.c (tree_type_map_cache_hasher): Likewise. + * varasm.c (tm_clone_hasher): Likewise. + * config/i386/i386.c (dllimport_hasher): Likewise. + * config/nvptx/nvptx.c (declared_libfunc_hasher): Likewise. + (tree_hasher): Likewise. + +2015-06-25 Richard Sandiford + + * hash-traits.h (ggc_hasher): Rename to... + (ggc_remover): ...this and remove typedefs. + (ggc_cache_hasher): Update accordingly. Add typedefs. + (ggc_ptr_hash): New class. + * hash-table.h: Update comment. + * cfgloop.h (loop_exit_hasher): Inherit from ggc_ptr_hash rather than + ggc_hasher. + * cgraph.h (section_name_hasher, cgraph_edge_hasher): Likewise. + (tree_descriptor_hasher): Likewise. + * cgraph.c (function_version_hasher): Likewise. + * dwarf2out.c (indirect_string_hasher, dwarf_file_hasher): Likewise. + (decl_die_hasher, block_die_hasher, decl_loc_hasher): Likewise. + (dw_loc_list_hasher, addr_hasher): Likewise. + * function.h (used_type_hasher): Likewise. + * function.c (temp_address_hasher): Likewise. + * gimple-ssa.h (tm_restart_hasher, ssa_name_hasher): Likewise. + * libfuncs.h (libfunc_hasher): Likewise. + * lto-streamer.h (decl_state_hasher): Likewise. + * optabs.c (libfunc_decl_hasher): Likewise. + * tree-scalar-evolution.c (scev_info_hasher): Likewise. + * varasm.c (section_hasher, object_block_hasher): Likewise. + (const_rtx_desc_hasher): Likewise. + * config/darwin.c (indirection_hasher, cfstring_hasher): Likewise. + * config/rs6000/rs6000.c (toc_hasher, builtin_hasher): Likewise. + +2015-06-25 Richard Sandiford + + * hash-traits.h (free_ptr_hash): New class. + * dwarf2out.c (decl_table_entry_hasher): Inherit from free_ptr_hash + rather than typed_free_remove. Remove redudant typedefs. + (external_ref_hasher): Likewise. + * except.c (action_record_hasher, ttypes_filter_hasher): Likewise. + (ehspec_hasher): Likewise. + * ggc-common.c (saving_hasher): Likewise. + * gimplify.c (gimplify_hasher): Likewise. + * haifa-sched.c (delay_i2_hasher): Likewise. + * loop-invariant.c (invariant_expr_hasher): Likewise. + * loop-iv.c (biv_entry_hasher): Likewise. + * loop-unroll.c (iv_split_hasher, var_expand_hasher): Likewise. + * trans-mem.c (tm_mem_map_hasher, tm_memop_hasher): Likewise. + * tree-cfg.c (locus_discrim_hasher): Likewise. + * tree-eh.c (finally_tree_hasher): Likewise. + * tree-into-ssa.c (var_info_hasher): Likewise. + * tree-parloops.c (reduction_hasher, name_to_copy_hasher): Likewise. + * tree-ssa-loop-ivopts.c (iv_inv_expr_hasher): Likewise. + * tree-ssa-phiopt.c (ssa_names_hasher): Likewise. + * tree-ssa-pre.c (expr_pred_trans_d): Likewise. + * tree-ssa-sccvn.c (vn_constant_hasher): Likewise. + * tree-ssa-structalias.c (equiv_class_hasher): Likewise. + (shared_bitmap_hasher): Likewise. + * tree-ssa-threadupdate.c (redirection_data): Likewise. + * tree-vectorizer.h (peel_info_hasher): Likewise. + * tree-vectorizer.c (simduid_to_vf, simd_array_to_simduid): Likewise. + * config/mips/mips.c (mips_lo_sum_offset_hasher): Likewise. + +2015-06-25 Richard Sandiford + + * hash-table.h: Update comments. + * hash-traits.h (pointer_hash): Don't inherit from typed_noop_remove. + (nofree_ptr_hash): New class. + * asan.c (asan_mem_ref_hasher): Inherit from nofree_ptr_hash rather + than typed_noop_remove. Remove redudant typedefs. + * attribs.c (attribute_hasher): Likewise. + * cfg.c (bb_copy_hasher): Likewise. + * cselib.c (cselib_hasher): Likewise. + * dse.c (invariant_group_base_hasher): Likewise. + * dwarf2cfi.c (trace_info_hasher): Likewise. + * dwarf2out.c (macinfo_entry_hasher): Likewise. + (comdat_type_hasher, loc_list_hasher): Likewise. + * gcse.c (pre_ldst_expr_hasher): Likewise. + * genmatch.c (id_base): Likewise. + * genrecog.c (test_pattern_hasher): Likewise. + * gimple-ssa-strength-reduction.c (cand_chain_hasher): Likewise. + * haifa-sched.c (delay_i1_hasher): Likewise. + * hard-reg-set.h (simplifiable_subregs_hasher): Likewise. + * ipa-icf.h (congruence_class_group_hash): Likewise. + * ipa-profile.c (histogram_hash): Likewise. + * ira-color.c (allocno_hard_regs_hasher): Likewise. + * lto-streamer.h (string_slot_hasher): Likewise. + * lto-streamer.c (tree_entry_hasher): Likewise. + * plugin.c (event_hasher): Likewise. + * postreload-gcse.c (expr_hasher): Likewise. + * store-motion.c (st_expr_hasher): Likewise. + * tree-sra.c (uid_decl_hasher): Likewise. + * tree-ssa-coalesce.c (coalesce_pair_hasher): Likewise. + (ssa_name_var_hash): Likewise. + * tree-ssa-live.c (tree_int_map_hasher): Likewise. + * tree-ssa-loop-im.c (mem_ref_hasher): Likewise. + * tree-ssa-pre.c (pre_expr_d): Likewise. + * tree-ssa-sccvn.c (vn_nary_op_hasher): Likewise. + * vtable-verify.h (registration_hasher): Likewise. + * vtable-verify.c (vtbl_map_hasher): Likewise. + * config/arm/arm.c (libcall_hasher): Likewise. + * config/i386/winnt.c (wrapped_symbol_hasher): Likewise. + * config/ia64/ia64.c (bundle_state_hasher): Likewise. + * config/sol2.c (comdat_entry_hasher): Likewise. + * fold-const.c (fold): Use nofree_ptr_hash instead of pointer_hash. + (print_fold_checksum, fold_checksum_tree): Likewise. + (debug_fold_checksum, fold_build1_stat_loc): Likewise. + (fold_build2_stat_loc, fold_build3_stat_loc): Likewise. + (fold_build_call_array_loc): Likewise. + * tree-ssa-ccp.c (gimple_htab): Likewise. + * tree-browser.c (tree_upper_hasher): Inherit from nofree_ptr_hash + rather than pointer_type. + +2015-06-25 Richard Sandiford + + * hash-traits.h (pointer_hash::mark_deleted, pointer_hash::mark_empty) + (pointer_hash::is_deleted, pointer_hash::is_empty): New functions. + +2015-06-25 Richard Sandiford + + * hash-traits.h (ggc_hasher::remove): Take a reference parameter. + (ggc_hasher::ggc_mx): Likewise. + (ggc_cache_hasher): Inherit from ggc_hasher. Remove definitions + that duplicate ggc_hasher ones. + +2015-06-25 Richard Sandiford + + * hash-table.h (hash_table): Add gt_cleare_cache as a friend. + (gt_cleare_cache): Check here for deleted and empty entries. + Replace handle_cache_entry with a call to keep_cache_entry. + * hash-traits.h (ggc_cache_hasher::handle_cache_entry): Delete. + (ggc_cache_hasher::keep_cache_entry): New function. + * trans-mem.c (tm_wrapper_hasher::handle_cache_entry): Delete. + (tm_wrapper_hasher::keep_cache_entry): New function. + * tree.h (tree_decl_map_cache_hasher::handle_cache_entry): Delete. + (tree_vec_map_cache_hasher::keep_cache_entry): New function. + * tree.c (type_cache_hasher::handle_cache_entry): Delete. + (type_cache_hasher::keep_cache_entry): New function. + (tree_vec_map_cache_hasher::handle_cache_entry): Delete. + (tree_vec_map_cache_hasher::keep_cache_entry): New function. + * ubsan.c (tree_type_map_cache_hasher::handle_cache_entry): Delete. + (tree_type_map_cache_hasher::keep_cache_entry): New function. + * varasm.c (tm_clone_hasher::handle_cache_entry): Delete. + (tm_clone_hasher::keep_cache_entry): New function. + * config/i386/i386.c (dllimport_hasher::handle_cache_entry): Delete. + (dllimport_hasher::keep_cache_entry): New function. + +2015-06-25 Richard Sandiford + + * hash-table.h: Include hash-traits.h. + (typed_free_remove, typed_noop_remove, pointer_hash, ggc_hasher) + (ggc_cache_hasher): Move to... + * hash-traits.h: ...this new file. + +2015-06-25 Andrew MacLeod + + * tree-core.h (struct tree_optimization_option): Make opts a pointer to + struct cl_optimization. + * tree.h (TREE_OPTIMIZATION): Return the pointer, not the address of it. + * tree.c (make_node_stat): Allocate cl_optimization struct. + (copy_node_stat): Allocate and copy cl_optimization struct. + +2015-06-25 Andrew MacLeod + + * function.h (struct incoming_args): Move struct. + (pass_by_reference, reference_callee_copied): Remove prototypes. + * emit-rtl.h (struct incoming_args): Relocate struct here. + * calls.h (pass_by_reference, reference_callee_copied): Relocate + prototypes here. + * function.c (pass_by_reference, reference_callee_copied): Move. + * calls.c (pass_by_reference, reference_callee_copied): Relocate here. + * cfgloop.h: Don't include tm.h or hard-reg-set.h. + * ipa-chkp.c: Include calls.h. + +2015-06-25 Andrew Macleod + + * alias.h (alias_set_type): Move typedef. + * coretypes.h (alias_set_type): Relocate typedef here. + * rtl.h: Don't include alias.h. + +2015-06-25 Andrew MacLeod + + * cgraph.h (cgraph_rtl_info): Move to rtl.h + (cgraph_node): Maintain pointer to struct cgraph_rtl_info instead of + and instance. + * rtl.h (struct cgraph_rtl_info): Define when HARD_REG_SET available. + * cgraph.c (cgraph_node::rtl_info): Allocate cgraph_rtl_info if one + doesn't exist. + * calls.c: Include hard-reg-set.h before rtl.h. + * ira.c: Likewise. + +2015-06-25 Zhouyi Zhou + Vladimir Makarov + + * ira-color.c (assign_hard_reg): Remove unecessary bitmap check. + Add assert. + +2015-06-25 Richard Biener + + * fold-const.c (fold_binary_loc): Move simplification of + (X <<>> C1) & C2 ... + * match.pd: ... here. + +2015-06-25 Eric Botcazou + + * lto-streamer-out.c (DFS::hash_scc): Fix typos & formatting glitches. + +2015-06-25 Richard Sandiford + + * match.pd: Add patterns for vec_conds between 1 and 0. + +2015-06-25 Richard Biener + + * tree-vect-stmts.c (vectorizable_conversion): Do not set + STMT_VINFO_VEC_STMT for SLP. + (vectorizable_store): Likewise. + (vectorizable_load): Likewise. + (vect_transform_stmt): Catch SLP vectorization clobbering + STMT_VINFO_VEC_STMT. + +2015-06-25 Richard Biener + + * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Improve debug + dumping. + (vect_create_mask_and_perm): Do not set STMT_VINFO_VEC_STMT and + cleanup resulting dead code and parameters. + (vect_transform_slp_perm_load): Adjust. + +2015-06-25 Nick Clifton + + * config/bfin/bfin.c (bfin_expand_prologue): Set + current_function_static_stack_size if flag_stack_usage_info is set. + * config/ft32/ft32.c (ft32_expand_prologue): Likewise. + * config/h8300/h8300.c (h8300_expand_prologue): Likewise. + * config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise. + * config/m32c/m32c.c (m32c_emit_prologue): Likewise. + +2015-06-25 Tom de Vries + + * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Don't claim in header + comment that the generated IV is unsigned. + +2015-06-25 Ramana Radhakrishnan + + PR target/29693 + * config/arm/arm.c (arm_dbx_register_number): Return + DWARF_FRAME_REGISTERS by default. + +2015-06-25 Tom de Vries + + * dominance.c (calculate_dominance_info): Fix verify_dominators call + argument. Call verify_dominator when reusing dominator info. + +2015-06-24 Kaz Kojima + + PR target/66563 + * config/sh/sh.md (GOTaddr2picreg): Add a new operand for + an additional element of the unspec vector. Modify indices + of operands. + (builtin_setjmp_receiver): Pass const0_rtx to gen_GOTaddr2picreg. + * config/sh/sh.c (prepare_move_operands): Pass incremented + const_int to gen_GOTaddr2picreg. + (sh_expand_prologue): Pass const0_rtx to gen_GOTaddr2picreg. + +2015-06-24 Alan Lawrence + + * config/aarch64/aarch64.md (2): + Condition on TARGET_FLOAT. + +2015-06-24 Alan Lawrence + + * doc/invoke.texi: Clarify AArch64 feature modifiers (no)fp, (no)simd + and (no)crypto. + +2015-06-24 Alan Lawrence + + * config/aarch64/aarch64-protos.h (aarch64_err_no_fpadvsimd): New. + + * config/aarch64/aarch64.md (mov/GPF, movtf): Use + aarch64_err_no_fpadvsimd. + + * config/aarch64/aarch64.c (aarch64_err_no_fpadvsimd): New. + (aarch64_layout_arg, aarch64_init_cumulative_args): Use + aarch64_err_no_fpadvsimd if !TARGET_FLOAT and we need FP regs. + (aarch64_expand_builtin_va_start, aarch64_setup_incoming_varargs): + Turn error into assert, test TARGET_FLOAT. + (aarch64_gimplify_va_arg_expr): Use aarch64_err_no_fpadvsimd, test + TARGET_FLOAT. + +2015-06-24 Aldy Hernandez + + PR debug/66482 + * dwarf2out.c (gen_formal_parameter_die): Remove assert. + +2015-06-24 Ilya Enkovich + + * tree-vect-slp.c (vect_build_slp_tree_1): Init vectype. + +2015-06-24 Renlin Li + + * config/aarch64/aarch64.h(TARGET_CPU_CPP_BUILTINS): Add + __ARM_ALIGN_MAX_PWR, __ARM_ALIGN_MAX_STACK_PWR. + +2015-06-24 Richard Biener + + * genmatch.c (enum tree_code): Add VIEW_CONVERT[012]. + (main): Likewise. + (lower_opt_convert): Support lowering of conditional view_convert. + (parser::parse_operation): Likewise. + (parser::parse_for): Likewise. + +2015-06-24 Renlin Li + + * varasm.c (emit_local): Use unsigned int for align variable. + +2015-06-24 Ramana Radhakrishnan + + PR target/63408 + * config/arm/arm.c (vfp3_const_double_for_fract_bits): Disable + for negative numbers. + +2015-06-24 Andreas Krebbel + + PR rtl-optimization/66306 + * reload.c (find_reloads): Swap the match_dup info for + commutative operands. + +2015-06-24 Andreas Krebbel + + * config/s390/vx-builtins.md + ("vec_scatter_element_") + ("vec_scatter_element_SI"): Replace gf mode + attribute with bhfgq. + +2015-06-24 Andreas Krebbel + + * config/s390/s390-builtins.def: Fix vpopct instruction comments. + +2015-06-24 Andreas Krebbel + + * config/s390/s390-builtin-types.def: Add flag to indicate the + options under which the function type is needed. + * config/s390/s390-builtins.def: Add flag to indicate the options + under which the builtin is enabled. + * config/s390/s390-builtins.h: Add flags parameter to macro + definitions. + (bflags_for_builtin): New function. + (flags_for_builtin): Renamed to ... + (opflags_for_builtin): ... this. + * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Rename + flags_for_builtin to bflags_for_builtin and + flags_overloaded_builtin_var to opflags_overloaded_builtin_var. + * config/s390/s390.c: Add initialization of bflags_builtin and + opflags_builtin arrays. + Remove code for flags_builtin. + (s390_init_builtins): Only create builtin function types if one of + their flags is active. + Only create builtins if all of their flags are active. + (s390_expand_builtin): Rename flags_for_builtin to + opflags_for_builtin. + +2015-06-24 Andreas Krebbel + + * config/s390/vecintrin.h: Remove internal builtins. + +2015-06-24 Andreas Krebbel + + * config/s390/s390.c (s390_secondary_reload): Fix check for + GENERAL_REGS register class. + +2015-06-24 Andreas Krebbel + + * config/s390/s390.c (s390_support_vector_misalignment): Call + default implementation for !TARGET_VX. + +2015-06-24 Andreas Krebbel + + * config/s390/s390.c (s390_legitimate_constant_p): Add + TARGET_VX check. + +2015-06-24 Andreas Krebbel + + * config/s390/s390.c (s390_vector_abi): New variable definition. + (s390_check_type_for_vector_abi): New function. + (TARGET_ASM_FILE_END): New macro definition. + (s390_asm_file_end): New function. + (s390_function_arg): Call s390_check_type_for_vector_abi. + (s390_gimplify_va_arg): Likewise. + * configure: Regenerate. + * configure.ac: Check for .gnu_attribute Binutils feature. + +2015-06-23 Chen Gang + + PR target/65803 + * config/bfin/bfin.c (hwloop_optimize): Initialize + JUMP_LABEL for newly created jump. + +2015-06-23 Tristan Gingold + + * collect-utils.c (collect_wait): Unlink the response file here + instead of... + (do_wait): ...here. + (utils_cleanup): ...and here. + +2015-06-23 Richard Sandiford + + * df-scan.c: Don't include target-def.h. + * targhooks.c: Likewise. + * config/arm/arm-c.c: Likewise. + * config/i386/i386-c.c: Likewise. + * config/nds32/nds32-cost.c: Likewise. + * config/nds32/nds32-fp-as-gp.c: Likewise. + * config/nds32/nds32-intrinsic.c: Likewise. + * config/nds32/nds32-isr.c: Likewise. + * config/nds32/nds32-md-auxiliary.c: Likewise. + * config/nds32/nds32-memory-manipulation.c: Likewise. + * config/nds32/nds32-pipelines-auxiliary.c: Likewise. + * config/nds32/nds32-predicates.c: Likewise. + +2015-06-23 Richard Biener + + PR tree-optimization/66636 + * tree-vect-stmts.c (vectorizable_store): Properly compute the + def type for further defs for strided stores. + +2015-06-23 Nathan Sidwell + + * config/nvptx/nvptx.md (sel_true, sel_false): New + conditional selects. + (setcc_int, setcc_float): Reformat. + +2015-06-23 Marek Polacek + + * match.pd ((x + y) - (x | y) -> x & y, + (x + y) - (x & y) -> x | y): New patterns. + +2015-06-23 Ludovic Courtès + + PR 65711 + * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Move + '-dynamic-linker' within %{!shared: ...}. + +2015-06-23 Uros Bizjak + + PR target/66560 + * config/i386/predicates.md (addsub_vm_operator): New predicate. + (addsub_vs_operator): Ditto. + (addsub_vs_parallel): Ditto. + * config/i386/sse.md (ssedoublemode): Add V4SF and V2DF modes. + (avx_addsubv4df3, avx_addsubv8sf3, sse3_addsubv2df3, sse3_addsubv4sf3): + Put minus RTX before plus and adjust vec_merge selector. + (*avx_addsubv4df3_1, *avx_addsubv4df3_1s, *sse3_addsubv2df3_1) + (*sse_addsubv2df3_1s, *avx_addsubv8sf3_1, *avx_addsubv8sf3_1s) + (*sse3_addsubv4sf3_1, *sse_addsubv4sf3_1s): Remove insn patterns. + (addsub vec_merge splitters): New combiner splitters. + (addsub vec_select/vec_concat splitters): Ditto. + +2015-06-23 Bin Cheng + + PR tree-optimization/66449 + * tree-ssa-loop-niter.c (loop_exits_before_overflow): Use + POINTER_PLUS_EXPR for pointers. + +2015-06-23 Alan Modra + + * rtlanal.c (commutative_operand_precedence): Correct comments. + * simplify-rtx.c (simplify_plus_minus_op_data_cmp): Delete forward + declaration. Return an int. Distinguish REG,REG return from + others. + (struct simplify_plus_minus_op_data): Make local to function. + (simplify_plus_minus): Don't set canonicalized if merely sorting + registers. Avoid packing ops if nothing changes. White space fixes. + +2015-06-22 Pierre-Marie de Rodat + + * gcc.c (default_compilers): Pass "-o %g.s" to cc1 for headers even if + -fdump-ada-spec is passed but not if -fsyntax-only is. + +2015-06-22 Vladimir Makarov + + PR bootstrap/63740 + * lra-lives.c (process_bb_lives): Check insn copying the same + reload pseudo and don't create a copy for it. + +2015-06-22 Tom de Vries + + * tree-parloops.c (transform_to_exit_first_loop_alt): Add update_stmt + for cond_stmt. + +2015-06-22 Tom de Vries + + * builtins.def (DEF_GOMP_BUILTIN): Test + 'flag_tree_parallelize_loops > 1' instead of + 'flag_tree_parallelize_loops'. Test flag_cilkplus. + +2015-06-22 Tom de Vries + + * dominance.c (calculate_dominance_info): Verify dominators if + early-out. + +2015-06-22 Marek Polacek + + * match.pd ((x ^ y) ^ (x | y) -> x & y, + (x & y) + (x ^ y) -> x | y, (x & y) | (x ^ y) -> x | y, + (x & y) ^ (x ^ y) -> x | y, (x & y) + (x | y) -> x + y, + (x | y) - (x ^ y) -> x & y, (x | y) - (x & y) -> x ^ y): New patterns. + +2015-06-22 Uros Bizjak + + PR target/65871 + * config/i386/i386.c (ix86_rtx_costs) : Ignore the + cost of embedded comparison. + +2015-06-22 Bill Schmidt + + PR target/65914 + * config/rs6000/predicates.md (altivec_register_operand): Permit + virtual stack registers. + (vsx_register_operand): Likewise. + (vfloat_operand): Likewise. + (vint_operand): Likewise. + (vlogical_operand): Likewise. + +2015-06-22 Richard Biener + + * tree-vectorizer.h (_loop_vec_info): Add scalar_cost_vec + and single_scalar_iteration_cost members. + (LOOP_VINFO_SCALAR_ITERATION_COST): New. + (LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST): Likewise. + (vect_get_single_scalar_iteration_cost): Remove. + * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): + Use LOOP_VINFO_SCALAR_ITERATION_COST. + * tree-vect-loop.c (destroy_loop_vec_info): Free + scalar_cost_vec. + (vect_get_single_scalar_iteration_cost): Compute result into + LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST and + LOOP_VINFO_SCALAR_ITERATION_COST. Make static. + (vect_analyze_loop_2): Call vect_get_single_scalar_iteration_cost. + (vect_estimate_min_profitable_iters): Use them. + +2015-06-22 Christian Bruel + + PR target/52144 + * config/arm/arm.c (add_attribute, arm_insert_attributes): New functions + (TARGET_INSERT_ATTRIBUTES): Define. + (thumb_flipper): New var. + * config/arm/arm.opt (-mflip-thumb): New switch. + +2015-06-22 Jan Hubicka + Martin Liska + + PR ipa/65908 + * ipa-icf.c (sem_item::target_supports_symbol_aliases): Remove + construction of arg_types. + (sem_function::sem_function): Likewise. + (sem_function::~sem_function): Remove destruction of arg_types. + (sem_function::compatible_parm_types_p): New function. + (sem_function::equals_wpa): Reorg matching of return values + and parameter types. + (sem_function::equals_private): Reorg mathcing of argument types. + (sem_function::parse_tree_args): Remove. + * ipa-icf.h (init_wpa): Do not call it. + (parse_tree_args): Remove. + (compatible_parm_types_p): Declare. + (result_type): Remove. + (arg_types): Remove. + +2015-06-22 Jan Hubicka + + PR ipa/66351 + * ipa-polymorphic-call.c + (ipa_polymorphic_call_context::get_dynamic_type): Fix thinko when + initializing alias oracle; fix formating; set base_alias_set if it + is known. + +2015-06-22 Mikhail Maltsev + + * auto-inc-dec.c (reverse_mem, reverse_inc): Remove. + (parse_add_or_inc): Use std::swap instead of reverse_{mem,inc}. + (find_inc): Likewise. + * combine.c (combine_simplify_rtx): Use std::swap instead of manually + swapping. + * df-core.c (df_worklist_dataflow_doublequeue): Likewise. + * df-scan.c (df_swap_refs): Remove. + (df_sort_and_compress_refs): Use std::swap instead of df_swap_refs. + * dominance.c (link_roots): Use std::swap instead of manually swapping. + * expr.c (expand_expr_real_2, do_store_flag): Likewise. + * fold-const.c (fold_relational_const): Likewise. + * genattrtab.c (simplify_test_exp): Likewise. + * gimple-match-head.c (gimple_resimplify2, gimple_resimplify3, + gimple_simplify): Likewise. + * ifcvt.c (noce_try_abs, find_if_header): Likewise. + * internal-fn.c (expand_addsub_overflow, expand_mul_overflow): Likewise. + * ipa-devirt.c (add_type_duplicate): Likewise. + * loop-iv.c (get_biv_step_1, iv_number_of_iterations): Likewise. + * lra-lives.c (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise. + * lra.c (lra_create_copy): Likewise. + * lto-streamer-out.c (DFS::DFS): Likewise. + * modulo-sched.c (get_sched_window): Likewise. + * omega.c (omega_pretty_print_problem): Likewise. + * optabs.c (prepare_float_lib_cmp, expand_mult_highpart): Likewise. + * reload1.c (reloads_unique_chain_p): Likewise. + * sel-sched-ir.c (exchange_lv_sets, exchange_av_sets): Remove. + (exchange_data_sets): Move logic from exchange_{av,lv}_sets here and + use std::swap. + * simplify-rtx.c (simplify_unary_operation_1): Use std::swap instead of + manually swapping. + * tree-if-conv.c (is_cond_scalar_reduction, predicate_scalar_phi, + predicate_mem_writes): Likewise. + * tree-loop-distribution.c (pg_add_dependence_edges): Likewise. + * tree-predcom.c (combine_chains): Likewise. + * tree-ssa-alias.c (nonoverlapping_component_refs_p, + refs_may_alias_p_1): Likewise. + * tree-ssa-ifcombine.c (recognize_if_then_else): Likewise. + * tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise. + * tree-ssa-loop-niter.c (refine_bounds_using_guard, + number_of_iterations_cond): Likewise. + * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise. + * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Likewise. + * tree-vect-slp.c (vect_build_slp_tree): Likewise. + * tree-vect-stmts.c (supportable_widening_operation): Likewise. + * tree-vrp.c (extract_range_from_binary_expr_1, + extract_range_from_unary_expr_1): Likewise. + +2015-06-20 Marek Polacek + + * common.opt (fsanitize-undefined-trap-on-error): Add Driver. + +2015-06-19 Kaz Kojima + + PR target/66591 + * config/sh/sh.c (prepare_move_operands): Replace subreg + index term with R0 for base and index addressing. + +2015-06-19 Jim Wilson + + * config/aarch64/aarch64.md (mov:GPF): Don't call force_reg if + op1 is an fp zero. + (movsf_aarch64): Change condition from register_operand to + aarch64_reg_or_fp_zero for op1. Change type for alternative 6 to + load1. Change type for alternative 7 to store1. + (movdf_aarch64): Likewise. + +2015-06-19 James Greenhalgh + + * config/vax/vax.md: Adjust sign/zero extend patterns to + handle SUBREGs in operands[1]. + +2015-06-19 Kyrylo Tkachov + + * config/i386/i386.c (ix86_function_versions): Use std::swap instead + of manually swapping. + (expand_vec_perm_interleave2): Likewise. + +2015-06-19 Ilya Enkovich + + * tree-chkp.c (chkp_compute_bounds_for_assignment): Don't + reuse bounds created for abnormal ssa names. + +2015-06-19 Jakub Jelinek + + * config/nvptx/nvptx.md (allocate_stack): Rename to... + (allocate_stack_): ... this, and add :P on both + match_operand and unspec. + (allocate_stack): New expander. + +2015-06-19 Christian Bruel + + PR target/66541 + PR target/52144 + * config/arm/arm.c (arm_set_current_function): Handle + explicit default options. + +2015-06-18 Uros Bizjak + + * config/i386/i386.md (*movsicc_noc_zext): New insn. + (zero-extended cmove with mem peephole2): New pattern. + (cmove with mem peephole2): Merge patterns. + +2015-06-18 Segher Boessenkool + + * config/rs6000/rs6000.h (WORD_REGISTER_OPERATIONS): Delete. + +2015-06-18 Steve Ellcey + + * config/mips/mips.c (mips_rtx_costs): Remove HONOR_NAN check. + * config/mips/mips.md (*madd4): Ditto. + (*nmadd3) Ditto. + (*nmadd4_fastmath): Ditto. + (*nmadd3_fastmath): Ditto. + (*nmsub4): Ditto. + (*nmsub3): Ditto. + (*nmsub4_fastmath): Ditto. + (*nmsub3_fastmath): Ditto. + +2015-06-18 Michael Matz + + PR middle-end/66253 + * tree-vect-stmts.c (vectorizable_store): Implement non-SLP + grouped strided stores. + (vectorizable_load): Don't use the DR from first_stmt in + the non-SLP grouped strided case. + +2015-06-18 Ilya Enkovich + + PR target/66569 + * function.c (assign_bounds): Add arguments assign_regs, + assign_special, assign_bt. + (assign_parms): For vararg functions handle bounds in BT + and special slots after incoming vararg bounds. + +2015-06-18 Ilya Enkovich + + PR middle-end/66568 + * cfgexpand.c (expand_return): Handle missing bounds. + (expand_gimple_stmt_1): Likewise. + * tree-chkp.c (chkp_expand_zero_bounds): New. + * tree-chkp.h (chkp_expand_zero_bounds): New. + +2015-06-18 Ilya Enkovich + + PR middle-end/66567 + * ipa-chkp.c (chkp_maybe_create_clone): Require + functions to be instrumentable. + * tree-chkp.c (chkp_replace_function_pointer): Use + chkp_instrumentable_p instead of attribute check. + +2015-06-18 Richard Biener + + PR tree-optimization/66510 + * tree-vect-stmts.c (vectorizable_load): Properly compute the + number of vector loads for SLP permuted loads. + * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Also + check the stride for loop vectorization. + (vect_enhance_data_refs_alignment): Deal with SLP adjusted + vectorization factor. + (vect_analyze_group_access): If the group size is not a power + of two require a epilogue loop. + * tree-vect-loop.c (vect_analyze_loop_2): Move alignment + compute and optimizing and alias test pruning after final + vectorization factor computation. + * tree-vect-slp.c (vect_build_slp_tree_1): Remove check on + vector alignment. + (vect_transform_slp_perm_load): Properly compute the original + number of vector load stmts. + +2015-06-18 Uros Bizjak + + * doc/invoke.texi (-fsanitize-sections): Split @var to avoid + "unlikely character , in @var" warning. + +2015-06-17 Uros Bizjak + + * config/i386/i386.c (ix86_function_arg): Nest TARGET_64BIT code. + (ix86_function_arg_advance): Ditto. + (ix86_pass_by_reference): Ditto. Rewrite MS_ABI part. + +2015-06-17 Andrew MacLeod + + * function.h (struct rtl_data): Remove struct and accessor macros. + * emit-rtl.h (struct rtl_data): Relocate to here. + * Makefile.in (GTFILES): Add emit-rtl.h. + * df-core.c: Include emit-rtl.h. + * genattrtab.c: Likewise. + * genconditions.c: Likewise. + * genpreds.c: Likewise. + * genrecog.c: Likewise. + * regcprop.c: Likewise. + * resource.c: Likewise. + * sched-rgn.c: Likewise. + * config/aarch64/cortex-a57-fma-steering.c: Likewise. + * config/i386/winnt.c: Likewise. + +2015-06-17 Jakub Jelinek + + PR middle-end/66429 + * omp-low.c (expand_omp_taskreg, expand_omp_target): Use child_cfun + instead of DECL_STRUCT_FUNCTION (child_fn). Or in has_simduid_loops + and has_force_vectorize_loops flags from cfun into + child_cfun. + (expand_omp_simd): For broken loop, set cfun->has_simduid_loops + if simduid is non-NULL. + * tree-pass.h (make_pass_simduid_cleanup): New prototype. + * passes.def (pass_simduid_cleanup): Add new pass after loop + passes. + * tree-vectorizer.c (adjust_simduid_builtins): Remove one unnecessary + indirection from htab argument's type. + (shrink_simd_arrays): New function. + (vectorize_loops): Use it. Adjust adjust_simduid_builtins caller. + Don't call adjust_simduid_builtins if there are no loops. + (pass_data_simduid_cleanup, pass_simduid_cleanup): New variables. + (pass_simduid_cleanup::execute): New method. + (make_pass_simduid_cleanup): New function. + +2017-06-17 Andrew MacLeod + + * tree-core.h (tree_target_option): Make opts field a pointer to a + cl_target_option instead of an instance of the struct. + * tree.h (TREE_TARGET_OPTION): Return the pointer, not an address of + the structure. + * tree.c (make_node_stat ): Allocate a cl_target_option struct for + TARGET_OPTION_NODE. + (copy_node_stat): Allocate and copy struct cl_target_option. + +2015-06-17 Andrew MacLeod + + * tree.h (merge_dllimport_decl_attributes, handle_dll_attribute): + Remove conditional exposure of prototypes. + (ANON_AGGRNAME_FORMAT, ANON_AGGRNAME_P): Delete. + * tree.c (anon_aggrname_format, anon_aggrname_p): New. Replace macro + definitions in tree.h with functions. + * lto-streamer-out.c (DFS_write_tree_body, hash_tree): Use + anon_aggrname_p. + * tree-streamer-out.c (write_ts_decl_minimal_tree_pointers): Likewise. + +2015-06-17 Segher Boessenkool + + * config/rs6000/rs6000.md (*cmp_internal1): Rename to... + (*cmp_signed): ... this. + (*cmpsi_internal2, *cmpdi_internal2): Merge, rename to... + (*cmp_unsigned): ... this. Remove %b. + +2015-06-17 Andrew MacLeod + + * coretypes.h: Include input.h and as-a.h. + * rtl.h: Include input.h and as-a.h for generator files. + * hwint.c: Include coretypes.h, don't include diagnostic-core.h. + * vec.c: Don't include diagnostic-core.h. + * alias.c: Do not include input.h, line-map.h or is-a.h. + * 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. + * cfgloop.h: 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. + * df.h: Likewise. + * dfp.c: Likewise. + * diagnostic-core.h: Likewise. + * diagnostic.c: Likewise. + * dojump.c: Likewise. + * dominance.c: Likewise. + * domwalk.c: Likewise. + * double-int.c: Likewise. + * dse.c: Likewise. + * dumpfile.c: Likewise. + * dumpfile.h: Likewise. + * dwarf2asm.c: Likewise. + * dwarf2cfi.c: Likewise. + * dwarf2out.c: Likewise. + * emit-rtl.c: Likewise. + * et-forest.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. + * gcc-plugin.h: Likewise. + * gcse.c: Likewise. + * generic-match-head.c: Likewise. + * ggc-page.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-streamer.h: Likewise. + * gimple-walk.c: Likewise. + * gimple.c: Likewise. + * gimplify-me.c: Likewise. + * gimplify.c: Likewise. + * godump.c: Likewise. + * graph.c: Likewise. + * graphite-blocking.c: Likewise. + * graphite-dependences.c: Likewise. + * graphite-interchange.c: Likewise. + * graphite-isl-ast-to-gimple.c: Likewise. + * graphite-optimize-isl.c: Likewise. + * graphite-poly.c: Likewise. + * graphite-scop-detection.c: Likewise. + * graphite-sese-to-poly.c: Likewise. + * graphite.c: Likewise. + * haifa-sched.c: Likewise. + * hw-doloop.c: Likewise. + * ifcvt.c: Likewise. + * init-regs.c: Likewise. + * input.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. + * 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. + * omega.c: Likewise. + * omp-low.c: Likewise. + * optabs.c: Likewise. + * opts-global.c: Likewise. + * opts.h: Likewise. + * passes.c: Likewise. + * plugin.c: Likewise. + * postreload-gcse.c: Likewise. + * postreload.c: Likewise. + * predict.c: Likewise. + * pretty-print.h: Likewise. + * print-rtl.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. + * sched-vis.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. + * streamer-hooks.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-browser.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-copyrename.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. + * valtrack.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.cc: Likewise. + * xcoffout.c: Likewise. + * common/common-target.h: Do not include input.h, line-map.h or is-a.h. + * common/common-targhooks.c: Likewise. + * config/aarch64/aarch64-builtins.c: Likewise. + * config/aarch64/aarch64.c: Likewise. + * config/alpha/alpha.c: Likewise. + * config/arc/arc.c: Likewise. + * config/arm/aarch-common.c: Likewise. + * config/arm/arm-builtins.c: Likewise. + * config/arm/arm-c.c: Likewise. + * config/arm/arm.c: Likewise. + * config/avr/avr-c.c: Likewise. + * config/avr/avr-log.c: Likewise. + * config/avr/avr.c: Likewise. + * config/bfin/bfin.c: Likewise. + * config/c6x/c6x.c: Likewise. + * config/cr16/cr16.c: Likewise. + * config/cris/cris.c: Likewise. + * config/darwin-c.c: Likewise. + * config/darwin.c: Likewise. + * config/default-c.c: Likewise. + * config/epiphany/epiphany.c: Likewise. + * config/epiphany/mode-switch-use.c: Likewise. + * config/epiphany/resolve-sw-modes.c: Likewise. + * config/fr30/fr30.c: Likewise. + * config/frv/frv.c: Likewise. + * config/ft32/ft32.c: Likewise. + * config/glibc-c.c: Likewise. + * config/h8300/h8300.c: Likewise. + * config/i386/i386-c.c: Likewise. + * config/i386/i386.c: Likewise. + * config/i386/msformat-c.c: Likewise. + * config/i386/winnt-cxx.c: Likewise. + * config/i386/winnt-stubs.c: Likewise. + * config/i386/winnt.c: Likewise. + * config/ia64/ia64-c.c: Likewise. + * config/ia64/ia64.c: Likewise. + * config/iq2000/iq2000.c: Likewise. + * config/lm32/lm32.c: Likewise. + * config/m32c/m32c-pragma.c: Likewise. + * config/m32c/m32c.c: Likewise. + * config/m32r/m32r.c: Likewise. + * config/m68k/m68k.c: Likewise. + * config/mcore/mcore.c: Likewise. + * config/mep/mep-pragma.c: Likewise. + * config/mep/mep.c: Likewise. + * config/microblaze/microblaze-c.c: Likewise. + * config/microblaze/microblaze.c: Likewise. + * config/mips/mips.c: Likewise. + * config/mmix/mmix.c: Likewise. + * config/mn10300/mn10300.c: Likewise. + * config/moxie/moxie.c: Likewise. + * config/msp430/msp430-c.c: Likewise. + * config/msp430/msp430.c: Likewise. + * config/nds32/nds32-cost.c: Likewise. + * config/nds32/nds32-fp-as-gp.c: Likewise. + * config/nds32/nds32-intrinsic.c: Likewise. + * config/nds32/nds32-isr.c: Likewise. + * config/nds32/nds32-md-auxiliary.c: Likewise. + * config/nds32/nds32-memory-manipulation.c: Likewise. + * config/nds32/nds32-pipelines-auxiliary.c: Likewise. + * config/nds32/nds32-predicates.c: Likewise. + * config/nds32/nds32.c: Likewise. + * config/nios2/nios2.c: Likewise. + * config/nvptx/nvptx.c: Likewise. + * config/pa/pa.c: Likewise. + * config/pdp11/pdp11.c: Likewise. + * config/rl78/rl78-c.c: Likewise. + * config/rl78/rl78.c: Likewise. + * config/rs6000/rs6000-c.c: Likewise. + * config/rs6000/rs6000.c: Likewise. + * config/rx/rx.c: Likewise. + * config/s390/s390-c.c: Likewise. + * config/s390/s390.c: Likewise. + * config/sh/sh-c.c: Likewise. + * config/sh/sh-mem.cc: Likewise. + * config/sh/sh.c: Likewise. + * config/sh/sh_optimize_sett_clrt.cc: Likewise. + * config/sh/sh_treg_combine.cc: Likewise. + * config/sol2-c.c: Likewise. + * config/sol2-cxx.c: Likewise. + * config/sol2-stubs.c: Likewise. + * config/sol2.c: Likewise. + * config/sparc/sparc-c.c: Likewise. + * config/sparc/sparc.c: Likewise. + * config/spu/spu-c.c: Likewise. + * config/spu/spu.c: Likewise. + * config/stormy16/stormy16.c: Likewise. + * config/tilegx/mul-tables.c: Likewise. + * config/tilegx/tilegx-c.c: Likewise. + * config/tilegx/tilegx.c: Likewise. + * config/tilepro/mul-tables.c: Likewise. + * config/tilepro/tilepro-c.c: Likewise. + * config/tilepro/tilepro.c: Likewise. + * config/v850/v850-c.c: Likewise. + * config/v850/v850.c: Likewise. + * config/vax/vax.c: Likewise. + * config/visium/visium.c: Likewise. + * config/vms/vms-c.c: Likewise. + * config/vms/vms.c: Likewise. + * config/vxworks.c: Likewise. + * config/winnt-c.c: Likewise. + * config/xtensa/xtensa.c: Likewise. + +2015-06-17 Robert Suchanek + + * config/mips/mips.c (mips_ira_change_pseudo_allocno_class): New + function. + (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Define macro. + +2015-06-17 Richard Biener + + PR tree-optimization/66251 + * tree-vect-stmts.c (vectorizable_store): Fix gathering of vectorized + stmts for SLP strided stores. + + Revert + 2015-05-22 Richard Biener + + PR tree-optimization/66251 + * tree-vect-stmts.c (vectorizable_conversion): Properly + set STMT_VINFO_VEC_STMT even for the SLP case. + + 2015-05-26 Michael Matz + + PR middle-end/66251 + * tree-vect-stmts.c (vect_create_vectorized_demotion_stmts): Always set + STMT_VINFO_VEC_STMT, also with SLP. + +2015-06-16 Uros Bizjak + + PR target/56766 + * config/i386/sse.md (*avx_addsubv4df3_1): New insn pattern. + (*avx_addsubv4df3_1s): Ditto. + (*sse3_addsubv2df3_1): Ditto. + (*sse3_addsubv2df3_1s): Ditto. + (*avx_addsubv8sf3_1): Ditto. + (*avx_addsubv8sf3_1s): Ditto. + (*sse3_addsubv4sf3_1): Ditto. + (*sse3_addsubv4sf3_1s): Ditto. + +2015-06-16 Steve Ellcey + + * config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): New. + (SYSROOT_SUFFIX_SPEC): Update. + (SYSROOT_HEADERS_SUFFIX_SPEC): New. + (STARTFILE_PREFIX_SPEC): Update. + * config/mips/t-mti-linux (MULTILIB_EXCEPTIONS): Remove. + (MULTILIB_REQUIRED): New. + (MULTILIB_OSDIRNAMES): New. + * config/mips/t-img-linux (MULTILIB_EXCEPTIONS): Remove. + (MULTILIB_REQUIRED): New. + (MULTILIB_OSDIRNAMES): New. + +2015-06-16 Matthew Wahab + + * config/aarch64/aarch64-arches.def: Add "armv8.1-a". + * config/aarch64/aarch64-options-extensions.def: Update "fP", + "simd" and "crypto". Add "lse", "pan", "lor" and "rdma". + * config/aarch64/aarch64.h (AARCH64_FL_LSE): New. + (AARCH64_FL_PAN): New. + (AARCH64_FL_LOR): New. + (AARCH64_FL_RDMA): New. + (AARCH64_FL_FOR_ARCH8_1): New. + * doc/invoke.texi (AArch64 Options): Add "armv8.1-a" to + -march. Add "lse", "pan", "lor", "rdma" to feature modifiers. + +2015-06-16 Martin Liska + + * bitmap.c (dump_bitmap_statistics): Fix GNU coding style. + * hash-table.c (void dump_hash_table_loc_statistics): Add missing + guard. + +2015-06-16 Richard Biener + + * tree-vect-stmts.c (vectorizable_store): Adjust. + (vectorizable_load): Likewise. + * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): + Simplify. + (vect_create_data_ref_ptr): Likewise. + (bump_vector_ptr): Adjust. + +2015-06-16 Richard Biener + + * tree-vect-stmts.c (vectorizable_load): Properly start loads + with the first element if this is grouped loads. + +2015-06-16 James Greenhalgh + + * config/arm/arm-protos.h (struct tune_params): Rename + log_op_non_sc to log_op_non_short_circuit, and rename enum + values to expand SC to SHORT_CIRCUIT. + * config/arm/arm.c (arm_slowmul_tune): Expand LOG_OP_NON_SC + to LOG_OP_NON_SHORT_CIRCUIT. + (arm_fastmul_tune):Likewise + (arm_strongarm_tune): Likewise. + (arm_xscale_tune): Likewise. + (arm_9e_tune): Likewise. + (arm_marvell_pj4_tune): Likewise. + (arm_v6t2_tune): Likewise. + (arm_cortex_tune): Likewise. + (arm_cortex_a8_tune): Likewise. + (arm_cortex_a7_tune): Likewise. + (arm_cortex_a15_tune): Likewise. + (arm_cortex_a53_tune): Likewise. + (arm_cortex_a57_tune): Likewise. + (arm_xgene1_tune): Likewise. + (arm_cortex_a5_tune): Likewise. + (arm_cortex_a9_tune): Likewise. + (arm_cortex_a12_tune): Likewise. + (arm_v7m_tune): Likewise. + (arm_cortex_m7_tune): Likewise. + (arm_v6m_tune): Likewise. + (arm_fa726te_tune): Likewise. + +2015-06-15 David Edelsohn + + * altivec.md: Delete UNSPEC_VMLADDUHM. + (mulv4si3_p8): New pattern. + (mulv4si3): Use it for POWER8. + (mulv8hi3): Use vmladduhm with zero addend. + (altivec_vmladduhm): Descriptive RTL. + +2015-06-15 Jim Wilson + + * config/aarch64/aarch64.md (mov_aarch64): Change alternative 2 + to use neon_move instead of mov_imm. + (movdi_aarch64): Change alternative 14 to use neon_move not fmov. + (movtf_aarch64): Change alternative 4 to use neon_move_q not fconstd. + + * config/aarch64/aarch64.c (aarch64_valid_floating_const): Move + aarch64_float_const_zero_rtx_p check before TFmode check. + * config/aarch64/aarch64.md (movtf): Don't call force_reg if op1 is + an fp zero. + (movtf_aarch64): Separate ?rY alternative into two. Adjust assembly + code and attributes to match. Change condition from register_operand + to aarch64_reg_or_fp_zero for op1. Change type for ldp from + neon_load1_2reg to load2. Change type for stp from neon_store1_2reg + to store2. + +2015-06-15 Aldy Hernandez + + PR debug/66535 + * dwarf2out.c (gen_subprogram_die): Do not check a parent's tag if + there is no parent. + +2015-06-14 Shiva Chen + + * aarch64.c (aarch64_simd_lane_bounds): Change %ld to %wd for + HOST_WIDE_INT parameter. + +2015-06-14 Jan Hubicka + + PR ipa/66181 + * lto-streamer-out.c (hash_tree): Do not hash TYPE_NO_FORCE_BLK. + * tree-streamer-out.c (pack_ts_type_common_value_fields): Do not stream + TYPE_NO_FORCE_BLK. + * tree-streamer-in.c (unpack_ts_type_common_value_fields): Likewise. + +2015-06-14 Richard Sandiford + + * rtl.h (classify_insn): Declare. + * emit-rtl.c (classify_insn): Move to... + * rtl.c: ...here and add generator support. + * gensupport.h (get_emit_function, needs_barrier_p): Declare. + * gensupport.c (get_emit_function, needs_barrier_p): New functions. + * genemit.c (gen_emit_seq): New function. + (gen_expand, gen_split): Use it. + +2015-06-13 Patrick Palka + + * tree.c (make_vector_stat): Fix comment to state that the + function returns a VECTOR_CST. + +2015-06-13 Richard Sandiford + + * gensupport.h (add_implicit_parallel): Declare. + * genrecog.c (add_implicit_parallel): Move to... + * gensupport.c (add_implicit_parallel): ...here. + (process_one_cond_exec): Use it. + * genemit.c (gen_insn): Likewise. + +2015-06-13 Iain Sandoe + + PR bootstrap/66448 + * passes.c (rest_of_decl_compilation): Do not register globals for + early debug if they are declared in built-ins. + +2015-06-12 Aldy Hernandez + + * dwarf2out.c (check_die): Protect with ENABLE_CHECKING. + +2015-06-12 Kyrylo Tkachov + + * ifcvt.c (noce_try_store_flag_constants): Use std::swap instead of + manually swapping. + (noce_try_cmove_arith): Likewise. + (noce_get_alt_condition): Likewise. + +2015-06-12 Venkataramanan Kumar + + * common/config/i386/i386-common.c + (OPTION_MASK_ISA_MWAITX_SET): New. + (ix86_handle_option): Handle mwaitx. + * config.gcc (i[34567]86-*-*): Add mwaitxintrin.h, + (x86_64-*-*): Likewise. + * config/i386/mwaitxintrin.h: New header. + * config/i386/cpuid.h (bit_MWAITX): Define. + * config/i386/driver-i386.c (host_detect_local_cpu): Detect + MWAITX support. + * config/i386/i386.opt (mwaitx): New. + * config/i386/i386-builtin-types.def + (VOID_FTYPE_UNSIGNED_ UNSIGNED_UNSIGNED): New function type. + * config/i386/i386-c.c: Define __MWAITX__ if needed. + * config/i386/i386.c (ix86_target_string): Define -mmwaitx option. + (PTA_MWAITX): New. + (ix86_option_override_internal): Handle new option. + (processor_alias_table): Added PTA_MWAITX. + (ix86_valid_target_attribute_inner_p): Add OPT_mmwaitx. + (ix86_builtins): Add IX86_BUILTIN_MWAITX, IX86_BUILTIN_MONITORX. + (ix86_expand_builtin): Handle IX86_BUILTIN_MWAITX and + IX86_BUILTIN_MONITORX built-ins. + * config/i386/i386.h (TARGET_MWAITX): New. + * config/i386/i386.md (unspecv): Add UNSPEC_MWAITX and + UNSPEC_MONITORX. + (mwaitx): New pattern. + (monitorx_): New pattern. + * config/i386/x86intrin.h: Include mwaitxintrin.h. + * doc/extend.texi: Document monitorx and mwaitx builtins. + * doc/invoke.texi: Document -mmwaitx option. + +2015-06-12 Uros Bizjak + + * emit-rtl.c (need_atomic_barrier_p): Mask model with + MEMMODEL_BASE_MASK. Remove MEMMODEL_SYNC_* cases. + +2015-06-11 David Edelsohn + + * dbxout.c (xcoff_debug_hooks): Provide a function for + register_main_translation_unit hook. + +2015-06-11 David Edelsohn + + * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier): Remove SYNC + variants cases from switch. + (rs6000_post_atomic_barrier): Same. + (rs6000_expand_atomic_compare_and_swap): Use memmodel_base. + (rs6000_expand_atomic_exchange): Same. + (rs6000_expand_atomic_op): Same. + * config/rs6000/sync.md (mem_thread_fence): Use memodel_base. Remove + SYNC variants cases from switch. + (atomic_load): Same. + (atomic_store): Same. + +2015-06-11 John David Anglin + + * config/pa/pa.c (pa_output_global_address): Handle LABEL_REF plus + CONST_INT for goto. + +2015-06-11 Aldy Hernandez + + PR bootstrap/66448 + * dwarf2out.c (check_die): Check for common duplicate attributes. + (add_location_or_const_value_attribute): Do not add duplicate + attributes. + (gen_formal_parameter_die): Do not add DW_AT_artificial the second + time around. + (gen_struct_or_union_type_die): Bail early if TREE_ASM_WRITTEN. + (gen_type_die_with_usage): Call check_die. + (dwarf2out_decl): Only call check_die() when ENABLE_CHECKING. + +2015-06-11 Jason Merrill + + * dwarf2out.c (prune_unused_types): Handle unused top-level limbo + dies. + +2015-06-11 Marek Polacek + + * match.pd ((x & y) ^ (x | y)): Don't check for single_use. + +2015-06-11 Eric Botcazou + + PR bootstrap/66252 + * config/sparc/sparc.c (hard_regno_mode_classes): Add ??? comment. + * config/sparc/sparc.md (zero_extendsidi2_insn_sp32): Use single order. + (*addx_extend_sp32): Fix pasto. + (*subx_extend): Rename into... + (*subx_extend_sp32): ...this. + (*adddi3_extend_sp32): Add earlyclobber. + (*subdi3_insn_sp32): Likewise. + (*subdi3_extend_sp32): Likewise. + (*and_not_di_sp32): Likewise. + (*or_not_di_sp32): Likewise. + (*xor_not_di_sp32): Likewise. + (*negdi2_sp32): Likewise. + (*one_cmpldi2_sp32): Likewise. + +2015-06-11 Pierre-Marie de Rodat + + * debug.h (struct gcc_debug_hooks): Add a + register_main_translation_unit hook. + * debug.c (do_nothing_debug_hooks): Provide a function for this + new hook. + * dbxout.c (dbx_debug_hooks): Likewise. + * sdbout.c (sdb_debug_hooks): Likewise. + * vmsdbgout.c (vmsdbg_debug_hooks): Likewise. + * dwarf2out.c (main_translation_unit): New global variable. + (dwarf2out_register_main_translation_unit): New function + implementing the new hook. + (dwarf2_debug_hooks): Assign + dwarf2out_register_main_translation_unit to this new hook. + (dwarf2out_init): Associate any main translation unit to + comp_unit_die (). + +2015-06-11 Marek Polacek + + * match.pd ((x & y) ^ (x | y) -> x ^ y): New pattern. + +2015-06-11 Marek Polacek + + * match.pd: Use single_use throughout. + +2015-06-11 Kyrylo Tkachov + + * config/arm/arm.c (arm_option_params_internal): When optimising + for speed set max_insns_skipped when arm_restrict_it. + +2015-06-11 Christian Bruel + + PR target/52144 + * config/arm/arm-c.c (arm_cpu_cpp_builtins): Conditionally define + macros in ... + (arm_cpu_builtins): New function. + (arm_pragma_target_parse): Call arm_cpu_builtins. + * config/arm/arm-protos.h (arm_cpu_builtins): Declare. + (arm_register_target_pragmas): Likewise. + * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): + Call arm_register_target_pragmas. + * config/arm/arm-c.c (arm_register_target_pragmas): New function. + (arm_pragma_target_parse): Likewise. + +2015-06-10 Kaz Kojima + + * config/sh/sh.md (tstsi_t): Add '?' modifier to 'r' alternative + of the second operand. + +2015-06-10 Uros Bizjak + + PR target/66473 + * config/i386/i386.c (ix86_expand_vector_set): Use gen_int_mode + to prepare mask operand for AVX512 modes. + +2015-06-10 Michael Meissner + + PR target/66474 + * doc/md.texi (Machine Constraints): Document that on the PowerPC + if you use a constraint that targets a VSX register, you must use + %x in the template. + +2015-06-10 Max Filippov + + * config/xtensa/xtensa.h (TARGET_DEBUG): New definition. + * config/xtensa/xtensa.md (define_attr "type"): New type "trap". + (define_insn "trap"): New definition. + +2015-06-10 Richard Biener + + * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Split + out from ... + (vect_supported_load_permutation_p): ... here. Handle + supportable permutations in reductions. + * tree-vect-stmts.c (vectorizable_load): Handle SLP permutations + for vectorizing strided group loads. + +2015-06-10 Jakub Jelinek + + PR target/66470 + * config/i386/i386.c (ix86_split_long_move): For collisions + involving direct tls segment refs, move the UNSPEC_TP possibly + wrapped in ZERO_EXTEND out of the address for lea, to each of + the memory loads. + +2015-06-10 Ramana Radhakrishnan + + * config/arm/sync.md (*memory_barrier): Use dmb ish instead of + dmb sy. Adjust tabs. + +2015-06-10 Tom de Vries + + * omp-low.c (expand_omp_target): Remove duplicate declaration of node. + +2015-06-10 Martin Liska + + PR bootstrap/66471 + * mem-stats-traits.h (enum mem_alloc_origin): Add _ORIGIN suffix for + all enum values in mem_alloc_origin. + * alloc-pool.c (dump_alloc_pool_statistics): Use newly changed enum + name. + * alloc-pool.h (pool_allocator::pool_allocator): Likewise. + * bitmap.c (bitmap_register): Likewise. + (dump_bitmap_statistics): Likewise. + * ggc-common.c (dump_ggc_loc_statistics): Likewise. + (ggc_record_overhead): Likewise. + * hash-map.h: Likewise. + * hash-set.h: Likewise. + * hash-table.c (void dump_hash_table_loc_statistics): Likewise. + * hash-table.h: Likewise. + * vec.c (vec_prefix::register_overhead): Likewise. + (vec_prefix::release_overhead): Likewise. + (dump_vec_loc_statistics): Likewise. + +2015-06-09 Christian Bruel + + PR target/52144 + * config/arm/arm.opt (THUMB, arm_restrict_it, inline_asm_unified): Save. + * config/arm/arm-protos.h (arm_valid_target_attribute_tree): Declare. + (arm_reset_previous_fndecl, arm_change_mode_p): Likewise. + * config/arm/arm.h (SWITCHABLE_TARGET): Define. + * config/arm/arm.c (arm_reset_previous_fndecl): New functions. + (arm_valid_target_attribute_tree, arm_change_mode_p): Likewise. + (arm_valid_target_attribute_p): Likewise. + (arm_set_current_function, arm_can_inline_p): Likewise. + (arm_valid_target_attribute_rec): Likewise. + (arm_previous_fndecl): New variable. + (TARGET_SET_CURRENT_FUNCTION, TARGET_OPTION_VALID_ATTRIBUTE_P): Define. + (TARGET_CAN_INLINE_P): Define. + (arm_asm_trampoline_template): Emit mode. + (arm_file_start): Don't set unified syntax. + (arm_declare_function_name): Set unified syntax and mode. + (arm_option_override): Init target_option_default_node. + and target_option_current_node. + * config/arm/arm.md (*call_value_symbol): Set mode when possible. + (*call_symbol): Likewise. + * doc/extend.texi: Document ARM/Thumb target attribute. + * doc/invoke.texi: Likewise. + +2015-06-09 Alexandre Oliva + + Revert: + 2015-06-09 Alexandre Oliva + PR rtl-optimization/64164 + * Makefile.in (OBJS): Drop tree-ssa-copyrename.o. + * tree-ssa-copyrename.c: Removed. + * opts.c (default_options_table): Drop -ftree-copyrename. Add + -ftree-coalesce-vars. + * passes.def: Drop all occurrences of pass_rename_ssa_copies. + * common.opt (ftree-copyrename): Ignore. + (ftree-coalesce-inlined-vars): Likewise. + * doc/invoke.texi: Remove the ignored options above. + * gimple-expr.h (gimple_can_coalesce_p): Move declaration + * tree-ssa-coalesce.h: ... here. + * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other + headers required by it. + * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing + across variables when flag_tree_coalesce_vars. Check register + use and promoted modes to allow coalescing. Moved to + tree-ssa-coalesce.c. + * tree-ssa-live.c (struct tree_int_map_hasher): Move along + with its member functions to tree-ssa-coalesce.c. + (var_map_base_init): Likewise. Renamed to + compute_samebase_partition_bases. + (partition_view_normal): Drop want_bases parameter. + (partition_view_bitmap): Likewise. + * tree-ssa-live.h: Adjust declarations. + * tree-ssa-coalesce.c: Include explow.h. + (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's + default defs at the entry point. + (dump_part_var_map): New. + (compute_optimized_partition_bases): New, called by... + (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead + of compute_samebase_partition_bases. Adjust. + * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs. + * cfgexpand.c (leader_merge): New. + (get_rtl_for_parm_ssa_default_def): New. + (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA + vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too. + (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop + redundant MEM attr setting. + (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed + from... + (expand_one_stack_var): ... this. New wrapper to check and + skip already expanded SSA partitions. + (record_alignment_for_reg_var): New, factored out of... + (expand_one_var): ... this. + (expand_one_ssa_partition): New. + (adjust_one_expanded_partition_var): New. + (expand_one_register_var): Check and skip already expanded SSA + partitions. + (expand_used_vars): Don't create DECLs for anonymous SSA + names. Expand all SSA partitions, then adjust all SSA names. + (pass::execute): Replace the loops that set + SA.partition_to_pseudo from partition leaders and cleared + DECL_RTL for multi-location variables, and that which used to + rename vars and set attrs, with one that clears DECL_RTL and + checks that PARMs and RESULTs default_defs match DECL_RTL. + * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare. + * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl. + * explow.c (promote_ssa_mode): New. + * explow.h (promote_ssa_mode): Declare. + * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs. + * function.c: Include cfgexpand.h. + (use_register_for_decl): Handle SSA_NAMEs, anonymous or not. + (use_register_for_parm_decl): Wrapper for the above to + special-case the result_ptr. + (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def. + (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with + multiple locations. + (assign_parm_adjust_stack_rtl): Add all and parm arguments, + for rtl_for_parm. For SSA-assigned parms, zero stack_parm. + (assign_parm_setup_block): Prefer SSA-assigned location. + (assign_parm_setup_reg): Likewise. Use entry_parm for equiv + if stack_parm is NULL. + (assign_parm_setup_stack): Prefer SSA-assigned location. + (assign_parms): Maybe reset DECL_RTL of params. Adjust stack + rtl before testing for pointer bounds. Special-case result_ptr. + (expand_function_start): Maybe reset DECL_RTL of result. + Prefer SSA-assigned location for result and static chain. + Factor out DECL_RESULT and SET_DECL_RTL. + * tree-outof-ssa.c (insert_value_copy_on_edge): Handle + anonymous SSA names. Use promote_ssa_mode. + (get_temp_reg): Likewise. + (remove_ssa_form): Adjust. + * var-tracking.c (dataflow_set_clear_at_call): Take call_insn + and get its reg_usage for reg invalidation. + (compute_bb_dataflow): Pass it insn. + (emit_notes_in_bb): Likewise. + * tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't + fail assert on conversion between unsigned types. + +2015-06-09 Tom de Vries + + PR tree-optimization/65460 + * omp-low.c (expand_omp_target): Set parallelized_function on + cgraph_node for child_fn. + +2015-06-09 Tom de Vries + + * omp-low.c (finalize_task_copyfn, expand_omp_taskreg): Mark function + parallelized_function before add_new_function. + +2015-06-09 Andrew MacLeod + + * gcc-plugin.h: Move decls to plugin.h and include it. + * plugin.h: Relocate decls from gcc-plugin.h + * ggc-page.c: Include required header files. + * passes.c: Likewise. + * cgraphunit.c: Likewise. + +2015-06-09 Tom de Vries + + * tree-stdarg.c (expand_ifn_va_arg_1): Handle location. + +2015-06-09 Jason Merrill + + PR bootstrap/66448 + * toplev.c (check_global_declaration): Don't warn about a clone. + +2015-06-09 Marek Polacek + + PR tree-optimization/66299 + * match.pd ((CST1 << A) == CST2 -> A == ctz (CST2) - ctz (CST1) + ((CST1 << A) != CST2 -> A != ctz (CST2) - ctz (CST1)): New + patterns. + +2015-06-09 Richard Biener + + * tree-vect-slp.c (vect_build_slp_tree_1): Remove bailout on gaps. + (vect_analyze_slp_instance): Instead do not falsely drop + load permutations. + +2015-06-09 Richard Biener + + PR middle-end/66423 + * match.pd: Handle A % (unsigned)(1 << B). + +2015-06-09 Aldy Hernandez + + * varasm.c (output_object_block_htab): Remove. + (output_object_block_compare): New. + (output_object_blocks): Sort named object_blocks before outputting + them. + +2015-06-09 Richard Biener + + PR tree-optimization/66419 + * tree-vect-slp.c (vect_supported_load_permutation_p): Properly + consider GROUP_GAP when detecting a perfect subchain. + +2015-06-09 Nick Clifton + + * config/rl78/rl78.c (rl78_select_section): When -mes0 is active + place read only data in the .frodata section. + +2015-06-09 Shiva Chen + + * sync.md (atomic_load): Add conditional code for lda/ldr + (atomic_store): Likewise. + +2015-06-09 Richard Biener + + * cfgloop.c (get_loop_body_in_bfs_order): Fix assert. + +2015-06-09 Richard Biener + + PR middle-end/66413 + * tree-inline.c (insert_init_debug_bind): Unshare value. + +2015-06-09 Richard Biener + + PR tree-optimization/66396 + * graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl): + Rename virtual operands. + +2015-06-09 Tom de Vries + + * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Don't + always return false. + +2015-06-09 Alexandre Oliva + + PR rtl-optimization/64164 + * Makefile.in (OBJS): Drop tree-ssa-copyrename.o. + * tree-ssa-copyrename.c: Removed. + * opts.c (default_options_table): Drop -ftree-copyrename. Add + -ftree-coalesce-vars. + * passes.def: Drop all occurrences of pass_rename_ssa_copies. + * common.opt (ftree-copyrename): Ignore. + (ftree-coalesce-inlined-vars): Likewise. + * doc/invoke.texi: Remove the ignored options above. + * gimple-expr.h (gimple_can_coalesce_p): Move declaration + * tree-ssa-coalesce.h: ... here. + * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other + headers required by it. + * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing + across variables when flag_tree_coalesce_vars. Check register + use and promoted modes to allow coalescing. Moved to + tree-ssa-coalesce.c. + * tree-ssa-live.c (struct tree_int_map_hasher): Move along + with its member functions to tree-ssa-coalesce.c. + (var_map_base_init): Likewise. Renamed to + compute_samebase_partition_bases. + (partition_view_normal): Drop want_bases parameter. + (partition_view_bitmap): Likewise. + * tree-ssa-live.h: Adjust declarations. + * tree-ssa-coalesce.c: Include explow.h. + (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's + default defs at the entry point. + (dump_part_var_map): New. + (compute_optimized_partition_bases): New, called by... + (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead + of compute_samebase_partition_bases. Adjust. + * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs. + * cfgexpand.c (leader_merge): New. + (get_rtl_for_parm_ssa_default_def): New. + (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA + vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too. + (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop + redundant MEM attr setting. + (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed + from... + (expand_one_stack_var): ... this. New wrapper to check and + skip already expanded SSA partitions. + (record_alignment_for_reg_var): New, factored out of... + (expand_one_var): ... this. + (expand_one_ssa_partition): New. + (adjust_one_expanded_partition_var): New. + (expand_one_register_var): Check and skip already expanded SSA + partitions. + (expand_used_vars): Don't create DECLs for anonymous SSA + names. Expand all SSA partitions, then adjust all SSA names. + (pass::execute): Replace the loops that set + SA.partition_to_pseudo from partition leaders and cleared + DECL_RTL for multi-location variables, and that which used to + rename vars and set attrs, with one that clears DECL_RTL and + checks that PARMs and RESULTs default_defs match DECL_RTL. + * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare. + * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl. + * explow.c (promote_ssa_mode): New. + * explow.h (promote_ssa_mode): Declare. + * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs. + * function.c: Include cfgexpand.h. + (use_register_for_decl): Handle SSA_NAMEs, anonymous or not. + (use_register_for_parm_decl): Wrapper for the above to + special-case the result_ptr. + (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def. + (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with + multiple locations. + (assign_parm_adjust_stack_rtl): Add all and parm arguments, + for rtl_for_parm. For SSA-assigned parms, zero stack_parm. + (assign_parm_setup_block): Prefer SSA-assigned location. + (assign_parm_setup_reg): Likewise. Use entry_parm for equiv + if stack_parm is NULL. + (assign_parm_setup_stack): Prefer SSA-assigned location. + (assign_parms): Maybe reset DECL_RTL of params. Adjust stack + rtl before testing for pointer bounds. Special-case result_ptr. + (expand_function_start): Maybe reset DECL_RTL of result. + Prefer SSA-assigned location for result and static chain. + Factor out DECL_RESULT and SET_DECL_RTL. + * tree-outof-ssa.c (insert_value_copy_on_edge): Handle + anonymous SSA names. Use promote_ssa_mode. + (get_temp_reg): Likewise. + (remove_ssa_form): Adjust. + * var-tracking.c (dataflow_set_clear_at_call): Take call_insn + and get its reg_usage for reg invalidation. + (compute_bb_dataflow): Pass it insn. + (emit_notes_in_bb): Likewise. + * tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't + fail assert on conversion between unsigned types. + +2015-06-09 Alexandre Oliva + + PR debug/58315 + * tree-inline.c (reset_debug_binding): New. + (reset_debug_bindings): Likewise. + (expand_call_inline): Call it. + +2015-06-08 Jan Hubicka + + * tree.c (gimple_canonical_types_compatible_p): Drop comparsion of + TYPE_STRING_FLAG. + +2015-06-08 Jan Hubicka + + * lto-streamer-out.c (lto_output_location): Stream + reserved locations correctly. + * lto-streamer-in.c (lto_output_location): Likewise. + +2015-06-08 Andrew MacLeod + + * coretypes.h: Include hash-table.h and hash-set.h for host files. + * ggc.h: Don't include statistics.h> + * hash-map.h: Remove all includes. + * hash-set.h: Likewise. + * hash-table.h: Add statistics.h, inchash.h and hash-map-traits.h to + the include list. Remove . + * inchash.h: Remove all includes. + * mem-stats.h: Likewise. + * vec.h: No special processing for generators or ggc. + * alias.c : Adjust include files. + * alloc-pool.c : Likewise. + * alloc-pool.h : Likewise. + * asan.c : Likewise. + * attribs.c : Likewise. + * auto-inc-dec.c : Likewise. + * auto-profile.c : Likewise. + * bb-reorder.c : Likewise. + * bitmap.c : Likewise. + * bitmap.h : 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. + * cfgloop.h : 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. + * context.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. + * data-streamer.h : 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. + * df.h : 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. + * et-forest.c : Likewise. + * except.c : Likewise. + * except.h : 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. + * gcc-plugin.h : Likewise. + * gcc.c : Likewise. + * gcse-common.c : Likewise. + * gcse.c : Likewise. + * genattrtab.c : Likewise. + * genautomata.c : Likewise. + * genconditions.c : Likewise. + * genemit.c : Likewise. + * generic-match-head.c : Likewise. + * genextract.c : Likewise. + * gengtype-state.c : Likewise. + * gengtype.c : Likewise. + * genhooks.c : Likewise. + * genmatch.c : Likewise. + * genmodes.c : Likewise. + * genrecog.c : Likewise. + * gensupport.c : Likewise. + * ggc-common.c : Likewise. + * ggc-internal.h : Likewise. + * ggc-none.c : Likewise. + * ggc-page.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-ssa.h : Likewise. + * gimple-streamer-in.c : Likewise. + * gimple-streamer-out.c : Likewise. + * gimple-streamer.h : Likewise. + * gimple-walk.c : Likewise. + * gimple.c : Likewise. + * gimplify-me.c : Likewise. + * gimplify.c : Likewise. + * godump.c : Likewise. + * graph.c : Likewise. + * graphds.c : Likewise. + * graphite-blocking.c : Likewise. + * graphite-dependences.c : Likewise. + * graphite-interchange.c : Likewise. + * graphite-isl-ast-to-gimple.c : Likewise. + * graphite-optimize-isl.c : Likewise. + * graphite-poly.c : Likewise. + * graphite-scop-detection.c : Likewise. + * graphite-sese-to-poly.c : Likewise. + * graphite.c : Likewise. + * haifa-sched.c : Likewise. + * hard-reg-set.h : Likewise. + * hw-doloop.c : Likewise. + * ifcvt.c : Likewise. + * inchash.c : Likewise. + * incpath.c : Likewise. + * init-regs.c : Likewise. + * input.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. + * libfuncs.h : 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. + * lto-streamer.h : Likewise. + * mcf.c : Likewise. + * mode-switching.c : Likewise. + * modulo-sched.c : Likewise. + * omega.c : Likewise. + * omp-low.c : Likewise. + * optabs.c : Likewise. + * opts-global.c : Likewise. + * opts.h : Likewise. + * passes.c : Likewise. + * plugin.c : Likewise. + * postreload-gcse.c : Likewise. + * postreload.c : Likewise. + * predict.c : Likewise. + * print-rtl.c : Likewise. + * print-tree.c : Likewise. + * profile.c : Likewise. + * read-md.c : Likewise. + * read-md.h : Likewise. + * read-rtl.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.c : Likewise. + * rtl.h : Likewise. + * rtlanal.c : Likewise. + * rtlhash.c : Likewise. + * rtlhash.h : Likewise. + * rtlhooks.c : Likewise. + * sanopt.c : Likewise. + * sched-deps.c : Likewise. + * sched-ebb.c : Likewise. + * sched-rgn.c : Likewise. + * sched-vis.c : Likewise. + * sdbout.c : Likewise. + * sel-sched-dump.c : Likewise. + * sel-sched-ir.c : Likewise. + * sel-sched-ir.h : Likewise. + * sel-sched.c : Likewise. + * sese.c : Likewise. + * shrink-wrap.c : Likewise. + * shrink-wrap.h : 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. + * tlink.c : Likewise. + * toplev.c : Likewise. + * tracer.c : Likewise. + * trans-mem.c : Likewise. + * tree-affine.c : Likewise. + * tree-affine.h : Likewise. + * tree-browser.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-eh.h : Likewise. + * tree-emutls.c : Likewise. + * tree-hasher.h : Likewise. + * tree-if-conv.c : Likewise. + * tree-inline.c : Likewise. + * tree-inline.h : 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-copyrename.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-streamer.h : 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-vectorizer.h : Likewise. + * tree-vrp.c : Likewise. + * tree.c : Likewise. + * tsan.c : Likewise. + * ubsan.c : Likewise. + * valtrack.c : Likewise. + * valtrack.h : Likewise. + * value-prof.c : Likewise. + * var-tracking.c : Likewise. + * varasm.c : Likewise. + * varpool.c : Likewise. + * vec.c: Likewise. + * vmsdbgout.c : Likewise. + * vtable-verify.c : Likewise. + * vtable-verify.h : Likewise. + * web.c : Likewise. + * wide-int.cc : Likewise. + * xcoffout.c : Likewise. + * config/aarch64/aarch64-builtins.c : Likewise. + * config/aarch64/aarch64.c : Likewise. + * config/aarch64/cortex-a57-fma-steering.c : Likewise. + * config/alpha/alpha.c : Likewise. + * config/arc/arc.c : Likewise. + * config/arm/aarch-common.c : Likewise. + * config/arm/arm-builtins.c : Likewise. + * config/arm/arm-c.c : Likewise. + * config/arm/arm.c : Likewise. + * config/avr/avr-c.c : Likewise. + * config/avr/avr-log.c : Likewise. + * config/avr/avr.c : Likewise. + * config/bfin/bfin.c : Likewise. + * config/c6x/c6x.c : Likewise. + * config/cr16/cr16.c : Likewise. + * config/cris/cris.c : Likewise. + * config/darwin-c.c : Likewise. + * config/darwin.c : Likewise. + * config/default-c.c : Likewise. + * config/epiphany/epiphany.c : Likewise. + * config/epiphany/mode-switch-use.c : Likewise. + * config/epiphany/resolve-sw-modes.c : Likewise. + * config/fr30/fr30.c : Likewise. + * config/frv/frv.c : Likewise. + * config/ft32/ft32.c : Likewise. + * config/glibc-c.c : Likewise. + * config/h8300/h8300.c : Likewise. + * config/i386/i386-c.c : Likewise. + * config/i386/i386.c : Likewise. + * config/i386/msformat-c.c : Likewise. + * config/i386/winnt-cxx.c : Likewise. + * config/i386/winnt-stubs.c : Likewise. + * config/i386/winnt.c : Likewise. + * config/ia64/ia64-c.c : Likewise. + * config/ia64/ia64.c : Likewise. + * config/iq2000/iq2000.c : Likewise. + * config/lm32/lm32.c : Likewise. + * config/m32c/m32c-pragma.c : Likewise. + * config/m32c/m32c.c : Likewise. + * config/m32r/m32r.c : Likewise. + * config/m68k/m68k.c : Likewise. + * config/mcore/mcore.c : Likewise. + * config/mep/mep-pragma.c : Likewise. + * config/mep/mep.c : Likewise. + * config/microblaze/microblaze-c.c : Likewise. + * config/microblaze/microblaze.c : Likewise. + * config/mips/mips.c : Likewise. + * config/mmix/mmix.c : Likewise. + * config/mn10300/mn10300.c : Likewise. + * config/moxie/moxie.c : Likewise. + * config/msp430/msp430-c.c : Likewise. + * config/msp430/msp430.c : Likewise. + * config/nds32/nds32-cost.c : Likewise. + * config/nds32/nds32-fp-as-gp.c : Likewise. + * config/nds32/nds32-intrinsic.c : Likewise. + * config/nds32/nds32-isr.c : Likewise. + * config/nds32/nds32-md-auxiliary.c : Likewise. + * config/nds32/nds32-memory-manipulation.c : Likewise. + * config/nds32/nds32-pipelines-auxiliary.c : Likewise. + * config/nds32/nds32-predicates.c : Likewise. + * config/nds32/nds32.c : Likewise. + * config/nios2/nios2.c : Likewise. + * config/nvptx/nvptx.c : Likewise. + * config/pa/pa.c : Likewise. + * config/pdp11/pdp11.c : Likewise. + * config/rl78/rl78-c.c : Likewise. + * config/rl78/rl78.c : Likewise. + * config/rs6000/rs6000-c.c : Likewise. + * config/rs6000/rs6000.c : Likewise. + * config/rx/rx.c : Likewise. + * config/s390/s390-c.c : Likewise. + * config/s390/s390.c : Likewise. + * config/sh/sh-c.c : Likewise. + * config/sh/sh-mem.cc : Likewise. + * config/sh/sh.c : Likewise. + * config/sh/sh_optimize_sett_clrt.cc : Likewise. + * config/sh/sh_treg_combine.cc : Likewise. + * config/sol2-c.c : Likewise. + * config/sol2-cxx.c : Likewise. + * config/sol2-stubs.c : Likewise. + * config/sol2.c : Likewise. + * config/sparc/sparc-c.c : Likewise. + * config/sparc/sparc.c : Likewise. + * config/spu/spu-c.c : Likewise. + * config/spu/spu.c : Likewise. + * config/stormy16/stormy16.c : Likewise. + * config/tilegx/mul-tables.c : Likewise. + * config/tilegx/tilegx-c.c : Likewise. + * config/tilegx/tilegx.c : Likewise. + * config/tilepro/mul-tables.c : Likewise. + * config/tilepro/tilepro-c.c : Likewise. + * config/tilepro/tilepro.c : Likewise. + * config/v850/v850-c.c : Likewise. + * config/v850/v850.c : Likewise. + * config/vax/vax.c : Likewise. + * config/visium/visium.c : Likewise. + * config/vms/vms-c.c : Likewise. + * config/vms/vms.c : Likewise. + * config/vxworks.c : Likewise. + * config/winnt-c.c : Likewise. + * config/xtensa/xtensa.c : Likewise. + +2015-06-08 Jan Hubicka + + PR lto/65378 + * ipa-utils.h (warn_types_mismatch): Update prototype. + * ipa-devirt.c (odr_types_equivalent_p): Add loc1/loc2 + parameters. + (type_mismatch_p): New function. + (warn_types_mismatch): Reorg to work better on non-C++ types. + (odr_types_equivalent_p): Add loc1/loc2 parameters. + (add_type_duplicate): Update. + +2015-06-08 Tom de Vries + + PR rtl-optimization/66444 + * postreload.c (reload_combine): Use get_call_reg_set_usage instead of + call_used_regs. + +2015-06-08 Richard Biener + + PR tree-optimization/66422 + * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Split + block after inserted gcc_unreachable. + +2015-06-08 Nick Clifton + + * config/rx/rx.c (rx_function_value): Do not promote vector types. + (rx_promote_function_mode): Likewise. + * config/rx/rx.h (LIBCALL_VALUE): Likewise. + +2015-06-08 Jakub Jelinek + + * genattrtab.c (insn_alternatives): Change type from int * + to uint64_t *. + (check_attr_test): Shift ((uint64_t) 1) instead of 1 up. + (get_attr_value): Change type of num_alt to uint64_t. + (compute_alternative_mask): Change return type from + int to uint64_t, shift ((uint64_t) 1) instead of 1 up. + (make_alternative_compare, mk_attr_alt): Change argument type + from int to uint64_t. + (simplify_test_exp): Change type of i from int to uint64_t. + Shift ((uint64_t) 1) instead of 1 up. + (main): Adjust oballocvec first argument from int to uint64_t. + Shift ((uint64_t) 1) instead of 1 up. + +2015-06-08 Jan Kratochvil + + PR other/65366 + * gdbhooks.py: Import sys. + (intptr): New function. Replace int(...) by intptr(...). + +2015-06-08 Richard Biener + + * tree-vect-stmts.c (vectorizable_load): Compute the pointer + adjustment for gaps at the end of a SLP load group properly. + * tree-vect-slp.c (vect_supported_load_permutation_p): Allow + all permutations we can generate. + (vect_transform_slp_perm_load): Use the correct group-size. + +2015-06-08 Marc Glisse + + * genmatch.c (expr::gen_transform): For conditions, guess the type + from the second operand. + +2015-06-08 Tom de Vries + + PR tree-optimization/66442 + * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Add function. + * tree-parloops.c (try_transform_to_exit_first_loop_alt): Return false + if the loop latch is not a singleton. Use + gimple_seq_nondebug_singleton_p instead of gimple_seq_singleton_p. + +2015-06-08 Marek Polacek + + PR sanitizer/66452 + * toplev.c (check_global_declaration): Don't warn about artificial + decls. + +2015-06-08 Tom de Vries + + PR tree-optimization/66436 + * cgraphunit.c (cgraph_node::analyze): Don't dump function to gimple + dump file. + * gimplify.c: Add tree-dump.h include. + (gimplify_function_tree): Dump function to gimple dump file. + * stor-layout.c (finalize_size_functions): Don't dump function to gimple + dump file. + +2015-06-08 Tom de Vries + + PR tree-optimization/66435 + * cgraphunit.c (cgraph_node::add_new_function): Dump message on new + function. + +2015-06-06 Jan Hubicka + + * alias.c (get_alias_set): Be ready for TYPE_CANONICAL + of ptr_type_node to not be ptr_to_node. + * tree.c (gimple_types_compatible_p): Do not match TREE_CODE of + TREE_TYPE of pointers. + * gimple-expr.c (useless_type_conversion): Reorder the check for + function pointers and TYPE_CANONICAL. + +2015-06-06 John David Anglin + + PR bootstrap/66319 + * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Rearrange builtin + defines. Define _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE for c++. + Define _XOPEN_UNIX and _XOPEN_SOURCE_EXTENDED for c++ if unix95 or + later. + * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Likewise. + Define _INCLUDE_STDC_SOURCE_PRE_199901, _INCLUDE_STDC_SOURCE_199901, + _INCLUDE_XOPEN_SOURCE_PRE_500, _INCLUDE_XOPEN_SOURCE_520, + _INCLUDE_XOPEN_SOURCE_PRE_600 and _INCLUDE_XOPEN_SOURCE_600 for c++ + and non iso if unix2003. + +2015-06-06 Aldy Hernandez + + * dwarf2out.c (gen_lexical_block_die): Initialize stmt_die. + +2015-06-06 Richard Sandiford + + * emit-rtl.c, expr.c, gcse.c, optabs.c, optabs.h, print-rtl.c, + rtl.h, bb-reorder.c, builtins.c, calls.c, cfgbuild.c, cfgexpand.c, + cfgrtl.c, cilk-common.c, config/i386/i386.md, cse.c, dwarf2cfi.c, + except.c, final.c, function.c, gcse-common.c, genemit.c, + haifa-sched.c, ifcvt.c, jump.c, loop-invariant.c, loop-iv.c, + lra-constraints.c, lra.c, reload1.c, resource.c, rtlanal.c, + sched-deps.c, sched-ebb.c, sel-sched-ir.c, sel-sched.c, + shrink-wrap.c, stmt.c, store-motion.c: Replace rtx base types with + more derived ones. + +2015-06-06 Mikhail Maltsev + + * combine.c (combine_split_insns): Remove cast. + * config/bfin/bfin.c (hwloop_fail): Add cast in try_split call. + * config/sh/sh.c (sh_try_split_insn_simple): Remove cast. + * config/sh/sh_treg_combine.cc (sh_treg_combine::execute): Add cast. + * emit-rtl.c (try_split): Promote type of trial argument to rtx_insn. + * genemit.c (gen_split): Change return type of generated functions to + rtx_insn. + * genrecog.c (get_failure_return): Use NULL instead of NULL_RTX. + (print_subroutine_start): Promote rtx to rtx_insn in gen_split_* and + gen_peephole2_* functions. + (print_subroutine, main): Likewise. + * recog.c (peephole2_optimize): Remove cast. + (peep2_next_insn): Promote return type to rtx_insn. + * recog.h (peep2_next_insn): Fix prototype. + * rtl.h (try_split, split_insns): Likewise. + +2015-06-06 DJ Delorie + + * config/msp430/msp430.c (msp430_asm_integer): Support addition + and subtraction too. + +2015-06-05 Kaz Kojima + + PR target/66410 + * config/sh/constraints.md (Sid, Ssd): New memory constraints. + * config/sh/sh.md (*mov): Use Sid and Ssd alternatives + instead of Snd. Disparage Sid/z alternative with '^'. + +2015-06-05 Aldy Hernandez + + * dwarf2out.c: Remove deferred_locations*. + (dwarf2_debug_hooks): Add early_finish hook. + Remove global_decl hook. + Add early_global_decl and late_global_decl hook. + New global early_dwarf. + New structure set_early_dwarf. + (output_die): Indicate whether a DIE was generated early + when generating assembly with -dA. + (struct limbo_die_struct): Document created_for field. + Remove file_table_last_lookup. + (remove_AT): Return TRUE if successful. + (remove_child_TAG): Clear die_parent. + (reparent_child): New function abstracted from... + (splice_child_die): ...here. + (new_die): ICE if a DIE ends up in limbo too late. + (check_die): New. + (defer_location): Remove. + (add_subscript_info): Reuse DW_TAG_subrange_type if available. + (fill_variable_array_bounds): New. + (decl_start_label): Call fill_variable_array_bounds. + (gen_formal_parameter_die): Rewrite to reuse previously generated + DIEs. + (gen_subprogram_die): Same. + (gen_variable_die): Same. + (gen_const_die): Same. + (gen_label_die): Same. + (gen_lexical_block_die): Same. + (decl_will_get_specification_p): New. + (local_function_static): New. + (gen_struct_or_union_type_die): Fill in variable-length fields. + (gen_typedef_die): Fill in variable-length typedefs. + (gen_tagged_type_die): Gracefully return on error_mark_node. + Handle re-entrancy. + (gen_type_die_with_usage): Handle variable-length types. + Remove duplicate code for ARRAY_TYPE case. + (process_scope_var): Only process imported modules during early + dwarf. + (dwarf2out_early_global_decl): New. + (dwarf2out_late_global_decl): Rename from dwarf2out_global_decl. + (dwarf2out_type_decl): Set early_dwarf while calling + dwarf2out_decl. + (dwarf2out_decl): Verify that we did not recreate a previously + generated DIE. + Do not return on DECL_EXTERNALs in VAR_DECLs. + Abstract some code to local_function_static. + (lookup_filename): Remove use of file_table_last_lookup. + Gracefully exit on missing file_name. + (dwarf2out_finish): Verify limbo list. + Remove deferred_locations_list use. + Move deferred_asm_name and limbo flushing to... + (dwarf2out_early_finish): ...here. New. + (dwarf2out_c_finalize): Remove set of deferred_location_list, + deferred_asm_name, and file_table_last_lookup. + * cgraph.h (referred_to_p): Add default argument. + * cgraphunit.c (referred_to_p): Add and handle include_self + argument. + (analyze_functions): Add first_time argument. + Call check_global_declaration for all symbols. + Call late_global_decl for nodes for moribund nodes. + (finalize_compilation_unit): Add new argument to + analyze_functions. + Call early_global_decl for functions. + Call early_finish debug hook. + * dbxout.c (dbxout_early_global_decl): New. + (dbxout_late_global_decl): New. Adapted from dbxout_global_decl. + (dbx_debug_hooks): Add new hooks. + (xcoff_debug_hooks): Same. + * debug.c (do_nothing_debug_hooks): Add early_finish field. + Add early and late debug hooks. + Remove global_decl hook. + * debug.h (struct gcc_debug_hooks): Add early_finish, + early_global_decl, and late_global_decl fields. + Remove global_decl field. + Document gcc_debug_hooks. + * gengtype.c (output_typename): Remove. + * godump.c (go_early_global_decl): New. + (go_late_global_decl): New. + (go_global_decl): Remove. + (dump_go_spec_init): Remove global_decl. Add + {early,late}_global_decl. + * langhooks-def.h (LANG_HOOKS_WRITE_GLOBALS): Remove. + (LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): New. + * langhooks.c (lhd_warn_unused_global_decl): Adjust comment. + (write_global_declarations): Remove. + (global_decl_processing): New. + * langhooks.h (struct lang_hooks_for_decls): Remove + final_write_globals field. + Add post_compilation_parsing_cleanups field. + * passes.c (rest_of_decl_compilation): Call early_global_decl. + * sdbout.c: Add early and late_global_decl hooks. Remove + sdbout_global_decl hook. + Add early_finish field for sdb_debug_hooks. + (sdbout_global_decl): Remove. + (sdbout_early_global_decl): New. + (sdbout_late_global_decl): New. + * timevar.def (TV_PHASE_LATE_PARSING_CLEANUPS): New. + * toplev.c (check_global_declaration): Rename from + check_global_declaration_1. + Adapt to use symtab infrastructure. + (check_global_declarations): Remove. + (emit_debug_global_declarations): Remove. + (compile_file): Remove call to final_write_globals langhook. + Run the actual compilation process. + Perform any post compilation parser cleanups. + Generate late debug info. + * toplev.h (check_global_declaration): New. + (check_global_declaration_1): Remove. + (check_global_declarations): Remove. + (write_global_declarations): Remove. + (emit_debug_global_declarations): Remove. + (global_decl_processing): New. + * tree-core.h (struct tree_block): Add DIE field. + * tree.h (BLOCK_DIE): New. + * vmsdbgout.c (vmsdbgout_global_decl): Remove function and its use + throughout. + (vmsdbgout_early_global_decl): New. + (vmsdbgout_late_global_decl): New. + Add early_finish debug hook field to vmsdbg_debug_hooks. + Remove vmsdbgout_decl to vmsdbgout_function_decl. + Add early and late_global_decl debug hooks. + +2015-06-05 Julian Brown + Sandra Loosemore + + * config/print-sysroot-suffix.sh: Handle MULTILIB_REUSE settings. + * config/t-sysroot-suffix (sysroot-suffix.h): Pass MULTILIB_REUSE + to print-sysroot-suffix.sh script. + +2015-06-05 Tom de Vries + + merge from gomp4 branch: + 2015-05-28 Tom de Vries + + PR tree-optimization/65443 + * tree-parloops.c (replace_imm_uses, replace_uses_in_bb_by) + (replace_uses_in_bbs_by, transform_to_exit_first_loop_alt) + (try_transform_to_exit_first_loop_alt): New function. + (transform_to_exit_first_loop): Use + try_transform_to_exit_first_loop_alt. + +2015-06-05 James Greenhalgh + + * builtins.c (expand_builtin_atomic_compare_exchange): Call + emit_cmp_and_jump_insns with the mode of target. + +2015-06-05 Venkataramanan Kumar + + * config/i386/sse.md (sse3_mwait): Swap the operand constriants. + +2015-06-04 DJ Delorie + + * config/msp430/msp430.md (movsi_s): New. Special case for + storing a 20-bit symbol into a 32-bit register. + * config/msp430/msp430.c (msp430_subreg): Add support for it. + * config/msp430/predicates.md (msp430_symbol_operand): New. + +2015-06-04 Sriraman Tallam + + * calls.c (prepare_call_address): Check for noplt + attribute. + * config/i386/i386.c (ix86_expand_call): Check + for noplt attribute. + (ix86_nopic_noplt_attribute_p): New function. + (ix86_output_call_insn): Output indirect call for non-pic + no plt calls. + * doc/extend.texi (noplt): Document new attribute. + * doc/invoke.texi: Document new attribute. + +2015-06-04 Andrew MacLeod + + * coretypes.h: Include machmode.h, signop.h, wide-int.h, double-int.h, + real.h, and fixed-value.h when included in host source files. + * double-int.h: Remove redundant #includes listed above. + * fixed-value.h: Likewise. + * real.h: Likewise. + * wide-int.h: Likewise. + * inchash.h: Likewise. + * rtl.h: Add some include files When included from a generator file. + * target.h: Remove wide-int.h and insn-modes.h from the include list. + * internal-fn.h: Don't include coretypes.h. + * alias.c: Adjust includes for restructured coretypes.h. + * 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. + * cfgloop.h: 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. + * df.h: 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. + * dwarf2out.h: Likewise. + * emit-rtl.c: Likewise. + * et-forest.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. + * gcc-plugin.h: Likewise. + * gcse.c: Likewise. + * generic-match-head.c: Likewise. + * ggc-page.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-streamer.h: Likewise. + * gimple-walk.c: Likewise. + * gimple.c: Likewise. + * gimplify-me.c: Likewise. + * gimplify.c: Likewise. + * godump.c: Likewise. + * graph.c: Likewise. + * graphite-blocking.c: Likewise. + * graphite-dependences.c: Likewise. + * graphite-interchange.c: Likewise. + * graphite-isl-ast-to-gimple.c: Likewise. + * graphite-optimize-isl.c: Likewise. + * graphite-poly.c: Likewise. + * graphite-scop-detection.c: Likewise. + * graphite-sese-to-poly.c: Likewise. + * graphite.c: Likewise. + * haifa-sched.c: Likewise. + * hooks.h: 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. + * 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. + * omega.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-rtl.c: Likewise. + * print-tree.c: Likewise. + * profile.c: Likewise. + * real.c: Likewise. + * realmpfr.c: Likewise. + * realmpfr.h: Likewise. + * recog.c: Likewise. + * ree.c: Likewise. + * reg-stack.c: Likewise. + * regcprop.c: Likewise. + * reginfo.c: Likewise. + * regrename.c: Likewise. + * regs.h: Likewise. + * regstat.c: Likewise. + * reload.c: Likewise. + * reload1.c: Likewise. + * reorg.c: Likewise. + * resource.c: Likewise. + * rtl-chkp.c: Likewise. + * rtlanal.c: Likewise. + * rtlhooks.c: Likewise. + * sanopt.c: Likewise. + * sched-deps.c: Likewise. + * sched-ebb.c: Likewise. + * sched-rgn.c: Likewise. + * sched-vis.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. + * shrink-wrap.h: 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-affine.h: Likewise. + * tree-browser.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-pretty-print.h: 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-copyrename.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-loop.h: 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. + * valtrack.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-print.h: Likewise. + * wide-int.cc: Likewise. + * xcoffout.c: Likewise. + * config/aarch64/aarch64-builtins.c: Likewise. + * config/aarch64/aarch64.c: Likewise. + * config/aarch64/cortex-a57-fma-steering.c: Likewise. + * config/alpha/alpha.c: Likewise. + * config/arc/arc.c: Likewise. + * config/arm/aarch-common.c: Likewise. + * config/arm/arm-builtins.c: Likewise. + * config/arm/arm-c.c: Likewise. + * config/arm/arm.c: Likewise. + * config/avr/avr-c.c: Likewise. + * config/avr/avr-log.c: Likewise. + * config/avr/avr.c: Likewise. + * config/bfin/bfin.c: Likewise. + * config/c6x/c6x.c: Likewise. + * config/cr16/cr16.c: Likewise. + * config/cris/cris.c: Likewise. + * config/darwin-c.c: Likewise. + * config/darwin.c: Likewise. + * config/default-c.c: Likewise. + * config/epiphany/epiphany.c: Likewise. + * config/epiphany/mode-switch-use.c: Likewise. + * config/epiphany/resolve-sw-modes.c: Likewise. + * config/fr30/fr30.c: Likewise. + * config/frv/frv.c: Likewise. + * config/ft32/ft32.c: Likewise. + * config/glibc-c.c: Likewise. + * config/h8300/h8300.c: Likewise. + * config/i386/i386-c.c: Likewise. + * config/i386/i386.c: Likewise. + * config/i386/msformat-c.c: Likewise. + * config/i386/winnt-cxx.c: Likewise. + * config/i386/winnt-stubs.c: Likewise. + * config/i386/winnt.c: Likewise. + * config/ia64/ia64-c.c: Likewise. + * config/ia64/ia64.c: Likewise. + * config/iq2000/iq2000.c: Likewise. + * config/lm32/lm32.c: Likewise. + * config/m32c/m32c-pragma.c: Likewise. + * config/m32c/m32c.c: Likewise. + * config/m32r/m32r.c: Likewise. + * config/m68k/m68k.c: Likewise. + * config/mcore/mcore.c: Likewise. + * config/mep/mep-pragma.c: Likewise. + * config/mep/mep.c: Likewise. + * config/microblaze/microblaze-c.c: Likewise. + * config/microblaze/microblaze.c: Likewise. + * config/mips/mips.c: Likewise. + * config/mmix/mmix.c: Likewise. + * config/mn10300/mn10300.c: Likewise. + * config/moxie/moxie.c: Likewise. + * config/msp430/msp430-c.c: Likewise. + * config/msp430/msp430.c: Likewise. + * config/nds32/nds32-cost.c: Likewise. + * config/nds32/nds32-fp-as-gp.c: Likewise. + * config/nds32/nds32-intrinsic.c: Likewise. + * config/nds32/nds32-isr.c: Likewise. + * config/nds32/nds32-md-auxiliary.c: Likewise. + * config/nds32/nds32-memory-manipulation.c: Likewise. + * config/nds32/nds32-pipelines-auxiliary.c: Likewise. + * config/nds32/nds32-predicates.c: Likewise. + * config/nds32/nds32.c: Likewise. + * config/nios2/nios2.c: Likewise. + * config/nvptx/nvptx.c: Likewise. + * config/pa/pa.c: Likewise. + * config/pdp11/pdp11.c: Likewise. + * config/rl78/rl78-c.c: Likewise. + * config/rl78/rl78.c: Likewise. + * config/rs6000/rs6000-c.c: Likewise. + * config/rs6000/rs6000.c: Likewise. + * config/rx/rx.c: Likewise. + * config/s390/s390-c.c: Likewise. + * config/s390/s390.c: Likewise. + * config/sh/sh-c.c: Likewise. + * config/sh/sh-mem.cc: Likewise. + * config/sh/sh.c: Likewise. + * config/sh/sh_optimize_sett_clrt.cc: Likewise. + * config/sh/sh_treg_combine.cc: Likewise. + * config/sol2-c.c: Likewise. + * config/sol2-cxx.c: Likewise. + * config/sol2-stubs.c: Likewise. + * config/sol2.c: Likewise. + * config/sparc/sparc-c.c: Likewise. + * config/sparc/sparc.c: Likewise. + * config/spu/spu-c.c: Likewise. + * config/spu/spu.c: Likewise. + * config/stormy16/stormy16.c: Likewise. + * config/tilegx/mul-tables.c: Likewise. + * config/tilegx/tilegx-c.c: Likewise. + * config/tilegx/tilegx.c: Likewise. + * config/tilepro/mul-tables.c: Likewise. + * config/tilepro/tilepro-c.c: Likewise. + * config/tilepro/tilepro.c: Likewise. + * config/v850/v850-c.c: Likewise. + * config/v850/v850.c: Likewise. + * config/vax/vax.c: Likewise. + * config/visium/visium.c: Likewise. + * config/vms/vms-c.c: Likewise. + * config/vms/vms.c: Likewise. + * config/vxworks.c: Likewise. + * config/winnt-c.c: Likewise. + * config/xtensa/xtensa.c: Likewise. + * common/config/bfin/bfin-common.c: Likewise. + +2015-06-04 Jan Hubicka + + * tree.h (tree_code_for_canonical_type_merging): New function. + * tree.c (gimple_canonical_types_compatible_p): Use + tree_code_for_canonical_type_merging.. + +2015-06-04 Ramana Radhakrishnan + + PR c++/66192 + PR target/66200 + * doc/tm.texi: Regenerate. + * doc/tm.texi.in (TARGET_RELAXED_ORDERING): Delete. + * target.def (TARGET_RELAXED_ORDERING): Likewise. + * config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Likewise. + * config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Likewise. + * config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Likewise. + * config/sparc/linux.h (SPARC_RELAXED_ORDERING): Likewise. + * config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise. + * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Likewise. + * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Likewise. + +2015-06-04 Kyrylo Tkachov + + * config/aarch64/aarch64.c (aarch64_override_options): Unconditionally + register fma steering pass. + * config/aarch64/cortex-a57-fma-steering.c (gate): Add gating on + AARCH64_TUNE_FMA_STEERING. + +2015-06-03 Jan Hubicka + + * tree.c (verify_type_variant): Verify that type and variant is + compatible. + (gimple_canonical_types_compatible_p): Look for main variants. + +2015-06-03 Michael Meissner + + * config.gcc (powerpc*-*-*): Add support for a new configure + option --with-advance-toolchain= which overrides using the + default header files, libraries and dynamic linker. + + * config/rs6000/linux64.h (SUBSUBTARGET_EXTRA_SPECS): Add new + specs to support the configure --with-advance-toolchain= + option. + (INCLUDE_EXTRA_SPEC): Likewise. + (LINK_OS_EXTRA_SPEC32): Likewise. + (LINK_OK_EXTRA_SPEC64): Likewise. + (LINK_OS_NEW_DTAGS_SPEC): Likewise. + (DYNAMIC_LINKER_PREFIX): Likewise. + (CPP_OS_DEFAULT_SPEC): Use the new specs for providing advance + toolchain support. + (GLIBC_DYNAMIC_LINKER32): Likewise. + (GLIBC_DYNAMIC_LINKER64): Likewise. + (LINK_OS_LINUX_SPEC32): Likewise. + (LINK_OS_LINUX_SPEC64): Likewise. + + * doc/install.texi (--enable-advance-toolchain=): Document new + configuration option. + +2015-06-03 Uros Bizjak + + PR target/66275 + * config/i386/i386.c (ix86_function_arg_regno): Use ix86_cfun_abi + to determine current function ABI. + (ix86_function_value_regno_p): Ditto. + +2015-06-03 Martin Liska + + * alloc-pool.h (struct pool_usage): Correct GNU coding style. + * bitmap.h (struct bitmap_usage): Likewise. + * ggc-common.c (struct ggc_usage): Likewise. + * mem-stats.h (struct mem_location): Likewise. + (struct mem_usage): Likewise. + * vec.c (struct vec_usage): Likewise. + +2015-06-03 Benigno B. Junior + + * config/netbsd-elf.h (NETBSD_LINK_SPEC_ELF): Turn -symbolic into + -Bsymbolic. + +2015-06-02 Andres Tiraboschi + + * doc/plugins.texi (enum plugin_event): New event. + * plugin.c (register_callback): Handle PLUGIN_START_PARSE_FUNCTION + and PLUGIN_FINISH_FUNCTION. + * plugin.def (PLUGIN_START_PARSE_FUNCTION): Add plugin event + (PLUGIN_FINISH_PARSE_FUNCTION): Likewise. + +2015-06-03 Richard Biener + + * tree-vect-data-refs.c (vect_analyze_group_access): Properly + compute GROUP_GAP for the first element. + * tree-vect-slp.c (vect_build_slp_tree_1): Remove restriction + on in-group gaps. + +2015-06-03 Nick Clifton + + * config/rl78/rl78-real.md: Add peepholes to avoid a register + copy when calling a function. + * config/rl78/rl78.c (need_to_save): Do not push the frame + pointer in an interrupt handler prologue if it is never used. + +2015-06-03 Kyrylo Tkachov + + * ifcvt (end_ifcvt_sequence): Fix typo in comment above. + +2015-06-03 Ilya Enkovich + + * ipa-chkp.c (chkp_maybe_create_clone): Create alias + reference when cloning alias node. + +2015-06-03 Martin Liska + + * alloc-pool.h (struct pool_usage): Correct space padding. + * ggc-page.c (ggc_print_statistics): Align columns in a report. + * mem-stats.h (struct mem_usage): Add argument to print_dash_line. + * tree.c (dump_tree_statistics): Align columns in a report. + +2015-06-03 Martin Liska + + * alloc-pool.c (allocate_pool_descriptor): Remove. + (struct pool_output_info): Likewise. + (print_alloc_pool_statistics): Likewise. + (dump_alloc_pool_statistics): Likewise. + * alloc-pool.h (struct pool_usage): New struct. + (pool_allocator::initialize): Change usage of memory statistics + to a new interface. + (pool_allocator::release): Likewise. + (pool_allocator::allocate): Likewise. + (pool_allocator::remove): Likewise. + * mem-stats-traits.h (enum mem_alloc_origin): Add new enum value + for a pool allocator. + * mem-stats.h (struct mem_location): Add new ctor. + (struct mem_usage): Add counter for number of + instances. + (mem_alloc_description::register_descriptor): New overload of + * mem-stats.h (mem_location::to_string): New function. + * bitmap.h (struct bitmap_usage): Use this new function. + * ggc-common.c (struct ggc_usage): Likewise. + the function. + +2015-06-03 Richard Sandiford + + * defaults.h (SWITCHABLE_TARGET, TARGET_SUPPORTS_WIDE_INT): Move out + of GCC_INSN_FLAGS_H block. + +2015-06-03 Andrew Bennett + + * explow.c (plus_constant): Update check after force_const_mem call + to see if the value returned is not a NULL_RTX. + +2015-06-03 Ilya Enkovich + + * ipa.c (symbol_table::remove_unreachable_nodes): Don't + remove instumentation thunks calling reachable functions. + * lto-cgraph.c (output_refs): Always output IPA_REF_CHKP. + * lto/lto-partition.c (privatize_symbol_name_1): New. + (privatize_symbol_name): Privatize both decl and orig_decl + names for instrumented functions. + * cgraph.c (cgraph_node::verify_node): Add transparent + alias chain check for instrumented node. + +2015-06-03 Marek Polacek + + PR c/64223 + PR c/29358 + * tree.c (attribute_value_equal): Handle attribute format. + (cmp_attrib_identifiers): Factor out of lookup_ident_attribute. + +2015-06-03 Richard Biener + + PR tree-optimization/63916 + * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): + Forward-propagate non-invariant addresses by splicing their + reference ops if the result isn't going to be used by PRE. + (vn_reference_lookup_3): Remove pointless assert. + +2015-06-03 Richard Biener + + PR tree-optimization/66375 + * tree-scalar-evolution.c (follow_ssa_edge_binary): First + add to the evolution before following SSA edges. + +2015-06-03 Bin Cheng + + * tree-ssa-loop-ivopts.c (dump_iv): New parameter. + (dump_use, dump_cand, find_induction_variables): Pass new argument + to dump_iv. + (record_use): Preserve the ssa name information in IV. + +2015-06-03 Richard Sandiford + + * genpreds.c (mark_mode_tests): Mark all MATCH_CODEs as + NO_MODE_TEST. + (add_mode_tests): Don't add mode tests if the predicate only + accepts scalar constant integers. Otherwise, allow the mode + of "op" to be VOIDmode if the predicate does accept such integers. + +2015-06-02 Jim Wilson + + PR target/66258 + * config/aarch64/aarch64.c (aarch64_function_value_regno_p): Change + !TARGET_GENERAL_REGS_ONLY to TARGET_FLOAT. + (aarch64_secondary_reload): Likewise + (aarch64_expand_builtin_va_start): Change TARGET_GENERAL_REGS_ONLY + to !TARGET_FLOAT. + (aarch64_gimplify_va_arg_expr, aarch64_setup_incoming_varargs): + Likewise. + +2015-06-03 Kugan Vivekanandarajah + Zhenqiang Chen + + PR target/65768 + * cprop.c (try_replace_reg): Check cost of constants before propagating. + +2015-06-02 Michael Meissner + + * config/rs6000/rs6000-modes.def (IFmode): Define IFmode to + provide access to the IBM extended double floating point mode if + long double is IEEE 128-bit floating point. + (KFmode): Define KFmode to provide access to IEEE 128-bit floating + point if long double is the IBM extended double type. + + * config/rs6000/rs6000.opt (-mfloat128-none): New switches to + enable adding IEEE 128-bit floating point support. + (-mfloat128-software): Likewise. + (-mfloat128-sw): Likewise. + + * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Do not allow + 128-bit floating point types to occupy any register if + -mlong-double-64. Do not allow use of IFmode/KFmode unless + -mfloat128-software is enabled. + (rs6000_debug_reg_global): Add IEEE 128-bit floating point debug + support. + (rs6000_option_override_internal): Add -mfloat128-* support. + (rs6000_init_builtins): Setup __ibm128 and __float128 type modes. + + * config/rs6000/rs6000.h (rs6000_builtin_type_index): Add ibm128 + and float128 type nodes. + (ieee128_float_type_node): Likewise. + (ibm128_float_type_node): Likewise. + +2015-06-02 Szabolcs Nagy + + PR target/66136 + * config/aarch64/geniterators.sh: Rewrite in awk. + +2015-06-02 Martin Liska + + * alloc-pool.h (pool_allocator::pool_allocator): Set implicit + values to avoid -Wmaybe-uninitialized errors. + +2015-06-02 Richard Biener + + PR debug/65549 + * dwarf2out.c (lookup_context_die): New function. + (resolve_addr): Avoid forcing a full DIE for the + target of a DW_TAG_GNU_call_site during late compilation. + Instead create a stub DIE without a type if we have a + context DIE present. + +2015-06-02 Uros Bizjak + + * df-scan.c (df_scan_start_dump): Add space between regno and regname. + +2015-06-02 Bin Cheng + + PR tree-optimization/48052 + * cfgloop.h (struct control_iv): New. + (struct loop): New field control_ivs. + * tree-ssa-loop-niter.c : Include "stor-layout.h". + (number_of_iterations_lt): Set no_overflow information. + (number_of_iterations_exit): Init control iv in niter struct. + (record_control_iv): New. + (estimate_numbers_of_iterations_loop): Call record_control_iv. + (loop_exits_before_overflow): New. Interface factored out of + scev_probably_wraps_p. + (scev_probably_wraps_p): Factor loop niter related code into + loop_exits_before_overflow. + (free_numbers_of_iterations_estimates_loop): Free control ivs. + * tree-ssa-loop-niter.h (free_loop_control_ivs): New. + +2015-06-02 Eric Botcazou + + * gimplify.c (gimplify_modify_expr): Do not create a DECL_DEBUG_EXPR if + the target doesn't belong to the current function. + +2015-06-02 Marek Polacek + + PR middle-end/66345 + * gimple-fold.c (gimple_fold_builtin_snprintf): Return false if + get_maxval_strlen does not produce an INTEGER_CST. + +2015-06-02 Richard Sandiford + + * config/arc/constraints.md: Use lower-case names in match_code. + * config/mmix/constraints.md: Likewise. + +2015-06-02 Richard Biener + + PR tree-optimization/65961 + * tree-vect-slp.c (vect_get_and_check_slp_defs): Remove bogus + check and clarify dump message. + (vect_build_slp_tree): If all children are built up from scalars + build up the parent from scalars instead. + * tree-vect-stmts.c (vect_is_simple_use): Cleanup. + +2015-06-02 Jan Kratochvil + + PR other/65366 + * gdbhooks.py: Use int(...) instead of long(...). Use print(...) + instead of print ... . + +2015-06-02 Alan Modra + + * config/rs6000/vsx.md (vsx_extract_v4sf): Revert accidental + 2014-08-11 change. + +2015-06-02 Bin Cheng + + PR tree-optimization/52563 + PR tree-optimization/62173 + * tree-ssa-loop-ivopts.c (struct iv): New field. Reorder fields. + (alloc_iv, set_iv): New parameter. + (determine_biv_step): Delete. + (find_bivs): Inline original determine_biv_step. Pass new + argument to set_iv. + (idx_find_step): Use no_overflow information for conversion. + * tree-scalar-evolution.c (analyze_scalar_evolution_in_loop): Let + resolve_mixers handle folded_casts. + (instantiate_scev_name): Change bool parameter to bool pointer. + (instantiate_scev_poly, instantiate_scev_binary): Ditto. + (instantiate_array_ref, instantiate_scev_not): Ditto. + (instantiate_scev_3, instantiate_scev_2): Ditto. + (instantiate_scev_1, instantiate_scev_r): Ditto. + (instantiate_scev_convert, ): Change parameter. Pass argument + to chrec_convert_aggressive. + (instantiate_scev): Change argument. + (resolve_mixers): New parameter and set it. + (scev_const_prop): New argument. + * tree-scalar-evolution.h (resolve_mixers): New parameter. + * tree-chrec.c (convert_affine_scev): Call chrec_convert instead + of chrec_conert_1. + (chrec_convert): New parameter. Move definition below. + (chrec_convert_aggressive): New parameter and set it. Call + convert_affine_scev. + * tree-chrec.h (chrec_convert): New parameter. + (chrec_convert_aggressive): Ditto. + +2015-06-01 Eric Botcazou + + * gimplify.c (gimplify_modify_expr_rhs): Use simple test on the size. + * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Do not remove + the LHS of a no-return call if its type has variable size. + * tree-cfgcleanup.c (fixup_noreturn_call): Likewise. + * tree-cfg.c (verify_gimple_call): Accept these no-return calls. + +2015-06-01 Andreas Tobler + + * read-rtl.c: Adapt to use HAVE_DECL_ATOLL instead of HAVE_ATOLL. + * config.in: Regenerate. + +2015-06-01 Yuri Rumyantsev + + * tree-vect-data-refs.c (vect_analyze_data_ref_access): Allow + consecutive accesses within outer-loop with force_vectorize + for references with zero step in inner-loop. + +2015-06-01 Vidya Praveen + + * Makefile.in: Pick up gcov-dump dependencies from gcc/ directory + rather than from gcc/build directory. + +2015-06-01 Matthew Wahab + + PR target/65697 + * config/aarch64/aarch64.c (aarch64_split_compare_and_swap): Check + for __sync memory models, emit initial loads and final barriers as + appropriate. + +2015-06-01 Matthew Wahab + + PR target/65697 + * config/aarch64/aarch64.c (aarch64_emit_post_barrier):New. + (aarch64_split_atomic_op): Check for __sync memory models, emit + appropriate initial loads and final barriers. + +2015-06-01 Vidya Praveen + + * Makefile.in: Fix gcov dependencies that should + not point to a build folder. + +2015-06-01 Richard Biener + + Revert + 2015-05-29 Richard Biener + + PR tree-optimization/66314 + * tree-ssa-threadupdate.c (create_block_for_threading): Add + parameter that says which loop the new block belongs to. + (ssa_create_duplicates): Blocks duplicated for the threaded + path belong to the loop of the thread destination. + +2015-06-01 Martin Liska + + * sched-deps.c: Include pool-alloc.h before + cselib.h header file is included. + +2015-06-01 Richard Biener + + * tree-ssa-structalias.c (ipa_pta_execute): Handle address-taken + functions. + +2015-06-01 Martin Liska + + * alloc-pool.h: Add ATTRIBUTE_UNUSED for + a function local variable. + +2015-06-01 Martin Liska + + * alloc-pool.c (create_alloc_pool): Remove. + (empty_alloc_pool): Likewise. + (free_alloc_pool): Likewise. + (free_alloc_pool_if_empty): Likewise. + (pool_alloc): Likewise. + (pool_free): Likewise. + * alloc-pool.h: Remove old declarations. + +2015-06-01 Martin Liska + + * ira-build.c (initiate_allocnos): Use new type-based pool allocator. + (ira_create_object): Likewise. + (ira_create_allocno): Likewise. + (ira_create_live_range): Likewise. + (copy_live_range): Likewise. + (ira_finish_live_range): Likewise. + (ira_free_allocno_costs): Likewise. + (finish_allocno): Likewise. + (finish_allocnos): Likewise. + (initiate_prefs): Likewise. + (ira_create_pref): Likewise. + (finish_pref): Likewise. + (finish_prefs): Likewise. + (initiate_copies): Likewise. + (ira_create_copy): Likewise. + (finish_copy): Likewise. + (finish_copies): Likewise. + (finish_prefs): Likewise. + +2015-06-01 Martin Liska + + * ipa-cp.c (ipcp_value::add_source): Use new type-based pool allocator. + (allocate_and_init_ipcp_value): Likewise. + (ipcp_lattice::add_value): Likewise. + (merge_agg_lats_step): Likewise. + (ipcp_driver): Likewise. + * ipa-prop.c (ipa_free_all_structures_after_ipa_cp): Likewise. + (ipa_free_all_structures_after_iinln): Likewise. + * ipa-prop.h: Likewise. + +2015-06-01 Martin Liska + + * ipa-inline-analysis.c (edge_set_predicate): Use new type-based + pool allocator. + (set_hint_predicate): Likewise. + (inline_summary_alloc): Likewise. + (reset_inline_edge_summary): Likewise. + (reset_inline_summary): Likewise. + (set_cond_stmt_execution_predicate): Likewise. + (set_switch_stmt_execution_predicate): Likewise. + (compute_bb_predicates): Likewise. + (estimate_function_body_sizes): Likewise. + (inline_free_summary): Likewise. + +2015-06-01 Martin Liska + + * ipa-prop.c (ipa_set_jf_constant): Use new type-based pool allocator. + (ipa_edge_duplication_hook): Likewise. + (ipa_free_all_structures_after_ipa_cp): Likewise. + (ipa_free_all_structures_after_iinln): Likewise. + +2015-06-01 Martin Liska + + * ipa-profile.c (account_time_size): Use new type-based pool allocator. + (ipa_profile_generate_summary): Likewise. + (ipa_profile_read_summary): Likewise. + (ipa_profile): Likewise. + +2015-06-01 Martin Liska + + * tree-ssa-structalias.c (new_var_info): Use new type-based + pool allocator. + (new_constraint): Likewise. + (init_alias_vars): Likewise. + (delete_points_to_sets): Likewise. + +2015-06-01 Martin Liska + + * tree-ssa-strlen.c (new_strinfo): Use new type-based pool allocator. + (free_strinfo): Likewise. + (pass_strlen::execute): Likewise. + +2015-06-01 Martin Liska + + * tree-ssa-sccvn.c (vn_reference_insert): Use new type-based + pool allocator. + (vn_reference_insert_pieces): Likewise. + (vn_phi_insert): Likewise. + (visit_reference_op_call): Likewise. + (copy_phi): Likewise. + (copy_reference): Likewise. + (process_scc): Likewise. + (allocate_vn_table): Likewise. + (free_vn_table): Likewise. + +2015-06-01 Martin Liska + + * tree-ssa-reassoc.c (add_to_ops_vec): Use new type-based + pool allocator. + (add_repeat_to_ops_vec): Likewise. + (get_ops): Likewise. + (maybe_optimize_range_tests): Likewise. + (init_reassoc): Likewise. + (fini_reassoc): Likewise. + +2015-06-01 Martin Liska + + * tree-ssa-pre.c (get_or_alloc_expr_for_name): Use new type-based + pool allocator. + (bitmap_set_new): Likewise. + (get_or_alloc_expr_for_constant): Likewise. + (get_or_alloc_expr_for): Likewise. + (phi_translate_1): Likewise. + (compute_avail): Likewise. + (init_pre): Likewise. + (fini_pre): Likewise. + +2015-06-01 Martin Liska + + * sched-deps.c (create_dep_node): Use new type-based pool allocator. + (delete_dep_node): Likewise. + (create_deps_list): Likewise. + (free_deps_list): Likewise. + (sched_deps_init): Likewise. + (sched_deps_finish): Likewise. + +2015-06-01 Martin Liska + + * regcprop.c (free_debug_insn_changes): Use new type-based + pool allocator. + (replace_oldest_value_reg): Likewise. + (pass_cprop_hardreg::execute): Likewise. + +2015-06-01 Martin Liska + + * ira-build.c (initiate_cost_vectors): Use new type-based + pool allocator. + (ira_allocate_cost_vector): Likewise. + (ira_free_cost_vector): Likewise. + (finish_cost_vectors): Likewise. + +2015-06-01 Martin Liska + + * sel-sched-ir.c (alloc_sched_pools): Use new type-based + pool allocator. + (free_sched_pools): Likewise. + * sel-sched-ir.h (_list_alloc): Likewise. + (_list_remove): Likewise. + +2015-06-01 Martin Liska + + * stmt.c (add_case_node): Use new type-based pool allocator. + (expand_case): Likewise. + (expand_sjlj_dispatch_table): Likewise. + +2015-06-01 Martin Liska + + * tree-ssa-math-opts.c (occ_new): Use new type-based pool allocator. + (free_bb): Likewise. + (pass_cse_reciprocals::execute): Likewise. + +2015-06-01 Martin Liska + + * tree-sra.c (sra_initialize): Use new type-based pool allocator. + (sra_deinitialize) Likewise. + (create_access_1) Likewise. + (build_accesses_from_assign) Likewise. + (create_artificial_child_access) Likewise. + +2015-06-01 Martin Liska + + * dse.c (get_group_info):Use new type-based pool allocator. + (dse_step0) Likewise. + (free_store_info) Likewise. + (delete_dead_store_insn) Likewise. + (free_read_records) Likewise. + (record_store) Likewise. + (replace_read) Likewise. + (check_mem_read_rtx) Likewise. + (scan_insn) Likewise. + (dse_step1) Likewise. + (dse_step7) Likewise. + +2015-06-01 Martin Liska + + * df-scan.c (struct df_scan_problem_data):Use new type-based + pool allocator. + (df_scan_free_internal) Likewise. + (df_scan_alloc) Likewise. + (df_grow_reg_info) Likewise. + (df_free_ref) Likewise. + (df_insn_create_insn_record) Likewise. + (df_mw_hardreg_chain_delete) Likewise. + (df_insn_info_delete) Likewise. + (df_free_collection_rec) Likewise. + (df_mw_hardreg_chain_delete_eq_uses) Likewise. + (df_sort_and_compress_mws) Likewise. + (df_ref_create_structure) Likewise. + (df_ref_record) Likewise. + +2015-06-01 Martin Liska + + * df-problems.c (df_chain_create):Use new type-based pool allocator. + (df_chain_unlink_1) Likewise. + (df_chain_unlink) Likewise. + (df_chain_remove_problem) Likewise. + (df_chain_alloc) Likewise. + (df_chain_free) Likewise. + * df.h (struct dataflow) Likewise. + +2015-06-01 Martin Liska + + * cselib.c (new_elt_list):Use new type-based pool allocator. + (new_elt_loc_list) Likewise. + (unchain_one_elt_list) Likewise. + (unchain_one_elt_loc_list) Likewise. + (unchain_one_value) Likewise. + (new_cselib_val) Likewise. + (cselib_init) Likewise. + (cselib_finish) Likewise. + +2015-06-01 Martin Liska + + * config/sh/sh.c (add_constant):Use new type-based pool allocator. + (sh_reorg) Likewise. + +2015-06-01 Martin Liska + + * cfg.c (initialize_original_copy_tables):Use new type-based + pool allocator. + (free_original_copy_tables) Likewise. + (copy_original_table_clear) Likewise. + (copy_original_table_set) Likewise. + +2015-06-01 Martin Liska + + * asan.c (asan_mem_ref_get_alloc_pool):Use new type-based + pool allocator. + (asan_mem_ref_new) Likewise. + (free_mem_ref_resources) Likewise. + +2015-06-01 Martin Liska + + * var-tracking.c (variable_htab_free):Use new type-based + pool allocator. + (attrs_list_clear) Likewise. + (attrs_list_insert) Likewise. + (attrs_list_copy) Likewise. + (shared_hash_unshare) Likewise. + (shared_hash_destroy) Likewise. + (unshare_variable) Likewise. + (var_reg_delete_and_set) Likewise. + (var_reg_delete) Likewise. + (var_regno_delete) Likewise. + (drop_overlapping_mem_locs) Likewise. + (variable_union) Likewise. + (insert_into_intersection) Likewise. + (canonicalize_values_star) Likewise. + (variable_merge_over_cur) Likewise. + (dataflow_set_merge) Likewise. + (remove_duplicate_values) Likewise. + (variable_post_merge_new_vals) Likewise. + (dataflow_set_preserve_mem_locs) Likewise. + (dataflow_set_remove_mem_locs) Likewise. + (variable_from_dropped) Likewise. + (variable_was_changed) Likewise. + (set_slot_part) Likewise. + (clobber_slot_part) Likewise. + (delete_slot_part) Likewise. + (loc_exp_insert_dep) Likewise. + (notify_dependents_of_changed_value) Likewise. + (emit_notes_for_differences_1) Likewise. + (vt_emit_notes) Likewise. + (vt_initialize) Likewise. + (vt_finalize) Likewise. + +2015-06-01 Martin Liska + + * ira-color.c (init_update_cost_records):Use new type-based + pool allocator. + (get_update_cost_record) Likewise. + (free_update_cost_record_list) Likewise. + (finish_update_cost_records) Likewise. + (initiate_cost_update) Likewise. + +2015-06-01 Martin Liska + + * lra.c (init_insn_regs): Use new type-based pool allocator. + (new_insn_reg) Likewise. + (free_insn_reg) Likewise. + (free_insn_regs) Likewise. + (finish_insn_regs) Likewise. + (init_insn_recog_data) Likewise. + (init_reg_info) Likewise. + (finish_reg_info) Likewise. + (lra_free_copies) Likewise. + (lra_create_copy) Likewise. + (invalidate_insn_data_regno_info) Likewise. + +2015-06-01 Martin Liska + + * lra-lives.c (free_live_range): Use new type-based pool allocator. + (free_live_range_list) Likewise. + (create_live_range) Likewise. + (copy_live_range) Likewise. + (lra_merge_live_ranges) Likewise. + (remove_some_program_points_and_update_live_ranges) Likewise. + (lra_live_ranges_init) Likewise. + (lra_live_ranges_finish) Likewise. + +2015-06-01 Martin Liska + + * et-forest.c (et_new_occ): Use new type-based pool allocator. + (et_new_tree): Likewise. + (et_free_tree): Likewise. + (et_free_tree_force): Likewise. + (et_free_pools): Likewise. + (et_split): Likewise. + +2015-06-01 Martin Liska + + * alloc-pool.c (struct alloc_pool_descriptor): Move definition + to header file. + * alloc-pool.h (pool_allocator::pool_allocator): New function. + (pool_allocator::release): Likewise. + (inline pool_allocator::release_if_empty): Likewise. + (inline pool_allocator::~pool_allocator): Likewise. + (pool_allocator::allocate): Likewise. + (pool_allocator::remove): Likewise. + +2015-06-01 James Greenhalgh + + * sched-deps.c (sched_analyze_2): Replace fuseable with fusible + in comment. + +2015-06-01 James Greenhalgh + + * config/arm/arm-protos.h (tune_params): Rename fuseable_ops + to fusible_ops. + * config/arm/arm.c (arm_print_tune_info): Likewise. + (arm_macro_fusion_p): Likewise. + (arm_macro_fusion_pair_p): Likewise. + +2015-06-01 James Greenhalgh + + * config/aarch64/aarch64-protos.h (tune_params): Rename + fuseable_ops to fusible_ops. + * config/aarch64/aarch64.c (generic_tunings): Rename + fuseable_ops to fusible_ops. + (cortexa53_tunings): Likewise. + (cortexa57_tunings): Likewise. + (thunderx_tunings): Likewise. + (xgene1_tunings): Likewise. + (aarch64_macro_fusion_p): Likewise. + (aarch64_macro_fusion_pair_p): Likewise. + +2015-06-01 Dominik Vogt + + * config/s390/driver-native.c: New file. + * config/s390/x-native: New file. + * config.host: Add new files for s390. + * config/s390/s390.h (DRIVER_SELF_SPECS): Add support for -mtune=native + and -march=native + * config.gcc: Likewise. + * config/s390/s390.opt (march): Likewise; add PROCESSOR_NATIVE + * config/s390/s390-opts.h (enum processor_type): Ditto. + * config/s390/s390.c (s390_option_override): Catch unhandled + PROCESSOR_NATIVE + +2015-06-01 Ilya Enkovich + + PR target/65527 + * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Add + redirection for instrumented calls. + * lto-wrapper.c (merge_and_complain): Merge -fcheck-pointer-bounds. + (append_compiler_options): Append -fcheck-pointer-bounds. + * tree-chkp.h (chkp_copy_call_skip_bounds): New. + (chkp_redirect_edge): New. + * tree-chkp.c (chkp_copy_call_skip_bounds): New. + (chkp_redirect_edge): New. + +2015-06-01 Richard Biener + + PR tree-optimization/66280 + * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Fix pattern + def-use walking. + +2015-06-01 Kyrylo Tkachov + + * config/aarch64/aarch64.md + (*_one_cmpl_3): Change type to + logic_shift_imm. + +2015-06-01 Eric Botcazou + + * config/i386/winnt.c (i386_pe_encode_section_info) : + Remove obsolete kludge. + +2015-06-01 Richard Biener + + * tree-ssa-reassoc.c (get_rank): Simplify. + +2015-05-31 H.J. Lu + + * configure.ac (NO_PIE_CFLAGS): Check CXXFLAGS instead of CFLAGS. + * configure: Regenerated. + +2015-05-31 Mikhail Maltsev + + * config/cris/cris.h (CRIS_ARCH_CPP_DEFAULT): Fix C++11 compatibility + issue (add space between string literal and macro). + * config/i386/mingw32.h (REAL_LIBGCC_SPEC): Likewise. + +2015-05-30 Andreas Schwab + + * config/m68k/m68k.h (ASM_PCREL_SPEC): Pass --pcrel also for + implict or explicit -fPIE or -fpie. + +2015-05-30 Mike Frysinger + + * config/alpha/elf.h (ASM_SPEC): Add %{mcpu=*:-m%*}. + +2015-05-28 DJ Delorie + + * expmed.c (extract_bit_field_1): Avoid clobbering a + yet-to-be-used base/index register. + +2015-05-30 Jan Hubicka + + * alias.c (alias_set_entry_d): Add is_pointer and has_pointer. + (alias_stats): Add num_universal. + (alias_set_subset_of): Special case pointers; be ready for NULL + children. + (alias_sets_conflict_p): Special case pointers; be ready for NULL + children. + (init_alias_set_entry): Break out from ... + (record_alias_subset): ... here; propagate new fields; + allocate children only when really needed. + (get_alias_set): Do less generous pointer globbing. + (dump_alias_stats_in_alias_c): Update statistics. + +2015-05-30 Alan Modra + + * config/rs6000/rs6000.c (split_stack_arg_pointer_used_p): Scan + correct block for use of r12. + (rs6000_expand_split_stack_prologue): Error on r29 asm global reg. + +2015-05-29 Dominik Vogt + + PR target/66215 + * config/s390/s390.c (s390_reorg): Fix placement of post-label NOPs + with -mhotpatch=. + +2015-05-29 Jakub Jelinek + + PR tree-optimization/66142 + * tree-if-conv.c (if_convertible_phi_p): Don't give up on + virtual phis that feed themselves. + +2015-05-29 Richard Biener + + PR tree-optimization/66314 + * tree-ssa-threadupdate.c (create_block_for_threading): Add + parameter that says which loop the new block belongs to. + (ssa_create_duplicates): Blocks duplicated for the threaded + path belong to the loop of the thread destination. + +2015-05-29 Bernhard Reutner-Fischer + + * config/arm/neon-testgen.ml (emit_epilogue): Remove manual call + to cleanup-saved-temps. + * doc/sourcebuild.texi (Clean up generated test files): Expand + introduction. + (dg-keep-saved-temps): Document new proc. + (cleanup-ipa-dump, cleanup-rtl-dump, cleanup-tree-dump, + cleanup-saved-temps): Remove. + +2015-05-28 Andreas Tobler + + * configure.ac: Move the atoll check from AC_CHECK_FUNCS to + gcc_AC_CHECK_DECLS. + * configure: Regenerate. + +2015-05-28 Mike Frysinger + + * config/nios2/linux.h (CPP_SPEC): Define. + +2015-05-28 Mike Frysinger + + * config/microblaze/linux.h (CPP_SPEC): Define. + +2015-05-28 Mike Frysinger + + * config/pa/pa-linux.h (CPP_SPEC): Change so -D_REENTRANT is used when + -pthread is specified. + +2015-05-28 Richard Biener + + * tree-vect-loop.c (vect_fixup_reduc_chain): New function. + (vect_fixup_scalar_cycles_with_patterns): Likewise. + (vect_analyze_loop_2): Call vect_fixup_scalar_cycles_with_patterns + after pattern recog. + (vect_create_epilog_for_reduction): Properly handle reductions + with patterns. + (vectorizable_reduction): Likewise. + * tree-vect-slp.c (vect_analyze_slp_instance): Properly mark + reduction chains. + (vect_get_constant_vectors): Create the correct number of + initial values for reductions. + (vect_schedule_slp_instance): Handle reduction chains that are + type changing properly. + * tree-vect-stmts.c (vect_analyze_stmt): Adjust. + +2015-05-28 Richard Biener + + PR tree-optimization/66142 + * tree-ssa-sccvn.c (vn_reference_lookup_3): Handle non-GIMPLE + values better in memcpy destination handling. Handle non-aliasing + we discover here. + +2015-05-28 Lawrence Velázquez + + PR target/63810 + * config/darwin-c.c (version_components): New global enum. + (parse_version, version_as_legacy_macro) + (version_as_modern_macro, macosx_version_as_macro): New functions. + (version_as_macro): Remove. + (darwin_cpp_builtins): Use new function. + +2015-05-28 H.J. Lu + + * builtins.c (expand_builtin_acc_on_device): Mark parameters + with ATTRIBUTE_UNUSED. + +2015-05-28 Julian Brown + + PR libgomp/65742 + + * builtins.c (expand_builtin_acc_on_device): Don't use open-coded + sequence for !ACCEL_COMPILER. + +2015-05-28 Nick Clifton + + * config/rx/rx.c (push_regs): New function. Extracts code from... + (rx_expand_prologue): ... here. Use push_regs to push even small + spans of registers. + (pop_regs): New function. + (rx_expand_epilogue): Use pop_regs to pop even small spans of + registers. + +2015-05-28 Richard Biener + + * tree-vectorizer.h (struct _slp_instance): Remove body_cost_vec + member. + (SLP_INSTANCE_BODY_COST_VEC): Remove. + (vect_update_slp_costs_according_to_vf): Likewise. + (vect_slp_analyze_operations): Update prototype. + * tree-vect-loop.c (vect_analyze_loop_2): Remove call to + vect_update_slp_costs_according_to_vf, adjust. + * tree-vect-slp.c (vect_free_slp_instance): Adjust. + (vect_analyze_slp_cost_1): Likewise. + (vect_analyze_slp_cost): Likewise. Properly deal with + widening reduction ops. Commit body costs. + (vect_analyze_slp_instance): Adjust. Do not analyze SLP + cost for loops from here. + (vect_slp_analyze_operations): But do it from here when + the vectorization factor is known and stmts are analyzed. + (vect_bb_vectorization_profitable_p): Simplify. + (vect_slp_analyze_bb_1): Do not compute SLP cost here. + (vect_update_slp_costs_according_to_vf): Remove. + +2015-05-27 Magnus Granberg + H.J. Lu + + * Makefile.in (COMPILER): Add @NO_PIE_CFLAGS@. + (BUILD_CFLAGS): Likewise. + (BUILD_CXXFLAGS): Likewise. + (LINKER): Add @NO_PIE_FLAG@. + (BUILD_LDFLAGS): Likewise. + (libgcc.mvars): Set NO_PIE_CFLAGS to -fno-PIE for + --enable-default-pie. + * common.opt (fPIE): Initialize to -1. + (fpie): Likewise. + (no-pie): New option. + (pie): Replace "Negative(shared)" with "Negative(no-pie)". + * configure.ac: Add --enable-default-pie. + (NO_PIE_CFLAGS): New. Check if -fno-PIE works. AC_SUBST. + (NO_PIE_FLAG): New. Check if -no-pie works. AC_SUBST. + * defaults.h (DEFAULT_FLAG_PIE): New. Default PIE to -fPIE. + * gcc.c (NO_PIE_SPEC): New. + (PIE_SPEC): Likewise. + (NO_FPIE1_SPEC): Likewise. + (FPIE1_SPEC): Likewise. + (NO_FPIE2_SPEC): Likewise. + (FPIE2_SPEC): Likewise. + (NO_FPIE2_SPEC): Likewise. + (FPIE_SPEC): Likewise. + (NO_FPIE_SPEC): Likewise. + (NO_FPIC1_SPEC): Likewise. + (FPIC1_SPEC): Likewise. + (NO_FPIC2_SPEC): Likewise. + (FPIC2_SPEC): Likewise. + (NO_FPIC2_SPEC): Likewise. + (FPIC_SPEC): Likewise. + (NO_FPIC_SPEC): Likewise. + (NO_FPIE1_AND_FPIC1_SPEC): Likewise. + (FPIE1_OR_FPIC1_SPEC): Likewise. + (NO_FPIE2_AND_FPIC2_SPEC): Likewise. + (FPIE2_OR_FPIC2_SPEC): Likewise. + (NO_FPIE_AND_FPIC_SPEC): Likewise. + (FPIE_OR_FPIC_SPEC): Likewise. + (LD_PIE_SPEC): Likewise. + (LINK_PIE_SPEC): Handle -no-pie. Use PIE_SPEC and LD_PIE_SPEC. + * opts.c (finish_options): Update opts->x_flag_pie if it is -1. + * config/darwin.h (PIE_SPEC): Renamed to ... + (DARWIN_PIE_SPEC): This. + (LINK_SPEC): Replace PIE_SPEC with DARWIN_PIE_SPEC. + * config/darwin9.h (PIE_SPEC): Renamed to ... + (DARWIN_PIE_SPEC): This. + * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Use + PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined. + * config/openbsd.h (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and + FPIE2_OR_FPIC2_SPEC. + * config/m68k/netbsd-elf.h (ASM_SPEC): Likewise. + * config/m68k/openbsd.h (ASM_SPEC): Likewise. + * config/sol2.h (ASM_PIC_SPEC): Likewise. + * config/arm/freebsd.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise. + * config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise. + * config/arm/semi.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise. + * config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise. + * config/m32r/m32r.h (ASM_SPEC): Likewise. + * config/m68k/uclinux.h (DRIVER_SELF_SPECS): Likewise. + * config/rs6000/linux64.h (ASM_SPEC32): Likewise. + * config/rs6000/sysv4.h (ASM_SPEC): Likewise. + * config/sparc/freebsd.h (ASM_SPEC): Likewise. + * config/sparc/linux.h (ASM_SPEC): Likewise. + * config/sparc/linux64.h (ASM_SPEC): Likewise. + * config/sparc/netbsd-elf.h (ASM_SPEC): Likewise. + * config/sparc/openbsd64.h (ASM_SPEC): Likewise. + * config/sparc/sp-elf.h (ASM_SPEC): Likewise. + * config/sparc/sp64-elf.h (ASM_SPEC): Likewise. + * config/sparc/sparc.h (ASM_SPEC): Likewise. + * config/sparc/sysv4.h (ASM_SPEC): Likewise. + * config/sparc/vxworks.h (ASM_SPEC): Likewise. + * config/c6x/elf-common.h (ASM_SPEC): Use NO_FPIC2_SPEC, + FPIC2_SPEC, FPIC1_SPEC and FPIC2_SPEC. + * config/c6x/uclinux-elf.h (LINK_SPEC): Use FPIE_SPEC. + * config/frv/frv.h (DRIVER_SELF_SPECS): Use FPIC_SPEC, + NO_FPIC_SPEC and NO_FPIE1_AND_FPIC1_SPEC. + (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and FPIE2_OR_FPIC2_SPEC. + * config/m68k/m68k.h (ASM_PCREL_SPEC): Use FPIC_SPEC and NO_FPIC_SPEC. + * config/mips/gnu-user.h (NO_SHARED_SPECS): Use NO_FPIE_AND_FPIC_SPEC. + * config/mips/vxworks.h (SUBTARGET_ASM_SPEC): Use FPIC_SPEC. + * config/rs6000/freebsd64.h (ASM_SPEC32): Likewise. + * config/rs6000/vxworks.h (ASM_SPEC): Likewise. + * config/vax/linux.h (ASM_SPEC): Likewise. + * doc/install.texi: Document --enable-default-pie. + * doc/invoke.texi: Document -no-pie. + * config.in: Regenerated. + * configure: Likewise. + +2015-05-28 Thomas Preud'homme + + PR rtl-optimization/66168 + * loop-invariant.c (move_invariant_reg): Pass dest rather than reg to + can_move_invariant_reg. + +2015-05-27 John David Anglin + + PR target/66148 + * config/pa/pa.c (pa_emit_move_sequence): Correct placement of + REG_EQUAL note when doing insert. + + * config/pa/pa.c (pa_print_operand): Use HOST_WIDE_INT_PRINT_DEC + instead of "%d" for 'o' operand. + +2015-05-27 Nathan Sidwell + + PR c++/66270 + * tree.c (build_pointer_type_for_mode): Canonical type does not + inherit can_alias_all. + (build_reference_type_for_mode): Likewise. + +2015-05-27 Eric Botcazou + + * expr.h (array_at_struct_end_p): Move to... + (array_ref_element_size): Likewise. + (component_ref_field_offset): Likewise. + * tree.h (array_ref_element_size): ...here. + (array_at_struct_end_p): Likewise. + (component_ref_field_offset): Likewise. + * expr.c (array_ref_element_size): Move to... + (array_ref_low_bound): Likewise. + (array_at_struct_end_p): Likewise. + (array_ref_up_bound): Likewise. + (component_ref_field_offset): Likewise. + * tree.c (array_ref_element_size): ...here. + (array_ref_low_bound): Likewise. + (array_ref_up_bound): Likewise. + (array_at_struct_end_p): Likewise. + (component_ref_field_offset): Likewise. + +2015-05-27 Gregor Richards + Szabolcs Nagy + + * config/aarch64/aarch64-linux.h (MUSL_DYNAMIC_LINKER): Define. + +2015-05-27 Jason Merrill + + PR bootstrap/66304 + * configure.ac: Use ACX_PROG_CXX_WARNING_OPTS, + ACX_PROG_CXX_WARNING_ALMOST_PEDANTIC, and + ACX_PROG_CXX_WARNINGS_ARE_ERRORS. + +2015-05-22 Aditya Kumar + + * auto-profile.c (afdo_calculate_branch_prob): Break once has_sample + is true. + + * statistics.c (statistics_fini_pass): Print pass name. + +2015-05-27 Richard Biener + + PR tree-optimization/66272 + Revert parts of + 2014-08-15 Richard Biener + + PR tree-optimization/62031 + * tree-data-ref.c (dr_analyze_indices): Do not set + DR_UNCONSTRAINED_BASE. + (dr_may_alias_p): All indirect accesses have to go the + formerly DR_UNCONSTRAINED_BASE path. + * tree-data-ref.h (struct indices): Remove + unconstrained_base member. + (DR_UNCONSTRAINED_BASE): Remove. + +2015-05-27 Aldy Hernandez + + * dwarf2out.c: Remove block_map. + (gen_call_site_die): Replace block_map use with BLOCK_DIE. + (gen_lexical_block_die): Same. + (dwarf2out_function_decl): Remove block_map use. + (dwarf2out_c_finalize): Same. + * tree-core.h (struct tree_block): Add die field. + * tree.h (BLOCK_DIE): New. + +2015-05-27 Kyrylo Tkachov + + PR target/65358 + * expr.c (memory_load_overlap): New function. + (emit_push_insn): When pushing partial args to the stack would + clobber the register part load the overlapping part into a pseudo + and put it into the hard reg after pushing. Change return type + to bool. Add bool argument. + * expr.h (emit_push_insn): Change return type to bool. + Add bool argument. + * calls.c (expand_call): Cancel sibcall optimization when encountering + partial argument on targets with ARGS_GROW_DOWNWARD and + !STACK_GROWS_DOWNWARD. + (emit_library_call_value_1): Update callsite of emit_push_insn. + (store_one_arg): Likewise. + +2015-05-27 Gregor Richards + + * config/arm/linux-eabi.h (MUSL_DYNAMIC_LINKER): Define. + +2015-05-27 Martin Liska + + * Makefile.in: Add additional dependencies related to memory report + enhancement. + * alloc-pool.c (allocate_pool_descriptor): Use new ctor. + * bitmap.c (struct bitmap_descriptor_d): Remove. + (struct loc): Likewise. + (struct bitmap_desc_hasher): Likewise. + (bitmap_desc_hasher::hash): Likewise. + (bitmap_desc_hasher::equal): Likewise. + (get_bitmap_descriptor): Likewise. + (bitmap_register): User new memory descriptor API. + (register_overhead): Likewise. + (bitmap_find_bit): Register nsearches and search_iter statistics. + (struct bitmap_output_info): Remove. + (print_statistics): Likewise. + (dump_bitmap_statistics): Use new memory descriptor. + * bitmap.h (struct bitmap_usage): New class. + * genmatch.c: Extend header file inclusion. + * genpreds.c: Likewise. + * ggc-common.c (struct ggc_usage): New class. + (struct ggc_loc_desc_hasher): Remove. + (ggc_loc_desc_hasher::hash): Likewise. + (ggc_loc_desc_hasher::equal): Likewise. + (struct ggc_ptr_hash_entry): Likewise. + (struct ptr_hash_hasher): Likewise. + (ptr_hash_hasher::hash): Likewise. + (ptr_hash_hasher::equal): Likewise. + (make_loc_descriptor): Likewise. + (ggc_prune_ptr): Likewise. + (dump_ggc_loc_statistics): Use new memory descriptor. + (ggc_record_overhead): Likewise. + (ggc_free_overhead): Likewise. + (final_cmp_statistic): Remove. + (cmp_statistic): Likewise. + (ggc_add_statistics): Liekwise. + (ggc_prune_overhead_list): Likewise. + * hash-map-traits.h: New file. + * hash-map.h (struct default_hashmap_traits): Move the traits to a + separate header file. + * hash-set.h: Pass memory statistics info to ctor. + * hash-table.c (void dump_hash_table_loc_statistics): New function. + * hash-table.h (hash_table::hash_table): Add new ctor arguments. + (hash_table::~hash_table): Register memory release operation. + (hash_table::alloc_entries): Handle memory allocation operation. + (hash_table::expand): Likewise. + * inchash.c (iterative_hash_hashval_t): Move implementation to header + file. + (iterative_hash_host_wide_int): Likewise. + * inchash.h (class hash): Likewise. + * mem-stats-traits.h: New file. + * mem-stats.h: New file. + (mem_location): Add new class. + (mem_usage): Likewise. + (mem_alloc_description): Likewise. + * sese.c: Add new header file inclusision. + * toplev.c (dump_memory_report): Add report for hash_table, hash_map + and hash_set. + * tree-sra.c: Add new header file inclusision. + * vec.c (struct vec_descriptor): Remove. + (hash_descriptor): Likewise. + (struct vec_usage): Likewise. + (struct ptr_hash_entry): Likewise. + (hash_ptr): Likewise. + (eq_ptr): Likewise. + (vec_prefix::register_overhead): Use new memory descriptor API. + (vec_prefix::release_overhead): Likewise. + (add_statistics): Remove. + (dump_vec_loc_statistics): Use new memory descriptor API. + * vec.h (struct vec_prefix): Likewise. + (va_heap::reserve): Likewise. + (va_heap::release): Likewise. + * emit-rtl.c (gen_raw_REG): Fix passing MEM_STAT. + +2015-05-27 Richard Biener + + * tree-vect-stmts.c (vectorizable_load): Initialize slp_perm + earlier and remove ??? comment. + (vect_analyze_stmt): If we are analyzing a pure SLP stmt + and got called from loop analysis bail out. Always pass the SLP + node to the vectorizable_* functions. + * tree-vect-loop.c (vect_analyze_loop_operations): Remove + the premature SLP check here. + * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Dump hybrid + detected SLP stmts. + (vect_detect_hybrid_slp_1): Likewise. + +2015-05-26 Jeff Law + + * combine.c (find_split_point): Verify that the shift count is a + constant when choosing (plus (ashift ...)) as a split point. + + * tree-ssa-threadupdate.c: Replace 8 space sequences with tabs. + No functional changes. + +2015-05-26 Jan Hubicka + + * ipa-polymorphic-call.c + (ipa_polymorphic_call_context::get_dynamic_type): Short circuit the + case when call target is already known. + +2015-05-26 Oleg Endo + + PR target/65979 + * config/sh/sh.md (tstsi_t peephole2): Use gen_rtx_SET and + take into account the case that operands[1] and operands[2] + are the same register. + +2015-05-26 Michael Matz + + PR middle-end/66251 + + * tree-vect-stmts.c (vect_model_store_cost): Handled strided group + stores. + (vect_create_vectorized_demotion_stmts): Always set + STMT_VINFO_VEC_STMT, also with SLP. + (vectorizable_store): Handle strided group stores. + +2015-05-26 Venkataramanan Kumar + + PR target/66049 + * config/aarch64/aarch64.md + (*adds_shift_imm_): New pattern. + (*subs_shift_imm_): Likewise. + (*adds__shift_): Likewise. + (*subs__shift_): Likewise. + (*add_uxt_shift2): Likewise. + (*add_uxtsi_shift2_uxtw): Likewise. + (*sub_uxt_shift2): Likewise. + (*sub_uxtsi_shift2_uxtw): Likewise. + +2015-05-26 David Edelsohn + + * config/rs6000/constraints.md (Y, U): Use match_test. + +2015-05-26 Christian Bruel + + PR target/52144 + * config/arm/arm.c (arm_option_check_internal) + (arm_option_params_internal): Check opts->target_flags to set macros. + (TREE_TARGET_ARM, TREE_TARGET_THUMB) + (TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Replace with... + (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P) + (builtin_define): Replaced with def_or_undef_macro. + * config/arm/arm.h (TREE_TARGET_ARM, TREE_TARGET_THUMB) + TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Redefine with... + (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P) + (TARGET_32BIT_P, TARGET_ARM_QBIT_P, TARGET_ARM_SAT_P, TARGET_IDIV_P) + (TARGET_HAVE_LDREX_P, TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P) + (TARGET_ARM_FEATURE_LDREX_P) + (TARGET_DSP_MULTIPLY_P, TARGET_INT_SIMD_P): New macros. + * config/arm/arm-c.c (def_or_undef_macro): New function. + (arm_cpu_cpp_builtins): Use def_or_undef_macro for macros definition. + +2015-05-26 Christian Bruel + + * c-common.h (builtin_define_with_int_value) + (builtin_define_type_sizeof): Declare. + * c-cppbuiltin.c (builtin_define_with_int_value) + (builtin_define_type_sizeof): Externalize. + (builtin_define_std): Cleanup declaration. + * config/arm/arm-protos.h (arm_cpu_cpp_builtins): Declare. + * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Move macro defines into... + * config/arm/arm-c.c (arm_cpu_cpp_builtins): New function. + (builtin_define, builtin_assert): New macros. + +2015-05-26 Richard Biener + + PR tree-optimization/66142 + * tree-ssa-sccvn.c (vn_reference_lookup_3): Manually compare + MEM_REFs for the same base address. + +2015-05-26 Ramana Radhakrishnan + + PR ipa/66181 + * tree.c (verify_type_variant): Do not check TYPE_NO_FORCE_BLK. + +2015-05-26 Jason Merrill + + * configure.ac: Set CXXFLAGS for ISL test. + * configure: Regenerate. + + * configure.ac: Use C++ for all tests. Use AC_CHECK_DECLS for + strstr and basename. + * configure: Regenerate. + +2015-05-26 Richard Biener + + * fold-const.c (fold_binary_loc): Move X % -Y -> X % Y and + X % C -> X & (C - 1) for C being a power-of two to ... + * match.pd: ... patterns. + +2015-05-26 Marc Glisse + + * match.pd (swapped_tcc_comparison): New operator list. + (-A CMP -B): New simplification. + * fold-const.c (fold_comparison): Remove corresponding code. + +2015-05-26 Richard Sandiford + + * caller-save.c (init_caller_save): Base temporary register numbers + on LAST_VIRTUAL_REGISTER + 1 rather than FIRST_PSEUDO_REGISTER. + * cfgloopanal.c (init_set_costs): Likewise. + * dojump.c (prefer_and_bit_test): Likewise. + * expr.c (init_expr_target): Likewise. + * ira.c (setup_prohibited_mode_move_regs): Likewise. + * lower-subreg.c (init_lower_subreg): Likewise. + * postreload.c (reload_cse_regs_1): Likewise. + +2015-05-26 Richard Sandiford + + * gensupport.h (compute_test_codes): Declare. + * gensupport.c (compute_predicate_codes): Rename to... + (compute_test_codes): ...this. Generalize error message. + (process_define_predicate): Update accordingly. + * genpreds.c (compute_maybe_allows): Delete. + (add_constraint): Use compute_test_codes to determine whether + something can accept a SUBREG, REG or MEM. + +2015-05-26 Torvald Riegel + + * doc/extend.texi (__atomic Builtins): Use 'memory order' instead of + 'memory model' to align with C++11; fix description of memory orders; + fix a few typos. + +2015-05-26 Richard Biener + + * tree-vect-loop.c (vect_update_vf_for_slp): Split out from ... + (vect_analyze_loop_operations): ... here. Remove slp parameter, + detect whether we apply SLP. Remove call to + vect_update_slp_costs_according_to_vf. + (vect_analyze_loop_2): Call vect_update_vf_for_slp and + vect_update_slp_costs_according_to_vf from here. Dispatch + to vect_slp_analyze_operations to analyze SLP stmts. + * tree-vect-slp.c (vect_slp_analyze_node_operations): Drop + unused bb_vec_info parameter, adjust assert. + (vect_slp_analyze_operations): Pass in the slp instance tree + instead of bb_vec_info. + (vect_slp_analyze_bb_1): Adjust call to vect_slp_analyze_operations. + * tree-vectorizer.h (vect_slp_analyze_operations): Declare. + +2015-05-25 Alexander Monakov + + * config/i386/i386.h (enum reg_class): Move CLOBBERED_REGS prior to + Q_REGS. Expand comment. + (REG_CLASS_NAMES): Ditto. + (REG_CLASS_CONTENTS): Ditto. + +2015-05-25 Uros Bizjak + + PR target/66274 + * config/i386/i386.c (print_reg): Only print "r" for TARGET_64BIT + when LEGACY_INT_REGNO_P is processed. + +2015-05-25 Alexander Monakov + + * config/i386/i386.c (ix86_function_ok_for_sibcall): Check flag_plt. + +2015-05-25 Pitchumani Sivanupandi + + * config/avr/avr.c (avr_out_load_psi_reg_no_disp_tiny): Restore base + register if not marked dead/unused, before return. + +2015-05-24 Jan Hubicka + + PR lto/66180 + * ipa-devirt.c (type_with_linkage): Check that TYPE_STUB_DECL + is set; check for assembler name at LTO time. + (type_in_anonymous_namespace): Remove hacks, check that all + anonymous types are called "" + (odr_type_p): Simplify; add check for "" + (odr_subtypes_equivalent): Add odr_type_p check. + * tree.c (need_assembler_name_p): Even anonymous namespace needs + assembler name. + +2015-05-24 Jan Hubicka + + * ipa-utils.h (method_class_type): Remove. + * cgraphunit.c (walk_polymorphic_call_targets): Use + TYPE_METHOD_BASETYPE. + * ipa-devirt.c (type_in_anonymous_namespace_p): Check that it is called + on main variants only. + (method_class_type): Remove. + (update_type_inheritance_graph): Use TYPE_METHOD_BASETYPE. + (build_type_inheritance_graph): Likewise. + * ipa-icf.c (sem_function::equals_wpa): Likewise. + * pa-polymorphic-call.c (decl_maybe_in_construction_p, + check_stmt_for_type_change): Use TYPE_METHOD_BASETYPE. + +2015-05-24 Jan Hubicka + + * tree.c (prototype_p, virtual_method_call_p, obj_type_ref_class, + is_typedef_decl, typedef_variant_p): Constify. + * tree.h (prototype_p, virtual_method_call_p, obj_type_ref_class, + is_typedef_decl, typedef_variant_p): Constify. + +2015-05-23 Trevor Saunders + + * defaults.h (gen_tablejump): New function. + (HAVE_tablejump): Add default value. + * expr.c: Adjust. + * stmt.c: Likewise. + +2015-05-23 Trevor Saunders + + * defaults.h (gen_store_multiple): New function. + (HAVE_store_multiple): Add default value. + * expr.c (move_block_from_reg): Adjust. + +2015-05-23 Trevor Saunders + + * defaults.h (gen_load_multiple): New function. + (HAVE_load_multiple): Add default value. + * expr.c (move_block_to_reg): Adjust. + +2015-05-23 Trevor Saunders + + * defaults.h (gen_mem_signal_fence): New function. + (HAVE_mem_signal_fence): Add default value. + * optabs.c: Adjust. + +2015-05-23 Trevor Saunders + + * defaults.h (gen_memory_barrier): New function. + (HAVE_memory_barrier): Add default value. + * optabs.c: Adjust. + +2015-05-23 Trevor Saunders + + * defaults.h (gen_mem_thread_fence): New function. + (HAVE_mem_thread_fence): Add default definition. + * optabs.c: Adjust. + +2015-05-23 Trevor Saunders + + * combine.c (find_split_point): Check the value of HAVE_lo_sum + instead of if it is defined. + (combine_simplify_rtx): Likewise. + * lra-constraints.c (process_address_1): Likewise. + * config/darwin.c: Adjust. + * genconfig.c (main): Always define HAVE_lo_sum. + +2015-05-23 Prathamesh Kulkarni + + * genmatch.c (parser::parse_operation): Reject expanding + operator-list inside 'for'. + +2015-05-23 Prathamesh Kulkarni + + * genmatch.c (parser::parse_for): Reject iterator if used as + operator-list. + +2015-05-23 Prathamesh Kulkarni + + * genmatch.c (parser::parse_operator_list): Check for CPP_CLOSE_PAREN + after end of id-list. + +2015-05-22 Jan Hubicka + + * tree.c (gimple_canonical_types_compatible_p): Sanity check that + we do not try to compute canonical type for type that does not need + alias set. + (verify_type): Drop FIXME for METHOD_TYPE, update FIXME for + FUNCITON_TYPE. + * tree.h (type_with_alias_set_p): New. + +2015-05-22 Jan Hubicka + + * tree.c (gimple_canonical_types_compatible_p): Do not compare + function attributes. + (verify_type): Remove METHOD_TYPE FIXME; update FUNCTION_TYPE. + +2015-05-22 Jim Wilson + + * Makefile.in (check_gcc_parallelize): Delete. + (lang_checks_parallelized): Update comment. + +2015-05-22 Mikhail Maltsev + + PR rtl-optimization/66237 + * bb-reorder.c (fix_crossing_conditional_branches): Fix wrong + location of an "as_a" cast. + +2015-05-22 Jeff Law + + * config/pa/pa.md (non-canonical shift-add insns): Remove. + (peepholes with non-canonical RTL sources): Remove. + (peepholes for indexed stores of FP regs in integer modes): Match and + generate canonical RTL. + +2015-05-22 Marc Glisse + + PR tree-optimization/63387 + * match.pd ((X /[ex] A) * A -> X): Remove unnecessary condition. + ((x ord x) & (y ord y) -> (x ord y), + (x ord x) & (x ord y) -> (x ord y)): New simplifications. + * fold-const.c (tree_unary_nonnegative_warnv_p) : Handle + vectors like scalars. + +2015-05-22 Marc Glisse + + * convert.c (convert_to_integer, convert_to_vector): Include the + types in the error message. + +2015-05-22 Marc Glisse + + * match.pd ((x | y) & ~x -> y & ~x, (x & y) | ~x -> y | ~x): New + simplifications. + +2015-05-22 Jeff Law + + * config/pa/pa.md (integer_indexed_store splitters): Use + mem_shadd_operand. Use ASHIFT rather than MULT in the resulting + insns -- adjusting the constant 2nd operand accordingly. + + * combine.c (try_combine): Canonicalize (plus (mult X pow2) Y) into + (plus (ashift X log2) Y) if it is a split point. + + * config/pa/pa.c (mem_shadd_or_shadd_rtx_p): New function factoredx + out of hppa_legitimize_address to handle both forms of a multiply + by 2, 4 or 8. + (hppa_legitimize_address): Use mem_shadd_or_shadd_rtx_p. + Always generate the ASHIFT variant as the result is not directly + used in a MEM. Update comments and refactor slightly to improve + readability. + +2015-05-22 Kyrylo Tkachov + + PR target/65491 + * config/aarch64/aarch64.c (aarch64_short_vector_p): Move above + aarch64_composite_type_p. Remove check for aarch64_composite_type_p. + (aarch64_composite_type_p): Return false if given type and mode are + for a short vector. + +2015-05-22 Richard Biener + + * tree-vectorizer.h (struct _slp_oprnd_info): Add second_pattern + member. + * tree-vect-loop.c (vect_analyze_loop_operations): Look at + patterns when determining whether SLP is pure. + (vect_is_slp_reduction): Remove check for pattern stmts. + (vect_is_simple_reduction_1): Remove dead code. + * tree-vect-slp.c (vect_create_oprnd_info): Initialize second_pattern. + (vect_get_and_check_slp_defs): Pass in the stmt number. + Allow the first def in a reduction to be not a pattern stmt when + the rest of the stmts def are patterns. + (vect_build_slp_tree_1): Allow tcc_expression codes like + SAD_EXPR and DOT_PROD_EXPR. + (vect_build_slp_tree): Adjust. + (vect_analyze_slp): Refactor and move BB vect error message ... + (vect_slp_analyze_bb_1): ... here. + +2015-05-22 Aldy Hernandez + + * tree-switch-conversion.c (build_one_array): Set DECL_IGNORED_P + for CSWTCH temporary. + +2015-05-22 Kyrylo Tkachov + + * config/arm/arm.c (arm_new_rtx_costs): Handle UNSPEC_VOLATILE. + (arm_unspec_cost): Allow UNSPEC_VOLATILE. Do not recurse inside + unknown unspecs. + +2015-05-22 Richard Biener + + PR tree-optimization/66251 + * tree-vect-stmts.c (vectorizable_conversion): Properly + set STMT_VINFO_VEC_STMT even for the SLP case. + +2015-05-22 Marek Polacek + + * doc/extend.texi: Use @pxref instead of @xref. + +2015-05-22 hiraditya + + * gimple.h (gimple_expr_type): Refactor to make it concise. Remove + redundant if. + +2015-05-22 Richard Biener + + PR tree-optimization/65701 + * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): + Move peeling cost models into one place. Peel for alignment + for single loads only if an aligned load is cheaper than + an unaligned load. + +2015-05-22 Marek Polacek + + PR c/47043 + * doc/extend.texi (Enumerator Attributes): New section. + Document syntax of enumerator attributes. + +2015-05-22 Richard Biener + + * tree-vect-loop.c (get_reduction_op): New function. + (vect_model_reduction_cost): Use it, add reduc_index parameter. + Make ready for BB reductions. + (vect_create_epilog_for_reduction): Use get_reduction_op. + (vectorizable_reduction): Init reduc_index to a valid value. + Adjust vect_model_reduction_cost call. + * tree-vect-slp.c (vect_get_constant_vectors): Use the proper + operand for reduction defaults. Add SAD_EXPR support. + Assert we have a neutral op for SLP reductions. + * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): When + walking pattern stmt ops only recurse to SSA names. + +2015-05-22 Richard Biener + + * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Replace + assert with guard, remove check on detected reduction. + (vect_recog_sad_pattern): Likewise. + (vect_recog_widen_sum_pattern): Likewise. + +2015-05-22 Kyrylo Tkachov + + * config/aarch64/arm_neon.h (vaeseq_u8): Add __extension__ and + __always_inline__ attribute. + (vaesdq_u8): Likewise. + (vaesmcq_u8): Likewise. + (vaesimcq_u8): Likewise. + (vsha1cq_u32): Likewise. + (vsha1mq_u32): Likewise. + (vsha1pq_u32): Likewise. + (vsha1h_u32): Likewise. + (vsha1su0q_u32): Likewise. + (vsha1su1q_u32): Likewise. + (vsha256hq_u32): Likewise. + (vsha256h2q_u32): Likewise. + (vsha256su0q_u32): Likewise. + (vsha256su1q_u32): Likewise. + (vmull_p64): Likewise. + (vmull_high_p64): Likewise. + +2015-05-21 Trevor Saunders + + * final.c (final_scan_insn): Don't check HAVE_peephole with the + preprocessor. + * output.h: Likewise. + * genconfig.c (main): Alwways define HAVE_peephole. + * genpeep.c: Don't emit checks of HAVE_peephole. + +2015-05-21 Trevor Saunders + + * combine.c, expmed.c, expr.c, optabs.c optabs.h, toplev.c: DOn't + check HAVE_conditional_move with the preprocessor. + +2015-05-21 Trevor Saunders + + * genconfig.c (main): Always define HAVE_conditional_move. + * combine.c, expmed.c, expr.c, ifcvt.c, optabs.c, optabs.h, + toplev.c, tree-ssa-phiopt.c: Don't check if HAVE_conditional_move + is defined. + +2015-05-21 Trevor Saunders + + * combine.c, df-problems.c, df-scan.c, emit-rtl.c, reginfo.c, + reload.c, rtlanal.c: Remove comparison of ARG_FRAME_POINTER_REGNUM + and FRAME_POINTER_REGNUM with the preprocessor. + +2015-05-21 Trevor Saunders + + * defaults.h: Add default for STACK_PUSH_CODE. + * expr.c: Don't redefine STACK_PUSH_CODE. + * recog.c: Likewise. + +2015-05-21 Trevor Saunders + + * builtins.c, dwarf2cfi.c, explow.c, expr.c, recog.c, + sched-deps.c: Use if instead of preprocessor checks with + STACK_GROWS_DOWNWARD. + +2015-05-21 Trevor Saunders + + * *.c: Check the value of STACK_GROWS_DOWNWARD rather than if it + is defined. + * config/**/*.h: Define STACK_GROWS_DOWNWARD to an integer. + * defaults.h: Provide default for STACK_GROWS_DOWNWARD. + * doc/tm.texi.in: Update references to STACK_GROWS_DOWNWARD. + * doc/tm.texi: Regenerate. + +2015-05-21 H.J. Lu + + PR target/66232 + * config/i386/constraints.md (Bg): New constraint for GOT memory + operand. + * config/i386/i386.md (*call_got_x32): New pattern. + (*call_value_got_x32): Likewise. + * config/i386/predicates.md (GOT_memory_operand): New predicate. + +2015-05-21 Jakub Jelinek + + PR tree-optimization/66233 + * match.pd (ocvt (icvt@1 @0)): Don't handle vector types. + Simplify. + +2015-05-21 Jeff Law + + * config/pa/pa.md (add-with-constant splitter): Use ASHIFT rather + than MULT for shadd sequences. + +2015-05-08 Jan Hubicka + + * alias.c (alias_stats): New static var. + (alias_sets_conflict_p, alias_sets_must_conflict_p): Update stats. + (dump_alias_stats_in_alias_c): New function. + * alias.h (dump_alias_stats_in_alias_c): Declare. + * tree-ssa-alias.c (dump_alias_stats): Call it. + +2015-05-08 Michael Matz + + * tree-vectorizer.h (struct _stmt_vec_info): Rename stride_load_p + to strided_p. + (STMT_VINFO_STRIDE_LOAD_P): Rename to ... + (STMT_VINFO_STRIDED_P): ... this. + * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Adjust. + (vect_verify_datarefs_alignment): Likewise. + (vect_enhance_data_refs_alignment): Likewise. + (vect_analyze_data_ref_access): Likewise. + (vect_analyze_data_refs): Accept strided stores. + * tree-vect-stmts.c (vect_model_store_cost): Count strided stores. + (vect_model_load_cost): Adjust for macro rename. + (vectorizable_mask_load_store): Likewise. + (vectorizable_load): Likewise. + (vectorizable_store): Open code strided stores. + +2015-05-21 Kyrylo Tkachov + + * doc/sourcebuild.texi (7.2.3.9 Other hardware attributes): + Document sqrt_insn. + +2015-05-21 Richard Biener + + PR c++/66211 + * match.pd: Guard pattern optimzing (int)(float)int + conversions to apply only on GIMPLE. + +2015-05-21 Jeff Law + + * combine.c (find_split_point): Handle ASHIFT like MULT to encourage + multiply-accumulate/shift-add insn generation. + +2015-05-21 Oleg Endo + + PR target/54236 + * config/sh/sh.md (*round_int_even): Reject pattern if operands[0] and + operands[1] are the same. + +2015-05-21 Ilya Enkovich + + PR middle-end/66221 + * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Use + build_distinct_type_copy to copy bounds. + +2015-05-21 Thomas Schwinge + + * genrecog.c (MAX_DEPTH, MIN_NUM_STATEMENTS, MAX_NUM_STATEMENTS): + Change to unsigned int. + +2015-05-20 Jeff Law + + * config/pa/pa.c (pa_print_operand): New 'o' output modifier. + (pa_mem_shadd_constant_p): Renamed from pa_shadd_constant_p. + (pa_shadd_constant_p): Allow constants for shadd insns rather + than valid scaling constants for memory addresses. + * config/pa/pa-protos.h (pa_mem_shadd_constant_p): Add prototype. + * config/pa/predicates.md (mem_shadd_operand): New predicate. + * config/pa/pa.md (shift-add insns using MULT): Use mem_shadd_operand. + (shift-add insns using ASHIFT): New patterns. + +2015-05-20 Mikhail Maltsev + + * bb-reorder.c (set_edge_can_fallthru_flag): Use rtx_jump_insn where + feasible. + (fix_up_fall_thru_edges): Likewise. + (fix_crossing_conditional_branches): Likewise. Promote jump targets + from to rtx_insn to rtx_code_label where feasible. + * bt-load.c (move_btr_def): Remove as-a cast of the value returned by + gen_move_insn (returned type changed to rtx_insn). + * builtins.c (expand_errno_check): Fix arguments of + do_compare_rtx_and_jump (now expects rtx_code_label). + (expand_builtin_acc_on_device): Likewise. + * cfgcleanup.c (try_simplify_condjump): Add cast when calling + invert_jump (now exprects rtx_jump_insn). + * cfgexpand.c (label_rtx_for_bb): Promote return type to rtx_code_label. + (construct_init_block): Use rtx_code_label. + * cfgrtl.c (block_label): Promote return type to rtx_code_label. + (try_redirect_by_replacing_jump): Use cast to rtx_jump_insn when + calling redirect_jump. + (patch_jump_insn): Likewise. + (redirect_branch_edge): Likewise. + (force_nonfallthru_and_redirect): Likewise. + (fixup_reorder_chain): Explicitly use rtx_jump_insn instead of rtx_insn + when suitable. + (rtl_lv_add_condition_to_bb): Update call of do_compare_rtx_and_jump. + * cfgrtl.h: Promote return type of block_label to rtx_code_label. + * config/bfin/bfin.c (hwloop_optimize): Fix call of emit_label_before. + * config/i386/i386.c (ix86_emit_cmove): Explicitly use rtx_code_label + to store the value retured by gen_label_rtx. + * config/mips/mips.c (mips16_split_long_branches): Promote rtx_insn to + rtx_jump_insn. + * config/sh/sh.c (gen_far_branch): Likewise. Fix call of invert_jump. + (split_branches): Fix calls of redirect_jump. + * dojump.c (jumpifnot): Promote argument type from rtx to + rtx_code_label. + (jumpifnot_1): Likewise. + (jumpif): Likewise. + (jumpif_1): Likewise. + (do_jump_1): Likewise. + (do_jump): Likewise. Use rtx_code_label when feasible. + (do_jump_by_parts_greater_rtx): Likewise. + (do_jump_by_parts_zero_rtx): Likewise. + (do_jump_by_parts_equality_rtx): Likewise. + (do_compare_rtx_and_jump): Likewise. + * dojump.h: Update function prototypes. + * dse.c (emit_inc_dec_insn_before): Remove case (gen_move_insn now + returns rtx_insn). + * emit-rtl.c (emit_jump_insn_before_noloc): Promote return type to + rtx_jump_insn. + (emit_label_before): Likewise. + (emit_jump_insn_after_noloc): Likewise. + (emit_jump_insn_after_setloc): Likewise. + (emit_jump_insn_after): Likewise + (emit_jump_insn_before_setloc): Likewise. + (emit_jump_insn_before): Likewise. + (emit_label_before): Promote return type to rtx_code_label. + (emit_label): Likewise. + * except.c (sjlj_emit_dispatch_table): Use jump_target_rtx. + * explow.c (emit_stack_save): Use gen_move_insn_uncast instead of + gen_move_insn. + (emit_stack_restore): Likewise. + * expmed.c (emit_store_flag_force): Fix calls of do_compare_rtx_and_jump. + (do_cmp_and_jump): Likewise. + * expr.c (expand_expr_real_2): Likewise. Promote some local variables + from rtx to rtx_code_label. + (gen_move_insn_uncast): New function. + * expr.h: Update return type of gen_move_insn (promote to rtx_insn). + * function.c (convert_jumps_to_returns): Fix call of redirect_jump. + * gcse.c (pre_insert_copy_insn): Use rtx_insn instead of rtx. + * ifcvt.c (dead_or_predicable): Use rtx_jump_insn when calling + invert_jump_1 and redirect_jump_1. + * internal-fn.c (expand_arith_overflow_result_store): Fix call of + do_compare_rtx_and_jump. + (expand_addsub_overflow): Likewise. + (expand_neg_overflow): Likewise. + (expand_mul_overflow): Likewise. + * ira.c (split_live_ranges_for_shrink_wrap): Use rtx_insn for + return value of gen_move_insn. + * jump.c (redirect_jump): Promote argument from rtx to rtx_jump_insn. + * loop-doloop.c (add_test): Use rtx_code_label. + (doloop_modify): Likewise. + (doloop_optimize): Likewise. + * loop-unroll.c (compare_and_jump_seq): Promote rtx to rtx_code_label. + * lra-constraints.c (emit_spill_move): Remove cast of value returned + by gen_move_insn. + (inherit_reload_reg): Add cast when calling dump_insn_slim. + (split_reg): Likewise. + * modulo-sched.c (schedule_reg_moves): Remove cast of value returned by + gen_move_insn. + * optabs.c (expand_binop_directly): Remove casts of values returned by + maybe_gen_insn. + (expand_unop_direct): Likewise. + (expand_abs): Likewise. + (maybe_emit_unop_insn): Likewise. + (maybe_gen_insn): Promote return type to rtx_insn. + * optabs.h: Update prototype of maybe_gen_insn. + * postreload-gcse.c (eliminate_partially_redundant_load): Remove + redundant cast. + * recog.c (struct peep2_insn_data): Promote type of insn field to + rtx_insn. + (peep2_reinit_state): Use NULL instead of NULL_RTX. + (peep2_attempt): Remove casts of insn in peep2_insn_data. + (peep2_fill_buffer): Promote argument from rtx to rtx_insn + * recog.h (struct insn_gen_fn): Promote return types of function + pointers and operator ().from rtx to rtx_insn. + * reorg.c (fill_simple_delay_slots): Promote rtx_insn to rtx_jump_insn. + (fill_eager_delay_slots): Likewise. + (relax_delay_slots): Likewise. + (make_return_insns): Likewise. + (dbr_schedule): Likewise. + (optimize_skips): Likewise. + (reorg_redirect_jump): Likewise. + (fill_slots_from_thread): Likewise. + * reorg.h: Update prototypes. + * resource.c (find_dead_or_set_registers): Use dyn_cast to + rtx_jump_insn instead of check. Use it's jump_target method. + * rtl.h (rtx_jump_insn::jump_label): Define new method. + (rtx_jump_insn::jump_target): Define new method. + (rtx_jump_insn::set_jump_target): Define new method. + * rtlanal.c (tablejump_p): Promote type of one local variable. + * sched-deps.c (sched_analyze_2): Promote rtx to rtx_insn_list. + (sched_analyze_insn): Likewise. + * sched-vis.c (print_insn_with_notes): Promote rtx to rtx_insn. + (print_insn): Likewise. + * stmt.c (label_rtx): Promote return type to rtx_insn. + (force_label_rtx): Likewise. + (jump_target_rtx): Define new function. + (expand_label): Use it, get rid of one cast. + (expand_naked_return): Promote rtx to rtx_code_label. + (do_jump_if_equal): Fix do_compare_rtx_and_jump call. + (expand_case): Use rtx_code_label instread of rtx where feasible. + (expand_sjlj_dispatch_table): Likewise. + (emit_case_nodes): Likewise. + * stmt.h: Declare jump_target_rtx. Update prototypes. Fix comments. + * store-motion.c (insert_store): Make use of new return type of + gen_move_insn and remove a cast. + (replace_store_insn): Likewise. + +2015-05-20 Max Filippov + + * config/xtensa/xtensa.c (init_alignment_context): Replace MULT + by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT). + +2015-05-20 Jeff Law + + * tree-ssa-threadupdate.c (mark_threaded_blocks): Properly + dispose of the jump thread path when the jump threading + opportunity is cancelled. + +2015-05-20 Manuel López-Ibáñez + + * diagnostic.c (diagnostic_print_caret_line): Fix off-by-one error + when printing the caret character. + +2015-05-20 Marek Polacek + + * cfgexpand.c (expand_debug_expr): Use UNARY_CLASS_P. + +2015-05-20 Marek Polacek + + * expr.c (expand_cond_expr_using_cmove): Use COMPARISON_CLASS_P. + * gimple-expr.c (gimple_cond_get_ops_from_tree): Likewise. + * gimple-fold.c (canonicalize_bool): Likewise. + (same_bool_result_p): Likewise. + * tree-if-conv.c (parse_predicate): Likewise. + +2015-05-20 Marek Polacek + + * gimple-fold.c (fold_const_aggregate_ref_1): Use DECL_P. + * gimplify.c (gimplify_modify_expr_rhs): Likewise. + +2015-05-20 Kyrylo Tkachov + + * config/aarch64/aarch64.c (aarch64_class_max_nregs): + Use UNITS_PER_VREG and UNITS_PER_WORD instead of their direct + values. + +2015-05-20 Robert Suchanek + + * config/mips/mips.h (micromips_globals): Declare. + +2015-05-20 David Malcolm + + * timevar.def (TV_INITIALIZE_RTL): New. + * toplev.c (initialize_rtl): Use an auto_timevar to account this + function's time to TV_INITIALIZE_RTL. + +2015-05-20 Ilya Enkovich + + * tree-chkp.c (chkp_maybe_copy_and_register_bounds): Remove useless + gimple_build_nop calls. + (chkp_find_bounds_for_elem): Likewise. + (chkp_get_zero_bounds): Likewise. + (chkp_get_none_bounds): Likewise. + (chkp_get_bounds_by_definition): Likewise. + (chkp_generate_extern_var_bounds): Likewise. + (chkp_get_bounds_for_decl_addr): Likewise. + (chkp_get_bounds_for_string_cst): Likewise. + +2015-05-20 Bin Cheng + + PR tree-optimization/65447 + * tree-ssa-loop-ivopts.c (struct iv_use): New fields. + (dump_use, dump_uses): Support to dump sub use. + (record_use): New parameters to support sub use. Remove call to + dump_use. + (record_sub_use, record_group_use): New functions. + (compute_max_addr_offset, split_all_small_groups): New functions. + (group_address_uses, rewrite_use_address): New functions. + (strip_offset): New declaration. + (find_interesting_uses_address): Call record_group_use. + (add_candidate): New assertion. + (infinite_cost_p): Move definition forward. + (add_costs): Check INFTY cost and return immediately. + (get_computation_cost_at): Clear setup cost and dependent bitmap + for sub uses. + (determine_use_iv_cost_address): Compute cost for sub uses. + (rewrite_use_address_1): Rename from old rewrite_use_address. + (free_loop_data): Free sub uses. + (tree_ssa_iv_optimize_loop): Call group_address_uses. + +2015-05-20 Kugan Vivekanandarajah + Jim Wilson + + * config/arm/aarch-common-protos.h (struct mem_cost_table): Added + new fields loadv and storev. + * config/aarch64/aarch64-cost-tables.h (thunderx_extra_costs): + Initialize loadv and storev. + * config/arm/aarch-cost-tables.h (generic_extra_costs): Likewise. + (cortexa53_extra_costs): Likewise. + (cortexa57_extra_costs): Likewise. + (xgene1_extra_costs): Likewise. + * config/aarch64/aarch64.c (aarch64_rtx_costs): Update vector + rtx_costs. + +2015-05-20 Kugan Vivekanandarajah + + * config/arm/arm.c (cortexa9_extra_costs): Initialize loadv and + storev. + (cortexa8_extra_costs): Likewise. + (cortexa5_extra_costs): Likewise. + (cortexa7_extra_costs): Likewise. + (cortexa12_extra_costs): Likewise. + (cortexa15_extra_costs): Likewise. + (v7m_extra_costs): Likewise. + +2015-05-20 Jeff Law + + * tree-ssa-threadupdate.c (thread_single_edge): Use delete_jump_thread + instead of open-coded version. Also delete the jump thread created + within this function. + +2015-05-20 Alan Modra + + * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Return + stack adjusting insn. Formatting. + (rs6000_emit_prologue): Track stack adjusting insn, and use of + r12. If possible, emit first -fsplit-stack arg pointer insn + before stack adjust. Don't use r12 to save cr if split-stack. + +2015-05-20 Alan Modra + + * common/config/rs6000/rs6000-common.c (TARGET_SUPPORTS_SPLIT_STACK): + Define. + (rs6000_supports_split_stack): New function. + * config/rs6000/rs6000.c (machine_function): Add + split_stack_arg_pointer. + (TARGET_EXTRA_LIVE_ON_ENTRY, TARGET_INTERNAL_ARG_POINTER): Define. + (setup_incoming_varargs): Use crtl->args.internal_arg_pointer + rather than virtual_incoming_args_rtx. + (rs6000_va_start): Likewise. + (split_stack_arg_pointer_used_p): New function. + (rs6000_emit_prologue): Set up arg pointer for -fsplit-stack. + (morestack_ref): New var. + (gen_add3_const, rs6000_expand_split_stack_prologue, + rs6000_internal_arg_pointer, rs6000_live_on_entry, + rs6000_split_stack_space_check): New functions. + (rs6000_elf_file_end): Call file_end_indicate_split_stack. + * config/rs6000/rs6000.md (UNSPEC_STACK_CHECK): Define. + (UNSPECV_SPLIT_STACK_RETURN): Define. + (split_stack_prologue, load_split_stack_limit, + load_split_stack_limit_di, load_split_stack_limit_si, + split_stack_return, split_stack_space_check): New expands and insns. + * config/rs6000/rs6000-protos.h + (rs6000_expand_split_stack_prologue): Declare. + (rs6000_split_stack_space_check): Declare. + +2015-05-20 Alan Modra + + * config/rs6000/rs6000.c (struct rs6000_stack): Correct comments. + (direct_return): Test vrsave_size rather than vrsave_mask. + (rs6000_emit_prologue): Likewise. Remove redundant altivec tests. + (rs6000_emit_epilogue): Likewise. + +2015-05-20 Alan Modra + + * config/rs6000/rs6000.c (rs6000_stack_info): Don't zero offsets + when not saving registers. + (debug_stack_info): Adjust to omit printing unused offsets, + as before. + (rs6000_emit_epilogue): Adjust use_backchain_to_restore_sp + expression. + +2015-05-19 Trevor Saunders + + PR c++/65835 + * config/i386/winnt.c (struct wrapped_symbol_hasher): Change + value_type to const char *. + +2015-05-19 Sandra Loosemore + + * config.gcc [powerpc*-*-linux*]: Allow --enable-targets=all + to build a biarch toolchain again. + +2015-05-19 Jan Hubicka + + * ipa-devirt.c (type_in_anonymous_namespace_p): Return true + or implicit declarations. + (odr_type_p): Check that TYPE_NAME is TYPE_DECL before looking + into it. + (get_odr_type): Check type has linkage before adding bases. + (register_odr_type): Check that type has linkage before adding it. + (type_known_to_have_no_deriavations_p): Rename to .. + (type_known_to_have_no_derivations_p): This one. + * ipa-utils.h (type_known_to_have_no_deriavations_p): Rename to .. + (type_known_to_have_no_derivations_p): This one. + * ipa-polymorphic-call.c + (ipa_polymorphic_call_context::restrict_to_inner_type): Check that + type has linkage. + +2015-05-19 Eric Botcazou + + * stor-layout.c (finalize_type_size): Use AGGREGATE_TYPE_P. + (layout_type): Use RECORD_OR_UNION_TYPE_P. + +2015-05-19 Andreas Krebbel + + * config/s390/s390.c (s390_vector_bool_type_p): New function. + (s390_invalid_binary_op): New function. + (TARGET_INVALID_BINARY_OP): Define macro. + +2015-05-19 David Sherwood + + * loop-invariant.c (create_new_invariant): Don't calculate address cost + if mode is not a scalar integer. + (get_inv_cost): Increase computational cost for unused invariants. + +2015-05-19 Andreas Krebbel + + * config.gcc: Add vecintrin.h to extra_headers. Add s390-c.o to + c_target_objs and cxx_target_objs. Add t-s390 to tmake_file. + * config/s390/s390-builtin-types.def: New file. + * config/s390/s390-builtins.def: New file. + * config/s390/s390-builtins.h: New file. + * config/s390/s390-c.c: New file. + * config/s390/s390-modes.def: Add modes CCVEQANY, CCVH, + CCVHANY, CCVHU, CCVHUANY, CCVFHANY, CCVFHEANY. + * config/s390/s390-protos.h (s390_expand_vec_compare_cc) + (s390_cpu_cpp_builtins, s390_register_target_pragmas): Add + prototypes. + * config/s390/s390.c (s390-builtins.h, s390-builtins.def): + Include. + (flags_builtin, flags_overloaded_builtin_var, s390_builtin_types) + (s390_builtin_fn_types, s390_builtin_decls, code_for_builtin): New + variable definitions. + (s390_const_operand_ok): New function. + (s390_expand_builtin): Rewrite. + (s390_init_builtins): New function. + (s390_handle_vectorbool_attribute): New function. + (s390_attribute_table): Add s390_vector_bool attribute. + (s390_match_ccmode_set): Handle new cc modes CCVH, CCVHU. + (s390_branch_condition_mask): Generate masks for new modes. + (s390_expand_vec_compare_cc): New function. + (s390_mangle_type): Add mangling for vector bool types. + (enum s390_builtin): Remove. + (s390_atomic_assign_expand_fenv): Rename constants for sfpc and + efpc builtins. + * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Call + s390_cpu_cpp_builtins. + (REGISTER_TARGET_PRAGMAS): New macro. + * config/s390/s390.md: Define more UNSPEC_VEC_* constants. + (insn_cmp mode attribute): Add new CC modes. + (s390_sfpc, s390_efpc): Rename patterns to sfpc and efpc. + (lcbb): New pattern definition. + * config/s390/s390intrin.h: Include vecintrin.h. + * config/s390/t-s390: New file. + * config/s390/vecintrin.h: New file. + * config/s390/vector.md: Include vx-builtins.md. + * config/s390/vx-builtins.md: New file.S/390 zvector builtin + support. + +2015-05-19 Andreas Krebbel + + * config/s390/s390-modes.def: Add new modes CCVEQ, CCVFH, and + CCVFHE. + * config/s390/s390.c (s390_match_ccmode_set): Handle new modes. + (s390_select_ccmode): Likewise. + (s390_canonicalize_comparison): Swap operands if necessary. + (s390_expand_vec_compare_scalar): Expand DFmode compare using + single element vector instructions. + (s390_emit_compare): Call s390_expand_vec_compare_scalar. + (s390_branch_condition_mask): Generate CC masks for the new modes. + * config/s390/s390.md (v0, vf, vd): New mode attributes. + (VFCMP, asm_fcmp, insn_cmp): New mode iterator and attributes. + (*vec_cmpdf_cconly, *fixuns_truncdfdi2_z13) + (*fix_trunc2_bfp, *floatunsdidf2_z13) + (*floatuns2, *extendsfdf2_z13) + (*extend2): New insn definition. + (fix_trunc2_bfp, loatuns2) + (extend2): Turn into expander. + (floatdi2, truncdfsf2, add3, sub3, mul3) + (div3, *neg2, *abs2, *negabs2) + (sqrt2): Add vector instruction. + +2015-05-19 Andreas Krebbel + + * config/s390/constraints.md (j00, jm1, jxx, jyy, v): New + constraints. + * config/s390/predicates.md (const0_operand, constm1_operand) + (constable_operand): Accept vector operands. + * config/s390/s390-modes.def: Add supported vector modes. + * config/s390/s390-protos.h (s390_cannot_change_mode_class) + (s390_function_arg_vector, s390_contiguous_bitmask_vector_p) + (s390_bytemask_vector_p, s390_expand_vec_strlen) + (s390_expand_vec_compare, s390_expand_vcond) + (s390_expand_vec_init): Add prototypes. + * config/s390/s390.c (VEC_ARG_NUM_REG): New macro. + (s390_vector_mode_supported_p): New function. + (s390_contiguous_bitmask_p): Mask out the irrelevant bits. + (s390_contiguous_bitmask_vector_p): New function. + (s390_bytemask_vector_p): New function. + (s390_split_ok_p): Vector regs don't work either. + (regclass_map): Add VEC_REGS. + (s390_legitimate_constant_p): Handle vector constants. + (s390_cannot_force_const_mem): Handle CONST_VECTOR. + (legitimate_reload_vector_constant_p): New function. + (s390_preferred_reload_class): Handle CONST_VECTOR. + (s390_reload_symref_address): Likewise. + (s390_secondary_reload): Vector memory instructions only support + short displacements. Rename reload*_nonoffmem* to reload*_la*. + (s390_emit_ccraw_jump): New function. + (s390_expand_vec_strlen): New function. + (s390_expand_vec_compare): New function. + (s390_expand_vcond): New function. + (s390_expand_vec_init): New function. + (s390_dwarf_frame_reg_mode): New function. + (print_operand): Handle addresses with 'O' and 'R' constraints. + (NR_C_MODES, constant_modes): Add vector modes. + (s390_output_pool_entry): Handle vector constants. + (s390_hard_regno_mode_ok): Handle vector registers. + (s390_class_max_nregs): Likewise. + (s390_cannot_change_mode_class): New function. + (s390_invalid_arg_for_unprototyped_fn): New function. + (s390_function_arg_vector): New function. + (s390_function_arg_float): Remove size variable. + (s390_pass_by_reference): Handle vector arguments. + (s390_function_arg_advance): Likewise. + (s390_function_arg): Likewise. + (s390_return_in_memory): Vector values are returned in a VR if + possible. + (s390_function_and_libcall_value): Handle vector arguments. + (s390_gimplify_va_arg): Likewise. + (s390_call_saved_register_used): Consider the arguments named. + (s390_conditional_register_usage): Disable v16-v31 for non-vec + targets. + (s390_preferred_simd_mode): New function. + (s390_support_vector_misalignment): New function. + (s390_vector_alignment): New function. + (TARGET_STRICT_ARGUMENT_NAMING, TARGET_DWARF_FRAME_REG_MODE) + (TARGET_VECTOR_MODE_SUPPORTED_P) + (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN) + (TARGET_VECTORIZE_PREFERRED_SIMD_MODE) + (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT) + (TARGET_VECTOR_ALIGNMENT): Define target macro. + * config/s390/s390.h (FUNCTION_ARG_PADDING): Define macro. + (FIRST_PSEUDO_REGISTER): Increase value. + (VECTOR_NOFP_REGNO_P, VECTOR_REGNO_P, VECTOR_NOFP_REG_P) + (VECTOR_REG_P): Define macros. + (FIXED_REGISTERS, CALL_USED_REGISTERS) + (CALL_REALLY_USED_REGISTERS, REG_ALLOC_ORDER) + (HARD_REGNO_CALL_PART_CLOBBERED, REG_CLASS_NAMES) + (FUNCTION_ARG_REGNO_P, FUNCTION_VALUE_REGNO_P, REGISTER_NAMES): + Add vector registers. + (CANNOT_CHANGE_MODE_CLASS): Call C function. + (enum reg_class): Add VEC_REGS, ADDR_VEC_REGS, GENERAL_VEC_REGS. + (SECONDARY_MEMORY_NEEDED): Allow SF<->SI mode moves without + memory. + (DBX_REGISTER_NUMBER, FIRST_VEC_ARG_REGNO, LAST_VEC_ARG_REGNO) + (SHORT_DISP_IN_RANGE, VECTOR_STORE_FLAG_VALUE): Define macro. + * config/s390/s390.md (UNSPEC_VEC_*): New constants. + (VR*_REGNUM): New constants. + (ALL): New mode iterator. + (INTALL): Remove mode iterator. + Include vector.md. + (movti): Implement TImode moves for VRs. + Disable TImode splitter for VR targets. + Implement splitting TImode GPR<->VR moves. + (reload*_tomem_z10, reload*_toreg_z10): Replace INTALL with ALL. + (reload_nonoffmem_in, reload_nonoffmem_out): Rename to + reload_la_in, reload_la_out. + (*movdi_64, *movsi_zarch, *movhi, *movqi, *mov_64dfp) + (*mov_64, *mov_31): Add vector instructions. + (TD/TF mode splitter): Enable for GPRs only (formerly !FP). + (mov SF SD): Prefer lder, lde for loading. + Add lrl and strl instructions. + Add vector instructions. + (strlen): Rename old strlen to strlen_srst. + Call s390_expand_vec_strlen on z13. + (*cc_to_int): Change predicate to nonimmediate_operand. + (addti3): Rename to *addti3. New expander. + (subti3): Rename to *subti3. New expander. + * config/s390/vector.md: New file. + +2015-05-19 Andreas Krebbel + + * common/config/s390/s390-common.c (processor_flags_table): Add + z13. + * config.gcc: Add z13. + * config/s390/s390-opts.h (enum processor_type): Add + PROCESSOR_2964_Z13. + * config/s390/s390.c (s390_adjust_priority): Check for + PROCESSOR_2964_Z13. + (s390_reorg): Likewise. + (s390_sched_reorder): Likewise. + (s390_sched_variable_issue): Likewise. + (s390_loop_unroll_adjust): Likewise. + (s390_option_override): Likewise. Default to -mvx when available. + * config/s390/s390.h (enum processor_flags): Add PF_Z13 and PF_VX. + (TARGET_CPU_Z13, TARGET_CPU_VX, TARGET_Z13, TARGET_VX) + (TARGET_VX_ABI): Define macros. + macros. + (TARGET_DEFAULT): Add MASK_OPT_VX. + * config/s390/s390.md ("cpu" attribute): Add z13. + ("cpu_facility" attribute): Add vec. + * config/s390/s390.opt (processor_type): Add z13. + (mvx): New options. + * doc/invoke.texi: Add z13 option for -march. + +2015-05-19 Andreas Krebbel + + * config/s390/predicates.md (shift_count_or_setmem_operand): Add + mode check to make sure that only scalar integer values are + accepted. + +2015-05-19 Jan Hubicka + + * tree.c (verify_type_variant): Fix #undef. + (gimple_canonical_types_compatible_p): Move here from lto.c + (verify_type): Verify TYPE_CANONICAL compatibility. + * tree.h (gimple_canonical_types_compatible_p): Declare. + +2015-05-19 Jakub Jelinek + + PR middle-end/66199 + * tree.h (OMP_TEAMS_COMBINED): Define. + * gimplify.c (enum gimplify_omp_var_data): Add + GOVD_LINEAR_LASTPRIVATE_NO_OUTER. + (enum omp_region_type): Add ORT_COMBINED_TEAMS. + (omp_notice_variable): Accept both ORT_TEAMS + and ORT_COMBINED_TEAMS. Don't recurse if + GOVD_LINEAR_LASTPRIVATE_NO_OUTER is set and either + GOVD_LINEAR is set, or GOVD_LASTPRIVATE without + GOVD_FIRSTPRIVATE. + (omp_no_lastprivate): New function. + (gimplify_scan_omp_clauses): For OMP_CLAUSE_LASTPRIVATE + and OMP_CLAUSE_LINEAR, if omp_no_lastprivate, don't + notice_outer and set appropriate bits, otherwise make + sure default(none) combined constructs won't complain. + (gimplify_adjust_omp_clauses): Remove OMP_CLAUSE_LINEAR + outer special casing, for OMP_CLAUSE_LASTPRIVATE if + omp_no_lastprivate either remove the clause or turn it + into OMP_CLAUSE_PRIVATE. + (gimplify_omp_for): Fix up handling of implicit + lastprivate or linear iterators. + (gimplify_omp_workshare): For OMP_TEAMS_COMBINED use + ORT_COMBINED_TEAMS. + * omp-low.c (lower_omp_for_lastprivate): For combined + for simd use fd.loop.n2 from the for rather than simd. + +2015-05-19 Richard Sandiford + + * config/cris/cris.c (cris_expand_prologue): Use gen_raw_REG + instead of gen_rtx_raw_REG. + (cris_expand_epilogue): Likewise. + * config/microblaze/microblaze.c (microblaze_classify_address): + Likewise. + * config/sparc/sparc.md: Likewise. + +2015-05-19 Uros Bizjak + + * config/alpha/alpha.c (alpha_legitimize_reload_address) + (alpha_preferred_reload_class, alpha_legitimate_constant_p): Use + CONST_INT_P, CONST_SCALAR_INT_P and CONST_DOUBLE_P predicates. + (alpha_split_reload_pair) : + Use CASE_CONST_SCALAR_INT. + (print_operand) : Use mode_width_operand to check the + value of the constant. + * config/alpha/alpha.md (movti): Use CONST_SCALAR_INT_P predicate. + * config/alpha/predicates.md (input_operand): Use general_operand + instead of match_code as operand check. + (symbolic_operand): Use match_code with subexpression digits. + * config/alpha/constraints.md (Q): Ditto. + +2015-05-19 Andreas Krebbel + + * optabs.c (expand_vec_perm): Don't re-use SEL as target operand. + +2015-05-19 Andreas Krebbel + + * config/s390/s390.c (s390_secondary_reload): Fix check for + load/store relative. + +2015-05-19 Andreas Krebbel + + * recog.h: Increase MAX_RECOG_ALTERNATIVES. Change type of + alternative_mask to uint64_t. + +2015-05-19 Jakub Jelinek + + PR tree-optimization/66187 + * match.pd ((bit_and (plus/minus (convert @0) (convert @1)) mask)): + Pass TYPE_SIGN to tree_int_cst_min_precision. If + !TYPE_OVERFLOW_WRAPS, ensure @4 is non-negative. + +2015-05-19 David Malcolm + + * diagnostic.c (diagnostic_report_current_module): Strengthen + local "new_map" from const line_map * to + const line_map_ordinary *. + * genmatch.c (error_cb): Likewise for local "map". + (output_line_directive): Likewise for local "map". + * input.c (expand_location_1): Likewise for local "map". + Pass NULL rather than &map to + linemap_unwind_to_first_non_reserved_loc, since the value is never + read from there, and the value written back not read from here. + (is_location_from_builtin_token): Strengthen local "map" from + const line_map * to const line_map_ordinary *. + (dump_location_info): Strengthen locals "map" from + line_map *, one to const line_map_ordinary *, the other + to const line_map_macro *. + * tree-diagnostic.c (loc_map_pair): Strengthen field "map" from + const line_map * to const line_map_macro *. + (maybe_unwind_expanded_macro_loc): Add a call to + linemap_check_macro when writing to the "map" field of the + loc_map_pair. + Introduce local const line_map_ordinary * "ord_map", using it in + place of "map" in the part of the function where we know we have + an ordinary map. Strengthen local "m" from const line_map * to + const line_map_ordinary *. + +2015-05-19 Nick Clifton + + PR target/66156 + * config/msp430/msp430.md (zero_extendhisi2): Add support for + separate source and destination registers. + +2015-05-19 Richard Biener + + PR tree-optimization/66165 + * tree-vect-slp.c (vect_supported_load_permutation_p): Add guard + for no load permutation. + + PR tree-optimization/66185 + * tree-vect-slp.c (vect_build_slp_tree): Properly roll back + when building the SLP node from scalars. + +2015-05-19 Eric Botcazou + Tristan Gingold + + * insn-notes.def (UPDATE_SJLJ_CONTEXT): New note. + * builtins.c (expand_builtin_update_setjmp_buf): Make global. + (expand_stack_restore): Call record_new_stack_level. + (expand_stack_save): Do not call do_pending_stack_adjust. + * builtins.h (expand_builtin_update_setjmp_buf): Declare. + * calls.c (expand_call): Call record_new_stack_level for alloca. + * except.c (sjlj_mark_call_sites): Expand builtin_update_setjmp_buf + wherever a NOTE_INSN_UPDATE_SJLJ_CONTEXT note is present. + (update_sjlj_context): New global function. + * except.h (update_sjlj_context): Declare. + * explow.c (record_new_stack_level): New global function. + (allocate_dynamic_stack_space): Call record_new_stack_level. + * explow.h (record_new_stack_level): Declare. + * final.c (final_scan_insn): Deal with NOTE_INSN_UPDATE_SJLJ_CONTEXT. + * cfgrtl.c (duplicate_insn_chain): Likewise. + +2015-05-19 Kyrylo Tkachov + + * calls.c: Always define STACK_GROWS_DOWNWARD as 0 or 1. + (mem_overlaps_already_clobbered_arg_p): Rewrite ifdef + STACK_GROWS_DOWNWARD as normal if. + (expand_call): Likewise. + +2015-05-19 Oleg Endo + + PR target/54236 + * config/sh/sh.md (*round_int_even): New insn_and_split and + accompanying new unnamed split. + +2015-05-19 Richard Sandiford + + * bitmap.c (bitmap_set_range): Handle count==1 specially. + (bitmap_clear_range): Likewise. + * cfgcleanup.c (mark_effect): Use bitmap_clear_range and + bitmap_set_range unconditionally. + * df-problems.c (df_simulate_one_insn_forwards): Likewise. + * df-scan.c (df_mark_reg): Likewise. + * haifa-sched.c (setup_ref_regs): Likewise. + * sched-rgn.c (update_live_1): Likewise. + +2015-05-19 Richard Sandiford + + * regs.h (END_HARD_REGNO): Delete. + (END_REGNO): Move to... + * rtl.h: ...here. + * bt-load.c (note_btr_set): Use END_REGNO instead of END_HARD_REGNO. + * caller-save.c (mark_set_regs): Likewise. + * combine.c (move_deaths, distribute_notes): Likewise. + * cse.c (invalidate, invalidate_for_call): Likewise. + * df-scan.c (df_ref_record): Likewise. + * postreload-gcse.c (reg_changed_after_insn_p): Likewise. + (record_last_reg_set_info): Likewise. + * reg-stack.c (convert_regs_exit): Likewise. + * reload.c (reg_overlap_mentioned_for_reload_p): Likewise. + * resource.c (update_live_status): Likewise. + * rtlanal.c (find_reg_fusage, find_regno_fusage): Likewise. + +2015-05-19 Richard Sandiford + + * rtl.h (reg_info): Add an nregs field. + (REG_NREGS): Use it. + (SET_REGNO_RAW): Delete. + (set_regno_raw): New function. + * regs.h (END_HARD_REGNO): Make equivalent to END_REGNO. + (END_REGNO): Redefine in terms of REG_NREGS. + * read-rtl.c (read_rtx_code): Call set_regno_raw instead of + SET_REGNO_RAW. + * emit-rtl.c (set_mode_and_regno): Likewise. + * df-scan.c (df_ref_change_reg_with_loc): Use set_mode_and_regno + instead of SET_REGNO_RAW. + +2015-05-19 Richard Sandiford + + * rtl.h (PUT_MODE_RAW): New macro. + (PUT_REG_NOTE_KIND): Use it. + (set_mode_and_regno): Declare. + (gen_raw_REG): Change regno to "unsigned int". + (gen_rtx_REG): Change "unsigned" to "unsigned int". + (PUT_MODE): Forward to PUT_MODE_RAW for generators, otherwise + use set_mode_and_regno to change the mode of registers. + * gengenrtl.c (gendef): Use PUT_MODE_RAW. + * emit-rtl.c (set_mode_and_regno): New function. + (gen_raw_REG): Change regno to unsigned int. Use set_mode_and_regno. + * caller-save.c (reg_save_code): Use set_mode_and_regno. + * expr.c (init_expr_target): Likewise. + * ira.c (setup_prohibited_mode_move_regs): Likewise. + * postreload.c (reload_cse_simplify_operands): Likewise. + +2015-05-19 Richard Sandiford + + * caller-save.c (init_caller_save): Use word_mode and + FIRST_PSEUDO_REGISTER when creating temporary rtxes. + * expr.c (init_expr_target): Likewise. + * ira.c (setup_prohibited_mode_move_regs): Likewise. + * postreload.c (reload_cse_regs_1): Likewise. + +2015-05-19 Richard Sandiford + + * rtl.def (REG): Change format to "r". + * rtl.h (rtunion): Remove rt_reg. + (reg_info): New structure. + (rtx_def): Add reg field to main union. + (X0REGATTR): Delete. + (REG_CHECK): New macro. + (SET_REGNO_RAW, rhs_regno, REG_ATTRS): Use it. + * rtl.c (rtx_format): Document "r". + (rtx_code_size): Handle REG specially. + * gengenrtl.c (special_format): Return true for formats + that include 'r'. + * gengtype.c (adjust_field_rtx_def): Handle 'r' fields. + Deal with REG_ATTRS after the field loop. + * emit-rtl.c (gen_raw_REG): Call rtx_alloc_stat directly. + * expmed.c (init_expmed): Call gen_raw_REG instead of + gen_rtx_raw_REG. + * expr.c (init_expr_target): Likewise. + * regcprop.c (maybe_mode_change): Likewise. + * varasm.c (make_decl_rtl): Likewise. + * final.c (leaf_renumber_regs_insn): Return early after + handling REGs. + * genemit.c (gen_exp): Handle 'r' fields. + * genpeep.c (match_rtx): Likewise. + * gensupport.c (subst_pattern_match): Likewise. + (get_alternatives_number, collect_insn_data, alter_predicate_for_insn) + (alter_constraints, subst_dup): Likewise. + * read-rtl.c (read_rtx_code): Likewise. + * print-rtl.c (print_rtx): Likewise. + * genrecog.c (find_operand, find_matching_operand): Likewise. + (validate_pattern, match_pattern_2): Likewise. + (parameter::UINT, rtx_test::REGNO_FIELD): New enum values. + (rtx_test::regno_field): New function. + (operator ==, safe_to_hoist_p, transition_parameter_type) + (parameter_type_string, print_parameter_value) + (print_nonbool_test, print_test): Handle new enum values. + * cselib.c (rtx_equal_for_cselib_1): Handle REG specially. + * lra-constraints.c (operands_match_p): Likewise. + +2015-05-19 Richard Sandiford + + * df.h (df_ref_change_reg_with_loc): Remove old_regno parameter. + Change type of new_regno to unsigned int. + * df-scan.c (df_ref_change_reg_with_loc_1): Change type of + new_regno to unsigned int. + (df_ref_change_reg_with_loc): Remove old_regno parameter. + Change type of new_regno to unsigned int. Use SET_REGNO_RAW. + * rtl.h (SET_REGNO): Update call to df_ref_change_reg_with_loc. + (SET_REGNO_RAW): Add space after ",". + +2015-05-19 Richard Sandiford + + * rtl.h (REG_NREGS): New macro + * alias.c (record_set): Use it. + * cfgcleanup.c (mark_effect): Likewise. + * combine.c (likely_spilled_retval_1): Likewise. + (likely_spilled_retval_p, can_change_dest_mode): Likewise. + (move_deaths, distribute_notes): Likewise. + * cselib.c (cselib_record_set): Likewise. + * df-problems.c (df_simulate_one_insn_forwards): Likewise. + * df-scan.c (df_mark_reg): Likewise. + * dse.c (look_for_hardregs): Likewise. + * dwarf2out.c (reg_loc_descriptor): Likewise. + (multiple_reg_loc_descriptor): Likewise. + * expr.c (write_complex_part, read_complex_part): Likewise. + (emit_move_complex): Likewise. + * haifa-sched.c (setup_ref_regs): Likewise. + * ira-lives.c (mark_hard_reg_live): Likewise. + * lra.c (lra_set_insn_recog_data): Likewise. + * mode-switching.c (create_pre_exit): Likewise. + * postreload.c (reload_combine_recognize_const_pattern): Likewise. + (reload_combine_recognize_pattern): Likewise. + (reload_combine_note_use, move2add_record_mode): Likewise. + (reload_cse_move2add): Likewise. + * reg-stack.c (subst_stack_regs_pat): Likewise. + * regcprop.c (kill_value, copy_value): Likewise. + (copyprop_hardreg_forward_1): Likewise. + * regrename.c (verify_reg_in_set, scan_rtx_reg): Likewise. + (build_def_use): Likewise. + * sched-deps.c (mark_insn_reg_birth, mark_reg_death): Likewise. + (deps_analyze_insn): Likewise. + * sched-rgn.c (check_live_1, update_live_1): Likewise. + * sel-sched.c (count_occurrences_equiv): Likewise. + * valtrack.c (dead_debug_insert_temp): Likewise. + +2015-05-19 Richard Sandiford + + * cfgcleanup.c (mentions_nonequal_regs): Use END_REGNO. + * dse.c (note_add_store): Likewise. + * ira-lives.c (mark_hard_reg_dead): Likewise. + * loop-invariant.c (mark_reg_store): Likewise. + (mark_reg_death): Likewise. + * postreload.c (reload_combine): Likewise. + (reload_combine_note_store): Likewise. + (reload_combine_note_use): Likewise. + * recog.c (peep2_reg_dead_p): Likewise. + +2015-05-19 Alan Modra + + * config/rs6000/predicates.md (gpc_reg_operand): Don't allow all + hard registers numbered greater or equal to ARG_POINTER_REGNUM. + (reg_or_neg_short_operand, fix_trunc_dest_operand): Delete + unused predicates. + * config/rs6000/altivec.md (save_vregs_*, restore_vregs_*): + Use altivec_register_operand. Make insn predicate TARGET_ALTIVEC. + * config/rs6000/rs6000.md (extzvdi_internal2): Use cc_reg_operand. + * config/rs6000/vsx.md (vsx_float2): Expand comment. + +2015-05-19 Sameera Deshpande + + * config/mips/mips.md (JOIN_MODE): New mode iterator. + (join2_load_Store): New pattern. + (join2_loadhi): Likewise. + (define_peehole2): Add peephole2 patterns to join 2 HI/SI/SF/DF-mode + load-load and store-stores. + * config/mips/mips.opt (mload-store-pairs): New option. + (TARGET_LOAD_STORE_PAIRS): New macro. + * config/mips/mips.h (ENABLE_LD_ST_PAIRS): Likewise. + * config/mips/mips-protos.h (mips_load_store_bonding_p): New prototype. + * config/mips/mips.c (mips_load_store_bonding_p): New function. + +2015-05-19 Mikhail Maltsev + + * bb-reorder.c (fix_up_fall_thru_edges): Use std::swap instead of + explicit swaps. + * dojump.c (do_compare_rtx_and_jump): Likewise. + * expmed.c (emit_store_flag_1): Likewise. + * fibonacci_heap.h (fibonacci_heap::union_with): Likewise. + * final.c (sprint_ul): Use std::reverse for reversing a string. + * fold-const.c (extract_muldiv_1): Use std::swap. + * genmodes.c (emit_mode_int_n): Likewise. + * ifcvt.c (dead_or_predicable): Likewise. + * ira-build.c (ira_merge_live_ranges): Likewise. + (swap_allocno_copy_ends_if_necessary): Likewise. + * ira.c (ira_setup_alts): Likewise. + * loop-iv.c (iv_analyze_expr): Likewise. + (implies_p): Likewise. + (canon_condition): Likewise. + * lra-constraints.c (swap_operands): Likewise. + * lra-lives.c (lra_merge_live_ranges): Likewise. + * omega.c (swap): Remove. + (bswap): Remove. + (omega_unprotect_1): Use std::swap. + (omega_solve_geq): Likewise. + * optabs.c (expand_binop_directly): Likewise. + (expand_binop): Likewise. + (emit_conditional_move): Likewise. + (emit_conditional_add): Likewise. + * postreload.c (reload_cse_simplify_operands): Likewise. + * reg-stack.c (emit_swap_insn): Likewise. + (swap_to_top): Likewise. + (compare_for_stack_reg): Likewise. + (subst_asm_stack_regs): Likewise. + * reload.c (find_reloads): Likewise. + * reload1.c (gen_reload_chain_without_interm_reg_p): Likewise. + * sel-sched.c (invoke_reorder_hooks): Likewise. + (create_block_for_bookkeeping): Likewise. + * tree-data-ref.c (lambda_matrix_row_exchange): Remove. + (lambda_matrix_right_hermite): Use std::swap. + * tree-ssa-coalesce.c (sort_coalesce_list): Likewise. + * tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise. + * tree-ssa-loop-ivopts.c (iv_ca_delta_reverse): Likewise. + * tree-ssa-math-opts.c (is_widening_mult_p): Likewise. + * tree-ssa-phiopt.c (hoist_adjacent_loads): Likewise. + * tree-ssa-reassoc.c (linearize_expr_tree): Likewise. + * tree-ssa-threadedge.c (simplify_control_stmt_condition): Likewise. + * tree-vrp.c (compare_ranges): Likewise. + * var-tracking.c (add_with_sets): Likewise. + (vt_find_locations): Likewise. + +2015-05-18 Andreas Tobler + + * config/freebsd-spec.h (FBSD_STARTFILE_SPEC): Add the bits to build + pie executables. + (FBSD_ENDFILE_SPEC): Likewise. + * config/i386/freebsd.h (STARTFILE_SPEC): Remove and use the one from + config/freebsd-spec.h. + (ENDFILE_SPEC): Likewise. + +2015-05-18 Uros Bizjak + Richard Henderson + + PR target/57032 + * config/alpha/constraints.md (Q): Rewrite as define_memory_constraint. + Check for a memory location that is not a reference (using an AND) + to an unaligned location here. + * config/alpha/predicates.md (normal_memory_operand): Remove. + +2015-05-18 Alex Velenko + + * config/arm/arm.md (andsi_not_shiftsi_si_scc): New pattern. + (andsi_not_shiftsi_si_scc_no_reuse): New pattern. + +2015-05-18 Robert Suchanek + + * config/mips/mips.c (micromips_globals): New variable. + (mips_set_compression_mode): Save and reinitialize target-dependent + state for microMIPS. + +2015-05-18 Martin Liska + + * dbgcnt.def: Add new counter. + * ipa-icf.c (sem_item_optimizer::merge_classes): Use the counter. + +2015-05-18 Martin Liska + + * dbgcnt.def: Sort counters. + * opts.c (common_handle_option): Do not compile if + -fdbg-cnt-list is enabled. + +2015-05-18 Tom de Vries + + * gimplify.c (gimplify_modify_expr): Remove do_deref handling. + (gimplify_va_arg_expr): Remove do_deref handling. Remove adding of + address operator to va_list operand. + * tree-stdarg.c (expand_ifn_va_arg_1): Do deref of va_list operand + unconditionally. + * config/i386/i386.c (ix86_gimplify_va_arg): Remove deref on va_list + operand. + * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Same. + * config/s390/s390.c (s390_gimplify_va_arg): Same. + * config/spu/spu.c (spu_gimplify_va_arg_expr): Same. + +2015-05-18 Tom de Vries + + * tree-ssa-tail-merge.c: Fix whitespace. + +2015-05-17 Jim Wilson + + * doc/invoke.texi (ARM Options, mtune): Add generic-armv7-a, + cortex-a17, and cortex-a17.cortex-a7. + +2015-05-17 Oleg Endo + + PR target/54236 + * config/sh/sh.md (*addc_2r_t): Use ashift instead of mult. + +2015-05-17 Uros Bizjak + + PR target/66174 + * config/i386/i386.c (expand_vec_perm_blend): Enable HImode and + QImode inner modes for TARGET_AVX512BW. Force mask operand + to a register for AVX512F modes. + +2015-05-16 Jan Hubicka + + * toplev.c (emit_debug_global_declarations): Do not output debug info + when doing slim LTO objects. + +2015-05-16 Jan Hubicka + + * ipa-utils.h (warn_types_mismatch, odr_or_derived_type_p, + odr_types_equivalent_p): Declare. + (odr_type_p): Use gcc_checking_assert. + (type_in_anonymous_namespace_p) Declare. + (type_with_linkage_p): Declare. + * common.opt (Wlto-type-mismatch): New warning. + * ipa-devirt.c (compound_type_base): New function. + (odr_or_derived_type_p): New function. + (odr_types_equivalent_p): New function. + (add_type_duplicate): Simplify. + (type_with_linkage_p): Add hack to prevent false positives on C types + (type_in_anonymous_namespace_p): Likewise. + * tree.c (need_assembler_name_p): Use type_with_linkage. + * tree.h (type_in_anonymous_namespace_p): Remove. + * doc/invoke.texi (-Wlto-type-mismatch): Document + +2015-05-16 Jan Hubicka + + * tree.c (verify_type_variant): Verify tree_base and type_common flags. + (verify_type): Verify STRING_FLAG. + +2015-05-16 Manuel López-Ibáñez + + PR fortran/44054 + * tree-pretty-print.c (percent_K_format): Replace locus pointer + with accessor function. + * tree-diagnostic.c (diagnostic_report_current_function): Use + diagnostic_location function. + (maybe_unwind_expanded_macro_loc): Likewise. + (virt_loc_aware_diagnostic_finalizer): Likewise. + (default_tree_printer): Replace locus pointer with accessor function. + * diagnostic.c (diagnostic_initialize): Initialize caret_chars array. + (diagnostic_set_info_translated): Initialize second location. + (diagnostic_build_prefix): Use CARET_LINE_MARGIN. + (diagnostic_show_locus): Handle two locations. Call + diagnostic_print_caret_line. + (diagnostic_print_caret_line): New. + (default_diagnostic_starter): Use diagnostic_location function. + (diagnostic_report_diagnostic): Use diagnostic_location function. + (verbatim): Do not set text.locus. + * diagnostic.h (struct diagnostic_info): Remove location field. + (struct diagnostic_context): Make caret_chars an array of two. + (diagnostic_location): New inline. + (diagnostic_expand_location): Handle two locations. + (diagnostic_same_line): New inline. + (diagnostic_print_caret_line): Declare. + (CARET_LINE_MARGIN): New constant. + * pretty-print.c (pp_printf): Do not set text.locus. + (pp_verbatim): Do not set text.locus. + * pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): New constant. + (struct text_info): Replace locus pointer with locations + array. Add accessor functions. + +2015-05-16 Kugan Vivekanandarajah + Zhenqiang Chen + + PR target/65768 + * config/arm/arm.h (DONT_EARLY_SPLIT_CONSTANT): New macro. + * config/arm/arm.md (subsi3, andsi3, iorsi3, xorsi3, movsi): Keep some + large constants in register instead of splitting them. + +2015-05-16 Uros Bizjak + + PR target/66140 + * config/alpha/alpha.c (get_aligned_mem): Also look for reload + replacements in memory addresses. + (get_unaligned_address): Ditto. + +2015-05-16 James Bowman + + * config/ft32/*: New files for FT32 port. + * doc/install.texi: Add FT32 information. + * doc/invoke.texi: Add FT32 information. + * doc/md.texi: Add FT32 information. + * doc/contrib.texi: Self added. + +2015-05-15 Marc Glisse + + PR tree-optimization/64454 + * match.pd ((X % Y) % Y, (X % Y) < Y): New patterns. + (-1 - A -> ~A): Remove unnecessary condition. + +2015-05-15 Gregor Richards + + * config/i386/linux.h (MUSL_DYNAMIC_LINKER): Define. + * config/i386/linux64.h (MUSL_DYNAMIC_LINKER32): Define. + (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32): Define. + +2015-05-15 Ilya Enkovich + + * ipa-chkp.h (chkp_wrap_function): New. + * ipa-chkp.c (chkp_wrap_function): Remove 'static'. + (chkp_wrap_function_name): New. + (chkp_build_instrumented_fndecl): Use chkp_wrap_function_name + to get wrapper name. + * lto-cgraph.c: Include ipa-chkp.h. + (input_cgraph_1): Avoid alias chain for wrappers. + +2015-05-15 Ilya Enkovich + + PR middle-end/66134 + * tree-chkp.c (chkp_get_orginal_bounds_for_abnormal_copy): New. + (chkp_maybe_copy_and_register_bounds): Don't copy abnormal copy. + +2015-05-15 Kyrylo Tkachov + + * config/aarch64/aarch64.h (AARCH64_TUNE_SLOWMUL): Delete. + (AARCH64_FL_SLOWMUL): Delete. + (AARCH64_FL_CRC): Redefine to 1<<3. + (AARCH64_FL_USE_FMA_STEERING_PASS): Redefine to 1<<4. + +2015-05-15 Ramana Radhakrishnan + + * config/arm/arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Add appropriate + casting. + +2015-05-15 Uros Bizjak + + * config/alpha/alpha.md (extendqidi2): Use general_operand + instead of some_operand for operand[1] predicate. + (extendhidi2): Ditto. + (cbranchdi4): Use general_operand instead of some_operand + for operand[1] and operands[2] predicates. + (cstoredi4): Ditto. + * config/alpha/predicates.md (some_operand): Remove unused predicate. + (some_ni_operand): Ditto. + +2015-05-15 Uros Bizjak + + * config/alpha/alpha.c (alpha_extract_integer): Do not handle + CONST_WIDE_INT and CONST_DOUBLE. Assert CONST_INT_P (x). + (alpha_legitimate_constant_p) : Check high and + low part of the constant using alpha_emit_set_const_1. + (alpha_expand_mov): Do not handle CONST_WIDE_INT and CONST_DOUBLE. + +2015-05-14 Rohit Arul Raj + + * varasm.c (output_constant_pool_1): Pass down alignment from + constant pool entry's descriptor to output_constant_pool_2. + (output_object_block): Add comment prior to call to + output_constant_pool_1. + +2015-05-14 Vladimir Makarov + + PR rtl-optimization/65862 + * target.def (ira_change_pseudo_allocno_class): New hook. + * targhooks.c (default_ira_change_pseudo_allocno_class): Default + value of the hook. + * targhooks.h (default_ira_change_pseudo_allocno_class): New extern. + * doc/tm.texi.in (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Add the + hook. + * ira-costs.c (find_costs_and_classes): Call the hook and change + classes when it is necessary. + * doc/tm.texi: Update. + +2015-05-14 Alexander Monakov + + * config/i386/i386.md (sibcall_memory): Check that register with + callee address is not also used as one of the arguments, instead + of checking that it is not live after the sibcall. + (sibcall_pop_memory): Ditto. + (sibcall_value_memory): Ditto. + (sibcall_value_pop_memory): Ditto. + +2015-05-14 Marc Glisse + + * generic-match-head.c (types_match): Handle non-types. + * gimple-match-head.c (types_match): Likewise. + * match.pd: Remove unnecessary TREE_TYPE for types_match. + +2015-05-14 Wilco Dijkstra + + * config/aarch64/aarch64.md (absdi2): Optimize abs expansion. + (csneg3_insn): Enable expansion of pattern. + +2015-05-14 Nick Clifton + + * config/rl78/rl78.c (rl78_select_section): Select the correct + default section based upon the category of the decl. + +2015-05-13 Segher Boessenkool + + PR rtl-optimization/30967 + * config/rs6000/rs6000.c (rs6000_rtx_costs): Don't consider + destination mode for the cost of scc patterns. + +2015-05-13 Uros Bizjak + + * config/i386/i386.md (*mul3_1): Merge with *mulhi3_1 + using SWIM248 mode iterator. + (*mulv4): Use x86_64_sext_operand for operand[2] constraint. + (*mulvhi4): mark operand[1] as commutative. Use nonimmediate_operand + for operand[2] constraint. + (*mulv4_1): Merge with *mulvhi4_1 using SWI248 mode iterator. + +2015-05-13 Jakub Jelinek + + PR middle-end/66133 + * omp-low.c (expand_omp_taskreg): For GIMPLE_OMP_TASK expansion, + make sure it is never noreturn, even when the task body does not + return. + (lower_omp_taskreg): For GIMPLE_OMP_TASK, emit GIMPLE_OMP_CONTINUE + right before GIMPLE_OMP_RETURN. + (make_gimple_omp_edges): Accept GIMPLE_OMP_CONTINUE as ->cont + for GIMPLE_OMP_TASK. For GIMPLE_OMP_RETURN corresponding to + GIMPLE_OMP_TASK add an EDGE_ABNORMAL edge from entry to exit. + +2015-05-13 Kyrylo Tkachov + + * params.def (PARAM_MAX_POW_SQRT_DEPTH): New param. + * tree-ssa-math-opts.c: Include params.h + (pow_synth_sqrt_info): New struct. + (representable_as_half_series_p): New function. + (get_fn_chain): Likewise. + (print_nested_fn): Likewise. + (dump_fractional_sqrt_sequence): Likewise. + (dump_integer_part): Likewise. + (expand_pow_as_sqrts): Likewise. + (gimple_expand_builtin_pow): Use above to attempt to expand + pow as series of square roots. Removed now unused variables. + +2015-05-13 Uros Bizjak + + * config/alpha/alpha.c (alpha_emit_set_long_const): Remove c1 argument. + (alpha_extract_integer): Redeclare as static HOST_WIDE_INT. + Remove *p0 and *p1 arguments. Rewrite function. + (alpha_legitimate_constant_p): Update call to alpha_extract_integer. + (alpha_split_const_mov): Update calls to alpha_extract_integer and + alpha_emit_set_long_const. + (alpha_expand_epilogue): Update calls to alpha_emit_set_long_const. + (alpha_output_mi_thunk_osf): Ditto. + * config/alpha/alpha.md (movti): Do not check operands[1] + for CONST_DOUBLE. + +2015-05-13 Richard Biener + + PR tree-optimization/66129 + * tree-vect-slp.c (vect_build_slp_tree): Make sure all ops are + commutative. + (vect_schedule_slp_instance): Fix typo. + +2015-05-13 David Malcolm + + * common.opt (fdump-internal-locations): New option. + * input.c: Include diagnostic-core.h. + (get_end_location): New function. + (write_digit): New function. + (write_digit_row): New function. + (dump_location_range): New function. + (dump_labelled_location_range): New function. + (dump_location_info): New function. + * input.h (dump_location_info): New prototype. + * toplev.c (compile_file): Handle flag_dump_locations. + +2015-05-13 Eric Botcazou + + * gimple-expr.h (is_gimple_constant): Reorder. + * tree-ssa-propagate.c (before_dom_children): Use inline accessor. + +2015-05-13 Segher Boessenkool + + * combine.c (simplify_set): When generating a CC set, if the + source already is in the correct mode, do not wrap it in a + compare. Simplify the rest of that code. + +2015-05-13 Richard Biener + + PR tree-optimization/66123 + * tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found + a taken edge. + +2015-05-13 Richard Biener + + PR middle-end/66110 + * alias.c (alias_sets_conflict_p): Do not treat has_zero_child + specially. + * Makefile.in (dfp.o-warn): Add -Wno-strict-aliasing. + +2015-05-13 Michael Haubenwallner + + * doc/install.texi: Bump latest automake 1.11 version to 1.11.6. + * aclocal.m4: Regenerated with automake-1.11.6. + +2015-05-13 Tom de Vries + + PR tree-optimization/66010 + * gimplify.h (gimplify_va_arg_internal): Remove declaration. + * gimplify.c (gimplify_va_arg_internal): Remove and inline into ... + * tree-stdarg.c (expand_ifn_va_arg_1): ... here. Choose between lval + and rval based on do_deref. + +2015-05-13 Ilya Enkovich + + PR target/65103 + * config/i386/i386.c (ix86_rtx_costs): We want to propagate + link time constants into adress expressions and therefore set + their cost to 0. + +2015-05-13 Jakub Jelinek + + PR target/66112 + * config/i386/i386.md (mulv4, umulv4, *umulv4): + Use SWI248 iterator instead of SWI. + (*mulv4_1): Use SWI48 instead of SWI. Simplify output template. + Use eq_attr "alternative" "0" instead of match_test in + length_immediate attribute computation. + (*mulvhi4, *mulvhi4_1): New define_insns. + + PR target/66112 + * internal-fn.c (get_min_precision): Use UNSIGNED instead of + SIGNED to get precision of non-negative value. + +2015-05-13 Ilya Enkovich + + PR target/66048 + * function.c (diddle_return_value_1): Process bounds first. + * config/i38/i386.c (ix86_function_value_regno_p): Add bnd1 + register. + +2015-05-13 Thomas Preud'homme + + PR rtl-optimization/64616 + * loop-invariant.c (can_move_invariant_reg): New. + (move_invariant_reg): Call above new function to decide whether + instruction can just be moved, skipping creation of temporary + register. + +2015-05-12 Jan Hubicka + + PR target/pr66047.c + * i386.c (ix86_function_sseregparm): Only return -1 if local function + with implied regparm is called from -mno-sse function. + (init_cumulative_args): Output error if ix86_function_sseregparm + return -1 and SSE register would be needed. + (function_arg_advance_32): Likewise. + (function_arg_32): Likewise. + * i386.h (ix86_args): Add decl field. + +2015-05-12 Jan Hubicka + + PR ipa/65873 + * ipa-inline.c (can_inline_edge_p): Allow early inlining of always + inlines across optimization boundary. + +2015-05-12 Jason Merrill + + * config/mmix/mmix.c, config/msp430/msp430.c: Add space between + string literal and macro name. + +2015-05-12 Steve Ellcey + + * config/mips/mips.c (mips_print_operand): Remove 'y' operand code. + * config/mips/mips.md (lsa): Rewrite with shift operator. + * config/mips/predicates.md (const_immlsa_operand): Remove log call. + +2015-05-12 David Malcolm + + * doc/invoke.texi (Warning Options): Add -Wmisleading-indentation. + (-Wmisleading-indentation): New option. + * Makefile.in (C_COMMON_OBJS): Add c-family/c-indentation.o. + +2015-05-12 Uros Bizjak + + * config/alpha/alpha.h (TARGET_SUPPORTS_WIDE_INT): New define. + * config/alpha/alpha.c (alpha_rtx_costs): Handle CONST_WIDE_INT. + (alpha_extract_integer): Ditto. + (alpha_legitimate_constant_p): Ditto. + (alpha_split_tmode_pair): Ditto. + (alpha_preferred_reload_class): Add CONST_WIDE_INT. + (alpha_expand_mov): Ditto. + (print_operand): Remove handling of 'H' modifier. + : Remove CONST_DOUBLE handling. + (summarize_insn): Handle CONST_WIDE_INT. + * config/alpha/alpha.md (*andsi_internal): Remove H constraint. + (anddi3): Ditto. + (movti): Handle CONST_WIDE_INT. + * config/alpha/constraints.md ('H'): Remove constraint definition. + ('G'): Do not match MODE_FLOAT class. + * config/alpha/predicates.md (const0_operand): Also match + const_wide_int. + (non_add_const_operand): Ditto. + (non_zero_const_operand): Ditto. + (some_operand): Ditto. + (input_operand): Ditto. Handle CONST_WIDE_INT. + (and_operand): Do not match const_double. + * config/alpha/sync.md (fetchop_constr): Remove H constraint. + +2015-05-12 Andrew MacLeod + + PR target/65697 + * coretypes.h (MEMMODEL_SYNC, MEMMODEL_BASE_MASK): New macros. + (enum memmodel): Add SYNC_{ACQUIRE,RELEASE,SEQ_CST}. + * tree.h (memmodel_from_int, memmodel_base, is_mm_relaxed, + is_mm_consume,is_mm_acquire, is_mm_release, is_mm_acq_rel, + is_mm_seq_cst, is_mm_sync): New accessor functions. + * builtins.c (expand_builtin_sync_operation, + expand_builtin_compare_and_swap): Use MEMMODEL_SYNC_SEQ_CST. + (expand_builtin_sync_lock_release): Use MEMMODEL_SYNC_RELEASE. + (get_memmodel, expand_builtin_atomic_compare_exchange, + expand_builtin_atomic_load, expand_builtin_atomic_store, + expand_builtin_atomic_clear): Use new accessor routines. + (expand_builtin_sync_synchronize): Use MEMMODEL_SYNC_SEQ_CST. + * optabs.c (expand_compare_and_swap_loop): Use MEMMODEL_SYNC_SEQ_CST. + (maybe_emit_sync_lock_test_and_set): Use new accessors and + MEMMODEL_SYNC_ACQUIRE. + (expand_sync_lock_test_and_set): Use MEMMODEL_SYNC_ACQUIRE. + (expand_mem_thread_fence, expand_mem_signal_fence, expand_atomic_load, + expand_atomic_store): Use new accessors. + * emit-rtl.c (need_atomic_barrier_p): Add additional enum cases. + * tsan.c (instrument_builtin_call): Update check for memory model beyond + final enum to use MEMMODEL_LAST. + * c-family/c-common.c: Use new accessor for memmodel_base. + * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap): Use new + accessors. + * config/aarch64/atomics.md (atomic_load,atomic_store, + arch64_load_exclusive, aarch64_store_exclusive, + mem_thread_fence, *dmb): Likewise. + * config/alpha/alpha.c (alpha_split_compare_and_swap, + alpha_split_compare_and_swap_12): Likewise. + * config/arm/arm.c (arm_expand_compare_and_swap, + arm_split_compare_and_swap, arm_split_atomic_op): Likewise. + * config/arm/sync.md (atomic_load, atomic_store, + atomic_loaddi): Likewise. + * config/i386/i386.c (ix86_destroy_cost_data, ix86_memmodel_check): + Likewise. + * config/i386/sync.md (mem_thread_fence, atomic_store): Likewise. + * config/ia64/ia64.c (ia64_expand_atomic_op): Add new memmodel cases and + use new accessors. + * config/ia64/sync.md (mem_thread_fence, atomic_load, + atomic_store, atomic_compare_and_swap, + atomic_exchange): Use new accessors. + * config/mips/mips.c (mips_process_sync_loop): Likewise. + * config/pa/pa.md (atomic_loaddi, atomic_storedi): Likewise. + * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier, + rs6000_post_atomic_barrier): Add new cases. + (rs6000_expand_atomic_compare_and_swap): Use new accessors. + * config/rs6000/sync.md (mem_thread_fence): Add new cases. + (atomic_load): Add new cases and use new accessors. + (store_quadpti): Add new cases. + * config/s390/s390.md (mem_thread_fence, atomic_store): Use new + accessors. + * config/sparc/sparc.c (sparc_emit_membar_for_model): Use new accessors. + * doc/extend.texi: Update docs to indicate 16 bits are used for memory + model, not 8. + +2015-05-12 Jan Hubicka + + * ipa-devirt.c (type_with_linkage_p): New function. + (type_in_anonymous_namespace_p): Move here from tree.c; assert that + type has linkage. + (odr_type_p): Move here from ipa-utils.h; use type_with_linkage_p. + (can_be_name_hashed_p): Simplify. + (hash_odr_name): Check that type has linkage before checking if it is + anonymous. + (types_same_for_odr): Likewise. + (odr_name_hasher::equal): Likewise. + (odr_subtypes_equivalent_p): Likewise. + (warn_types_mismatch): Likewise. + (get_odr_type): Likewise. + (odr_types_equivalent_p): Fix checking of TYPE_MAIN_VARIANT. + * ipa-utils.h (odr_type_p): Move offline. + * tree.c (need_assembler_name_p): Fix handling of types + without linkages. + (type_in_anonymous_namespace_p): Move to ipa-devirt.c + +2015-05-12 David Malcolm + + * timevar.c (timevar_enable): Delete in favor of... + (g_timer): New global. + (struct timevar_def): Move to timevar.h inside class timer. + (struct timevar_stack_def): Likewise. + (timevars): Delete global in favor of field "m_timevars" within + class timer in timevar.h + (stack): Likewise, in favor of field "m_stack". + (unused_stack_instances): Likewise, in favor of field + "m_unused_stack_instances". + (start_time): Likewise, in favor of field "m_start_time". + (get_time): Eliminate check for timevar_enable. + (timer::timer): New function, built from part of timevar_init. + (timevar_init): Rewrite idempotency test from using + "timevar_enable" bool to using dynamic allocation of "g_timer". + Move rest of implementation into timer's constructor. + (timevar_push_1): Rename to... + (timer::push): ...this, adding "m_" prefixes to variables that + are now fields of timer. + (timevar_pop_1): Likewise, rename to... + (timer::pop): ...this, and add "m_" prefixes. + (timevar_start): Replace test for "timevar_enable" with one for + "g_timer", and move bulk of implementation to... + (timer::start): ...here, adding "m_" prefixes. + (timevar_stop): Likewise, from here... + (timer::stop): ...to here. + (timevar_cond_start): Likewise, from here... + (timer::cond_start): ...to here. + (timevar_cond_stop): Likewise, from here... + (timer::cond_stop): ...to here. + (validate_phases): Rename to... + (timer::validate_phases): ...this, and add "m_" prefixes. Make + locals "total" and "tv" const. + (timevar_print): Rename to... + (timer::print): ...this, and add "m_" prefixes. Make locals + "total" and "tv" const. Eliminate test for timevar_enable. + * timevar.h (timevar_enable): Eliminate. + (g_timer): New declaration. + (timevar_push_1): Eliminate. + (timevar_pop_1): Eliminate. + (timevar_print): Eliminate. + (class timer): New class. + (timevar_push): Rewrite to use g_timer. + (timevar_pop): Likewise. + * toplev.c (toplev::~toplev): Likewise. + +2015-05-12 Richard Earnshaw + + * arm-protos.h (arm_sched_autopref): Delete. + (tune_params): Re-organize, use enums for flag values. + (FUSE_OPS): New macro. + * arm.c (ARM_PREFETCH_NOT_BENEFICIAL): Update. + (ARM_PREFETCH_BENEFICIAL): Likewise. + (ARM_FUSE_NOTHING, ARM_FUSE_MOVW_MOVT): Delete. + (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune) + (arm_xscale_tune, arm_9e_tune, arm_marvell_pj4_tune) + (arm_v6t2_tune, arm_cortex_tune, arm_cortex_a8_tune) + (arm_cortex_a7_tune, arm_cortex_a15_tune, arm_cortex_a53_tune) + (arm_cortex_a57_tune, arm_xgene1_tune, arm_cortex_a5_tune) + (arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune) + (arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune): Use new + format. + (arm_option_override, thumb2_reorg, arm_print_tune_info) + (aarch_macro_fusion_pair_p): Update uses of current_tune. + * arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Likewise. + +2015-05-12 Sandra Loosemore + + * config/nios2/nios2.md (trap, ctrapsi4): Use "trap" instead of + "break". + +2015-05-12 Chung-Lin Tang + Sandra Loosemore + + * config/nios2/nios2.h (enum reg_class): Add IJMP_REGS enum + value. + (REG_CLASS_NAMES): Add "IJMP_REGS". + (REG_CLASS_CONTENTS): Add new entry for IJMP_REGS. + * config/nios2/nios2.md (indirect_jump,*tablejump): Adjust to + use new "c" register constraint. + * config/nios2/constraint.md (c): New register constraint + corresponding to IJMP_REGS. + +2015-05-12 Segher Boessenkool + + * config/rs6000/rs6000.md (*rotlsi3_internal4, *rotlsi3_internal5, + *rotlsi3_internal6, rlwinm, 5 unnamed define_insns, and 6 + define_splits): Delete, revamp, transmogrify into ... + (*rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2, + *ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2, + *lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2): + New. + +2015-05-12 Segher Boessenkool + + * config/rs6000/rs6000.md (rs6000_adjust_atomic_subword): Use + gen_ashlsi3 and gen_andsi3 instead of gen_rlwinm. + +2015-05-12 Segher Boessenkool + + * config/rs6000/rs6000.md (extzv): FAIL for SImode. + (extzvsi_internal, *extzvsi_internal1, *extzvsi_internal2, + *rotlsi3_internal7le, *rotlsi3_internal7be, *rotlsi3_internal8le, + *rotlsi3_internal8be, *rotlsi3_internal9le, *rotlsi3_internal9be, + *rotlsi3_internal10le, *rotlsi3_internal10be, *rotlsi3_internal11le, + *rotlsi3_internal11be, *rotlsi3_internal12le, *rotlsi3_internal12be, + *lshiftrt_internal1le, *lshiftrt_internal1be, *lshiftrt_internal2le, + *lshiftrt_internal2be, *lshiftrt_internal3le, *lshiftrt_internal3be, + *lshiftrt_internal4le, *lshiftrt_internal4be, *lshiftrt_internal5le, + *lshiftrt_internal5be, *lshiftrt_internal5le, *lshiftrt_internal5be, + *rotldi3_internal7le, *rotldi3_internal7be, *rotldi3_internal8le, + *rotldi3_internal8be, *rotldi3_internal9le, *rotldi3_internal9be, + *rotldi3_internal10le, *rotldi3_internal10be, *rotldi3_internal11le, + *rotldi3_internal11be, *rotldi3_internal12le, *rotldi3_internal12be, + *rotldi3_internal13le, *rotldi3_internal13be, *rotldi3_internal14le, + *rotldi3_internal14be, *rotldi3_internal15le, *rotldi3_internal15be, + and 30 corresponding splitters): Delete. + +2015-05-12 Segher Boessenkool + + * config/rs6000/rs6000.md (define_split for bswaphi): Don't use + zero_extract. + +2015-05-12 Segher Boessenkool + + * combine.c (recog_for_combine_1): New function, factored out + from recog_for_combine. + (change_zero_ext): New function. + (recog_for_combine): If recog fails, try again with the pattern + modified by change_zero_ext; if that still fails, restore the + pattern. + +2015-05-12 Segher Boessenkool + + * combine.c (get_undo_marker): New function. + (undo_to_marker): New function, largely factored out from ... + (undo_all): ... this. Adjust. + +2015-05-12 Richard Biener + + PR tree-optimization/66101 + * tree-ssa-dce.c (remove_dead_stmt): Properly mark loops for + fixup if we turn a loop exit edge to a fallthru edge. + +2015-05-12 Richard Biener + + PR tree-optimization/37021 + * tree-vectorizer.h (struct _slp_tree): Add two_operators flag. + (SLP_TREE_TWO_OPERATORS): New define. + * tree-vect-slp.c (vect_create_new_slp_node): Initialize + SLP_TREE_TWO_OPERATORS. + (vect_build_slp_tree_1): Allow two mixing plus/minus in an + SLP node. + (vect_build_slp_tree): Adjust. + (vect_analyze_slp_cost_1): Likewise. + (vect_schedule_slp_instance): Vectorize mixing plus/minus by + emitting two vector stmts and mixing the results. + +2015-05-12 Dominik Vogt + + * call.c (print_z_candidates): Remove dead code. + +2015-05-12 Andreas Krebbel + + * config/s390/2827.md: Split zEC12_simple into zEC12_simple_int + and zEC12_simple_fp. + * config/s390/s390.c (s390_issue_rate): Set issue rate for zEC12 + to 1. + +2015-05-12 Tom de Vries + + PR tree-optimization/66010 + * gimplify.c (gimplify_modify_expr): Handle new do_deref argument of + ifn_va_arg. + * gimplify.h (gimplify_va_arg_internal): Remove loc parameter. + (gimplify_va_arg_internal): Remove loc parameter. Assert no array-typed + va_lists are passed, and remove corresponding handling. + (gimplify_va_arg_expr): Only take address of ap if necessary. Add + do_deref argument to ifn_va_arg. + * tree-stdarg.c (expand_ifn_va_arg_1): Handle new do_deref argument of + ifn_va_arg. + +2015-05-12 Kyrylo Tkachov + + PR target/65955 + * config/arm/arm.md (movcond_addsi): Check that operands[2] is a + REG before taking its REGNO. + +2015-05-12 Thomas Preud'homme + + * combine.c i(set_nonzero_bits_and_sign_copies): Split code updating + rsp->sign_bit_copies and rsp->nonzero_bits into ... + (update_rsp_from_reg_equal): This. Also use REG_EQUAL note on src if + present to get more accurate information about the number of sign bit + copies and non zero bits. + +2015-05-12 Richard Biener + + * tree-vect-slp.c (vect_build_slp_tree_1): For BB vectorization + do not allow unrolling. + +2015-05-11 Richard Henderson + + * config/i386/i386-modes.def (CCP): New. + * config/i386/i386.c (put_condition_code): Handle it. + (ix86_match_ccmode, ix86_cc_modes_compatible): Likewise. + +2015-05-11 Richard Henderson + + * target.def (md_asm_clobbers): Replace with... + (md_asm_adjust): this. + * tm.texi.in (TARGET_MD_ASM_CLOBBERS): Remove. + (TARGET_MD_ASM_ADJUST): New. + * tm.texi: Rebuild. + * hooks.c (hook_tree_tree_tree_tree_3rd_identity): Remove. + * hooks.h (hook_tree_tree_tree_tree_3rd_identity): Remove. + * system.h (TARGET_MD_ASM_CLOBBERS): Poison. + + * cfgexpand.c (check_operand_nalternatives): Accept vector of + constraints instead of lists of outputs and inputs. + (expand_asm_stmt): Save and restore input_location around the + body of the function. Move asm data into vectors instead of + building tree lists. Generate cleanup sequences as needed, + rather than waiting til the end. Use new md_asm_adjust hook. + + * config/vxworks.c: Include vec.h before target.h. + * gimple.c: Likewise. + * incpath.c: Likewise. + * mode-switching.c: Likewise. + + * config/cris/cris.c (cris_md_asm_clobbers): Convert to... + (cris_md_asm_adjust): this. + (TARGET_MD_ASM_CLOBBERS): Remove. + (TARGET_MD_ASM_ADJUST): New. + * config/i386/i386.c (ix86_md_asm_clobbers): Convert to... + (ix86_md_asm_adjust): this. + (TARGET_MD_ASM_CLOBBERS): Remove. + (TARGET_MD_ASM_ADJUST): New. + * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): Convert to... + (mn10300_md_asm_adjust): this. + (TARGET_MD_ASM_CLOBBERS): Remove. + (TARGET_MD_ASM_ADJUST): New. + * config/rs6000/rs6000.c (rs6000_md_asm_clobbers): Convert to... + (rs6000_md_asm_adjust): this. + (TARGET_MD_ASM_CLOBBERS): Remove. + (TARGET_MD_ASM_ADJUST): New. + * config/visium/visium.c (visium_md_asm_clobbers): Convert to... + (visium_md_asm_adjust): this. + (TARGET_MD_ASM_CLOBBERS): Remove. + (TARGET_MD_ASM_ADJUST): New. + +2015-05-11 Richard Henderson + + * gimplify.c (gimplify_asm_expr): Set gimple_asm_volatile_p + if noutputs is zero. + * cfgexpand.c (expand_asm_stmt): Use gimple_asm_volatile_p unchanged. + + * cfgexpand.c (expand_asm_operands): Merge into... + (expand_asm_stmt): ... here. + + * cfgexpand.c (expand_asm_operands): Don't call + resolve_asm_operand_names. + * stmt.c (resolve_asm_operand_names): Clarify block comment. + +2015-05-11 Jan Hubicka + + * dwarf2out.c (gen_member_die): Sanity check that we access + TYPE_MAIN_VARIANT for TYPE_METHODS. + * function.c (use_register_for_decl): Look for TYPE_MAIN_VARIANT when + checking TYPE_METHODS. + * tree.c (free_lang_data_in_type): See TYPE_METHODS to error_mark_node + if non-null. + (build_distinct_type_copy): Clear TYPE_METHODS. + (verify_type_variant): Verify that TYPE_METHODS is NULL for variants. + (verify_type): Allow TYPE_METHODS to be error_mark_node. + * tree.def: Update docs of TYPE_STUB_DECL and TYPE_METHODS. + +2015-05-11 Eric Botcazou + + * emit-rtl.c (emit_pattern_after_setloc): Add missing guard. + (emit_pattern_before_setloc): Likewise. + +2015-05-11 Richard Sandiford + + * genrecog.c (match_pattern_1): Expect the pattern to be a SEQUENCE + for define_peephole2s. + (get_peephole2_pattern): New function. + (main): Use it. Call validate_pattern. + +2015-05-11 Pitchumani Sivanupandi + + * config/avr/avr.c (avr_hard_regno_call_part_clobbered): Use + LAST_CALLEE_SAVED_REG instead of hard-coded register number. + (Last callee saved reg is different for AVR_TINY architecture) + +2015-05-11 Uros Bizjak + + * config/i386/i386.c (ix86_loop_unroll_adjust): Use PATTERN (insn) + when looking for memory references. + +2015-05-11 Alexander Monakov + + PR target/65753 + * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow PIC sibcalls + via function pointers. + +2015-05-11 Alexander Monakov + + * calls.c (prepare_call_address): Transform PLT call to GOT lookup and + indirect call by forcing address into a pseudo with -fno-plt. + * common.opt (flag_plt): New option. + * doc/invoke.texi (Code Generation Options): Add -fno-plt. + ([-fno-plt]): Document. + +2015-05-11 Markus Trippelsdorf + + PR bootstrap/66105 + * config/rs6000/option-defaults.h: Add space between string literal + and macro name. + +2015-05-11 Thomas Preud'homme + + * gcc.target/arm/pr64616.c: Test dump rather than assembly to work + accross ARM targets. + +2015-05-11 Christian Bruel + + * config/arm/arm-protos.h (thumb_code, thumb1_code): Remove. + * config/arm/vxworks.h (thumb_code): Replace with TARGET_THUMB. + +2015-05-11 Richard Sandiford + + PR rtl-optimization/66076 + * rtlanal.c (generic_subrtx_iterator ::add_single_to_queue): + Don't grow the heap array if it is already big enough from a + previous iteration. + +2015-05-11 Christian Bruel + + * config/arm/arm-protos.h (arm_declare_function_name): Declare. + (is_called_in_ARM_mode): Remove. + * config/arm/arm.c (is_called_in_ARM_mode): Declare static bool. + (arm_declare_function_name): Moved from from ARM_DECLARE_FUNCTION_NAME. + * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Call + arm_declare_function_name. + +2015-05-11 Christian Bruel + + * config/arm/arm.c (arm_option_override): Reoganized and split into : + (arm_option_params_internal); New function. + (arm_option_check_internal): New function. + (arm_option_override_internal): New function. + (thumb_code, thumb1_code): Remove. + * config/arm/arm.h (TREE_TARGET_THUMB, TREE_TARGET_THUMB1): New macros. + (TREE_TARGET_THUM2, TREE_TARGET_ARM): Likewise. + (thumb_code, thumb1_code): Remove. + * config/arm/arm.md (is_thumb, is_thumb1): Check TARGET flag. + +2015-05-11 Uros Bizjak + + * config/alpha/alpha.c (alpha_emit_set_const_1) + (alpha_emit_set_long_const, alpha_extract_integer) + (alpha_legitimate_constant_p, alpha_split_const_mov) + (alpha_expand_block_clear, alpha_expand_zap_mask, print_operand): + [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code. + (alpha_emit_set_const_1): Change "(HOST_WIDE_INT) 1" to + HOST_WIDE_INT_1U. + * config/alpha/predicates.md (mode_mask_operand): Do not match + const_double RTX. + [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code. + * config/alpha/alpha.md (abstf, *abstf_internal, UNSPEC_ZAP splitter): + Change "(HOST_WIDE_INT) 1" to HOST_WIDE_INT_1U. + [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code. + (*negtf_internal): Use gen_int_mode instead of immed_double_const. + +2015-05-11 Jakub Jelinek + + PR target/65780 + * config/s390/linux.h (TARGET_BINDS_LOCAL_P): Define to + default_binds_local_p_2. + * config/arm/linux-elf.h (TARGET_BINDS_LOCAL_P): Likewise. + * config/aarch64/aarch64-linux.h (TARGET_BINDS_LOCAL_P): Likewise. + +2015-05-09 Jan Hubicka + + * tree.c (verify_type_variant): Check TYPE_VALUES_RAW and TYPE_PRECISION + +2015-05-09 Jan Hubicka + + Patch by Richard Biener + * coverage.c (coverage_obj_init): Delay building of type variant + until the type is finished. + +2015-05-09 Jan Hubicka + + * ipa-devirt.c (warn_types_mismatch): Do not ICE when warning about + mismatch between C and C++ type; compoare correctly ARG_TYPES + for non-prototypes and output correctly parameter index for METHOD_TYPE. + (odr_types_equivalent_p): Fix wording of warning about attributes; + it is OK to match prototype and non-prototype. + +2015-05-09 Jan Hubicka + + * tree.c (free_lang_data_in_type): Free TREE_PURPOSE of + TYPE_ARG_TYPES list. + (verify_type): Permit non-NULL TREE_PURPOSE in non-LTO builds. + * tree.def (FUNCTION_TYPE): Document TREE_PURPOSE in TYPE_ARG_TYPES + +2015-05-09 Jan Hubicka + + * tree.c (verify_type): Verify TYPE_BINFO and TYPE_VALUES_RAW. + * tree.h (is_lang_specific): Constify. + +2015-05-09 Marc Glisse + + PR tree-optimization/64454 + * tree-vrp.c (extract_range_from_binary_expr_1) : + Rewrite. + +2015-05-08 Jason Merrill + + * bitmap.c, c/c-aux-info.c, cfg.c, cfghooks.c, cgraph.c, + config/aarch64/aarch64.md config/alpha/vms.h, config/darwin.c, + config/darwin.h, config/darwin9.h, config/elfos.h, + config/i386/bsd.h, config/ia64/ia64.c, config/lm32/lm32.h, + config/microblaze/microblaze.h, config/mips/mips.h, + config/mmix/mmix.c, config/msp430/msp430.c, config/nios2/nios2.h, + config/nvptx/nvptx.c, config/nvptx/nvptx.h, config/pa/pa.c, + config/pa/pa.h, config/rs6000/rs6000.c, config/rs6000/sysv4.h, + config/rs6000/xcoff.h, config/rx/rx.h, config/s390/s390.h, + config/sparc/sol2.h, config/sparc/sparc.h, config/visium/visium.h, + cppbuiltin.c, defaults.h, doc/invoke.texi, dwarf2cfi.c, + dwarf2out.c, final.c, gcc.c, gcov-dump.c, gcov.c, ipa-cp.c, + ipa-inline.c, ipa-polymorphic-call.c, ipa-profile.c, ipa-prop.c, + ira-color.c, ira.c, loop-doloop.c, loop-iv.c, mcf.c, + modulo-sched.c, predict.c, profile.c, stor-layout.c, toplev.c, + tree-ssa-reassoc.c, value-prof.c, wide-int-print.cc: Add space + between string literal and macro name. + +2015-05-08 Trevor Saunders + + * jump.c: Change argument types to rtx_insn *. + * rtl.h: Adjust. + +2015-05-08 Trevor Saunders + + * lra-constraints.c: Change argument type to rtx_insn *. + +2015-05-08 Trevor Saunders + + * df-problems.c: Change argument type to rtx_insn *. + +2015-05-08 Trevor Saunders + + * combine.c: Change argument type to rtx_insn *. + +2015-05-08 Trevor Saunders + + * rtl.h: Adjust. + * rtlanal.c: Change argument type to rtx_insn *. + +2015-05-08 Trevor Saunders + + * sched-deps.c: Change argument types to rtx_insn *. + * sched-int.h: Adjust. + +2015-05-08 Trevor Saunders + + * dwarf2cfi.c: Change argument type to rtx_insn *. + +2015-05-08 Trevor Saunders + + * ira.c (decrease_live_ranges_number): Changetype of local + variable to rtx_insn *. + * recog.c: Change argument types to rtx_insn *. + * recog.h: Adjust. + +2015-05-08 Trevor Saunders + + * reorg.c: Change argument types to rtx_insn *. + +2015-05-08 Trevor Saunders + + * ira-color.c: Change argument types to rtx_insn *. + * lra-eliminations.c: Likewise. + * ira.h: Adjust. + +2015-05-08 Trevor Saunders + + * gcse.c: Change argument types to rtx_insn *. + +2015-05-08 Trevor Saunders + + * cse.c (cse_change_cc0_mode): Change argument type to rtx_insn *. + +2015-05-08 Trevor Saunders + + * emit-rtl.c (emit_debug_insn_before): Change argument type to + rtx_insn *. + * rtl.h: Adjust. + +2015-05-08 Trevor Saunders + + * emit-rtl.c (emit_note_before): Change argument type to rtx_insn *. + * rtl.h: Adjust. + +2015-05-08 Trevor Saunders + + * emit-rtl.c (emit_note_after): Change argument type to rtx_insn *. + * rtl.h: Adjust. + +2015-05-08 Trevor Saunders + + * emit-rtl.c (prev_cc0_setter): Change argument type to rtx_insn *. + * rtl.h: Adjust. + +2015-05-08 Trevor Saunders + + * rtlanal.c (noop_move_p): Change argument type to rtx_insn *. + * rtl.h: Adjust. + +2015-05-08 Trevor Saunders + + * rtlanal.c (add_shallow_copy_of_reg_note): Change argument type + to rtx_insn *. + * rtl.h: Adjust. + +2015-05-08 Trevor Saunders + + * rtlanal.c (remove_reg_equal_equiv_notes): Change argument type + to rtx_insn *. + * rtl.h: Likewise. + +2015-05-08 Trevor Saunders + + * except.c (can_nonlocal_goto): Change type of argument to + rtx_insn *. + * rtl.h: Adjust. + +2015-05-08 Trevor Saunders + + * rtlanal.c (computed_jump_p): Cange argument type to rtx_insn *. + * rtl.h: Adjust. + +2015-05-08 Trevor Saunders + + * rtlanal.c (in_insn_list_p): Renamed from in_expr_list_p. + * cfgrtl.c (can_delete_label_p): Adjust. + * rtl.h: likewise. + +2015-05-08 Trevor Saunders + + * reorg.c (stop_search_p): Change argument to rtx_insn *. + +2015-05-08 Trevor Saunders + + * except.c (make_reg_eh_region_note): Change argument to + rtx_insn *. + (make_reg_eh_region_note_nothrow_nononlocal): Likewise. + * except.h: Adjust. + +2015-05-08 Trevor Saunders + + * mode-switching.c (commit_mode_sets): Change type of local + variable from rtx to rtx_insn *. + +2015-05-08 Jim Wilson + + * doc/install.texi (--enable-languages): Add missing jit and lto info. + Add ^ to grep command. + * doc/match-and-simplify.texi (GIMPLE API): Add missing fourth tree + arg to last gimple_simplify declaration. Add missing gimple_build + declaration for built-in function case with four tree args. + +2015-05-08 Gregor Richards + Szabolcs Nagy + + * config/mips/linux.h (MUSL_DYNAMIC_LINKER32): Define. + (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERN32): Define. + (GNU_USER_DYNAMIC_LINKERN32): Update. + +2015-05-08 Richard Biener + + PR tree-optimization/66036 + * tree-vect-data-refs.c (vect_compute_data_ref_alignment): + Handle strided group loads. + (vect_verify_datarefs_alignment): Likewise. + (vect_enhance_data_refs_alignment): Likewise. + (vect_analyze_group_access): Likewise. + (vect_analyze_data_ref_access): Likewise. + (vect_analyze_data_ref_accesses): Likewise. + * tree-vect-stmts.c (vect_model_load_cost): Likewise. + (vectorizable_load): Likewise. + +2015-05-08 Segher Boessenkool + + * config/rs6000/rs6000.md: Require operand inequality in one + of the peepholes. + +2015-05-08 Richard Sandiford + Franz Sirl + + * config/i386/i386.md (_ldx, *_ldx): Remove mode + from (set ...). + * config/rx/rx.md (movdi, movdf): Likewise. + Likewise for define_peephole2s. + +2015-05-08 Alan Lawrence + + * config/aarch64/arm_neon.h (vceq_s64, vceq_u64, vceqz_s64, vceqz_u64, + vcge_s64, vcge_u64, vcgez_s64, vcgt_s64, vcgt_u64, vcgtz_s64, vcle_s64, + vcle_u64, vclez_s64, vclt_s64, vclt_u64, vcltz_s64, vtst_s64, + vtst_u64): Rewrite using gcc vector extensions. + +2015-05-08 Alan Lawrence + + * config/aarch64/aarch64-simd.md (aarch64_vcond_internal, + vcond, vcondu): Add DImode variant. + +2015-05-08 Alan Lawrence + + * optabs.c (vector_compare_rtx): Handle RTL operands having VOIDmode. + +2015-05-08 Szabolcs Nagy + + * config/glibc-stdint.h (OPTION_MUSL): Define. + (INT_FAST16_TYPE, INT_FAST32_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE): + Change the definition based on OPTION_MUSL for 64 bit targets. + * config/linux.h (OPTION_MUSL): Redefine. + * config/alpha/linux.h (OPTION_MUSL): Redefine. + * config/rs6000/linux.h (OPTION_MUSL): Redefine. + * config/rs6000/linux64.h (OPTION_MUSL): Redefine. + +2015-05-08 Gregor Richards + Szabolcs Nagy + + * config.gcc (LIBC_MUSL): New tm_defines macro. + * config/linux.h (OPTION_MUSL): Define. + (MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER32,) + (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32,) + (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,) + (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,) + (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define. + * config/linux.opt (mmusl): New option. + * doc/invoke.texi (GNU/Linux Options): Document -mmusl. + * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*. + (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*. + * configure: Regenerate. + +2015-05-08 H.J. Lu + Bernhard Reutner-Fischer + + PR target/48904 + * config.gcc (x86_64-*-knetbsd*-gnu): Add i386/knetbsd-gnu64.h. + * config/i386/knetbsd-gnu64.h: New file. + +2015-05-08 Marek Polacek + + PR c/64918 + * doc/invoke.texi: Document -Woverride-init-side-effects. + +2015-05-07 Marek Polacek + + PR c/65179 + * doc/invoke.texi: Document -Wshift-negative-value. + +2015-05-06 Aditya Kumar + + * gcov-tool.c (do_merge): Refactore to remove int ret. + * ipa-icf.c (sem_item::hash_referenced_symbol_properties): Change + !type == FUNC to type != FUNC. + * reload.h (struct target_reload): Changee to type of + x_spill_indirect_levels from bool to unsigned char. + +2015-05-07 Richard Sandiford + + * rtl.h (always_void_p): New function. + * gengenrtl.c (always_void_p): Likewise. + (genmacro): Don't add a mode parameter to gen_rtx_foo if rtxes + with code foo are always VOIDmode. + * genemit.c (gen_exp): Update gen_rtx_foo calls accordingly. + * builtins.c, caller-save.c, calls.c, cfgexpand.c, combine.c, + compare-elim.c, config/aarch64/aarch64.c, + config/aarch64/aarch64.md, config/alpha/alpha.c, + config/alpha/alpha.md, config/arc/arc.c, config/arc/arc.md, + config/arm/arm-fixed.md, config/arm/arm.c, config/arm/arm.md, + config/arm/ldrdstrd.md, config/arm/thumb2.md, config/arm/vfp.md, + config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c, + config/c6x/c6x.md, config/cr16/cr16.c, config/cris/cris.c, + config/cris/cris.md, config/darwin.c, config/epiphany/epiphany.c, + config/epiphany/epiphany.md, config/fr30/fr30.c, config/frv/frv.c, + config/frv/frv.md, config/h8300/h8300.c, config/i386/i386.c, + config/i386/i386.md, config/i386/sse.md, config/ia64/ia64.c, + config/ia64/vect.md, config/iq2000/iq2000.c, + config/iq2000/iq2000.md, config/lm32/lm32.c, config/lm32/lm32.md, + config/m32c/m32c.c, config/m32r/m32r.c, config/m68k/m68k.c, + config/m68k/m68k.md, config/mcore/mcore.c, config/mcore/mcore.md, + config/mep/mep.c, config/microblaze/microblaze.c, + config/mips/mips.c, config/mips/mips.md, config/mmix/mmix.c, + config/mn10300/mn10300.c, config/msp430/msp430.c, + config/nds32/nds32-memory-manipulation.c, config/nds32/nds32.c, + config/nds32/nds32.md, config/nios2/nios2.c, config/nvptx/nvptx.c, + config/pa/pa.c, config/pa/pa.md, config/rl78/rl78.c, + config/rs6000/altivec.md, config/rs6000/rs6000.c, + config/rs6000/rs6000.md, config/rs6000/vector.md, + config/rs6000/vsx.md, config/rx/rx.c, config/rx/rx.md, + config/s390/s390.c, config/s390/s390.md, config/sh/sh.c, + config/sh/sh.md, config/sh/sh_treg_combine.cc, + config/sparc/sparc.c, config/sparc/sparc.md, config/spu/spu.c, + config/spu/spu.md, config/stormy16/stormy16.c, + config/tilegx/tilegx.c, config/tilegx/tilegx.md, + config/tilepro/tilepro.c, config/tilepro/tilepro.md, + config/v850/v850.c, config/v850/v850.md, config/vax/vax.c, + config/visium/visium.c, config/xtensa/xtensa.c, cprop.c, dse.c, + expr.c, gcse.c, ifcvt.c, ira.c, jump.c, lower-subreg.c, + lra-constraints.c, lra-eliminations.c, lra.c, postreload.c, ree.c, + reg-stack.c, reload.c, reload1.c, reorg.c, sel-sched.c, + var-tracking.c: Update calls accordingly. + +2015-05-07 Segher Boessenkool + + PR middle-end/192 + PR middle-end/54303 + * varasm.c (function_mergeable_rodata_prefix): New function. + (mergeable_string_section): Use it. + (mergeable_constant_section): Use it. + +2015-05-07 Jeff Law + + PR target/39726 + * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New + simplifier to narrow arithmetic. + * generic-match-head.c: (types_match, single_use): New functions. + * gimple-match-head.c: (types_match, single_use): New functions. + +2015-05-07 Venkataramanan Kumar + + * combine.c (make_compound_operation): Remove checks for PLUS/MINUS + rtx type. + +2015-05-07 Richard Biener + + PR tree-optimization/66002 + * passes.def: Schedule another pass_merge_phi after ifcombine, right + before phiopt. + +2015-05-07 Marek Polacek + Martin Uecker + + * doc/invoke.texi: Document -fsanitize=bounds-strict. + * flag-types.h (enum sanitize_code): Add SANITIZE_BOUNDS_STRICT, or it + into SANITIZE_NONDEFAULT. + * opts.c (common_handle_option): Handle -fsanitize=bounds-strict. + +2015-05-07 Uros Bizjak + + PR target/66015 + * config/alpha/alpha.c (alpha_override_options_after_change): New. + (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New. + (alpha_override_options): Move align_loops, align_jumps and + align_functions handling into alpha_override_options_after_change. + +2015-05-06 Sandra Loosemore + Chris Jones + Joshua Conner + + * config/arm/unknown-elf.h (STARTFILE_SPEC): Add conditional + linking of crtfastmath.o. + * config/arm/linux-eabi.h (STARTFILE_SPEC): Likewise. + +2015-05-06 Segher Boessenkool + + * config/rs6000/rs6000.md (cstore4_signed_imm): New expander. + (cstore4_unsigned_imm): New expander. + (cstore4): Remove empty constraint strings. Use the new + expanders. + +2015-05-06 Yvan Roux + + PR target/64208 + * config/arm/iwmmxt.md ("*iwmmxt_arm_movdi"): Cleanup redundant + alternatives. + +2015-05-06 Szabolcs Nagy + + * config/aarch64/geniterators.sh: Use standard BRE in sed. + +2015-05-06 Alan Modra + + PR target/66033 + * config/rs6000/rs6000.md (nop): Use an unspec pattern. + (UNSPEC_NOP): Define. + (reload_vsx_from_gpr): Add missing DONE. + (reload_gpr_from_vsx): Likewise. + * config/rs6000/vsx.md (vsx_mul_v2di): Likewise. + (vsx_div_v2di, vsx_udiv_v2di): Likewise. + +2015-05-06 Christian Bruel + + PR target/66015 + * config/aarch64/aarch64.c (aarch64_override_options): Move align_loops, + align_jumps, align_functions into aarch64_override_options_after_change. + +2015-05-06 Richard Biener + + * tree-vect-slp.c (vect_supported_load_permutation_p): Use + vect_transform_slp_perm_load to check if we support a permutation + for basic-block vectorization. + +2015-05-06 Nick Clifton + + * config/rl78/rl78.c (need_to_save): Save register 22 if it is + used, even if it is not being used as a frame pointer. + +2015-05-05 Jason Merrill + + * dwarf2out.c (gen_member_die): Don't emit anything for an + anonymous class constructor. + +2015-05-05 David Malcolm + + * auto-profile.c (afdo_find_equiv_class): Fix indentation so + that it reflects the block structure. + (afdo_propagate_edge): Likewise. + (afdo_calculate_branch_prob): Likewise. + (afdo_annotate_cfg): Likewise. + * cfgcleanup.c (equal_different_set_p): Likewise. + (try_crossjump_to_edge): Likewise. + * cgraph.c (cgraph_node::verify_node): Likewise. + * cgraphunit.c (expand_all_functions): Likewise. + * config/i386/i386.c (ix86_expand_copysign): Likewise. + (exact_dependency_1): Likewise. + * dwarf2asm.c (dw2_output_indirect_constants): Likewise. + * dwarf2out.c (tree_add_const_value_attribute_for_decl): Likewise. + * gensupport.c (process_define_subst): Likewise. + * lto-wrapper.c (merge_and_complain): Likewise. + * tree-if-conv.c (if_convertible_bb_p): Likewise. + * tree-ssa-loop-prefetch.c (find_or_create_group): Likewise. + * tree-ssa-tail-merge.c (gsi_advance_fw_nondebug_nonlocal): Likewise. + * tree-vect-data-refs.c (vect_grouped_load_supported): Likewise. + * tree-vect-loop.c (vectorizable_reduction): Likewise. + * tree-vect-slp.c (vect_transform_slp_perm_load): Likewise. + * tree-vect-stmts.c (vectorizable_shift): Likewise. + * tree-vrp.c (vrp_finalize): Likewise. + * tree.c (variably_modified_type_p): Likewise. + +2015-05-05 Jack Howarth + + * config.gcc: Use darwin9.h, darwin10.h and darwin12.h + on darwin12 and later. + * config/darwin12.h (LINK_GCC_C_SEQUENCE_SPEC): Add + file to pass -rdynamic on darwin12 and later. + * config/darwin.opt (rdynamic): Add. + +2015-05-05 Uros Bizjak + + * doc/extend.texi (C Extensions): Update menu for moved Variable + Attributes and Type Attributes sections. + +2015-05-05 Uros Bizjak + + PR target/65990 + * config/i386/i386.c (ix86_parse_stringop_strategy_string): Error out + if rep_8byte stringop strategy was specified for 32-bit target. + +2015-05-05 Ilya Tocar + + PR target/65915 + * config/i386/i386.md (vector convert to float spltiter): Check for + xmm16+, when splitting scalar float conversion. + * config/i386/sse.md (sse2_cvtsi2sd): Support EVEX version. + +2015-05-05 Nick Clifton + + * config/msp430/msp430-opts.h (enum msp430_regions): New. + * config/msp430/msp430.c (msp430_override_options): Complain if + -mcode-region or -mdata-region is used on a non MSP430X. + (msp430_section_attr): New function. Checks lower, upper and + either attributes. + (msp430_attribute_table): Add lower, upper and either. + (gen_prefix): New function. Generates a prefix for a section + name. + (msp430_select_section): New function - handles the choice of + section for an object. Takes into account memory region + attributes and options. + (msp430_function_section): Use gen_prefix. + (TARGET_SECTION_TYPE_FLAGS): Define. + (msp430_section_type_flags): New function. + (TARGET_ASM_UNIQUE_SECTION): Define. + (msp430_unique_section): New function. + (msp430_output_aligned_decl_common): New function. + (msp430_do_not_relax_short_jumps): New function. + * config/msp430/msp430.h (USE_SELECT_SECTION_FOR_FUNCTIONS): + Define. + (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define. + * config/msp430/msp430-protos.h + (msp430_do_not_relax_short_jumps): New prototype. + (msp430_output_aligned_decl_common): New prototype. + * config/msp430/msp430.md (length): New attribute. + (cbranchhi4_real): If msp430_do_not_relax_short_jumps is true + then use a long code sequence for short jumps. + * config/msp430/msp430.opt (mcode-region): New. + (mdata-region): New. + * doc/invoke.texi: Document new options. + * doc/extend.texi: Document new attributes. + +2015-05-05 Matthew Wahab + + * config/aarch64-protos.h (struct cpu_branch_cost): New. + (tune_params): Add field branch_costs. + (aarch64_branch_cost): Declare. + * config/aarch64.c (generic_branch_cost): New. + (generic_tunings): Set field cpu_branch_cost to generic_branch_cost. + (cortexa53_tunings): Likewise. + (cortexa57_tunings): Likewise. + (thunderx_tunings): Likewise. + (xgene1_tunings): Likewise. + (aarch64_branch_cost): Define. + * config/aarch64/aarch64.h (BRANCH_COST): Redefine. + +2015-05-05 Uros Bizjak + + * config/i386/i386.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1 + and HOST_WIDE_INT_1U instead of (unsigned HOST_WIDE_INT) 1. + * config/i386/i386.md: Ditto. + * config/i386/winnt.c: Ditto. + +2015-05-05 Matthew Wahab + + * doc/extend.texi (__atomic Builtins): Move implementation details + to the end of the description, rewrite opening paragraphs, state + difference with __sync builtins, state C11/C++11 assumptions, + weaken itemized descriptions, add explanation of memory model + behaviour, expand description of compare-exchange, simplify text. + +2015-05-05 Renlin Li + + * config/aarch64/aarch64.md (add3): Use mov when allowed. + +2015-05-05 Yvan Roux + + * config/aarch64/aarch64-elf-raw.h (CA53_ERR_843419_SPEC): Define. + (LINK_SPEC): Include CA53_ERR_843419_SPEC. + * config/aarch64/aarch64-linux.h (CA53_ERR_843419_SPEC): Define. + (LINK_SPEC): Include CA53_ERR_843419_SPEC. + * config/aarch64/aarch64.opt (mfix-cortex-a53-843419): New option. + * configure: Regenerate. + * configure.ac: Add --enable-fix-cortex-a53-843419 option. + * doc/install.texi (aarch64*-*-*): Document new + --enable-fix-cortex-a53-843419 option. + * doc/invoke.texi (AArch64 Options): Document -mfix-cortex-a53-843419 + and -mno-fix-cortex-a53-843419 options. + +2015-05-05 Uros Bizjak + + PR target/65871 + * config/i386/i386.md (*bmi_andn__ccno): New pattern. + +2015-05-04 Jan Hubicka + + * tree.c (verify_type): Check various uses of TYPE_MAXVAL; + fix overactive TYPE_MIN_VALUE check and add FIXME for type + compatibility problems. + +2015-05-04 Ajit Agarwal + + * config/microblaze/microblaze.md (cbranchsi4): Added immediate + constraints. + (cbranchsi4_reg): New. + * config/microblaze/microblaze.c + (microblaze_expand_conditional_branch_reg): New. + * config/microblaze/microblaze-protos.h + (microblaze_expand_conditional_branch_reg): New prototype. + +2015-05-04 Ajit Agarwal + + * config/microblaze/microblaze.md (peephole2): New. + +2015-05-04 Jeff Law + + Revert: + 2015-05-04 Jeff Law + + * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New + simplifier to narrow arithmetic. + * generic-match-head.c: (types_match, single_use): New functions. + * gimple-match-head.c: (types_match, single_use): New functions. + +2015-05-04 Kaz Kojima + + PR target/65987 + * config/sh/sh.c (output_far_jump): Take into account crossing jumps. + (split_branches): Likewise. + +2015-05-04 Sandra Loosemore + + * common.opt (fdelete-null-pointer-checks): Init to -1. + * config/nios2/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define to + override flag_delete_null_pointer_checks default. + * doc/invoke.texi (-fdelete-null-pointer-checks): Clarify + behavior re address zero. Better document target-specific behavior. + (-fisolate-errneous-paths-dereference): Mention relationship to + -fdelete-null-pointer-checks. + +2015-05-04 Jakub Jelinek + + PR tree-optimization/65984 + * ubsan.c: Include tree-cfg.h. + (instrument_bool_enum_load): Use stmt_ends_bb_p instead of + stmt_could_throw_p test, rename can_throw variable to ends_bb. + +2015-05-04 Uros Bizjak + + * config/i386/i386.c: Change GET_CODE (...) == CONST_DOUBLE check + to CONST_DOUBLE_P predicate. + (standard_sse_constant_p): Return 0 for !TARGET_SSE. + (ix86_legitimate_constant_p) : For 32bit targets, + allow only operands that satisfy standard_sse_constant_p predicate. + * config/i386/i386.md: Change GET_CODE (...) == CONST_DOUBLE check + to CONST_DOUBLE_P predicate. + +2015-05-04 Jeff Law + + * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New + simplifier to narrow arithmetic. + * generic-match-head.c: (types_match, single_use): New functions. + * gimple-match-head.c: (types_match, single_use): New functions. + +2015-05-04 Andreas Tobler + + * config/arm/arm.c: Restore bootstrap. + +2015-05-04 Uros Bizjak + + * config/i386/i386.h (TARGET_SUPPORTS_WIDE_INT): New define. + * config/i386/i386.c (ix86_legitimate_constant_p): Handle TImode + as CONST_WIDE_INT, not CONST_DOUBLE. + (ix86_cannot_force_const_mem): Handle CONST_WIDE_INT. + (output_pic_addr_const): Do not handle VOIDmode CONST_DOUBLEs. + (ix86_find_base_term): Do not check for CONST_DOUBLE. + (ix86_print_operand): Do not handle non-FPmode CONST_DOUBLEs. + (ix86_build_signbit_mask): Rewrite using wide ints. + (ix86_split_to_parts) [HOST_BITS_PER_WIDE_INT < 64]: Remove. + (ix86_rtx_costs): Handle CONST_WIDE_INT. + (find_constant): Ditto. + * config/i386/i386.md (bts, btr, btc peepholes): Rewrite + using gen_int_mode. + * config/i386/predicates.md (x86_64_immediate_operand) + : Remove HOST_BITS_PER_WIDE_INT == 32 code. + (x86_64_zext_immediate_operand): Remove CONST_DOUBLE handling. + : Remove HOST_BITS_PER_WIDE_INT == 32 code. + (const0_operand): Also match const_wide_int. + (constm1_operand): Ditto. + (const1_operand): Ditto. + +2015-05-04 Richard Biener + + PR tree-optimization/65965 + * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Split + store groups at gaps. + +2015-05-04 Richard Biener + + PR tree-optimization/65935 + * tree-vect-slp.c (vect_build_slp_tree): If we swapped operands + then make sure to apply that swapping to the IL. + +2015-05-04 Jakub Jelinek + + * Makefile.in (PATCHLEVEL_c): New variable. + (DATESTAMP_s, REVISION_s): If PATCHLEVEL_c is not 0, + expand the same way as if DEVPHASE_c was non-empty. + +2015-05-04 Kai Tietz + + PR target/65559 + * lto-wrapper.c (run_gcc): Open filename + in binary-mode. + +2015-05-03 Sandra Loosemore + + * doc/extend.texi (Variable Attributes, Type Attributes): Move + sections up in file, to immediately after the Function Attributes + section. + +2015-05-02 Jan Hubicka + + * tree.c (verify_type): Check various uses of TYPE_MINVAL. + +2015-05-02 Trevor Saunders + + * tree-outof-ssa.c (emit_partition_copy): Return rtx_insn *. + (insert_partition_copy_on_edge): Adjust. + (insert_rtx_to_part_on_edge): Likewise. + (insert_part_to_rtx_on_edge): Likewise. + +2015-05-02 Trevor Saunders + + * function.c (set_return_jump_label): Change type of argument to + rtx_insn *. + * function.h (set_return_jump_label): Adjust. + +2015-05-02 Trevor Saunders + + * reload.h (struct reg_equivs_t): Change type of init to + rtx_insn *. + * ira.c (fix_reg_equiv_init): Adjust. + * reload1.c (eliminate_regs_1): Likewise. + (init_eliminable_invariants): Likewise. + +2015-05-02 Trevor Saunders + + * cselib.c (fp_setter_insn): Take a rtx_insn *. + * cselib.h (fp_setter_insn): Adjust. + +2015-05-02 Trevor Saunders + + * recog.c (struct validate_replace_src_data): Change type of + insn field to rtx_insn *. + (validate_replace_src_group): Change type of argument to rtx_insn *. + * recog.h (validate_replace_src_group): Adjust. + +2015-05-02 Trevor Saunders + + * haifa-sched.c: Change the type of some variables to rtx_insn *. + * sched-deps.c: Likewise. + * sched-int.h: Likewise. + * sched-rgn.c: Likewise. + * sel-sched.c: Likewise. + +2015-05-02 Trevor Saunders + + to rtx_insn *. + * config/i386/i386.c: Change the type of some arguments to + rtx_insn *. + * config/arm/arm.c: Likewise. + +2015-05-02 Trevor Saunders + + * lra-constraints.c: Change type of some arguments to rtx_insn *. + +2015-05-02 Trevor Saunders + + * regcprop.c (kill_autoinc_value): Change type of argument to + rtx_insn *. + +2015-05-02 Trevor Saunders + + * genrecog.c (print_subroutine): Adjust. + * recog.c (get_bool_attr_mask_uncached): Likewise. + * recog.h (struct recog_data_d): Change the type of insn to + rtx_insn *. + +2015-05-02 Trevor Saunders + + * dwarf2cfi.c (add_cfi_insn): Change type to rtx_insn *. + +2015-05-02 Trevor Saunders + + * df-problems.c (df_set_note): Change type of argument to + rtx_insn *. + +2015-05-02 Trevor Saunders + + * builtins.c (expand_builtin_trap): Change type of local + variable to rtx_insn *. + (add_sched_insns_for_speculation): Likewise. + (ix86_emit_save_regs): Likewise. + (get_scratch_register_on_entry): Likewise. + (ix86_emit_restore_reg_using_pop): Likewise. + (ix86_emit_leave): Likewise. + (ix86_emit_restore_regs_using_mov): Likewise. + (ix86_expand_epilogue): Likewise. + Likewise. + (rl78_alloc_physical_registers_umul): Likewise. + * cselib.c (discard_useless_locs): Likewise. + (cselib_invalidate_regno): Likewise. + (cselib_invalidate_mem): Likewise. + * function.c (expand_function_start): Likewise. + (emit_use_return_register_into_block): Likewise. + * gcse.c: Likewise. + * haifa-sched.c (ok_for_early_queue_removal): Likewise. + * ifcvt.c (noce_get_alt_condition): Likewise. + * loop-doloop.c (doloop_condition_get): Likewise. + * lra-constraints.c (inherit_in_ebb): Likewise. + * modulo-sched.c (sms_schedule_by_order): Likewise. + * recog.c (next_insn_tests_no_inequality): Likewise. + * reorg.c (emit_delay_sequence): Likewise. + (update_reg_dead_notes): Likewise. + (fix_reg_dead_note): Likewise. + (fill_slots_from_thread): Likewise. + (delete_computation): Likewise. + +2015-05-01 Sandra Loosemore + + * doc/extend.texi (Variable Attributes): Add menu and proper + @nodes to subsections. Move Microsoft Windows attributes to + their own subsection. + (Type Attributes): Reorganize introduction to remove duplicate + list of attributes. Add menu and proper @nodes to subsections. + Alphabetize the main table of common attributes. + +2015-05-01 Rasmus Villemoes + + * match.pd: New simplification patterns. + (x + (x & 1)) -> ((x + 1) & ~1) + (x & ~(x & y)) -> ((x & ~y)) + (x | ~(x | y)) -> ((x | ~y)) + +2015-05-01 Kyrylo Tkachov + + * target.def (attribute_table): Mention that struct attribute_spec + is defined in tree-core.h rather than tree.h + * doc/tm.texi: Regenerate. + +2015-05-01 Richard Sandiford + + * genrecog.c (test): Rename to rtx_test. Update rest of file + accordingly. + +2015-05-01 Andreas Schwab + + PR translation/65959 + * params.h (DEFPARAM): Rename msgid to nocmsgid. + +2015-05-01 Wilco Dijkstra + + * config/aarch64/aarch64-protos.h (tune_params): + Add min_div_recip_mul_sf and min_div_recip_mul_df fields. + * config/aarch64/aarch64.c (aarch64_min_divisions_for_recip_mul): + Return value depending on target. + (generic_tunings): Initialize new target settings. + (cortexa53_tunings): Likewise. + (cortexa57_tunings): Likewise. + (thunderx_tunings): Likewise. + (xgene1_tunings): Likewise. + +2015-05-01 Wilco Dijkstra + + * config/arm/aarch-cost-tables.h (cortexa53_extra_costs): + Make Cortex-A53 shift costs more accurate. + +2015-05-01 Kyrylo Tkachov + + * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle FLOAT and + UNSIGNED_FLOAT. + +2015-05-01 Wilco Dijkstra + + * config/aarch64/aarch64.c (aarch64_rtx_costs): + Calculate cost of op0 and op1 in PLUS and MINUS cases. + +2015-05-01 Kyrylo Tkachov + + * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case): + Add cost of op0 in the compare-with-fpzero case. + +2015-04-30 David Malcolm + + * builtins.c (fold_builtin_1): Remove spurious second + semicolon. + * cgraph.h (symtab_node::get_availability): Likewise. + * opts.c (common_handle_option): Remove spurious second semicolon. + * tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise. + * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Likewise. + +2015-04-30 Caroline Tice + + PR gcov-profile/65929 + * config/elfos.h (ASM_DECLARE_COLD_FUNCTION_NAME): New macro definition. + (ASM_DECLARE_COLD_FUNCTION_SIZE): New macro definition. + * doc/tm.texi.in (ASM_DECLARE_COLD_FUNCTION_NAME): Document new macro. + (ASM_DECLARE_COLD_FUNCTION_SIZE): Document new macro. + * doc/tm.texi: Regenerate. + * final.c (final_scan_insn): Use ASM_DECLARE_COLD_FUNCTION_NAME + instead of ASM_DECLARE_FUNCTION_NAME for cold partition name. + * varasm.c (assemble_end_function): Use ASM_DECLARE_COLD_FUNCTION_SIZE + instead of ASM_DECLARE_FUNCTION_SIZE for cold partition size. + +2015-04-30 Marek Polacek + + * varasm.c (handle_cache_entry): Fix logic. + +2015-04-30 Kyrylo Tkachov + + * config/aarch64/aarch64.md (*extr5_insn_alt): New pattern. + (*extrsi5_insn_uxtw_alt): Likewise. + * config/aarch64/aarch64.c (aarch64_extr_rtx_p): New function. + (aarch64_rtx_costs, IOR case): Use above to properly cost extr + operations. + +2015-04-30 Kyrylo Tkachov + + * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle pattern for + fabd in ABS case. + +2015-04-30 Kyrylo Tkachov + + * config/aarch64/aarch64.md + (*eor_one_cmpl_3_alt): New pattern. + (*eor_one_cmpl_sidi3_alt_ze): Likewise. + * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle MVN-shift + appropriately. Handle alternative EON form. + +2015-04-30 Renlin Li + + * config/aarch64/aarch64-simd.md (vec_shr): Defined as an unspec. + * config/aarch64/iterators.md (unspec): Add UNSPEC_VEC_SHR. + +2015-04-30 Jan Hubicka + + PR ipa/65873 + * ipa-inline.c (can_inline_edge_p): It is safe to inline across + -fstrict-aliasing boundaries. + +2015-04-30 Kyrylo Tkachov + + * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Handle MNEG + and [SU]MNEGL patterns. + +2015-04-30 Kyrylo Tkachov + + * config/aarch64/aarch64.c (aarch64_shift_p): New function. + (aarch64_rtx_mult_cost): Update comment to reflect that it also handles + combined arithmetic-shift ops. Properly handle all shift and extend + operations that can occur in combination with PLUS/MINUS. + Rename maybe_fma to compound_p. + (aarch64_rtx_costs): Use aarch64_shift_p when costing compound + arithmetic and shift operations. + +2015-04-30 Kyrylo Tkachov + + * config/aarch64/aarch64.c (aarch64_rtx_costs): Use extend_arith + rather than arith_shift cost when costing ADD/MINUS of an + extended value. + +2015-04-30 Jan Hubicka + + PR lto/65948 + * ipa-devirt.c (odr_types_equivalent_p): NULLPTR_TYPE is equivalent + to itself. + +2015-04-30 Richard Sandiford + + * genrecog.c (simplify_tests): Check that CONST_INT and XWINT tests + are for the same position. + +2015-04-29 Aditya Kumar + + * tree-vectorizer.c (set_uid_loop_bbs): New. Factored out of + vectorize_loops. + (vectorize_loops): Use it. + +2015-04-29 Jan Hubicka + + * ipa-devirt.c (odr_subtypes_equivalent_p): Compare TYPE_NAME only + for aggregate types. + (register_odr_type): Be ready for MAIN_VARIANT of ODR type + type to be non_ODR. + * tree.c (need_assembler_name_p): Compute mangled name for + non-fundamental types and integer types. + +2015-04-29 Mikhail Maltsev + + * dojump.c (do_compare_rtx_and_jump): Use std::swap instead of + manual swaps. + * expr.c (expand_expr_real_2): Likewise. + +2015-04-29 Jan Hubicka + + * tree.c (build_common_builtin_nodes): Do not build + __builtin_alloca_with_align as equivalent of library alloca. + +2015-04-29 Jan Hubicka + + * dwarf2out.c (gen_type_die_with_usage): Call verify_type. + * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Do not produce + bugus variants. + * tree.c: Include print-tree.h and ipa-utils.h + (free_lang_data_in_type): Clear TYPE_VFIELD leaked by C FE. + (free_lang_data_in_cgraph): Call verify_type. + (verify_type_variant): New function. + (verify_type): New function. + * tree.h (verify_type): Declare. + +2015-04-29 Steve Ellcey + + * config/mips/mips-cpus.def: (mips4): Change default processor + from PROCESSOR_R8000 to PROCESSOR_R10000. + +2015-04-29 Petar Jovanovic + + * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Fix the macro to use + la/jalr instead of jal. + +2015-04-29 Uros Bizjak + + PR target/65871 + * config/i386/i386.md (*bmi_bextr__ccz): New pattern. + (*bmi2_bzhi_3_1_ccz): Ditto. + (setcc+movzbl peephole2): Check also clobbered reg. + (setcc+andl peephole2): Ditto. + +2015-04-29 Thomas Schwinge + + PR libgomp/65099 + * config/nvptx/mkoffload.c (target_ilp32): New variable. + (main): Set it depending on "-foffload-abi=[...]". + (compile_native, main): Use it to pass "-m32" or "-m64" to the + compiler. + +2015-04-29 Alan Lawrence + + PR target/65770 + * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane, + vec_store_lanesci_lane, vec_store_lanesxi_lane): + Flip lane index back at assembly time for bigendian. + +2015-04-29 Thomas Schwinge + + * tree.h (OMP_STANDALONE_CLAUSES): New macro. + * gimplify.c (gimplify_omp_workshare): Use it. + +2015-04-29 Richard Sandiford + + * Makefile.in (build/genrecog.o): Depend on inchash.h. + (build/genrecog$(build_exeext): Depend on build/hash-table.o and + build/inchash.o + * genrecog.c: Rewrite most of the code except for the third page. + +2015-04-29 Richard Sandiford + + * inchash.h, inchash.c: Include bconfig.h for build objects. + * Makefile.in (build/inchash.o): New rule. + +2015-04-29 Yvan Roux + + PR target/65924 + * config/arm/thumb2.md (*thumb2_addsi3_compare0_scratch): Fix operand + number in type attribute expression. + +2015-04-29 Richard Sandiford + + * loop-iv.c (canon_condition): Generalize to all types of integer + constant. + +2015-04-29 Bernhard Reuther-Fischer + + * gimple-walk.c: Prune duplicate or unneeded includes. + (walk_gimple_asm): Only call parse_input_constraint or + parse_output_constraint if their findings are used. + Honour parse_input_constraint and parse_output_constraint + result. + +2015-04-29 Alan Lawrence + + * config/arm/neon.md (vec_shl, vec_shr): Remove. + +2015-04-29 Tom de Vries + + PR tree-optimization/65893 + * passes.def (pass_all_optimizations): Move pass_stdarg to after + pass_dce. + +2015-04-29 Richard Biener + + * tree-vect-data-refs.c (vect_analyze_group_access): Properly + compute GROUP_SIZE for basic-block SLP. + * tree-vect-slp.c (vect_get_place_in_interleaving_chain): Properly + take into account gaps. + (vect_get_mask_element): Properly reject references to previous + vectors. + (vect_transform_slp_perm_load): Likewise. + +2015-04-29 Christian Bruel + + PR target/64835 + * config/i386/i386.c (ix86_default_align): New function. + (ix86_override_options_after_change): Call ix86_default_align. + (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New hook. + (ix86_override_options_after_change): New function. + +2015-04-28 Jeff Law + + * tree-ssa-dom.c (record_equality); Fix comment typos. + +2015-04-28 Tom de Vries + + PR tree-optimization/65887 + * gimplify.c (gimplify_modify_expr): Remove ifn_va_arg ap fixup. + +2015-04-28 Sandra Loosemore + + * doc/extend.texi (Declaring Attributes of Functions): Split into + subsections by target. Alphabetize the table of common attributes. + Rewrite some of the introductory text to reflect the new structure. + Update some cross-references to point to the new subsections. + (Attribute Syntax): Put paragraph about "__" naming here. Remove + duplicate copies in the discussion of function, label, and type + attributes. + +2015-04-28 Dominique d'Humieres + + PR bootstrap/65910 + * varasm.c (assemble_end_function): Guard ASM_DECLARE_FUNCTION_SIZE. + +2015-04-28 Jason Merrill + + PR c++/65734 + * stor-layout.c (layout_type): Layout the TYPE_MAIN_VARIANT. + (finalize_type_size): Respect TYPE_USER_ALIGN. + (layout_type) [ARRAY_TYPE]: Likewise. + +2015-04-28 Yvan Roux + + * config/arm/arm.md (*arm_movt): Fix type attribute. + (*cmpsi_shiftsi): Likewise. + (*cmpsi_shiftsi_swp): Likewise. + (*movsicc_insn): Likewise. + (*cond_move): Likewise. + (*if_plus_move): Likewise. + (*if_move_plus): Likewise. + (*if_arith_move): Likewise. + (*if_move_arith): Likewise. + (*if_shift_move): Likewise. + (*if_move_shift): Likewise. + (*arm_movtas_ze): Likewise. + * config/arm/thumb2.md (*thumb2_movsicc_insn): Fix alternative + redundancy and type attribute. + (*thumb2_movsi_insn): Fix type attribute. + (*thumb2_addsi_short): Likewise. + (thumb2_addsi3_compare0): Likewise. + (*thumb2_addsi3_compare0_scratch): Merge alternatives and fix + attributes accordingly. + +2015-04-28 Markus Trippelsdorf + + PR other/65911 + * function.c (pad_to_arg_alignment): Add parentheses. + +2015-04-28 Uros Bizjak + + * config/frv/frv.h (CRT_GET_RFIB_DATA): Move definition to + libgcc/config/frv/elf-lib.h. + +2015-04-28 Tom de Vries + + * tree-call-cdce.c: Fix example in header comment. + +2015-04-28 Richard Biener + + PR tree-optimization/62283 + * tree-vect-slp.c (vect_build_slp_tree): When the SLP build + fails fatally and we are vectorizing a basic-block simply + cause the child to be constructed piecewise. + (vect_analyze_slp_cost_1): Adjust. + (vect_detect_hybrid_slp_stmts): Likewise. + (vect_bb_slp_scalar_cost): Likewise. + (vect_get_constant_vectors): For piecewise constructed + constants place them after the last def. + (vect_get_slp_defs): Adjust. + * tree-vect-stmts.c (vect_is_simple_use): Detect in-BB + externals for basic-block vectorization. + +2015-04-28 Thomas Preud'homme + + PR target/63503 + * config.gcc: Add cortex-a57-fma-steering.o to extra_objs for + aarch64-*-*. + * config/aarch64/t-aarch64: Add a rule for cortex-a57-fma-steering.o. + * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Define. + (AARCH64_TUNE_FMA_STEERING): Likewise. + * config/aarch64/aarch64-cores.def: Set + AARCH64_FL_USE_FMA_STEERING_PASS for cores with dynamic steering of + FMUL/FMADD instructions. + * config/aarch64/aarch64.c (aarch64_register_fma_steering): Declare. + (aarch64_override_options): Include cortex-a57-fma-steering.h. Call + aarch64_register_fma_steering () if AARCH64_TUNE_FMA_STEERING is true. + * config/aarch64/cortex-a57-fma-steering.h: New file. + * config/aarch64/cortex-a57-fma-steering.c: Likewise. + +2015-04-28 Richard Sandiford + + * gensupport.c (std_preds): Add missing codes to address_operand entry. + +2015-04-28 Richard Biener + + PR tree-optimization/65851 + * tree-ssa-ccp.c (set_lattice_value): Perform a meet when + changing CONSTANT to CONSTANT non-copy. Get new_val by reference. + (ccp_lattice_meet): Remove stray argument. Use operand_equal_p + rather than simple_cst_equal as the latter doesn't handle COMPLEX_CST. + (ccp_visit_phi_node): Adjust. + (evaluate_stmt): For simplifications to SSA names return its + lattice value if that isn't VARYING. Return immediately when + simplified to a constant. + (visit_assignment): Adjust. + (ccp_visit_stmt): Likewise. + +2015-04-28 Tom de Vries + + PR tree-optimization/65818 + * tree-stdarg.c (expand_ifn_va_arg_1): Ensure that side-effects are + evaluated. + +2015-04-27 Trevor Saunders + + * calls.c (save_fixed_argument_area): Don't check + ARGS_GROW_DOWNWARD with the preprocessor. + (restore_fixed_argument_area): Likewise. + (mem_overlaps_already_clobbered_arg_p): Likewise. + (check_sibcall_argument_overlap): Likewise. + (expand_call): Likewise. + (emit_library_call_value_1): Likewise. + (store_one_arg): Likewise. + * function.c (assign_parms): Likewise. + (locate_and_pad_parm): Likewise. + (pad_to_arg_alignment): Likewise. + * targhooks.c (std_gimplify_va_arg_expr): Likewise. + +2015-04-27 Trevor Saunders + + * config/pa/pa.h (ARGS_GROW_DOWNWARD): Define to 1. + * defaults.h (ARGS_GROW_DOWNWARD): Define it to 0 by default. + * calls.c (save_fixed_argument_area): Don't chekc if + ARGS_GROW_DOWNWARD is defined. + (restore_fixed_argument_area): Likewise. + (mem_overlaps_already_clobbered_arg_p): Likewise. + (check_sibcall_argument_overlap): Likewise. + (expand_call): Likewise. + (emit_library_call_value_1): Likewise. + (store_one_arg): Likewise. + * function.c (assign_parms): Likewise. + (locate_and_pad_parm): Likewise. + (pad_to_arg_alignment): Likewise. + * targhooks.c (std_gimplify_va_arg_expr): Likewise. + +2015-04-27 Trevor Saunders + + * defaults.h (gen_epilogue): New function. + * alias.c (init_alias_analysis): don't check if HAVE_epilogue is + defined. + * cfgrtl.c (cfg_layout_finalize): Likewise. + * df-scan.c: Likewise. + * function.c (thread_prologue_and_epilogue_insns): Likewise. + (reposition_prologue_and_epilogue_notes): Likewise. + * reorg.c (find_end_label): Likewise. + * toplev.c: Likewise. + +2015-04-27 Trevor Saunders + + * bb-reorder.c (HAVE_return): Don't check if its undefined. + * defaults.h (gen_simple_return): New function. + (gen_simple_return): Likewise. + (HAVE_return): Add default definition to false. + (HAVE_simple_return): Likewise. + * cfgrtl.c (force_nonfallthru_and_redirect): Remove checks if + HAVE_return and HAVE_simple_return are defined. + * function.c (gen_return_pattern): Likewise. + (convert_jumps_to_returns): Likewise. + (thread_prologue_and_epilogue_insns): Likewise. + * reorg.c (find_end_label): Likewise. + (dbr_schedule): Likewise. + * shrink-wrap.c: Likewise. + * shrink-wrap.h: Likewise. + +2015-04-27 Trevor Saunders + + * defaults.h (EPILOGUE_USES): Add default definition of false. + * df-scan.c (EPILOGUE_USES): Remove check if its undefined. + * resource.c (init_resource_info): Likewise. + +2015-04-27 Trevor Saunders + + * defaults.h (PCC_BITFIELD_TYPE_MATTERS): Add default definition + to false. + * dwarf2out.c (field_byte_offset): REmove check if + PCC_BITFIELD_TYPE_MATTERS is defined. + * stor-layout.c (layout_decl): Likewise. + (update_alignment_for_field): Likewise. + (place_field): Likewise. + +2015-04-27 Trevor Saunders + + * defaults.h (HARD_REGNO_RENAME_OK): Add default definition to + true. + * regrename.c (check_new_reg_p): Remove check if + HARD_REGNO_RENAME_OK is defined. + * sel-sched.c (sel_hard_regno_rename_ok): Likewise. + +2015-04-27 Trevor Saunders + + * calls.c (prepare_call_address): Remove ifdef NO_FUNCTION_CSE. + * cse.c (fold_rtx): Likewise. + * config/alpha/alpha.h (NO_FUNCTION_CSE): Define to 1. + * config/arc/arc.h (NO_FUNCTION_CSE): Likewise. + * config/avr/avr.h (NO_FUNCTION_CSE): Likewise. + * config/cr16/cr16.h (NO_FUNCTION_CSE): Likewise. + * config/epiphany/epiphany.h (NO_FUNCTION_CSE): Likewise. + * config/frv/frv.h (NO_FUNCTION_CSE): Likewise. + * config/h8300/h8300.h (NO_FUNCTION_CSE): Likewise. + * config/i386/i386.h (NO_FUNCTION_CSE): Likewise. + * config/ia64/ia64.h (NO_FUNCTION_CSE): Likewise. + * config/lm32/lm32.h (enum reg_class) (NO_FUNCTION_CSE): + * Likewise. + * config/m32r/m32r.h (NO_FUNCTION_CSE): Likewise. + * config/mep/mep.h (NO_FUNCTION_CSE): Likewise. + * config/mn10300/mn10300.h (NO_FUNCTION_CSE): Likewise. + * config/nds32/nds32.h (NO_FUNCTION_CSE): Likewise. + * config/nios2/nios2.h (NO_FUNCTION_CSE): Likewise. + * config/pa/pa.h (NO_FUNCTION_CSE): Likewise. + * config/rs6000/rs6000.h (NO_FUNCTION_CSE): Likewise. + * config/s390/s390.h (NO_FUNCTION_CSE): Likewise. + * config/sparc/sparc.h (NO_FUNCTION_CSE): Likewise. + * config/spu/spu.h (NO_FUNCTION_CSE): Likewise. + * config/stormy16/stormy16.h (NO_FUNCTION_CSE): Likewise. + * config/v850/v850.h (NO_FUNCTION_CSE): Likewise. + * defaults.h (NO_FUNCTION_CSE): Provide default definition to 0. + * doc/tm.texi: Regenerate. + * doc/tm.texi.in: Document NO_FUNCTION_CSE is always defined to + either true or false. + +2015-04-27 Jeff Law + + PR tree-optimization/65217 + * tree-ssa-dom.c (record_equality): Given two SSA_NAMEs, if just one + of them has a single use, make sure it is the LHS of the implied + copy. + +2015-04-28 Alan Modra + + PR target/65810 + * config/rs6000/rs6000.c (POWERPC64_TOC_POINTER_ALIGNMENT): Define. + (offsettable_ok_by_alignment): Use minimum of decl and toc + pointer alignment. Replace dead code with assertion. + (use_toc_relative_ref): Add mode arg. Return false in -mcmodel=medium + case if size exceeds toc pointer alignment. + (rs6000_legitimize_reload_address): Update use_toc_relative_ref call. + (rs6000_emit_move): Likewise. + * configure.ac: Add linker toc pointer alignment check. + * configure: Regenerate. + * config.in: Regenerate. + +2015-04-27 Yoshinori Sato + + * config.gcc: Add h8300-*-linux. + * config/h8300/linux.h: New. + * config/h8300/t-linux: New. + * config/h8300/h8300.c (h8300_option_override): Normal mode + is not supported for h8300-*-linux. + (h8300_file_start): Target priority change. + (get_shift_alg): Likewise. + (h8300_shift_need_scratch_p): Likewise. + * config/h8300/h8300.h (TARGET_CPU_CPP_BUILTINS): Likewise. + * config/h8300/h8300.md (define_peephole2): Remove duplicate condition. + +2015-04-27 Caroline Tice + + * final.c (final_scan_insn): Output cold_function_name as function + type. + * varasm.c (cold_function_name): Make global. + (assemble_start_function): Re-set cold_function_name. + (assemble_end_function): Output cold partition size. + * varasm.h (cold_function_name): Declare global. + +2015-04-27 Ilya Tocar + + * config/i386/i386.h (EXT_REX_SSE_REG_P): New. + * config/i386/i386.md (*cmpi_mixed): Use "v" + constraint. + (*movxi_internal_avx512f): Ditto. + (define_split): Check for xmm16+, when splitting scalar float_extend. + (*extendsfdf2_mixed): Use "v" constraint. + (define_split): Check for xmm16+, when splitting scalar float_truncate. + (*truncdfsf_fast_sse): Use "v" constraint. + (fix_trunc_sse): Ditto. + (*float2_sse): Ditto. + (define_peephole2): Check for xmm16+, when converting scalar + float_truncate. + (define_peephole2): Check for xmm16+, when converting scalar + float_extend. + (*fop__comm_mixed): Use "v" constraint. + (*fop__comm_sse): Ditto. + (*fop__1_mixed): Ditto. + (*sqrt2_sse): Ditto. + (*ieee_s3): Ditto. + +2015-04-27 Kyrylo Tkachov + + * combine.c (simplify_if_then_else): Use std::swap instead + of manually swapping. + (known_cond): Likewise. + (simplify_comparison): Likewise. + +2015-04-27 Peter Bergner + + PR target/64579 + * config/rs6000/htm.md: Remove all define_expands. + (UNSPECV_HTM_TABORTDC, UNSPECV_HTM_TABORTDCI, UNSPECV_HTM_TABORTWC, + UNSPECV_HTM_TABORTWCI): Remove. + (UNSPECV_HTM_TABORTXC, UNSPECV_HTM_TABORTXCI, UNSPECV_HTM_TTEST): New. + (tabort_internal, tbegin_internal, tcheck_internal, tend_internal, + trechkpt_internal, treclaim_internal, tsr_internal): Rename from this... + (tabort, tbegin, tcheck, tend, trechkpt, treclaim, tsr): ...to this. + (tabortdc_internal, tabortdci_internal, tabortwc_internal, + tabortwci_internal): Remove define_insns. + (tabortc, tabortci): New define_insns. + (tabort): Use gpc_reg_operand. + (tcheck): Remove operand. + (htm_mfspr_, htm_mtspr_): Use GPR mode macro. + * config/rs6000/htmxlintrin.h (__TM_end): Use _HTM_TRANSACTIONAL as + expected value. + * config/rs6000/rs6000-builtin.def (BU_HTM_SPR0): Remove. + (BU_HTM_SPR1): Rename to BU_HTM_V1. Remove use of RS6000_BTC_SPR. + (tabort, tabortdc, tabortdci, tabortwc, tabortwci, tbegin, + tcheck, tend, tendall, trechkpt, treclaim, tresume, tsuspend, + tsr, ttest): Pass in the RS6000_BTC_CR attribute. + (get_tfhar, set_tfhar, get_tfiar, set_tfiar, get_texasr, set_texasr, + get_texasru, set_texasru): Pass in the RS6000_BTC_SPR attribute. + (tcheck): Remove builtin argument. + * config/rs6000/rs6000.c (rs6000_htm_spr_icode): Use TARGET_POWERPC64 + not TARGET_64BIT. + (htm_expand_builtin): Fix usage of expandedp. Disallow usage of the + tabortdc and tabortdci builtins when not in 64-bit mode. + Modify code to handle the loss of the HTM define_expands. + Emit code to copy the CR register to TARGET. + (htm_init_builtins): Modify code to handle the loss of the HTM + define_expands. + * config/rs6000/rs6000.h (RS6000_BTC_32BIT): Delete. + (RS6000_BTC_64BIT): Likewise. + (RS6000_BTC_CR): New macro. + * doc/extend.texi: Update documentation for htm builtins. + +2015-04-27 Kyrylo Tkachov + + * simplify-rtx.c (simplify_gen_binary): Use std::swap instead + of manually swapping. + (simplify_associative_operation): Likewise. + (simplify_binary_operation): Likewise. + (simplify_plus_minus): Likewise. + (simplify_relational_operation): Likewise. + (simplify_ternary_operation): Likewise. + +2015-04-27 Richard Sandiford + + * config/stormy16/predicates.md (xs_hi_general_operand): Delete. + (xs_hi_nonmemory_operand): Remove error. + * config/stormy16/stormy16.md (movhi, movhi_internal): Use + general_operand rather than xs_hi_general_operand. + +2015-04-27 Richard Biener + + * tree-ssa-dom.c (record_equivalences_from_phis): Valueize PHI arg. + (record_equivalences_from_stmt): Valueize rhs. + (record_equality): Canonicalize x and y order via + tree_swap_operands_p. Do not swap operands for same loop depth. + +2015-04-27 Georg-Johann Lay + + PR target/65296 + PR target/65895 + * config/avr/gen-avr-mmcu-specs.c (print_mcu): Close file. + Add hint how to use own spec file. + +2015-04-27 Jakub Jelinek + + PR tree-optimization/65875 + * tree-vrp.c (update_value_range): If in is_new case setting + old_vr to VR_VARYING, also set new_vr to it. Remove + old_vr->type == VR_VARYING test. + (vrp_visit_phi_node): Return SSA_PROP_VARYING instead of + SSA_PROP_INTERESTING if update_value_range returned true, + but new range is VR_VARYING. + +2015-04-27 Thomas Preud'homme + + * combine.c (sign_extend_short_imm): New. + (set_nonzero_bits_and_sign_copies): Use above new function for sign + extension of src short immediate. + (reg_nonzero_bits_for_combine): Likewise for tem. + +2015-04-27 Eric Botcazou + + * stor-layout.c (self_referential_component_ref_p): New predicate. + (copy_self_referential_tree_r): Use it. + (self_referential_size): Punt for simple operations directly involving + self-referential component references. + * tree-cfg.c (dump_function_to_file): Add missing final curly bracket. + +2015-04-27 Eric Botcazou + + * ipa-icf.c (icf_handled_component_p): Remove redundant tests. + +2015-04-27 Richard Sandiford + + * vec.h (vec): Make splice arguments const. Update definitions + accordingly. + +2015-04-27 Yvan Roux + + * config/arm/arm.md (*arm_subsi3_insn): Fixed redundant + alternatives. + +2015-04-26 Tom de Vries + + PR tree-optimization/65826 + * internal-fn.def: Mark VA_ARG with ECF_LEAF. + +2015-04-24 Steve Ellcey + + * config/mips/mips.md: (*madd4) Remove accum_in attribute. + (*madd3): Ditto. + (*msub4): Ditto. + (*msub3): Ditto. + (*nmadd4): Ditto. + (*nmadd3): Ditto. + (*nmadd4_fastmath): Ditto. + (*nmadd3_fastmath): Ditto. + (*nmsub4): Ditto. + (*nmsub3): Ditto. + (*nmsub4_fastmath): Ditto. + (*nmsub3_fastmath): Ditto. + +2015-04-24 Jason Merrill + + PR c++/50800 + * tree.c (build_reference_type_for_mode): Don't pass can_alias_all + down when building TYPE_CANONICAL. + (build_pointer_type_for_mode): Likewise. + +2015-04-24 Chen Gang + + * genrecog.c (validate_pattern): Check matching constraint refers + to a lower numbered operand. + +2015-04-24 Michael Meissner + + PR target/65849 + * config/rs6000/rs6000.opt (-mvsx-align-128): Make options that + save to independent variables use the Save attribute. This will + allow these options to be modified with the #pragma/attribute + target support. + (-mallow-movmisalign): Likewise. + (-mallow-df-permute): Likewise. + (-msched-groups): Likewise. + (-malways-hint): Likewise. + (-malign-branch-targets): Likewise. + (-mvectorize-builtins): Likewise. + (-msave-toc-indirect): Likewise. + + * config/rs6000/rs6000.c (rs6000_opt_masks): Add more options that + can be set via the #pragma/attribute target support. + (rs6000_opt_vars): Likewise. + (rs6000_inner_target_options): If VSX was set, also set + -mno-avoid-indexed-addresses. + +2015-04-24 Kyrylo Tkachov + + * config/arm/iterators.md (shiftable_ops): Rename to... + (SHIFTABLE_OPS): ... This. Update use in comments. + (ior_xor): Rename to... + (IOR_XOR): ... This. + (vqh_ops): Rename to... + (VQH_OPS): ... This. + (vqhs_ops): Rename to... + (VQHS_OPS): ... This. + (rshifts): Rename to... + (RSHIFTS): ... This. + (returns): Rename to... + (RETURNS): ... This. + * config/arm/arm.md: Update uses of the above. + * config/arm/neon.md: Likewise. + +2014-04-24 Kyrylo Tkachov + + * config.host (case ${host}): Add aarch64*-*-linux case. + * config/aarch64/aarch64-cores.def: Add IMPLEMENTER_ID and PART_NUMBER + fields to all the cores. + * config/aarch64/aarch64-elf.h (DRIVER_SELF_SPECS): + Add MCPU_MTUNE_NATIVE_SPECS. + * config/aarch64/aarch64-option-extensions.def: Add FEATURE_STRING + field to all extensions. + * config/aarch64/aarch64-opts.h: Adjust definition of AARCH64_CORE. + * config/aarch64/aarch64.c: Adjust definition of AARCH64_CORE. + Adjust definition of AARCH64_OPT_EXTENSION. + * config/aarch64/aarch64.h: Adjust definition of AARCH64_CORE. + (MCPU_MTUNE_NATIVE_SPECS): Define. + * config/aarch64/driver-aarch64.c: New file. + * config/aarch64/x-arch64: New file. + * doc/invoke.texi (AArch64 Options): Document native value for -mcpu, + -mtune and -march. + +2015-04-24 Uros Bizjak + Wei Mi + + * config/i386/i386-protos.h (ix86_operands_ok_for_move_multiple): New. + * config/i386/i386.c (extract_base_offset_in_addr): New function. + (ix86_operands_ok_for_move_multiple): Ditto. + * config/i386/sse.md (movsd/movhpd to movupd peephole2): New pattern. + (movlpd/movhpd to movupd peephole2): Ditto. + +2015-04-24 Marek Polacek + + PR c/61534 + * input.h (from_macro_expansion_at): Define. + + PR c/63357 + * doc/invoke.texi: Update description of -Wlogical-op. + +2015-04-24 Thomas Preud'homme + + * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): fix + ternary operator in fprintf and harmonize spacing. + +2015-04-24 Uros Bizjak + + * config/i386/sse.md (*vec_widen_smult_even_v8si): + Mark operand1 commutative. + +2015-04-24 Uros Bizjak + + * config/i386/sse.md (*vec_concatv2sf_sse4_1): Do not allow both + input operands in memory. + (*vec_concatv2si_sse4_1): Ditto. + (*vec_concatv2df): Ditto, except for SSE3 and equal input operands. + (vec_extract_lo_): Change operand 1 predicate to + register_operand. + (vec_extract_hi_v32hi): Ditto. + (vec_extract_hi_v64hi): Ditto. + (avx512f_unpckhpd512): Ditto. + +2015-04-24 Thomas Preud'homme + Steven Bosscher + + PR rtl-optimization/34503 + * cprop.c (cprop_reg_p): New. + (hash_scan_set): Use above function to check if register can be + propagated. + (find_avail_set): Return up to two sets, one whose source is a + register and one whose source is a constant. Sets are returned in an + array passed as parameter rather than as a return value. + (cprop_insn): Use a do while loop rather than a goto. Try each of the + sets returned by find_avail_set, starting with the one whose source is + a constant. Use cprop_reg_p to check if register can be propagated. + (do_local_cprop): Use cprop_reg_p to check if register can be + propagated. + (implicit_set_cond_p): Likewise. + +2015-04-23 Jan Hubicka + + * ipa-icf.c (sem_function::equals_wpa): Compare thunk info. + (sem_function::equals): IGNORED_NODES parameter is now unused; + update call of equals_private. + (sem_function::equals_private): Do not call equals_wpa; skip + gimple body matching if there is no body. + (sem_function::init): Add logic to hash tthunk info. + (sem_function::parse): Also parse thunks. + * ipa-icf.h (equals_private): Update declaration. + +2015-04-23 Bill Schmidt + + * config/rs6000/altivec.md (*altivec_lvx__internal): Remove + asterisk from name so this can be generated directly. + (*altivec_stvx__internal): Likewise. + * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Add assert + that this is never called during or after reload/lra. + (rs6000_frame_related): Remove split_reg + argument and logic that references it. + (emit_frame_save): Remove last parameter from call to + rs6000_frame_related. + (rs6000_emit_prologue): Remove last parameter from eight calls to + rs6000_frame_related. Force generation of stvx instruction for + Altivec register saves. Remove split_reg handling, which is no + longer needed. + (rs6000_emit_epilogue): Force generation of lvx instruction for + Altivec register restores. + +2015-04-23 Bill Schmidt + + * config/rs6000/rs6000.opt (mcrypto): Change option description to + match category changes in ISA 2.07B. + +2015-04-23 Kyrylo Tkachov + + * config/arm/iterators.md (GTGE, GTUGEU, COMPARISONS): New code + iterators. + (cmp_op, cmp_type): New code attributes. + (NEON_VCMP, NEON_VACMP): New int iterators. + (cmp_op_unsp): New int attribute. + * config/arm/neon.md (neon_vc): New define_expand. + (neon_vceq): Delete. + (neon_vc_insn): New pattern. + (neon_vc_insn_unspec): Likewise. + (neon_vcgeu): Delete. + (neon_vcle): Likewise. + (neon_vclt: Likewise. + (neon_vcage): Likewise. + (neon_vcagt): Likewise. + (neon_vca): New define_expand. + (neon_vca_insn): New pattern. + (neon_vca_insn_unspec): Likewise. + +2015-04-23 Jan Hubicka + + * tree.h (attribute_value_equal): Declare. + * tree.c (attribute_value_equal): Export. + +2015-04-23 Jan Hubicka + + * ipa-icf.c (sem_item::compare_attributes): New function. + (sem_item::compare_referenced_symbol_properties): Compare variable + attributes. + (sem_item::hash_referenced_symbol_properties): Record DECL_ALIGN. + (sem_function::param_used_p): New function. + (sem_function::equals_wpa): Fix attribute comparsion; match + parameter type codes; do not compare paremter flags when + they are not used; compare edge flags; compare indirect calls. + (sem_item::update_hash_by_addr_refs): Hash reference type. + (sem_function::equals_private): Do not match DECL_ATTRIBUTES. + (sem_variable::equals_wpa): Do not match DECL_ALIGN; match + reference use type. + (sem_item_optimizer::update_hash_by_addr_refs): Use param_used_p. + * ipa-icf.h (compare_attributes, param_used_p): Declare. + +2015-04-23 Jan Hubicka + + * ipa-icf.c (symbol_compare_collection::symbol_compare_collection): + cleanup. + (sem_function::get_hash): Do not hash DECL_DISREGARD_INLINE_LIMITS, + DECL_DECLARED_INLINE_P and DECL_IS_OPERATOR_NEW. + (sem_item::compare_referenced_symbol_properties): New. + (sem_item::hash_referenced_symbol_properties): New. + (sem_item::compare_cgraph_references): Rename to ... + (sem_item::compare_symbol_references): ... this one; use + compare_referenced_symbol_properties. + (sem_function::equals_wpa): Do not compare + DECL_DISREGARD_INLINE_LIMITS, DECL_DECLARED_INLINE_P, + DECL_IS_OPERATOR_NEW; compare pointer sizes. + (sem_item::update_hash_by_addr_refs): Call + hash_referenced_symbol_properties. + (sem_item::update_hash_by_local_refs): Cleanup. + (sem_function::merge): Do not mix up symbol properties. + (sem_variable::equals_wpa): Use compare_symbol_references. + * ipa-icf.h (sem_item::compare_referenced_symbol_properties): New. + (sem_item::hash_referenced_symbol_properties): New. + (sem_item::compare_symbol_references): New. + (sem_item::compare_cgraph_references): Remove. + +2015-04-23 Kwok Cheung Yeung + + PR target/26702 + * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): + Emit size of local. + +2015-04-23 Nick Clifton + + * config/rl78/rl78.c (rl78_preferred_reload_class): Add + ATTRIBUTE_UNUSED to x parameter. + * config/rl78/rl78-opts.h (enum rl78_mul_types): Remove unused MUL_RL78. + +2015-04-23 Bill Schmidt + + * config/rs6000/crypto.md (crypto_vpmsum): Change + TARGET_CRYPTO to TARGET_P8_VECTOR> + (crypto_vpermxor_): Likewise. + * config/rs6000/rs6000-builtin.def (BU_CRYPTO_2A): New #define. + (BU_CRYPTO_3A): Likewise. + (BU_CRYPTO_OVERLOAD_2A): Rename from BU_CRYPTO_OVERLOAD_2. + (BU_CRYPTO_OVERLOAD_3A): New #define. + (VPMSUMB): Change from BU_CRYPTO_2 to BU_CRYPTO_2A. + (VPMSUMH): Likewise. + (VPMSUMW): Likewise. + (VPMSUMD): Likewise. + (VPERMXOR_V2DI): Change from BU_CRYPTO_3 to BU_CRYPTO_3A. + (VPERMXOR_V4SI): Likewise. + (VPERMXOR_V8HI): Likewise. + (VPERMXOR_V16QI): Likewise. + (VPMSUM): Change from BU_CRYPTO_OVERLOAD_2 to + BU_CRYPTO_OVERLOAD_2A. + (VPERMXOR): Change from BU_CRYPTO_OVERLOAD3 to + BU_CRYPTO_OVERLOAD_3A. + * config/rs6000/rs6000.opt (mcrypto): Change description of + option. + +2015-04-23 Richard Biener + + * passes.def: Remove copy propagation passes run directly after CCP. + * tree-ssa-ccp.c (get_value_for_expr): Fall back to a COPY for + SSA names. + (ccp_visit_phi_node): Rework to handle first executable edge + specially. + +2015-04-23 Matthew Wahab + + * config/arm/arm.h (LEGITIMIZE_RELOAD_ADDRESS): Remove. + (ARM_LEGITIMIZE_RELOAD_ADDRESS): Remove. + (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Remove. + * config/arm/arm.c (arm_legimitimize_reload_address): Remove. + (thumb_legimitimize_reload_address): Remove. + * config/arm/arm-protos.h (arm_legimitimize_reload_address): + Remove. + (thumb_legimitimize_reload_address): Remove. + +2015-04-23 Kyrylo Tkachov + + * conditions.h (CC_STATUS_INIT): Gate on #ifndef CC_STATUS_INIT. + +2015-04-23 Kyrylo Tkachov + + * config/arm/arm.md (load_multiple): Reject operand 2 greater than + MAX_LDM_STM_OPS. + (store_multiple): Likewise. + +2015-04-23 Kyrylo Tkachov + + * config/arm/arm-protos.h (struct tune_params): Add issue_rate field. + * config/arm/arm.c (arm_slowmul_tune, arm_fastmul_tune, + arm_strongarm_tune, arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, + arm_cortex_tune, arm_cortex_a8_tune, arm_cortex_a7_tune, + arm_cortex_a15_tune, arm_cortex_a53_tune, arm_cortex_a57_tune, + arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, + arm_fa726te_tune arm_cortex_a5_tune, arm_xgene1_tune): + Specify issue_rate value. + (arm_issue_rate): Look up issue rate from tuning structs. Remove + large switch statement. + (arm_marvell_pj4_tune): New struct. + * config/arm/arm-cores.def (marvell-pj4): Use arm_marvell_pj4_tune + struct. + +2015-04-23 Richard Biener + + * tree-vect-slp.c (vect_find_first_load_in_slp_instance): Remove. + (vect_find_last_store_in_slp_instance): Rename to ... + (vect_find_last_scalar_stmt_in_slp): ... this and generalize. + (vect_analyze_slp_cost_1): Use vector_load for constant defs + and vec_construct for external defs when estimating prologue cost. + (vect_analyze_slp_instance): Do not init SLP_INSTANCE_FIRST_LOAD_STMT. + Compute costs here only when vectorizing loops. + (vect_slp_analyze_bb_1): Compute SLP cost here, after vector types + have been determined. + (vect_schedule_slp_instance): Simplify vectorized code placement + and prepare for in-BB external defs. + * tree-vectorizer.h (struct _slp_instance): Remove first_load member. + (SLP_INSTANCE_FIRST_LOAD_STMT): Remove. + * tree-vect-stmts.c (vect_model_store_cost): Remove PURE_SLP_STMT + guard. + (vect_model_load_cost): Likewise. + (vectorizable_store): Instead add it here. + (vectorizable_load): Likewise. + (vect_is_simple_use): Dump def type textually. + +2015-04-23 Richard Biener + + * cfgexpand.c (expand_gimple_stmt_1): Use ops.code. + * cfgloop.c (verify_loop_structure): Verify the root loop node. + * except.c (duplicate_eh_regions): Call get_eh_region_from_lp_number_fn + instead of get_eh_region_from_lp_number. + * loop-init.c (fix_loop_structure): If we removed a loop, reset + the SCEV cache. + +2015-04-23 Anton Blanchard + + * config/rs6000/rs6000.c (rs6000_output_function_prologue): No + need for -mprofile-kernel to save LR to stack. + +2015-04-22 Bill Schmidt + + * config/rs6000/rs6000.c (rtx_is_swappable_p): Commentary + adjustments. + (insn_is_swappable_p): Return 1 for a convert from double to + single precision when all of its uses are splats of BE element + zero. + +2015-04-23 Kugan Vivekanandarajah + + * ira-costs.c (record_operand_costs): Fix typo (remove redundant code). + +2015-04-22 Bill Schmidt + + PR target/65456 + * config/rs6000/rs6000.c (rs6000_option_override_internal): For + VSX + POWER8, enable TARGET_ALLOW_MOVMISALIGN and + TARGET_EFFICIENT_UNALIGNED_VSX if not selected by command line + option. + (rs6000_builtin_mask_for_load): Return 0 for targets with + efficient unaligned VSX accesses so that the vectorizer will use + direct unaligned loads. + (rs6000_builtin_support_vector_misalignment): Always return true + for targets with efficient unaligned VSX accesses. + (rs6000_builtin_vectorization_cost): Cost of unaligned loads and + stores on targets with efficient unaligned VSX accesses is almost + always the same as the cost of an aligned load or store, so model + it that way. + * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Return 0 for + unaligned vectors if we have efficient unaligned VSX accesses. + * config/rs6000/rs6000.opt (mefficient-unaligned-vector): New + undocumented option. + +2015-04-22 Kyrylo Tkachov + + Revert: + 2015-04-22 Gregor Richards + + * config.gcc (LIBC_MUSL): New tm_defines macro. + * config/linux.h (OPTION_MUSL): Define. + (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,) + (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,) + (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define. + + * config/linux.opt (mmusl): New option. + * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*. + (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*. + + * configure: Regenerate. + +2015-04-22 Gregor Richards + + * config.gcc (LIBC_MUSL): New tm_defines macro. + * config/linux.h (OPTION_MUSL): Define. + (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,) + (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,) + (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define. + + * config/linux.opt (mmusl): New option. + * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*. + (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*. + + * configure: Regenerate. + +2015-04-22 Yury Gribov + + * doc/invoke.texi (-fsanitize-sections): Update description. + * asan.c (set_sanitized_sections): Parse incoming arg. + (section_sanitized_p): Support wildcards. + +2015-04-22 Tom de Vries + + PR tree-optimization/65823 + * gimplify.c (gimplify_modify_expr): Use operand_equal_p to test for + equality between ap_copy and ap. + +2015-04-22 Bernhard Reutner-Fischer + + PR target/47098 + * config/openbsd-oldgas.h (OBSD_LIB_SPEC): Add. + +2015-04-22 Bernhard Reutner-Fischer + + PR target/47122 + * config.gcc (vax-*-openbsd*): Fix name of pthread spec header. + +2015-04-22 Bernhard Reutner-Fischer + + PR target/55144 + * config.gcc (bfin*-linux-uclibc*): Prepend tmake_file and + remove already contained t-files. + +2015-04-22 Bernhard Reutner-Fischer + + * tree-tailcall.c (suitable_for_tail_opt_p, find_tail_calls): + Remove unneeded forward declarations. + (suitable_for_tail_call_opt_p): Commentary typo fix. + +2015-04-22 Bernhard Reutner-Fischer + + * varasm.c (emit_bss): Remove redundant guard. + +2015-04-22 Bernhard Reutner-Fischer + + * config/c6x/c6x.h (TARGET_CPU_CPP_BUILTINS): Add unk_isa. + +2015-04-22 Bernhard Reutner-Fischer + + * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Add BFIN_CPU_UNKNOWN. + +2015-04-22 Hale Wang + Terry Guo + + PR rtl-optimization/64818 + * combine.c (can_combine_p): Don't combine user-specified + register if it is in an asm input. + +2015-04-21 Jan Hubicka + + PR ipa/65076 + * passes.def (early_optimizations): Add pass_dse. + +2015-04-21 Trevor Saunders + + * defaults.h (INSN_REFERENCES_ARE_DELAYED): New definition. + * reorg.c (redundant_insn): Remove ifdef + INSN_REFERENCES_ARE_DELAYED. + * resource.c (mark_referenced_resources): Likewise. + +2015-04-21 Trevor Saunders + + * defaults.h (INSN_SETS_ARE_DELAYED): New definition. + * reorg.c (redundant_insn): Remove ifdef INSN_SETS_ARE_DELAYED. + * resource.c (mark_set_resources): Likewise. + +2015-04-21 Trevor Saunders + + * caller-save.c (insert_one_insn): Remove ifdef HAVE_cc0. + * cfgcleanup.c (flow_find_cross_jump): Likewise. + (flow_find_head_matching_sequence): Likewise. + (try_head_merge_bb): Likewise. + * combine.c (can_combine_p): Likewise. + (try_combine): Likewise. + (distribute_notes): Likewise. + * df-problems.c (can_move_insns_across): Likewise. + * final.c (final): Likewise. + * gcse.c (insert_insn_end_basic_block): Likewise. + * ira.c (find_moveable_pseudos): Likewise. + * reorg.c (try_merge_delay_insns): Likewise. + (fill_simple_delay_slots): Likewise. + (fill_slots_from_thread): Likewise. + * sched-deps.c (sched_analyze_2): Likewise. + +2015-04-21 Trevor Saunders + + * df-scan.c (df_get_entry_block_def_set): Remove #ifdef + PIC_OFFSET_TABLE_REGNUM. + +2015-04-21 Trevor Saunders + + * alias.c (init_alias_target): Remove ifdef + * HARD_FRAME_POINTER_IS_FRAME_POINTER. + * df-scan.c (df_insn_refs_collect): Likewise. + (df_get_regular_block_artificial_uses): Likewise. + (df_get_eh_block_artificial_uses): Likewise. + (df_get_entry_block_def_set): Likewise. + (df_get_exit_block_use_set): Likewise. + * emit-rtl.c (gen_rtx_REG): Likewise. + * ira.c (ira_setup_eliminable_regset): Likewise. + * reginfo.c (init_reg_sets_1): Likewise. + * regrename.c (rename_chains): Likewise. + * reload1.c (reload): Likewise. + (eliminate_regs_in_insn): Likewise. + * resource.c (mark_referenced_resources): Likewise. + (init_resource_info): Likewise. + +2015-04-21 Trevor Saunders + + * defaults.h (MASK_RETURN_ADDR): New definition. + * except.c (expand_builtin_extract_return_addr): Remove ifdef + MASK_RETURN_ADDR. + +2015-04-21 Trevor Saunders + + * defaults.h (RETURN_ADDR_OFFSET): New definition. + * except.c (expand_builtin_extract_return_addr): Remove ifdef + RETURN_ADDR_OFFSET. + (expand_builtin_frob_return_addr): Likewise. + +2015-04-21 Trevor Saunders + + * cfgrtl.c (rtl_merge_blocks): Change #if HAVE_cc0 to if (HAVE_cc0) + (try_redirect_by_replacing_jump): Likewise. + (rtl_tidy_fallthru_edge): Likewise. + * combine.c (insn_a_feeds_b): Likewise. + (find_split_point): Likewise. + (simplify_set): Likewise. + * cprop.c (cprop_jump): Likewise. + * cse.c (cse_extended_basic_block): Likewise. + * df-problems.c (can_move_insns_across): Likewise. + * function.c (emit_use_return_register_into_block): Likewise. + * haifa-sched.c (sched_init): Likewise. + * ira.c (find_moveable_pseudos): Likewise. + * loop-invariant.c (find_invariant_insn): Likewise. + * lra-constraints.c (curr_insn_transform): Likewise. + * postreload.c (reload_combine_recognize_const_pattern): + * Likewise. + * reload.c (find_reloads): Likewise. + * reorg.c (delete_scheduled_jump): Likewise. + (steal_delay_list_from_target): Likewise. + (steal_delay_list_from_fallthrough): Likewise. + (redundant_insn): Likewise. + (fill_simple_delay_slots): Likewise. + (fill_slots_from_thread): Likewise. + (delete_computation): Likewise. + * sched-rgn.c (add_branch_dependences): Likewise. + +2015-04-21 Trevor Saunders + + * genconfig.c (main): Always define HAVE_cc0. + * caller-save.c (insert_one_insn): Change ifdef HAVE_cc0 to #if + HAVE_cc0. + * cfgcleanup.c (flow_find_cross_jump): Likewise. + (flow_find_head_matching_sequence): Likewise. + (try_head_merge_bb): Likewise. + * cfgrtl.c (rtl_merge_blocks): Likewise. + (try_redirect_by_replacing_jump): Likewise. + (rtl_tidy_fallthru_edge): Likewise. + * combine.c (do_SUBST_MODE): Likewise. + (insn_a_feeds_b): Likewise. + (combine_instructions): Likewise. + (can_combine_p): Likewise. + (try_combine): Likewise. + (find_split_point): Likewise. + (subst): Likewise. + (simplify_set): Likewise. + (distribute_notes): Likewise. + * cprop.c (cprop_jump): Likewise. + * cse.c (cse_extended_basic_block): Likewise. + * df-problems.c (can_move_insns_across): Likewise. + * final.c (final): Likewise. + (final_scan_insn): Likewise. + * function.c (emit_use_return_register_into_block): Likewise. + * gcse.c (insert_insn_end_basic_block): Likewise. + * haifa-sched.c (sched_init): Likewise. + * ira.c (find_moveable_pseudos): Likewise. + * loop-invariant.c (find_invariant_insn): Likewise. + * lra-constraints.c (curr_insn_transform): Likewise. + * optabs.c (prepare_cmp_insn): Likewise. + * postreload.c (reload_combine_recognize_const_pattern): + * Likewise. + * reload.c (find_reloads): Likewise. + (find_reloads_address_1): Likewise. + * reorg.c (delete_scheduled_jump): Likewise. + (steal_delay_list_from_target): Likewise. + (steal_delay_list_from_fallthrough): Likewise. + (try_merge_delay_insns): Likewise. + (redundant_insn): Likewise. + (fill_simple_delay_slots): Likewise. + (fill_slots_from_thread): Likewise. + (delete_computation): Likewise. + (relax_delay_slots): Likewise. + * sched-deps.c (sched_analyze_2): Likewise. + * sched-rgn.c (add_branch_dependences): Likewise. + +2015-04-21 Trevor Saunders + + * combine.c (find_single_use): Remove HAVE_cc0 ifdef for code + that is trivially ded on non cc0 targets. + (simplify_set): Likewise. + (mark_used_regs_combine): Likewise. + * cse.c (new_basic_block): Likewise. + (fold_rtx): Likewise. + (cse_insn): Likewise. + (cse_extended_basic_block): Likewise. + (set_live_p): Likewise. + * rtlanal.c (canonicalize_condition): Likewise. + * simplify-rtx.c (simplify_binary_operation_1): Likewise. + +2015-04-21 Trevor Saunders + + * conditions.h: Define macros even if HAVE_cc0 is undefined. + * emit-rtl.c: Define functions even if HAVE_cc0 is undefined. + * final.c: Likewise. + * jump.c: Likewise. + * recog.c: Likewise. + * recog.h: Declare functions even when HAVE_cc0 is undefined. + * sched-deps.c (sched_analyze_2): Always compile case for cc0. + +2015-04-21 Trevor Saunders + + * defaults.h: New definition of EH_RETURN_DATA_REGNO. + * except.c: Remove definition of EH_RETURN_DATA_REGNO. + * builtins.c (expand_builtin): Remove check if + EH_RETURN_DATA_REGNO is defined. + * df-scan.c (df_bb_refs_collect): Likewise. + (df_get_exit_block_use_set): Likewise. + * haifa-sched.c (initiate_bb_reg_pressure_info): Likewise. + * ira-lives.c (process_bb_node_lives): Likewise. + * lra-lives.c (process_bb_lives): Likewise. + +2015-04-21 Uros Bizjak + + * config/i386/i386.md (ARGP_REG, FRAME_REG, BND2_REG, BND3_REG, + FIRST_PSEUDO_REG): New. + * config/i386/i386.h (STACK_POINTER_REGNUM): Define to SP_REG. + (ARG_POINTER_REGNUM): Define to ARGP_REG. + (FRAME_POINTER_REGNUM): Define to FRAME_REG. + (HARD_FRAME_POINTER_REGNUM): Define to BP_REG. + (FIRST_PSEUDO_REGISTER): Define to FIRST_PSEUDO_REG. + (FIRST_INT_REG): New. + (LAST_INT_REG): New. + (FIRST_*_REG): Define using *_REG. + (LAST_*_REG): Ditto. + (QI_REGNO_P): Define using FIRST_QU_REG and LAST_QI_REG. + (LEGACY_INT_REGNO_P): Define using FIRST_INT_REG and LAST_INT_REG. + (FIRST_FLOAT_REG): Define to FIRST_STACK_REG. + +2015-04-21 Kyrylo Tkachov + + * expmed.c: (synth_mult): Only assume overlapping + shift with previous steps in alg_sub_t_m2 case. + +2015-04-21 Richard Biener + + PR tree-optimization/65650 + * tree-ssa-ccp.c (valid_lattice_transition): Allow lattice + transitions involving copies. + (set_lattice_value): Adjust for copy lattice state. + (ccp_lattice_meet): Do not merge UNDEFINED and a copy to the copy + if that doesn't dominate the merge point. + (bit_value_unop): Adjust what we treat as varying mask. + (bit_value_binop): Likewise. + (bit_value_assume_aligned): Likewise. + (evaluate_stmt): When we simplified to a SSA name record a copy + instead of dropping to varying. + (visit_assignment): Simplify. + + * gimple-match.h (gimple_simplify): Add another callback. + * gimple-fold.c (fold_stmt_1): Adjust caller. + (gimple_fold_stmt_to_constant_1): Likewise - pass valueize + for the 2nd callback. + * gimple-match-head.c (gimple_simplify): Add a callback that is + used to valueize the stmt operands and use it that way. + +2015-04-21 Richard Biener + + PR tree-optimization/65788 + * tree-ssa-ccp.c (evaluate_stmt): Evaluate to UNDEFINED early. + +2015-04-21 Richard Biener + + * config/i386/i386.c (ix86_builtin_vectorization_cost): Scale + vec_construct cost by vec_stmt_cost. + +2015-04-21 Richard Biener + + * cfghooks.h (create_basic_block): Replace with two overloads + for RTL and GIMPLE. + (split_block): Likewise. + * cfghooks.c (split_block): Rename to ... + (split_block_1): ... this. + (split_block): Add two type-safe overloads for RTL and GIMPLE. + (split_block_after_labels): Call split_block_1. + (create_basic_block): Rename to ... + (create_basic_block_1): ... this. + (create_basic_block): Add two type-safe overloads for RTL and GIMPLE. + (create_empty_bb): Call create_basic_block_1. + * cfgrtl.c (fixup_fallthru_exit_predecessor): Use + split_block_after_labels. + * omp-low.c (expand_parallel_call): Likewise. + (expand_omp_target): Likewise. + (simd_clone_adjust): Likewise. + * tree-chkp.c (chkp_get_entry_block): Likewise. + * cgraphunit.c (init_lowered_empty_function): Use the GIMPLE + create_basic_block overload. + (cgraph_node::expand_thunk): Likewise. + * tree-cfg.c (make_blocks): Likewise. + (handle_abnormal_edges): Likewise. + * tree-inline.c (copy_bb): Likewise. + +2015-04-21 Kyrylo Tkachov + + * config/aarch64/aarch64.md (*_one_cmplsidi3_ze): + New pattern. + (*xor_one_cmplsidi3_ze): Likewise. + +2015-04-21 Thomas Preud'homme + + * df-core.c (df_finish_pass): Iterate over df->problems_by_index[] and + use df_remove_problem rather than manually removing problems, leaving + holes in df->problems_in_order[]. + +2015-04-21 Tom de Vries + + PR tree-optimization/65802 + * internal-fn.def (VA_ARG): Add ECF_NOTROW to flags. + +2015-04-21 Kyrylo Tkachov + + * common/config/aarch64/aarch64-common.c (AARCH64_CPU_NAME_LENGTH): + Increase to 128. + (aarch64_rewrite_selected_cpu): Do not chop off extensions starting + at '.'. Assert that there's enough space for everything. + +2015-04-21 Uros Bizjak + + PR tree-optimization/64950 + Revert: + 2010-08-02 Uros Bizjak + + PR target/41089 + * config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset + as volatile. + +2015-04-20 Shiva Chen + + PR rtl-optimization/64916 + * cfgcleanup.c (values_equal_p): New function. + (can_replace_by): Use it. + +2015-04-20 Paolo Carlini + + PR c++/65801 + * doc/invoke.texi ([-Wnarrowing]): Update. + +2015-04-20 Jeff Law + + PR tree-optimization/65658 + * tree-ssa-threadupdate.c (redirection_block_p): Remove + redundant test for GIMPLE_ASSIGN in last change. + +2015-04-20 Uros Bizjak + + * config/i386/i386.c (set_pic_reg_ever_live): Remove. + (legitimize_pic_address): Do not call set_pic_reg_ever_live. + (legitimize_tls_address): Ditto. + (ix86_expand_move): Ditto. + (ix86_expand_binary_operator): Remove reload_in_progress checks. + (ix86_expand_unary_operator): Ditto. + * config/i386/predicates.md (index_register_operand): Ditto. + +2015-04-20 Selim Belbachir + + * reorg.c (try_merge_delay_insns): Improve correctness checking + for targets with multiple delay slots. + +2015-04-20 Jeff Law + + PR tree-optimization/65658 + * tree-ssa-threadupdate.c (redirection_block_p): Ignore clobber + statements too. + +2015-04-20 Alan Lawrence + + * config/aarch64/aarch64.c (aarch64_simd_emit_pair_result_insn): Delete. + * config/aarch64/aarch64-protos.h (aarch64_simd_emit_pair_result_insn): + Delete. + +2015-04-20 Jakub Jelinek + + PR debug/65807 + * dwarf2out.c (add_AT_wide): Clear attr.dw_attr_val.val_entry. + +2015-04-20 Richard Biener + + * gimple-fold.h (gimple_build): Remove optional valueize arguments. + * gimple-fold.c (gimple_build_valueize): New function. + (gimple_build): Always use gimple_build_valueize as valueize hook. + +2015-04-20 Alan Lawrence + + PR target/64134 + * config/aarch64/aarch64.c (aarch64_expand_vector_init): Load constant + and overwrite variable parts if <= 1/2 the elements are variable. + +2015-04-19 Vladimir Makarov + + PR rtl-optimization/65805 + * lra-eliminations.c (lra_eliminate_regs_1): Add new assert. + Don't use difference of offset and previous offset if + update_sp_offset is non-zero. + (eliminate_regs_in_insn): Ditto. + * lra-spills.c (remove_pseudos): Exchange 4th and 6th args in + lra_eliminate_regs_1 call. + * lra-constraints.c (get_equiv_with_elimination): Ditto. + +2015-04-18 Trevor Saunders + + * hash-table.h: Remove version of hash_table that stored value_type *. + * asan.c, attribs.c, bitmap.c, cfg.c, cgraph.h, config/arm/arm.c, + config/i386/winnt.c, config/ia64/ia64.c, config/mips/mips.c, + config/sol2.c, coverage.c, cselib.c, dse.c, dwarf2cfi.c, + dwarf2out.c, except.c, gcse.c, genmatch.c, ggc-common.c, + gimple-ssa-strength-reduction.c, gimplify.c, haifa-sched.c, + hard-reg-set.h, hash-map.h, hash-set.h, ipa-devirt.c, ipa-icf.h, + ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c, + loop-iv.c, loop-unroll.c, lto-streamer.h, plugin.c, postreload-gcse.c, + reginfo.c, statistics.c, store-motion.c, trans-mem.c, tree-cfg.c, + tree-eh.c, tree-hasher.h, tree-into-ssa.c, tree-parloops.c, + tree-sra.c, tree-ssa-coalesce.c, tree-ssa-dom.c, tree-ssa-live.c, + tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c, + tree-ssa-pre.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c, + tree-ssa-structalias.c, tree-ssa-tail-merge.c, + tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h, + valtrack.h, var-tracking.c, vtable-verify.c, vtable-verify.h: Adjust. + +2015-04-17 Bill Schmidt + Jakub Jelinek + + PR target/65787 + * config/rs6000/rs6000.c (rtx_is_swappable_p): Ensure that a + subsequent SH_NONE operand does not overwrite an existing *special + value. + (adjust_extract): Handle case where a vec_extract operation is + wrapped in a PARALLEL. + +2015-04-17 H.J. Lu + + PR target/65780 + * config/i386/i386.c (ix86_binds_local_p): Define only if + TARGET_MACHO and TARGET_DLLIMPORT_DECL_ATTRIBUTES are false. + +2015-04-17 Jeff Law + + PR tree-optimization/47679 + * Makefile.in (OBJS); Add tree-ssa-scopedtables.o. + * tree-ssa-scopedtables.c: New file. + * tree-ssa-scopedtables.h: New file. + * tree-ssa-dom.c: Include tree-ssa-scopedtables.h. + (const_and_copies): Change name/type. + (record_const_or_copy): Move into tree-ssa-scopedtables.c + (record_const_or_copy_1): Similarly. + (restore_vars_to_original_value): Similarly. + (pass_dominator::execute): Create and destroy const_and_copies table. + (thread_across_edge): Update passing of const_and_copies. + (record_temporary_equivalence): Use method calls rather than + manipulating const_and_copies directly. + (record_equality, cprop_into_successor_phis): Similarly. + (dom_opt_dom_walker::before_dom_children): Similarly. + (dom_opt_dom_walker::after_dom_children): Similarly. + (eliminate_redundant_computations): Similarly. + * tree-ssa-threadedge.c (remove_temporary_equivalences): Delete. + (record_temporary_equivalence): Likewise. + (invalidate_equivalences): Likewise. + (record_temporary_equivalences_from_phis): Update due to type + change of const_and_copies. Use method calls rather than + manipulating the stack directly. + (record_temporary_equivalences_from_stmts_at_dest): Likewise. + (thread_through_normal_block, thread_across_edge): Likewise. + (thread_across_edge): Likewise. + * tree-ssa-threadedge.h (thread_across_edge): Update prototype. + * tree-vrp.c: Include tree-ssa-scopedtables.h. Change type + of equiv_stack. + (identify_jump_threads): Update due to type change of equiv_stack. + (finalize_jump_threads): Delete the equiv_stack when complete. + +2015-04-17 Uros Bizjak + + * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): Remove. + * config/i386/i386.c (ix86_legitimize_reload_address): Ditto. + * config/i386/i386-protos.h (ix86_legitimize_reload_address): Ditto. + +2015-04-17 Andreas Tobler + + PR target/65535 + * config.gcc: Exit with a comment when we do not have a major version + number for the FreeBSD target. + +2015-04-17 Jakub Jelinek + + PR target/65689 + * genpreds.c (struct constraint_data): Add maybe_allows_reg and + maybe_allows_mem bitfields. + (maybe_allows_none_start, maybe_allows_none_end, + maybe_allows_reg_start, maybe_allows_reg_end, maybe_allows_mem_start, + maybe_allows_mem_end): New variables. + (compute_maybe_allows): New function. + (add_constraint): Use it to initialize maybe_allows_reg and + maybe_allows_mem fields. + (choose_enum_order): Sort the non-is_register/is_const_int/is_memory/ + is_address constraints such that those that allow neither mem nor + reg come first, then those that only allow reg but not mem, then + those that only allow mem but not reg, then the rest. + (write_allows_reg_mem_function): New function. + (write_tm_preds_h): Call it. + * stmt.c (parse_output_constraint, parse_input_constraint): Use + the generated insn_extra_constraint_allows_reg_mem function + instead of always setting *allows_reg = true; *allows_mem = true; + for unknown extra constraints. + +2015-04-17 H.J. Lu + + PR target/65780 + * output.h (default_binds_local_p_3): New. + * varasm.c (default_binds_local_p_3): Make it public. Take an + argument to indicate if common symbol may be local. If common + symbol may be local, treat non-external variable as defined + locally. + (default_binds_local_p_2): Pass !flag_pic to default_binds_local_p_3. + (default_binds_local_p_1): Pass false to default_binds_local_p_3. + * config/i386/i386.c (ix86_binds_local_p): New. + (TARGET_BINDS_LOCAL_P): Replace default_binds_local_p_2 with + ix86_binds_local_p. + +2015-04-17 Jakub Jelinek + + PR debug/65771 + * dwarf2out.c (mem_loc_descriptor): For CONST, fallback to + trying mem_loc_descriptor on XEXP (rtl, 0). + +2015-04-17 Martin Liska + + * ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs): + Release symbol_compare_collection. + * ipa-reference.c: Add TODO that a vector should be released. + +2015-04-17 Sivanupandi Pitchumani + + PR target/65296 + * config/avr/gen-avr-mmcu-specs.c (*avrlibc_startfile): Adjust + to new AVR-LibC file layout (bug #44574). + (*avrlibc_devicelib): Same. + * config/avr/avr-mcus.def: Adjust comments. + * config/avr/avr.opt (nodevicelib): Adjust help. + +2015-04-17 Alan Lawrence + + * config/aarch64/arm_neon.h (vdup_n_f32): Remove forward declaration. + +2015-04-17 Patrick Palka + + PR c++/64527 + * gimplify.c (gimplify_init_constructor): Always emit a + side-effecting constructor. + +2015-04-17 Tom de Vries + + PR tree-optimization/64950 + * gimplify.c (gimplify_function_tree): Tentatively set PROP_gimple_lva + in cfun->curr_properties. + (gimplify_va_arg_expr): Clear PROP_gimple_lva in cfun->curr_properties + if we generate an IFN_VA_ARG. + * tree-inline.c (expand_call_inline): Reset PROP_gimple_lva in dest + function if PROP_gimple_lva is not set in src function. + +2015-04-17 Tom de Vries + Michael Matz + + PR tree-optimization/64950 + * gimple-iterator.c (update_modified_stmts): Remove static. + * gimple-iterator.h (update_modified_stmts): Declare. + * gimplify.c (gimplify_modify_expr): Handle IFN_VA_ARG. + (gimplify_va_arg_internal): New function. + (gimplify_va_arg_expr): Use IFN_VA_ARG. + * gimplify.h (gimplify_va_arg_internal): Declare. + * internal-fn.c (expand_VA_ARG): New unreachable function. + * internal-fn.def (VA_ARG): New DEF_INTERNAL_FN. + * tree-stdarg.c (gimple_call_ifn_va_arg_p, expand_ifn_va_arg_1) + (expand_ifn_va_arg): New function. + (pass_data_stdarg): Add PROP_gimple_lva to properties_provided field. + (pass_stdarg::execute): Call expand_ifn_va_arg. + (pass_data_lower_vaarg): New pass_data. + (pass_lower_vaarg): New gimple_opt_pass. + (pass_lower_vaarg::gate, pass_lower_vaarg::execute) + (make_pass_lower_vaarg): New function. + * cfgexpand.c (pass_data_expand): Add PROP_gimple_lva to + properties_required field. + * passes.def (all_passes): Add pass_lower_vaarg. + * tree-pass.h (PROP_gimple_lva): Add define. + (make_pass_lower_vaarg): Declare. + +2015-04-17 Tom de Vries + + * fold-const.c (operand_equal_p): Handle INTERNAL_FNs. + * calls.c (call_expr_flags): Same. + +2015-04-17 Tom de Vries + + * tree-stdarg.c (optimize_va_list_gpr_fpr_size): Factor out of ... + (pass_stdarg::execute): ... here. + +2015-04-17 Tom de Vries + Michael Matz + + * tree-cfg.c (make_blocks_1): Factor out of ... + (make_blocks): ... here. + (make_edges_bb): Factor out of ... + (make_edges): ... here. + (gimple_find_sub_bbs): New function. + * tree-cfg.h (gimple_find_sub_bbs): Declare. + +2015-04-17 Tom de Vries + + * tree.c (free_lang_data): Disable lang_hooks.gimplify_expr. + +2015-04-17 Yury Gribov + + * asan.c (set_sanitized_sections): New function. + (section_sanitized_p): Ditto. + (asan_protect_global): Optionally sanitize user-defined + sections. + * asan.h (set_sanitized_sections): Declare new function. + * common.opt (fsanitize-sections): New option. + * doc/invoke.texi (-fsanitize-sections): Document new option. + * opts-global.c (handle_common_deferred_options): Handle new + option. + +2015-04-17 Jakub Jelinek + + PR debug/65771 + * dwarf2out.c (loc_list_from_tree): Return NULL + for DEBUG_EXPR_DECL. + +2015-04-17 Christian Bruel + + * ipa-inline.c (can_inline_edge_p): Allow inlining of functions with + same attributes. + +2015-04-16 Zhouyi Zhou + + * ira-color.c (setup_left_conflict_sizes_p): Do not process + node itself when computing left conflict subnode size. + +2015-04-16 Uros Bizjak + + * config/i386/predicates.md (register_mixssei387nonimm_operand): New. + * config/i386/i386.md (*fop__1_mixed): Merge with + *fop__1_sse using enabled attribute. Use + register_mixssei387nonimm_operand operand 1 predicate. Change + alternative 3 constraints from "x" to "v". + +2015-04-16 Richard Biener + + PR tree-optimization/65774 + * tree-ssa-ccp.c (evaluate_stmt): Constrain types we invoke + bit-value tracking on. + +2015-04-16 Richard Biener + + PR tree-optimization/64277 + * tree-vrp.c (check_array_ref): Fix anti-range handling, + simplify upper bound handling. + (search_for_addr_array): Simplify. + (check_array_bounds): Handle ADDR_EXPRs here. + (check_all_array_refs): Simplify. + +2015-04-16 Uros Bizjak + + * config/i386/i386.c (print_reg): Rewrite function. + +2015-04-16 Andreas Krebbel + + * config/s390/s390.h (IRA_HARD_REGNO_ADD_COST_MULTIPLIER): + Invert the condition. + +2015-04-16 Renlin Li + + * simplify-rtx.c (simplify_unary_operation_1): Fix a typo. Enable two + simplifications for UNSIGNED_FLOAT. + +2015-04-16 Nick Clifton + + * config/rl78/rl78-opts.h (enum rl78_mul_types): Add MUL_G14 and + MUL_UNINIT. + (enum rl78_cpu_type): New. + * config/rl78/rl78-virt.md (attr valloc): Add divhi and divsi. + (umulhi3_shift_virt): Remove m constraint from operand 1. + (umulqihi3_virt): Likewise. + * config/rl78/rl78.c (rl78_option_override): Add code to process + -mcpu and -mmul options. + (rl78_alloc_physical_registers): Add code to handle divhi and + divsi valloc attributes. + (set_origin): Likewise. + * config/rl78/rl78.h (RL78_MUL_G14): Define. + (TARGET_G10, TARGET_G13, TARGET_G14): Define. + (TARGET_CPU_CPP_BUILTINS): Define __RL78_MUL_xxx__ and + __RL78_Gxx__. + (ASM_SPEC): Pass -mcpu on to assembler. + * config/rl78/rl78.md (mulqi3): Add a clobber of AX. + (mulqi3_rl78): Likewise. + (mulhi3_g13): Likewise. + (mulhi3): Generate the G13 or G14 versions of the insn directly. + (mulsi3): Likewise. + (mulhi3_g14): Add clobbers of AX and BC. + (mulsi3_g14): Likewise. + (mulsi3_g13): Likewise. + (udivmodhi4, udivmodhi4_g14, udivmodsi4): New patterns. + (udivmodsi4_g14, udivmodsi4_g13): New patterns. + * config/rl78/rl78.opt (mmul): Initialise value to + RL78_MUL_UNINIT. + (mcpu): New option. + (m13, m14, mrl78): New option aliases. + * config/rl78/t-rl78 (MULTILIB_OPTIONS): Add mg13 and mg14. + (MULTILIB_DIRNAMES): Add g13 and g14. + * doc/invoke.texi: Document -mcpu and -mmul options. + +2015-04-16 Richard Biener + + * tree-ssa-ccp.c (likely_value): See if we have operands that + are marked as never simulate again and return CONSTANT in this + case. + * tree-ssa-propagate.c (simulate_stmt): Mark stmts that do + not have any operands that will be simulated again as + not being simulated again. + +2015-04-15 Uros Bizjak + + * config/i386/i386.md (*cmpi_mixed): + Merge with *cmpi_sse using enabled attribute. + (*extendsfdf2_mixed): Merge with *extendsfdf2_sse using enabled + attribute. + (*truncdfsf_fast_mixed): Merge with *truncdfsf_fast_sse using + enabled attribute. + (*float2_mixed): Rename from + *float2_sse. + (*absneg2_mixed): Merge with *absneg2_sse using + enabled attribute. + (*fop__comm_mixed): Merge with *fop__comm_sse using + enabled attribute. + +2015-04-15 Tom de Vries + + PR other/65487 + * function.c (push_dummy_function): New function. + (init_dummy_function_start): Use push_dummy_function. + (pop_dummy_function): New function. Factored out of ... + (expand_dummy_function_end): ... here. + * function.h (push_dummy_function, pop_dummy_function): Declare. + * passes.c (pass_manager::dump_passes): Use push_dummy_function and + pop_dummy_function. + * tree-chkp.c (chkp_gate): Handle cgraph_node::get (cfun->decl) == NULL. + +2015-04-15 Jeff Law + + PR tree-optimization/47679 + * tree-ssa-dom.c (build_and_record_new_cond): Moved to avoid + need for forward declaration in upcoming changes. + (record_conditions, record_edge_info): Likewise. + + PR rtl-optimization/42522 + * cse.c (fold_rtx): Try to simplify a ZERO_EXTRACT or + SIGN_EXTRACT as a whole object rather than simplifying + its operand. + +2015-04-15 Jakub Jelinek + + PR ipa/65765 + * ipa-icf-gimple.c (func_checker::compare_bb): For GIMPLE_NOP + and GIMPLE_PREDICT use break instead of return true. For + GIMPLE_EH_DISPATCH, compare dispatch region. + +2015-04-14 Matthew Wahab + + * doc/extend.texi (__sync Builtins): Simplify some text. Update + details about the implementation. Make clear preference for + __atomic builtins. Reduce possibility of future change. + +2015-04-15 Nick Clifton + + * config/rx/rx.opt (mallow-string-insns): New option. + * config/rx/rx.c (RX_BUILTIN_RMPA): Disable the use of this + builtin if string instructions are denied. + * config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Define + __RX_ALLOW_STRING_INSNS__ or __RX_DISALLOW_STRING_INSNS__, as + appropriate. + (ASM_SPEC): Pass -mno-allow-string-insns on to the assembler. + * config/rx/rx.md (movstr): Enable pattern only if string + instructions are allowed. + (rx_movstr, rx_strend, movmemsi, rx_movmem): Likewise. + (cmpstrnsi, cmpstrsi, rx_cmpstrn, rmpa): Likewise. + * config/rx/t-rx (MULTILIB_OPTIONS): Add mno-allow-string-insns. + (MULTILIB_DIRNAMES): Add no-strings. + * doc/invoke.texi: Document -mno-allow-string-insns. + +2015-04-15 Alan Modra + + PR target/65408 + PR target/58744 + PR middle-end/36043 + * calls.c (load_register_parameters): Don't load past end of + mem unless suitably aligned. + +2015-04-15 Nick Clifton + + * config/rl78/rl78.c (rl78_expand_prologue): Mark large stack + decrement instruction as being frame related. + (rl78_print_operand_1): Handle 'p' modifier to add +0 to HL + based addresses. + If zero extending a function address enclose the operation in + %code(...). + (rl78_preferred_reload_class): New function. + (TARGET_PREFERRED_RELOAD_CLASS): Define. + * config/rl78/rl78.md: Remove useless constraints in expanders. + (mulqi3_rl78): Remove + qualifier on input-only operand 1. + (mulhi3_rl78): Likewise. + (mulhi3_g13): Likewise. + (mulsi3_rl78): Likewise. + (es_addr): Move to before the multiply patterns. + +2015-04-15 Alan Modra + + * function.h (struct emit_status): Delete x_first_insn, x_last_insn + and sequence_stack. Add seq. + (seq_stack): Delete. + * function.c (prepare_function_start): Don't access x_last_insn. + * emit-rtl.h (get_current_sequence, get_topmost_sequence): New. + (get_insns, set_first_insn, get_last_insn, set_last_insn): Use them. + * emit_rtl.c (start_sequence, push_topmost_sequence, + pop_topmost_sequence, end_sequence, in_sequence_p, init_emit): Use + sequence accessors. + (get_last_insn_anywhere, add_insn_after_nobb, add_insn_before_nobb, + remove_insn): Likewise. Simplify. + * config/m32c/m32c.c (m32c_leaf_function_p): Use push_topmost_sequence + and pop_topmost_sequence. + (m32c_function_needs_enter): Use get_topmost_sequence. Ignore + debug insns. + * config/rs6000/rs6000.c (rs6000_call_aix): Use get_current_sequence. + +2015-04-14 Yvan Roux + + PR target/65729 + * lra-constraints.c (prohibited_class_reg_set_mode_p): Restore and fix + the assertiion. + +2015-04-14 Uros Bizjak + + * config/i386/i386.h (LEGACY_INT_REG_P): New define. + (LEGACY_INT_REGNO_P): Ditto. + (GENERAL_REGNO_P): Use LEGACY_INT_REGNO_P. + (ANY_MASK_REG_P): Remove. + (BND_REG_P): Rename from ANY_BND_REG_P. + * config/i386/i386.c (print_reg): Use LEGACY_INT_REG_P to print + legacy integer registers. Do not handle MMX_REG_P in a special way. + Merge 64byte and 32byte SSE handling. + +2015-04-14 Nick Clifton + + * expr.c (expand_assignment): Force an address offset computation + into a register before changing its mode. + (expand_expr_real_1): Likewise. + +2015-04-14 Alan Lawrence + + * config/aarch64/arm_neon.h (vst1_lane_f32, vst1_lane_f64, + vst1_lane_p8, vst1_lane_p16, vst1_lane_s8, vst1_lane_s16, + vst1_lane_s32, vst1_lane_s64, vst1_lane_u8, vst1_lane_u16, + vst1_lane_u32, vst1_lane_u64, vst1q_lane_f32, vst1q_lane_f64, + vst1q_lane_p8, vst1q_lane_p16, vst1q_lane_s8, vst1q_lane_s16, + vst1q_lane_s32, vst1q_lane_s64, vst1q_lane_u8, vst1q_lane_u16, + vst1q_lane_u32, vst1q_lane_u64): Reimplement with pointer dereference + and __aarch64_vget_lane_any. + +2015-04-14 Jakub Jelinek + + PR rtl-optimization/65761 + * cfgrtl.c (rtl_split_edge): For EDGE_CROSSING split, use + get_last_bb_insn (after) instead of NEXT_INSN (BB_END (after)). + +2015-04-14 Richard Biener + + * graphite-scop-detection.c: Do not include cp/cp-tree.h. + (graphite_can_represent_scev): Use POINTER_TYPE_P. + +2015-04-14 Richard Biener + + PR tree-optimization/65758 + * tree-ssa-ccp.c (get_value_from_alignment): Adjust mask test + against -1. + (ccp_lattice_meet): Likewise. + (bit_value_unop): Likewise. + (bit_value_binop): Likewise. + (bit_value_assume_aligned): Likewise. + +2015-04-14 Christian Bruel + + * execute_dwarf2_frame (dw_frame_pointer_regnum): Reinitialize for each + function. + +2015-04-14 Marc Glisse + + PR tree-optimization/63387 + * match.pd ((x unord x) | (y unord y) -> (x unord y), + (x unord x) | (x unord y) -> (x unord y)): New simplifications. + +2015-04-14 Uros Bizjak + + * config/i386/predicates.md (any_QIreg_operand): Rename from + q_regs_operand. Do not process subregs. + (QIreg_operand): Use QI_REGNO_P predicate. + (ext_QIreg_operand): Ditto. + (ext_register_operand): Ditto. + * config/i386/i386.md (TEST splitters): Use QIreg_operand predicate. + (AND splitters): Ditto. + (AND with -65536 splitter): Add SWI48 mode for operand 0. + (AND with -256 splitter): Use any_QIreg_operand predicate and + SWI248 mode for operand 0. + (AND with -65281 splitter): Use QIreg_operand predicate and SWI248 + mode for operand 0. + (SETCC + MOVZBL peepholes): Update for renamed any_QIreg_operand. + +2015-04-13 Gerald Pfeifer + + * doc/plugins.texi: Rewrite first introductory paragraph. + +2015-04-12 Jan Hubicka + + * tree-vrp.c (nonnull_arg_p): THIS pointers and references are non-zero. + (gimple_stmt_nonzero_warnv_p): Reference return values are non-zero. + +2015-04-12 Jan Hubicka + + * ipa-profie.c (ipa_profile): Check number of parameters + and possible polymorphic call targets before + devirtualizing. + +2015-04-13 Uros Bizjak + + * config/i386/i386.md (*bmi2_umul3_1): Merge from + *bmi2_umulsidi3_1 and *bmi2_umulditi3_1 using DWIH mode iterator. + +2015-04-13 Richard Biener + + PR tree-optimization/65204 + * tree-ssa-ccp.c (evaluate_stmt): Always evaluate address + takens for bit-CCP. + +2015-04-13 Richard Biener + + PR target/65660 + * config/i386/i386.c (bdver1_cost): Double cond_taken_branch_cost + and cond_not_taken_branch_cost to 4 and 2. + (bdver2_cost): Likewise. + (bdver3_cost): Likewise. + (bdver4_cost): Likewise. + +2015-04-12 Jan Hubicka + + * hash-table.h (hash_table constructor): Add mem stats. + (alloc_entries): Likewise. + +2015-04-12 Jan Hubicka + + * ipa-cp.c (ipcp_driver): Relase prev_edge. + * passes.c (execute_one_pass): Only add transform if pass has one. + +2015-04-12 Joseph Myers + + * config/i386/i386.c (ix86_option_override_internal): Don't set + -fprefetch-loop-arrays if optimizing for size. + +2015-04-12 Jan Hubicka + Gerald Pfeifer + + * doc/contrib.texi (Contributors): Add Martin Jambor and + Michael Matz. + +2015-04-12 Jakub Jelinek + + * BASE-VER: Set to 6.0.0. + + PR tree-optimization/65747 + * ipa-icf-gimple.c (func_checker::compare_operand): Use compare_operand + rather than compare_ssa_name for OBJ_TYPE_REF_OBJECT. + +2015-04-12 Gerald Pfeifer + + * doc/invoke.texi (-Wmemset-transposed-args): Break a long + sentence. Improve grammar. + +2015-04-12 Gerald Pfeifer + + * doc/contrib.texi (Contributors): Add Maxim Kuvyrkov. + +2015-04-11 Jan Hubicka + + PR ipa/65743 + * ipa-inline-transform.c (speculation_removed): Remove static var. + (check_speculations): New function. + (clone_inlined_nodes): Do not check spculations. + (inline_call): Call check_speculations. + * ipa-prop.c (ipa_make_edge_direct_to_target): Do not + consider non-invariants. + +2015-04-11 Jan Hubicka + Martin Liska + + PR ipa/65722 + * ipa-icf.c (sem_item::compare_cgraph_references): function and + variable can not match. + (sem_item::update_hash_by_addr_refs): Fix handling of virtual tables. + (sem_variable::equals_wpa): Fix checking of DECL_FINAL_P patch. + +2015-04-11 Jakub Jelinek + + PR tree-optimization/65735 + * tree-ssa-threadedge.c (fsm_find_control_statement_thread_paths): + Remove visited_phis argument, add visited_bbs, avoid recursing into the + same bb rather than just into the same phi node. + (thread_through_normal_block): Adjust caller. + +2015-04-11 Gerald Pfeifer + + * doc/contrib.texi (Contributors): Add Ira Rosen. + +2015-04-11 Benno Schulenberg + + * gcov.c (find_source): Fix miswording in error message. + * config/i386/i386.c (ix86_handle_cconv_attribute): Likewise. + (ix86_expand_sse_comi_round): Fix typo in error message. + +2015-04-11 Gerald Pfeifer + + * doc/contrib.texi (Contributors): Add Laurynas Biveinis. + +2015-04-10 Gerald Pfeifer + + * doc/contrib.texi (Contributors): Update Joe Buck's entry. + +2015-04-10 Vladimir Makarov + + PR target/65710 + * lra-assigns.c (spill_for): Update smallest_bad_spills_num. + Print bad_spills_num and insn_pseudos_num. + +2015-04-10 Kyrylo Tkachov + + PR target/65694 + * config/arm/arm.c (arm_canonicalize_comparison): Use ARM_SIGN_EXTEND + when creating +1 values for SImode. + +2015-04-10 Vladimir Makarov + + PR target/65729 + * lra-constraints.c (prohibited_class_reg_set_mode_p): Comment the + assert. + +2015-04-10 Jakub Jelinek + Iain Sandoe + + PR target/65351 + * configure: Regenerate. + +2015-04-09 Kirill Yukhin + + PR target/65671 + * config/i386/sse.md: Generate vextract32x4 if AVX-512DQ is disabled. + +2015-04-09 Gerald Pfeifer + + * doc/contrib.texi (Contributors): Add John Marino. + +2015-04-09 Jakub Jelinek + + PR tree-optimization/65709 + * ubsan.c (instrument_mem_ref): Use TREE_TYPE (base) instead of + TREE_TYPE (TREE_TYPE (t)). + +2015-04-09 Vladimir Makarov + + PR target/65710 + * lra-int.h (lra_bad_spill_regno_start): New. + * lra.c (lra_bad_spill_regno_start): New. + (lra): Set up lra_bad_spill_regno_start. Set up + lra_constraint_new_regno_start unconditionally. + * lra-assigns.c (spill_for): Use lra_bad_spill_regno_start for + spill preferences. + +2015-04-09 Marek Polacek + Jakub Jelinek + + PR middle-end/65554 + * gimple-fold.c (gimple_fold_builtin_memory_op): Update comment. + (fold_ctor_reference): Use STRIP_USELESS_TYPE_CONVERSION instead + of STRIP_NOPS. + +2015-04-09 Segher Boessenkool + + PR rtl-optimization/65693 + * combine.c (is_parallel_of_n_reg_sets): Move outside of + #ifndef HAVE_cc0. + +2015-04-09 Georg-Johann Lay + + PR target/65296 + * config/avr/driver-avr.c (avr_devicespecs_file): Don't specify a + device specs file if "device-specs%s" didn't resolve to a path. + +2015-04-09 Kirill Yukhin + + PR target/65676 + * config/i386/i386.c (fixup_modeless_constant): New. + (ix86_expand_args_builtin): Fixup modeless constant operand. + (ix86_expand_round_builtin): Ditto. + (ix86_expand_special_args_builtin): Ditto. + (ix86_expand_builtin): Ditto. + +2015-04-09 Jakub Jelinek + + PR target/65693 + * config/i386/i386.md (*udivmod4_pow2): Allow + any pow2 integer in between 2 and 0x80000000U inclusive. + +2015-04-08 Segher Boessenkool + + PR rtl-optimization/65693 + * combine.c (is_parallel_of_n_reg_sets): Change first argument + from an rtx_insn * to an rtx. + (try_combine): Adjust both callers. Use it once more. + +2015-04-08 Ilya Enkovich + + * tree-chkp.c (chkp_find_const_bounds_var): Remove. + (chkp_make_static_const_bounds): Search existing + symbol by assembler name. Use make_decl_one_only. + (chkp_get_zero_bounds_var): Remove node search which + is now performed in chkp_make_static_const_bounds. + (chkp_get_none_bounds_var): Likewise. + +2015-04-08 Michael Witten + + * doc/extend.texi (Attribute Syntax): Add a trailing semicolon + to an example. + +2015-04-08 Bernhard Reutner-Fischer + + * tree.h (CONVERT_EXPR_P): Commentary typo fix. + +2015-04-08 Gerald Pfeifer + + * doc/extend.texi (__sync Builtins): Fix grammar. + +2015-04-08 Bernhard Reutner-Fischer + + * doc/cfg.texi (GIMPLE statement iterators): Fix typo. + +2015-04-08 Bernhard Reutner-Fischer + + * varasm.c (emit_local): Move definition of align. + +2015-04-08 Julian Brown + + * config/nvptx/mkoffload.c (process): Support variable mapping. + +2015-03-27 Trevor Saunders + + * config/alpha/alpha.c (alpha_use_linkage): Change type of slot to + alpha_links **. + (alpha_write_one_linkage): Correct typo. + +2015-04-08 Ilya Enkovich + + * ipa-comdats.c (propagate_comdat_group): Walk through thunks. + +2015-04-08 Gerald Pfeifer + + * doc/install.texi (bootstrap-lto-noplugin): Rewrite. + +2015-04-08 Ilya Enkovich + + * tree-chkp.h (chkp_insert_retbnd_call): New. + * tree-chkp.c (chkp_insert_retbnd_call): New. + * ipa-split.c (insert_bndret_call_after): Remove. + (split_function): Use chkp_insert_retbnd_call. + * cgraphunit.c (cgraph_node::expand_thunk): Build returned + bounds for instrumented functions. + +2015-04-07 Jan Hubicka + + PR ipa/65540 + * calls.c (initialize_argument_information): When producing tail + call also turn SSA_NAMES passed by references to original PARM_DECLs + +2015-04-07 Vladimir Makarov + + PR target/65648 + * lra-remat.c (do_remat): Process input and non-input insn + registers separately. + +2015-04-07 Jakub Jelinek + + PR debug/65678 + * valtrack.c (debug_lowpart_subreg): New function. + (dead_debug_insert_temp): Use it. + + PR middle-end/65680 + * expr.c (get_inner_reference): Handle bit_offset that doesn't fit + into signed HOST_WIDE_INT the same as negative bit_offset. + +2015-04-07 Ilya Enkovich + + * ipa-comdats.c (ipa_comdats): Visit all thunks + to set proper comdat group. + +2015-04-07 Kyrylo Tkachov + + PR target/65489 + * config/arm/arm.c (arm_legitimate_constant_p_1): Remove restriction + on constants for NEON VSTRUCT modes. + +2015-04-07 Jakub Jelinek + Iain Sandoe + + PR target/65351 + * configure: Regenerate. + +2015-04-06 Michael Meissner + + PR target/65614 + * config/rs6000/rs6000.c (struct processor_costs): Add cost field + for SF->DF conversions to make FLOAT_EXTEND more expensive, so + that LFD is used to load double constants instead of LFS. Add + defaults for all costs structures. Add comments for missing + initialization fields. + (size32_cost): Likewise. + (size64_cost): Likewise. + (rs64a_cost): Likewise. + (mpccore_cost): Likewise. + (ppc403_cost): Likewise. + (ppc405_cost): Likewise. + (ppc440_cost): Likewise. + (ppc476_cost): Likewise. + (ppc601_cost): Likewise. + (ppc603_cost): Likewise. + (ppc604_cost): Likewise. + (ppc604e_cost): Likewise. + (ppc620_cost): Likewise. + (ppc630_cost): Likewise. + (ppccell_cost): Likewise. + (ppc750_cost): Likewise. + (ppc7450_cost): Likewise. + (ppc8540_cost): Likewise. + (ppce300c2c3_cost): Likewise. + (ppce500mc_cost): Likewise. + (ppce500mc64_cost): Likewise. + (ppce5500_cost): Likewise. + (ppce6500_cost): Likewise. + (titan_cost): Likewise. + (power4_cost): Likewise. + (power6_cost): Likewise. + (power7_cost): Likewise. + (power8_cost): Likewise. + (ppca2_cost): Likewise. + (rs6000_rtx_costs): Make FLOAT_EXTEND use SFDF_convert field. + + * config/rs6000/rs6000.md (extendsfdf2_fpr): Generate XSCPSGNDP + instead of XXLOR to copy SFmode to clear out dirty bits created + when SFmode denormals are generated. + (mov_hardfloat, FMOVE32 case): Likewise. + (truncdfsf2_fpr): Add support for ISA 2.07 XSRSP instruction. + +2015-04-06 Evandro Menezes + + * doc/invoke.texi (AARCH64/mtune): Add exynos-m1 as an option. + * config/aarch64/aarch64-cores.def (exynos-m1): New core. + * config/aarch64/aarch64-tune.md: Regenerate. + +2015-04-06 Evandro Menezes + + * doc/invoke.texi (ARM/mtune): Add "exynos-m1" as an option. + * config/arm/arm.c (arm_issue_rate): Specify "3" for "exynosm1". + * config/arm/arm-cores.def (exynos-m1): New core. + * config/arm/arm-tune.md: Regenerate. + * config/arm/arm-tables.opt: Add entry for "exynos-m1". + * config/arm/bpabi.h: Likewise. + +2015-04-06 Ilya Enkovich + + * ipa-cp (set_single_call_flag): Remove too + restrictive assert. + +2015-04-06 Ilya Verbin + + * config/i386/intelmic-mkoffload.c (generate_host_descr_file): Call + GOMP_offload_unregister from the destructor. + +2015-04-06 Ilya Enkovich + + * ipa-chkp.c (chkp_maybe_create_clone): Reset cdtor + flags for instrumentation thunk. + (chkp_produce_thunks): Likewise. + +2015-04-05 Martin Liska + + PR ipa/65665 + * ipa-icf.c (sem_function::equals_wpa): Verify that IPA CP + has computed data structure. + (sem_item_optimizer::update_hash_by_addr_refs): Likewise. + +2015-04-04 Jan Hubicka + + * invoke.texi (inline-unit-growth): Increase growth to 20% + * params.def (PARAM_INLINE_UNIT_GROWTH): Likewise. + +2015-04-04 Vladimir Makarov + + PR target/65647 + * lra-int.h (LRA_MAX_REMATERIALIZATION_PASSES): New. Add its + value checking. + (lra_rematerialization_iter): New. + * lra.c (lra): Initialize lra_rematerialization_iter. + Stop updating lra_constraint_new_regno_start after switching of + inheritance and rematerialization. + * lra-remat.c (lra_rematerialization_iter): New. + (lra_remat): Add printing pass iteration. Do rematerialization + only first LRA_MAX_REMATERIALIZATION_PASSES iterations. + +2015-04-04 Richard Biener + + PR tree-optimization/64909 + PR tree-optimization/65660 + * tree-vectorizer.h (vect_get_known_peeling_cost): Adjust + to take a cost vector for scalar iteration cost. + (vect_get_single_scalar_iteration_cost): Likewise. + * tree-vect-loop.c (vect_get_single_scalar_iteration_cost): + Compute the scalar iteration cost into a cost vector. + (vect_get_known_peeling_cost): Use the scalar cost vector to + account for the cost of the peeled iterations. + (vect_estimate_min_profitable_iters): Likewise. + * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): + Likewise. + +2015-04-04 Alan Modra + + PR target/65576 + PR target/65240 + * config/rs6000/predicates.md (zero_reg_mem_operand): Exclude + 0.0 constant unless TARGET_VSX. + * config/rs6000/rs6000.md (extenddftf2_internal): Remove last + alternative. + +2015-04-03 Jan Hubicka + + PR ipa/65654 + * ipa-inline-transform.c (inline_call): Skip sanity check to work + around the ICE + +2015-04-03 Jan Hubicka + + PR ipa/65655 + * ipa-inline-analysis.c (edge_set_predicate): Do not redirect + speculative indirect edges to avoid ordering issue. + +2015-04-03 Jan Hubicka + + PR ipa/65076 + * ipa-inline.c (edge_badness): Add combined size to the denominator. + +2015-04-03 Jakub Jelinek + + * omp-low.c (scan_omp_parallel, scan_omp_task, scan_omp_target): Set + TYPE_ARTIFICIAL on the .omp_data* types. + +2015-04-02 Ilya Enkovich + + * cgraphunit.c (cgraph_node::expand_thunk): Don't expand + instrumentation thunks. + +2015-04-02 Ilya Enkovich + + * config/i386/i386.c (ix86_expand_call): Avoid nested + PARALLEL in returned call value. + +2015-04-02 Ilya Enkovich + + * lto-cgraph.c (input_cgraph_1): Always link instrumented + assembler name with original one. + +2015-04-02 Uros Bizjak + + * config/i386/i386.c (ix86_register_priority): Use AX_REG. + +2015-04-02 Uros Bizjak + + Revert parts of r216820. + * config/i386/i386.md (movqi_internal): Correct type calculation + for alternatives 3 and 5. + +2015-04-02 Jakub Jelinek + + PR preprocessor/61977 + * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Don't + predefine __vector/__bool/__pixel macros nor context sensitive + macros for CLK_ASM. + * config/spu/spu-c.c (spu_cpu_cpp_builtins): Similarly. + +2015-04-02 John David Anglin + + * config/pa/pa.c (pa_output_move_double): Directly handle register + indexed memory operand. Simplify handling of scaled register indexed + memory operands. + +2015-04-02 Ilya Enkovich + + PR driver/65444 + * config/i386/linux-common.h (MPX_SPEC): New. + (CHKP_SPEC): Add MPX_SPEC. + * doc/invoke.texi (-fcheck-pointer-boudns): Document + possible issues with '-z bndplt' support in linker. + +2015-04-02 Uros Bizjak + + * config/i386/sync.md (UNSPEC_FILD_ATOMIC, UNSPEC_FIST_ATOMIC): New. + (loaddi_via_fpu): Use UNSPEC_FILD_ATOMIC. + (storedi_via_fpu): Use UNSPEC_FIST_ATOMIC. + * reg-stack.c (get_true_reg): Change UNSPEC_LDA to UNSPEC_FILD_ATOMIC. + (subst_stack_regs_pat): Change UNSPEC_STA to UNSPEC_FIST_ATOMIC. + +2015-04-01 Uros Bizjak + + * config/i386/sync.md (UNSPEC_MOVA): Remove. + (atomic_load): Change operand 0 predicate to + nonimmediate_operand and fix up the destination when needed. + Use UNSPEC_LDA. + (atomic_loaddi_fpu): Use UNSPEC_LDA. + (atomic_store): Change operand 1 predicate to + nonimmendate_operand and move the source to register when needed. + Use UNSPEC_STA. + (atomic_store_1): Use UNSPEC_STA. + (atomic_storedi_fpu): Change operand 1 to nonimmediate_operand. + Fix moves from memory operand. Use UNSPEC_STA. + +2015-04-01 Bernd Edlinger + + * expmed.c (strict_volatile_bitfield_p): Check that the access will + not cross a MODESIZE boundary. + (store_bit_field, extract_bit_field): Added assertions in the + strict volatile bitfields code path. + +2015-04-01 Max Ostapenko + + PR target/65624 + * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_builtin): + Increase args array size by one to avoid buffer overflow. + +2015-03-31 Jan Hubicka + + * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream + split_part. + * ipa-inline.c (edge_badness): Add wrapper penalty. + (sum_callers): Move up. + (inline_small_functions): Set single_caller. + * ipa-inline.h (inline_summary): Add single_caller. + * ipa-split.c (split_function): Set split_part. + (cgraph_node::create_clone): Do not shadow decl; copy split_part. + * cgraph.h (cgraph_node): Add split_part. + +2015-03-31 Uros Bizjak + + PR target/58945 + * config/i386/sync.md (atomic_compare_and_swap_doubleword): + Do not split operands 0 and operands 2 to halfmode. + (atomic_compare_and_swap): Update for + atomic_compare_and_swap_doubleword changes. + +2015-03-31 Jan Hubicka + + * tree.c (need_assembler_name_p): Artificial types have no ODR names. + * ipa-devirt.c (warn_odr): Do not try to apply ODR cache when + no caching is done. + +2015-03-31 Martin Liska + + PR ipa/65557 + * ipa-icf.c (sem_function::equals_wpa): Check if IPA CP + has already filled up function summary. + (sem_item_optimizer::update_hash_by_addr_refs): Likewise. + +2015-03-31 Richard Biener + + * tree-sra.c (create_access_replacement): Drop under-/over-alignment + of types. + +2015-03-31 Dominik Vogt + + * config/s390/s390.c (s390_function_num_hotpatch_hw): Allow hotpatching + nested functions. + (s390_reorg): Adapt to new signature of s390_function_num_hotpatch_hw. + (s390_asm_output_function_label): Adapt to new signature of + s390_function_num_hotpatch_hw + Optimise the code generating assembler output. + Add comments to assembler file. + +2015-03-31 Richard Biener + + PR middle-end/65626 + * tree-cfgcleanup.c (fixup_noreturn_call): Only split the block + of the noreturn call so it is last and cleanup_control_flow_bb + can do the CFG part. + +2015-03-31 Ilya Enkovich + + PR target/65531 + * ipa-chkp.c (chkp_maybe_create_clone): Don't set + same_comdat_group for external symbols. + * symtab.c (symtab_node::verify_symtab_nodes): Avoid + infinite same_comdat_group traversal loop. + +2015-03-31 Jakub Jelinek + + PR plugins/61176 + * Makefile.in (install-plugin): Add all gcc/*.{h,def} files + automatically to $headers. + +2015-03-30 Jakub Jelinek + + PR ipa/65610 + * ipa-utils.h (inlined_polymorphic_ctor_dtor_block_p): Declare. + * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): New + function. + (decl_maybe_in_construction_p, noncall_stmt_may_be_vtbl_ptr_store): + Use it. + * ipa-prop.c (param_type_may_change_p): Likewise. + * tree-ssa-live.c: Include ipa-utils.h and its dependencies. + (remove_unused_scope_block_p): Add in_ctor_dtor_block + argument. Before inlining, preserve + inlined_polymorphic_ctor_dtor_block_p blocks and the outermost block + with FUNCTION_DECL BLOCK_ABSTRACT_ORIGIN inside of them. Adjust + recursive calls. + (remove_unused_locals): Adjust remove_unused_scope_block_p caller. + +2015-03-27 Jan Hubicka + + PR ipa/65076 + * ipa-inline.c (edge_badness): Base denominator on callee's + grwoth squared. + +2015-03-27 Martin Jambor + + PR ipa/65478 + * params.def (PARAM_IPA_CP_RECURSION_PENALTY) : New. + (PARAM_IPA_CP_SINGLE_CALL_PENALTY): Likewise. + * ipa-prop.h (ipa_node_params): New flags node_within_scc and + node_calling_single_call. + * ipa-cp.c (count_callers): New function. + (set_single_call_flag): Likewise. + (initialize_node_lattices): Count callers and set single_flag_call if + necessary. + (incorporate_penalties): New function. + (good_cloning_opportunity_p): Use it, dump new flags. + (propagate_constants_topo): Set node_within_scc flag if appropriate. + * doc/invoke.texi (ipa-cp-recursion-penalty, + ipa-cp-single-call-pentalty): Document. + +2015-03-27 Jan Hubicka + + PR ipa/65588 + * symtab.c (symtab_node::get_partitioning_class): Register vars + are duplicated. + * varpool.c (symbol_table::output_variables) Do not assemble unefined + decls for non-symbols. + +2015-03-27 H.J. Lu + + PR target/65248 + * output.h (default_binds_local_p_2): New. + * varasm.c (default_binds_local_p_2): Renamed to ... + (default_binds_local_p_3): This. Don't return true on protected + data symbol if protected data may be external. + (default_binds_local_p): Use default_binds_local_p_3. + (default_binds_local_p_1): Likewise. + (default_binds_local_p_2): New. + * config/i386/i386.c (TARGET_BINDS_LOCAL_P): Set to + default_binds_local_p_2 if TARGET_MACHO is undefined. + +2015-03-27 Jakub Jelinek + + PR target/65593 + * config/i386/i386.c (legitimize_pic_address): If base + is SYMBOL_REF or LABEL_REF using %rip addressing, force + it to reg to avoid PLUS of SYMBOL_REF/LABEL_REF and register. + +2015-03-27 Jan Hubicka + + PR target/65531 + * symtab.c (symtab_node::verify_symtab_nodes): Fix verification of + comdat groups. + +2015-03-27 Jan Hubicka + + PR ipa/65600 + * cgraph.c (cgraph_update_edges_for_call_stmt_node): Fix the case + of optimized out indirect call. + (redirect_to_unreachable): Always build symbol table node for + BUILT_IN_UNREACHABLE + +2015-03-27 Vladimir Makarov + + PR target/65407 + * ira-costs.c (record_reg_classes): Process all constraint string + containing 0-9. + +2015-03-27 Bernd Schmidt + + * config/c6x/c6x.md (movmisalign): Use MEM_P, not + memory_operand. + + PR target/65052 + * config/c6x/constraints.md (S3): New constraint. + * config/c6x/c6x.md (real_jump): Use it. + +2015-03-26 Jan Hubicka + + PR middle-end/65595 + * cgraph.c (cgraph_update_edges_for_call_stmt_node): Only + do redirection if the call is not optimized out. + +2015-03-27 Ilya Enkovich + + PR target/65495 + * c-family/c.opt (fcheck-pointer-bounds): List supported languages. + (fchkp-check-incomplete-type): Add LTO. + (fchkp-zero-input-bounds-for-main): Likewise. + (fchkp-first-field-has-own-bounds): Likewise. + (fchkp-narrow-bounds): Likewise. + (fchkp-narrow-to-innermost-array): Likewise. + (fchkp-use-static-bounds): Likewise. + (fchkp-use-static-const-bounds): Likewise. + (fchkp-treat-zero-dynamic-size-as-infinite): Likewise. + +2015-03-27 Marek Polacek + + * gimple-iterator.h (gsi_prev_nondebug): Fix typo. + +2015-03-27 Marek Polacek + + PR sanitizer/65583 + * ubsan.c (ubsan_create_edge): New function. + (instrument_bool_enum_load): Call it. + (instrument_nonnull_arg): Likewise. + (instrument_nonnull_return): Likewise. + (instrument_object_size): Likewise. + +2015-03-26 Jan Hubicka + + * lto-streamer.h (class lto_location_cache): Turn loc_cache into + auto_vec. + +2015-03-26 Jan Hubicka + + PR lto/65536 + * lto-streamer.h (class lto_location_cache): New. + (struct data_in): Add location_cache. + (lto_input_location): Update prototype. + (stream_input_location_now): New. + * streamer-hooks.h (struct streamer_hooks): Make input_location to take + pointer to location. + (stream_input_location): Update. + * ipa-devirt.c: Include streamer-hooks.h and lto-streamer.h + (warn_odr): Apply location cache before warning. + (lto_input_location): Update prototype. + * gimple-streamer-in.c (input_phi, input_gimple_stmt): + Use stream_input_location_now. + * lto-streamer-in.c (lto_location_cache::current_cache): New static + variable. + (lto_location_cache::cmp_loc): New function. + (lto_location_cache::apply_location_cache): New function. + (lto_location_cache::accept_location_cache): New function. + (lto_location_cache::revert_location_cache): New function. + (lto_location_cache::input_location): New function. + (lto_input_location): Do location caching. + (stream_input_location_now): New function. + (input_eh_region, input_struct_function_base): Use + stream_input_location_now. + (lto_data_in_create): use new. + (lto_data_in_delete): Use delete. + * tree-streamer-in.c (unpack_ts_block_value_fields, + unpack_ts_omp_clause_value_fields, streamer_read_tree_bitfields, + lto_input_ts_exp_tree_pointers): Update for cached location api. + +2015-03-26 Jan Hubicka + + PR ipa/65076 + * passes.def: Add pass_nothrow. + * ipa-pure-const.c: (pass_data_nothrow): New. + (pass_nothrow): New. + (pass_nothrow::execute): New. + (make_pass_nothrow): New. + * tree-pass.h (make_pass_nothrow): Declare. + +2015-03-26 Jan Hubicka + + * ipa-inline-analysis.c (redirect_to_unreachable): Be prepared for + edge to change by speculation resolution or redirection. + (edge_set_predicate): Likewise. + (inline_summary_t::duplicate): Likewise. + (remap_edge_summaries): Likewise. + +2015-03-26 Jan Hubicka + + * ipa-inline.c (check_maybe_up, check_maybe_down, check_match): + New macros. + (can_inline_edge_p): Relax option matching for always inline functions. + +2015-03-26 Uros Bizjak + + PR target/65561 + * config/i386/sse.md (avx512dq_vextract64x2_1_maskm): + Check operand 4 and operand 0 for equality. + (avx512f_vextract32x4_1_maskm): + Check operand 6 and operand 0 for equality. + (vec_extract_lo__maskm): Check operand 2 and operand 0 + for equality. + (vec_extract_hi__maskm): Ditto. + +2015-03-26 Jan Hubicka + + * cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not bring + dead calls back to live. + (cgraph_edge::verify_count_and_frequency): Move cgraph/cfg frequency + cross check to ... + (cgraph_node::verify_node): ... here; verify only callee edges, + not caller. + * cif-code.def (CILK_SPAWN): New code. + +2015-03-26 Jan Hubicka + + * ipa-inline-analysis.c (redirect_to_unreachable): New function. + (edge_set_predicate): Use it to mark unreachable edges. + (inline_summary_t::duplicate): Remove unnecesary code. + (remap_edge_summaries): Likewise. + (dump_inline_summary): Report contains_cilk_spawn. + (compute_inline_parameters): Compute contains_cilk_spawn. + (inline_read_section, inline_write_summary): Stream + contains_cilk_spawn. + * ipa-inline.c (can_inline_edge_p): Do not touch + DECL_STRUCT_FUNCTION that may not be available; + use CIF_CILK_SPAWN for cilk; fix optimization attribute checks; + remove check for callee_fun->can_throw_non_call_exceptions and + replace it by optimization attribute check; check for flag_exceptions. + * ipa-inline-transform.c (inline_call): Maintain + DECL_FUNCTION_PERSONALITY + * ipa-inline.h (inline_summary): Add contains_cilk_spawn. + +2015-03-26 Jakub Jelinek + + PR tree-optimization/65551 + * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use + TYPE_PRECISION only for INTEGRAL_TYPE_P types. + +2015-03-26 Richard Biener + + PR middle-end/65555 + * tree-cfg.c (verify_gimple_call): Do not require a call to + have no LHS if it wasn't recognized as control altering yet. + +2015-03-26 Jakub Jelinek + + PR tree-optimization/64715 + * passes.def: Add another instance of pass_object_sizes before ccp1. + * tree-object-size.c (pass_object_sizes::execute): In + first_pass_instance, only handle __bos (, 1) and __bos (, 3) + calls, and keep the call in the IL, as {MIN,MAX}_EXPR of the + __bos result and the computed constant. Remove redundant + checks, obsoleted by gimple_call_builtin_p test. + + * var-tracking.c (variable_tracking_main_1): Don't track + variables for targetm.no_register_allocation targets. + +2015-03-26 Oleg Endo + + * config/sh/t-linux (DEFAULT_ENDIAN, MULTILIB_EXCEPTIONS): Remove. + * config/sh/t-sh (MULTILIB_EXCEPTIONS): Handle default endian. + +2015-03-25 Michael Meissner + + PR target/65569 + * config/rs6000/rs6000.md (extenddftf2_fprs): On VSX systems use + XXLXOR to create 0.0. On pre-VSX systems make sure the constant + 0.0 is correctly setup. + (extenddftf2_internal): Likewise. + +2015-03-25 Sebastian Pop + + PR tree-optimization/65177 + * tree-ssa-threadupdate.c (verify_seme): Renamed verify_jump_thread. + (bb_in_bbs): New. + (duplicate_seme_region): Renamed duplicate_thread_path. Redirect all + edges not adjacent on the path to the original code. + +2015-03-25 Uros Bizjak + + PR bootstrap/65537 + * doc/install.texi (Building a native compiler): Document new + bootstrap-lto-noplugin configuration. Mention that bootstrap-lto + configuration assumes that the host supports the linker plugin. + +2015-03-25 Ilya Enkovich + + PR target/65508 + * tree-chkp.c (chkp_add_bounds_to_call_stmt): Set static + chain for generated call. + +2015-03-25 Richard Biener + + * passes.c (pass_manager::execute_early_local_passes): Guard + execution of pass_chkp_instrumentation_passes with + flag_check_pointer_bounds. + (pass_chkp_instrumentation_passes::gate): Likewise. + +2015-03-25 Martin Liska + + PR tree-optimization/65538 + * symbol-summary.h (function_summary::~function_summary): + Relese memory for allocated summaries. + (function_summary::release): New function. + +2015-03-25 Jakub Jelinek + + PR lto/65515 + * lto-streamer-out.c (DFS::worklist): New struct. + (DFS::worklist_vec): New data member. + (DFS::next_dfs_num): Remove. + (DFS::DFS): Rewritten using worklist instead of recursion, + using most of code from DFS::DFS_write_tree. + (DFS::DFS_write_tree_body): Remove SINGLE_P argument, don't + pass it to DFS_write_tree calls. + (DFS::DFS_write_tree): Remove SINGLE_P argument, after + quick initial checks push it into worklist_vec and return. + +2015-03-25 Richard Biener + + PR middle-end/65519 + * genmatch.c (expr::gen_transform): Re-write to avoid + using gimple_build. + +2015-03-25 Bin Cheng + + * doc/sourcebuild.texi (arm_tune_string_ops_prefer_neon): New. + +2015-03-25 Bin Cheng + + * config/arm/arm.opt (print_tune_info): New option. + * config/arm/arm.c (arm_print_tune_info): New function. + (arm_file_start): Call arm_print_tune_info. + * config/arm/arm-protos.h (struct tune_params): Add comment. + * doc/invoke.texi (@item -mprint-tune-info): New item. + (-mtune): mention it in ARM Option Summary. + +2015-03-25 DJ Delorie + + * config/rl78/rl78.c (rl78_print_operand_1): Move 'p' test to + correct clause. + +2015-03-24 Jan Hubicka + Martin Liska + + * ipa-icf-gimple.h (return_with_result): Add missing colon to dump. + * ipa-icf.c (sem_function::get_hash): Hash new declaration properties. + (sem_item::add_type): New function. + (sem_function::hash_stmt): Add TREE_TYPE of gimple_op. + (sem_function::compare_polymorphic_p): Do not consider indirect calls. + (sem_item_optimizer::update_hash_by_addr_refs): Add ODR type to hash. + (sem_function::equals_wpa): Fix typo. + * ipa-icf.h (sem_item::add_type): New function. + (symbol_compare_hashmap_traits): Replace hashing of pointer with symbol + order. + +2015-03-24 Jakub Jelinek + + PR tree-optimization/65533 + * tree-vect-slp.c (vect_build_slp_tree): Before re-trying + with swapped operands, call vect_free_slp_tree on + SLP_TREE_CHILDREN of child and truncate the SLP_TREE_CHILDREN + vector. + +2015-03-24 Richard Biener + + PR middle-end/65517 + * tree-cfg.c (remove_edge_and_dominated_blocks): Mark loops + for fixup if necessary. + +2015-03-23 Sandra Loosemore + + * doc/extend.texi (Function Attributes): Add @cindex entries + for all attributes and regularize their format. Delete text + about long-obsolete 68HC11 and 68HC12 targets. Move misplaced + information about "eightbit_data", "tiny_data", and "model" + variable attributes to the Variable Attributes section. Fix + some obvious typos and copy-editing issues. + (Variable Attributes, Type Attributes): Likewise add/fix + @cindex entries for all attributes. + +2015-03-23 Jakub Jelinek + + PR target/65523 + * tree-chkp.c (chkp_build_returned_bound): Ignore + ERF_RETURNS_ARG calls if they have fewer than needed arguments. + +2015-03-23 Oleg Endo + + PR target/65505 + * config/sh/predicates.md (simple_mem_operand, + displacement_mem_operand): Add test for reg. + (short_displacement_mem_operand): Test for displacement_mem_operand + before invoking sh_disp_addr_displacement. + * config/sh/constraints.md (Sdd, Sra): Simplify. + * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): + Remove redundant displacement_mem_operand tests. + +2015-03-23 Georg-Johann Lay + + PR target/65296 + * config/avr/driver-avr.c (avr_devicespecs_file): Allow to specify + the same -mmcu=MCU more than once. + +2015-03-23 Jakub Jelinek + + PR bootstrap/65522 + * ipa-devirt.c: Remove duplicate demangle.h include. + + PR target/65504 + * config/i386/i386.c (ix86_copy_addr_to_reg): Set REG_POINTER + on the pseudo. + (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Set + REG_POINTER on *destptr after adjusting it for prologue size. + + PR ipa/65521 + * ipa-icf.c (sem_item::update_hash_by_addr_refs): Hash + ultimate_alias_target ()->order ints instead of + ultimate_alias_target () pointers. + +2015-03-23 Richard Biener + + PR tree-optimization/65518 + * tree-vect-stmts.c (vectorizable_load): Reject single-element + interleaving cases we generate absymal code for. + +2015-03-23 Richard Biener + + PR tree-optimization/65494 + * tree-vect-slp.c (vect_build_slp_tree): Do not (re-)allocate + matches here. + (vect_analyze_slp_instance): But do that here, always and once. + +2015-03-23 Kyrylo Tkachov + + * expmed.c (synth_mult): Fix comment about multiplying by T-1 and + adding T or multiplying by T+1 and subracting T. + +2015-03-22 Jeff Law + + PR rtl-optimization/64317 + * Makefile.in (OBJS): Add gcse-common.c + * gcse.c: Include gcse-common.h + (struct modify_pair_s): Move structure definition to gcse-common.h + (compute_transp): Move function to gcse-common.c. + (canon_list_insert): Similarly. + (record_last_mem_set_info): Break out some code and put it into + gcse-common.c. Call into the new common code. + (compute_local_properties): Pass additional arguments to compute_transp. + * postreload-gcse.c: Include gcse-common.h and df.h + (modify_mem_list_set, blocks_with_calls): New variables. + (modify_mem_list, canon_modify_mem_list, transp): Likewise. + (get_bb_avail_insn): Pass in the expression index too. + (alloc_mem): Allocate memory for the new bitmaps and lists. + (free_mem): Free memory for the new bitmaps and lists. + (insert_expr_in_table): Record a bitmap index for each entry we + add to the table. + (record_last_mem_set_info): Call into common code in gcse-common.c. + (get_bb_avail_insn): If no available insn was found in the requested + BB. If BB has a single predecessor, see if the expression is + transparent in BB and available in that single predecessor. + (compute_expr_transp): New wrapper for compute_transp. + (eliminate_partially_redundant_load): Pass expression's bitmap_index + to get_bb_avail_insn. Compute next_pred_bb_end a bit later. + (gcse_after_reload_main): If there are elements in the hash table, + then compute transparency for all the elements in the hash table. + * gcse-common.h: New file. + * gcse-common.c: New file. + +2015-03-22 Sandra Loosemore + + * doc/cpp.texi (Search Path): Hyphenate "command-line" when used + as an adjective. + (System Headers): Likewise. + (Ifdef): Likewise. + (Traditional macros): Likewise. + (Invocation): Likewise. + (Option Index): Likewise. + * doc/cppopts.texi (-M): Likewise. + (-finput-charset): Likewise. + (--help): Likewise. + * doc.invoke.texi (AVR Options): Likewise. + (V850 Options): Likewise. + +2015-03-22 Jan Hubicka + + PR ipa/65475 + * ipa-devirt.c: Include demangle.h + (odr_type_d): Add field rtti_broken. + (odr_subtypes_equivalent_p): Do not require name to match. + (compare_virtual_tables): Fix typo; if type already has ODR violation, + bypass the tests; be ready for function referneces in vtables that are + not DECL_VIRTUAL; make warnings to be OPT_Wodr. + (warn_odr): Give up for nameless types. + (warn_types_mismatch): Report mismatch in mangled names; + report mismatch in anonymous namespaces; look into component types to + give useful error; report when mismatch is dragged in from other ODR + type. + (odr_types_equivalent_p): Match types for being polymorphic; avoid + duplicated diagnostics. + (add_type_duplicate): Reorder checks so more informative ones come + first; fix typo; do not output "the extra base is defined here" when + we did not warn. + (BINFO_N_BASE_BINFOS): Relax sanity check. + +2015-03-22 Martin Liska + Jakub Jelinek + + * config/i386/i386.c (def_builtin): Set deferred_isa_values for + masks that can potentially include a builtin. + (ix86_add_new_builtins): Introduce fast filter for isa values + that cannot trigger builtin inclusion. + +2015-03-22 Martin Liska + + * ipa-icf.c (sem_item::update_hash_by_addr_refs): New function. + (sem_item::update_hash_by_local_refs): Likewise. + (sem_variable::get_hash): Empty line is fixed. + (sem_item_optimizer::execute): Include adding of hash references. + (sem_item_optimizer::update_hash_by_addr_refs): New function. + (sem_item_optimizer::build_hash_based_classes): Use local hash. + * ipa-icf.h (sem_item::update_hash_by_addr_refs): New function. + (sem_item::update_hash_by_local_refs): Likewise. + +2015-03-20 Jan Hubicka + + PR ipa/65502 + * ipa-comdats.c (enqueue_references): Walk through thunks. + (ipa_comdats): Likewise. + (set_comdat_group_1): New function. + +2015-03-20 Jan Hubicka + + PR ipa/65475 + * ipa-devirt.c (add_type_duplicate): Prevail polymorphic type over + non-polymorphic + +2015-03-22 Dave Korn + Gerald Pfeifer + + * doc/contrib.texi (Contributors): Update entry for Danny Smith. + +2015-03-21 Chung-Lin Tang + Sandra Loosemore + + * config/nios2/nios2-protos.h (nios2_adjust_call_address): Adjust + function parameter declaration. + * config/nios2/nios2.md (call,call_value,sibcall,sibcall_value): + Update arguments to nios2_adjust_call_address(). + (sibcall_internal): Rename from *sibcall. + (sibcall_value_internal): Rename from *sibcall_value. + * config/nios2/nios2.c (nios2_emit_add_constant): New function. + (nios2_large_got_address): Add target temp reg parameter. + (nios2_got_address): Adjust call to nios2_large_got_address, add + force_reg around it. + (nios2_load_pic_address): Add target temp reg parameter, replace call + to nios2_got_address with corresponding code. + (nios2_legitimize_constant_address): Update call to + nios2_load_pic_address. + (nios2_adjust_call_address): Add temp reg parameter, update PIC case + to use temp reg for PIC loading purposes. + (nios2_asm_output_mi_thunk): Implement TARGET_ASM_OUTPUT_MI_THUNK. + (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define. + (TARGET_ASM_OUTPUT_MI_THUNK): Likewise. + +2015-03-21 Sandra Loosemore + + * doc/invoke.texi (-fno-diagnostics-show-caret): Fix + usage of "the @option{...}". + (-Wopenmp-simd): Likewise. + (-fsanitize-recover): Likewise. + (-fsanitize-undefined-trap-on-error): Likewise. + (-flto): Likewise. + (tracer-dynamic-coverage-feedback): Likewise. + (reorder-block-duplicate-feedback): Likewise. + (loop-unroll-jam-size): Likewise. + (-B): Likewise. + (-I-): Likewise. + (-mabs=legacy): Likewise. + (-mupper-regs-df): Likewise. + (-mupper-regs-sf): Likewise. + (-mpointers-to-nested-functions): Likewise. + +2015-03-21 Sandra Loosemore + + * doc/extend.texi (Cilk Plus Builtins): Add markup. + +2015-03-21 Sandra Loosemore + + * doc/invoke.texi (-fcheck-pointer-bounds): Copy-edit, add + additional index entries and cross-references. + (-fchkp-check-incomplete-type): Likewise. + (-fchkp-first-field-has-own-bounds): Likewise. + (-fchkp-narrow-to-innermost-array): Likewise. + (-fchkp-use-fast-string-functions): Likewise. + (-fchkp-use-nochk-string-functions): Likewise. + (-fchkp-use-static-const-bounds): Likewise. + (-fchkp-treat-zero-dynamic-size-as-infinite): Likewise. + (-fchkp-instrument-marked-only): Likewise. + (-fchkp-use-wrappers): Likewise. + (-static-libmpx): Likewise. + (-static-libmpxwrappers): Likewise. + * doc/extend.texi (bnd_legacy): Likewise. + (bnd_instrument): Likewise. + (bnd_variable_size): Likewise. + (Pointer Bounds Checker builtins): Likewise. + +2015-03-21 Tom de Vries + + PR tree-optimization/65458 + * cgraph.c (cgraph_node::dump): Handle parallelized_function field. + * cgraph.h (cgraph_node): Add parallelized_function field. + * lto-cgraph.c (lto_output_node): Write parallelized_function field. + (input_overwrite_node): Read parallelized_function field. + * omp-low.c (expand_omp_taskreg, finalize_task_copyfn): Set + parallelized_function on cgraph_node for child_fn. + * tree-parloops.c: Add include of plugin-api.h, ipa-ref.h and cgraph.h. + Remove include of gt-tree-parloops.h. + (parallelized_functions): Remove static variable. + (parallelized_function_p): Rewrite using parallelized_function field of + cgraph_node. + (create_loop_fn): Remove adding to parallelized_functions. + * Makefile.in (GTFILES): Remove tree-parloops.c + +2015-03-20 Vladimir Makarov + + PR rtl-optimization/64366 + * lra.c (lra_update_insn_regno_info): Consider regs in + CALL_INSN_FUNCTION_USAGE memory. + +2015-03-20 Richard Biener + + PR middle-end/64715 + * tree-chrec.c (chrec_fold_poly_cst): Use useless_type_conversion_p + for type comparison and gcc_checking_assert. + (chrec_fold_plus_poly_poly): Likewise. + (chrec_fold_multiply_poly_poly): Likewise. + (chrec_convert_1): Likewise. + * gimplify.c (gimplify_expr): Remove premature folding of + &X + CST to &MEM[&X, CST]. + +2015-03-20 Jan Hubicka + + * ipa-inline.c (can_inline_edge_p): Short circuit if inline_failed + already is final. + (ipa_inline): Recompute inline_failed codes. + * cif-code.def (FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE, + USES_COMDAT_LOCAL, ATTRIBUTE_MISMATCH, UNREACHABLE): Declare as + CIF_FINAL_ERROR. + +2015-03-20 Uros Bizjak + + PR rtl-optimization/60851 + * recog.c (constrain_operands): Accept a pseudo register before reload + for LRA enabled targets. + +2015-03-19 Michael Meissner + + PR target/65240 + * config/rs6000/predicates.md (easy_fp_constant): Remove special + -ffast-math handling that kept non-0 constants live in the RTL + until reload. Remove logic testing the number of instructions it + took to create a constant in a GPR that was never used, due to a + test for soft-float earlier. + (memory_fp_constant): Delete, no longer used. + + * config/rs6000/rs6000.md (mov_hardfloat): Remove + alternatives for loading non-0 constants into GPRs for hard + floating point that is no longer needed due to changes in + easy_fp_constant. Add support for loading 0.0 into GPRs. + (mov_hardfloat32): Likewise. + (mov_hardfloat64): Likewise. + (mov_64bit_dm): Likewise. + (movtd_64bit_nodm): Likewise. + (pre-reload move FP constant define_split): Delete define_split, + since it is no longer used. + (extenddftf2_internal): Remove GHF constraints that are not valid + for extenddftf2. + +2015-03-19 Vladimir Makarov + + PR rtl-optimization/63491 + * lra-constraints.c (check_and_process_move): Use src instead of + sreg. Remove some dead code. + +2015-03-19 Jan Hubicka + + PR ipa/65380 + * ipa-icf.c (sem_function::merge): Do not merge DECL_EXTERNAL symbols. + (sem_variable::merge): Likewise. + +2015-03-19 Martin Liska + + PR ipa/65465 + * cgraphunit.c (cgraph_node::create_wrapper): Correctly reset + all fields of cgraph_thunk_info. + +2015-03-19 Ilya Enkovich + + * ipa-chkp.c (chkp_maybe_create_clone): Don't try to + clone instrumented thunks. + +2015-03-19 Richard Biener + + Revert + 2015-03-10 Richard Biener + + PR middle-end/63155 + * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare. + * tree-ssa-coalesce.c: Include timevar.h. + (attempt_coalesce): Handle graph being NULL. + (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING. + Split out abnormal coalescing to ... + (perform_abnormal_coalescing): ... this function. + (coalesce_ssa_name): Perform abnormal coalescing without computing + live/conflict. + (verify_ssa_coalescing_worker): New function. + (verify_ssa_coalescing): Likewise. + +2015-03-19 Bernd Edlinger + Jakub Jelinek + + PR sanitizer/65400 + * tsan.c (instrument_gimple): Clear tail call flag on + calls. + +2015-03-19 Jakub Jelinek + + PR sanitizer/65400 + * ipa-split.c (find_return_bb): Allow TSAN_FUNC_EXIT internal + call in the return bb. + (find_split_points): Add RETURN_BB argument, don't call + find_return_bb. + (split_function): Likewise. Add ADD_TSAN_FUNC_EXIT argument, + if true append TSAN_FUNC_EXIT internal call after the call to + the split off function. + (execute_split_functions): Call find_return_bb here. + Don't optimize if TSAN_FUNC_EXIT is found in unexpected places. + Adjust find_split_points and split_function calls. + +2015-03-18 DJ Delorie + + * config/rl78/rl78-virt.md (andqi3_virt): Allow far operands. + (iorqi3_virt): Likewise. + +2015-03-18 Tom de Vries + + * tree-parloops.c (parallelize_loops): Make static. + * tree-parloops.h (parallelize_loops): Remove extern declaration. + +2015-03-18 Andrew Stubbs + + PR middle-end/64491 + Revert: + 2014-11-20 Andrew Stubbs + + * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Warn if a loop + condition would be removed due to undefined behaviour. + +2015-03-18 Martin Liska + + PR ipa/65432 + * cgraph.c (cgraph_node::get_create): Remove unnecessary + xstrdup_for_dump wrapper. + * ipa-icf.c (sem_item::dump): Use symtab_node::name instead of + sem_item::name. + (sem_function::equals): Wrap symtab_node::name and symtab_node::asm_name + with xstrdup_for_dump. + (sem_variable::equals): Likewise. + (sem_item_optimizer::read_section): Use symtab_node::name instead of + sem_item::name. + (sem_item_optimizer::parse_funcs_and_vars): Likewise. + (sem_item_optimizer::merge_classes): Wrap symtab_node::name and + symtab_node::asm_name with xstrdup_for_dump. + (congruence_class::dump): Use symtab_node::name instead of + sem_item::name. + * ipa-icf.h (symtab_node::name): Remove. + (symtab_node::asm_name): Likewise. + +2015-03-18 Jakub Jelinek + + PR tree-optimization/65450 + * tree-vect-data-refs.c (vect_duplicate_ssa_name_ptr_info): New + function. + (vect_create_addr_base_for_vector_ref, vect_create_data_ref_ptr): Use + it instead of duplicate_ssa_name_ptr_info. + + PR target/65222 + * doc/invoke.texi: Add knl as x86 -march=/-mtune= CPU type. + +2015-03-18 Richard Biener + + * tree-data-ref.h (struct access_matrix): Remove. + (AM_LOOP_NEST, AM_NB_INDUCTION_VARS, AM_PARAMETERS, AM_MATRIX, + AM_NB_PARAMETERS, AM_CONST_COLUMN_INDEX, AM_NB_COLUMNS, + AM_GET_SUBSCRIPT_ACCESS_VECTOR, AM_GET_ACCESS_MATRIX_ELEMENT): Likewise. + (am_vector_index_for_loop): Likewise. + (struct data_reference): Remove access_matrix member. + (DR_ACCESS_MATRIX): Remove. + (lambda_vector_new): Add comment. + (lambda_matrix_new): Use XOBNEWVEC. + +2015-03-18 Richard Biener + + * tree-ssa-loop-ch.c (pass_data_ch): Remove TODO_cleanup_cfg. + (pass_ch::execute): Cleanup the CFG only if we did sth. + * tree-vect-generic.c (pass_data_lower_vector): Remove TODO_cleanup_cfg. + +2015-03-18 Kyrylo Tkachov + + * expmed.c (synth_mult): Use std::swap instead of manually + swapping algorithms. + +2015-03-18 Jakub Jelinek + + PR target/65078 + * config/i386/sse.md (movsi/movdi -> vec_extract_*_0 splitter): New. + +2015-03-16 Georg-Johann Lay + + PR target/65296 + * config/avr/avr.opt (-nodevicelib): New option. + * doc/invoke.texi (AVR Options): Document it. + * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC) [avr1]: Don't link + libgcc.a, libc.a, libm.a. + * config/avr/specs.h: Same. + * config/avr/gen-avr-mmcu-specs.c (print_mcu): Don't print specs + which don't (directly) depend on the device. Print more help. + (*avrlibc_devicelib) [-nodevicelib]: Don't link libdev.a. + (*cpp): Don't define __AVR_DEV_LIB_NAME__. + * config/avr/driver-avr.c: Remove -nodevicelib from option list in + case of an error. + (avr_devicespecs_file): Use suffix "%s" instead of absolute path + for specs file name. + * config/avr/avr-arch.h (avr_mcu_t) [.library_name]: Remove. + * config/avr/avr-mcus.def: Adjust initializers and comments. + +2015-03-16 Jan Hubicka + + * tree-sra.c (ipa_sra_preliminary_function_checks): Use + DECL_ONE_ONLY to check if decl is one only. + * ipa-split.c (consider_split): Limit splitt of one only functions. + +2015-03-16 Jakub Jelinek + + PR tree-optimization/65427 + * tree-vect-generic.c (do_cond, expand_vector_scalar_condition): New + functions. + (expand_vector_operations_1): Handle BLKmode vector COND_EXPR. + +2015-03-16 Marek Polacek + + * cgraph.h (add_new_static_var): Remove declaration. + * varpool.c (add_new_static_var): Remove function. + +2015-03-16 Jakub Jelinek + + * omp-low.c (expand_omp_target): Use auto_vec + instead of vec * with vec_alloc and release for args. + Adjust all users. + + PR middle-end/65431 + * omp-low.c (delete_omp_context): Only splay_tree_delete + reduction_map in GIMPLE_OMP_TARGET is_gimple_omp_offloaded + is_gimple_omp_oacc contexts. Don't look at ctx->outer. + +2015-03-16 Max Ostapenko + + PR sanitizer/64820 + * cfgexpand.c (align_base): New function. + (alloc_stack_frame_space): Call it. + (expand_stack_vars): Align prev_frame to be sure + data->asan_vec elements aligned properly. + +2015-03-16 Eric Botcazou + + PR middle-end/65409 + * expr.c (store_field): Do not do a direct block copy if the source is + a PARALLEL with BLKmode. + +2015-03-16 Tom de Vries + + PR middle-end/65414 + Revert: + 2015-03-12 Tom de Vries + + PR rtl-optimization/64895 + * lra-lives.c (check_pseudos_live_through_calls): Use + actual_call_used_reg_set instead of call_used_reg_set, if available. + +2015-03-16 Alan Modra + + PR target/63150 + * config/rs6000/rs6000.md (bswapdi2): Remove one scratch reg. + Modify Z->r bswapdi splitter to use dest in place of scratch. + In r->Z and Z->r bswapdi splitter rename word_high, word_low + to word1, word2 and rearrange logic to suit. + (bswapdi2_64bit): Remove early clobber on Z->r alternative. + (bswapdi2_ldbrx): Likewise. Remove '??' on r->r. + (bswapdi2_32bit): Remove early clobber on Z->r alternative. + Add one '?' on r->r. Modify Z->r splitter to avoid need for + early clobber. + +2015-03-14 Jakub Jelinek + + PR tree-optimization/65369 + * tree-vect-stmts.c (vectorizable_load) : + Set bump to vs * TYPE_SIZE_UNIT (elem_type) - 1 instead of + (vs - 1) * TYPE_SIZE_UNIT (elem_type). + + PR tree-optimization/65418 + * tree-ssa-reassoc.c (extract_bit_test_mask): If there + are casts in the first PLUS_EXPR operand, ensure tbias and + *totallowp are in the inner type. + + PR rtl-optimization/65401 + * combine.c (rtx_equal_for_field_assignment_p): Add widen_x + argument. If true, adjust_address_nv of x with big-endian + correction for the mode widening to GET_MODE (y). + (make_field_assignment): Don't do MEM mode widening here. + Use MEM_P instead of GET_CODE == MEM. + +2015-03-13 Ilya Verbin + + * varpool.c (varpool_node::get_create): Don't set 'offloadable' flag for + the external decls. + +2015-03-13 Kyrylo Tkachov + + PR target/64600 + * config/arm/arm.c (arm_gen_constant, AND case): Use + ARM_SIGN_EXTEND when constructing AND mask. + +2015-03-13 Thomas Preud'homme + + * graph.c (print_graph_cfg): Make function names visible and append + parenthesis to it. Also make groups of basic blocks belonging to the + same function visible. + +2015-03-12 Richard Biener + + PR middle-end/44563 + * tree-inline.c (gimple_expand_calls_inline): Walk BB backwards + to avoid quadratic behavior with inline expansion splitting blocks. + * tree-cfgcleanup.c (cleanup_tree_cfg_bb): Do not merge block + with the successor if the predecessor will be merged with it. + * tree-cfg.c (gimple_can_merge_blocks_p): We can't merge the + entry block with its successor. + +2015-03-13 Richard Biener + + PR middle-end/44563 + * tree-cfgcleanup.c (split_bb_on_noreturn_calls): Remove. + (cleanup_tree_cfg_1): Do not call it. + (execute_cleanup_cfg_post_optimizing): Fixup the CFG here. + (fixup_noreturn_call): Mark the stmt as control altering. + * tree-cfg.c (execute_fixup_cfg): Do not dump the function + here. + (pass_data_fixup_cfg): Produce a dump file. + * tree-ssa-dom.c: Include tree-cfgcleanup.h. + (need_noreturn_fixup): New global. + (pass_dominator::execute): Fixup queued noreturn calls. + (optimize_stmt): Queue calls that became noreturn for fixup. + * tree-ssa-forwprop.c (pass_forwprop::execute): Likewise. + * tree-ssa-pre.c: Include tree-cfgcleanup.h. + (el_to_fixup): New global. + (eliminate_dom_walker::before_dom_childre): Queue calls that + became noreturn for fixup. + (eliminate): Fixup queued noreturn calls. + * tree-ssa-propagate.c: Include tree-cfgcleanup.h. + (substitute_and_fold_dom_walker): New member stmts_to_fixup. + (substitute_and_fold_dom_walker::before_dom_children): Queue + alls that became noreturn for fixup. + (substitute_and_fold): Fixup queued noreturn calls. + +2015-03-12 Jan Hubicka + + * ipa-icf.c (sem_function::equals_wpa): Match CXX_CONSTRUCTOR_P + and CXX_DESTURCTOR_P. For consutrctors match ODR type of class they + are building; for methods check ODR type of class they belong to if + they may lead to a polymorphic call. + (sem_function::compare_polymorphic_p): Be bit smarter about testing + when function may lead to a polymorphic call. + (sem_function::compare_type_list): Remove. + (sem_variable::equals): Update use of compatible_types_p. + (sem_variable::parse_tree_refs): Remove. + (sem_item_optimizer::filter_removed_items): Do not filter out CXX + cdtor. + * ipa-icf-gimple.c (func_checker::compare_decl): Do polymorphic + matching here. + (func_checker::compatible_polymorphic_types_p): Break out from ... + (unc_checker::compatible_types_p): ... here. + * ipa-icf-gimple.h (func_checker::compatible_polymorphic_types_p): + Declare. + (unc_checker::compatible_types_p): Update. + * ipa-icf.h (compare_type_list, parse_tree_refs, compare_sections): + Remove. + +2015-03-12 Kyrylo Tkachov + + PR rtl-optimization/65235 + * simplify-rtx.c (simplify_binary_operation_1, VEC_SELECT case): + When first element of vec_concat is const_int, calculate its size + using second element. + +2015-03-12 Richard Biener + + PR middle-end/65270 + * fold-const.c (operand_equal_p): Fix ordering of resetting + OEP_ADDRESS_OF and checking for it in the [TARGET_]MEM_REF case. + +2015-03-12 Dominik Vogt + + * config/s390/s390.c (s390_reorg): Move code to output nops after label + to s390_reorg (). + (s390_asm_output_function_label): Likewise. + * config/s390/s390.c (s390_asm_output_function_label): + Fix function label alignment with -mhtopatch. + * config/s390/s390.md ("unspecv"): New values UNSPECV_NOP_2_BYTE, + UNSPECV_NOP_4_BYTE and UNSPECV_NOP_6_BYTE + ("nop_2_byte"): New define_insn. + ("nop_4_byte"): Likewise. + ("nop_6_byte"): Likewise. + * doc/extend.texi (hotpatch): hotpatch attribute doc fixes. + * doc/invoke.texi (-mhotpatch): -mhotpatch doc fixes. + +2015-03-12 Ilya Enkovich + + PR target/65103 + * config/i386/i386.c (ix86_address_cost): Fix cost of a PIC + register. + +2015-03-12 Ilya Enkovich + + PR target/65044 + * toplev.c (process_options): Restrict Pointer Bounds Checker + usage with Address Sanitizer. + +2015-03-12 Richard Biener + + * tree-cfg.c (gimple_split_block): Remove loop finding stmt + to split on. + * omp-low.c (expand_omp_taskreg): Split block before removing + the stmt. + (expand_omp_target): Likewise. + * ubsan.c (ubsan_expand_null_ifn): Adjust stmt if we replaced it. + * tree-parloops.c (create_call_for_reduction_1): Pass a proper + stmt to split_block. + +2015-03-12 Tom de Vries + + PR rtl-optimization/64895 + * lra-lives.c (check_pseudos_live_through_calls): Use + actual_call_used_reg_set instead of call_used_reg_set, if available. + +2015-03-10 Jan Hubicka + + * cgraph.c (cgraph_node::release_body): Free function_in_decl_state. + (cgraph_node::remove): Likewise. + (cgraph_node::get_untransformed_body): Likewise. + * varpool.c (varpool_node::remove): Likewise. + (varpool_node::get_constructor): Add sanity check. + +2015-03-11 Sandra Loosemore + + * doc/invoke.texi (-fgnu89-inline): Remove discussion about + old GCC versions. + (-fabi-compat-version): Likewise. + (-ffriend-injection): Likewise. + (-Wdeclaration-after-statement): Likewise. + (-fomit-frame-pointer): Likewise. + (-ftree-coalesce-inlined-vars): Likewise. + (-fvisibility=): Likewise. + * doc/extend.texi (Typeof): Likewise. + (Zero Length): Likewise. + (Escaped Newlines): Likewise. + (Compound Literals): Likewise. + (Function Attributes): Likewise. + (Label Attributes): Likewise. + (Type Attributes): Likewise. + (Function Names): Likewise. + (Other Builtins): Likewise. + (Function Specific Option Pragmas): Likewise. + (C++ Interface): Likewise. + +2015-03-11 Thomas Schwinge + + * config/nvptx/nvptx.h (LIBSTDCXX): Define to "gcc". + +2015-03-11 Marek Polacek + + PR tree-optimization/65388 + * tree-ssa-tail-merge.c (same_succ_def::equal): Fix typo in comparison. + +2015-03-10 Georg-Johann Lay + + PR target/65296 + * configure.ac [avr]: Check as for options -mrmw, --mlink-relax. + * configure: Regenerate. + * config.in: Regenerate. + * doc/invoke.texi (AVR Options) [-mrmw]: Document it. + [-mn-flash]: Document it. + [__AVR_ARCH__]: Document avrtiny. + + * config/avr/gen-avr-mmcu-specs.c (config.h): Include it. + (*asm_relax): Only define spec if HAVE_AS_AVR_MLINK_RELAX_OPTION. + (*asm_rmw): Only define spec if HAVE_AS_AVR_MRMW_OPTION. + +2015-03-11 Andreas Krebbel + + * doc/invoke.texi: Add missing cpu values (z196, zEC12). + +2015-03-11 Michael Meissner + + PR target/65242 + * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Do not + allow reloads of PLUS in floating point/VSX registers. + +2015-03-11 Junmo Park + + * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Add + crypto_sha256_fast. + (cortex_a57_crypto_complex): Add crypto_sha256_slow. + +2015-03-11 Richard Biener + + PR tree-optimization/65310 + * tree-sra.c (build_ref_for_offset): Also preserve larger + alignment. + +2015-03-11 Marat Zakirov + + * asan.c (instrument_derefs): Disable instrumentation on asan-globals=0. + +2015-03-10 Jakub Jelinek + + PR target/65368 + * config/i386/i386.md (bmi2_bzhi_3): Removed define_insn, + new define_expand. + (*bmi2_bzhi_3, *bmi2_bzhi_3_1): New define_insns. + +2015-03-10 Jan Hubicka + + * ipa-icf.c (sem_function::equals_wpa): Move here some checks from ... + (sem_function::equals_wpa): ... here. + +2015-03-10 Marek Polacek + Jakub Jelinek + + PR sanitizer/65367 + * ubsan.c (ubsan_expand_objsize_ifn): Update GSI instead of GSI_ORIG + when only removing the statement. Handle expanding UBSAN_OBJECT_SIZE + separately. + +2015-03-10 Jakub Jelinek + + PR target/65286 + * config/rs6000/t-linux: For powerpc64* target set + MULTILIB_OSDIRNAMES instead of MULTIARCH_DIRNAME. + +2015-03-10 Richard Biener + + PR middle-end/44563 + * tree-inline.c (copy_cfg_body): Skip block mapped to entry/exit + for redirect_all_calls. + +2015-03-10 Marek Polacek + + * gdbinit.in (pcfun): Define and document. + +2015-03-10 Ilya Verbin + + * config/i386/intelmic-mkoffload.c: Include intelmic-offload.h instead + of libgomp-plugin.h. + (find_target_compiler): Support a case when the path to gcc is + specified in the PATH env var, so COLLECT_GCC doesn't contain a path. + (generate_host_descr_file): Use GOMP_DEVICE_INTEL_MIC from + intelmic-offload.h instead of OFFLOAD_TARGET_TYPE_INTEL_MIC from + libgomp-plugin.h. + (main): Use GCC_INSTALL_NAME as target_driver_name. + * config/i386/t-intelmic (CFLAGS-mkoffload.o): Add GCC_INSTALL_NAME + define. + (mkoffload.o): Remove obsolete include path and defines. + (mkoffload$(exeext)): Use $(LINKER) instead of $(COMPILER). + +2015-03-10 Richard Biener + + PR middle-end/63155 + * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare. + * tree-ssa-coalesce.c: Include timevar.h. + (attempt_coalesce): Handle graph being NULL. + (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING. + Split out abnormal coalescing to ... + (perform_abnormal_coalescing): ... this function. + (coalesce_ssa_name): Perform abnormal coalescing without computing + live/conflict. + (verify_ssa_coalescing_worker): New function. + (verify_ssa_coalescing): Likewise. + +2015-03-10 Georg-Johann Lay + + PR target/65296 + * config.gcc (extra_options) [avr]: Remove. + (extra_gcc_objs) [avr]: Use driver-avr.o, avr-devices.o. + (tm_file) [avr]: Add avr/specs.h after avr/avr.h. + (tm_defines) [avr-*-rtems*]: Add WITH_RTEMS. + + * config/avr/avr.opt (config/avr/avr-arch.h): Remove include. + (-mmcu=): Add Var and MissingArgError properties. + (-march=): Remove. + * config/avr/genmultilib.awk: Use -mmcu= instead of -march=. + * config/avr/t-multilib: Regenerate. + * config/avr/specs.h: New file. + * config/avr/driver-avr.c: New file. + * config/avr/genopt.sh: Remove file. + * config/avr/avr-tables.opt: Remove file. + * config/avr/predicates.md (avr_current_arch): Rename to avr_arch. + * config/avr/avr-c.c: Same. + * avr-arch.h: Same. + (avr_current_device): Remove proto. + * config/avr/avr.h (avr_current_arch): Rename to avr_arch. + (AVR_HAVE_8BIT_SP): Don't depend on avr_current_device. + (EXTRA_SPEC_FUNCTIONS): Define. + (avr_devicespecs_file): New specs function proto. + (DRIVER_SELF_SPECS): Use device-specs-file spec function. + * config/avr/avr.c (avr_current_arch): Rename to avr_arch. + (avr_current_device): Remove definition and usage. + (avr_set_core_architecture): New static function. + (avr_option_override): Use it. + * config/avr/avr-devices.c (diagnostic.h, avr-arch.h): Include them. + (mcu_name): New static array. + (comparator, avr_archs_str, avr_mcus_str): New static functions. + (avr_inform_devices, avr_inform_core_architectures): New functions. + * config/avr/gen-avr-mmcu-specs.c (avr-arch.h, specs.h): Include. + (avrlibc.h) [WITH_AVRLIBC]: Include. + (../rtems.h, rtems.h) [WITH_RTEMS]: Include. + (print_mcu): Rewrite from scratch. + * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC, STARTFILE_SPEC): + Forward to avr-specific specs defined in device-specs file. + * config/avr/t-avr (driver-avr.o): New rule. + (avr-devices.o): Depend on avr-arch.h. + (avr-mcus): No more depend on avr-tables.opt. + (avr-tables.opt): Remove rule. + (install-device-specs): Use INSTALL_DATA, not INSTALL_PROGRAM. + +2015-03-10 Ilya Enkovich + + * c-family/c.opt (fchkp-use-wrappers): New. + * ipa-chkp.c (CHKP_WRAPPER_SYMBOL_PREFIX): New. + (chkp_wrap_function): New. + (chkp_build_instrumented_fndecl): Support wrapped + functions. + * doc/invoke.texi (-fcheck-pointer-bounds): New. + (-fchkp-check-incomplete-type): New. + (-fchkp-first-field-has-own-bounds): New. + (-fchkp-narrow-bounds): New. + (-fchkp-narrow-to-innermost-array): New. + (-fchkp-optimize): New. + (-fchkp-use-fast-string-functions): New. + (-fchkp-use-nochk-string-functions): New. + (-fchkp-use-static-bounds): New. + (-fchkp-use-static-const-bounds): New. + (-fchkp-treat-zero-dynamic-size-as-infinite): New. + (-fchkp-check-read): New. + (-fchkp-check-write): New. + (-fchkp-store-bounds): New. + (-fchkp-instrument-calls): New. + (-fchkp-instrument-marked-only): New. + (-fchkp-use-wrappers): New. + (-static-libmpx): New. + (-static-libmpxwrappers): New. + +2015-03-10 Ilya Enkovich + + * config/i386/linux-common.h (LIBMPX_WRAPPERSSPEC): New. + (CHKP_SPEC): Add wrappers library. + * c-family/c.opt (static-libmpxwrappers): New. + +2015-03-10 Ilya Enkovich + + * config/i386/linux-common.h (LIBMPX_LIBS): New. + (LIBMPX_SPEC): New. + (CHKP_SPEC): New. + * gcc.c (CHKP_SPEC): New. + (LINK_COMMAND_SPEC): Add CHKP_SPEC. + * c-family/c.opt (static-libmpx): New. + +2015-03-10 Richard Biener + + PR middle-end/44563 + * cgraph.h (struct cgraph_edge_hasher): Add hash overload + for compare_type. + * cgraph.c (cgraph_edge_hasher::hash): Inline htab_hash_pointer. + (cgraph_update_edge_in_call_site_hash): Use cgraph_edge_hasher::hash. + (cgraph_add_edge_to_call_site_hash): Likewise. + (cgraph_node::get_edge): Likewise. + (cgraph_edge::set_call_stmt): Likewise. + (cgraph_edge::remove_caller): Likewise. + +2015-03-10 Chung-Ju Wu + + * config/nds32/nds32.h (callee_saved_regs_size): Rename to ... + (callee_saved_gpr_regs_size): ... this. + (callee_saved_regs_first_regno): Rename to ... + (callee_saved_first_gpr_regno): ... this. + (callee_saved_regs_last_regno) Rename to ... + (callee_saved_last_gpr_regno): ... this. + * config/nds32/nds32.c (nds32_compute_stack_frame): Adjust renamed + variables. + (nds32_initial_elimination_offset): Likewise. + (nds32_expand_prologue): Likewise. + (nds32_expand_epilogue): Likewise. + (nds32_expand_prologue_v3push): Likewise. + (nds32_expand_epilogue_v3pop): Likewise. + * config/nds32/nds32-md-auxiliary.c (nds32_output_stack_push): + Adjust renamed variables. + (nds32_output_stack_pop): Likewise. + +2015-03-10 Thomas Preud'homme + + * dominance.c (nearest_common_dominator_for_set): Fix A_Dominated_by_B + code in comment. + +2015-03-10 Jakub Jelinek + + PR rtl-optimization/65321 + * cfgexpand.c (expand_debug_expr): Ensure shift amount isn't wider + than shift mode. + * var-tracking.c (use_narrower_mode): Likewise. + +2015-03-10 Jan Hubicka + + PR tree-optimization/65355 + * varasm.c (notice_global_symbol): Do not produce RTL. + * symtab.c (symtab_node::can_increase_alignment_p): Check for section + anchor. + * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Do not + check for section anchors. + +2015-03-10 Alan Modra + + PR target/65286 + * config.gcc (powerpc*-*-linux*): Arrange for powerpc64le-linux + to be single-arch by default. Set cpu_is_64bit for powerpc64 + given --with-cpu=native. + * config/rs6000/t-fprules: Do not set default MULTILIB vars. + * config/rs6000/t-linux (MULTIARCH_DIRNAME): Support powerpc64 + and powerpc64le. + * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test + rs6000_isa_flags rather than TARGET_64BIT. + +2015-03-09 Yoshinori Sato + Kaz Kojima + + * config/sh/t-linux (MULTILIB_EXCEPTIONS): Define for m2a cases. + +2015-03-09 Jakub Jelinek + + PR lto/65361 + * ipa-devirt.c (add_type_duplicate): Don't use DECL_CONTEXT + on a TREE_BINFO, instead use BINFO_TYPE. + +2015-03-09 Richard Biener + + PR middle-end/65270 + * tree-core.h (enum operand_equal_flag): Add OEP_ADDRESS_OF. + * fold-const.c (operand_equal_p): When recursing for ADDR_EXPRs + operand set OEP_ADDRESS_OF. Clear it when recursing to non-bases + of that. When comparing dereferences compare alignment. + When comparing MEM_REFs or TARGET_MEM_REFs compare dependence info. + +2015-03-08 Jan Hubicka + + * ipa-inline-analysis.c (check_callers): Check + node->can_remove_if_no_direct_calls_and_refs_p. + (growth_likely_positive): Reorganize to call + can_remove_if_no_direct_calls_p later. + * cgraph.h (will_be_removed_from_program_if_no_direct_calls_p, + will_be_removed_from_program_if_no_direct_calls_p): Add + will_inline parameter. + * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p, + cgraph_node::will_be_removed_from_program_if_no_direct_calls_p): + Handle inliner case correctly. + +2015-03-09 Thomas Preud'homme + + PR tree-optimization/63743 + * cfgexpand.c (reorder_operands): Also reorder if only second operand + had its definition forwarded by TER. + +2015-03-08 Jan Hubicka + + PR lto/65316 + * ipa-utils.h (types_odr_comparable): Add strict argument. + * ipa-devirt.c: Fix whitespace; + (odr_hasher): Remove. + (odr_name_hasher, odr_vtable_hasher): New hashers. + (can_be_name_hashed_p): New predicate. + (hash_type_name): remove. + (hash_odr_name): New. + (odr_name_hasher::hash): new. + (can_be_vtable_hashed_p): New. + (hash_odr_vtable): New. + (odr_vtable_hasher::hash): New. + (types_same_for_odr): Add strict parameter. + (types_odr_comparable): Likewise. + (odr_name_hasher::equal): New. + (odr_vtable_hasher::equal): New. + (odr_name_hasher::remove): New. + (odr_hash_type): Change to hash_table. + (odr_vtable_hash_type): New. + (odr_vtable_hash): New. + (odr_subtypes_equivalent_p): Do strict comparsion. + (add_type_duplicate): Merge type names; cleanup; avoid type + duplicates. + (register_odr_type): Initialize vtable hash. + (build_type_inheritance_graph): Likewise + (get_odr_type): Reorg to use two hashes. + (dump_possible_polymorphic_call_targets): Move sanity check after debug + output. + (ipa_devirt): Dump type_inheritance_graph. + (types_same_for_odr): Add strict mode. + +2015-03-05 Jan Hubicka + + PR ipa/65334 + * cgraph.h (symtab_node): Add definition_alignment, + can_increase_alignment_p and increase_alignment. + * symtab.c (symtab_node::can_increase_alignment_p, + increase_alignment_1, symtab_node::increase_alignment, + symtab_node::definition_alignment): New. + * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Use + can_increase_alignment_p. + * tree-vectorizer.c (increase_alignment): Use increase_alignment. + * tree-vect-stmts.c (ensure_base_align): Likewise. + * varasm.c (function_section_1): Use definition_alignment. + (assemble_start_function): Likewise. + (emit_local): likewise. + (build_constant_desc): Likewsie. + (output_constant_def_contents): Likewise. + (place_block_symbol): Likewise. + (output_object_block): Likewise. + +2015-03-05 Jan Hubicka + + PR ipa/65316 + * tree.c (free_lang_data_in_type): Be sure to keep BINFO_VTABLE + when outputting debug. + +2015-03-07 Marek Polacek + Martin Uecker + + PR sanitizer/65280 + * doc/invoke.texi: Update description of -fsanitize=bounds. + +2015-03-06 Wilco Dijkstra + + * tree-ssa-phiopt.c (neg_replacement): Remove. + (tree_ssa_phiopt_worker): Remove negate optimization. + +2015-03-05 Jan Hubicka + + PR ipa/65302 + * value-prof.c (gimple_ic): Pure dead eh edges when needed. + +2015-03-06 Richard Biener + + PR middle-end/64928 + * tree-ssa-live.h (struct tree_live_info_d): Add livein_obstack + and liveout_obstack members. + (calculate_live_on_exit): Remove. + (calculate_live_ranges): Change declaration. + * tree-ssa-live.c (liveness_bitmap_obstack): Remove global var. + (new_tree_live_info): Adjust. + (calculate_live_ranges): Delete livein when not wanted. + (calculate_live_ranges): Do not initialize liveness_bitmap_obstack. + Deal with partly deleted live info. + (loe_visit_block): Remove temporary bitmap by using + bitmap_ior_and_compl_into. + (live_worklist): Adjust accordingly. + (calculate_live_on_exit): Make static. + * tree-ssa-coalesce.c (coalesce_ssa_name): Tell calculate_live_ranges + we do not need livein. + +2015-03-06 Jonathan Wakely + + * real.c (real_from_string): Fix typo in assertion. + +2015-03-06 Alex Velenko + + * ChangeLog (2015-03-05): Reflect Richard Henderson as actual author of + the patch. + +2015-03-05 Jan Hubicka + + * ipa-icf.c (sem_variable::equals_wpa): Check FINAL flags. + +2015-03-05 Vladimir Makarov + + PR target/64342 + * lra-assigns.c (find_hard_regno_for): Rename to + find_hard_regno_for_1. Add a new parameter. + (find_hard_regno_for): New function using find_hard_regno_for_1. + +2015-03-05 Bernd Edlinger + + PR rtl-optimization/65067 + * expmed.c (store_bit_field, extract_bit_field): Reworked the + strict volatile bitfield handling. + +2015-03-05 Martin Liska + + PR ipa/65318 + * ipa-icf.c (sem_variable::equals): Compare variables types. + +2015-03-05 Richard Henderson + + PR target/65121 + * config/arm/arm.c (arm_function_in_section_p): Fix predicate to + correctly check weak symbol binding. + +2015-03-05 Steve Ellcey + + PR middle-end/65315 + * cfgexpand.c (expand_stack_vars): Update large_align to maximum + needed alignment. + +2015-03-05 Martin Liska + + * ipa-inline.c (inline_small_functions): Set default value to + prevent warning during bootstrap. + * tree.h: Add pragma guard that ignores false positives during + bootstrap. + +2015-03-05 Richard Biener + + PR tree-optimization/65310 + * tree-vect-data-refs.c (vect_compute_data_ref_alignment): + Properly preserve alignment of the base of the access. + +2015-03-05 Richard Biener + + PR ipa/65270 + * ipa-icf-gimple.c (func_checker::compare_memory_operand): + Compare dependence info. + +2015-03-05 Richard Biener + + PR middle-end/65233 + * ipa-polymorphic-call.c: Include tree-ssa-operands.h and + tree-into-ssa.h. + (walk_ssa_copies): Revert last chage. Instead do not walk + SSA names registered for SSA update. + +2015-03-03 Jan Hubicka + + PR ipa/65270 + * ipa-icf.c (sem_item::compare_cgraph_references): Compare + vtable references for their containing type. + (sem_function::equals_wpa): Compare TYPE_RESTRICT + and type attributes. + +2015-03-04 Eric Botcazou + + * fold-const.c (round_up_loc): Cast divisor to signed on all paths + before negating it. + * stor-layout.c (finalize_record_size): Revert latest change. + +2015-03-04 Andreas Tobler + + * config/rs6000/t-freebsd64: Remove 32-bit soft-float multilibs. + +2015-03-03 Jan Hubicka + + * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p): Rewrite + for correct comdat handling. + (cgraph_node::will_be_removed_from_program_if_no_direct_calls_p): + Likewise. + * cgraph.h (call_for_symbol_and_aliases): Fix formating. + (used_from_object_file_p_worker): Remove. + (cgraph_node::only_called_directly_or_alised): Add + used_from_object_file_p. + * ipa-inline-analysis.c (growth_likely_positive): Optimie. + * ipa-inline-transform.c (can_remove_node_now_p_1): Use + can_remove_if_no_direct_calls_and_refs_p. + +2015-03-04 Nick Clifton + + * config/rl78/rl78.h (enum reg_class): Remove real registers from + General register class. + * config/rl78/rl78-real.md: Replace general register constraints + with real+virtual register constraints. + +2015-03-04 Andreas Krebbel + + * config/s390/s390.c (s390_expand_builtin): Exlude non-htm builtins + from checking for -mhtm option. + +2015-03-03 Jan Hubicka + + * tree-sra.c (convert_callers): Use call_for_symbol_and_aliases. + (struct ipa_sra_check_caller_data): Add has_thunk field. + (ipa_sra_check_caller): Check for thunk. + (ipa_sra_preliminary_function_checks): Give up on function with + thunks. + (ipa_early_sra): Use call_for_symbol_and_aliases. + +2015-03-03 Kaz Kojima + + PR target/65249 + * config/sh/sh.md (symGOT_load): Use R0 reg for operands[2] when + called for __stack_chk_guard symbol. + +2015-03-03 DJ Delorie + + * config/rl78/rl78-real.md (*addqi_real): Allow SADDR types for + inc/dec. + (*addhi3_real): Likewise. + * config/rl78/rl78-virt.md (*inc3_virt): Additional + pattern to match incrementing memory. + * config/rl78/predicates.md (rl78_1_2_operand): New. + * config/rl78/rl78.c (rl78_force_nonfar_3): Allow far mem-mem if + it's the same and only mem. + (rl78_alloc_physical_registers_op2): If there's effectively only + one MEM, transcode it into HL. + (rl78_far_p): Reject addresses that aren't legitimate. + +2015-03-03 Eric Botcazou + + * fold-const.c (round_up_loc): Cast divisor to HOST_WIDE_INT before + negating it. + + * tree-sra.c (pa_sra_preliminary_function_checks): Fix typo in message. + +2015-03-03 Max Filippov + + Implement call0 ABI for xtensa + * config/xtensa/constraints.md ("a" constraint): Include stack + pointer in case of call0 ABI. + ("q" constraint): Make empty in case of call0 ABI. + ("D" constraint): Include stack pointer in case of call0 ABI. + * config/xtensa/xtensa-protos.h (xtensa_set_return_address, + xtensa_expand_epilogue, xtensa_regno_to_class): Add new function + prototypes. + * config/xtensa/xtensa.c (xtensa_callee_save_size): New + variable. + (xtensa_regno_to_class): Make it a local variable in the + function xtensa_regno_to_class. + (xtensa_function_epilogue, TARGET_ASM_FUNCTION_EPILOGUE): Remove + macro, function prototype and implementation. + (reg_nonleaf_alloc_order): Make it a local variable in the + function order_regs_for_local_alloc. + (xtensa_conditional_register_usage): New function. + (TARGET_CONDITIONAL_REGISTER_USAGE): Define macro. + (xtensa_valid_move): Allow direct moves to stack pointer + register in call0 ABI. + (xtensa_setup_frame_addresses): Only spill register windows in + windowed ABI. + (xtensa_emit_call): Emit call(x)8 or call(x)0 in windowed and + call0 ABI respectively. + (xtensa_function_arg_1): Only mark a7 register for copying in + windowed ABI. + (xtensa_call_save_reg): New function. + (compute_frame_size): Add space for callee saved register + storage to the frame size in call0 ABI. + (xtensa_expand_prologue): Generate code to set up stack frame + and save callee-saved registers in call0 ABI. + (xtensa_expand_epilogue): New function. + (xtensa_set_return_address): New function. + (xtensa_return_addr): Calculate return address in call0 ABI. + (xtensa_builtin_saveregs): Only mark a7 register for copying and + emit copying code in windowed ABI. + (order_regs_for_local_alloc): Add preferred register allocation + order for non-leaf function in call0 ABI. + (xtensa_static_chain): Add atatic chain passing for call0 ABI. + (xtensa_asm_trampoline_template): Add trampoline generation for + call0 ABI. + (xtensa_trampoline_init): Add trampoline initialization for + call0 ABI. + (xtensa_conditional_register_usage, xtensa_regno_to_class): New + functions. + * config/xtensa/xtensa.h (TARGET_WINDOWED_ABI): New macro. + (TARGET_CPU_CPP_BUILTINS): Add built-in define for call0 ABI. + (CALL_USED_REGISTERS): Modify to encode both windowed and call0 + ABI call-used registers. + (HARD_FRAME_POINTER_REGNUM): Add frame pointer for call0 ABI. + (INCOMING_REGNO, OUTGOING_REGNO): Use argument unchanged in + call0 ABI. + (REG_CLASS_CONTENTS): Include all registers into the preferred + reload registers set, adjust the set in the + xtensa_conditional_register_usage. + (xtensa_regno_to_class): Drop variable declaration. + (REGNO_REG_CLASS): Redefine to use xtensa_regno_to_class + function. + (WINDOW_SIZE): Define as 8 or 0 for windowed and call0 ABI + respectively. + (FUNCTION_PROFILER): Add _mcount call for call0 ABI. + (TRAMPOLINE_SIZE): Define trampoline size for call0 ABI. + (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 in call0 ABI. + (ASM_OUTPUT_POOL_PROLOGUE): Always generate literal pool + location in call0 ABI. + (EH_RETURN_STACKADJ_RTX): New definition, use a10 for passing + stack adjustment size when handling exception. + (CRT_CALL_STATIC_FUNCTION): Add definition for call0 ABI. + * config/xtensa/xtensa.md (A9_REG, UNSPECV_BLOCKAGE): New + definitions. + ("return" pattern): Generate ret.n/ret in call0 ABI. + ("epilogue" pattern): Expand epilogue. + ("nonlocal_goto" pattern): Use default in call0 ABI. + ("eh_return" pattern): Move implementation to eh_set_a0_windowed, + emit eh_set_a0_* depending on ABI. + ("eh_set_a0_windowed" pattern): Former eh_return pattern. + ("eh_set_a0_call0", "blockage"): New patterns. + +2015-03-03 Martin Liska + + PR ipa/65287 + * ipa-icf.c (sem_variable::parse): Skip all alias variables. + +2015-03-03 Michael Meissner + + PR 65138/target + * config/rs6000/rs6000-tables.opt: Regenerate table. + +2015-03-03 Renlin Li + + * doc/md.texi (@item ^): Change ? into ^. + +2015-03-03 H.J. Lu + + * doc/tm.texi: Regenerated. + +2015-03-03 Max Filippov + + * builtins.c (expand_builtin_return_addr): Add + RETURN_ADDR_IN_PREVIOUS_FRAME to 'if' condition, remove + surrounding #ifdef. + * config/sparc/sparc.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Change + definition to 1. + * config/xtensa/xtensa.h (RETURN_ADDR_IN_PREVIOUS_FRAME): + Likewise. + * defaults.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 if + undefined. + * doc/tm.texi.in (RETURN_ADDR_IN_PREVIOUS_FRAME): Update + paragraph. + +2015-03-03 Martin Jambor + Eric Botcazou + + * tree-sra.c (ipa_sra_check_caller_data): New type. + (has_caller_p): Removed. + (ipa_sra_check_caller): New function. + (ipa_sra_preliminary_function_checks): Use it. + +2015-03-03 Martin Liska + + * ipa-icf.c (sem_item_optimizer::merge_classes): Use bit or + instead of if branch. + +2015-03-03 Martin Liska + + PR ipa/65282 + * ipa-icf.c (sem_variable::equals): Fix wrong condition. + +2015-03-23 Jeff Law + + PR tree-optimization/65241 + * tree-ssa-dom.c (lookup_avail_expr): Only modify the avail_expr + hash table if INSERT is true. + +2015-03-03 Georg-Johann Lay + + PR target/65296 + * config.gcc (extra_gcc_objs) [avr-*-rtems*]: Remove. + +2015-03-03 Georg-Johann Lay + + PR target/64331 + * config/avr/avr.c (context.h, tree-pass.h): Include them. + (avr_pass_data_recompute_notes): New static variable. + (avr_pass_recompute_notes): New class. + (avr_register_passes): New static function. + (avr_option_override): Call it. + +2015-03-03 Georg-Johann Lay + + Fix various problems with specs file generation. + + PR target/65296 + * config.gcc (extra_gcc_objs) [avr]: Remove. + * config/avr/driver-avr.c: Remove file. + * config/avr/t-avr (driver-avr.o): Remove rule. + (gen-avr-mmcu-specs): Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD and + INCLUDES to build. Depend on TM_H. + * config/avr/gen-avr-mmcu-specs.c: Tidy up code. Fix various + build warnings. Fix non-matching types and non-existing %-codes. + (tm.h): Include. + (*lib) [!WITH_AVRLIBC]: Don't link libdev.a. + (*libgcc) [WITH_AVRLIBC]: Add "-lm". + * config/avr/avrlibc.h (LIBGCC_SPEC): Remove definition. + * config/avr/avr.h (DRIVER_SELF_SPECS): Fix handling of -march=. + (CPP_SPEC, CC1PLUS_SPEC, ASM_SPEC, LINK_SPEC, LIB_SPEC) + (LIBGCC_SPEC): Remove definitions. + +2015-03-03 Eric Botcazou + + * config/ia64/ia64.c (expand_vec_perm_interleave_2): Use gen_raw_REG + to create a register in testing mode. + +2015-03-03 Martin Liska + Jan Hubicka + + PR ipa/65263 + * cgraph.c (cgraph_node::has_thunk_p): New function. + * cgraph.h (cgraph_node::has_thunk_p: Likewise. + * ipa-icf.c (redirect_all_callers): Do not redirect thunks. + (sem_function::merge): Assert is changed. + +2015-03-03 Martin Liska + Martin Jambor + + PR ipa/65087 + * ipa-icf.c (sem_item_optimizer::execute): Change function + return value to boolean. + (sem_item_optimizer::merge_classes): Likewise. + (ipa_icf_driver): Return TODO_remove_functions in case there's + a merge operation processed. + * ipa-icf.h: Change function return value to boolean. + +2015-03-02 Michael Meissner + + PR 65138/target + * config/rs6000/rs6000-cpus.def (powerpc64le): Add new generic + processor type for 64-bit little endian PowerPC. + + * config/rs6000/rs6000.c (rs6000_option_override_internal): If + -mdebug=reg, print TARGET_DEFAULT. Fix logic to use + TARGET_DEFAULT if there is no default cpu. Fix -mdebug=reg + printing built-in mask so it does not pass NULL pointers. + + * doc/invoke.texi (IBM RS/6000 and PowerPC options): Document + -mcpu=powerpc64le. + +2015-03-02 Steve Ellcey + + PR target/58158 + * config/mips/mips.md (movcc): Change ISA_HAS_SEL check to + !ISA_HAS_FP_CONDMOVE. + +2015-03-02 Aldy Hernandez + + * config/i386/i386.md (*udivmod4_pow2): Remove + reload_completed. + +2015-03-02 Ulrich Drepper + + * doc/invoke.texi (Options for Code Generation Conventions): + Fix URL of DSO paper. + +2015-03-02 Jan Hubicka + + PR ipa/65130 + * ipa-inline.c (check_callers): Looks for recursion. + (inline_to_all_callers): Give up on uninlinable or recursive edges. + * ipa-inline-analysis.c (inline_summary_t::duplicate): Do not update + summary of inline clones. + (do_estimate_growth_1): Fix recursion check. + +2015-03-02 Jan Hubicka + + PR ipa/64988 + * ipa-inline-transform.c (clone_inlined_nodes): Do not dissolve + comdat groups. + +2015-03-02 Jan Hubicka + Aldy Hernandez + + PR lto/65276 + * ipa-devirt.c (add_type_duplicate): Remove odr_violated assert + when checking TYPE_BINFO. + +2015-03-02 Richard Biener + + PR ipa/65270 + * ipa-icf-gimple.c: Include builtins.h. + (func_checker::compare_memory_operand): Compare base alignment. + +2015-03-02 Ilya Enkovich + + PR target/65184 + * config/i386/i386.c (ix86_pass_by_reference): Bounds are never + passed by reference. + +2015-03-02 Ilya Enkovich + + PR target/65183 + * tree-chkp.c (chkp_check_lower): Don't check against + zero bounds for already instrumented functions. + (chkp_check_upper): Likewise. + (chkp_fini): Clean pass local data to avoid wrong reusage. + +2015-02-28 Martin Liska + Jan Hubicka + + * ipa-icf.c (sem_variable::equals): Improve debug output; + get variable constructor. + (sem_variable::parse): Do not filter out too early; give up on + volatile and register vars. + (sem_item_optimizer::filter_removed_items): Filter out nonreadonly + variables. + * ipa-icf.h (sem_variable::init): Do not set ctor. + (sem_variable::ctor): Remove. + +2015-03-01 Aldy Hernandez + + PR middle-end/65233 + * ipa-polymorphic-call.c (walk_ssa_copies): Handle empty PHIs. + +2015-02-28 Jan Hubicka + + * ipa-icf.c: Include stor-layout.h + (sem_function::compare_cgraph_references): Rename to ... + (sem_item::compare_cgraph_references): ... this one. + (sem_variable::equals_wpa): New function + (sem_variable::equals): Do not check stuff already verified by + equals_wpa. + (sem_variable::equals): Reorg based on varasm.c:compare_constant. + * ipa-icf.h (sem_item): Add compare_cgraph_references. + (sem_function): Remove compare_cgraph_references. + (sem_variable): Turns equals_wpa into non-inline. + +2015-02-28 Jan Hubicka + + * ipa-icf.c (sem_function::init): Fix formating; skip GIMPLE_PREDICT. + (sem_item::add_expr): New function. + (sem_function::hash_stmt): Handle operands of most statements. + (sem_variable::get_hash): Hash the actual constructor. + * ipa-icf.h (sem_item): Add add_expr. + (sem_function): Update prototype of hash_stmt + +2015-02-28 Martin Liska + Jan Hubicka + + PR ipa/65245 + * ipa-icf-gimple.c (func_checker::compare_function_decl): + Remove. + (func_checker::compare_variable_decl): Skip symtab vars. + (func_checker::compare_cst_or_decl): Update. + * ipa-icf.c (sem_function::parse): Do not consider aliases. + (sem_function::compare_cgraph_references): Add ADDRESS parameter; + use correct symtab predicates. + (sem_function::equals_wpa): Update uses of compare_cgraph_references. + (sem_variable::parse): Update comment. + (sem_item_optimizer::build_graph): Consider ultimate aliases + for references. + +2015-02-28 Jan Hubicka + + * ipa-icf-gimple.c (func_checker::compare_operand): Fix handling + of OBJ_TYPE_REF. + +2015-02-28 Jan Hubicka + + * ipa-icf.c (sem_function::merge): Fix handling of COMDAT. + (sem_variable::merge) Likewise. + +2015-02-28 Jan Hubicka + + * ipa-inline.c (can_inline_edge_p): Match opt_for_fn on inline + target; also match flag_ipa_devirt. + +2015-03-01 Martin Liska + Jan Hubicka + + * ipa-icf-gimple.c (func_checker::compare_variable_decl): + Validate variable alignment. + * ipa-icf.c (sem_function::equals_private): Be more precise + about non-common function attributes. + (sem_variable::equals): Likewise. + +2015-02-28 Jan Hubicka + + PR ipa/65237 + * ipa-icf.c (sem_function::merge): Do not attempt to produce alias + across COMDAT group boundary. + +2015-02-28 Jan Hubicka + + PR ipa/65232 + * ipa-icf.c (clear_decl_rtl): New function. + (sem_function::merge): Clear RTL before forming alias. + (sem_variable::merge): Clear RTL before forming alias. + +2015-02-28 Jan Hubicka + + PR ipa/65236 + * cgraphunit.c (cgraph_node::expand_thunk): Enable return slot opt. + +2015-02-28 Xingxing Pan + + * config/aarch64/aarch64.md: (mov_aarch64): Change type + to neon_to_gp. + +2015-02-27 Vladimir Makarov + + * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): Fix + a typo in the description. + +2015-02-27 Vladimir Makarov + + PR target/64317 + * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New. + * params.h (LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New. + * lra-constraints.c: Include "params.h". + (EBB_PROBABILITY_CUTOFF): Use + LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF. + (lra_inheritance): Use '<' instead of '<=' for + EBB_PROBABILITY_CUTOFF. + * doc/invoke.texi (lra-inheritance-ebb-probability-cutoff): + Document change. + +2015-02-27 Martin Liska + + * ipa-icf.h (struct symbol_compare_hashmap_traits): Add missing + vector length condition. + +2015-02-27 Sandra Loosemore + + * doc/extend.texi (x86 transactional memory intrinsics): + Reorganize discussion of _xbegin. Clarify that the return + value is a bit mask. Expand example and move to end of section. + +2015-02-26 Jakub Jelinek + Aldy Hernandez + + PR rtl-optimization/65220 + * config/i386/i386.md (*udivmod4_pow2): New. + +2015-02-27 Vladimir Makarov + + PR target/65032 + * lra-remat.c (update_scratch_ops): New. + (do_remat): Call it. + * lra.c (lra_register_new_scratch_op): New. Take code from ... + (remove_scratches): ... here. + * lra-int.h (lra_register_new_scratch_op): New prototype. + +2015-02-27 Marek Polacek + + PR c/65040 + * doc/invoke.texi: Update to reflect that -Wformat=2 doesn't enable + -Wformat-signedness anymore. + +2015-02-27 Andreas Krebbel + + * config/s390/s390.c: (s390_atomic_assign_expand_fenv): New + function. + (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define macro. + +2015-02-27 Andreas Krebbel + + * config/s390/s390.c (enum s390_builtin): + Add S390_BUILTIN_S390_SFPC and S390_BUILTIN_S390_EFPC. + (code_for_builtin): Add CODE_FOR_s390_sfpc and CODE_FOR_s390_efpc. + (s390_init_builtins): Generate new builtin functions. + * config/s390/s390.md (UNSPECV_SFPC, UNSPECV_EFPC): New constants. + (s390_sfpc, s390_efpc): New pattern definitions. + +2015-02-27 Andreas Krebbel + + * config/s390/s390.c: (enum s390_builtin, s390_expand_builtin): + Rename S390_BUILTIN_max to S390_BUILTIN_MAX. + (s390_builtin_decls): New array. + (s390_init_builtins): Put builtin decls into s390_builtin_decls. + (s390_builtin_decl): New function. + (TARGET_BUILTIN_DECL): Define macro. + +2015-02-27 Richard Biener + + PR middle-end/63175 + * builtins.c (get_object_alignment_2): Make sure to re-apply + the ANDed mask after recursing to its operand gets us a new + misalignment bit position. + +2015-02-26 Jan Hubicka + Martin Liska + + PR bootstrap/65150 + * ipa-icf.c (symbol_compare_collection::symbol_compare_colleciton): + Use address_matters_p. + (redirect_all_callers, set_addressable): New functions. + (sem_function::merge): Reorganize and fix merging issues. + (sem_variable::merge): Likewise. + (sem_variable::compare_sections): Remove. + * common.opt (fmerge-all-constants, fmerge-constants): Remove + Optimization flag. + * symtab.c (symtab_node::resolve_alias): When alias has aliases, + redirect them. + (symtab_node::make_decl_local): Set ADDRESSABLE bit when + decl is used. + (address_matters_1): New function. + (symtab_node::address_matters_p): New function. + * cgraph.c (cgraph_edge::verify_corresponds_to_fndecl): Fix + check for merged flag. + * cgraph.h (address_matters_p): Declare. + (symtab_node::address_taken_from_non_vtable_p): Remove. + (symtab_node::address_can_be_compared_p): New method. + (ipa_ref::address_matters_p): Move here from ipa-ref.c; simplify. + * ipa-visibility.c (symtab_node::address_taken_from_non_vtable_p): + Remove. + (comdat_can_be_unshared_p_1) Use address_matters_p. + (update_vtable_references): Fix formating. + * ipa-ref.c (ipa_ref::address_matters_p): Move inline. + * cgraphunit.c (cgraph_node::create_wrapper): Drop UNINLINABLE flag. + * cgraphclones.c: Preserve merged and icf_merged flags. + +2015-02-26 Sandra Loosemore + + * doc/extend.texi (Function Attributes): Fix spelling and typos. + (Label Attributes): Likewise. + (Cilk Plus Builtins): Likewise. + (ARC SIMD Built-in Functions): Likewise. + (ARM C Language Extensions (ACLE)): Likewise. + (PowerPC Built-in Functions): Likewise. + (PowerPC Hardware Transactional Memory Built-in Functions): + Likewise. + +2015-02-26 Jakub Jelinek + + PR tree-optimization/65216 + * tree-ssa-reassoc.c (rewrite_expr_tree): Force creation of + new stmt and new SSA_NAME for lhs whenever the arguments have + changed and weren't just swapped. Fix comment typo. + + PR tree-optimization/65215 + * tree-ssa-math-opts.c (find_bswap_or_nop_load): Return false + for PDP endian targets. + (perform_symbolic_merge, find_bswap_or_nop_1, find_bswap_or_nop): + Fix up formatting issues. + (bswap_replace): Likewise. For BYTES_BIG_ENDIAN, if the final access + size is smaller than the original, adjust MEM_REF offset by the + difference of sizes. Use is_gimple_mem_ref_addr instead of + is_gimple_min_invariant test to avoid adding address temporaries. + +2015-02-26 Martin Liska + Jan Hubicka + + PR ipa/64693 + * ipa-icf.c (symbol_compare_collection::symbol_compare_collection): New. + (sem_item_optimizer::subdivide_classes_by_sensitive_refs): New function. + (sem_item_optimizer::process_cong_reduction): Include division by + sensitive references. + * ipa-icf.h (struct symbol_compare_hashmap_traits): New class. + * ipa-ref.c (ipa_ref::address_matters_p): New function. + * ipa-ref.h (ipa_ref::address_matters_p): Likewise. + +2015-02-26 Georg-Johann Lay + + PR target/65192 + * config/avr/avr-protos.h (tiny_valid_direct_memory_access_range): + Remove. + * config/avr/avr.c: Same. + (avr_legitimate_address_p) : + Refuse any constant address not in 0..0xbf. + * config/avr/avr.md (*mov, *movsf): Remove + tiny_valid_direct_memory_access_range from insn conditions. + (mov): Don't special-case expansion of avrtiny addresses. + +2015-02-26 Oleg Endo + + PR target/61142 + * config/sh/sh.c (sh_check_add_incdec_notes): New function. + * config/sh/sh-protos.h (sh_check_add_incdec_notes): Declare it. + * config/sh/predicates.md (const_logical_operand): New predicate. + * config/sh/sh.md: Add new peephole2 patterns. + +2015-02-26 Marek Polacek + + PR ipa/65008 + * ipa-inline.c (early_inliner): Recompute inline parameters. + +2015-02-26 Bill Schmidt + + PR target/65171 + * config/rs6000/rs6000.c (rs6000_analyze_swaps): Ensure + instructions with TImode operands are included in the analysis. + +2015-02-26 Sebastian Pop + + * tree-ssa-threadupdate.c (dump_jump_thread_path): Print all edges + of an EDGE_FSM_THREAD. + +2015-02-25 Adhemerval Zanella + + * config/rs6000/htm.md (tcheck): Fix assembly encoding. + +2015-02-25 Aldy Hernandez + + PR debug/46102 + * dwarf2out.c (dwarf2out_init): Disable -feliminate-dwarf2-dups. + +2015-02-26 Sebastian Pop + + PR tree-optimization/65048 + * tree-ssa-threadupdate.c (valid_jump_thread_path): New. + (thread_through_all_blocks): Call valid_jump_thread_path. + Remove invalid FSM jump-thread paths. + +2015-02-26 Jakub Jelinek + + * passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table. + (ipa_write_optimization_summaries): Likewise. + * tree-streamer.h: Include data-streamer.h. + (streamer_mode_table): Declare extern variable. + (bp_pack_machine_mode, bp_unpack_machine_mode): New inline functions. + * lto-streamer-out.c (lto_output_init_mode_table, + lto_write_mode_table): New functions. + (produce_asm_for_decls): Call lto_write_mode_table when streaming + offloading LTO. + * lto-section-in.c (lto_section_name): Add "mode_table" entry. + (lto_create_simple_input_block): Add mode_table argument to the + lto_input_block constructors. + * ipa-prop.c (ipa_prop_read_section, read_replacements_section): + Likewise. + * data-streamer-in.c (string_for_index): Likewise. + * ipa-inline-analysis.c (inline_read_section): Likewise. + * ipa-icf.c (sem_item_optimizer::read_section): Likewise. + * lto-cgraph.c (input_cgraph_opt_section): Likewise. + * lto-streamer-in.c (lto_read_body_or_constructor, + lto_input_toplevel_asms): Likewise. + (lto_input_mode_table): New function. + * tree-streamer-out.c (pack_ts_fixed_cst_value_fields, + pack_ts_decl_common_value_fields, pack_ts_type_common_value_fields): + Use bp_pack_machine_mode. + * real.h (struct real_format): Add name field. + * lto-streamer.h (enum lto_section_type): Add LTO_section_mode_table. + (class lto_input_block): Add mode_table member. + (lto_input_block::lto_input_block): Add mode_table_ argument, + initialize mode_table. + (struct lto_file_decl_data): Add mode_table field. + (lto_input_mode_table, lto_output_init_mode_table): New prototypes. + * tree-streamer-in.c (unpack_ts_fixed_cst_value_fields, + unpack_ts_decl_common_value_fields, + unpack_ts_type_common_value_fields): Call bp_unpack_machine_mode. + * tree-streamer.c (streamer_mode_table): New variable. + * real.c (ieee_single_format, mips_single_format, + motorola_single_format, spu_single_format, ieee_double_format, + mips_double_format, motorola_double_format, + ieee_extended_motorola_format, ieee_extended_intel_96_format, + ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format, + ibm_extended_format, mips_extended_format, ieee_quad_format, + mips_quad_format, vax_f_format, vax_d_format, vax_g_format, + decimal_single_format, decimal_double_format, decimal_quad_format, + ieee_half_format, arm_half_format, real_internal_format): Add name + field. + * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise. + +2015-02-26 Yuri Rumyantsev + + PR target/65161 + * config/i386/i386.c (ix86_sched_reorder): Skip instruction + reordering for selective scheduling. + +2015-02-26 Terry Guo + + * config/arm/arm-cores.def (cortex-m7): Add flag FL_NO_VOLATILE_CE. + * config/arm/arm-protos.h (FL_NO_VOLATILE_CE): New flag. + (arm_arch_no_volatile_ce): Declare new global variable. + * config/arm/arm.c (arm_arch_no_volatile_ce): New global variable. + (arm_option_override): Assign value to arm_arch_no_volatile_ce. + * config/arm/arm.h (arm_arch_no_volatile_ce): Declare it. + (TARGET_NO_VOLATILE_CE): New macro. + * config/arm/arm.md (arm_comparison_operator): Disabled if not allow + volatile memory access in IT block + +2015-02-25 Kai Tietz + + PR tree-optimization/61917 + * tree-vect-loop.c (vectorizable_reduction): Handle obvious case + that reduc_def_stmt is null. + +2015-02-25 Martin Liska + + * ipa-icf-gimple.c (func_checker::compare_variable_decl): Compare + hard register variables. + +2015-02-25 Kai Tietz + + PR target/64212 + * symtab.c (symtab::make_decl_local): Set DECL_IMPORT_P explicit to 0. + (symtab::noninterposable_alias): Likewise. + +2015-02-25 Ilya Enkovich + + PR target/65167 + * config/i386/i386.c (ix86_function_arg_regno_p): Support + bounds registers. + (avoid_func_arg_motion): Add dependencies for BNDSTX insns. + +2015-02-25 Alan Lawrence + + PR target/64997 + * config/aarch64/aarch64.md (*xor_one_cmpl3): Use FP_REGNUM_P + as split condition; force split via '#' in output pattern. + +2015-02-25 Richard Biener + Kai Tietz + + PR tree-optimization/61917 + * tree-vect-loop.c (vectorizable_reduction): Allow + vect_internal_def without reduction to exit graceful. + +2015-02-25 Georg-Johann Lay + + PR target/65196 + * config/avr/avr.c (avr_adjust_insn_length): Call recog_memoized + only with NONDEBUG_INSN_P. + +2015-02-25 Georg-Johann Lay + + Use variadic macros with avr-log.c. + + * config/avr/avr-protos.h (avr_vdump): New prototype. + (avr_log_set_caller_e, avr_log_set_caller_f): Remove protos. + (avr_edump, avr_fdump, avr_dump): (Re)define to use avr_vdump. + * config/avr/avr-log.c: Adjust comments. + (avr_vdump): New function. + (avr_vadump): Pass caller as 2nd argument instead of format string. + (avr_log_caller, avr_log_fdump_e, avr_log_fdump_f) + (avr_log_set_caller_e, avr_log_set_caller_f): Remove. + +2015-02-25 Jakub Jelinek + + PR lto/64374 + * target.def (target_option_stream_in): New target hook. + * tree-streamer-in.c (streamer_read_tree_bitfields): Invoke + targetm.target_option.post_stream_in if non-NULL. + * doc/tm.texi.in: Add @hook TARGET_OPTION_POST_STREAM_IN. + * doc/tm.texi: Updated. + * config/i386/i386.c (ix86_function_specific_post_stream_in): New + function. + (TARGET_OPTION_POST_STREAM_IN): Redefine. + +2015-02-24 Jeff Law + + PR target/65117 + * config/xtensa/xtensa.md (zero_cost_loop_start): Reverse numbering + of operand 0 and operand 2. + (zero_cost_loop_end, loop_end): Similarly. + +2015-02-24 Aldy Hernandez + + * gimple.h (gimple_build_assign): Rename CXX_MEM_STAT_DECL to + CXX_MEM_STAT_INFO. + +2015-02-24 DJ Delorie + + * config/rl78/rl78-protos.h (rl78_split_movsi): Accept a mode as well. + * config/rl78/rl78-expand.md (movsf): New, same as movsi. + * config/rl78/rl78.c (rl78_split_movsi): Accept a mode, use it + instead of hardcoding SImode. + +2015-02-24 Bernd Schmidt + + * omp-low.c (create_omp_child_function): Tag entrypoint + functions with a special attribute. + +2015-02-24 Michael Haubenwallner + + PR target/65058 + * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Drop unused variable. + +2015-02-24 Vladimir Makarov + + PR rtl-optimization/65123 + * lra-remat.c (operand_to_remat): Check hard regs in insn + definition too. + +2015-02-24 Nick Clifton + + * config/v850/v850.h (ASM_SPEC): Pass -msoft-float/-mhard-float on + to the assembler. + +2015-02-24 Thomas Schwinge + + PR libgomp/64625 + * omp-builtins.def (BUILT_IN_GOACC_DATA_START): Specify as + BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, not + BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR. + (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_UPDATE): Specify as + BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, not + BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR. + (BUILT_IN_GOACC_PARALLEL): Specify as + BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR, not + BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR. + * builtin-types.def + (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR) + (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR): + Remove function types. + (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR) + (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR) + (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR): + New function types. + +2015-02-24 Georg-Johann Lay + + * config/avr/stdfix.h [__WITH_AVRLIBC__]: Include . + +2015-02-24 Jakub Jelinek + + PR tree-optimization/65170 + * wide-int.cc (wi::mul_internal): For the umul_ppmm optimization, + if val[1] < 0, clear also val[2] and return 3. + +2015-02-24 Alan Modra + + PR target/65172 + * config/rs6000/rs6000.c (get_memref_parts): Only return true + when *base is a reg. Handle nested plus addresses. Simplify + pre_modify test. + +2015-02-22 Max Filippov + + * config/xtensa/xtensa.h (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): + use natural alignment when optimizing for size. + +2015-02-23 Kaz Kojima + + PR target/65153 + * config/sh/sh.md (movsicc_true+3): Remove peephole. + * config/sh/sh-protos.h (replace_n_hard_rtx): Don't declare. + * config/sh/sh.c (replace_n_hard_rtx): Remove. + +2015-02-23 Richard Sandiford + + PR fortran/63427 + * wide-int.cc (wi::from_mpz): Cope with unwrapped values that are + too big for a wide_int. Implement missing wrapping operation. + +2015-02-23 Oleg Endo + + PR target/65163 + * config/sh/sh.md (swapbsi2, related peephole2): Use const_int -65536 + instead of const_int 4294901760. + +2015-02-23 Georg-Johann Lay + + * config/avr/t-avr: Fix typo in comment. + +2015-02-21 Richard Sandiford + + * doc/rtl.texi (fma): Clarify documentation. + +2015-02-20 Aldy Hernandez + + PR debug/58123 + * gimplify.c (gimplify_expr): Prefer location of TRY_FINALLY_EXPR + over input_location. + +2015-02-20 Bernd Schmidt + + * tree-streamer-in.c (unpack_ts_decl_common_value_fields, + unpack_ts_type_common_value_fields): If ACCEL_COMPILER, + restrict alignments to absolute_biggest_alignment. + * config/i386/i386.c (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT): + Define. + * doc/tm.texi.in (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT): Add. + * doc/tm.texi: Regenerate. + * target.def (absolute_biggest_alignment): New DEFHOOKPOD. + +2015-02-20 Vladimir Makarov + + PR target/64172 + * ira-color.c (color_pass): Prevent splitting multi-register pseudos. + +2015-02-20 Richard Biener + + PR tree-optimization/65136 + * tree-ssa-propagate.c: Include cfgloop.h. + (replace_phi_args_in): Avoid replacing loop latch edge PHI + arguments with constants. + +2015-02-20 Jakub Jelinek + Martin Liska + + PR target/63892 + * ipa-icf.c (sem_function::merge): If DECL_COMDAT_GROUP (alias->decl), + don't try to create_thunk if stdarg_p. If + !sem_item::target_supports_symbol_aliases_p (), similarly, and try to + redirect_callers if possible. + (sem_item_optimizer::execute): Call unregister_hooks here... + (ipa_icf_driver): ... instead of here. + +2015-02-20 Kyrylo Tkachov + + * config/aarch64/aarch64.md (*aarch64_lshr_sisd_or_int_3): + Mark operand 0 as earlyclobber in 2nd alternative. + (1st define_split below *aarch64_lshr_sisd_or_int_3): + Write negated shift amount into QI lowpart operand 0 and use it + in the shift step. + (2nd define_split below *aarch64_lshr_sisd_or_int_3): Likewise. + +2015-02-20 Bernd Schmidt + + * cgraph.h (clone_function_name_1): Declare. + * cgraphclones.c (clone_function_name_1): New function. + (clone_function_name): Use it. + * lto-partition.c: Include "stringpool.h". + (must_not_rename, maybe_rewrite_identifier) + (validize_symbol_for_target): New static functions. + (privatize_symbol_name): Use must_not_rename. + (promote_symbol): Call validize_symbol_for_target. + (lto_promote_cross_file_statics): Likewise. + (lto_promote_statics_nonwpa): Likewise. + +2015-02-20 Georg-Johann Lay + + PR target/64452 + * config/avr/avr.md (pushhi_insn): New insn. + (push1): Push virtual regs in one chunk using pushhi1_insn. + +2015-02-20 Bernd Schmidt + Jakub Jelinek + + * tree-streamer.c (preload_common_nodes): Don't preload + TI_VA_LIST* for offloading. + * tree-stdarg.c (pass_stdarg::gate): Disable for ACCEL_COMPILER + in_lto_p. + +2015-02-19 John David Anglin + + * config/pa/pa.c (pa_emit_move_sequence): Always force + (const (plus (symbol) (const_int))) to const mem. Put REG_EQUAL + note on insn. + + * config/pa/pa.c (pa_reloc_rw_mask): New function. + (TARGET_ASM_RELOC_RW_MASK): Define. + (pa_cannot_force_const_mem): Revert previous change. + +2015-02-19 Martin Jambor + Jan Hubicka + + PR ipa/65028 + * ipa-cp.c (propagate_alignment_accross_jump_function): Fix propagation + across jump functions. + +2015-02-19 Uros Bizjak + + * config/alpha/alpha.c (alpha_in_small_data_p): Reject common symbols. + +2015-02-19 Sandra Loosemore + + * doc/extend.texi (x86 transactional memory intrinsics): Copy-edit. + +2015-02-19 Richard Henderson + + PR middle-end/65074 + * varasm.c (default_binds_local_p_2): Don't test node->definition; + test DECL_EXTERNAL independent of symtab_node. + +2015-02-19 Jakub Jelinek + + PR lto/65012 + * varpool.c (varpool_node::get_constructor): Return early + if this->lto_file_data is NULL. + +2015-02-19 Maxim Kuvyrkov + + * haifa-sched.c (enum rfs_decision, rfs_str): Remove RFS_DEBUG. + (rank_for_schedule_debug): Update. + (ready_sort): Make static. Move sorting logic to ... + (ready_sort_debug, ready_sort_real): New static functions. + (schedule_block): Sort both debug insns and real insns in preparation + for ready list trimming. Improve debug output. + * sched-int.h (ready_sort): Remove global declaration. + +2015-02-18 Trevor Saunders + + * ipa-icf.c (sem_function::equals_private): Adjust. + (sem_function::bb_dict_test): Take a vec * instead of + auto_vec. + * ipa-icf.h (bb_dict_test): Likewise. + +2015-02-18 Jakub Jelinek + + PR gcov-profile/64634 + * tree-eh.c (frob_into_branch_around): Fix up typos + in function comment. + (lower_catch): Put eh_seq resulting from EH lowering of + the cleanup sequence after the cleanup rather than before it. + +2015-02-18 Tom de Vries + + * common.opt (fstdarg-opt): New option. + * tree-stdarg.c (pass_stdarg::gate): Use flag_stdarg_opt. + * doc/invoke.texi (@item Optimization Options): Add -fstdarg-opt. + (@item -fstdarg-opt): New item. + +2015-02-18 H.J. Lu + + PR target/65064 + * config/ia64/predicates.md (sdata_symbolic_operand): Return false + for common symbols. + +2015-02-18 Jakub Jelinek + + * config/i386/t-intelmic (mkoffload.o): Remove dependency on + insn-modes.h. + (ALL_HOST_OBJS): Add mkoffload.o. + * config/nvptx/t-nvptx (ALL_HOST_OBJS): Likewise. + +2015-02-18 Jan Hubicka + + * ipa-devirt.c (odr_subtypes_equivalent_p): Fix formating. + (compare_virtual_tables): Be smarter about skipping typeinfos; + do sane output on virtual table table mismatch. + (warn_odr): Be ready for forward declarations of enums; + output sane info on base mismatch and virtual table mismatch. + (add_type_duplicate): Fix code choosing prevailing type; do not ICE + when only one type is polymorphic. + (get_odr_type): Fix hashtable corruption. + (dump_odr_type): Dump mangled names. + +2015-02-18 Richard Biener + + PR tree-optimization/65063 + * tree-predcom.c (determine_unroll_factor): Return 1 if we + have replaced looparound PHIs. + +2015-02-18 Martin Liska + + * lto-streamer.c (lto_streamer_init): Encapsulate + streamer_check_handled_ts_structures with checking macro. + +2015-02-18 Jakub Jelinek + + PR ipa/65087 + * cgraphclones.c (cgraph_node::create_virtual_clone): Only copy + section if !implicit_section. + (cgraph_node::create_version_clone_with_body): Likewise. + * trans-mem.c (ipa_tm_create_version): Likewise. + +2015-02-18 Richard Biener + + PR tree-optimization/62217 + * tree-ssa-dom.c (cprop_operand): Avoid propagating copies + into BIVs. + +2015-02-18 Marek Polacek + + PR sanitizer/65081 + * ubsan.c (OBJSZ_MAX_OFFSET): Define. + (ubsan_expand_objsize_ifn): Don't emit run-time check if the offset + is in range [-16K, -1]. Don't issue run-time error if + (ptr > ptr + offset). + +2015-02-18 Thomas Schwinge + + * doc/install.texi (nvptx-*-none): New section. + * doc/invoke.texi (Nvidia PTX Options): Likewise. + * config/nvptx/nvptx.opt: Update. + + * config/nvptx/mkoffload.c (parse_env_var, free_array_of_ptrs) + (access_check): New functions, copied from + config/i386/intelmic-mkoffload.c. + (main): For non-installed testing, look in all COMPILER_PATHs for + GCC_INSTALL_NAME. + + * config/nvptx/nvptx.h (GOMP_SELF_SPECS): Define macro. + +2015-02-18 Andrew Pinski + Naveen H.S + + * config/aarch64/aarch64.c (*aarch64_load_symref_appropriately): + Check whether the destination of SYMBOL_SMALL_TPREL is Pmode. + +2015-02-17 Jan Hubicka + + * ipa-visibility.c (function_and_variable_visibility): Only + check locality if node is not already local. + * ipa-inline.c (want_inline_function_to_all_callers_p): Use + call_for_symbol_and_aliases instead of + call_for_symbol_thunks_and_aliases. + (ipa_inline): Likewise. + * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases): + first walk aliases. + * ipa.c (symbol_table::remove_unreachable_nodes): Use + call_for_symbol_and_aliases. + * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol. + (ipa_propagate_frequency_1): Use it; use opt_for_fn + (ipa_propagate_frequency): Update. + (ipa_profile): Add opt_for_fn gueards. + +2015-02-17 Oleg Endo + + * config/sh/sh.opt (mcbranch-force-delay-slot): New option. + * doc/invoke.texi (SH options): Document it. + * config/sh/sh.c (sh_insn_length_adjustment): Check + TARGET_CBRANCH_FORCE_DELAY_SLOT instead of sh_cpu_attr == CPU_SH2E. + +2015-02-17 H.J. Lu + + * common.opt (fipa-cp-alignment): New. + * ipa-cp.c (ipcp_store_alignment_results): Check + flag_ipa_cp_alignment. + * opts.c (default_options_table): Enable -fipa-cp-alignment for + -O2. + (enable_fdo_optimizations): Set x_flag_ipa_cp_alignment. + * doc/invoke.texi: Document -fipa-cp-alignment. + +2015-02-17 Oleg Endo + + PR target/64793 + * config/sh/sh.md (cbranch define_delay): Set annulled true branch insn + to nil. Adjust comments. + +2015-02-17 Jan Hubicka + + * ipa-visibility.c (function_and_variable_visibility): Only + check locality if node is not already local. + * ipa-inline.c (want_inline_function_to_all_callers_p): Use + call_for_symbol_and_aliases instead of + call_for_symbol_thunks_and_aliases. + (ipa_inline): Likewise. + * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases): + first walk aliases. + * ipa.c (symbol_table::remove_unreachable_nodes): Use + call_for_symbol_and_aliases. + * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol. + (ipa_propagate_frequency_1): Use it; use opt_for_fn + (ipa_propagate_frequency): Update. + (ipa_profile): Add opt_for_fn guards. + +2015-02-17 Thomas Schwinge + + * config/nvptx/mkoffload.c (parse_file): Fix logic error in + skipping of "strange" tokens. + +2015-02-17 Jeff Law + + * tree-vrp.c (identify_jump_threads): Use last_stmt. Remove + obsolete comment. + +2015-02-17 James Greenhalgh + + * haifa-sched.c (recompute_todo_spec): Treat SCHED_GROUP_P + as forcing a HARD_DEP between instructions, thereby + disallowing rewriting to break dependencies. + +2015-02-16 Jan Hubicka + + * symtab.c (symtab_node::verify_base): Verify body_removed->!definiton + * lto-cgraph.c (lto_output_varpool_node): Do not keep definition of + variables in boundary that have no inlitalizer encoded and are + not aliases. + * varasm.c (default_binds_local_p_2): External definitions do not + count as definitions here. + +2015-02-16 Jeff Law + + PR tree-optimization/64823 + * tree-vrp.c (identify_jump_threads): Handle blocks with no real + statements. + * tree-ssa-threadedge.c (potentially_threadable_block): Allow + threading through blocks with PHIs, but no statements. + (thread_through_normal_block): Distinguish between blocks where + we did not process all the statements and blocks with no statements. + +2015-02-16 Jakub Jelinek + James Greenhalgh + + PR ipa/64963 + * cgraphclones.c (cgraph_node::create_virtual_clone): Copy + section if not linkonce. Fix up formatting. + (cgraph_node::create_version_clone_with_body): Copy section. + * trans-mem.c (ipa_tm_create_version): Likewise. + +2015-02-16 Richard Biener + + PR tree-optimization/65077 + * tree-ssa-structalias.c (get_constraint_for_1): Handle + IMAGPART_EXPR, REALPART_EXPR and BIT_FIELD_REF. + (find_func_aliases): Allow float values to carry pointers again. + +2015-02-16 James Greenhalgh + + * doc/install.texi (Specific): Reorder targets list to put + aarch64 in alphabetical order. Add a link to aarch64*-*-* + from the top menu. + +2015-02-16 Michael Haubenwallner + David Edelsohn + + PR target/65058 + * config/rs6000/rs6000.c (rs6000_output_symbol_ref): Append storage + mapping class to external variable or function reference. + * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Do not append storage + mapping class. + +2015-02-16 David Eelsohn + + PR target/53348 + * config/rs6000/rs6000.c (rs6000_declare_alias): Only use + ASM_WEAKEN_DECL if defined. + +2015-02-16 Richard Biener + + PR lto/65015 + * varasm.c (default_file_start): For LTO produced units + emit as file directive. + +2015-02-16 Richard Biener + + PR tree-optimization/63593 + * tree-predcom.c (execute_pred_commoning_chain): Delay removing + stmts and releasing SSA names until... + (execute_pred_commoning): ... after processing all chains. + +2015-02-16 Jan Hubicka + + PR ipa/65059 + * ipa-comdats.c (ipa_comdats): Do not categorize thunks to + external functions. + +2015-02-15 Sandra Loosemore + + * doc/bugreport.texi: Adjust section titles throughout the file + to use "Title Case". + * doc/extend.texi: Likewise. + * doc/gcov.texi: Likewise. + * doc/implement-c.texi: Likewise. + * doc/implement-cxx.texi: Likewise. + * doc/invoke.texi: Likewise. + * doc/objc.texi: Likewise. + * doc/standards.texi: Likewise. + * doc/trouble.texi: Likewise. + +2015-02-15 Jan Hubicka + + * cgraph.h (symtab_node::has_aliases_p): Simplify. + (symtab_node::call_for_symbol_and_aliases): Use has_aliases_p + * tree.c (lookup_binfo_at_offset): Make static. + (get_binfo_at_offset): Do not shadow offset; add explanatory + comment. + +2015-02-15 John David Anglin + + * config/pa/pa.c (pa_secondary_reload): Request a secondary reload + for all floading point loads and stores except those using a register + index address. + * config/pa/pa.md: Add new patterns to load a lo_sum DLT operand + to a register. + +2015-02-14 Jan Hubicka + + * ipa-inline-analysis.c (growth_data): Add uninlinable field. + (do_estimate_growth_1): Record if any uninlinable edge was seen. + (estimate_growth): Handle uninlinable edges correctly. + (check_callers): New. + (growth_likely_positive): Handle aliases correctly. + +2015-02-14 Jan Hubicka + + * ipa-chkp.c: Use iterate_direct_aliases. + * symtab.c (resolution_used_from_other_file_p): Move inline. + (symtab_node::create_reference): Fix formating. + (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases. + (symtab_node::iterate_reference): Move inline. + (symtab_node::iterate_referring): Move inline. + (symtab_node::iterate_direct_aliases): Move inline. + (symtab_node::used_from_object_file_p_worker): Inline into ... + (symtab_node::used_from_object_file_p): ... this one; move inline. + (symtab_node::call_for_symbol_and_aliases): Move inline; + use iterate_direct_aliases. + (symtab_node::call_for_symbol_and_aliases_1): New method. + (cgraph_node::call_for_symbol_and_aliases): Move inline; + use iterate_direct_aliases. + (cgraph_node::call_for_symbol_and_aliases_1): New method. + (varpool_node::call_for_node_and_aliases): Rename to ... + (varpool_node::call_for_symbol_and_aliases): ... this one; Move inline; + use iterate_direct_aliases. + (varpool_node::call_for_symbol_and_aliases_1): New method. + * ipa.c (ipa_single_use): Use iterate_direct_aliases. + (ipa_discover_readonly_nonaddressable_var): Update. + * ipa-devirt.c: Fix formating. + * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_and_refs_p): + Move inline. + (cgraph_node::call_for_symbol_and_aliases): Move inline. + (cgraph_node::call_for_symbol_and_aliases_1): New function.. + * cgraph.h (used_from_object_file_p_worker): Remove. + (resolution_used_from_other_file_p): Move inline. + (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases. + (symtab_node::iterate_reference): Move inline. + (symtab_node::iterate_referring): Move inline. + (symtab_node::iterate_direct_aliases): Move inline. + (symtab_node::used_from_object_file_p_worker): Inline into ... + (symtab_node::used_from_object_file_p): Move inline. + * tree-emutls.c (ipa_lower_emutls): Update. + * varpool.c (varpool_node::call_for_symbol_and_aliases_1): New method. + (varpool_node::call_for_node_and_aliases): Remove. + +2015-02-14 Jakub Jelinek + + PR tree-optimization/62209 + * tree-ssa-reassoc.c (update_range_test): If stmt is a PHI and + op == range->exp, insert seq and gimplified code after labels + instead of after the phi. + +2015-02-13 Jeff Law + + PR bootstrap/65060 + Revert my change for tree-optimization/64823. + +2015-02-13 Jakub Jelinek + + PR tree-optimization/65053 + * tree-ssa-phiopt.c (value_replacement): When moving assign before + cond, either reset VR on lhs or set it to phi result VR. + +2015-02-13 Jeff Law + + PR tree-optimization/64823 + * tree-vrp.c (identify_jump_threads): Handle blocks with no statements. + * tree-ssa-threadedge.c (potentially_threadable_block): Allow + threading through blocks with PHIs, but no statements. + (thread_through_normal_block): Distinguish between blocks where + we did not process all the statements and blocks with no statements. + + PR rtl-optimization/47477 + * match.pd (convert (plus/minus (convert @0) (convert @1): New + simplifier to narrow arithmetic. + +2015-02-13 Jan Hubicka + + PR ipa/65028 + * ipa-prop.c (update_indirect_edges_after_inlining): Do not drop + polymorphic call info when type is not known to be preserved. + +2015-02-13 Maritn Jambor + + PR ipa/65028 + * ipa-inline-transform.c (mark_all_inlined_calls_cdtor): New function. + (inline_call): Use it. + +2015-02-13 Thomas Schwinge + + * config/nvptx/offload.h (ACCEL_COMPILER_acc_device): Define to + GOMP_DEVICE_NVIDIA_PTX. + +2015-02-13 Jakub Jelinek + + PR ipa/65034 + * stmt.c (emit_case_nodes): Use void_type_node instead of + NULL_TREE as LABEL_DECL type. + +2015-02-13 John David Anglin + + * config/pa/constraints.md: Change "Q" and "T" constraints to memory + constraints. + * config/pa/pa.c (pa_cannot_force_const_mem): Don't allow constant + symbolic references to data to be forced to constant memory on the + SOM target. + +2015-02-13 Ilya Enkovich + + PR tree-optimization/65002 + * tree-cfg.c (pass_data_fixup_cfg): Don't update + SSA on start. + * tree-sra.c (some_callers_have_no_vuse_p): New. + (ipa_early_sra): Reject functions whose callers + assume function is read only. + +2015-02-13 Richard Biener + + PR lto/65015 + * dwarf2out.c (dwarf2out_finish): Use as DW_AT_name + for LTO produced CUs. + +2015-02-13 Bin Cheng + + PR tree-optimization/64705 + * tree-ssa-loop-niter.h (expand_simple_operations): New parameter. + * tree-ssa-loop-niter.c (expand_simple_operations): New parameter. + * tree-ssa-loop-ivopts.c (extract_single_var_from_expr): New. + (find_bivs, find_givs_in_stmt_scev): Pass new argument to + expand_simple_operations. + +2015-02-13 H.J. Lu + Richard Henderson + + PR rtl/32219 + * cgraphunit.c (cgraph_node::finalize_function): Set definition + before notice_global_symbol. + (varpool_node::finalize_decl): Likewise. + * varasm.c (default_binds_local_p_2): Rename from + default_binds_local_p_1, add weak_dominate argument. Use direct + returns instead of assigning to local variable. Unify varpool and + cgraph paths via symtab_node. Reject undef weak variables before + testing visibility. Reorder tests for simplicity. + (default_binds_local_p): Use default_binds_local_p_2. + (default_binds_local_p_1): Likewise. + (decl_binds_to_current_def_p): Unify varpool and cgraph paths + via symtab_node. + (default_elf_asm_output_external): Emit visibility when specified. + +2015-02-13 Alan Modra + + * config/rs6000/rs6000.c (rs6000_emit_epilogue): Fix typo in + code setting up r11 for out-of-line fp restore. + +2015-02-13 Eric Botcazou + + * config/visium/visium.opt (msv-mode): Add RejectNegative and Report. + (muser-mode): Likewise. + +2015-02-13 Alan Modra + + * config/rs6000/rs6000.c (rs6000_emit_epilogue): Use addsi3_carry + or adddi3_carry when restoring frame_reg_rtx from r0 after restvr. + +2015-02-12 David Howells + + * tree-sra.c (dump_dereferences_table): Avoid -Wformat-security + warning. + * tree-ssa-uninit.c (dump_predicates): Likewise. + * opts.c (print_filtered_help): Likewise. + +2015-02-12 Jakub Jelinek + + * dwarf2out.c (output_die): Use "%s", name instead of name to + avoid -Wformat-security warning. + + * dwarf2asm.c (dw2_asm_output_vms_delta): Only define + if ASM_OUTPUT_DWARF_VMS_DELTA is defined. + * dwarf2out.c (output_die): Use dw2_asm_output_vms_delta + only if ASM_OUTPUT_DWARF_VMS_DELTA is defined. + +2015-02-12 Jason Merrill + + * common.opt (-flifetime-dse): New. + +2015-02-12 Jakub Jelinek + + PR sanitizer/65019 + * ubsan.c (ubsan_expand_objsize_ifn): Always return true. + + PR tree-optimization/65014 + * fold-const.c (fold_binary_loc): When creating {L,R}ROTATE_EXPR, + use original second operand of arg0 or arg1 instead of + that adjusted by STRIP_NOPS. + +2015-02-11 Jeff Law + + PR target/63347 + * haifa-sched.c (prune_ready_list): If we have a SCHED_GROUP_P insn + that needs to be queued, just queue it for a single cycle. + +2015-02-11 Jan Hubicka + + * ipa.c (symbol_table::remove_unreachable_nodes): Avoid releasing + bodies of thunks; comment on why. + * symtab.c (symtab_node::get_partitioning_class): Aliases of extern + symbols are extern. + +2015-02-11 Richard Henderson + + PR sanitize/65000 + * tree-eh.c (mark_reachable_handlers): Mark source and destination + regions of __builtin_eh_copy_values. + +2015-02-11 Jakub Jelinek + + PR middle-end/65003 + * varasm.c (place_block_symbol): Assert that DECL_RTL of the + ultimate alias is MEM with SYMBOL_REF satisfying + SYMBOL_REF_HAS_BLOCK_INFO_P as its operand. Don't pass the MEM + to place_block_symbol, but instead pass the SYMBOL_REF operand of it. + +2015-02-11 Thomas Schwinge + + * config/nvptx/mkoffload.c: Include "diagnostic.h" instead of + "diagnostic-core.h". + (main): Initialize progname, and call diagnostic_initialize. + + * config/nvptx/mkoffload.c (process): Refer to __OFFLOAD_TABLE__ + instead of __OPENMP_TARGET__. + + * config/nvptx/mkoffload.c: Include "gomp-constants.h". + (process): Use its GOMP_DEVICE_NVIDIA_PTX instead of (wrongly) + hard-coding PTX_ID. + +2015-02-11 H.J. Lu + + * doc/sourcebuild.texi (pie_enabled): Document. + +2015-02-11 Martin Liska + + PR ipa/64813 + * cgraphunit.c (cgraph_node::expand_thunk): Do not create + a return value for call to a function that is noreturn. + +2015-02-11 Richard Biener + + PR lto/65015 + * dwarf2out.c (gen_producer_string): Drop -fltrans-output-list + and -fresolution. + +2015-02-11 Andrew Pinski + + PR target/64893 + * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins): + Change the first argument type to size_type_node and add another + size_type_node. + (aarch64_simd_expand_builtin): Handle the new argument to + AARCH64_SIMD_BUILTIN_LANE_CHECK and don't ICE but rather + print an out when the first two arguments are not + nonzero integer constants. + * config/aarch64/arm_neon.h (__AARCH64_LANE_CHECK): + Pass the sizeof directly to __builtin_aarch64_im_lane_boundsi. + +2015-02-11 Jakub Jelinek + + PR target/61925 + * config/i386/i386.c (ix86_reset_to_default_globals): Removed. + (ix86_reset_previous_fndecl): Restore it here, unconditionally. + (ix86_set_current_function): Rewritten. + (ix86_add_new_builtins): Temporarily clear current_target_pragma + when creating builtin fndecls. + +2015-02-10 Jan Hubicka + + PR ipa/65005 + * ipa-visibility.c (cgraph_node::non_local_p): Turn into static + function. + * symtab.c (symtab_node::verify_base): Remove check that non-definitions + have no comdat group. + * lto-cgraph.c (lto_output_node): Always output thunk and alias info. + (lto_output_varpool_node): Always output alias info. + (output_refs): Output refs of boundary aliases, too. + (compute_ltrans_boundary): Add alias and thunk target into boundaries. + (output_symtab): Output call eges in thunks in boundary. + (get_alias_symbol): Remove. + (input_node, input_varpool_node): Do not special case weakrefs. + * ipa.c (symbol_table::remove_unreachable_nodes): Do not remove + alias and thunks targets in the boundary; do not take removed symbols + from their comdat groups. + * cgraph.c (cgraph_node::local_info): Look through aliases and thunks. + (cgraph_node::global_info): Remove. + (cgraph_node::rtl_info): Look through aliases and thunks. + * cgrpah.h (global_info): Remove. + (non_local_p): Remove. + +2015-02-10 David Wohlferd + Sandra Loosemore + + * doc/invoke.texi (x86 Options [-masm=dialect]): Add cross-references + to inline asm. List dialects in proper order. + +2015-02-10 David Wohlferd + Sandra Loosemore + + * doc/extend.texi (Loop-Specific Pragmas): Fix grammar error. + +2015-02-10 David Wohlferd + + * doc/extend.texi (Symbol-Renaming Pragmas): Restore (slightly + modified) reference to Solaris. + +2015-02-10 Sandra Loosemore + + * doc/extend.texi (Extended Asm): Fix typos. + +2015-02-10 Jakub Jelinek + + PR sanitizer/65004 + * ubsan.c (ubsan_expand_vptr_ifn): Always return true. + +2015-02-10 Oleg Endo + + PR target/64661 + * config/sh/sh-protos.h (TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT, + TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS, + TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): Add parentheses. + * config/sh/constraints.md (Ara, Add): New constraints. + * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): New + predicates. + (atomic_compare_and_swap, atomic_exchange): Use + atomic_mem_operand_0. Don't use force_reg on the memory address. + (atomic_compare_and_swapsi_hard): Use atomic_mem_operand_0 predicate and + Sra constraint. Convert to insn_and_split. Add workaround for + PR 64974. + (atomic_compare_and_swap_hard): Copy to + atomic_compare_and_swap_hard_1. Convert to insn_and_split. + Use atomic_mem_operand_0 predicate. + (atomic_compare_and_swap_soft_gusa, + atomic_exchange_soft_gusa): Use atomic_mem_operand_0 predicate and + AraAdd constraints. + (atomic_compare_and_swap_soft_tcb, + atomic_compare_and_swap_soft_imask, + atomic_exchange_soft_tcb, atomic_exchange_soft_imask): Use + atomic_mem_operand_0 predicate and SraSdd constraints. + (atomic_exchangesi_hard) Use atomic_mem_operand_0 predicate and Sra + constraint. + (atomic_exchange_hard): Copy to atomic_exchange_hard_1. + Convert to insn_and_split. Use atomic_mem_operand_0 predicate. + (atomic_fetch_, atomic_fetch_nand, + atomic__fetch): Use atomic_mem_operand_1. Don't use + force_reg on the memory address. + (atomic_fetch_si_hard, atomic_fetch_notsi_hard, + atomic_fetch_nandsi_hard, atomic__fetchsi_hard, + atomic_not_fetchsi_hard, atomic_nand_fetchsi_hard): Use + atomic_mem_operand_1 predicate and Sra constraint. + (atomic_fetch__hard): Copy to + atomic_fetch__hard_1. Convert to insn_and_split. + Use atomic_mem_operand_1 predicate. + (atomic__hard): Copy to + atomic__hard_1. Convert to insn_and_split. + Use atomic_mem_operand_1 predicate. + (atomic_fetch_nand_hard): Copy to atomic_fetch_nand_hard_1. + Convert to insn_and_split. Use atomic_mem_operand_1 predicate. + (atomic_nand_hard): Copy to atomic_nand_hard_1. Convert to + insn_and_split. Use atomic_mem_operand_1 predicate. + (atomic__fetch_hard): Copy to + atomic__fetch_hard_1. Convert to insn_and_split. + Use atomic_mem_operand_1 predicate. + (atomic_nand_fetch_hard): Copy to atomic_nand_fetch_hard_1. + Convert to insn_and_split. Use atomic_mem_operand_1 predicate. + (atomic_fetch_not_hard, atomic_not_fetch_hard): Replace mems + in generated insn with original mem operand before emitting the insn. + (atomic_fetch__soft_gusa, + atomic_fetch_not_soft_gusa, atomic_fetch_nand_soft_gusa, + atomic__fetch_soft_gusa, + atomic_not_fetch_soft_gusa, atomic_nand_fetch_soft_gusa): + Use atomic_mem_operand_1 predicate and AraAdd constraints. + (atomic_fetch__soft_tcb, + atomic__soft_tcb, atomic_fetch_not_soft_tcb, + atomic_not_soft_tcb, atomic_fetch__soft_imask, + atomic_fetch_not_soft_imask, atomic_fetch_nand_soft_tcb, + atomic_nand_soft_tcb, atomic_fetch_nand_soft_imask, + atomic__fetch_soft_tcb, + atomic_not_fetch_soft_tcb, + atomic__fetch_soft_imask, + atomic_not_fetch_soft_imask, atomic_nand_fetch, + atomic_nand_fetch_soft_tcb, atomic_nand_fetch_soft_imask): + Use atomic_mem_operand_1 predicate and SraSdd constraints. + +2015-02-10 Uros Bizjak + + * config/alpha/alpha.md (reload_out_aligned): Make operands 2 + and 3 earlyclobber operands. + +2015-02-10 Jan Hubicka + + * common.opt (fstack-reuse): Mark as optimization. + +2015-02-10 Jan Hubicka + + PR ipa/64982 + * cgraphunit.c (cgraph_node::expand_thunk): Look for stdarg thunks. + +2015-02-10 Trevor Saunders + + PR tree-optimization/64326 + * cfghooks.c (make_forwarder_block): Cap frequency of created block. + +2015-02-10 Rainer Emrich + + PR gcov-profile/61889 + * gcov-tool.c: Remove wrong #if !defined(_WIN32) + +2015-02-10 Richard Biener + + PR tree-optimization/64995 + * tree-ssa-sccvn.c (set_ssa_val_to): Assert that the + value we use is final. + (visit_reference_op_store): Always valueize op. + (visit_use): Properly valueize vuses. + +2015-02-10 Richard Biener + + PR tree-optimization/64909 + * tree-vect-loop.c (vect_estimate_min_profitable_iters): Properly + pass a scalar-stmt count estimate to the cost model. + * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise. + +2015-02-10 Alexander Monakov + + * doc/invoke.texi (-fvar-tracking-assignments): Clarify that VTA is + enabled by default together with var-tracking. + +2015-02-10 Nick Clifton + + * config/rl78/rl78.c: Remove DIV attribute code accidentally + included in previous rl78 commit. + +2015-02-10 Richard Biener + + * tree-streamer.h (streamer_read_tree_bitfields): Adjust. + * tree-streamer-in.c (streamer_read_tree_bitfields): Do not + return the bitpack. + +2015-02-09 Trevor Saunders + + PR gcov-profile/61889 + * config.in: regenerate. + * configure.in: Likewise. + * configure.ac: Check for ftw.h. + * gcov-tool.c: Check for ftw.h before using nftw. + +2015-02-09 Trevor Saunders + + PR lto/64076 + * ipa-visibility.c (update_visibility_by_resolution_info): Only + assert when not in lto mode. + +2015-02-09 Zhouyi Zhou + + * ira-color.c (setup_left_conflict_sizes_p): Simplify + initialization/assignment of conflict_size. + +2015-02-09 Jan Hubicka + + PR ipa/64978 + * ipa-cp.c (gather_caller_stats): Skip thunks. + (propagate_constants_topo): Skip aliases. + +2015-02-09 Kaz Kojima + + PR target/64761 + * config/sh/sh.c (sh_option_override): Don't change + -freorder-blocks-and-partition to -freorder-blocks even when + unwinding is enabled. + (sh_can_follow_jump): Return false if the followee jump is + a crossing jump when -freorder-blocks-and-partition is specified. + * config/sh/sh.md (*jump_compact_crossing): New insn. + +2015-02-09 Joern Rennecke + Kaz Kojima + + PR target/64761 + * config/sh/sh-protos.h (sh_can_redirect_branch): Don't declare. + * config/sh/sh.c (TARGET_CAN_FOLLOW_JUMP): Redefine. + (sh_can_redirect_branch): Rename to ... + (sh_can_follow_jump): ... this. Constify argument types. + * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): Don't define. + * doc/tm.texi.in (MD_CAN_REDIRECT_BRANCH): Remove documentation. + * reorg.c (steal_delay_list_from_target): Use targetm.can_follow_jump. + * doc/tm.texi: Regenerate. + +2015-02-09 Jakub Jelinek + + PR sanitizer/64981 + * builtins.c (expand_builtin): Call targetm.expand_builtin + for BUILT_IN_MD builtins regardless of asan_intercepted_p. + +2015-02-08 Jan Hubicka + + PR ipa/61548 + * tree-emutls.c (ipa_lower_emutls): Avoid duplicates in TLS_VARS. + +2015-02-08 Jan Hubicka + + PR ipa/63566 + * ipa-icf.c (set_local): New function. + (sem_function::merge): Use it. + +2015-02-08 Jan Hubicka + + * ipa-devirt.c (odr_types_equivalent_p): Fix formating. + (add_type_duplicate): Fix comparison of BINFOs. + +2015-02-08 Jan Hubicka + + * ipa-polymorphic-call.c (ipa_polymorphic_call_context): Avoid ICE + on getting VOID pointer. + +2015-02-09 Jakub Jelinek + + PR target/64979 + * tree-stdarg.c (pass_stdarg::execute): Scan phi node args for + va_list escapes. + +2015-02-09 Richard Biener + + * genmatch.c (replace_id): Copy expr_type. + +2015-02-09 Richard Biener + + * tree-streamer.h (streamer_pack_tree_bitfields): Remove. + (streamer_write_tree_bitfields): Declare. + * tree-streamer-in.c (unpack_ts_base_value_fields): Inline, + properly unpack padding. + (unpack_value_fields): Inline ... + (streamer_read_tree_bitfields): ... here. + * tree-streamer-out.c (pack_ts_base_value_fields): Inline + and properly add padding bits. + (streamer_pack_tree_bitfields): Fold into ... + (streamer_write_tree_bitfields): ... this new function, + exposing the bitpack object. + * lto-streamer-out.c (lto_write_tree_1): Call + streamer_write_tree_bitfields. + +2015-02-09 Richard Biener + + PR tree-optimization/54000 + * tree-ssa-looo-ivopts.c: Include tree-vectorizer.h. + (struct ivopts_data): Add loop_loc member. + (tree_ssa_iv_optimize_loop): Dump loop location. + (create_new_ivs): Likewise, also dump number of IVs generated. + +2015-02-09 Martin Liska + + * ipa-icf.c (sem_item_optimizer::register_hooks): Register hooks + just if not yet registered. + (ipa_icf_generate_summary): Register callgraph hooks. + +2015-02-08 Andrew Pinski + + * config/aarch64/aarch64.c (gty_dummy): Delete. + +2015-02-08 Jan Hubicka + + PR ipa/63566 + * ipa-visibility.c (cgraph_node::non_local_p): Accept aliases. + (cgraph_node::local_p): Remove thunk related FIXME. + +2015-02-08 Jan Hubicka + + PR ipa/63566 + * i386.c (ix86_function_regparm): Look through aliases to see if callee + is local and optimized. + (ix86_function_sseregparm): Likewise; also use target's SSE math + settings; error out instead of silently generating wrong code + on mismatches. + (init_cumulative_args): Look through aliases. + +2015-02-08 Jan Hubicka + + PR ipa/63566 + * ipa-split.c (execute_split_functions): Split if function has aliases. + +2015-02-08 Jan Hubicka + + PR ipa/63566 + * cgraphunit.c (cgraph_node::analyze): Be sure target of thunk is + aliases before trying to expand it. + (cgraph_node::expand_thunk): Fix formating. + +2015-02-07 Sandra Loosemore + + * doc/extend.texi (Function Attributes [naked]): Copy-edit. + (Using Assembly Language with C): Expand introduction. + (Basic Asm): Copy-edit. Add more information about uses of + basic asm. + (Extended Asm): Copy-edit. Document new escape syntax and + %l[label] syntax. + (Global Reg Vars): Copy-edit. + (Local Reg Vars): Likewise. + +2015-02-06 David Edelsohn + + PR debug/2714 + PR bootstrap/64256 + * xcoffout.h (DBX_CONTIN_LENGTH): Define as 16384. + (DBX_CONTIN_CHAR): Define. + +2015-02-06 Sebastian Pop + Brian Rzycki + + PR tree-optimization/64878 + * tree-ssa-threadedge.c: Include tree-ssa-loop.h. + (fsm_find_control_statement_thread_paths): Add parameter seen_loop_phi. + Stop recursion at loop phi nodes after having visited a loop phi node. + +2015-02-06 Jakub Jelinek + + * toplev.c (process_options): Change flag_ipa_ra before creating + optimization_{default,current}_node. + + PR ipa/64896 + * cgraphunit.c (cgraph_node::expand_thunk): If + restype is not is_gimple_reg_type nor the thunk_fndecl + returns aggregate_value_p, set restmp to a temporary variable + instead of resdecl. + +2015-02-06 Vladimir Makarov + + * lra.c (lra_emit_add): Fix a typo in using disp instead of base. + +2015-02-06 Michael Meissner + + PR target/64205 + * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not + add a general secondary reload handler for SDmode, unless we have + both read/write support for SDmode. + +2015-02-06 Jakub Jelinek + + PR middle-end/64937 + * dwarf2out.c (set_block_abstract_flags, set_decl_abstract_flags): + Replace setting argument with abstract_vec, always set BLOCK_ABSTRACT + or DECL_ABSTRACT_P flags to 1 rather than to setting, and if it wasn't + 1 before, push it to abstract_vec. + (dwarf2out_abstract_function): Adjust caller. Don't call + set_decl_abstract_flags second time, instead clear BLOCK_ABSTRACT or + DECL_ABSTRACT_P flags for all abstract_vec elts. + +2015-02-06 Renlin Li + + * tree-ssa-forwprop.c (execute): Keep location info while rewrite + complex gimple. + * tree-ssa.c (execute_update_addresses_taken): Likewise. + +2015-02-06 Jeff Law + + PR target/64889 + * config/h8300/h8300.c (push): New argument "in_prologue". + Pass "in_prologue" along to "F". + (h8300_push_pop): Corresponding changes. + (h8300_expand_prologue): Likewise. + (h8300_swap_into_er6): Likewise. Do not set RTX_FRAME_RELATED_P. + +2015-02-06 Jakub Jelinek + + PR rtl-optimization/64957 + PR debug/64817 + * simplify-rtx.c (simplify_binary_operation_1): Use ~cval for + IOR rather than for AND. + +2015-02-06 Eric Botcazou + + PR target/62631 + * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Use the mininum of costs + of shift-add and (add + shift) operations. Rename local variable. + +2015-02-05 Jeff Law + + PR target/17306 + * config/h8300/constraints.md (U): Correctly dectect + "eightbit_data" memory addresses. + * config/h8300/h8300.c (eightbit_constant_address_p): Also + handle (const (plus (symbol_ref (x)))) where x is declared + as an 8-bit data memory address. + * config/h8300/h8300.md (call, call_value): Correctly detect + "funcvec" functions. + + PR target/43264 + * config/h8300/h8300.c (get_shift_alg): Fix ASHIFTRT by + 24 to 28 bits for the H8/300. + +2015-02-06 Alan Modra + + PR target/64876 + * config/rs6000/rs6000.c (chain_already_loaded): New function. + (rs6000_call_aix): Use it. + +2015-02-05 Jan Hubicka + + * ipa-cp.c (ipa_value_from_jfunc, ipa_context_from_jfunc): Add bounds + check. + +2015-02-05 Joern Rennecke + + * config/h8300/constraints.md ("U" constraint): Use strict + variant of REG_OK_FOR_BASE_P after reload has started. + +2015-02-04 Mantas Mikaitis + + * config/arm/arm.h (TARGET_NEON_FP): Removed conditional definition, + define to zero if !TARGET_NEON. + (TARGET_ARM_FP): Added !TARGET_SOFT_FLOAT into conditional definition. + +2015-02-04 Jan Hubicka + Trevor Saunders + + PR ipa/61548 + * tree-emultls.c (new_emutls_decl): Resolve alias after creating it. + +2015-02-04 Jan Hubicka + + PR ipa/61548 + * ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue + when removing varpool nodes. + +2015-02-04 Jan Hubicka + + PR ipa/61548 + * varpool.c (varpool_node::remove): Fix order of variables. + +2015-02-04 Jan Hubicka + + PR ipa/64686 + * ipa-inline.c (inline_small_functions): Fix ordering issue between + speculation resolution and key updates. + +2015-02-04 Jan Hubicka + + * ipa-prop.c (update_indirect_edges_after_inlining): By more careful + about not letting any speculative edges unupdated. + +2015-02-04 Jan Hubicka + + PR gcov/64123 + * gcov-io.c (gcov_var): Export. + +2015-02-04 Jan Hubicka + + PR middle-end/64922 + * ipa-prop.c (update_indirect_edges_after_inlining): Correctly update + edges that become speculative. + +2015-02-04 Jakub Jelinek + + * dwarf2out.c (is_fortran): Also return true for DW_LANG_Fortran03 + or DW_LANG_Fortran08. + (lower_bound_default): Return 1 for DW_LANG_Fortran03 or + DW_LANG_Fortran08. + (gen_compile_unit_die): Handle "GNU Fortran2003" and + "GNU Fortran2008" language strings. + * dbxout.c (get_lang_number): Use lang_GNU_Fortran. + * langhooks.h (lang_GNU_Fortran): New prototype. + * langhooks.c (lang_GNU_Fortran): New function. + * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use + lang_GNU_Fortran. + +2015-02-04 Eric Botcazou + + * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P): Fix off-by-one error. + (RTX_OK_FOR_OLO10_P): Likewise. + +2015-02-04 Eric Botcazou + + * tree-ssa-loop-ivopts.c (get_address_cost): Use right mode for offset. + +2015-02-04 Jan Hubicka + + PR middle-end/64922 + * gimple.c: Include gimple-ssa.h. + (maybe_remove_unused_call_args): New function. + * gimple.h (maybe_remove_unused_call_args): Declare. + * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it. + * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise. + * gimple-fold.c (gimple_fold_call): Likewise. + +2015-02-04 H.J. Lu + + PR rtl-optimization/64905 + * lra-eliminations.c (setup_can_eliminate): Clear hard frame + pointer alignment if it isn't needed. + +2015-02-04 Matthew Wahab + + * config/aarch64/aarch64-cores.def: Add cortex-a72 and + cortex-a72.cortex-a53. + * config/aarch64/aarch64-tune.md: Regenerate. + * doc/invoke.texi (AArch64 Options/-mtune): Add "cortex-a72". + +2015-02-04 Nick Clifton + + * config/rl78/rl78.c (rl78_note_reg_set): Note the use of REGs + inside a MEM. + +2015-02-04 Jakub Jelinek + + * builtins.def (DEF_BUILTIN_CHKP): Define if not defined. + (DEF_LIB_BUILTIN_CHKP, DEF_EXT_LIB_BUILTIN_CHKP): Redefine. + (DEF_CHKP_BUILTIN): Define using DEF_BUILTIN_CHKP instead + of DEF_BUILTIN. + (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCAT, + BUILT_IN_STRCHR, BUILT_IN_STRCPY, BUILT_IN_STRLEN): Use + DEF_LIB_BUILTIN_CHKP macro instead of DEF_LIB_BUILTIN. + (BUILT_IN_MEMCPY_CHK, BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK, + BUILT_IN_MEMPCPY, BUILT_IN_MEMSET_CHK, BUILT_IN_STPCPY_CHK, + BUILT_IN_STPCPY, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK): Use + DEF_EXT_LIB_BUILTIN_CHKP macro instead of DEF_EXT_LIB_BUILTIN. + * tree-core.h (enum built_in_function): In between + BEGIN_CHKP_BUILTINS and END_CHKP_BUILTINS only define enum values + for builtins that use DEF_BUILTIN_CHKP macro. + +2015-02-04 Alexandre Oliva + + PR debug/64817 + * cfgexpand.c (expand_debug_expr): Compute unsignedp from + operands for tcc_comparison exprs. Fix typos. + + PR debug/64817 + * simplify-rtx.c (simplify_binary_operation_1): Simplify one + of two XORs that have an intervening AND or IOR. + + PR debug/64817 + * simplify-rtx.c (simplify_binary_operation_1): Rewrite + simplification of XOR of AND to not allocate new rtx before + committing to a simplification. + +2015-02-04 Kyrylo Tkachov + + * config/aarch64/aarch64-ldpstp.md: Use std::swap instead of + manual swaps in all peepholes. + +2015-02-04 Kyrylo Tkachov + + * config/aarch64/aarch64.c (aarch64_evpc_ext): Use std::swap instead + of manual swapping implementation. + (aarch64_expand_vec_perm_const_1): Likewise. + +2015-02-04 James Greenhalgh + + * config/aarch64/aarch64.c (NAMED_PARAM): Delete it. + (generic_addrcost_table): Remove NAMED_PARAM. + (cortexa57_addrcost_table): Likewise. + (xgene1_addrcost_table): Likewise. + (generic_regmove_table): Likewise. + (cortexa53_regmove_table): Likewise. + (xgene1_regmove_table): Likewise. + (generic_vector_table): Likewise. + (cortexa57_vector_table): Likewise. + (xgene1_vector_table): Likewise. + (generic_tunings): Likewise. + (cortexa53_tunings): Likewise. + (cortexa57_tunings): Likewise. + (xgene1_tunings): Likewise. + +2015-02-04 Matthew Wahab + + * config/arm/arm-cores.def: Add cortex-a72 and + cortex-a72.cortex-a53. + * config/arm/bpabi.h (BE8_LINK_SPEC): Likewise. + * config/arm/t-aprofile (MULTILIB_MATCHES): Likewise. + * config/arm/arm-tune.md: Regenerate. + * config/arm/arm-tables.opt: Add entries for "cortex-a72" and + "cortex-a72.cortex-a53". + * doc/invoke.texi (ARM Options/-mtune): Likewise. + +2015-02-04 Nick Clifton + + PR target/64408 + * config/fr30/predicates.md (di_operand): Add SUBREG to the list + of accepted codes. + (nonimmediate_di_operand): Likewise. + + * config/msp430/msp430.c (msp430_use_f5_series_hwmult): Add more + prefixes of known F5 using MSP430 MCUs. + +2015-02-04 Kyrylo Tkachov + + * config/aarch64/aarch64-simd-builtins.def (sqrt): Use BUILTIN_VDQF_DF. + * config/aarch64/arm_neon.h (vsqrt_f64): Use __builtin_aarch64_sqrtdf + instead of __builtin_sqrt. + +2015-02-04 Ilya Enkovich + + * varasm.c (do_assemble_alias): Follow transparent alias + chain for target. + (default_assemble_visibility): Follow transparent alias + chain for decl name. + +2015-02-04 Thomas Preud'homme + + PR middle-end/62103 + * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use TYPE_PRECISION + to compute size of referenced value in the constant case. + +2015-02-03 Jakub Jelinek + + PR rtl-optimization/64756 + * cse.c (invalidate_dest): New function. + (cse_insn): Use it. If dest != SET_DEST (sets[i].rtl) and + HASH (SET_DEST (sets[i].rtl), mode) computation sets do_not_record, + invalidate and do not record it. + +2015-02-03 Oleg Endo + + PR target/64660 + * config/sh/sync.md (atomic__hard, + atomic_not_hard, atomic__soft_tcb, + atomic_not_soft_tcb, atomic_nand_hard, + atomic_nand_soft_tcb): New insns. + (atomic_fetch_si_hard): Convert to insn_and_split. + Split into atomic__fetchsi_hard if operands[0] is unused. + (define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split. + Split into atomic_not_fetchsi_hard if operands[0] is unused. + (atomic_fetch__hard): Convert to insn_and_split. + Split into atomic__hard if operands[0] is unused. + (atomic_fetch_not_hard): Convert to insn_and_split. Split into + atomic_not_hard if operands[0] is unused. + (atomic_fetch__soft_gusa): Convert to + insn_and_split. Split into atomic__fetch_soft_gusa + if operands[0] is unused. + (atomic_fetch_not_soft_gusa): Convert to insn_and_split. Split + into atomic_not_fetch_soft_gusa if operands[0] is unused. + (atomic_fetch__soft_tcb): Convert to insn_and_split. + Split into atomic__soft_tcb if operands[0] is + unused. + (atomic_fetch_not_soft_tcb): Convert to insn_and_split. Split + into atomic_not_soft_tcb if operands[0] is unused. + (atomic_fetch__soft_imask): Convert to + insn_and_split. Split into atomic__fetch_soft_imask + if operands[0] is unused. + (atomic_fetch_not_soft_imask): Convert to insn_and_split. Split + into atomic_not_fetch_soft_imask is operands[0] is unused. + (atomic_fetch_nandsi_hard): Convert to insn_and_split. Split into + atomic_nand_fetchsi_hard if operands[0] is unused. + (atomic_fetch_nand_hard): Convert to insn_and_split. Split into + atomic_nand_hard if operands[0] is unused. + (atomic_fetch_nand_soft_gusa): Convert to insn_and_split. Split + into atomic_nand_fetch_soft_gusa if operands[0] is unused. + (atomic_fetch_nand_soft_tcb): Convert to insn_and_split. Split + into atomic_nand_soft_tcb if operands[0] is unused. + (atomic_fetch_nand_soft_imask): Convert to insn_and_split. Split + into atomic_nand_fetch_soft_imask if operands[0] is unused. + (atomic__fetch_hard): Convert to insn_and_split. + Split into atomic__hard if operands[0] is unused. + (atomic_not_fetch_hard): Convert to insn_and_split. Split into + atomic_not_hard if operands[0] is unused. + (atomic__fetch_soft_tcb): Convert to insn_and_split. + Split into atomic__soft_tcb if operands[0] is + unused. + (atomic_not_fetch_soft_tcb): Convert to insn_and_split. Split + into atomic_not_soft_tcb if operands[0] is unused. + (atomic_nand_fetch_hard): Convert to insn_and_split. Split into + atomic_nand_hard if operands[0] is unused. + (atomic_nand_fetch_soft_tcb): Convert to insn_and_split. Split + into atomic_nand_soft_tcb if operands[0] is unused. + +2015-02-03 David Malcolm + + PR jit/64810 + * Makefile.in (GCC_OBJS): Add gcc-main.o. + * gcc-main.c: New file, containing "main" taken from gcc.c. + * gcc.c (do_self_spec): Free decoded_options. + (class driver): Move declaration to gcc.h. + (main): Move declaration and implementation to new file + gcc-main.c. + (driver_get_configure_time_options): New function. + * gcc.h (class driver): Move this declaration here, from + gcc.c. + (driver_get_configure_time_options): New declaration. + +2015-02-03 Jan Hubicka + + * ipa-inline-analysis.c (simple_edge_hints): Fix check for + cross-module inlining. + * cgraph.h (cgraph_node): Add flag merged. + * ipa-icf.c (sem_function::merge): Maintain it. + +2015-02-03 Richard Sandiford + + * config/arm/arm.c (thumb2_reorg): Test UNARY_P and BINARY_P + instead of OBJECT_P. + +2015-02-03 Eric Botcazou + + PR target/62631 + * config/sparc/sparc.h (TARGET_HARD_MUL): Remove TARGET_V8PLUS. + (TARGET_HARD_MUL32): Rewrite based on TARGET_HARD_MUL. + * config/sparc/sparc.c (sparc_rtx_costs) : Return costs based on + int_mulX for integers in 64-bit mode if TARGET_HARD_MUL is not set. + +2015-02-03 Jakub Jelinek + + PR other/63504 + * combine.c (reg_n_sets_max): New variable. + (can_change_dest_mode, reg_nonzero_bits_for_combine, + reg_num_sign_bit_copies_for_combine, get_last_value_validate, + get_last_value): Use REG_N_SETS only on pseudos < reg_n_sets_max. + (try_combine): Use INC_REG_N_SETS only on pseudos < reg_n_sets_max. + (rest_of_handle_combine): Initialize reg_n_sets_max. + +2015-02-02 Jan Hubicka + + * ipa-inline.c (early_inliner): Skip inlining only in always_inlined; + if some always_inline was inlined, apply changes before inlining + heuristically. + +2015-02-02 David Malcolm + + PR jit/64810 + * config/arm/arm.c (arm_option_override): Set + arm_selected_arch/cpu/tune to NULL on entry. + +2015-02-02 Tejas Belagod + Andrew Pinski + Jakub Jelinek + + PR target/64231 + * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large + integer typing for small model. Use IN_RANGE. + +2015-02-02 Richard Biener + + * tree-ssa-ccp.c (valueize_op_1): Always allow valueizing default-defs. + * tree-vrp.c (vrp_valueize_1): Likewise. + +2015-02-02 Alan Modra + + * config/rs6000/rs6000.c (rs6000_call_aix): Use unspec rather + than mem for toc_restore. + * config/rs6000/rs6000.md (UNSPEC_TOCSLOT): Define. + (call_indirect_aix, call_value_indirect_aix): Adjust to suit. + (call_indirect_elfv2, call_value_indirect_elfv2): Likewise. + +2015-02-01 David Edelsohn + + PR target/64047 + * config/rs6000/rs6000.c (rs6000_set_current_function): Handle + explicit default options. + +2015-02-01 Jan Hubicka + + PR ipa/64872 + * ipa-utils.c (ipa_merge_profiles): Add release argument. + * ipa-icf.c (sem_function::merge): Do not release body when merging. + * ipa-utils.h (ipa_merge_profiles): Update prototype. + +2015-02-01 Jakub Jelinek + + PR debug/64817 + * cfgexpand.c (deep_ter_debug_map): New variable. + (avoid_deep_ter_for_debug): New function. + (expand_debug_expr): If TERed SSA_NAME is in + deep_ter_debug_map, use the corresponding DEBUG_EXPR_DECL + instead of trying to expand SSA_NAME's def stmt. + (expand_debug_locations): When expanding debug bind + of a DEBUG_EXPR_DECL to corresponding SSA_NAME, + temporarily remove the DEBUG_EXPR_DECL from deep_ter_debug_map's + value. + (pass_expand::execute): Call avoid_deep_ter_for_debug on + all debug bind stmts. Delete deep_ter_debug_map after + expand_debug_location if non-NULL and clear it. + +2015-02-01 Oleg Endo + + PR target/64851 + * config/sh/sync.md (atomic_fetch_notsi_hard, + atomic_fetch_not_hard, atomic_fetch_not_soft_gusa, + atomic_fetch_not_soft_tcb, atomic_fetch_not_soft_imask, + atomic_not_fetchsi_hard, atomic_not_fetch_hard, + atomic_not_fetch_soft_gusa, atomic_not_fetch_soft_tcb, + atomic_not_fetch_soft_imask): New insns. + +2015-02-01 Maxim Kuvyrkov + + * haifa-sched.c (INSN_RFS_DEBUG_ORIG_ORDER): New access macro. + (rank_for_schedule_debug): Split from ... + (rank_for_schedule): ... this. + (ready_sort): Sort DEBUG_INSNs separately from normal INSNs. + * sched-int.h (struct _haifa_insn_data): New field rfs_debug_orig_order. + +2015-01-31 Sandra Loosemore + + * doc/md.texi (Machine Constraints): Alphabetize table by target. + * doc/extend.texi (x86 Variable Attributes): Move section to + correct alphabetization after renaming. + (x86 Type Attributes): Likewise. + (Target Builtins): Re-alphabetize menu. + (x86 Built-in Functions): Move section to correct alphabetization + after renaming. + (x86 transactional memory intrinsics): Likewise. + * doc/invoke.texi (Option Summary): Re-alphabetize x86 Options + and x86 Windows Options in table and menu. + (x86 Options): Move section to correct alphabetization after + renaming. + (x86 Windows Options): Likewise. + +2015-01-31 Sandra Loosemore + + * doc/extend.texi: Use "x86", "x86-32", and "x86-64" as the + preferred names of the architecture and its 32- and 64-bit + variants. + * doc/invoke.texi: Likewise. + * doc/md.texi: Likewise. + +2015-01-31 Uros Bizjak + + PR target/64882 + * config/i386/predicates.md (address_no_seg_operand): Reject + non-CONST_INT_P operands in invalid mode. + +2015-01-31 Uros Bizjak + + * config/i386/i386.md (*prefetch_prefetchw1): Remove mode of + address_operand 0. Rename from *prefetch_prefetchwt1_. + * config/i386/predicates.md (address_no_seg_operand): Call + address_operand with VOIDmode. + (vsib_address_operand): Ditto. + (address_mpx_no_base_operand): Ditto. + (address_mpx_no_index_operand): Ditto. + +2015-01-30 Vladimir Makarov + + PR target/64688 + * lra-constraints.c (original_subreg_reg_mode): New. + (simplify_operand_subreg): Try to simplify subreg of const. Use + original_subreg_reg_mode for it. + (swap_operands): Update original_subreg_reg_mode. + (curr_insn_transform): Set up original_subreg_reg_mode. + +2015-01-30 Vladimir Makarov + + PR target/64617 + * lra-constraints.c (prohibited_class_reg_set_mode_p): New + function. + (process_alt_operands): Use it. + (curr_insn_transform): Check the optional reload pseudo class is + ok for the mode. + +2015-01-30 Joseph Myers + + * diagnostic.c (fatal_error (const char *, ...)): Remove function. + * diagnostic-core.h (fatal_error (const char *, ...)): Remove + prototype. + * toplev.h (init_asm_output): Update comment on use of + UNKNOWN_LOCATION with fatal_error. + * cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c, + config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h, + config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c, + config/i386/intelmic-mkoffload.c, config/nios2/nios2.c, + config/nvptx/mkoffload.c, config/nvptx/nvptx.h, + config/rs6000/host-darwin.c, config/rs6000/rs6000.c, + config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c, + ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c, + lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c, + lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c, + tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of + fatal_error changed to pass input_location as first argument. + +2015-01-30 Martin Liska + + * tree.h: Change GCC_VERSION >= 4004 to GCC_VERSION >= 4006 + in #pragma GCC diagnostic guards. + +2015-01-30 Richard Biener + + PR tree-optimization/64829 + * tree-vect-patterns.c (vect_handle_widen_op_by_const): Do + not add a widening conversion pattern but hand off extra + widenings to callers. + (vect_recog_widen_mult_pattern): Handle extra widening produced + by vect_handle_widen_op_by_const. + (vect_recog_widen_shift_pattern): Likewise. + (vect_pattern_recog_1): Remove excess vertical space in dumping. + * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise. + (vect_init_vector_1): Likewise. + (vect_get_vec_def_for_operand): Likewise. + (vect_finish_stmt_generation): Likewise. + (vectorizable_load): Likewise. + (vect_analyze_stmt): Likewise. + (vect_is_simple_use): Likewise. + +2015-01-29 Jeff Law + + * combine.c (try_combine): Fix typo in comment. + +2015-01-29 Segher Boessenkool + + PR target/64580 + * config.rs6000/rs6000.c (compute_vrsave_mask): Reverse loop order. + (rs6000_stack_info): Add assert. + (rs6000_output_savres_externs): New function, split off from... + (rs6000_output_function_prologue): ... here. Do not call it for + thunks. + +2015-01-29 Jeff Law + + PR target/15184 + * combine.c (try_combine): If I0 is a memory load and I3 a store + to a related address, increase the "goodness" of doing a 4-insn + combination with I0-I3. + (make_field_assignment): Handle SUBREGs in the ior+and case. + +2015-01-29 Yuri Rumyantsev + + PR tree-optimization/64746 + * tree-if-conv.c (mask_exists): New function. + (predicate_mem_writes): Save created mask with given size for further + use. + (stmt_is_root_of_bool_pattern): Remove argument VAR and store to it. + (ifcvt_repair_bool_pattern): Collect all statements that are root + of bool pattern and use iterative algorithm to remove multiple uses + of predicates, display number of required iterations. + +2015-01-29 Richard Biener + + PR tree-optimization/64853 + * tree-vrp.c (vrp_valueize_1): Do not return anything if the + stmt will get simulated again. + * tree-ssa-ccp.c (valueize_op_1): Likewise. + +2015-01-29 Kyrylo Tkachov + + * config/arm/arm.c (arm_emit_multi_reg_pop): Simplify definition of + return_in_pc. Remove redundant assignments. + (thumb2_emit_ldrd_pop): Simplify definition of return_in_pc. + (arm_expand_epilogue): Don't compare boolean with true in if condition. + +2015-01-29 Uros Bizjak + + * config/i386/i386.c (ix86_mode_after): Make static. + +2015-01-29 Richard Biener + + PR tree-optimization/64844 + * tree-vect-loop.c (vect_estimate_min_profitable_iters): Always + dump cost model analysis. + * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): + Do not register adjusted load/store costs here. + +2015-01-29 Ilya Enkovich + Uros Bizjak + + * config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): New. + * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Simplify by + using x86_use_pseudo_pic_reg. + * config/i386/i386.c (ix86_conditional_register_usage): Remove + support for fixed PIC register. + (ix86_use_pseudo_pic_reg): Not static any more. + +2015-01-29 Ilya Enkovich + + PR middle-end/64805 + * ipa-inline.c (early_inliner): Rebuild IPA_REF_CHKP reference + to avoid error in cgraph node verification. + +2015-01-29 Marek Polacek + + * doc/standards.texi: Reflect that the default for C is gnu11. + +2015-01-29 Kaz Kojima + + PR target/64761 + * reorg.c (switch_text_sections_between_p): New function. + (relax_delay_slots): Call it when testing if the jump insn + is removable. Use targetm.can_follow_jump when testing if + the conditional branch can follow an unconditional jump. + +2015-01-27 Caroline Tice + + Committing VTV Cywin/Ming patch for Patrick Wollgast + * config/i386/cygwin.h (STARTFILE_SPEC): Add vtv_start.o, + if -fvtable-verify=preinit/std is used. + * config/i386/mingw-w64.h (STARTFILE_SPEC): Likewise. + * config/i386/mingw32.h (STARTFILE_SPEC): Likewise. + * config/i386/cygwin.h (ENDFILE_SPEC): Add vtv_end.o, + if -fvtable-verify=preinit/std is used. + * config/i386/mingw32.h (ENDFILE_SPEC): Likewise. + * config/i386/cygwin.h (LIB_SPEC): Pass -lvtv and -lpsapi, + if -fvtable-verify=preinit/std is used. + * config/i386/mingw-w64.h (LIB_SPEC): Likewise. + * config/i386/mingw32.h (LIB_SPEC): Likewise. + * varasm.c (assemble_variable): Add code to properly set the comdat + section and name for the .vtable_map_vars section in case the + target is PE or COFF. + +2015-01-29 Jan Hubicka + + PR ipa/64801 + * cgraphunit.c (init_lowered_empty_function): Add CoUNT parameter; + make sane BB profile. + (cgraph_node::expand_thunk): Make sane BB profile. + (cgraph_node::create_wrapper): Do not set call_stmt_cannot_inline_p. + * cgraph.h (init_lowered_empty_function): Update prototype. + * config/i386/i386.c (make_resolver_func): Update call. + * predict.c (gate): Disable branch prediction pass if + profile is already there. + +2015-01-29 Jan Hubicka + + * optc-save-gen.awk: flag_fp_contract_mode is no longer speical. + * opth-gen.awk: Likewise. + * common.opt: Mark flag_fp_contract_mode as Optimization. + +2015-01-29 Bernd Edlinger + + * config/i386/cygwin.h (LIBGCJ_SONAME): Set libgcj version to -16. + * config/i386/mingw32.h (LIBGCJ_SONAME): Set libgcj version to -16. + +2015-01-28 Oleg Endo + + PR target/64659 + * config/sh/predicates.md (atomic_arith_operand, + atomic_logical_operand): Remove. + * config/sh/sync.md (fetchop_predicate, fetchop_constraint): Remove. + (atomic_arith_operand_0): New predicate. + (atomic_compare_and_swap): Use arith_reg_dest for output values. + Use atomic_arith_operand_0 for input values. + (atomic_compare_and_swapsi_hard, atomic_compare_and_swap_hard, + atomic_compare_and_swap_soft_gusa, + atomic_compare_and_swap_soft_tcb, + atomic_compare_and_swap_soft_imask): Use arith_reg_dest and + arith_reg_operand instead of register_operand. + (atomic_exchange): Use arith_reg_dest for output value. Use + atomic_arith_operand_0 for newval input. + (atomic_exchangesi_hard, atomic_exchange_hard, + atomic_exchange_soft_gusa, atomic_exchange_soft_tcb, + atomic_exchange_soft_imask): Use arith_reg_dest and + arith_reg_operand instead of register_operand. + (atomic_arith_operand_1, atomic_logical_operand_1): New predicates. + fetchop_predicate_1, fetchop_constraint_1_llcs, + fetchop_constraint_1_gusa, fetchop_constraint_1_tcb, + fetchop_constraint_1_imask): New code iterator attributes. + (atomic_fetch_): Use arith_reg_dest instead of + register_operand. Use fetchop_predicate_1. + (atomic_fetch_si_hard, + atomic_fetch__hard): Use arith_reg_dest instead of + register_operand. Use fetchop_predicate_1, fetchop_constraint_1_llcs. + (atomic_fetch__soft_gusa): Use arith_reg_dest + and arith_reg_operand instead of register_operand. Use + fetchop_predicate_1, fetchop_constraint_1_gusa. + (atomic_fetch__soft_tcb): Use arith_reg_dest + and arith_reg_operand instead of register_operand. Use + fetchop_predicate_1, fetchop_constraint_1_tcb. Adjust asm sequence + to allow R0 usage. + (atomic_fetch__soft_imask): Use arith_reg_dest + and arith_reg_operand instead of register_operand. Use + fetchop_predicate_1, fetchop_constraint_1_imask. Adjust asm sequence + to allow R0 usage. + (atomic_fetch_nand): Use arith_reg_dest instead of + register_operand. Use atomic_logical_operand_1. + (atomic_fetch_nandsi_hard, atomic_fetch_nand_hard, + atomic_fetch_nand_soft_gusa): Use arith_reg_dest and + arith_reg_operand instead of register_operand. + (atomic_fetch_nand_soft_tcb, atomic_fetch_nand_soft_imask): + Use arith_reg_dest and arith_reg_operand instead of register_operand. + Use logical_operand and rK08. Adjust asm sequence to allow R0 usage. + (atomic__fetch): Use arith_reg_dest instead of + register_operand. Use fetchop_predicate_1. + (atomic__fetchsi_hard, + atomic__fetch_hard): Use arith_reg_dest and + arith_reg_operand instead of register_operand. Use fetchop_predicate_1, + fetchop_constraint_1_llcs. + (atomic__fetch_soft_gusa): Use arith_reg_dest and + arith_reg_operand instead of register_operand. Use fetchop_predicate_1, + fetchop_constraint_1_gusa. + (atomic__fetch_soft_tcb): Use arith_reg_dest and + arith_reg_operand instead of register_operand. Use fetchop_predicate_1, + fetchop_constraint_1_tcb. Adjust asm sequence to allow R0 usage. + (atomic__fetch_soft_imask): Use arith_reg_dest and + arith_reg_operand instead of register_operand. Use fetchop_predicate_1, + fetchop_constraint_1_imask. Adjust asm sequence to allow R0 usage. + (atomic_nand_fetch): Use arith_reg_dest instead of + register_operand. Use atomic_logical_operand_1. + (atomic_nand_fetchsi_hard, atomic_nand_fetch_hard, + atomic_nand_fetch_soft_gusa): Use arith_reg_dest and + arith_reg_operand instead of register_operand. + (atomic_nand_fetch_soft_tcb): Use arith_reg_dest and + arith_reg_operand instead of register_operand. Use logical_operand + and K08. Adjust asm sequence to allow R0 usage. + (atomic_nand_fetch_soft_imask): Use arith_reg_dest and + arith_reg_operand instead of register_operand. Use logical_operand + and K08. + +2015-01-28 Jakub Jelinek + + PR other/63504 + * dwarf2out.c (add_AT_wide, mem_loc_descriptor, loc_descriptor): + Use ggc_alloc instead of ggc_cleared_alloc. + (attr_checksum, attr_checksum_ordered, hash_loc_operands): Checksum + only get_full_len HOST_WIDE_INTs from get_val () array rather than + all bits in *val_wide. + +2015-01-28 Jan Hubicka + + * varpool.c (tls_model_names): Fix names. + (varpool_node::dump): Dump tls- prefix for tls models. + +2015-01-28 Thomas Schwinge + Bernd Schmidt + Nathan Sidwell + + * config/nvptx/mkoffload.c: New file. + * config/nvptx/t-nvptx: Add build rules for it. + * config.gcc [$enable_as_accelerator = yes] + (extra_programs): Add mkoffload. + * config/nvptx/nvptx.c (nvptx_record_offload_symbol): New + function. + (TARGET_RECORD_OFFLOAD_SYMBOL): Define macro to use it. + +2015-01-28 Yuri Rumyantsev + + PR middle-end/64809 + * cfgexpand.c (reorder_operands): Skip debug gimples. + +2015-01-28 Ilya Enkovich + + PR tree-optimization/64277 + * tree-ssa-loop-niter.c (record_nonwrapping_iv): Use base + range info when possible to refine estimation. + +2015-01-28 Thomas Preud'homme + + PR tree-optimization/64718 + * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Make bswap_type + be a 16bit unsigned integer when n->range is 16. + (bswap_replace): Convert src to that type if necessary for all bswap + sizes. Fix rotation right notation in nearby comment. Use bswap_type + set in pass_optimize_bswap::execute (). + +2015-01-28 James Greenhalgh + + * config/aarch64/aarch64-simd.md (aarch64_abs): New. + * config/aarch64/aarch64-simd-builtins.def (abs): Split by + integer and floating point variants. + * config/aarch64/iterators.md (unspec): Add UNSPEC_ABS. + +2015-01-28 Robert Suchanek + + * config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators + for all vector modes. + +2015-01-28 Jakub Jelinek + + PR bootstrap/64612 + * doc/sourcebuild.texi (comdat_group): Document. + +2015-01-28 Terry Guo + + * config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern. + +2015-01-27 David Malcolm + + * toplev.c (print_version): Add param "show_global_state", and + only print GGC and plugin information if it is true. + (init_asm_output): Pass in "true" for the new param when calling + print_version. + (process_options): Likewise. + (toplev::main): Likewise. + * toplev.h (print_version): Add new param to decl. + +2015-01-27 Jan Hubicka + + PR ipa/60871 + PR ipa/64139 + * tree.c (lookup_binfo_at_offset): New function. + (get_binfo_at_offset): Use it. + +2015-01-27 Jan Hubicka + + PR ipa/64282 + * gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert + on vtable being vtable. + +2015-01-27 Dominik Vogt + + * doc/extend.texi: s/390: Update documentation of hotpatch attribute. + * doc/invoke.texi (-mhotpatch): s/390: Update documentation of + -mhotpatch= option. + * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and + -mno-hotpatch options. Change syntax of -mhotpatch= option. + * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default): + Renamed. + (s390_hotpatch_trampoline_halfwords_max): Renamed. + (s390_hotpatch_hw_max): New name. + (s390_hotpatch_trampoline_halfwords): Renamed. + (s390_hotpatch_hw_before_label): New name. + (get_hotpatch_attribute): Removed. + (s390_hotpatch_hw_after_label): New name. + (s390_handle_hotpatch_attribute): Add second parameter to hotpatch + attribute. + (s390_attribute_table): Ditto. + (s390_function_num_hotpatch_trampoline_halfwords): Renamed. + (s390_function_num_hotpatch_hw): New name. + Remove special handling of inline functions and hotpatching. + Return number of nops before and after the function label. + (s390_can_inline_p): Removed. + (s390_asm_output_function_label): Emit a configurable number of nops + after the function label. + (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch. + (TARGET_CAN_INLINE_P) Removed. + (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New. + +2015-01-27 Ramana Radhakrishnan + Jiong Wang + + * config/aarch64/aarch64.md (tb1): Clobber CC reg instead + of scratch reg. + (cb1): Likewise. + * config/aarch64/iterators.md (bcond): New define_code_attr. + +2015-01-27 Andreas Krebbel + + * config/s390/s390.c (s390_memory_move_cost): Increase costs for + memory accesses. + +2015-01-27 Andreas Krebbel + + * config/s390/s390.c (s390_register_move_cost): Increase costs for + FPR->GPR moves. + +2015-01-27 Richard Biener + + * tree-vrp.c (update_value_range): Intersect the range with + old recorded SSA name range information. + +2015-01-27 Nick Clifton + + * config/rl78/rl78.c (rl78_expand_prologue): In G10 mode push the + BC, DE and HL registers directly, not via AX. + When decrementing the stack pointer by a large amount, transfer SP + into AX and perform the subtraction there. + (rl78_expand_epilogue): Perform the inverse of the above + enhancements. + +2015-01-27 Rainer Orth + + * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Remove. + +2015-01-27 Jakub Jelinek + Yury Gribov + + PR ubsan/64741 + * ubsan.c (ubsan_source_location): Refactor code. + (ubsan_type_descriptor): Update type size. Refactor code. + +2015-01-27 Richard Biener + + PR tree-optimization/56273 + PR tree-optimization/59124 + PR tree-optimization/64277 + * tree-vrp.c (vrp_finalize): Emit array-bound warnings only + from the first VRP pass. + +2015-01-27 Jakub Jelinek + + PR ipa/64776 + * cgraphunit.c (cgraph_node::expand_thunk): If not this_adjusting, + handle the first argument in the same loop as all the other arguments. + + PR rtl-optimization/61058 + * jump.c (cleanup_barriers): Update basic block boundaries + if BLOCK_FOR_INSN is non-NULL on PREV. + +2015-01-27 Ilya Enkovich + + * tree-chkp.c (chkp_call_returns_bounds_p): Fix handling of + bounds narrowing, already instrumented calls and calls to + not instrumentable functions. + +2015-01-27 Jakub Jelinek + + PR tree-optimization/64807 + * wide-int.cc (wi::divmod_internal): Clear + b_dividend[dividend_blocks_needed]. + +2015-01-26 DJ Delorie + + * config/rl78/rl78.c (move_elim_pass): Don't optimize away + volatile memory references. + +2015-01-26 Oleg Endo + + PR target/49263 + * config/sh/sh.c (sh_split_treg_set_expr): Invoke emit_insn before + remove_insn. + * config/sh/sh.md (tstsi_t): Don't try to optimize constant with right + shifts if it already fits into K08. + +2015-01-26 Jakub Jelinek + + PR ipa/64730 + * ipa-inline.c (inline_small_functions): Print "unknown" even + if edge->call_stmt is non-NULL, but has builtins or unknown + location. + + PR middle-end/64421 + * omp-low.c (simd_clone_mangle): If DECL_ASSEMBLER_NAME starts + with asterisk, skip the first character. + +2015-01-26 H.J. Lu + + PR target/64806 + * config/i386/i386 (feature_priority): Revert the last P_POPCNT + order change. + +2015-01-26 Uros Bizjak + + PR target/64795 + * config/i386/i386.md (*movdi_internal): Also check operand 0 + to determine TYPE_LEA operand. + (*movsi_internal): Ditto. + +2015-01-26 Jakub Jelinek + + * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add + OPTION_MASK_QUAD_MEMORY_ATOMIC. + +2015-01-26 Renlin Li + + * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Correct + the comment. + * config/aarch64/aarch64.md (tlsle_small_): Add left shift 12-bit + for higher part. + +2015-01-26 Richard Biener + + PR middle-end/64764 + * tree-ssa-uninit.c (is_pred_expr_subset_of): Handle + combining two BIT_AND_EXPR predicates. + +2015-01-26 H.J. Lu + + PR bootstrap/64754 + * tree-ssa-structalias.c (new_var_info): Initialize ruid. + +2015-01-26 Terry Guo + + * config/arm/arm.c (arm_file_start): Update the assignment of + Tag_ABI_HardFP_use. + +2015-01-25 James Greenhalgh + + * config/arm/arm-cores.def (cortex-a57): Use the new Cortex-A57 + pipeline model. + config/arm/arm.md: Include the new Cortex-A57 model. + (generic_sched): Don't use generic_sched when tuning for + Cortex-A57. + +2015-01-25 Allan Sandfeld Jensen + Uros Bizjak + + * config/i386/i386.c (get_builtin_code_for_version): Add + support for BMI and BMI2 multiversion functions. + +2015-01-25 Prathamesh Kulkarni + + * emit-rtl.h (store_bit_field): Move prototype to expmed.h. + (extract_bit_field): Likewise. + (extract_low_bits): Likewise. + (expand_mult): Likewise. + (expand_mult_highpart_adjust): Likewise. + +2015-01-24 H.J. Lu + + * config/i386/driver-i386.c (host_detect_local_cpu): Check new + Silvermont, Haswell, Broadwell and Knights Landing model numbers. + * config/i386/i386.c (processor_model): Add + M_INTEL_COREI7_BROADWELL. + (arch_names_table): Add "broadwell". + +2015-01-24 Oleg Endo + + PR target/49263 + PR target/53987 + PR target/64345 + PR target/59533 + PR target/52933 + PR target/54236 + PR target/51244 + * config/sh/sh-protos.h + (sh_extending_set_of_reg::can_use_as_unextended_reg, + sh_extending_set_of_reg::use_as_unextended_reg, + sh_is_nott_insn, sh_movt_set_dest, sh_movrt_set_dest, sh_is_movt_insn, + sh_is_movrt_insn, sh_insn_operands_modified_between_p, + sh_reg_dead_or_unused_after_insn, sh_in_recog_treg_set_expr, + sh_recog_treg_set_expr, sh_split_treg_set_expr): New functions. + (sh_treg_insns): New class. + * config/sh/sh.c (TARGET_LEGITIMATE_COMBINED_INSN): Define target hook. + (scope_counter): New class. + (sh_legitimate_combined_insn, sh_is_nott_insn, sh_movt_set_dest, + sh_movrt_set_dest, sh_reg_dead_or_unused_after_insn, + sh_extending_set_of_reg::can_use_as_unextended_reg, + sh_extending_set_of_reg::use_as_unextended_reg, sh_recog_treg_set_expr, + sh_in_recog_treg_set_expr, sh_try_split_insn_simple, + sh_split_treg_set_expr): New functions. + (addsubcosts): Handle treg_set_expr. + (sh_rtx_costs): Handle IF_THEN_ELSE and ZERO_EXTRACT. + (sh_rtx_costs): Use arith_reg_operand in SIGN_EXTEND and ZERO_EXTEND. + (sh_rtx_costs): Handle additional bit test patterns in EQ and AND cases. + (sh_insn_operands_modified_between_p): Make non-static. + * config/sh/predicates.md (zero_extend_movu_operand): Allow + simple_mem_operand in addition to displacement_mem_operand. + (zero_extend_operand): Don't allow zero_extend_movu_operand. + (treg_set_expr, treg_set_expr_not_const01, + arith_reg_or_treg_set_expr): New predicates. + * config/sh/sh.md (tstsi_t): Use arith_reg_operand and + arith_or_int_operand instead of logical_operand. Convert to + insn_and_split. Try to optimize constant operand in splitter. + (tsthi_t, tstqi_t): Fold into *tst_t. Convert to insn_and_split. + (*tstqi_t_zero): Delete. + (*tst_t_subregs): Add !sh_in_recog_treg_set_expr split condition. + (tstsi_t_and_not): Delete. + (tst_t_zero_extract_eq): Rename to *tst_t_zero_extract. + Convert to insn_and_split. + (unnamed split, tstsi_t_zero_extract_xor, + tstsi_t_zero_extract_subreg_xor_little, + tstsi_t_zero_extract_subreg_xor_big): Delete. + (*tstsi_t_shift_mask): New insn_and_split. + (cmpeqsi_t, cmpgesi_t): Add new split for const_int 0 operands and try + to recombine with surrounding insns when splitting. + (*negtstsi): Add !sh_in_recog_treg_set_expr condition. + (cmp_div0s_0, cmp_div0s_1, *cmp_div0s_0, *cmp_div0s_1): Rewrite as ... + (cmp_div0s, *cmp_div0s_1, *cmp_div0s_2, *cmp_div0s_3, *cmp_div0s_4, + *cmp_div0s_5, *cmp_div0s_6): ... these new insn_and_split patterns. + (*cbranch_div0s: Delete. + (*addc): Convert to insn_and_split. Use treg_set_expr as 3rd operand. + Try to recombine with surrounding insns when splitting. Add operand + order variants. + (*addc_t_r, *addc_r_t): Use treg_set_expr_not_const01. + (*addc_r_r_1, *addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_r_msb, + *addc_r_r_msb, *addc_2r_msb): Delete. + (*addc_2r_lsb): Rename to *addc_2r_t. Use treg_set_expr. Add operand + order variant. + (*addc_negreg_t): New insn_and_split. + (*subc): Convert to insn_and_split. Use treg_set_expr as 3rd operand. + Try to recombine with surrounding insns when splitting. + Add operand order variants. + (*subc_negt_reg, *subc_negreg_t, *reg_lsb_t, *reg_msb_t): New + insn_and_split patterns. + (*rotcr): Use arith_reg_or_treg_set_expr. Try to recombine with + surrounding insns when splitting. + (unnamed rotcr split): Use arith_reg_or_treg_set_expr. + (*rotcl): Likewise. Add zero_extract variant. + (*ashrsi2_31): New insn_and_split. + (*negc): Convert to insn_and_split. Use treg_set_expr. + (*zero_extendsi2_disp_mem): Update comment. + (movrt_negc, *movrt_negc, nott): Add !sh_in_recog_treg_set_expr split + condition. + (*mov_t_msb_neg, mov_neg_si_t): Use treg_set_expr. Try to recombine + with surrounding insns when splitting. + (any_treg_expr_to_reg): New insn_and_split. + (*neg_zero_extract_0, *neg_zero_extract_1, *neg_zero_extract_2, + *neg_zero_extract_3, *neg_zero_extract_4, *neg_zero_extract_5, + *neg_zero_extract_6, *zero_extract_0, *zero_extract_1, + *zero_extract_2): New single bit zero extract patterns. + (bld_reg, *bld_regqi): Fold into bld_reg. + (*get_thread_pointersi, store_gbr, *mov_gbr_load, + *mov_gbr_load, *mov_gbr_load, *mov_gbr_load, + *movdi_gbr_load): Use arith_reg_dest instead of register_operand for + set destination. + (set_thread_pointersi, load_gbr): Use arith_reg_operand instead of + register_operand for set source. + +2015-01-23 Jan Hubicka + + * i386.opt (prefetch_sse): New targetsave. + * i386.c (ix86_function_specific_save): Save prefetch_sse. + (ix86_function_specific_restore): Restore prefetch_sse and initialize + ix86_cost/ix86_tune_cost. + +2015-01-23 David Malcolm + + * config/rs6000/rs6000.c (rs6000_output_function_epilogue): + Support the JIT by using 0 as the language type. + +2015-01-23 Vladimir Makarov + + PR target/64317 + * lra-lives.c (make_hard_regno_born): Add parameter. Don't make + REAL_PIC_OFFSET_TABLE_REGNUM conflicting with pic offset pseudo. + (mark_regno_live, process_bb_lives): Pass new parameter value to + make_hard_regno_born. + +2015-01-23 Jakub Jelinek + + PR rtl-optimization/63637 + PR rtl-optimization/60663 + * cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST + if elt->cost is MAX_COST for ASM_OPERANDS. + (find_sets_in_insn): Fix up comment typo. + (cse_insn): Don't set src_volatile for all non-volatile + ASM_OPERANDS in PARALLELs, but just those with multiple outputs + or with "memory" clobber. Set elt->cost to MAX_COST + for ASM_OPERANDS in PARALLEL. Set src_elt->cost to MAX_COST + if new_src is ASM_OPERANDS and elt->cost is MAX_COST. + +2015-01-23 Uros Bizjak + + * config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for + alternative 1. + +2015-01-23 Uros Bizjak + + * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Move definition to + libgcc/config/i386/elf-lib.h. + +2015-01-23 Jakub Jelinek + + PR driver/64737 + * gcc.c (print_configuration): Don't print a blank line at the end + here... + (run_attempt): ... but here unstead. + + PR middle-end/64734 + * omp-low.c (scan_sharing_clauses): Don't ignore + OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses + on target data/update constructs. + +2015-01-23 Bernd Edlinger + + PR target/50928 + * config/m32c/m32c.c (encode_pattern_1): Removed gcc_unreachable here. + (DEBUG_RELOAD): Removed define. + (m32c_limit_reload_class): Enable traces with if DEBUG0. + (m32c_function_arg): Added a type cast. + (m32c_legitimize_reload_address): Push A_REGS reload with PSImode. + * config/m32c/addsub.md (addsi3_1): Specify the mode of all arguments. + * config/m32c/bitops.md (andqi3_16): Likewise. + * config/m32c/mov.md (m32c_immd_dbl_mov): Likewise. + (push_a01_l): Likewise. + +2015-01-23 David Malcolm + + PR jit/64721 + * main.c (main): Construct toplev instances with init_signals=true. + * toplev.c (general_init): Add param "init_signals", and use it to + conditionalize the calls to signal and host_hooks.extra_signals. + (toplev::toplev): Add param "init_signals". + (toplev::main): When invoking general_init, pass m_init_signals + to control whether signal-handlers are installed. + * toplev.h (toplev::toplev): Add param "init_signals". + (toplev::m_init_signals): New field. + +2015-01-23 David Malcolm + + PR jit/64722 + * emit-rtl.c (init_emit_regs): Set pic_offset_table_rtx to + NULL_RTX before testing PIC_OFFSET_TABLE_REGNUM, since the + latter may be affected by the former (e.g. on i686). + +2015-01-23 Martin Liska + + * tree.h (tree_vec_elt_check): Workaround -Wstrict-overflow + false positive during profiledbootstrap. + +2015-01-23 Tom de Vries + + PR libgomp/64672 + * lto-opts.c (lto_write_options): Output non-explicit conservative + -fno-openacc. + * lto-wrapper.c (merge_and_complain): Handle merging -fopenacc. + (append_compiler_options): Pass -fopenacc through. + +2015-01-23 Tom de Vries + + PR libgomp/64707 + * lto-opts.c (lto_write_options): Output non-explicit conservative + -fno-openmp. + * lto-wrapper.c (merge_and_complain): Handle merging -fopenmp. + (append_compiler_options): Pass -fopenmp through. + +2015-01-23 Jakub Jelinek + + PR debug/64511 + * dwarf2out.c (struct dw_loc_descr_node): Add chain_next + GTY markup. + + * diagnostic-core.h (internal_error_no_backtrace): New prototype. + * diagnostic.def (DK_ICE_NOBT): New kind. + * diagnostic.c (diagnostic_action_after_output): Handle DK_ICE_NOBT + like DK_ICE, but never print backtrace. + (diagnostic_report_diagnostic): Handle DK_ICE_NOBT like DK_ICE. + (internal_error_no_backtrace): New function. + * gcc.c (execute): Use internal_error_no_backtrace instead of + internal_error. + +2015-01-22 Jeff Law + + PR target/52076 + * config/m68k/m68k.md (xorsi3_internal): Twiddle constraints to + improve code density for small immediate to memory case. + (insv): Better handle bitfield assignments when the field is + being set to all ones. + * config/m68k/predicates.md (reg_or_pow2_m1_operand): New + operand predicate. + +2015-01-22 Rainer Orth + Jakub Jelinek + + PR middle-end/64729 + * gcc.c (LINK_SSP_SPEC): Handle -fstack-protector-explicit + for !TARGET_LIBC_PROVIDES_SSP version and + -fstack-protector-{all,strong,explicit} otherwise. + * config/freebsd.h (LINK_SSP_SPEC): Handle + -fstack-protector-{strong,explicit}. + +2015-01-22 Jan Hubicka + H.J. Lu + + PR ipa/64694 + * ipa-inline.c (inline_small_functions): Fix thinko in maintenance of + heap. + +2015-01-22 Wei Mi + + PR rtl-optimization/64557 + * dse.c (record_store): Call get_addr for mem_addr. + (check_mem_read_rtx): Likewise. + +2015-01-22 Eric Botcazou + + * fold-const.c (const_binop): Add early return for non-tcc_binary. + +2015-01-22 Chen Gang + + * toplev.c (init_local_tick): Process the failure when read + fails for random_seed. + + * ubsan.c (ubsan_type_descriptor): Use 'pretty_print' for + 'pretty_name' to avoid memory overflow. + +2015-01-22 Richard Biener + + PR middle-end/64728 + * tree-ssa-coalesce.c (coalesce_partitions): Do not perform + abnormal coalescing on undefined SSA names. + +2015-22-01 Uros Bizjak + + PR target/64688 + PR target/64477 + * config/i386/sse.md (vec_set_0): Use (Yi/r/C) constraints + for alternative 3. + (*vec_dup): Use (Yi/$r) constraints for alternative 1. + +2015-01-22 Trevor Saunders + + PR middle-end/63325 + * fold-const.c (fold_checksum_tree): Don't include value of + expr->decl_with_vis.symtab_node in the checksum. + +2015-01-22 Andreas Krebbel + + * config/s390/s390.md (atomic code attribute): Fix typo "ior" -> "or". + +2015-01-22 Max Ostapenko + + PR driver/64690 + * gcc.c (insert_comments): New function. + (try_generate_repro): Call it. + (append_text): Removed. + +2015-01-22 Richard Biener + + * ipa-inline.c (can_inline_edge_p): Disable inlining of edges + with IL incompatible options. Properly honor user optimize + attributes. + +2015-01-21 Segher Boessenkool + + PR rtl-optimization/64682 + * combine.c (distribute_notes): When moving a death note for + a register that is set in the new I2, make sure to put it + before that new I2. + +2015-01-21 David Edelsohn + + * config/rs6000/rs6000.c (rs6000_file_start): Use rs6000_isa_flags + not TARGET_DEFAULT. + +2015-01-21 Jakub Jelinek + + PR debug/64511 + * simplify-rtx.c (simplify_relational_operation_1): Don't try to + optimize (eq/ne (and (side_effects) (const_int 0)) (const_int 0)) + into (eq/ne (and (not (side_effects)) (const_int 0)) (const_int 0)). + + PR sanitizer/64706 + * doc/invoke.texi (-fsanitize=vptr): Document. + + PR rtl-optimization/62078 + * dse.c: Include cfgcleanup.h. + (rest_of_handle_dse): For -fnon-call-exceptions, if DSE removed + anything call purge_all_dead_edges and cleanup_cfg at the end + of the pass. + +2015-01-21 Jan Hubicka + + * ipa-utils.c (ipa_merge_profiles): Avoid ICE on mismatch in indirect + edges. + +2015-01-21 Bernd Edlinger + + * gimplify.c (gimplify_function_tree): Check the no_sanitize_thread + decl attribute. + +2015-01-21 David Sherwood + Tejas Belagod + + * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Removed. + * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class): Removed. + * config/aarch64/aarch64-protos.h (aarch64_cannot_change_mode_class): + Removed. + +2015-01-21 David Sherwood + Tejas Belagod + + * config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist) + (aarch64_reverse_mask): New decls. + * config/aarch64/iterators.md (UNSPEC_REV_REGLIST): New enum. + (insn_count): New mode_attr. + * config/aarch64/aarch64-simd.md (vec_store_lanesoi, vec_store_lanesci) + (vec_store_lanesxi, vec_load_lanesoi, vec_load_lanesci) + (vec_load_lanesxi): Made ABI compliant for Big Endian targets. + (aarch64_rev_reglist, aarch64_simd_ld2, aarch64_simd_ld3) + (aarch64_simd_ld4, aarch64_simd_st2, aarch64_simd_st3) + (aarch64_simd_st4): New patterns. + * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist) + (aarch64_reverse_mask): New functions. + +2015-01-21 Alan Hayward + + * config/aarch64/aarch64-protos.h (aarch64_simd_disambiguate_copy): + Declare. + * config/aarch64/aarch64.c (aarch64_classify_address): Allow extra + addressing modes for BE. + (aarch64_print_operand): Add 'R' specifier. + (aarch64_simd_disambiguate_copy): Delete. + (aarch64_simd_emit_reg_reg_move): New function. + * config/aarch64/aarch64-simd.md: Use aarch64_simd_emit_reg_reg_move + in define_splits for structural moves. + (mov): Use less restrictive predicates. + (*aarch64_mov): Simplify and only allow for LE. + (*aarch64_be_movoi, *aarch64_be_movci, *aarch64_be_movxi): New. + +2015-01-21 Alan Hayward + + * rtlanal.c (subreg_get_info): Exit early for simple and common cases. + +2015-01-21 Richard Henderson + + PR target/64669 + * ccmp.c (used_in_cond_stmt_p): Remove. + (expand_ccmp_expr): Don't use it. + +2015-01-21 Nick Clifton + + * config/rl78/rl78.c (rl78_calculate_death_notes): Look inside + PARALLELs. + +2015-01-21 Richard Biener + + PR middle-end/64313 + * tree-core.h (builtin_info, builtin_info_type): Turn from + an object with two arrays into an array of an object with + decl and two flags, implicit_p and declared_p. + * tree.h (builtin_decl_explicit, builtin_decl_implicit, + set_builtin_decl, set_builtin_decl_implicit_p, + builtin_decl_explicit_p, builtin_decl_implicit_p): Adjust. + (set_builtin_decl_declared_p, builtin_decl_declared_p): New functions. + * builtins.c (builtin_info): Adjust. + * gimplify.c (gimplify_addr_expr): References to builtins + that have been declared by the user makes them eligible for + use by the compiler. Call set_builtin_decl_implicit_p on them. + +2015-01-20 Jeff Law + + PR target/59946 + * config/m68k/m68k.md (Comparison expanders and patterns): Do not + allow pc-relative addresses in operand predicates or constraints. + +2015-01-21 Bin Cheng + + * config/arm/arm.c (arm_cortex_a53_tune, arm_cortex_a57_tune): Prefer + neon on aarch32 processors for stringops. + +2015-01-19 Jan Hubicka + + PR ipa/63576 + * ipa-utils.c (ipa_merge_profiles): Merge speculative edges. + +2015-01-19 Jan Hubicka + + PR lto/45375 + * ipa-inline.c: Include lto-streamer.h + (report_inline_failed_reason): Output source file differences and + flags on optimization/target node mismatch. + (can_inline_edge_p): Consider caller to be the outer inline function; + be less restrictive about matching opimize and optimize_size attributes. + (inline_account_function_p): Break out from ... + (inline_small_functions): ... here. + * ipa-inline-transform.c (clone_inlined_nodes): Use + inline_account_function_p. + (inline_call): Use optimize attribution; use inline_account_function_p. + (inline_transform): Use opt_for_fn. + * ipa-inline.h (inline_account_function_p): Declare. + +2015-01-20 Jakub Jelinek + + PR debug/64663 + * dwarf2out.c (decl_piece_node): Don't put bitsize into + mode if bitsize <= 0. + (decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl, + dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit + sizes and positions. + +2015-01-20 Chung-Lin Tang + + * config/nios2/nios2.c (nios2_asm_file_end): Implement + TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when + needed. + (TARGET_ASM_FILE_END): Define. + +2015-01-20 Maxim Kuvyrkov + + * config/arm/arm-protos.h (enum arm_sched_autopref): New constants. + (struct tune_params): Use the enum. + * arm.c (arm_*_tune): Update. + (arm_option_override): Update. + +2015-01-20 Richard Biener + + PR ipa/64684 + * ipa-reference.c (add_static_var): Inline ... + (analyze_function): ... here after splitting out from ... + (is_proper_for_analysis): ... this. + +2015-01-20 Matthew Wahab + + PR target/64149 + * config/arm/arm.opt: Remove lra option and arm_lra_flag variablesle. + * config/arm/arm.h (MODE_BASE_REG_CLASS): Remove use of arm_lra_flagag, + replace the conditional with it's true branch. + * config/arm/arm.config (TARGET_LRA_P): Set to hook_bool_void_true. + (arm_lra_p): Remove. + +2015-01-20 Eric Botcazou + + * config/visium/visium.h (LIB_SPEC): Adjust in default case. + +2015-01-20 Prathamesh Kulkarni + + * config/tilegx/mul-tables.c: Move symtab.h include after + coretypes.h include. + * config/tilepro/mul-tables.c: Add includes hashtab.h, hash-set.h, + vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h, + flags.h, statistics.h, double-int.h, real.h, fixed-value.h, alias.h, + wide-int.h, inchash.h, tree.h, insn-config.h, expmed.h, dojump.h, + explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h. + +2015-01-20 Igor Zamyatin + + PR bootstrap/64676 + Revert: + 2015-01-19 Igor Zamyatin + + PR rtl-optimization/64081 + * loop-iv.c (def_pred_latch_p): New function. + (latch_dominating_def): Allow specific cases with non-single + definitions. + (iv_get_reaching_def): Likewise. + (check_complex_exit_p): New function. + (check_simple_exit): Use check_complex_exit_p to allow certain cases + with exits not executing on any iteration. + +2015-01-19 Jan Hubicka + + PR lto/45375 + * i386.c (ix86_option_override_internal): Use ix86_tune_cost + to set branch cost. + +2015-01-19 Jan Hubicka + + PR lto/45375 + * i386.c (gate): Check flag_expensive_optimizations and + optimize_size. + (ix86_option_override_internal): Drop optimize_size condition + on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER, + MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE, + MASK_PREFER_AVX128. + (ix86_avx256_split_vector_move_misalign, + ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed. + * sse.md (all uses of TARGET_PREFER_AVX128): Add + optimize_insn_for_speed_p check. + +2015-01-19 Matthew Fortune + + * config/mips/mips.h (FP_ASM_SPEC): New define. + (ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC + instead. + +2015-01-19 Oleg Endo + + PR target/53988 + * config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return + nullptr for insn when reaching the first insn. + * config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator. + (sh_insn_operands_modified_between_p): Add nullptr check. + (sh_find_extending_set_of_reg): Fix log message. Don't accept + sign extending mem load if the insn contains any UNSPEC or + UNSPEC_VOLATILE. + +2015-01-19 Jan Hubicka + + * params.def (inline-unit-growth): Drop to 15%. + * invoke.texi (inline-unit-growth): Document change. + +2015-01-19 Martin Liska + + PR ipa/64668 + * ipa-icf-gimple.c (func_checker::compare_operand): Call proper + function for second argument of OBJ_TYPE_REF. + +2015-01-19 Jan Hubicka + + PR ipa/64218 + * ipa-inline.c (want_inline_function_to_all_callers_p): Fix check + whether function is an alias. + +2015-01-19 Jan Hubicka + + * ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless + cases. + +2015-01-19 Vladimir Makarov + + PR rtl-optimization/64671 + * lra-remat.c (operand_to_remat): Don't consider jump and call + insns. + +2015-01-19 David Edelsohn + + PR target/59828 + * config/rs6000/default64.h: Include rs6000-cpus.def. + (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8). + (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4. + * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7 + and POWER8. + * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to + POWER8. + * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine + pseudo-op to specify assembler dialect. + +2015-01-19 Martin Liska + + PR ipa/64664 + * ipa-icf.c (sem_item_optimizer::filter_removed_items): + Handle safe potentially removed nodes during filtering. + +2015-01-19 Martin Liska + + * doc/extend.texi (no_icf): Add new attribute description. + * ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases + where the pass attempts to merge a function with no_icf attribute. + +2015-01-19 Ramana Radhakrishnan + + PR target/64532 + * doc/md.texi (ARM Options): Document register constraints. + +2015-01-19 Jiong Wang + Andrew Pinski + + PR target/64304 + * config/aarch64/aarch64.md (define_insn "*ashl3_insn"): Deleted. + (ashl3): Don't expand if operands[2] is not constant. + +2015-01-19 Kyrylo Tkachov + + PR target/64448 + * config/aarch64/aarch64-simd.md (aarch64_simd_bsl_internal): + Match xor-and-xor RTL pattern. + +2015-01-19 Igor Zamyatin + + PR rtl-optimization/64081 + * loop-iv.c (def_pred_latch_p): New function. + (latch_dominating_def): Allow specific cases with non-single + definitions. + (iv_get_reaching_def): Likewise. + (check_complex_exit_p): New function. + (check_simple_exit): Use check_complex_exit_p to allow certain cases + with exits not executing on any iteration. + +2015-01-19 Jakub Jelinek + + * common.opt (fgraphite): Fix a typo. + +2015-01-19 Felix Yang + + * config/aarch64/aarch64-simd.md (aarch64_p): New + pattern. + * config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp, + uminp, smax_nanp, smin_nanp): New builtins. + * config/aarch64/arm_neon.h (vpmax_s8, vpmax_s16, vpmax_s32, + vpmax_u8, vpmax_u16, vpmax_u32, vpmaxq_s8, vpmaxq_s16, vpmaxq_s32, + vpmaxq_u8, vpmaxq_u16, vpmaxq_u32, vpmax_f32, vpmaxq_f32, vpmaxq_f64, + vpmaxqd_f64, vpmaxs_f32, vpmaxnm_f32, vpmaxnmq_f32, vpmaxnmq_f64, + vpmaxnmqd_f64, vpmaxnms_f32, vpmin_s8, vpmin_s16, vpmin_s32, vpmin_u8, + vpmin_u16, vpmin_u32, vpminq_s8, vpminq_s16, vpminq_s32, vpminq_u8, + vpminq_u16, vpminq_u32, vpmin_f32, vpminq_f32, vpminq_f64, vpminqd_f64, + vpmins_f32, vpminnm_f32, vpminnmq_f32, vpminnmq_f64, vpminnmqd_f64, + vpminnms_f32): Rewrite using builtin functions. + +2015-01-19 Thomas Schwinge + + PR libgomp/64625 + * omp-low.c (offload_symbol_decl): Remove variable. + (get_offload_symbol_decl): Remove function. + (expand_omp_target): For BUILT_IN_GOMP_TARGET, + BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL + instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START, + BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL, + BUILT_IN_GOACC_UPDATE don't pass it at all. + +2015-01-19 Ilya Enkovich + + * tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk + callers. + +2015-01-19 Ilya Enkovich + + * ipa-chkp.c (chkp_produce_thunks): Add early param + to split thunks production into two passes. Keep + 'always_inline' function bodies after the first pass. + (pass_data_ipa_chkp_early_produce_thunks): New. + (pass_ipa_chkp_early_produce_thunks): New. + (pass_ipa_chkp_produce_thunks::execute): Adjust to new + chkp_produce_thunks signature. + (make_pass_ipa_chkp_early_produce_thunks): New. + * passes.def (pass_ipa_chkp_early_produce_thunks): New. + (pass_ipa_chkp_produce_thunks): Move after local optimizations. + * tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New. + +2015-01-18 Jan Hubicka + + * cgraph.c (cgraph_node::dump): Dump profile flags. + +2015-01-18 Oleg Endo + + PR target/64652 + * config/sh/sh.md (udivsi3_i4, divsi3_i4): Make use of sfunc address + reg appear first in the parallel. + +2015-01-18 Jan Hubicka + + * ipa-reference.c (set_reference_optimization_summary, + ipa_reference_get_not_written_global): Do nothing if ipa-reference is + disabled. + (ignore_module_statics): New static var. + (propagate_bits): If ipa-reference is disabled, do not look into local + properties. + (analyze_function): Disable analysis when ipa_reference is disabled. + (generate_summary): Do not dump when reference is disabled; + collect vars accessed from functions with ipa-reference disabled. + (get_read_write_all_from_node): When ipa-reference is disabled, use the + node flags. + (gate): Enable for LTO. + (ignore_edge_p): New function. + (propagate): Skip functions w/o ipa-reference analysis. + * optc-save-gen.awk: Handle optimize_debug correctly. + * opth-gen.awk: Likewise. + * common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse, + fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region, + fira-share-save-slots, fira-share-spill-slots, + fmodulo-sched-allow-regmoves, fpartial-inlining, + sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow, + ftracer, ftree-parallelize-loops, fassociative-math, + freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as + Optimization + (fauto-profile, fcommon, fdata-sections, fipa-icf-variables, + ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as + Optimization. + * ipa-icf.c (gate, sem_item_optimizer::filter_removed_items): + Fix for IPA. + +2015-01-18 Jan Hubicka + + PR ipa/64378 + * ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative + flag correctly. + * ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation. + +2015-01-18 Sandra Loosemore + + * doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]): + Remove duplicate option listings. + +2015-01-18 Felix Yang + + * auto-profile.c (afdo_find_equiv_class): Remove unnecessary test. + (autofdo_source_profile::get_callsite_total_count, + function_instance::get_function_instance_by_decl, + string_table::get_index, string_table::get_index_by_decl, + afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline): + Fix comment typos. Reformatting and minor code rearrangement. + +2015-01-17 Segher Boessenkool + + * config/rs6000/rs6000.md (probe_stack): Delete. + (probe_stack_address): New. + +2015-01-17 Segher Boessenkool + + * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT + to test for 32-bit ABIs, not !TARGET_POWERPC64. + +2015-01-17 Segher Boessenkool + + * config/rs6000/rs6000.c (rs6000_parallel_return): New function. + (rs6000_function_value): Use it. Handle SCmode and TCmode as well, + for TARGET_32BIT && TARGET_POWERPC64. Fix another BITS_PER_WORD + snafu. + (rs6000_libcall_value): Use the new function. + +2015-01-17 Sandra Loosemore + + * doc/invoke.texi ([-ftracer]): Remove duplicate option listing. + +2015-01-17 Eric Botcazou + + * reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid, + implement a more precise life analysis for it during backward scan. + +2015-01-17 Jan Kratochvil + + * dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed. + +2015-01-17 Bernd Schmidt + + PR rtl-optimization/52773 + * calls.c (emit_library_call_value): When pushing arguments use + stack_pointer_rtx rather than virtual_outgoing_args_rtx in + CALL_INSN_FUNCTION_USAGE. Only emit one of use of the magic + stack pointer reference into CALL_INSN_FUNCTION_USAGE. + +2015-01-17 Jeff Law + + PR rtl-optimization/32790 + * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT, + not ZERO_EXTEND in SET_DESTs. + +2015-01-17 Alan Modra + + * cprop.c (do_local_cprop): Revert last change. + +2015-01-16 DJ Delorie + Nick Clifton + + * config/rl78/rl78-real.md (addqi3_real): Allow volatiles. + (addhi3_real): Likewise. Fix [HL+0] syntax. + (subqi3_real): Likewise. + (subhi3_real): Likewise. + (cbranchqi4_real): Likewise. Allow saddr,#imm. + (cbranchhi4_real): Likewise. + (cbranchhi4_real_inverted): Likewise. + (cbranchsi4_real_lt): Likewise. + (cbranchsi4_real_ge): Likewise. + (cbranchsi4_real_ge): Likewise. + * config/rl78/rl78-virt.md (add3_virt): Likewise. + (sub3_virt): Likewise. + (cbranchqi4_virt): Likewise. + (cbranchhi4_virt): Likewise. + * config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means + always use '[reg+imm]' even when imm is zero. + * config/rl78/predicates.md (rl78_volatile_memory_operand): New. + (rl78_general_operand): New. + (rl78_nonimmediate_operand): New. + (rl78_nonfar_operand): Use them. + (rl78_nonfar_nonimm_operand): Likewise. + (rl78_stack_based_mem): Fix. + * config/rl78/constraints.md (Ibqi): New. + (IBqi): New. + (Wsa): New. + (Wsf): New. + (Cs1): Fix. + * config/rl78/rl78-expand.md (andqi3): Accept volatiles. + (iorqi3): Likewise. + (xorqi3): Likewise. + * config/rl78/rl78-protos.h (rl78_sfr_p): New. + + * config/rl78/constrains (Qs8): New constraint. + * config/rl78/rl78.c (rl78_flags_already_set): New function. + * config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype. + * config/rl78/rl78-real.md (update_Z): New attribute. + Update patterns to set it. + (cbranchqi4_real): Call rl78_flags_already_set() to determine if a + shorter compare and branch sequence can be used. + (cbranchhi4_real): Likewise. + (cbranchhi4_real_inverted): Likewise. + + * config/rl78/predicates.md (uword_operand): Allow symbol_refs. + * config/rl78/rl78-c.c (rl78_register_pragmas): Register __near + address space. + * config/rl78/rl78.c (rl78_get_name_encoding): New. + (rl78_option_override): Allow -mes0 only if C. + (characterize_address): Support subregs of symbol_refs. + (rl78_addr_space_address_mode): Move. Add __near. + (rl78_far_p): Likewise. + (rl78_addr_space_pointer_mode): Likewise. + (rl78_as_legitimate_address): Likewise. + (rl78_addr_space_subset_p): Likewise. + (rl78_addr_space_convert): Likewise. + (rl78_print_operand_1): Support 16-bit addressing of 32-bit + symbols with -mes0. + (transcode_memory_rtx): Don't copy ES if -mes0. Allow symbol[BC] + addressing. + (rl78_alloc_physical_registers_op1): Change logic to prefer + symbol[BC] addressing. + (frodata_section): New. + (rl78_asm_init_sections): Initialize it. + (rl78_select_section): Put __far readonly symbols in .frodata. + (rl78_make_type_far): New. + (rl78_insert_attributes): Force all readonly symbols to be + __far when -mes0. + (rl78_asm_out_integer): New. + * config/rl78/rl78.h (ADDR_SPACE_NEAR): New. + * config/rl78/rl78.opt (-mes0): New. + + * config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New. + (ASM_OUTPUT_ALIGNED_DECL_COMMON): New. + (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New. + * config/rl78/rl78-protos.h (rl78_output_labelref): New. + (rl78_saddr_p): New. + (rl78_output_aligned_common): New. + * config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings. + (rl78_handle_saddr_attribute): New. + (rl78_handle_naked_attribute): New. + (rl78_attribute_table): Add saddr. + (rl78_print_operand_1): Don't print '!' on saddr operands. + (rl78_print_operand_1): Strip encodings. + (rl78_sfr_p): New. + (rl78_strip_name_encoding): New. + (rl78_attrlist_to_encoding): New. + (rl78_encode_section_info): New. + (rl78_asm_init_sections): New. + (rl78_select_section): New. + (rl78_output_labelref): New. + (rl78_output_aligned_common): New. + (rl78_asm_out_integer): New. + (rl78_asm_ctor_dtor): New. + (rl78_asm_constructor): New. + (rl78_asm_destructor): New. + + * config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es. + * config/rl78/rl78.c (rl78_expand_epilogue): Update. + (transcode_memory_rtx): Update. + (rl78_expand_epilogue): Use A_REG instead of 0. + +2015-01-17 Maxim Kuvyrkov + + * config/arm/arm-protos.h (struct tune_params): New field + sched_autopref_queue_depth. + * config/arm/arm.c (sched-int.h): Include header. + (arm_first_cycle_multipass_dfa_lookahead_guard,) + (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook. + (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,) + (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,) + (arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,) + (arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,) + (arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,) + (arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune): + Specify sched_autopref_queue_depth value. Enabled for A15 and A57. + * config/arm/t-arm (arm.o): Update. + * haifa-sched.c (update_insn_after_change): Update. + (rank_for_schedule): Use auto-prefetcher model, if requested. + (autopref_multipass_init): New static function. + (autopref_rank_for_schedule): New rank_for_schedule heuristic. + (autopref_multipass_dfa_lookahead_guard_started_dump_p): New static + variable for debug dumps. + (autopref_multipass_dfa_lookahead_guard_1): New static helper function. + (autopref_multipass_dfa_lookahead_guard): New global function that + implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook. + (init_h_i_d): Update. + * params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob. + * sched-int.h (enum autopref_multipass_data_status): New const enum. + (autopref_multipass_data_): Structure for auto-prefetcher data. + (autopref_multipass_data_def, autopref_multipass_data_t): New typedefs. + (struct _haifa_insn_data:autopref_multipass_data): New field. + (INSN_AUTOPREF_MULTIPASS_DATA): New access macro. + (autopref_multipass_dfa_lookahead_guard): Declare. + +2015-01-17 Maxim Kuvyrkov + + * rtlanal.c (get_base_term): Handle SCRATCH. + +2015-01-17 Maxim Kuvyrkov + + * config/aarch64/aarch64.c + (aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook. + (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define. + * config/arm/arm.c + (arm_first_cycle_multipass_dfa_lookahead): Implement hook. + (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define. + +2015-01-17 Alan Modra + + * cprop.c (do_local_cprop): Disallow replacement of fixed + hard registers. + +2015-01-16 Kyrylo Tkachov + + PR target/62066 + * config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before + early return 0. + +2015-01-16 Bernd Edlinger + + * sanitizer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters. + * tsan.c (instrument_expr): Fixed parameters of __tsan_vptr_update. + +2015-01-16 Kyrylo Tkachov + + * config/arm/arm.md: Move comment about splitting Thumb1 patterns to... + * config/arm/thumb1.md: ... Here. + +2015-01-16 Segher Boessenkool + + * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow + TImode for TARGET_32BIT. + +2015-01-16 Segher Boessenkool + + * config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE, + TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement + as ... + (rs6000_abi_word_mode): New function. + +2015-01-16 Segher Boessenkool + + * config/rs6000/rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD + instead of UNITS_PER_WORD to describe the size of stack slots. + +2015-01-16 Segher Boessenkool + + * config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement + as rs6000_promote_function_mode. Move comment to there. + (rs6000_promote_function_mode): New function. + +2015-01-16 Segher Boessenkool + + * config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32 + -mpowerpc64 is active. + +2015-01-16 Ilya Enkovich + + PR middle-end/64353 + * tree-cfg.c (pass_data_fixup_cfg): Update SSA for + virtuals on start. + +2015-01-16 James Greenhalgh + + * config/arm/cortex-a57.md: Remove duplicate of file accidentally + introduced in revision 219724. + +2015-01-16 Kyrylo Tkachov + Ramana Radhakrishnan + + PR target/64263 + * config/aarch64/aarch64.md (*movsi_aarch64): Don't split if the + destination is not a GP reg. + (*movdi_aarch64): Likewise. + +2015-01-16 David Edelsohn + + PR target/64623 + * config/rs6000/default64.h: Revert ISA change. + +2015-01-16 Richard Biener + + PR middle-end/64614 + * tree-ssa-uninit.c: Include tree-cfg.h. + (MAX_SWITCH_CASES): New define. + (convert_control_dep_chain_into_preds): Handle switch statements. + (is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0. + (normalize_one_pred_1): Do not split bit-manipulations. + Record (x & CST). + +2015-01-16 Richard Biener + + PR tree-optimization/64568 + * tree-ssa-forwprop.c (pass_forwprop::execute): Guard + complex load rewriting for TARGET_MEM_REFs. + +2015-01-16 Uros Bizjak + + * builtins.c (expand_builtin_acc_on_device): Check target for NULL. + +2015-01-16 Matthew Wahab + + PR target/64149 + * config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag + variable. + * config/aarch64/aarch64.c (TARGET_LRA_P): Set to hook_bool_void_true. + (aarch64_lra_p): Remove. + +2015-01-16 Ilya Enkovich + + PR target/64363 + * ipa-chkp.h (chkp_instrumentable_p): New. + * ipa-chkp.c: Include tree-inline.h. + (chkp_instrumentable_p): New. + (chkp_maybe_create_clone): Use chkp_instrumentable_p. + Fix processing of not instrumentable functions. + (chkp_versioning): Use chkp_instrumentable_p. Warn about + not instrumentable functions. + * tree-chkp.c (chkp_add_bounds_to_call_stmt): Use + chkp_instrumentable_p. + * tree-inline.h (copy_forbidden): New. + * tree-inline.c (copy_forbidden): Not static anymore. + +2015-01-16 Rainer Orth + + * optc-save-gen.awk (cl_target_option_print_diff): Mark indent, + ptr1, ptr2 unused. + +2015-01-16 Robert Suchanek + + * lra-constraints.c (curr_insn_transform): Change a reload pseudo of + type OP_OUT to OP_INOUT. + +2015-01-16 Robert Suchanek + + * simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum + (high x) y) to y if x and y have the same base. + +2015-01-16 James Greenhalgh + + * config/arm/cortex-a57.md: New. + * config/aarch64/aarch64.md: Include it. + * config/aarch64/aarch64-cores.def (cortex-a57): Tune for it. + * config/aarch64/aarch64-tune.md: Regenerate. + +2015-01-16 Zhenqiang Chen + + PR target/64015 + * ccmp.c (expand_ccmp_next): New function. + (expand_ccmp_expr_1, expand_ccmp_expr): Handle operand insn sequence + and compare insn sequence. + * config/aarch64/aarch64.c (aarch64_code_to_ccmode, + aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions. + (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New MICRO. + * config/aarch64/aarch64.md (*ccmp_and): Changed to ccmp_and. + (*ccmp_ior): Changed to ccmp_ior. + (cmp): New pattern. + * doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Update + parameters. + * target.def (gen_ccmp_first, gen_ccmp_next): Update parameters. + +2015-01-16 Ilya Tocar + + * config/i386/avx2intrin.h (_mm256_bslli_epi128, + _mm256_bsrli_epi128): New. + * config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto. + +2015-01-15 Jiong Wang + + * expmed.c (store_bit_field_using_insv): Improve warning message. + Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED. + +2015-01-15 Jiong Wang + + PR rtl-optimization/64011 + * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when + there is partial overflow. + +2015-01-16 Chung-Ju Wu + + * config/nds32/nds32-protos.h (nds32_expand_epilogue): Change + prototype. + (nds32_expand_epilogue_v3pop): Likewise. + * config/nds32/nds32.md (sibcall): Define this for sibling call + optimization. + (sibcall_register): Likewise. + (sibcall_immediate): Likewise. + (sibcall_value): Likewise. + (sibcall_value_register): Likewise. + (sibcall_value_immediate): Likewise. + (sibcall_epilogue): Likewise. + (epilogue): Pass false to indicate this is not a sibcall epilogue. + * config/nds32/nds32.c (nds32_expand_epilogue): Consider sibcall case. + (nds32_expand_epilogue_v3pop): Likewise. + +2015-01-16 Chung-Ju Wu + + * config/nds32/nds32-protos.h (nds32_can_use_return_insn): New. + * config/nds32/nds32.md (unspec_volatile_func_return): Remove. + (return_internal): New. + (return): Define this named pattern. + (simple_return): Define this named pattern. + * config/nds32/nds32.c (nds32_expand_epilogue): Emit return_internal + pattern instead of unspec_volatile_func_return. + (nds32_expand_epilogue_v3pop): Likewise. + (nds32_can_use_return_insn): New function. + +2015-01-16 Chung-Ju Wu + + * config/nds32/constants.md (UNSPEC_VOLATILE_POP25_RETURN): New. + * config/nds32/nds32.md (pop25return): New. + * config/nds32/nds32.c (nds32_expand_epilogue_v3pop): Emit + pop25return pattern. + +2015-01-16 Chung-Ju Wu + + * doc/invoke.texi (NDS32 Options): Remove -mforce-fp-as-gp, + -mforbid-fp-as-gp, and -mex9 options. + +2015-01-16 Chung-Ju Wu + + * doc/invoke.texi (NDS32 Options): Add -mcmodel= option and + remove -mgp-direct option. + +2015-01-15 Jan Hubicka + + * doc/invoke.texi (--param early-inlining-insns): Update default value. + * params.def (PARAM_EARLY_INLINING_INSNS): Set to 14. + +2015-01-15 Jan Hubicka + + * ipa-inline.c (inline_small_functions): Work around hints + cache issue. + +2015-01-15 Sandra Loosemore + + PR target/59710 + * doc/invoke.texi (Option Summary): Document new Nios II + -mgpopt= syntax. + (Nios II Options): Likewise. + * config/nios2/nios2.opt: Add -mgpopt= option support. + Modify existing -mgpopt and -mno-gpopt options to be aliases. + * config/nios2/nios2-opts.h (enum nios2_gpopt_type): New. + * config/nios2/nios2.c (nios2_option_override): Adjust + -mgpopt defaulting. + (nios2_in_small_data_p): Return true for explicit small data + sections even with -G0. + (nios2_symbol_ref_in_small_data_p): Adjust to handle new -mgpopt= + option choices. + +2015-01-15 Jan Hubicka + + PR ipa/64612 + * ipa-inline-transform.c (can_remove_node_now_p): Fix handling + of comdat locals. + (inline_call): Fix removal of aliases. + +2015-01-15 Jakub Jelinek + + * flag-types.h (enum sanitize_code): Add SANITIZE_VPTR, + include SANITIZE_VPTR in SANITIZE_UNDEFINED. + * opts.c (common_handle_option): Add -fsanitize=vptr. + * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS, + BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS_ABORT): New. + * ubsan.h (enum ubsan_null_ckind): Add UBSAN_DOWNCAST_POINTER, + UBSAN_DOWNCAST_REFERENCE, UBSAN_UPCAST and UBSAN_CAST_TO_VBASE. + (ubsan_expand_vptr_ifn): New prototype. + * internal-fn.c (expand_ANNOTATE, expand_GOMP_SIMD_LANE, + expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE, expand_UBSAN_NULL, + expand_UBSAN_BOUNDS, expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK, + expand_LOOP_VECTORIZED): Make argument nameless, remove + ATTRIBUTE_UNUSED. + (expand_UBSAN_VPTR): New function. + * internal-fn.def (UBSAN_NULL, ASAN_CHECK): Use R instead of W + in fn spec. + (UBSAN_VPTR): New internal function. + * sanopt.c (tree_map_traits): Renamed to ... + (sanopt_tree_map_traits): ... this. + (sanopt_tree_triplet, sanopt_tree_triplet_map_traits): New classes. + (sanopt_ctx): Adjust asan_check_map type for tree_map_traits + to sanopt_tree_map_traits renaming. Add vptr_check_map field. + (maybe_optimize_ubsan_vptr_ifn): New function. + (sanopt_optimize_walker): Handle IFN_UBSAN_VPTR. + (pass_sanopt::execute): Likewise. Call sanopt_optimize even for + -fsanitize=vptr. + * tree-ssa-alias.c (call_may_clobber_ref_p_1): Handle certain + internal calls like pure functions for aliasing, even when they + have other side-effects that prevent making them ECF_PURE. + * ubsan.c (ubsan_vptr_type_cache_decl): New variable. + (ubsan_expand_vptr_ifn): New function. + +2015-01-15 Vladimir Makarov + + PR rtl-optimization/64110 + * stmt.c (parse_output_constraint): Process '^' and '$'. + (parse_input_constraint): Ditto. + * lra-constraints.c (process_alt_operands): Process the new + constraints. + * ira-costs.c (record_reg_classes): Process the new constraint + '^'. + * genoutput.c (indep_constraints): Add '^' and '$'. + * config/i386/sse.md (*vec_dup): Use '$' instead of '!'. + * doc/md.texi: Add description of the new constraints. + +2015-01-15 Thomas Schwinge + Bernd Schmidt + Cesar Philippidis + James Norris + Tom de Vries + Ilmir Usmanov + Dmitry Bocharnikov + Evgeny Gavrin + Jakub Jelinek + + * builtin-types.def (BT_FN_VOID_INT_INT_VAR) + (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR) + (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR): + New function types. + * builtins.c: Include "gomp-constants.h". + (expand_builtin_acc_on_device): New function. + (expand_builtin, is_inexpensive_builtin): Handle + BUILT_IN_ACC_ON_DEVICE. + * builtins.def (DEF_GOACC_BUILTIN, DEF_GOACC_BUILTIN_COMPILER): + New macros. + * cgraph.c (cgraph_node::create): Consider flag_openacc next to + flag_openmp. + * config.gcc (tm_file): Add nvptx/offload.h. + <*-intelmic-* | *-intelmicemul-*> (tm_file): Add + i386/intelmic-offload.h. + * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): For -fopenacc, link + to libgomp and its dependencies. + * config/arc/arc.h (LINK_COMMAND_SPEC): Likewise. + * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise. + * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise. + * config/ia64/hpux.h (LIB_SPEC): Likewise. + * config/pa/pa-hpux11.h (LIB_SPEC): Likewise. + * config/pa/pa64-hpux.h (LIB_SPEC): Likewise. + * doc/generic.texi: Update for OpenACC changes. + * doc/gimple.texi: Likewise. + * doc/invoke.texi: Likewise. + * doc/sourcebuild.texi: Likewise. + * gimple-pretty-print.c (dump_gimple_omp_for): Handle + GF_OMP_FOR_KIND_OACC_LOOP. + (dump_gimple_omp_target): Handle GF_OMP_TARGET_KIND_OACC_KERNELS, + GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_DATA, + GF_OMP_TARGET_KIND_OACC_UPDATE, + GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA. + Dump more data. + * gimple.c: Update comments for OpenACC changes. + * gimple.def: Likewise. + * gimple.h: Likewise. + (enum gf_mask): Add GF_OMP_FOR_KIND_OACC_LOOP, + GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS, + GF_OMP_TARGET_KIND_OACC_DATA, GF_OMP_TARGET_KIND_OACC_UPDATE, + GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA. + (gimple_omp_for_cond, gimple_omp_for_set_cond): Sort in the + appropriate place. + (is_gimple_omp_oacc, is_gimple_omp_offloaded): New functions. + * gimplify.c: Include "gomp-constants.h". + Update comments for OpenACC changes. + (is_gimple_stmt): Handle OACC_PARALLEL, OACC_KERNELS, OACC_DATA, + OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, OACC_ENTER_DATA, + OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP. + (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle + OMP_CLAUSE__CACHE_, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, + OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS, + OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER, + OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT, + OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO, + OMP_CLAUSE_SEQ. + (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Use + GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use + OMP_CLAUSE_SET_MAP_KIND. + (gimplify_oacc_cache): New function. + (gimplify_omp_for): Handle OACC_LOOP. + (gimplify_omp_workshare): Handle OACC_KERNELS, OACC_PARALLEL, + OACC_DATA. + (gimplify_omp_target_update): Handle OACC_ENTER_DATA, + OACC_EXIT_DATA, OACC_UPDATE. + (gimplify_expr): Handle OACC_LOOP, OACC_CACHE, OACC_HOST_DATA, + OACC_DECLARE, OACC_KERNELS, OACC_PARALLEL, OACC_DATA, + OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE. + (gimplify_body): Consider flag_openacc next to flag_openmp. + * lto-streamer-out.c: Include "gomp-constants.h". + * omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE) + (BUILT_IN_GOACC_DATA_START, BUILT_IN_GOACC_DATA_END) + (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL) + (BUILT_IN_GOACC_UPDATE, BUILT_IN_GOACC_WAIT) + (BUILT_IN_GOACC_GET_THREAD_NUM, BUILT_IN_GOACC_GET_NUM_THREADS) + (BUILT_IN_ACC_ON_DEVICE): New builtins. + * omp-low.c: Include "gomp-constants.h". + Update comments for OpenACC changes. + (struct omp_context): Add reduction_map, gwv_below, gwv_this + members. + (extract_omp_for_data, use_pointer_for_field, install_var_field) + (new_omp_context, delete_omp_context, scan_sharing_clauses) + (create_omp_child_function, scan_omp_for, scan_omp_target) + (check_omp_nesting_restrictions, lower_reduction_clauses) + (build_omp_regions_1, diagnose_sb_0, make_gimple_omp_edges): + Update for OpenACC changes. + (scan_sharing_clauses): Handle OMP_CLAUSE_NUM_GANGS: + OMP_CLAUSE_NUM_WORKERS: OMP_CLAUSE_VECTOR_LENGTH, + OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_GANG, + OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT, + OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_INDEPENDENT, + OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ. Use GOMP_MAP_* instead of + OMP_CLAUSE_MAP_*. + (expand_omp_for_static_nochunk, expand_omp_for_static_chunk): + Handle GF_OMP_FOR_KIND_OACC_LOOP. + (expand_omp_target, lower_omp_target): Handle + GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS, + GF_OMP_TARGET_KIND_OACC_UPDATE, + GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA, + GF_OMP_TARGET_KIND_OACC_DATA. + (pass_expand_omp::execute, execute_lower_omp) + (pass_diagnose_omp_blocks::gate): Consider flag_openacc next to + flag_openmp. + (offload_symbol_decl): New variable. + (oacc_get_reduction_array_id, oacc_max_threads) + (get_offload_symbol_decl, get_base_type, lookup_oacc_reduction) + (maybe_lookup_oacc_reduction, enclosing_target_ctx) + (oacc_loop_or_target_p, oacc_lower_reduction_var_helper) + (oacc_gimple_assign, oacc_initialize_reduction_data) + (oacc_finalize_reduction_data, oacc_process_reduction_data): New + functions. + (is_targetreg_ctx): Remove function. + * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CACHE_, + OMP_CLAUSE_DEVICE_RESIDENT, OMP_CLAUSE_USE_DEVICE, + OMP_CLAUSE_GANG, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, + OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT, + OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_NUM_GANGS, + OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH. + * tree.c (omp_clause_code_name, walk_tree_1): Update accordingly. + * tree.h (OMP_CLAUSE_GANG_EXPR, OMP_CLAUSE_GANG_STATIC_EXPR) + (OMP_CLAUSE_ASYNC_EXPR, OMP_CLAUSE_WAIT_EXPR) + (OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR) + (OMP_CLAUSE_NUM_GANGS_EXPR, OMP_CLAUSE_NUM_WORKERS_EXPR) + (OMP_CLAUSE_VECTOR_LENGTH_EXPR): New macros. + * tree-core.h: Update comments for OpenACC changes. + (enum omp_clause_map_kind): Remove. + (struct tree_omp_clause): Change type of map_kind member from enum + omp_clause_map_kind to unsigned char. + * tree-inline.c: Update comments for OpenACC changes. + * tree-nested.c: Likewise. Include "gomp-constants.h". + (convert_nonlocal_reference_stmt, convert_local_reference_stmt) + (convert_tramp_reference_stmt, convert_gimple_call): Update for + OpenACC changes. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use + OMP_CLAUSE_SET_MAP_KIND. + * tree-pretty-print.c: Include "gomp-constants.h". + (dump_omp_clause): Handle OMP_CLAUSE_DEVICE_RESIDENT, + OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_GANG, + OMP_CLAUSE_ASYNC, OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, + OMP_CLAUSE_WAIT, OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, + OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS, + OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_INDEPENDENT. Use GOMP_MAP_* + instead of OMP_CLAUSE_MAP_*. + (dump_generic_node): Handle OACC_PARALLEL, OACC_KERNELS, + OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, + OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP. + * tree-streamer-in.c: Include "gomp-constants.h". + (unpack_ts_omp_clause_value_fields) Use GOMP_MAP_* instead of + OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND. + * tree-streamer-out.c: Include "gomp-constants.h". + (pack_ts_omp_clause_value_fields): Use GOMP_MAP_* instead of + OMP_CLAUSE_MAP_*. + * tree.def (OACC_PARALLEL, OACC_KERNELS, OACC_DATA) + (OACC_HOST_DATA, OACC_LOOP, OACC_CACHE, OACC_DECLARE) + (OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE): New tree codes. + * tree.c (omp_clause_num_ops): Update accordingly. + * tree.h (OMP_BODY, OMP_CLAUSES, OMP_LOOP_CHECK, OMP_CLAUSE_SIZE): + Likewise. + (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES, OACC_KERNELS_BODY) + (OACC_KERNELS_CLAUSES, OACC_DATA_BODY, OACC_DATA_CLAUSES) + (OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES, OACC_CACHE_CLAUSES) + (OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES) + (OACC_EXIT_DATA_CLAUSES, OACC_UPDATE_CLAUSES) + (OACC_KERNELS_COMBINED, OACC_PARALLEL_COMBINED): New macros. + * tree.h (OMP_CLAUSE_MAP_KIND): Cast it to enum gomp_map_kind. + (OMP_CLAUSE_SET_MAP_KIND): New macro. + * varpool.c (varpool_node::get_create): Consider flag_openacc next + to flag_openmp. + * config/i386/intelmic-offload.h: New file. + * config/nvptx/offload.h: Likewise. + +2015-01-15 Prathamesh Kulkarni + + * explow.h: Remove duplicate contents. + * dojump.h: Likewise. + +2015-01-15 Richard Earnshaw + + * arm.c (arm_xgene_tune): Add default initializer for instruction + fusion. + +2015-01-15 Jan Hubicka + + PR ipa/64068 + PR ipa/64559 + * ipa.c (symbol_table::remove_unreachable_nodes): + Do not put abstract origins into boundary. + +2015-01-15 Evgeny Stupachenko + + * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage. + * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Ditto. + +2015-01-15 Steve Ellcey + + * Makefile.in (PLUGIN_HEADERS): Add dominance.h, cfg.h, cfgrtl.h, + cfganal.h, cfgbuild.h, cfgcleanup.h, lcm.h, cfgloopmanip.h, + builtins.def, and chkp-builtins.def. + +2015-01-15 David Edelsohn + + * config/rs6000/default64.h (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use + ISA 2.7 (POWER8). + +2015-01-15 Richard Biener + + PR tree-optimization/61743 + * tree-ssa-pre.c (insert_into_preds_of_block): Preserve range + information on PHIs for some simple cases. + +2015-01-15 Philipp Tomsich + + * config/arm/arm.md (generic_sched): Specify xgene1 in 'no' list. + Include xgene1.md. + * config/arm/arm.c (arm_issue_rate): Specify 4 for xgene1. + * config/arm/arm-cores.def (xgene1): New entry. + * config/arm/arm-tables.opt: Regenerate. + * config/arm/arm-tune.md: Regenerate. + * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=xgene1. + +2015-01-15 Yuri Rumyantsev + + * tree-if-conv.c: Include hash-map.h. + (aggressive_if_conv): New variable. + (fold_build_cond_expr): Add simplification of non-zero condition. + (add_to_dst_predicate_list): Invoke add_to_predicate_list if edge + destination block is not always executed. + (if_convertible_phi_p): Fix commentary, allow phi nodes have more + than two predecessors if AGGRESSIVE_IF_CONV is true. + (if_convertible_stmt_p): Fix commentary. + (all_preds_critical_p): New function. + (has_pred_critical_p): New function. + (if_convertible_bb_p): Fix commentary, if AGGRESSIVE_IF_CONV is true + BB can have more than two predecessors and all incoming edges can be + critical. + (predicate_bbs): Skip predication for loop exit block, use build2_loc + to compute predicate for true edge. + (find_phi_replacement_condition): Delete this function. + (is_cond_scalar_reduction): Add arguments ARG_0, ARG_1 and EXTENDED. + Allow interchange PHI arguments if EXTENDED is false. + Change check that block containing reduction statement candidate + is predecessor of phi-block since phi may have more than two arguments. + (phi_args_hash_traits): New helper structure. + (struct phi_args_hash_traits): New type. + (phi_args_hash_traits::hash): New function. + (phi_args_hash_traits::equal_keys): New function. + (gen_phi_arg_condition): New function. + (predicate_scalar_phi): Add handling of phi nodes with more than two + arguments, delete COND and TRUE_BB arguments, insert body of + find_phi_replacement_condition to predicate ordinary phi nodes. + (predicate_all_scalar_phis): Skip blocks with the only predecessor, + delete call of find_phi_replacement_condition and invoke + predicate_scalar_phi with two arguments. + (insert_gimplified_predicates): Add assert that non-predicated block + don't have statements to insert. + (ifcvt_split_critical_edges): New function. + (ifcvt_split_def_stmt): Likewise. + (ifcvt_walk_pattern_tree): Likewise. + (stmt_is_root_of_bool_pattern): Likewise. + (ifcvt_repair_bool_pattern): Likewise. + (ifcvt_local_dce): Likewise. + (tree_if_conversion): Add initialization of AGGRESSIVE_IF_CONV which + is copy of inner or outer loop force_vectorize field, invoke + ifcvt_split_critical_edges, ifcvt_local_dce and + ifcvt_repair_bool_pattern for aggressive if-conversion. + +2015-01-15 Philipp Tomsich + + * config/aarch64/aarch64.md: Include xgene1.md. + * config/aarch64/xgene1.md: New file. + +2015-01-15 Philipp Tomsich + + * config/aarch64/aarch64-cores.def (xgene1): Update/add the + xgene1 (APM XGene-1) core definition. + * config/aarch64/aarch64.c: Add cost tables for APM XGene-1 + * config/arm/aarch-cost-tables.h: Add cost tables for APM XGene-1 + * doc/invoke.texi: Document -mcpu=xgene1. + +2015-01-15 Prathamesh Kulkarni + + * dojump.h: New header file. + * explow.h: Likewise. + * expr.h: Remove includes. + Move expmed.c prototypes to expmed.h. + Move dojump.c prototypes to dojump.h. + Move alias.c prototypes to alias.h. + Move explow.c prototypes to explow.h. + Move calls.c prototypes to calls.h. + Move emit-rtl.c prototypes to emit-rtl.h. + Move varasm.c prototypes to varasm.h. + Move stmt.c prototypes to stmt.h. + (saved_pending_stack_adjust): Move to dojump.h. + (adjust_address): Move to explow.h. + (adjust_address_nv): Move to emit-rtl.h. + (adjust_bitfield_address): Likewise. + (adjust_bitfield_address_size): Likewise. + (adjust_bitfield_address_nv): Likewise. + (adjust_automodify_address_nv): Likewise. + * explow.c (expr_size): Move to expr.c. + (int_expr_size): Likewise. + (tree_expr_size): Likewise. + Include calls.h dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h hashtab.h statistics.h stmt.h varasm.h. + * genemit.c (main): Generate includes statistics.h, real.h, + fixed-value.h, insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h, + stmt.h. + * genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h, + function.h, statistics.h, real.h, fixed-value.h, expmed.h, dojump.h, + explow.h, emit-rtl.h, stmt.h. + * genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h, + fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h. + * genemit.c (open_base_files): Generate includes flags.h, statistics.h, + real.h, fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h, + emit-rtl.h, varasm.h, stmt.h. + * config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h, + hash-set.h, vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, + function.h, rtl.h, flags.h, statistics.h, double-int.h, real.h, + fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h, insn-config.h, + expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h. + * config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h + double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h + function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h + insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h + tm.h tree.h varasm.h vec.h wide-int.h. + * rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h + explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h + hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h + real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h. + * cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h + emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h + insn-config.h real.h statistics.h stmt.h tree.h varasm.h wide-int.h. + * loop-iv.c: Likewise. + * lra-assigns.c: Include alias.h calls.h dojump.h double-int.h + emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h real.h + statistics.h stmt.h tree.h varasm.h wide-int.h. + * lra-constraints.c: Likewise. + * lra-eliminations.c: Likewise. + * lra-lives.c: Likewise. + * lra-remat.c: Likewise. + * bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h + explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h + statistics.h stmt.h tree.h varasm.h wide-int.h. + * hw-doloop.c: Likewise. + * ira-color.c: Likewise. + * ira-emit.c: Likewise. + * loop-doloop.c: Likewise. + * loop-invariant.c: Likewise. + * reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h + explow.h expmed.h fixed-value.h inchash.h real.h rtl.h + statistics.h stmt.h tree.h varasm.h wide-int.h. + * caller-save.c: Include alias.h calls.h dojump.h double-int.h + emit-rtl.h explow.h expmed.h fixed-value.h inchash.h real.h + statistics.h stmt.h tree.h varasm.h wide-int.h. + * combine-stack-adj.c: Likewise. + * cse.c: Likewise. + * ddg.c: Likewise. + * ifcvt.c: Likewise. + * ira-costs.c: Likewise. + * jump.c: Likewise. + * lra-coalesce.c: Likewise. + * lra-spills.c: Likewise. + * profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h + explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h + stmt.h varasm.h wide-int.h. + * lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h + explow.h expmed.h fixed-value.h real.h statistics.h stmt.h + varasm.h. + * config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h + double-int.h explow.h expmed.h fixed-value.h flags.h real.h + statistics.h stmt.h varasm.h wide-int.h. + * reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h + expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h + varasm.h wide-int.h. + * reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h + expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h. + * config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h + emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h + statistics.h stmt.h. + * config/tilepro/tilepro.c: Likewise. + * config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h + explow.h expmed.h fixed-value.h real.h statistics.h stmt.h. + * config/pdp11/pdp11.c: Likewise. + * config/xtensa/xtensa.c: Likewise. + * config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h + explow.h expmed.h fixed-value.h real.h statistics.h stmt.h + varasm.h. + * tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h flags.h function.h hard-reg-set.h hashtab.h + insn-config.h real.h rtl.h statistics.h stmt.h tm.h. + * cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h flags.h function.h hard-reg-set.h hashtab.h + insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h. + * rtl-chkp.c: Likewise. + * tree-chkp-opt.c: Likewise. + * config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h + explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h + hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h. + * ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h + statistics.h stmt.h. + * tree-vect-data-refs.c: Likewise. + * graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h + expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h + rtl.h statistics.h stmt.h varasm.h. + * internal-fn.c: Likewise. + * ipa-icf-gimple.c: Likewise. + * lto-section-out.c: Likewise. + * tree-data-ref.c: Likewise. + * tree-nested.c: Likewise. + * tree-outof-ssa.c: Likewise. + * tree-predcom.c: Likewise. + * tree-pretty-print.c: Likewise. + * tree-scalar-evolution.c: Likewise. + * tree-ssa-strlen.c: Likewise. + * tree-vect-loop.c: Likewise. + * tree-vect-patterns.c: Likewise. + * tree-vect-slp.c: Likewise. + * tree-vect-stmts.c: Likewise. + * tsan.c: Likewise. + * targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h + stmt.h. + * config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h + expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h + statistics.h stmt.h varasm.h. + * loop-unroll.c: Likewise. + * ubsan.c: Likewise. + * tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h + expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h + stmt.h varasm.h. + * dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h. + * tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h + expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h + statistics.h stmt.h. + * generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h + expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h + statistics.h stmt.h varasm.h. + * gimple-match-head.c: Likewise. + * lto-cgraph.c: Likewise. + * lto-section-in.c: Likewise. + * lto-streamer-in.c: Likewise. + * lto-streamer-out.c: Likewise. + * tree-affine.c: Likewise. + * tree-cfg.c: Likewise. + * tree-cfgcleanup.c: Likewise. + * tree-if-conv.c: Likewise. + * tree-into-ssa.c: Likewise. + * tree-ssa-alias.c: Likewise. + * tree-ssa-copyrename.c: Likewise. + * tree-ssa-dse.c: Likewise. + * tree-ssa-forwprop.c: Likewise. + * tree-ssa-live.c: Likewise. + * tree-ssa-math-opts.c: Likewise. + * tree-ssa-pre.c: Likewise. + * tree-ssa-sccvn.c: Likewise. + * tree-tailcall.c: Likewise. + * tree-vect-generic.c: Likewise. + * tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h. + * stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h. + * varasm.c: Likewise. + * coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h + varasm.h. + * init-regs.c: Likewise. + * ira.c: Likewise. + * omp-low.c: Likewise. + * stack-ptr-mod.c: Likewise. + * tree-ssa-reassoc.c: Likewise. + * tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h + varasm.h. + * dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h. + * shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h. + * recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h. + * tree-ssa-phiopt.c: Likewise. + * config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h hashtab.h real.h statistics.h stmt.h. + * config/fr30/fr30.c: Likewise. + * config/frv/frv.c: Likewise. + * expr.c: Likewise. + * final.c: Likewise. + * optabs.c: Likewise. + * passes.c: Likewise. + * simplify-rtx.c: Likewise. + * stmt.c: Likewise. + * toplev.c: Likewise. + * var-tracking.c: Likewise. + * gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h. + * lower-subreg.c: Likewise. + * postreload-gcse.c: Likewise. + * ree.c: Likewise. + * reginfo.c: Likewise. + * store-motion.c: Likewise. + * combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h hashtab.h real.h stmt.h varasm.h. + * emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h hashtab.h statistics.h stmt.h. + * dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h hashtab.h statistics.h stmt.h varasm.h. + * except.c: Likewise. + * explow.c: Likewise. + * tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h + varasm.h. + * gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h. + * tree-ssa-structalias.c: Likewise. + * cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h insn-config.h real.h statistics.h. + * calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h insn-config.h real.h statistics.h stmt.h. + * bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h. + * cfgbuild.c: Likewise. + * function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h real.h rtl.h statistics.h stmt.h. + * cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h. + * dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h real.h statistics.h stmt.h. + * auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h real.h statistics.h stmt.h varasm.h. + * cprop.c: Likewise. + * modulo-sched.c: Likewise. + * postreload.c: Likewise. + * ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h + flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h + statistics.h stmt.h varasm.h. + * gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h + explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h + rtl.h statistics.h stmt.h varasm.h. + * tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h + fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h + varasm.h. + * expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h + function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h + varasm.h. + * target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h + fixed-value.h function.h hashtab.h real.h statistics.h stmt.h + varasm.h. + * tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h + fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h. + * cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h + function.h real.h statistics.h stmt.h varasm.h. + * alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h + insn-config.h real.h statistics.h stmt.h. + * dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h + statistics.h stmt.h. + * config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h flags.h hard-reg-set.h insn-config.h real.h + statistics.h stmt.h varasm.h. + * gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h. + * asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h + flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h. + * ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h + statistics.h stmt.h varasm.h. + * ipa-polymorphic-call.c: Likewise. + * config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h + expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h + statistics.h stmt.h. + * config/c6x/c6x.c: Likewise. + * config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h + explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h + statistics.h stmt.h varasm.h. + * ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h hashtab.h insn-config.h real.h rtl.h statistics.h + stmt.h varasm.h. + * ipa-split.c: Likewise. + * tree-eh.c: Likewise. + * tree-ssa-dce.c: Likewise. + * tree-ssa-loop-niter.c: Likewise. + * tree-vrp.c: Likewise. + * config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h + expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h + stmt.h. + * config/nds32/nds32-fp-as-gp.c: Likewise. + * config/nds32/nds32-intrinsic.c: Likewise. + * config/nds32/nds32-isr.c: Likewise. + * config/nds32/nds32-md-auxiliary.c: Likewise. + * config/nds32/nds32-memory-manipulation.c: Likewise. + * config/nds32/nds32-pipelines-auxiliary.c: Likewise. + * config/nds32/nds32-predicates.c: Likewise. + * config/nds32/nds32.c: Likewise. + * config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h hashtab.h real.h statistics.h. + * config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h hashtab.h real.h statistics.h stmt.h. + * config/arm/arm.c: Likewise. + * config/avr/avr.c: Likewise. + * config/bfin/bfin.c: Likewise. + * config/h8300/h8300.c: Likewise. + * config/i386/i386.c: Likewise. + * config/ia64/ia64.c: Likewise. + * config/iq2000/iq2000.c: Likewise. + * config/m32c/m32c.c: Likewise. + * config/m32r/m32r.c: Likewise. + * config/m68k/m68k.c: Likewise. + * config/mcore/mcore.c: Likewise. + * config/mep/mep.c: Likewise. + * config/mips/mips.c: Likewise. + * config/mn10300/mn10300.c: Likewise. + * config/moxie/moxie.c: Likewise. + * config/pa/pa.c: Likewise. + * config/rl78/rl78.c: Likewise. + * config/rx/rx.c: Likewise. + * config/s390/s390.c: Likewise. + * config/sh/sh.c: Likewise. + * config/sparc/sparc.c: Likewise. + * config/spu/spu.c: Likewise. + * config/stormy16/stormy16.c: Likewise. + * config/v850/v850.c: Likewise. + * config/vax/vax.c: Likewise. + * config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h. + * config/msp430/msp430.c: Likewise. + * predict.c: Likewise. + * value-prof.c: Likewise. + * config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h + expmed.h fixed-value.h hashtab.h statistics.h stmt.h. + * config/microblaze/microblaze.c: Likewise. + * config/nios2/nios2.c: Likewise. + * config/rs6000/rs6000.c: Likewise. + * tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h + insn-config.h real.h rtl.h statistics.h stmt.h. + * cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h + insn-config.h real.h statistics.h stmt.h. + * fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h. + * tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h. + * builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h real.h statistics.h stmt.h. + * config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h + fixed-value.h statistics.h stmt.h. + * config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h + stmt.h. + +2015-01-15 Jakub Jelinek + + * gengtype.c (create_user_defined_type): Workaround + -Wmaybe-uninitialized false positives. + * cse.c (fold_rtx): Likewise. + * loop-invariant.c (gain_for_invariant): Likewise. + +2015-01-15 Eric Botcazou + + * expr.c (expand_expr_real_1) : Use the expression to + set the memory attributes in all cases but clear MEM_EXPR if need be. + +2015-01-15 Yuri Rumyantsev + + PR tree-optimization/64434 + * cfgexpand.c (reorder_operands): New function. + (expand_gimple_basic_block): Insert call of reorder_operands if + optimized is true. + +2015-01-15 Matthew Fortune + + * config/mips/micromips.md (*swp): Remove explicit parallel. + (jraddiusp, *movep): Likewise. + * config/mips/mips-dsp.md (add3): Likewise. + (mips_add_s_, sub3): Likewise. + (mips_sub_s_, mips_addsc): Likewise. + (mips_addwc, mips_absq_s_): Likewise. + (mips_precrq_rs_ph_w, mips_precrqu_s_qb_ph): Likewise. + (mips_shll_, mips_shll_s_): Likewise. + (mips_muleu_s_ph_qbl, mips_muleu_s_ph_qbr): Likewise. + (mips_mulq_rs_ph, mips_muleq_s_w_phl, mips_muleq_s_w_phr): Likewise. + (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph): Likewise. + (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_s_w_phl): Likewise. + (mips_maq_s_w_phr, mips_maq_sa_w_phl, mips_maq_sa_w_phr): Likewise. + (mips_extr_w, mips_extr_r_w, mips_extr_rs_w): Likewise. + (mips_extr_s_h, mips_extp, mips_extpdp, mips_mthlip): Likewise. + (mips_wrdsp): Likewise. + * config/mips/mips-dspr2.md (mips_absq_s_qb): Remove explicit + parallel. + (mips_addu_ph, mips_addu_s_ph, mips_cmpgdu_eq_qb): Likewise. + (mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb, mulv2hi3): Likewise. + (mips_mul_s_ph, mips_mulq_rs_w, mips_mulq_s_ph): Likewise. + (mips_mulq_s_w, mips_subu_ph, mips_subu_s_ph): Likewise. + (mips_dpaqx_s_w_ph, mips_dpaqx_sa_w_ph): Likewise. + (mips_dpsqx_s_w_ph, mips_dpsqx_sa_w_ph): Likewise. + * config/mips/mips-fixed.md (usadd3): Remove explicit parallel. + (ssadd3, ussub3, sssub3, ssmul3): Likewise. + (ssmaddsqdq4, ssmsubsqdq4): Likewise. + +2015-01-14 Matthew Fortune + + * config/mips/mips.c (mips_rtx_costs): Set costs for LSA/DLSA. + (mips_print_operand): Support 'y' to print exact log2 in decimal + of a const_int. + * config/mips/mips.h (ISA_HAS_LSA): New define. + (ISA_HAS_DLSA): Likewise. + * config/mips/mips.md (lsa): New define_insn. + * config/mips/predicates.md (const_immlsa_operand): New predicate. + +2015-01-15 Martin Liska + + PR target/64377 + * optc-save-gen.awk: Add support for array types. + +2015-01-15 Richard Biener + + PR middle-end/64365 + * tree-data-ref.c (dr_analyze_indices): Make sure that accesses + for MEM_REF access functions with the same base can never partially + overlap. + +2015-01-14 Marcos Diaz + + * common.opt: New option -fstack-protector-explicit. + * cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum. + (stack_protect_decl_phase): Handle stack_protect attribute for + explicit stack protection requests. + (expand_used_vars): Similarly. + * doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro. + * doc/extend.texi: Add documentation for "stack_protect" attribute. + * doc/invoke.texi: Add documentation for -fstack-protector-explicit. + +2015-01-14 Oleg Endo + + PR target/53988 + * config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore + reg-reg copies. + (sh_extending_set_of_reg): New struct. + (sh_find_extending_set_of_reg, sh_split_tst_subregs, + sh_remove_reg_dead_or_unused_notes): New Declarations. + * config/sh/sh.c (sh_remove_reg_dead_or_unused_notes, + sh_find_extending_set_of_reg, sh_split_tst_subregs, + sh_extending_set_of_reg::use_as_extended_reg): New functions. + * config/sh/sh.md (*tst_t_zero): Rename to *tst_t_subregs, + convert to insn_and_split and use new function sh_split_tst_subregs. + +2015-01-14 Sandra Loosemore + + * doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker + option. + (Optimization Options): Move -fuse-ld documentation to... + (Link Options): ...here. + +2015-01-14 Matthew Fortune + + * config/mips/constraints.md (ZC): Add support for R6 LL/SC + offsets. + (ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT. + * config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to... + (ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro. + * config/mips/sync.md (sync_compare_and_swap): Use ZC + instead of ZR for the memory operand of LL/SC. + (compare_and_swap_12, sync_add): Likewise. + (sync__12, sync_old__12): Likewise. + (sync_new__12, sync_nand_12): Likewise. + (sync_old_nand_12, sync_new_nand_12): Likewise. + (sync_sub, sync_old_add): Likewise. + (sync_old_sub, sync_new_add): Likewise. + (sync_new_sub, sync_): Likewise. + (sync_old_, sync_new_"): Likewise. + (sync_nand, sync_old_nand): Likewise. + (sync_new_nand, sync_lock_test_and_set): Likewise. + (test_and_set_12, atomic_compare_and_swap): Likewise. + (atomic_exchange_llsc, atomic_fetch_add_llsc): Likewise. + * doc/md.texi (ZC): Update description. + +2015-01-14 Andrew MacLeod + + * builtins.c (expand_builtin_atomic_exchange): Remove error when + memory model is CONSUME. + (expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load, + expand_builtin_atomic_store): Change invalid memory model errors to + warnings. + (expand_builtin_atomic_clear): Change invalid model errors to warnings + and issue warning for CONSUME. + +2015-01-14 Aldy Hernandez + + * lto-cgraph: Update function comments for + lto_symtab_encoder_encode_*. + +2015-01-14 Ilya Verbin + + * Makefile.in (site.exp): Do not set ENABLE_LTO. + +2015-01-14 Ilya Verbin + + * cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries. + * lto-cgraph.c (select_what_to_stream): Remove argument, use + lto_stream_offload_p instead. + * lto-streamer.h (select_what_to_stream): Remove argument. + * passes.c (ipa_write_summaries): Likewise. + * tree-pass.h (ipa_write_summaries): Likewise. + +2015-01-14 Richard Biener + + PR tree-optimization/59354 + * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from + groups larger than the slp group size as having gaps. + +2015-01-14 Andrew MacLeod + + PR middle-end/59448 + * builtins.c (get_memmodel): Promote consume to acquire always. + +2015-01-14 Ilya Tocar + + PR target/64386 + * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode, + V32HImode. + +2015-01-14 Ilya Tocar + + PR target/64393 + * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET): + Enable AVX512BW. + (OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI. + * config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check + AVX512VBMI, as it implies AVX512BW. + +2015-01-14 Ilya Tocar + + PR target/64387 + * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate. + (vec_unpacks_hi_v16sf): Ditto. + +2015-01-14 Kyrylo Tkachov + + * config/aarch64/arm_neon.h: Error out if AdvancedSIMD + is not available. + +2015-01-14 Kyrylo Tkachov + + * doc/invoke.texi (mapcs): Mention deprecation. + (mapcs-frame): Likewise. + +2015-01-14 Thomas Preud'homme + + PR target/64453 + * config/arm/arm.c (callee_saved_reg_p): Define. + (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if + register is callee saved instead of !call_used_regs[reg]. + (thumb1_compute_save_reg_mask): Likewise. + +2015-01-14 Hale Wang + + * config/arm/arm.c: Tune the max_cond_insns/branch_cost for + Cortex-M7. + +2015-01-14 Richard Biener + + PR lto/64415 + * tree-inline.c (insert_debug_decl_map): Check destination + function MAY_HAVE_DEBUG_STMTS. + (insert_init_debug_bind): Likewise. + (insert_init_stmt): Remove redundant check. + (remap_gimple_stmt): Drop debug stmts if the destination + function has var-tracking assignments disabled. + +2015-01-14 Martin Liska + + * ipa-icf-gimple.c (func_checker::compare_operand): Add support for + IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison. + +2015-01-14 Kyrylo Tkachov + + PR target/64460 + * config/arm/arm.md (*_multsi): Set 'shift' to 2. + (*_shiftsi): Set 'shift' attr to 3. + +2015-01-14 Matthew Fortune + + * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA + level from an ARCH; do not inject the default. + (MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from + MIPS_ISA_LEVEL_SPEC. + (MIPS_ISA_NAN2008_SPEC): Update comment. + (BASE_DRIVER_SELF_SPECS): Likewise. + * config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add + MIPS_DEFAULT_ISA_LEVEL_SPEC. + * config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise. + * config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise. + * config/mips/sde.h (DRIVER_SELF_SPECS): Likewise. + +2015-01-14 Richard Biener + + PR tree-optimization/64493 + PR tree-optimization/64495 + * tree-vect-loop.c (vect_finalize_reduction): For double-reductions + assign the proper vectorized PHI to the inner loop exit PHIs. + +2015-01-14 Joey Ye + + * config/arm/arm.c (arm_compute_save_reg_mask): + Do not save lr in case of tail call. + * config/arm/thumb2.md (*thumb2_pop_single): New pattern. + +2015-01-14 Martin Uecker + + * tree-vrp.c (check_array_ref): Emit more warnings + for warn_array_bounds >= 2. + * common.opt: New option -Warray-bounds=. + * doc/invoke.texi: Document -Warray-bounds=. + +2015-01-14 Chung-Ju Wu + + * config/nds32/nds32.opt (mforce-fp-as-gp): Remove. + (mforbid-fp-as-gp): Remove. + (mex9): Remove. + * config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove. + (nds32_symbol_load_store_p): Remove. + (nds32_fp_as_gp_check_available): Clean up implementation. + * config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9 + cases. + * config/nds32/nds32.c (nds32_asm_file_start): No need to consider + fp-as-gp and ex9 cases. + +2015-01-13 Jan Hubicka + + * tree-profile.c (init_ic_make_global_vars): Drop workaround + for bintuils bug 14342. + (init_ic_make_global_vars): Likewise. + (gimple_init_edge_profiler): Likewise. + (gimple_gen_ic_func_profiler): Likewise. + +2015-01-13 Naveen H.S + + * ipa-inline.c (inline_small_functions): Swap the operands in + enum. + +2015-01-13 Jan Hubicka + + PR ipa/64481 + * ipa-inline-analysis.c (node_growth_cache): Remove. + (initialize_growth_caches): Do not initialize it. + (free_growth_caches): Do not free it. + (do_estimate_growth): Rename to ... + (estimate_growth): ... this one; drop growth cache code. + (growth_likely_positive): Always go the heuristics way. + * ipa-inline.c (can_inline_edge_p): Walk through aliases. + (reset_edge_caches): Do not reset node growth. + (heap_edge_removal_hook): Do not maintain cache. + (inline_small_functions): Likewise; strenghten sanity check. + (ipa_inline): Do not maintain caches. + * ipa-inline.h (node_growth_cache): Remove. + (do_estimate_growth): Remove to ... + (estimate_growth): this one; remove inline version. + (reset_node_growth_cache): Remove. + +2015-01-13 Jan Hubicka + + PR ipa/64565 + * ipa-inline.c (inline_small_functions): Update callee keys after + resolving speculation + (inline_small_functions): Always check monotonicity of the queue. + +2015-01-13 Marek Polacek + + PR middle-end/64391 + * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE. + +2015-01-13 Jakub Jelinek + + PR rtl-optimization/64286 + * ree.c (combine_reaching_defs): Move part of comment earlier, + remove !SCALAR_INT_MODE_P check. + (add_removable_extension): Don't add vector mode + extensions if all uses of the source register aren't the same + vector extensions. + +2015-01-13 Renlin Li + + * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2. + (CTZ_DEFINED_VALUE_AT_ZERO): Ditto. + +2015-01-13 Martin Liska + + * ipa-icf.c (sem_function::equals_private): Call new functions + cl_target_option_print_diff and cl_optimization_print_diff. + * optc-save-gen.awk (cl_target_option_print_diff): New function. + (cl_optimization_print_diff): Likewise. + * opth-gen.awk: Likewise. + +2015-01-13 Richard Sandiford + + * config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3) + (*sub__, *sub__si_uxtw) + (*sub__shft_) + (*sub__shft_si_uxtw, *sub__multp2) + (*sub_si_multp2_uxtw, *sub_uxt_multp2) + (*sub_uxtsi_multp2_uxtw): Add stack pointer sources. + +2015-01-13 Andrew Pinski + + * config/aarch64/aarch64.c (fusion_load_store): Check dest mode + instead of src mode. + +2015-01-13 Richard Biener + + PR lto/64373 + * lto-streamer-out.c (tree_is_indexable): Guard for NULL + DECL_CONTEXT. + +2015-01-13 Andrew Pinski + + * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject + volatile mems. + (aarch64_operands_adjust_ok_for_ldpstp): Likewise. + +2015-01-13 Jakub Jelinek + + PR middle-end/63974 + * cfgexpand.c (expand_computed_goto): Don't call + convert_memory_address here. + +2015-01-13 Richard Biener + + PR tree-optimization/64406 + * tree-loop-distibution.c (pass_loop_distribution::execute): + Reset the SCEV hashtable if we distributed anything. + +2015-01-13 Richard Biener + + PR tree-optimization/64404 + * tree-vect-stmts.c (vectorizable_load): Reject conflicting + SLP types for CSEd loads. + +2015-01-13 Thomas Preud'homme + + PR tree-optimization/64436 + * tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the + merge of two symbolic numbers for a bitwise OR to ... + (perform_symbolic_merge): This. Also fix computation of the range and + end of the symbolic number corresponding to the result of a bitwise OR. + +2015-01-13 Richard Biener + + PR tree-optimization/64568 + * tree-ssa-forwprop.c (pass_forwprop::execute): Properly + release defs of removed stmts, avoid splitting TARGET_MEM_REFs. + +2015-01-13 Chung-Ju Wu + + * config/nds32/nds32.c (nds32_legitimate_address_p): Consider + TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases. + +2015-01-13 Chung-Ju Wu + + * config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own + target-specific symbol_ref flag. + (NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref + resides in rodata section. + * config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define. + (nds32_encode_section_info): New function. + +2015-01-13 Chung-Ju Wu + + * config/nds32/nds32.md (call): Use pseudo instruction bal which + clobbers TA_REGNUM if large code model is specified. + (call_register): Likewise. + (call_immediate): Likewise. + (call_value): Likewise. + (call_value_register): Likewise. + (call_value_immediate): Likewise. + +2015-01-13 Chung-Ju Wu + + * config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro. + (TARGET_CMODEL_MEDIUM): New macro. + (TARGET_CMODEL_LARGE): New macro. + * config/nds32/nds32.c (nds32_asm_file_start): Display corresponding + code model setting in assembly code. + +2015-01-13 Chung-Ju Wu + + * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS): + Remove MASK_GP_DIRECT flag. + * config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as + one of the multilib default options. + * config/nds32/nds32.opt (mgp-direct): Remove. + * config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of + -mgp-direct. We also remove unnecessary -mlittle-endian/-mbig-endian. + +2015-01-13 Chung-Ju Wu + + * config/nds32/nds32.opt (mcmodel): Add new option. + * config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type + to describe code model. + +2015-01-13 Oleg Endo + + PR target/64479 + * rtlanal.c (set_reg_p): Handle SEQUENCE constructs. + +2015-01-12 Kaz Kojima + + * config/sh/sh.c (sh_atomic_assign_expand_fenv): New function. + (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define. + (sh_builtin_get_fpscr, sh_builtin_set_fpscr): New variables. + (sh_init_builtins): Record decls for __builtin_sh_get_fpscr and + __builtin_sh_set_fpscr. + +2015-01-12 Sandra Loosemore + + * doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses + after a funtion name just to indicate it is a function. + ([-fsanitize-undefined-trap-on-error]): Likewise. + ([-fdbg-cnt=]): Likewise. + ([-mmemcpy]): Likewise. + ([-mflush-func]): Likewise. + ([-msynci]): Likewise. + +2015-01-12 Sandra Loosemore + + * doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing + example. + +2015-01-12 Jakub Jelinek + + PR tree-optimization/64563 + * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE + instead of != VR_VARYING. + + PR target/64513 + * config/i386/i386.c (ix86_expand_prologue): Add + REG_FRAME_RELATED_EXPR to %rax and %r10 pushes. + + PR tree-optimization/64454 + * tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize + op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1] + for signed or [0, op1 - 1] for unsigned modulo. + (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges + even if op1 does not satisfy integer_pow2p. + + PR other/64370 + * sreal.c (sreal::to_double): Use ldexp instead of scalbnl. + +2015-01-12 Jeff Law + + PR target/64461 + * config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE. + (trunchiqi2, truncsihi2): Similarly. + + * config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly + rather than calling F. + +2015-01-12 Bernd Edlinger + + * tsan.c (instrument_expr): Use force_gimple_operand. + Use may_be_nonaddressable_p instead of is_gimple_addressable. + +2015-01-12 Richard Biener + + PR tree-optimization/64530 + * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle + back dr1. + +2015-01-12 Richard Biener + + PR middle-end/64357 + * tree-cfg.c (gimple_can_merge_blocks_p): Protect simple + latches properly. + +2015-01-12 Kyrylo Tkachov + + * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match + Cortex-A17 tuning parameters. + * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17. + +2015-01-12 Kyrylo Tkachov + + * config/arm/arm-protos.h (tune_params): Add fuseable_ops field. + * config/arm/arm.c (arm_macro_fusion_p): New function. + (arm_macro_fusion_pair_p): Likewise. + (TARGET_SCHED_MACRO_FUSION_P): Define. + (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise. + (ARM_FUSE_NOTHING): Likewise. + (ARM_FUSE_MOVW_MOVT): Likewise. + (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune, + arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune, + arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune, + arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune, + arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune + arm_cortex_a5_tune): Specify fuseable_ops value. + +2015-01-12 H.J. Lu + + PR bootstrap/64561 + * configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker + test for PIE with copy reloc. + * configure: Regenerated. + +2015-01-12 Kyrylo Tkachov + + * config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0 + in gen_rtx_REG. + (arm_tls_descseq_addr): Likewise. + (arm_gen_movmemqi): Likewise. + (arm_expand_epilogue_apcs_frame): Likewise. + (arm_expand_epilogue): Likewise. + (arm_expand_prologue): Likewise. Use R1_REGNUM instead of constant 1 + in gen_rtx_REG. + +2015-01-12 Martin Liska + + PR ipa/64550 + * ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare + volatility for correct operands. + +2015-01-12 Martin Liska + + * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as + indication that a function is not leaf. + (sem_function::compare_polymorphic_p): Likewise. + +2015-01-12 Prathamesh Kulkarni + + * config/visium/visium.c: Add includes hashtab.h, hash-set.h, + machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h, + fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h, + fold-const.h, tree-check.h. + +2015-01-12 Jan Hubicka + + PR ipa/63967 + PR ipa/64425 + * ipa-inline.c (compute_uninlined_call_time, + compute_inlined_call_time): Use counts for extra precision when + needed possible. + (big_speedup_p): Fix formating. + (RELATIVE_TIME_BENEFIT_RANGE): Remove. + (relative_time_benefit): Remove. + (edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint; + merge guessed and read profile paths. + (inline_small_functions): Count only !optimize_size functions into + initial size; be more lax about sanity check when profile is used; + be sure to update inlined function profile when profile is read. + +2015-01-12 Jan Hubicka + + PR ipa/63470 + * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust + cost when edge becomes direct. + * ipa-prop.c (make_edge_direct): Do not adjust when speculation + is resolved or when introducing new speculation. + +2015-01-12 Chen Gang + + PR ipa/64551 + PR ipa/64552 + * ipa-icf.c (sem_function::equals_private): Use '&&' instead of + '||' to fix typo issue. + + * tree.h (target_opts_for_fn): Check NULL_TREE since it can + accept and return NULL. + +2015-01-12 Martin Liska + + * cgraph.c (cgraph_edge::remove_callee): Move function to header + file for being inlined. + (cgraph_set_edge_callee): Delete. + (cgraph_edge::redirect_callee): Move function to header file + for being inlined. + (cgraph_edge::make_direct): Use new function. + (cgraph_edge::dump_edge_flags): New function created from + static dump_edge_flags function. + (cgraph_node::dump): Use new function. + (cgraph_edge::verify_count_and_frequency): New function created + from verify_edge_count_and_frequency. + (cgraph_edge::verify_corresponds_to_fndecl): New function created + from verify_edge_corresponds_to_fndecl. + (verify_edge_corresponds_to_fndecl): Delete. + (cgraph_node::verify_node): Use new function. + * cgraph.h (cgraph_edge::set_callee): New function. + (cgraph_edge::dump_edge_flags): Likewise. + (cgraph_edge::verify_corresponds_to_fndecl): Likewise. + +2015-01-11 Jan Hubicka + + * ipa-utils.c (estimate_function_body_sizes): Do not + free node params when called late with early=true. + +2015-01-11 James Greenhalgh + + * doc/md.texi (Instruction Patterns): Rewrite text for + clarity. + (Example): Likewise. + +2015-01-10 Sandra Loosemore + + * doc/invoke.texi (Option Summary): Break long lines. + [(-fdiagnostics-color)]: Put long literal in @smallexample + instead of inline. + [(-fsanitize-recover)]: Likewise. + [(-fdump-rtl-split*)]: Rewrite to fix over-full hbox. + [(-ffast-math)]: Likewise. + [(--param max-inline-insns-recursive)]: Likewise. + [(--param max-inline-recursive-depth)]: Likewise. + [(-mno-text-section-literals)]: Likewise. + +2015-01-10 Thomas Schwinge + + * doc/install.texi: Update for libgomp being renamed from "GNU + OpenMP Runtime Library" to "GNU Offloading and Multi Processing + Runtime Library". + * doc/sourcebuild.texi: Likewise. + +2015-01-10 Anthony Green + + * config/moxie/moxie.c (moxie_option_override): Fix forcing of + mul.x availability for moxiebox configuration. + +2015-01-09 Anthony Green + + * config/moxie/moxie.md: Tabify assembly output. + +2015-01-09 Anthony Green + + * config/moxie/moxie.md (CC_REG): Correct register definition. + +2015-01-09 Sandra Loosemore + + * doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup. + ([-fvtv-debug], [-fvtv-counts]): Likewise. Correct location + of log files. + +2015-01-09 Andreas Tobler + + * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon. + +2015-01-09 Bernd Schmidt + Jakub Jelinek + + PR middle-end/64412 + * lto-streamer.h (lto_stream_offload_p): New declaration. + * lto-streamer.c (lto_stream_offload_p): New variable. + * cgraphunit.c (ipa_passes): Set lto_stream_offload_p + at the same time as section_name_prefix. + * lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION + if lto_stream_offload_p. + * tree-streamer-out.c (streamer_pack_tree_bitfields): Don't + stream TREE_TARGET_OPTION if lto_stream_offload_p. + (write_ts_function_decl_tree_pointers): Don't + stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p. + * tree-streamer-in.c (unpack_value_fields): Don't stream + TREE_TARGET_OPTION in if ACCEL_COMPILER. + (lto_input_ts_function_decl_tree_pointers): Don't stream + DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER. + * lto-opts.c (lto_write_options): Use lto_stream_offload_p + instead of section_name_prefix string comparisons. + +2015-01-09 Jakub Jelinek + + PR rtl-optimization/64536 + * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate + tablejumps. + +2015-01-09 Michael Collison + + PR tree-optimization/64322 + * tree-vrp.c (extract_range_from_binary_expr_1): Attempt to derive + range for RSHIFT_EXPR even if vr0 range is not VR_RANGE or is symbolic. + +2015-01-09 Tom de Vries + + PR rtl-optimization/64539 + * regcprop.c (kill_clobbered_values): Factor out of ... + (copyprop_hardreg_forward_1): ... here. Use kill_clobbered_values + instead of note_stores with kill_clobbered_value. + +2015-01-09 Andreas Tobler + + * ginclude/unwind-arm-common.h: Revert previous commit. + +2015-01-09 Andreas Tobler + + * config.gcc (arm*-*-freebsd*): New configuration. + * config/arm/freebsd.h: New file. + * config.host: Add extra components for arm*-*-freebsd*. + * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE. + * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE. + +2015-01-09 Sebastian Huber + + * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__ + for -mcpu=e6500. + * config/rs6000/t-rtems: Add e6500 multilibs. + +2015-01-09 Sebastian Huber + + * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for + MPC8540. + +2015-01-09 Sebastian Huber + + * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of + MULTILIB_EXCEPTIONS. + +2015-01-09 Sebastian Huber + + * config/arm/t-rtems: Use MULTILIB_REQUIRED instead of + MULTILIB_EXCEPTIONS. + +2015-01-09 Sebastian Huber + + * config/arm/t-rtems-eabi: Rename to... + * config/arm/t-rtems: ...this. + * config/arm/rtems-eabi.h: Rename to... + * config/arm/rtems.h: ...this. + * config.gcc (arm*-*-rtems*): Reflect changes above. + +2015-01-09 Richard Biener + + PR tree-optimization/64410 + * tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR + on the LHS. + (execute_update_addresses_taken): Deal with that. + * tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise + loads/stores for complex variables. + +2015-01-09 Martin Liska + + * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA + name comparison. + (func_checker::compare_memory_operand): New function. + (func_checker::compare_operand): Split case to newly + added functions. + (func_checker::compare_cst_or_decl): New function. + (func_checker::compare_gimple_call): Identify + memory operands. + (func_checker::compare_gimple_assign): Likewise. + * ipa-icf-gimple.h: New function. + +2015-01-09 Martin Liska + + PR ipa/64503 + * sreal.c (sreal::dump): Change unsigned format to signed for + m_exp value. + (sreal::to_double): Replace exp2 with scalbln. + +2015-01-09 Martin Liska + + * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation. + * ipa-icf.c (sem_function::equals_private): Add support for target and + (sem_item_optimizer::merge_classes): Remove redundant function + optimization flags comparison. + * tree.h (target_opts_for_fn): New function. + +2015-01-09 Tom de Vries + + * omp-low.c (expand_omp_for_static_chunk): Fix assert. + +2015-01-09 Kito Cheng + + PR rtl-optimization/64348 + * lra-constraints.c (split_reg): Fix caller-save store/restore + instruction generation. + +2015-01-08 John David Anglin + + PR gcov-profile/61790 + * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has + long long. Fallback to int64_t if host doesn't have long long and + use strtol if int64_t is long. Otherwise, use sscanf for conversion. + +2015-01-08 Jakub Jelinek + + PR tree-optimization/63989 + * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default + from 1000 to 10000. + * tree-ssa-strlen.c (get_strinfo): Moved earlier. + (get_stridx): If we don't have a record for certain SSA_NAME, + but it is POINTER_PLUS_EXPR of some SSA_NAME we do with + constant offset, call get_stridx_plus_constant. + (get_stridx_plus_constant): New function. + (zero_length_string): Don't use get_stridx here. + + PR target/55023 + PR middle-end/64388 + * dse.c (struct insn_info): Mention frame_read set also + before reload for tail calls on some targets. + (scan_insn): Revert 2014-12-22 change. Set frame_read + also before reload for tail calls if + HARD_FRAME_POINTER_IS_ARG_POINTER. Call add_wild_read + instead of add_non_frame_wild_read for non-const/memset + tail calls after reload. + +2015-01-08 Jason Merrill + + * ubsan.c (do_ubsan_in_current_function): New. + (pass_ubsan::gate): Use it. + * ubsan.h: Declare it. + * convert.c (convert_to_integer): Use it. + +2015-01-08 Jakub Jelinek + + PR target/64338 + * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse + compare_code when it is unconditionally overwritten afterwards. + Use ix86_reverse_condition instead of reverse_condition. Don't + change code if *reverse_condition* returned UNKNOWN and don't + swap ct/cf and negate diff in that case. + +2015-01-08 Mike Stump + + * tsan.c (pass_tsan::gate): Add no_sanitize_thread support. + (pass_tsan_O0::gate): Likewise. + * extend.texi (Function Attributes): Add no_sanitize_thread + documentation. + +2015-01-08 Thomas Schwinge + + * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi + for registering builtins. + * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't + add -fopenmp to the argv_obstack used when invoking + compile_for_target. + + * config/i386/intelmic-mkoffload.c (compile_for_target): Always + add "-m32" or "-m64" to argv_obstack. + (generate_host_descr_file): Likewise, when invoking host_compiler. + (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking + ld. + +2015-01-08 Oleg Endo + + * config/sh/sh-mem.cc: Use constant as second operand when emitting + tstsi_t insns. + +2015-01-08 Oleg Endo + + PR target/55212 + * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of + constant load if constant operand fits into I08. + +2015-01-08 Jakub Jelinek + + PR sanitizer/64336 + * tree.c (build2_stat): Fix up initialization of TREE_READONLY + and TREE_THIS_VOLATILE for MEM_REFs. + (build5_stat): Fix up initialization of TREE_READONLY and + TREE_THIS_VOLATILE for TARGET_MEM_REFs. + +2015-01-08 Kaz Kojima + + PR target/64533 + * config/sh/sh.md (*addsi3_compact): Use u constraint instead + of r for the second alternative of the destination operand. + +2015-01-07 Segher Boessenkool + + PR target/36557 + * config/rs6000/rs6000.md (*eqsi3_ext, *nesi3_ext): New. + +2015-01-07 Sandra Loosemore + + * doc/invoke.texi ([-fvtable-verify]): Fix markup on option + keywords. + ([-fivar-visibility], [-fvisibility]): Likewise. + +2015-01-07 Sandra Loosemore + + * doc/invoke.texi: Fix incorrect uses of @samp markup throughout + the file where @code, @command, etc is more appropriate. + +2015-01-06 Sandra Loosemore + + * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting + of -mrecip= documentation. + +2015-01-06 Michael Meissner + + PR target/64505 + * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the + correct reload handler if -m32 -mpowerpc64 is used. + +2015-01-06 Tom de Vries + + * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment. + +2015-01-08 Christian Bruel + + PR target/64507 + * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length. + +2015-01-06 Thomas Preud'homme + + PR tree-optimization/63259 + * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking + if optab exists for 16bit byteswap. + +2015-01-06 Jakub Jelinek + + * opts.c (common_handle_option): Add support for + -fno-sanitize=all and -f{,no-}sanitize-recover=all. + * doc/invoke.texi: Document -fno-sanitize=all, + -f{,no-}sanitize-recover=all. Document that + -fsanitize=float-cast-overflow is not enabled + by -fsanitize=undefined. Fix up documentation + of -f{,no-}sanitize-recover. + +2015-01-06 Eric Botcazou + + * config.gcc: Add Visium support. + * configure.ac: Likewise. + * configure: Regenerate. + * doc/extend.texi (interrupt attribute): Add Visium. + * doc/invoke.texi: Document Visium options. + * doc/install.texi: Document Visium target. + * doc/md.texi: Document Visium constraints. + * common/config/visium: New directory. + * config/visium: Likewise. + +2015-01-05 Segher Boessenkool + + * simplify-rtx.c (simplify_binary_operation_1): Handle more cases + for the "(and X (ior (not X) Y) -> (and X Y)" transform. + +2015-01-05 Segher Boessenkool + + * combine.c (combine_validate_cost): Do not count the cost of a + split I2 twice. Do not display it twice in the dump, either. + +2015-01-05 Sandra Loosemore + + Revert parts of r219199. + * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on + . + ([-Wtraditional]): Restore markup on . + +2015-01-05 Trevor Saunders + + PR c++/31397 + * doc/invoke.texi: Document -Wsuggest-override. + +2015-01-05 Radovan Obradovic + + PR rtl-optimization/64287 + * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default. + (process_options): Disable flag_ipa_ra if profiling. + +2015-01-05 Eric Botcazou + + * config/nds32/nds32-peephole2.md: Do not mention define_peephole. + +2015-01-05 Max Filippov + + * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail, + hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops): + put under #if TARGET_LOOPS guard. + +2015-01-05 Uros Bizjak + + * config/i386/i386.c (output_387_binary_op): Use std::swap. + +2015-01-05 Oleg Endo + + * rtlanal.c (refers_to_regno_p): Change return value from int to bool. + * rtl.h (refers_to_regno_p): Add overload. + * cse.c: Use it. + * bt-load.c: Likewise. + * combine.c: Likewise. + * df-scan.c: Likewise. + * sched-deps.c: Likewise. + * config/s390/s390.c: Likewise. + * config/m32r/m32r.c: Likewise. + * config/rs6000/spe.md: Likewise. + * config/rs6000/rs6000.c: Likewise. + * config/pa/pa.c: Likewise. + * config/stormy16/stormy16.c: Likewise. + * config/cris/cris.c: Likewise. + * config/arc/arc.md: Likewise. + * config/arc/arc.c: Likewise. + * config/sh/sh.md: Likewise. + * config/sh/sh.c: Likewise. + * config/frv/frv.c: Likewise. + +2015-01-05 Jakub Jelinek + + PR sanitizer/64265 + * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal + call as cleanup of the whole body. + * internal-fn.def (TSAN_FUNC_EXIT): New internal call. + * tsan.c (replace_func_exit): New function. + (instrument_func_exit): Moved earlier. + (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls. + Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have + been found. + (tsan_pass): Don't call instrument_func_exit. + * internal-fn.c (expand_TSAN_FUNC_EXIT): New function. + * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during + inlining. + + PR sanitizer/64344 + * ubsan.h (ubsan_instrument_float_cast): Add ARG argument. + * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass + it to libubsan handler instead of EXPR. Fold comparisons earlier, + if the result is integer_zerop, return NULL_TREE. + * convert.c (convert_to_integer): Pass expr as ARG. + + PR tree-optimization/64465 + * tree-inline.c (redirect_all_calls): During inlining + clean up EH stmts and EH edges if redirect_call_stmt_to_callee + changed the stmt to a non-throwing call. + +2015-01-05 Sandra Loosemore + + * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp, + etc markup throughout the file. + +2015-01-05 Bernd Edlinger + + Enable experimental TSAN support for Ada. + * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR. + +2015-01-05 Jakub Jelinek + + PR tree-optimization/64494 + * tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also + clear SSA_NAME_ANTI_RANGE_P flag. + +2015-01-05 Marek Polacek + + * doc/extend.texi (Arrays of Length Zero): Add missing comma. + +2015-01-05 Jakub Jelinek + + Update copyright years. + + * gcc.c (process_command): Update copyright notice dates. + * gcov-dump.c: Ditto. + * gcov.c: Ditto. + * doc/cpp.texi: Bump @copying's copyright year. + * doc/cppinternals.texi: Ditto. + * doc/gcc.texi: Ditto. + * doc/gccint.texi: Ditto. + * doc/gcov.texi: Ditto. + * doc/install.texi: Ditto. + * doc/invoke.texi: Ditto. + + * auto-profile.c, auto-profile.h: Fix up Copyright line. + +2015-01-04 Sandra Loosemore + + * doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix + verb tense, etc. + ([-fvtable-verify], [-fvtv-debug]): Likewise. + ([-Wabi]): Likewise. + ([-fmessage-length]): Likewise. + ([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise. + ([-Wno-discarded-qualifiers]): Likewise. + ([-Wnodiscarded-array-qualifiers]): Likewise. + ([-Wno-virtual-move-assign]): Likewise. + ([-fsanitize=address], [-fsanitize=thread]): Likewise. + ([-fsanitize=leak], [-fsanitize=undefined]): Likewise. + ([-fsanitize=unreachable], [-fsanitize-recover]): Likewise. + ([-fsanitize-undefined-trap-on-error]): Likewise. + ([-floop-interchange]): Likewise. + ([-ftree-coalesce-inlined-vars]): Likewise. + ([-fvect-cost-model]): Likewise. + ([-flto]): Likewise. + ([--param]): Likewise. + (Spec Files): Likewise. + ([-mstrict-align]): Likewise. + ([-mfix-cortex-a53-835769]): Likewise. + ([-march], [-mtune]): Likewise. + ([-mpic-register]): Likewise. + ([-munaligned-access]): Likewise. + ([-msp8]): Likewise. + (EIND and Devices with more than 128 Ki Bytes of Flash): Likewise. + (AVR Built-in Macros): Likewise. + ([-mpreferred-stack-boundary]): Likewise. + ([-mtune-crtl]): Likewise. + ([-mashf]): Likewise. + ([-mmcu=]): Likewise. + ([-minrt]): Likewise. + ([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise. + ([-mupper-regs]): Likewise. + ([-matomic-model]): Likewise. + ([-mdiv]): Likewise. + ([-mzdcbranch]): Likewise. + ([-mdisable-callt]): Likewise. + ([-msoft-float]): Likewise. + ([-m8byte-align]): Likewise. + ([-fstack-reuse]): Likewise. + +2015-01-03 Sandra Loosemore + + * doc/invoke.texi ([-fprofile-generate], [-fprofile-use]): + Fix markup, light copy-editing. + ([-fauto-profile]): Rewrite to fix formatting and content + problems. + +2015-01-03 Sandra Loosemore + + * doc/invoke.texi ([-fisolate-erroneous-paths-dereference]): + Copy-edit description. + ([-fisolate-erroneous-paths-attribute]): Likewise. + * common.opt (fisolate-erroneous-paths-dereference): + Copy-edit description. + (fisolate-erroneous-paths-attribute): Likewise. + +2015-01-03 Sandra Loosemore + + * doc/invoke.texi ([-fsemantic-interposition]): Fix typos and + tidy grammar. + +2015-01-03 Sandra Loosemore + + * doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex. + ([-fvtv-debug]): Likewise. + ([-Wc++-compat]): Likewise. + ([-Wc++11-compat]): Likewise. + ([-Wc++14-compat]): Likewise. + ([-Wno-sized-deallocation]): Likewise. + ([-femit-class-debug-always]): Likewise. + ([-femit-struct-debug-detailed]): Likewise. + ([-fno-keep-inline-dllexport]): Likewise. + ([-fira-algorithm]): Likewise. + ([-fira-region]): Likewise. + ([-flra-remat]): Likewise. + ([-fipa-ra]): Likewise. + ([-fhoist-adjacent-loads]): Likewise. + ([-fisolate-erroneous-paths-dereference]): Likewise. + ([-fisolate-erroneous-paths-attribute]): Likewise. + ([-ftree-switch-conversion]): Likewise. + ([-ftree-tail-merge]): Likewise. + ([-ftree-loop-if-convert]): Likewise. + ([-ftree-loop-if-convert-stores]): Likewise. + ([-ftree-loop-distribution]): Likewise. + ([-ftree-loop-distribute-patterns]): Likewise. + ([-flto-compression-level]): Likewise. + ([-flto-report]): Likewise. + ([-flto-report-wpa]): Likewise. + ([-fuse-linker-plugin]): Likewise. + ([-mfix-cortex-a53-835769]): Likewise. + ([-mno-fix-cortex-a53-835769]): Likewise. + ([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the + explicit listing; add a note to the discussion indicating they + exist. Reorder table to group similar options. Add missing + @opindex entries. Add @need commands throughout the table to + allow it to be split across multiple pages. + ([-m8bit-idiv]): Fix @opindex. + ([-mavx256-split-unaligned-load]): Likewise. + ([-mavx256-split-unaligned-store]): Likewise. + ([-mstack-protector-guard]): Likewise. + ([-mcpu=]): Likewise. + ([-mcpu]): Likewise. + ([-mpointer-size=]): Likewise. + +2015-01-03 John David Anglin + + * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint + instead of `m' constraint. Likewise for unnamed movb comparison + patterns using reg_before_reload_operand predicate. + * config/pa/predicates.md (reg_before_reload_operand): Tighten + predicate to reject register index and LO_SUM DLT memory forms + after reload. + +2015-01-02 Sandra Loosemore + + * doc/invoke.texi (Option Summary): Fix spelling of + -fdevirtualize-at-ltrans. + ([-fdevirtualize]): Fix markup. + ([-fdevirtualize-speculatively]): Fix typo. + ([-fdevirtualize-at-ltrans]): Likewise. Make description less + implementor-speaky. + * common.opt (fdevirtualize-at-ltrans): Likewise. + * ipa-devirt.c: Fix typos in comments throughout the file. + (ipa_devirt): Fix typos in format strings for dump output. + +2015-01-02 Sandra Loosemore + + * doc/invoke.texi ([-fopt-info]): Fix markup, consolidate + discussion of defaults, light copy-editing. + +2015-01-02 Bernd Edlinger + + * tsan.c (instrument_expr): corrected previous checkin. + +2015-01-02 Bernd Edlinger + + Instrument bit field and unaligned accesses for TSAN. + * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function. + (BUILT_IN_TSAN_WRITE_RANGE): New built-in function. + * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF. + Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for + unaligned memory regions. + +2015-01-01 Anthony Green + + * config/moxie/predicates.md (moxie_general_movsrc_operand): + Restrict move source register offsets to 16 bits. + +Copyright (C) 2015 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ba9221cf4c9..941f9818b57 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,20501 +1,5 @@ -2015-12-30 Jerry DeLisle - - PR fortran/68987 - * gfortran.dg/error_format_2.f90: New test. - -2015-12-30 John David Anglin - - * gfortran.dg/coarray_40.f90: Revise to use dg-additional-options. - * gfortran.dg/coarray_lib_comm_1.f90: Likewise. - -2015-12-29 Andre Vehreschild - - PR fortran/69011 - * gfortran.dg/allocate_with_source_16.f90: New test. - -2015-12-28 Uros Bizjak - - * gcc.target/i386/*.c: Remove extra braces from target selectors. - -2015-12-28 Uros Bizjak - - * gcc.target/i386/pr68473-1.c: Add dg-do compile directive. - -2015-12-28 John David Anglin - - * gfortran.dg/coarray_40.f90: Link with libatomic if available. - - * gcc.dg/pr49551.c: Skip on hppa*-*-hpux*. - - * gcc.dg/torture/pr67609.c: Add -fno-common option on hppa*-*-hpux*. - -2015-12-28 Bill Schmidt - - * gcc.target/powerpc/p9-lxvx-stxvx-1.c: New. - * gcc.target/powerpc/p9-lxvx-stxvx-2.c: New. - -2015-12-24 Kirill Yukhin - - * g++.dg/other/i386-2.C: Add -mpku. - * g++.dg/other/i386-3.C: Ditto. - * gcc.target/i386/rdpku-1.c: New test. - * gcc.target/i386/sse-12.c: Add -mpku. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-22.c: Ditto. - * gcc.target/i386/sse-33.c: Ditto. - * gcc.target/i386/wrpku-1.c: New test. - -2015-12-23 Martin Sebor - - PR c++/69023 - * g++.dg/lookup/name-clash11.C: New test. - -2015-12-23 Nathan Sidwell - - * gcc.dg/alias-15.c: Revert. - -2015-12-23 James Greenhalgh - - PR testsuite/68232 - * gcc.dg/ifcvt-4.c: Skip for arm*-*-* and powerpc64le*-*-*. - -2015-12-23 Nathan Sidwell - - * gcc.dg/alias-15.c: New. - -2015-12-23 Thomas Schwinge - - * g++.dg/dg.exp (tests): Prune "goacc/*" and "goacc-gomp/*" files. - -2015-12-23 David Sherwood - - * gcc.target/arm/fmaxmin.x: New file used by tests below. - * gcc.target/arm/fmaxmin.c: New test. - * gcc.target/arm/vect-fmaxmin.c: Likewise. - -2015-12-23 H.J. Lu - - PR target/66232 - * gcc.target/i386/pr66232-10.c: New test. - * gcc.target/i386/pr66232-11.c: Likewise. - * gcc.target/i386/pr66232-12.c: Likewise. - * gcc.target/i386/pr66232-13.c: Likewise. - -2015-12-22 David Malcolm - - PR c/68473 - * gcc.dg/plugin/diagnostic-test-expressions-1.c (fminl): New decl. - (TEST_EQ): New macro. - (test_macro): New function. - * gcc.target/i386/pr68473-1.c: New test case. - -2015-12-22 Jakub Jelinek - - PR c++/67376 - * g++.dg/cpp0x/constexpr-67376.C: New test. - -2015-12-22 Richard Henderson - - * g++.dg/tm/noexcept-1.C: Update expected must_not_throw count. - * g++.dg/tm/noexcept-4.C: Likewise. - * g++.dg/tm/noexcept-5.C: Likewise. - * g++.dg/tm/pr67811.C: New. - -2015-12-22 Peter Bergner - - PR target/68872 - * gcc.target/powerpc/pr68872.c: New test. - -2015-12-22 H.J. Lu - - PR target/68937 - * gcc.target/i386/pr68937-1.c: New test. - * gcc.target/i386/pr68937-2.c: Likewise. - * gcc.target/i386/pr68937-3.c: Likewise. - * gcc.target/i386/pr68937-4.c: Likewise. - * gcc.target/i386/pr68937-5.c: Likewise. - * gcc.target/i386/pr68937-6.c: Likewise. - -2015-12-22 Marek Polacek - - PR c/69002 - * gcc.dg/c11-atomic-1.c: Add dg-warnings. - * gcc.dg/c11-atomic-4.c: New test. - -2015-12-22 Sujoy Saraswati - - * gcc.dg/pr61441.c: New testcase. - -2015-12-22 Eric Botcazou - - * gcc.dg/torture/pr68264.c: Tweak for Solaris. - -2015-12-21 David Malcolm - - * g++.dg/diagnostic/bad-binary-ops.C: New test case. - * gcc.dg/bad-binary-ops.c: New test case. - gcc.dg/plugin/diagnostic_plugin_show_trees.c (get_range_for_expr): - Remove material copied from gcc-rich-location.c - (gcc_rich_location::add_expr): Likewise. - -2015-12-21 Claudiu Zissulescu - - * gcc.target/arc/builtin_general.c: New test. - * gcc.target/arc/builtin_simd.c: Likewise. - * gcc.target/arc/builtin_special.c: Likewise. - -2015-12-20 Jeff Law - - PR tree-optimization/64910 - * gcc.target/i386/bittest.c: New test. - -2015-12-20 Eric Botcazou - - * gnat.dg/complex1.adb: New test. - * gnat.dg/complex1_pkg.ads: New helper. - -2015-12-19 Eric Botcazou - - * gcc.target/sparc/20151219-1.c: New test. - -2015-12-19 Andrew Burgess - - * gcc.target/arc/load-update.c: New file. - -2015-12-18 Patrick Palka - - PR c++/68978 - * g++.dg/template/pr68978.C: New test. - -2015-12-18 Jakub Jelinek - - PR debug/68860 - * gcc.dg/guality/pr68860-1.c: New test. - * gcc.dg/guality/pr68860-2.c: New test. - -2015-12-18 Nathan Sidwell - - * lib/target-supports.exp (check_effective_target_cilkplus): Not nvptx. - * c-c++-common/attr-simd-3.c: Require cilkplus. - * gcc.dg/graphite/id-28.c: Likewise. - -2015-12-18 Bernd Schmidt - - * gcc.dg/debug/dwarf2/prod-options.c: New test. - -2015-12-18 Eric Botcazou - - * gnat.dg/specs/debug1.ads: Bump final count to 18. - -2015-12-18 Paolo Carlini - - PR c++/67592 - * g++.dg/cpp0x/constexpr-virtual5.C: New. - * g++.dg/cpp0x/pr51463.C: Adjust dg-error string. - * g++.dg/inherit/pure1.C: Likewise. - -2015-12-18 Jeff Law - - PR rtl-optimization/49847 - * g++.dg/pr49847-2.C: New test. - -2015-12-18 H.J. Lu - - * gcc.dg/vect/pr68305.c (dg-additional-options): Add -mavx2 - for x86 target. - -2015-12-18 Nathan Sidwell - - * c-c++-common/attr-simd-3.c: Requires pthreads. - -2015-12-18 Richard Biener - - PR testsuite/68776 - * gcc.dg/vect/vect-widen-mult-const-s16.c: Adjust. - * gcc.dg/vect/vect-widen-mult-const-u16.c: Likewise. - -2015-12-18 Dominik Vogt - - * gcc.target/s390/litpool-r3-1.c: New test. - -2015-12-18 Yuri Rumyantsev - - PR tree-optimization/68906 - * gcc.dg/torture/pr68906.c: New test. - -2015-12-18 Ilya Enkovich - - PR tree-optimization/68956 - * gcc.target/i386/pr68956.c: New test. - -2015-12-18 Kyrylo Tkachov - - PR rtl-optimization/68796 - * gcc.target/aarch64/tst_3.c: New test. - * gcc.target/aarch64/tst_4.c: Likewise. - -2015-12-18 Robin Dapp - - * gcc.target/s390/vcond-shift.c: New test to check vcond - simplification. - -2015-12-18 Paul Thomas - - PR fortran/68196 - * gfortran.dg/proc_ptr_48.f90: New test. - -2015-12-18 Andreas Krebbel - - * gcc.target/s390/hotpatch-8.c: Add -Wno-deprecated to options. - * gcc.target/s390/hotpatch-9.c: Likewise. - -2015-12-18 Patrick Palka - - PR c++/68831 - * g++.dg/pr68831.C: New test. - -2015-12-17 Jeff Law - - * gcc.dg/tree-ssa/split-path-1.c: Explicitly ask for path - splitting optimizations. - -2015-12-17 Nathan Sidwell - - * gcc.dg/ipa/ipa-icf-merge-1.c: New. - -2015-12-17 David Malcolm - - * gcc.dg/diagnostic-range-bad-return.c: New test case. - -2015-12-17 Richard Biener - - PR tree-optimization/68946 - * gcc.dg/torture/pr68946.c: New testcase. - -2015-12-17 Nathan Sidwell - - * c-c++-common/Wunused-var-13.c: Requires label values. - * gcc.dg/torture/pr46216.c: Likewise. - -2015-12-17 Pierre-Marie de Rodat - - * gnat.dg/specs/debug1.ads: Update the expected number of - DW_AT_artificial attribute in compiler output. - -2015-12-17 Jakub Jelinek - - PR tree-optimization/68835 - * gcc.dg/pr68835-1.c: New test. - * gcc.dg/pr68835-2.c: New test. - -2015-12-17 Richard Biener - - PR tree-optimization/68951 - * gcc.dg/torture/pr68951.c: New testcase. - -2015-12-17 Rainer Orth - - PR target/67973 - * lib/target-supports.exp (check_effective_target_stabs): New proc. - * g++.dg/cpp0x/alias-decl-debug-0.C: Restrict to stabs targets. - * g++.dg/other/PR23205.C: Likewise. - * g++.dg/other/pr23205-2.C: Likewise. - * gcc.dg/20040813-1.c: Likewise. - * gcc.dg/darwin-20040809-2.c: Likewise. - * objc.dg/stabs-1.m: Likewise. - -2015-12-17 Andrew Burgess - - * gcc.target/arc/loop-hazard-1.c: New file. - -2015-12-17 Andrew Burgess - - * gcc.target/arc/jump-around-jump.c (rtc_set_time): Declare. - -2015-12-17 Thomas Preud'homme - - Revert: - 2015-12-14 Thomas Preud'homme - - PR testsuite/68629 - * lib/target-supports.exp (check_effective_target_cilkplus): Also - check that compiling with -fcilkplus does not give an error. - * c-c++-common/attr-simd-3.c: Require cilkplus effective target. - -2015-12-16 Patrick Palka - - PR c++/16333 - PR c++/41426 - PR c++/59879 - PR c++/66895 - * g++.dg/conversion/pr16333.C: New test. - * g++.dg/conversion/pr41426.C: New test. - * g++.dg/conversion/pr59879.C: New test. - * g++.dg/conversion/pr66895.C: New test. - -2015-12-16 Martin Sebor - - PR c/68868 - * gcc.dg/atomic/stdatomic-init.c: New test. - -2015-12-15 Michael Meissner - - PR target/68805 - * gcc.target/powerpc/pr68805.c: New test. - -2015-12-16 Martin Sebor - - PR objc++/68932 - * obj-c++.dg/property/at-property-23.mm: Remove check for - an error message. - -2015-12-13 Jeff Law - - * gcc.dg/tree-ssa/pr68619-4.c: Change size of code bitfield. - -2015-12-16 David Malcolm - - * c-c++-common/conflict-markers-1.c: New testcase. - * c-c++-common/conflict-markers-2.c: Likewise. - * c-c++-common/conflict-markers-3.c: Likewise. - * c-c++-common/conflict-markers-4.c: Likewise. - * c-c++-common/conflict-markers-5.c: Likewise. - * c-c++-common/conflict-markers-6.c: Likewise. - * c-c++-common/conflict-markers-7.c: Likewise. - * c-c++-common/conflict-markers-8.c: Likewise. - * c-c++-common/conflict-markers-9.c: Likewise. - * c-c++-common/conflict-markers-10.c: Likewise. - * c-c++-common/conflict-markers-11.c: Likewise. - * g++.dg/conflict-markers-1.C: Likewise. - -2015-12-16 David Malcolm - - * gcc.dg/cast-function-1.c (bar): Update column numbers. - * gcc.dg/diagnostic-range-bad-called-object.c: New test case. - -2015-12-16 David Malcolm - - * gcc.dg/diagnostic-range-static-assert.c: New test case. - -2015-12-16 Marek Polacek - - PR c/64637 - * gcc.dg/pr64637.c: New test. - -2015-12-16 Nathan Sidwell - - * gcc.dg/sibcall-9.c: Xfail for nvptx. - -2015-12-16 Richard Biener - - PR tree-optimization/68870 - * gcc.dg/torture/pr68870.c: New testcase. - -2015-12-16 Tom de Vries - - * g++.dg/ipa/devirt-37.C: Update for new fre2 pass. - * g++.dg/ipa/devirt-40.C: Same. - * g++.dg/tree-ssa/pr61034.C: Same. - * gcc.dg/ipa/ipa-pta-1.c: Update for new pta1 pass. - * gcc.dg/ipa/ipa-pta-10.c: Same. - * gcc.dg/ipa/ipa-pta-11.c: Same. - * gcc.dg/ipa/ipa-pta-14.c: Same. - * gcc.dg/ipa/ipa-pta-16.c: Same. - * gcc.dg/ipa/ipa-pta-2.c: Same. - * gcc.dg/ipa/ipa-pta-5.c: Same. - * gcc.dg/ipa/ipa-pta-6.c: Same. - * gcc.dg/torture/ipa-pta-1.c: Same. - * gcc.dg/ipa/ipa-pta-13.c: Update for new fre2 and pta1 pass. - * gcc.dg/ipa/ipa-pta-3.c: Same. - * gcc.dg/ipa/ipa-pta-4.c: Same. - -2015-12-16 Richard Biener - - PR testsuite/68915 - * gcc.dg/vect/pr46032.c: Use dg-additional-options. - -2015-12-16 Richard Biener - - PR testsuite/68916 - PR testsuite/68914 - * gcc.dg/vect/pr45752.c: Require vect_perm and adjust expected - dump. - * gcc.dg/vect/slp-perm-4.c: Likewise. - -2015-12-16 Matthew Wahab - - * lib/target-supports.exp (add_options_for_arm_v8_1a_neon): Update - comment. Use check_effective_target_arm_v8_1a_neon_ok to select - the command line options. - (check_effective_target_arm_v8_1a_neon_ok_nocache): Update initial - test to allow ARM targets. Select and record a working set of - command line options. - (check_effective_target_arm_v8_1a_neon_hw): Add tests for ARM - targets. - -2015-12-16 Kyrylo Tkachov - - PR target/68648 - * gcc.c-torture/execute/pr68648.c: New test. - -2015-12-16 Richard Biener - - PR tree-optimization/68892 - * gcc.dg/vect/bb-slp-pr68892.c: New testcase. - -2015-12-16 Jakub Jelinek - - PR rtl-optimization/65980 - * gcc.dg/pr65980.c: New test. - -2015-12-15 Martin Sebor - - PR c++/42121 - PR c++/68478 - PR c++/68613 - PR c++/68689 - PR c++/68710 - * g++.dg/compat/struct-layout-1_generate.c: Avoid generating - further fields after the first flexible array member. - * g++.dg/ext/flexary2.C: Expect a sole flexible array member - to be rejected. Add a test case exercising zero-length array. - * g++.dg/ext/flexary3.C: Expect a sole flexible array member - to be rejected. - * g++.dg/ext/flexary.h: New file. - * g++.dg/ext/flexary4.C: New file. - * g++.dg/ext/flexary5.C: New file. - * g++.dg/ext/flexary6.C: New file. - * g++.dg/ext/flexary7.C: New file. - * g++.dg/ext/flexary8.C: New file. - * g++.dg/other/dump-ada-spec-2.C: Adjust to reflect flexible - array members. - * g++.dg/parse/pr43765.C: Add a member to make a struct with - a flexible array member valid. Adjust expected error message. - * g++.dg/torture/pr64280.C: Expect a sole flexible array member - to be rejected. - * g++.dg/torture/pr64312.C: Add a member to make a struct with - a flexible array member valid. - * g++.dg/ubsan/object-size-1.C: Adjust expected diagnostic. - -2015-12-15 Marek Polacek - - PR c/68907 - * gcc.dg/pr68907.c: New test. - -2015-12-15 Alessandro Fanfarillo - - * gfortran.dg/coarray_critical_1.f90: New. - -2015-12-15 Martin Jambor - - PR ipa/68851 - * g++.dg/ipa/pr68851.C: New test. - -2015-12-15 Paolo Carlini - - PR c++/63506 - * g++.dg/cpp0x/pr63506-1.C: New. - * g++.dg/cpp0x/pr63506-2.C: Likewise. - -2015-12-15 Olivier Hainque - - * gcc.target/visium/block_move.c: Skip for -mcpu=gr5. - -2015-12-15 Jakub Jelinek - - PR tree-optimization/66688 - * gcc.dg/pr66688.c: New test. - -2015-12-15 Patrick Palka - - PR c++/21802 - PR c++/53223 - * g++.dg/cpp0x/pr53223.C: New test. - * g++.dg/lookup/pr21802.C: New test. - * g++.dg/lookup/two-stage4.C: Remove XFAIL. - -2015-12-14 Jerry DeLisle - - * gfortran.dg/quad_2.f90: Update test. - -2015-12-14 Steve Ellcey - - * gcc.dg/tree-ssa/ssa-fre-4.c: Remove mips*-*-* target. - * gcc.target/mips/ext-2.c: Update scan checks. - -2015-12-14 Nathan Sidwell - - * g++.dg/abi/nvptx-nrv1.C: New. - * g++.dg/abi/nvptx-ptrmem1.C: New. - * gcc.target/nvptx/abi-complex-arg.c: New. - * gcc.target/nvptx/abi-complex-ret.c: New. - * gcc.target/nvptx/abi-enum-arg.c: New. - * gcc.target/nvptx/abi-enum-ret.c: New. - * gcc.target/nvptx/abi-knr-arg.c: New. - * gcc.target/nvptx/abi-knr-ret.c: New. - * gcc.target/nvptx/abi-scalar-arg.c: New. - * gcc.target/nvptx/abi-scalar-ret.c: New. - * gcc.target/nvptx/abi-struct-arg.c: New. - * gcc.target/nvptx/abi-struct-ret.c: New. - * gcc.target/nvptx/abi-vararg-1.c: New. - * gcc.target/nvptx/abi-vararg-2.c: New. - * gcc.target/nvptx/abi-vect-arg.c: New. - * gcc.target/nvptx/abi-vect-ret.c: New. - -2015-12-14 Jakub Jelinek - - PR c/68833 - * c-c++-common/pr68833-1.c: New test. - * c-c++-common/pr68833-2.c: New test. - -2015-12-14 Richard Biener - - PR tree-optimization/68852 - * g++.dg/torture/pr68852.C: New testcase. - -2015-12-14 Alexander Monakov - - * gcc.dg/builtin-return-1.c: Correct effective-target test. - * gcc.dg/stack-usage-2.c: Use effective-target test. - -2015-12-14 Martin Jambor - - PR ipa/66616 - * g++.dg/ipa/pr66616.C: New test. - -2015-12-14 Jakub Jelinek - - PR rtl-optimization/68730 - * gcc.dg/pr68730.c: New test. - -2015-12-14 Thomas Preud'homme - - PR testsuite/68629 - * lib/target-supports.exp (check_effective_target_cilkplus): Also - check that compiling with -fcilkplus does not give an error. - * c-c++-common/attr-simd-3.c: Require cilkplus effective target. - -2015-12-13 David Edelsohn - - * gcc.dg/graphite/pr42729.c: XFAIL AIX. - -2015-12-13 Jeff Law - - * gcc.target/m68k/pr19201.c: New test. - - * gcc.target/m68k/pr63347.c: Remove #include add -w to - command line options. - * gcc.target/m68k/20090709-1.c: Adjust expected output. - -2015-12-12 David Edelsohn - - * g++.dg/opt/pr48549.C: XFAIL AIX. - * g++.dg/abi/anon1.C: XFAIL AIX. - * gcc.dg/graphite/pr42917.c: XFAIL AIX. - -2015-12-12 Tobias Burnus - - PR fortran/45859 - * gfortran.dg/coarray_args_2.f90: Remove dg-error. - -2015-12-12 David Edelsohn - - * gcc.target/powerpc/pr67808.c: Add -mlong-double-128 option. - * g++.dg/cpp1y/pr58708.C: Test appropriate value for size of - wchar_t. - -2015-12-12 Paolo Bonzini - - PR sanitizer/68418 - * gcc.dg/ubsan/c99-wrapv-shift-1.c, - gcc.dg/ubsan/c99-wrapv-shift-2.c: New testcases. - -2015-12-11 Jeff Law - - PR tree-optimization/68844 - * gcc.dg/tree-ssa/ssa-dom-thread-4.c: Update expected output. - -2015-12-11 Nathan Sidwell - - * gcc.dg/pr59605-1.c: Reduce iterations for nvptx. - -2015-12-11 Jan Beulich - - * gcc.c-torture/execute/stkalign.c: New. - -2015-12-11 Tsvetkova Alexandra - - * gcc.target/i386/mpx/memmove-1.c: New test. - * gcc.target/i386/mpx/memmove-2.c: New test. - -2015-12-11 Nathan Sidwell - - * gcc.target/nvptx/ary-init.c: Repair dg_final syntax. - * gcc.target/nvptx/decl-init.c: Likewise. Add TI case. - -2015-12-11 Martin Jambor - - PR ipa/68064 - * g++.dg/torture/pr68064.C: New test. - -2015-12-11 Dominik Vogt - - * gcc.target/s390/md/setmem_long-1.c: New test. - -2015-12-11 Dominik Vogt - - * gcc.target/s390/md/movstr-1.c: New test. - * gcc.target/s390/s390.exp: Add subdir md. - Do not run hotpatch tests twice. - -2015-12-11 Ilya Enkovich - - * gcc.dg/vect/vect-32-chars.c: New test. - -2015-12-11 Jan Hubicka - - PR ipa/61886 - * gcc.dg/lto/pr61886_0.c: New testcase - -2015-12-10 Jan Hubicka - - * gcc.c-torture/execute/20010122-1.c: Disable cloning. - -2015-12-10 Vladimir Makarov - - PR rtl-optimization/68691 - * gcc.target/i386/pr68691.c: New. - -2015-12-10 David Malcolm - - * lib/multiline.exp (_multiline_expected_outputs): Update comment. - (dg-end-multiline-output): Capture line numbers within - _multiline_expected_outputs. - (handle-multiline-outputs): Access global $testname_with_flags - and add it as a prefix to pass/fail results. Extract line numbers - from $_multiline_expected_outputs and print them within pass/fail - results, replacing the printing of $index. Consolidate the - string prefix shared between pass/fail into a new local ($title). - -2015-12-10 Jeff Law - - PR tree-optimization/68619 - * gcc.dg/tree-ssa/pr68619-1.c: New test. - * gcc.dg/tree-ssa/pr68619-2.c: New test. - * gcc.dg/tree-ssa/pr68619-3.c: New test. - * gcc.dg/tree-ssa/pr68619-4.c: New test. - * gcc.dg/tree-ssa/pr68619-5.c: New test. - -2015-12-10 Jakub Jelinek - - PR rtl-optimization/68376 - PR rtl-optimization/68670 - * gcc.c-torture/execute/pr68376-2.c (f5, f6, f7, f8): New - tests. - (main): Call them. - * gcc.dg/pr68670-1.c: New test. - * gcc.dg/pr68670-2.c: New test. - -2015-12-10 Marek Polacek - - PR c++/68348 - * g++.dg/cpp0x/pr68348.C: New test. - -2015-12-10 Eric Botcazou - - * gnat.dg/specs/elab4.ads: New test. - * gnat.dg/specs/elab4_proc.ad[sb]: New helper. - -2015-12-10 Eric Botcazou - - * gnat.dg/array25.adb: New test. - * gnat.dg/array25_pkg.ad[sb]: New helper. - -2015-12-10 Claudiu Zissulescu - - * lib/target-supports.exp (check_effective_target_arc_atomic): New - function. - (check_effective_target_sync_int_long): Add checks for ARC atomic - feature. - (check_effective_target_sync_char_short): Likewise. - -2015-12-10 Richard Biener - - PR tree-optimization/68817 - * gfortran.dg/pr68817.f90: New testcase. - -2015-12-10 Christophe Lyon - - Revert [testsuite][ARM target attributes] Fix effective_target tests - 2015-12-08 Christophe Lyon - - * lib/target-supports.exp - (check_effective_target_arm_vfp_ok_nocache): New. - (check_effective_target_arm_vfp_ok): Call the new - check_effective_target_arm_vfp_ok_nocache function. - (check_effective_target_arm_fp_ok_nocache): New. - (check_effective_target_arm_fp_ok): New. - (add_options_for_arm_fp): New. - (check_effective_target_arm_crypto_ok_nocache): Require - target_arm_v8_neon_ok instead of arm32. - (check_effective_target_arm_crypto_pragma_ok_nocache): New. - (check_effective_target_arm_crypto_pragma_ok): New. - (add_options_for_arm_vfp): New. - * gcc.target/arm/attr-crypto.c: Use arm_crypto_pragma_ok effective - target. Do not force -mfloat-abi=softfp, use arm_vfp effective - target instead. - * gcc.target/arm/attr-neon-builtin-fail.c: Do not force - -mfloat-abi=softfp, use arm_fp effective target instead. - * gcc.target/arm/attr-neon-fp16.c: Likewise. Remove arm_neon_ok - dependency. - * gcc.target/arm/attr-neon2.c: Do not force -mfloat-abi=softfp, - use arm_vfp effective target instead. - * gcc.target/arm/attr-neon3.c: Likewise. - -2015-12-10 Eric Botcazou - - * gnat.dg/specs/access1.ads: New test. - * gnat.dg/specs/access2.ads: Likewise. - -2015-12-10 Jakub Jelinek - - PR tree-optimization/68785 - * gcc.dg/pr68785.c: New test. - -2015-12-10 Richard Biener - - PR ipa/68331 - * gcc.dg/torture/ipa-pta-3.c: New testcase. - * g++.dg/ipa/ipa-pta-1.C: Likewise. - -2015-12-10 Richard Biener - - PR ipa/68721 - * gcc.dg/torture/pr68721.c: New testcase. - -2015-12-10 Richard Biener - - PR tree-optimization/68806 - * gcc.dg/torture/pr68806.c: New testcase. - -2015-12-08 Jan Hubicka - - PR ipa/61886 - PR middle-end/25140 - * gcc.c-torture/execute/alias-2.c: New testcase. - -2015-12-09 Tobias Burnus - Alessandro Fanfarillo - - * gfortran.dg/coarray_40.f90: New. - -2015-12-08 Jan Hubicka - - PR lto/68811 - * g++.dg/lto/pr68811_0.C: New testcase. - * g++.dg/lto/pr68811_1.C: New testcase. - -2015-12-09 Paolo Carlini - - PR c++/60218 - * g++.dg/ext/bases2.C: New. - -2015-12-09 Uros Bizjak - - * gcc.target/i386/sse4_1-roundps-1.c: Remove ASM_SUFFIX define. - * gcc.target/i386/sse4_1-roundps-2.c: Ditto. - * gcc.target/i386/sse4_1-roundps-3.c: Ditto. - * gcc.target/i386/sse4_1-roundsd-1.c: Ditto. - * gcc.target/i386/sse4_1-roundsd-2.c: Ditto. - * gcc.target/i386/sse4_1-roundsd-3.c: Ditto. - * gcc.target/i386/sse4_1-roundss-1.c: Ditto. - * gcc.target/i386/sse4_1-roundss-2.c: Ditto. - * gcc.target/i386/sse4_1-roundss-3.c: Ditto. - -2015-12-09 Alexander Monakov - - * gcc.c-torture/execute/980716-1.c: Avoid undefined behavior due to - passing terminating NULL as int rather than pointer. - -2015-12-09 Marek Polacek - - PR tree-optimization/66949 - * gcc.dg/torture/pr66949-1.c: New test. - * gcc.dg/torture/pr66949-2.c: New test. - -2015-12-09 James Greenhalgh - - PR rtl-optimization/67609 - * gcc.dg/torture/pr67609.c: New. - -2015-12-09 Richard Biener - - PR tree-optimization/68583 - * gcc.dg/tree-ssa/ifc-pr68583.c: New testcase. - * gcc.dg/vect/vect-72.c: Adjust. - * gcc.dg/vect/vect-cselim-2.c: Likewise. - * gcc.dg/vect/vect-strided-store-a-u8-i2.c: Likewise. - -2015-12-09 Richard Biener - - PR tree-optimization/68417 - * gcc.dg/vect/pr68417.c: New testcase. - -2015-12-09 Martin Liska - - * gcc.dg/ipa/pr68790.c: New test. - -2015-12-08 Jan Hubicka - - PR ipa/61886 - PR middle-end/25140 - * gcc.c-torture/execute/alias-3.c: New testcase. - -2015-12-08 Martin Sebor - - PR c++/68711 - * g++.dg/other/offsetof8.C: New test. - -2015-12-08 Nathan Sidwell - - * gcc.target/nvptx/trailing-init.c: New. - - * gcc.c-torture/compile/920723-1.c: Remove PTX skip. - * gcc.c-torture/compile/pr33855.c: Likewise. - * gcc.c-torture/execute/981019-1.c: Remove PTX -O2 skip. - -2015-12-08 Uros Bizjak - - PR target/68701 - * gcc.target/i386/pr68701-1.c: New test. - * gcc.target/i386/pr68701-2.c: Ditto. - -2015-12-08 Uros Bizjak - - * gcc.target/i386/sse4_1-round.h (do_round): Fix inline asm statements. - * gcc.target/i386/sse4_1-roundsd-4.c (do_round): Ditto. - * gcc.target/i386/sse4_1-roundss-4.c (do_round): Ditto. - -2015-12-08 Eric Botcazou - - * gcc.dg/sso-9.c (foo): Robustify trick. - -2015-12-08 David Malcolm - - * gcc.dg/plugin/diagnostic-test-expressions-1.c (test_alignof): - New test function. - -2015-12-08 David Malcolm - - PR c/68757 - * gcc.dg/plugin/diagnostic-test-expressions-1.c - (test_builtin_choose_expr): New test function. - (test_builtin_call_with_static_chain): Likewise. - (test_builtin_complex): Likewise. - (test_builtin_shuffle): Likewise. - -2015-12-08 Jiong Wang - - * gcc.target/aarch64/got_mem_hoist_1.c (dg-skip-if): Match big-endian - as well. - -2015-12-08 Marek Polacek - - PR c++/68116 - * g++.dg/cpp0x/pr68116.C: New test. - -2015-12-08 Kirill Yukhin - - * gfortran.dg/pr68627.f: Use '!ia32' instead' of 'lp64' in target - specifier. - -2015-12-08 Jakub Jelinek - - PR c/48088 - PR c/68657 - * c-c++-common/pr68657-1.c: New test. - * c-c++-common/pr68657-2.c: New test. - * c-c++-common/pr68657-3.c: New test. - * gcc.dg/cpp/warn-normalized-3.c: Use - -Werror=normalized=nfc instead of -Werror=normalized= - in dg-options. - -2015-12-08 Christophe Lyon - - * lib/target-supports.exp - (check_effective_target_arm_vfp_ok_nocache): New. - (check_effective_target_arm_vfp_ok): Call the new - check_effective_target_arm_vfp_ok_nocache function. - (check_effective_target_arm_fp_ok_nocache): New. - (check_effective_target_arm_fp_ok): New. - (add_options_for_arm_fp): New. - (check_effective_target_arm_crypto_ok_nocache): Require - target_arm_v8_neon_ok instead of arm32. - (check_effective_target_arm_crypto_pragma_ok_nocache): New. - (check_effective_target_arm_crypto_pragma_ok): New. - (add_options_for_arm_vfp): New. - * gcc.target/arm/attr-crypto.c: Use arm_crypto_pragma_ok effective - target. Do not force -mfloat-abi=softfp, use arm_vfp effective - target instead. - * gcc.target/arm/attr-neon-builtin-fail.c: Do not force - -mfloat-abi=softfp, use arm_fp effective target instead. - * gcc.target/arm/attr-neon-fp16.c: Likewise. Remove arm_neon_ok - dependency. - * gcc.target/arm/attr-neon2.c: Do not force -mfloat-abi=softfp, - use arm_vfp effective target instead. - * gcc.target/arm/attr-neon3.c: Likewise. - -2015-12-08 Kirill Yukhin - - * gfortran.dg/pr68627.f: Limit target to x86. - -2015-12-08 Andre Vieira - Joern Rennecke - - * gcc.dg/torture/stackalign/builtin-return-1.c: Add an - inline assembly read to make sure dummy is not optimized - away by LTO. - -2015-12-08 Ilya Enkovich - - PR tree-optimization/68766 - * gcc.dg/pr68766.c: New test. - -2015-12-07 Eric Botcazou - - * gcc.target/sparc/struct-ret-check.c: Rename to... - * gcc.target/sparc/struct-ret-check-1.c: ...this. - * gcc.target/sparc/struct-ret-check-2.c: New test. - -2015-12-07 Jakub Jelinek - - PR c++/68760 - * g++.dg/tree-ssa/pr68760.C: New test. - - PR middle-end/66726 - * g++.dg/tree-ssa/pr66726.c: Renamed to... - * g++.dg/tree-ssa/pr66726.C: ... this. - -2015-12-07 Steve Ellcey - - * gcc.target/mips/wrap-delay.c: New test. - -2015-12-07 Jason Merrill - - * lib/g++.exp: Also find -std list in GXX_TESTSUITE_STDS - environment variable. - -2015-12-07 Marek Polacek - - PR c/68668 - * gcc.dg/pr68668.c: New test. - -2015-12-07 Vladimir Makarov - - * gcc.target/i386/pr68349.c (strlen): Rename to my_strlen. - -2015-12-07 Nathan Sidwell - - * gcc.target/nvptx/abort.c: New. - -2015-12-07 David Malcolm - - * gcc.dg/diagnostic-ranges-1.c: New test file. - * gcc.dg/plugin/diagnostic-test-show-locus-bw.c - (test_percent_q_plus_d): New test function. - * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c - (test_show_locus): Rewrite test code using - rich_location::set_range. Add code to unit-test the "%q+D" - format code. - -2015-12-07 Martin Liska - - * g++.dg/ipa/pr66896.C: New test. - -2015-12-06 Dmitry Vyukov - - * gcc.dg/sancov/sancov.exp: Load asan-dg.exp. - * gcc.dg/sancov/asan.c: Don't run when asan is not available. - -2015-12-07 Nathan Sidwell - - * gcc.target/nvptx/decl-init.c: New. - -2015-12-07 Kirill Yukhin - - PR target/68627 - * gfortran.dg/pr68627.f: New test. - -2015-12-07 Kirill Yukhin - - PR target/68633 - * gcc.target/i386/pr68633.c: New test. - -2015-12-06 Victoria Stepanyan - - * gcc.target/i386/clzero.c: New. - * gcc.target/i386/sse-12.c: Add -mclzero. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - * g++.dg/other/i386-2.C: Ditto. - * g++.dg/other/i386-3.C: Ditto. - -2015-12-05 David Edelsohn - - * gcc.target/powerpc/recip-sqrtf.c: New test. - -2015-12-04 Aditya Kumar - Sebastian Pop - - * gcc.dg/graphite/id-29.c: New test. - -2015-12-04 Aditya Kumar - Sebastian Pop - - PR tree-optimization/68693 - * gfortran.dg/graphite/pr68693.f90: New test. - -2015-12-04 James Greenhalgh - - * gcc.c-torture/compile/20151204.c: New. - -2015-12-04 Nathan Sidwell - - * gcc.dg/vla-24.c: Requires alloca. - -2015-12-04 Vladimir Makarov - - PR rtl-optimization/68349 - * gcc.target/i386/pr68349.c: New test. - -2015-12-04 Nathan Sidwell - - * gcc.target/nvptx/ary-init.c: New. - -2015-12-04 David Malcolm - - * g++.dg/cpp0x/nsdmi-template14.C: Move dg-error directive. - * g++.dg/gomp/loop-1.C: Update dg-error locations. - * g++.dg/plugin/diagnostic-test-expressions-1.C: New file, adapted - from gcc.dg/plugin/diagnostic-test-expressions-1.c. - * g++.dg/plugin/plugin.exp (plugin_test_list): Add the above. - * g++.dg/template/crash55.C: Update dg-error directives. - * g++.dg/template/pseudodtor3.C: Update column numbers in dg-error - directives. - * g++.dg/template/pr64100.C: Update location of dg-error - directive. - * g++.dg/template/ref3.C: Add XFAIL (PR c++/68699). - * g++.dg/ubsan/pr63956.C: Update dg directives to reflect - improved location information. - * g++.dg/warn/pr35635.C (func3): Update location of a dg-warning. - * g++.dg/warn/Wconversion-real-integer2.C: Update location of - dg-warning; add a dg-message. - * obj-c++.dg/plugin/diagnostic-test-expressions-1.mm: New file, - based on objc.dg/plugin/diagnostic-test-expressions-1.m. - * obj-c++.dg/plugin/plugin.exp: New file, based on - objc.dg/plugin/plugin.exp. - -2015-12-04 Jakub Jelinek - - PR c/68656 - * gcc.target/i386/pr65044.c: Expect error on line 0 rather than - line 1. - * g++.dg/opt/pr34036.C: Expect warning on line 0 rather than line 1. - * gcc.dg/tree-ssa/pr23109.c: Likewise. - * gcc.dg/tree-ssa/recip-5.c: Likewise. - * gcc.dg/pr33007.c: Likewise. - -2015-12-04 Paolo Bonzini - - * c-c++-common/Wshift-overflow-1.c: Test shifting 1 out of the sign bit. - * c-c++-common/Wshift-overflow-2.c: Test shifting 1 out of the sign bit. - * c-c++-common/Wshift-overflow-3.c: Test shifting 1 out of the sign bit. - * c-c++-common/Wshift-overflow-4.c: Test shifting 1 out of the sign bit. - * c-c++-common/Wshift-overflow-6.c: Test shifting 1 out of the sign bit. - * c-c++-common/Wshift-overflow-7.c: Test shifting 1 out of the sign bit. - -2015-11-25 Nick Clifton - - * gcc.target/msp430/msp_abi_div_funcs.c: New test. - * gcc.target/msp430/mul_main.h: New test support file. - * gcc.target/msp430/mul_none.c: New test. - * gcc.target/msp430/mul_16bit.c: New test. - * gcc.target/msp430/mul_32bit.c: New test. - * gcc.target/msp430/mul_f5.c: New test. - -2015-12-04 Jakub Jelinek - - PR tree-optimization/68680 - * gcc.target/i386/pr68680.c: New test. - - PR tree-optimization/68671 - * gcc.dg/pr68671.c: New test. - -2015-12-02 Jeff Law - - * gcc.dg/tree-ssa/reassoc-43.c: New test. - -2015-12-04 Kyrylo Tkachov - - * gcc.target/aarch64/mgeneral-regs_4.c: New test. - -2015-12-04 Dominik Vogt - - * gcc.dg/Wframe-address.c: S/390 requires the -mbackchain option to - access arbitrary stack frames. - * gcc.dg/Wno-frame-address.c: Likewise. - -2015-12-04 Dominik Vogt - - * gcc.target/s390/asm-machine-1.c: Updated. - * gcc.target/s390/asm-machine-2.c: Updated. - * gcc.target/s390/asm-machine-3.c: Updated. - * gcc.target/s390/asm-machine-4.c: Updated. - -2015-12-04 Dominik Vogt - - * gcc.target/s390/asm-machine-1.c: New test. - * gcc.target/s390/asm-machine-2.c: New test. - * gcc.target/s390/asm-machine-3.c: New test. - * gcc.target/s390/asm-machine-4.c: New test. - * gcc.target/s390/target-attribute/tattr-1.c: New test. - * gcc.target/s390/target-attribute/tattr-2.c: New test. - * gcc.target/s390/target-attribute/tattr-3.c: New test. - * gcc.target/s390/target-attribute/tattr-4.c: New test. - * gcc.target/s390/target-attribute/tattr-5.c: New test. - * gcc.target/s390/target-attribute/tattr-6.c: New test. - * gcc.target/s390/target-attribute/tattr-7.c: New test. - * gcc.target/s390/target-attribute/tattr-8.c: New test. - * gcc.target/s390/target-attribute/tattr-9.c: New test. - * gcc.target/s390/target-attribute/tattr-10.c: New test. - * gcc.target/s390/target-attribute/tattr-11.c: New test. - * gcc.target/s390/target-attribute/tattr-12.c: New test. - * gcc.target/s390/target-attribute/tattr-13.c: New test. - * gcc.target/s390/target-attribute/tattr-14.c: New test. - * gcc.target/s390/target-attribute/tattr-15.c: New test. - * gcc.target/s390/target-attribute/tattr-16.c: New test. - * gcc.target/s390/target-attribute/tattr-17.c: New test. - * gcc.target/s390/target-attribute/tattr-18.c: New test. - * gcc.target/s390/target-attribute/tattr-19.c: New test. - * gcc.target/s390/target-attribute/tattr-arch-tune-1.c: New test. - * gcc.target/s390/target-attribute/tattr-arch-tune-2.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-1.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-2.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-3.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-4.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-5.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-6.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-7.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-8.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-9.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-10.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-11.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-12.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-13.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-14.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-15.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-16.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-17.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-18.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-19.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-20.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-21.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-22.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-23.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-24.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-25.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-26.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-27.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-28.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-29.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-30.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-31.c: New test. - * gcc.target/s390/target-attribute/tattr-m31-32.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-1.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-2.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-3.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-4.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-5.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-6.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-7.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-8.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-9.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-10.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-11.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-12.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-13.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-14.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-15.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-16.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-17.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-18.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-19.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-20.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-21.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-22.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-23.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-24.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-25.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-26.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-27.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-28.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-29.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-30.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-31.c: New test. - * gcc.target/s390/target-attribute/tattr-m64-32.c: New test. - * gcc.target/s390/target-attribute/tpragma-struct-vx-2.c: New test. - * gcc.target/s390/s390.exp (check_effective_target_target_attribute): - Add check whether target attribute is available. - Run test in target-attribute subdir. - * gcc.target/s390/s390-c++.exp - (check_effective_target_target_attribute): Likewise. - -2015-12-04 Kirill Yukhin - - * c-c++-common/attr-simd-4.c: New test. - * c-c++-common/attr-simd-5.c: New test. - -2015-12-04 Nathan Sidwell - - * gcc.dg/graphite/id-28.c: Requires pthreads. - -2015-12-04 Eric Botcazou - - * gcc.dg/vla-24.c: New test. - -2015-12-04 Eric Botcazou - - * gcc.target/aarch64/stack-checking.c: New test. - -2015-12-04 Richard Biener - - PR testsuite/68681 - * gcc.dg/vect/pr45752.c: Add --param tree-reassoc-width=1. - -2015-12-04 Eric Botcazou - - * gcc.dg/sso-9.c: New test. - -2015-12-04 Jakub Jelinek - - PR target/68655 - * gcc.dg/torture/vshuf-4.inc (TESTS): Add one extra test. - * gcc.dg/torture/vshuf-4.inc (TESTS): Add two extra tests. - -2015-12-03 Bernd Schmidt - - PR target/68472 - * gcc.target/i386/rop1.c: New test. - -2015-12-03 Nathan Sidwell - - * gcc.target/nvptx/decl.c: New. - * gcc.target/nvptx/uninit-decl.c: Robustify regexps. - -2015-12-03 Kyrylo Tkachov - - PR rtl-optimization/68624 - * gcc.c-torture/execute/pr68624.c: New test. - -2015-12-03 Richard Biener - - PR tree-optimization/66051 - * gcc.dg/vect/slp-42.c: New testcase. - -2015-12-02 Kirill Yukhin - - * gcc.target/i386/avx512vl-vextractf32x4-1.c: Fix scan pattern. - * gcc.target/i386/avx512vl-vextracti32x4-1.c: Fix scan pattern. - -2015-12-03 Richard Biener - - PR tree-optimization/67800 - PR tree-optimization/68333 - * gcc.target/i386/vect-pr67800.c: New testcase. - -2015-12-03 Richard Biener - - PR tree-optimization/68639 - * gfortran.fortran-torture/compile/pr68639.f90: New testcase. - -2015-12-02 Jan Hubicka - - PR ipa/68184 - * g++.dg/torture/pr68184.C: New testcase. - -2015-12-03 Jakub Jelinek - - PR preprocessor/57580 - * c-c++-common/cpp/pr57580.c: New test. - * c-c++-common/gomp/pr57580.c: New test. - -2015-12-02 Aditya Kumar - Sebastian Pop - - * gcc.dg/graphite/id-28.c: New. - -2015-12-02 Aditya Kumar - Sebastian Pop - - * gfortran.dg/graphite/id-26.f03: New. - -2015-12-02 Jason Merrill - - * lib/g++.exp: Handle --stds= option. - * lib/g++-dg.exp (g++-dg-runtest): Use it. - -2015-12-02 Tobias Burnus - Alessandro Fanfarillo - - * gfortran.dg/coarray/event_1.f90: New. - * gfortran.dg/coarray/event_2.f90: New. - -2015-12-02 Aditya Kumar - Sebastian Pop - - PR tree-optimization/68550 - * gfortran.dg/graphite/pr68550-1.f90: New. - * gfortran.dg/graphite/pr68550-2.f90: New. - -2015-12-02 Marek Polacek - - PR c/68513 - * gcc.dg/pr68513.c: New test. - -2015-12-02 Cesar Philippidis - - PR fortran/63861 - * gfortran.dg/goacc/array-reduction.f90: New test. - * gfortran.dg/goacc/assumed.f95: Update expected diagnostics. - * gfortran.dg/goacc/coarray.f95: Likewise. - * gfortran.dg/goacc/coarray_2.f90: Likewise. - * gfortran.dg/goacc/reduction-2.f95: Likewise. - * gfortran.dg/goacc/reduction.f95: Likewise. - -2015-12-02 Jakub Jelinek - - PR target/68647 - * gcc.target/i386/pr68647.c: New test. - -2015-12-02 Marek Polacek - - PR c++/68653 - * g++.dg/warn/nonnull3.C: New test. - -2015-12-02 Joseph Myers - - PR c/68162 - * gcc.dg/pr68162-1.c: New test. - -2015-12-02 Aditya Kumar - Sebastian Pop - - * gfortran.dg/graphite/run-id-3.f90: New. - -2015-12-02 David Sherwood - - * gcc.target/aarch64/fmaxmin.c: New test. - -2015-12-02 Thomas Schwinge - - * gfortran.dg/goacc/coarray.f95: XFAIL. - * gfortran.dg/goacc/coarray_2.f90: Adjust dg-excess-errors directive. - * gfortran.dg/goacc/host_data-tree.f95: Remove dg-prune-output - directive. - -2015-12-02 Thomas Schwinge - Julian Brown - James Norris - - * c-c++-common/goacc/host_data-5.c: New file. - * c-c++-common/goacc/host_data-6.c: Likewise. - -2015-12-02 Tom de Vries - - * c-c++-common/goacc/kernels-default-2.c: New test. - * c-c++-common/goacc/kernels-default.c: New test. - -2015-12-02 Tom de Vries - - * c-c++-common/goacc/kernels-alias-2.c: New test. - * c-c++-common/goacc/kernels-alias-3.c: New test. - * c-c++-common/goacc/kernels-alias-4.c: New test. - * c-c++-common/goacc/kernels-alias-5.c: New test. - * c-c++-common/goacc/kernels-alias-6.c: New test. - * c-c++-common/goacc/kernels-alias-7.c: New test. - * c-c++-common/goacc/kernels-alias-8.c: New test. - * c-c++-common/goacc/kernels-alias.c: New test. - -2015-12-02 Tom de Vries - - * c-c++-common/goacc/kernels-alias-ipa-pta-2.c: New test. - * c-c++-common/goacc/kernels-alias-ipa-pta-3.c: New test. - * c-c++-common/goacc/kernels-alias-ipa-pta.c: New test. - -2015-12-02 Richard Biener - - * gcc.dg/vect/vect-strided-a-u8-i8-gap7-big-array.c: Fix uninitialized - y guarding a call to abort (). - * gcc.dg/vect/vect-strided-a-u8-i8-gap7.c: Likewise. - * gcc.dg/vect/vect-strided-u8-i8-gap7-big-array.c: Likewise. - -2015-12-02 Marek Polacek - - PR middle-end/68570 - * gcc.dg/torture/pr68570.c: New test. - -2015-12-02 Richard Biener - - PR tree-optimization/68625 - * gcc.dg/torture/pr68625.c: New testcase. - -2015-12-02 Richard Sandiford - - * gcc.target/i386/pr68432-1.c: New test. - * gcc.target/i386/pr68432-2.c: Likewise. - * gcc.target/i386/pr68432-3.c: Likewise. - -2015-12-02 Andreas Krebbel - - * gcc.target/s390/zvector/vec-splat-2.c: New test. - -2015-12-02 Andreas Krebbel - - * gcc.target/s390/vector/vec-vrepi-1.c: New test. - -2015-12-02 Andreas Krebbel - - * gcc.target/s390/zvector/vec-splat-1.c: New test. - -2015-12-02 Andreas Krebbel - - * gcc.target/s390/bswap-1.c (foo64c, foo32a, foo32c): New functions. - * gcc.target/s390/bswaphi-1.c: New test. - -2015-12-02 Andreas Krebbel - - * lib/target-supports.exp: Add s390 and s390x to the list of long - long atomic targets. - -2015-12-02 Andreas Krebbel - - * gcc.dg/optimize-bswapdi-1.c: Force using -mzarch on s390 and - s390x to enable 64 bit bswap patterns. - * gcc.dg/optimize-bswapdi-2.c: Likewise. - * gcc.dg/optimize-bswapdi-3.c: Likewise. - * lib/target-supports.exp: Add a comment for s390. - -2015-12-02 Andreas Krebbel - - * gcc.dg/builtin-bswap-6a.c: Add -march=z900 for s390 and s390x in - order to make -m31 work. - * gcc.dg/optimize-bswapsi-1.c: Likewise. - * gcc.dg/optimize-bswapsi-2.c: Likewise. - -2015-12-02 Jakub Jelinek - - PR c/68533 - * gcc.dg/pr68533.c: New test. - -2015-12-01 Richard Sandiford - - PR tree-optimization/68577 - * gcc.dg/vect/pr68577.c: New test. - -2015-12-01 Nathan Sidwell - - * gcc.target/nvptx/uninit-decl.c: New. - -2015-12-01 Jan Hubicka - - * gcc.c-torture/execute/alias-1.c: New testcase. - -2015-12-01 Marek Polacek - - PR tree-optimization/64769 - * c-c++-common/gomp/pr64769.c: New test. - -2015-12-01 Bill Schmidt - - * gcc.target/powerpc/swaps-p8-22.c: New. - -2015-12-01 Marek Polacek - - PR tree-optimization/67916 - * gcc.dg/torture/pr67916.c: New test. - -2015-12-01 Marek Polacek - - PR middle-end/68582 - * c-c++-common/pr68582.c: New test. - -2015-12-01 Richard Sandiford - - PR tree-optimization/68474 - * gcc.dg/pr68474.c: New test. - -2015-12-01 Christian Bruel - - PR target/68617 - * gcc.target/arm/attr-unaligned-load-ice.c: New test. - -2015-12-01 Tom de Vries - - * gcc.dg/pr46032.c: Move to ... - * gcc.dg/vect/pr46032.c: here. Add dg-require-effective-target - vect_int. - * gcc.dg/pr46032-2.c: Move to ... - * gcc.dg/gomp/pr46032-2.c: ... here. - Drop dg-require-effective-target fopenmp. - * gcc.dg/pr46032-3.c: Move to ... - * gcc.dg/gomp/pr46032-3.c: ... here. - Drop dg-require-effective-target fopenmp. - -2015-12-01 Cesar Philippidis - - * gfortran.dg/goacc/gang-static.f95: Add tests for gang num arguments. - * gfortran.dg/goacc/loop-2.f95: Update expected diagnostics. - * gfortran.dg/goacc/loop-6.f95: Likewise. - * gfortran.dg/goacc/loop-7.f95: New test. - * gfortran.dg/goacc/reduction-2.f95: New test. - -2015-12-01 Richard Biener - - PR tree-optimization/68379 - * gcc.dg/torture/pr68379.c: New testcase. - * gfortran.dg/pr68379-1.f90: Likewise. - * gfortran.dg/pr68379-2.f: Likewise. - -2015-12-01 Christophe Lyon - - * gcc.dg/pr46032.c: Add dg-require-effective-target fopenmp. - * gcc.dg/pr46032-2.c: Likewise. - * gcc.dg/pr46032-3.c: Likewise. - -2015-12-01 Richard Biener - - PR ipa/68470 - * g++.dg/torture/pr68470.C: New testcase. - -2015-12-01 Ilya Enkovich - - PR middle-end/68595 - * gcc.dg/pr68595.c: New test. - -2015-12-01 Christian Bruel - - * gcc.target/arm/ftest-armv6-thumb.c: Remove NEED_ARM_FEATURE_UNALIGNED. - * gcc.target/arm/ftest-armv6k-thumb.c: Likewise. - * gcc.target/arm/ftest-armv6z-thumb.c: Likewise. - -2015-12-01 Bin Cheng - - PR tree-optimization/68529 - * gcc.dg/tree-ssa/pr68529-1.c: New test. - * gcc.dg/tree-ssa/pr68529-2.c: New test. - * gcc.dg/tree-ssa/pr68529-3.c: New test. - -2015-11-30 Jan Hubicka - - * gcc.dg/lto/alias-1_0.c: New testcase. - * gcc.dg/lto/alias-1_1.c: New testcase. - -2015-11-30 Aditya Kumar - Sebastian Pop - - PR tree-optimization/68565 - * gfortran.dg/graphite/pr68565.f90: New. - -2015-11-30 Aditya Kumar - Sebastian Pop - - * gcc.dg/graphite/pr35356-1.c: Adjust pattern. - -2015-11-30 Cesar Philippidis - Nathan Sidwell - - * gfortran.dg/goacc/routine-3.f90: New test. - * gfortran.dg/goacc/routine-4.f90: New test. - * gfortran.dg/goacc/routine-5.f90: New test. - * gfortran.dg/goacc/routine-6.f90: New test. - * gfortran.dg/goacc/subroutines: New test. - -2015-11-30 Tom de Vries - - * gcc.dg/pr46032-2.c: New test. - * gcc.dg/pr46032-3.c: New test. - -2015-11-30 Charles Baylis - - PR target/63870 - * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f16_indices_1.c (f_vld2_lane_f16): Remove xfails for arm targets. - * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f32_indices_1.c (f_vld2_lane_f32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f64_indices_1.c (f_vld2_lane_f64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_p8_indices_1.c (f_vld2_lane_p8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s16_indices_1.c (f_vld2_lane_s16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s32_indices_1.c (f_vld2_lane_s32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s64_indices_1.c (f_vld2_lane_s64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s8_indices_1.c (f_vld2_lane_s8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u16_indices_1.c (f_vld2_lane_u16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u32_indices_1.c (f_vld2_lane_u32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u64_indices_1.c (f_vld2_lane_u64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u8_indices_1.c (f_vld2_lane_u8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f16_indices_1.c (f_vld2q_lane_f16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f32_indices_1.c (f_vld2q_lane_f32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f64_indices_1.c (f_vld2q_lane_f64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_p8_indices_1.c (f_vld2q_lane_p8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s16_indices_1.c (f_vld2q_lane_s16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s32_indices_1.c (f_vld2q_lane_s32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s64_indices_1.c (f_vld2q_lane_s64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s8_indices_1.c (f_vld2q_lane_s8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u16_indices_1.c (f_vld2q_lane_u16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u32_indices_1.c (f_vld2q_lane_u32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u64_indices_1.c (f_vld2q_lane_u64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u8_indices_1.c (f_vld2q_lane_u8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f16_indices_1.c (f_vld3_lane_f16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f32_indices_1.c (f_vld3_lane_f32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f64_indices_1.c (f_vld3_lane_f64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_p8_indices_1.c (f_vld3_lane_p8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s16_indices_1.c (f_vld3_lane_s16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s32_indices_1.c (f_vld3_lane_s32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s64_indices_1.c (f_vld3_lane_s64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s8_indices_1.c (f_vld3_lane_s8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u16_indices_1.c (f_vld3_lane_u16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u32_indices_1.c (f_vld3_lane_u32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u64_indices_1.c (f_vld3_lane_u64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u8_indices_1.c (f_vld3_lane_u8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f16_indices_1.c (f_vld3q_lane_f16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f32_indices_1.c (f_vld3q_lane_f32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f64_indices_1.c (f_vld3q_lane_f64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_p8_indices_1.c (f_vld3q_lane_p8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s16_indices_1.c (f_vld3q_lane_s16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s32_indices_1.c (f_vld3q_lane_s32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s64_indices_1.c (f_vld3q_lane_s64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s8_indices_1.c (f_vld3q_lane_s8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u16_indices_1.c (f_vld3q_lane_u16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u32_indices_1.c (f_vld3q_lane_u32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u64_indices_1.c (f_vld3q_lane_u64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u8_indices_1.c (f_vld3q_lane_u8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f16_indices_1.c (f_vld4_lane_f16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f32_indices_1.c (f_vld4_lane_f32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f64_indices_1.c (f_vld4_lane_f64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_p8_indices_1.c (f_vld4_lane_p8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s16_indices_1.c (f_vld4_lane_s16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s32_indices_1.c (f_vld4_lane_s32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s64_indices_1.c (f_vld4_lane_s64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s8_indices_1.c (f_vld4_lane_s8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u16_indices_1.c (f_vld4_lane_u16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u32_indices_1.c (f_vld4_lane_u32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u64_indices_1.c (f_vld4_lane_u64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u8_indices_1.c (f_vld4_lane_u8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f16_indices_1.c (f_vld4q_lane_f16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f32_indices_1.c (f_vld4q_lane_f32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f64_indices_1.c (f_vld4q_lane_f64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_p8_indices_1.c (f_vld4q_lane_p8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s16_indices_1.c (f_vld4q_lane_s16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s32_indices_1.c (f_vld4q_lane_s32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s64_indices_1.c (f_vld4q_lane_s64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s8_indices_1.c (f_vld4q_lane_s8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u16_indices_1.c (f_vld4q_lane_u16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u32_indices_1.c (f_vld4q_lane_u32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u64_indices_1.c (f_vld4q_lane_u64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u8_indices_1.c (f_vld4q_lane_u8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f16_indices_1.c (f_vst2_lane_f16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f32_indices_1.c (f_vst2_lane_f32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f64_indices_1.c (f_vst2_lane_f64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_p8_indices_1.c (f_vst2_lane_p8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s16_indices_1.c (f_vst2_lane_s16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s32_indices_1.c (f_vst2_lane_s32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s64_indices_1.c (f_vst2_lane_s64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s8_indices_1.c (f_vst2_lane_s8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u16_indices_1.c (f_vst2_lane_u16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u32_indices_1.c (f_vst2_lane_u32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u64_indices_1.c (f_vst2_lane_u64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u8_indices_1.c (f_vst2_lane_u8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f16_indices_1.c (f_vst2q_lane_f16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f32_indices_1.c (f_vst2q_lane_f32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f64_indices_1.c (f_vst2q_lane_f64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_p8_indices_1.c (f_vst2q_lane_p8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s16_indices_1.c (f_vst2q_lane_s16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s32_indices_1.c (f_vst2q_lane_s32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s64_indices_1.c (f_vst2q_lane_s64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s8_indices_1.c (f_vst2q_lane_s8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u16_indices_1.c (f_vst2q_lane_u16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u32_indices_1.c (f_vst2q_lane_u32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u64_indices_1.c (f_vst2q_lane_u64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u8_indices_1.c (f_vst2q_lane_u8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f16_indices_1.c (f_vst3_lane_f16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f32_indices_1.c (f_vst3_lane_f32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f64_indices_1.c (f_vst3_lane_f64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_p8_indices_1.c (f_vst3_lane_p8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s16_indices_1.c (f_vst3_lane_s16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s32_indices_1.c (f_vst3_lane_s32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s64_indices_1.c (f_vst3_lane_s64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s8_indices_1.c (f_vst3_lane_s8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u16_indices_1.c (f_vst3_lane_u16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u32_indices_1.c (f_vst3_lane_u32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u64_indices_1.c (f_vst3_lane_u64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u8_indices_1.c (f_vst3_lane_u8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f16_indices_1.c (f_vst3q_lane_f16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f32_indices_1.c (f_vst3q_lane_f32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f64_indices_1.c (f_vst3q_lane_f64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_p8_indices_1.c (f_vst3q_lane_p8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s16_indices_1.c (f_vst3q_lane_s16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s32_indices_1.c (f_vst3q_lane_s32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s64_indices_1.c (f_vst3q_lane_s64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s8_indices_1.c (f_vst3q_lane_s8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u16_indices_1.c (f_vst3q_lane_u16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u32_indices_1.c (f_vst3q_lane_u32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u64_indices_1.c (f_vst3q_lane_u64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u8_indices_1.c (f_vst3q_lane_u8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f16_indices_1.c (f_vst4_lane_f16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f32_indices_1.c (f_vst4_lane_f32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f64_indices_1.c (f_vst4_lane_f64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_p8_indices_1.c (f_vst4_lane_p8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s16_indices_1.c (f_vst4_lane_s16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s32_indices_1.c (f_vst4_lane_s32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s64_indices_1.c (f_vst4_lane_s64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s8_indices_1.c (f_vst4_lane_s8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u16_indices_1.c (f_vst4_lane_u16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u32_indices_1.c (f_vst4_lane_u32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u64_indices_1.c (f_vst4_lane_u64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u8_indices_1.c (f_vst4_lane_u8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f16_indices_1.c (f_vst4q_lane_f16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f32_indices_1.c (f_vst4q_lane_f32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f64_indices_1.c (f_vst4q_lane_f64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_p8_indices_1.c (f_vst4q_lane_p8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s16_indices_1.c (f_vst4q_lane_s16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s32_indices_1.c (f_vst4q_lane_s32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s64_indices_1.c (f_vst4q_lane_s64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s8_indices_1.c (f_vst4q_lane_s8): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u16_indices_1.c (f_vst4q_lane_u16): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u32_indices_1.c (f_vst4q_lane_u32): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u64_indices_1.c (f_vst4q_lane_u64): Ditto. - * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u8_indices_1.c (f_vst4q_lane_u8): Ditto. - -2015-11-30 Tom de Vries - - PR tree-optimization/46032 - * gcc.dg/pr46032.c: New test. - -2015-11-30 Richard Biener - - PR tree-optimization/68592 - * gfortran.dg/pr68592.f: New testcase. - -2015-11-30 Paul Thomas - - PR fortran/68534 - * gfortran.dg/submodule_13.f08: New test. - -2015-11-30 Andreas Krebbel - - * gcc.target/s390/load-relative-check.c: Add scan patterns for - -m31. - -2015-11-30 Andreas Krebbel - - * gcc.target/s390/load-relative-check.c: Add -mzarch. - -2015-11-30 Eric Botcazou - - * gcc.dg/dump-ada-spec-1.c: Move to... - * c-c++-common/dump-ada-spec-1.c: ...here. - * c-c++-common/dump-ada-spec-2.c: New test. - -2015-11-30 Eric Botcazou - - * gnat.dg/loop_optimization22.ad[sb]: New test. - -2015-11-30 Eric Botcazou - - * gnat.dg/specs/rep_clause5.ads: New test. - -2015-11-29 Jan Hubicka - - PR c/67106 - * gcc.c-torture/compile/pr67106.c: New testcase. - -2015-11-29 Jan Hubicka - - PR c/67581 - * g++.dg/torture/pr67581.C: New testcase. - -2015-11-27 Richard Biener - - PR tree-optimization/68559 - * gcc.dg/vect/slp-perm-4.c: Adjust again. - * gcc.dg/vect/pr45752.c: Likewise. - -2015-11-27 Jakub Jelinek - - PR rtl-optimization/68250 - * gcc.c-torture/execute/pr68250.c: New test. - -2015-11-27 Marek Polacek - - * gcc.dg/pr63568.c: Convert to GIMPLE. - -2015-11-27 Kyrylo Tkachov - - PR rtl-optimization/68506 - * gcc.c-torture/execute/pr68506.c: New test. - -2015-11-27 Jakub Jelinek - - PR c/63326 - * gcc.dg/gomp/barrier-2.c (f2): Expect another error after label. - * c-c++-common/gomp/pr63326.c: New test. - -2015-11-27 Richard Biener - - PR tree-optimization/68553 - * gcc.dg/vect/pr45752.c: Adjust. - * gcc.dg/vect/slp-perm-4.c: Likewise. - -2015-11-26 Martin Sebor - - * g++.dg/init/new45.C (cookie_size): New constant set to a value - appropriate for the target. - (operator new[]): Use it. - -2015-11-26 Paolo Carlini - - PR c++/67238 - * g++.dg/cpp0x/pr67238.C: New. - -2015-11-26 Martin Sebor - - * g++.dg/pr67876.C: Remove duplicate content. - -2015-11-26 Andreas Arnez - - * g++.dg/guality/pr67192.C: New test. - -2015-11-26 Matthew Wahab - - * gcc.target/aarch64/advsimd-intrinsics/vqrdmlXh_lane.inc: New file, - support code for vqrdml{as}h_lane tests. - * gcc.target/aarch64/advsimd-intrinsics/vqrdmlah_lane.c: New. - * gcc.target/aarch64/advsimd-intrinsics/vqrdmlsh_lane.c: New. - -2015-11-26 Matthew Wahab - - * gcc.target/aarch64/advsimd-intrinsics/vqrdmlXh.inc: New file, - support code for vqrdml{as}h tests. - * gcc.target/aarch64/advsimd-intrinsics/vqrdmlah.c: New. - * gcc.target/aarch64/advsimd-intrinsics/vqrdmlsh.c: New. - -2015-11-26 Matthew Wahab - - * lib/target-supports.exp (add_options_for_arm_v8_1a_neon): New. - (check_effective_target_arm_arch_FUNC_ok) - (add_options_for_arm_arch_FUNC) - (check_effective_target_arm_arch_FUNC_multilib): Add "armv8.1-a" - to the list to be generated. - (check_effective_target_arm_v8_1a_neon_ok_nocache): New. - (check_effective_target_arm_v8_1a_neon_ok): New. - (check_effective_target_arm_v8_1a_neon_hw): New. - -2015-11-26 Nathan Sidwell - - * gcc.target/nvptx/proto-1.c: Adjust expected asm. - -2015-11-26 Richard Biener - - PR testsuite/68555 - * gcc.dg/vect/bb-slp-10.c: Adjust pattern, use target selector - and not XFAIL. - -2015-11-26 Richard Biener - - PR testsuite/68554 - * gcc.dg/vect/bb-slp-subgroups-2.c: Require vect_perm. - -2015-11-26 Paolo Carlini - - PR c++/67249 - * g++.dg/concepts/pr67249.C: New. - -2015-11-26 Richard Biener - - PR testsuite/66799 - * gcc.dg/vect/pr20122.c (main): Do not align Kernel, do not - vectorize init loop and adjust expected outcome. - -2015-11-26 Richard Biener - - PR testsuite/67203 - * g++.dg/tree-ssa/pr61034.C: Make expected optimization result - dependent on PUSH_ARGS_REVERSED. Drop optimization level and - also monitor final optimization result. - -2015-11-26 Jakub Jelinek - - PR rtl-optimization/68249 - PR rtl-optimization/68321 - * gcc.c-torture/execute/pr68249.c: New test. - * gcc.c-torture/execute/pr68321.c: New test. - -2015-11-26 Ilya Enkovich - - PR target/68416 - * gcc.target/i386/mpx/pr68416.c: New test. - -2015-11-26 Paolo Carlini - - PR c++/67313 - * g++.dg/cpp0x/no-weak1.C: New. - -2015-11-26 Jakub Jelinek - - PR tree-optimization/68128 - * gcc.dg/gomp/pr68128-1.c: New test. - * gcc.dg/gomp/pr68128-2.c: New test. - -2015-11-26 Kyrylo Tkachov - - PR rtl-optimization/67226 - * gcc.c-torture/execute/pr67226.c: New test. - -2015-11-26 Jakub Jelinek - - PR c++/68508 - * g++.dg/ubsan/pr68508.C: New test. - -2015-11-25 Martin Sebor - - PR c++/67876 - * g++.dg/pr67876.C: New test. - -2015-11-25 Aditya Kumar - Sebastian Pop - - PR tree-optimization/68453 - * gfortran.dg/graphite/pr68453.f90: New. - -2015-11-25 Martin Sebor - - PR c/66516 - * g++.dg/addr_builtin-1.C: New test (left out of initial commit). - * gcc.dg/addr_builtin-1.c: Same. - -2015-11-25 Michael Meissner - - * gcc.target/powerpc/dform-1.c: New test. - * gcc.target/powerpc/dform-2.c: Likewise. - -2015-11-23 Jan Hubicka - - * gfortran.dg/lto/bind_c-6_0.f90: New testcase. - * gfortran.dg/lto/bind_c-6_1.c: New testcase. - * g++.dg/lto/20100603-1_0.C: Add -Wno-lto-type-mismatch. - -2015-11-25 Tom de Vries - - * g++.dg/tree-ssa/copyprop-1.C: Update after adding new dce1. - * gcc.dg/pr23911.c: Same. - * gcc.dg/tree-ssa/20030709-2.c: Same. - * gcc.dg/tree-ssa/20030731-2.c: Same. - * gcc.dg/tree-ssa/20040729-1.c: Same. - * gcc.dg/tree-ssa/cfgcleanup-1.c: Same. - * gcc.dg/tree-ssa/loop-36.c: Same. - * gcc.dg/tree-ssa/pr21086.c: Same. - * gcc.dg/tree-ssa/ssa-dce-1.c: Same. - * gcc.dg/tree-ssa/ssa-dce-2.c: Same. - * gcc.dg/vect/pr26359.c: Same. - * c-c++-common/restrict-2.c: Update after adding new lim1. - * c-c++-common/restrict-4.c: Same. - * g++.dg/tree-ssa/pr33615.C: Same. - * g++.dg/tree-ssa/restrict1.C: Same. - * gcc.dg/tm/pub-safety-1.c: Same. - * gcc.dg/tm/reg-promotion.c: Same. - * gcc.dg/tree-ssa/20050314-1.c: Same. - * gcc.dg/tree-ssa/loop-32.c: Same. - * gcc.dg/tree-ssa/loop-33.c: Same. - * gcc.dg/tree-ssa/loop-34.c: Same. - * gcc.dg/tree-ssa/loop-35.c: Same. - * gcc.dg/tree-ssa/loop-7.c: Same. - * gcc.dg/tree-ssa/pr23109.c: Same. - * gcc.dg/tree-ssa/restrict-3.c: Same. - * gcc.dg/tree-ssa/restrict-5.c: Same. - * gcc.dg/tree-ssa/ssa-lim-1.c: Same. - * gcc.dg/tree-ssa/ssa-lim-10.c: Same. - * gcc.dg/tree-ssa/ssa-lim-11.c: Same. - * gcc.dg/tree-ssa/ssa-lim-12.c: Same. - * gcc.dg/tree-ssa/ssa-lim-2.c: Same. - * gcc.dg/tree-ssa/ssa-lim-3.c: Same. - * gcc.dg/tree-ssa/ssa-lim-6.c: Same. - * gcc.dg/tree-ssa/ssa-lim-7.c: Same. - * gcc.dg/tree-ssa/ssa-lim-8.c: Same. - * gcc.dg/tree-ssa/ssa-lim-9.c: Same. - * gcc.dg/tree-ssa/structopt-1.c: Same. - * gfortran.dg/pr32921.f: Same. - * g++.dg/tree-ssa/pr19637.C: Update after adding new dom1. - * g++.dg/tree-ssa/pr61009.C: Same. - * g++.dg/tree-ssa/ssa-dom.C: Same. - * gcc.dg/pr20115-1.c: Same. - * gcc.dg/tree-prof/20050826-2.c: Same. - * gcc.dg/tree-prof/cmpsf-1.c: Same. - * gcc.dg/tree-ssa/20030821-1.c: Same. - * gcc.dg/tree-ssa/20030922-2.c: Same. - * gcc.dg/tree-ssa/20031022-1.c: Same. - * gcc.dg/tree-ssa/20040615-1.c: Same. - * gcc.dg/tree-ssa/20040624-1.c: Same. - * gcc.dg/tree-ssa/pr21417.c: Same. - * gcc.dg/tree-ssa/pr61607.c: Same. - * gcc.dg/tree-ssa/slsr-27.c: Same. - * gcc.dg/tree-ssa/slsr-28.c: Same. - * gcc.dg/tree-ssa/slsr-29.c: Same. - * gcc.dg/tree-ssa/ssa-dom-branch-1.c: Same. - * gcc.dg/tree-ssa/ssa-dom-cse-3.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-1.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-2a.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-2b.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-2c.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-2d.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-2e.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-2f.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-4.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-5.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-6.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Same. - * gcc.dg/tree-ssa/ssa-thread-12.c: Same. - * gcc.dg/tree-ssa/vrp47.c: Same. - * gcc.dg/tree-ssa/copy-headers.c: Update after adding ch1. - * gcc.dg/tree-ssa/foldconst-2.c: Same. - * gcc.dg/tree-ssa/loop-40.c: Same. - * gcc.dg/gomp/notify-new-function-3.c: Update after adding ompexpssa1. - -2015-11-25 Paolo Carlini - - * g++.dg/cpp0x/constexpr-array13.C: Fix. - -2015-11-25 David Edelsohn - - * gfortran.dg/nint_p7.f90: New testcase. - -2015-11-25 Markus Trippelsdorf - Paolo Carlini - - PR c++/68087 - * g++.dg/cpp0x/constexpr-array13.C: New. - -2015-11-25 Ilmir Usmanov - Cesar Philippidis - - PR fortran/63858 - * goacc/omp-fixed.f: New test. - * goacc/omp.f95: Add check for mis-matched omp and acc continuations. - -2015-11-25 Richard Biener - - PR middle-end/68528 - * gcc.dg/torture/pr68528.c: New testcase. - -2015-11-25 Paolo Carlini - - PR c++/58910 - * g++.dg/cpp0x/constexpr-tuple2.C: New. - -2015-11-25 Kyrylo Tkachov - - PR rtl-optimization/68435 - * gcc.dg/pr68435.c: New test. - -2015-11-25 Richard Biener - - PR tree-optimization/68517 - * gcc.dg/torture/pr68517.c: New testcase. - -2015-11-25 Jakub Jelinek - - PR target/67089 - * gcc.dg/pr67089-1.c: New test. - * gcc.dg/pr67089-2.c: New test. - * gcc.dg/pr67089-3.c: New test. - * gcc.dg/pr67089-4.c: New test. - * gcc.dg/pr67089-5.c: New test. - * gcc.dg/pr67089-6.c: New test. - * gcc.dg/pr67089-7.c: New test. - -2015-11-25 Richard Biener - - PR tree-optimization/68502 - * gcc.dg/vect/pr68502-1.c: New testcase. - * gcc.dg/vect/pr68502-2.c: Likewise. - -2015-11-24 Michael Collison - - * gcc.target/aarch64/saddw-1.c: New test. - * gcc.target/aarch64/saddw-2.c: New test. - * gcc.target/aarch64/uaddw-1.c: New test. - * gcc.target/aarch64/uaddw-2.c: New test. - * gcc.target/aarch64/uaddw-3.c: New test. - * lib/target-support.exp - (check_effective_target_vect_widen_sum_hi_to_si_pattern): - Add aarch64 to list of support targets. - -2015-11-24 Steve Ellcey - - * gcc.target/mips/frame-header-4.c: New test. - -2015-11-24 Steven G. Kargl - - PR fortran/68486 - * gfortran.dg/simplify_cshift_3.f90 - -2015-11-24 Paolo Carlini - - PR c++/68278 - * g++.dg/cpp1y/pr68278.C: New. - -2015-11-24 Paolo Carlini - - PR c++/68388 - * g++.dg/cpp1y/pr68388.C: New. - -2015-11-24 Aditya Kumar - Sebastian Pop - - PR tree-optimization/67984 - * gcc.dg/graphite/pr67984.c: New. - -2015-11-24 Michael Matz - - PR rtl-optimization/68392 - * g++.dg/pr68392.C: New test. - -2015-11-24 Nathan Sidwell - - * gcc.dg/sso/dump.h: Force IO to be putchar function call on nvptx. - -2015-11-24 Kyrylo Tkachov - - PR rtl-optimization/68381 - * gcc.c-torture/execute/pr68381.c: New test. - -2015-11-24 Kyrylo Tkachov - - * gcc.target/aarch64/cmpimm_branch_1.c: New test. - * gcc.target/aarch64/cmpimm_cset_1.c: Likewise. - -2015-11-24 Mikhail Maltsev - - PR target/68497 - * gcc.target/i386/pr68497.c: New test. - -2015-11-24 Bilyan Borisov - - * gcc.target/aarch64/advsimd-intrinsics/vmulx_lane_f32_indices_1.c: - New. - * gcc.target/aarch64/advsimd-intrinsics/vmulx_lane_f64_indices_1.c: - New. - * gcc.target/aarch64/advsimd-intrinsics/vmulx_laneq_f32_indices_1.c: - New. - * gcc.target/aarch64/advsimd-intrinsics/vmulx_laneq_f64_indices_1.c: - New. - * gcc.target/aarch64/advsimd-intrinsics/vmulxd_lane_f64_indices_1.c: - New. - * gcc.target/aarch64/advsimd-intrinsics/vmulxd_laneq_f64_indices_1.c: - New. - * gcc.target/aarch64/advsimd-intrinsics/vmulxq_lane_f32_indices_1.c: - New. - * gcc.target/aarch64/advsimd-intrinsics/vmulxq_lane_f64_indices_1.c: - New. - * gcc.target/aarch64/advsimd-intrinsics/vmulxq_laneq_f32_indices_1.c: - New. - * gcc.target/aarch64/advsimd-intrinsics/vmulxq_laneq_f64_indices_1.c: - New. - * gcc.target/aarch64/advsimd-intrinsics/vmulxs_lane_f32_indices_1.c: - New. - * gcc.target/aarch64/advsimd-intrinsics/vmulxs_laneq_f32_indices_1.c: - New. - -2015-11-24 Kyrylo Tkachov - - PR middle-end/68375 - * gcc.dg/pr68375.c: New test. - -2015-11-24 Jakub Jelinek - - PR target/68483 - * gcc.target/i386/pr68483-1.c: New test. - * gcc.target/i386/pr68483-2.c: New test. - -2015-11-24 Ilya Enkovich - - PR c/68337 - * gcc.target/i386/mpx/pr68337-1.c: New test. - * gcc.target/i386/mpx/pr68337-2.c: New test. - -2015-11-24 Kyrylo Tkachov - - PR rtl-optimization/68194 - PR rtl-optimization/68328 - PR rtl-optimization/68185 - * gcc.c-torture/execute/pr68185.c: New test. - * gcc.c-torture/execute/pr68328.c: Likewise. - -2015-11-23 Jan Hubicka - - * gcc.c-torture/execute/lto-tbaa-1.c: New testcase. - -2015-11-23 David Malcolm - - PR objc/68438 - * objc.dg/plugin: New subdirectory. - * objc.dg/plugin/diagnostic-test-expressions-1.m: New test file. - * objc.dg/plugin/plugin.exp: New file, based on - gcc.dg/plugin/plugin.exp. - -2015-11-23 Aditya Kumar - Sebastian Pop - - PR tree-optimization/68493 - * gcc.dg/graphite/pr68493.c: New. - -2015-11-23 Aditya Kumar - Sebastian Pop - - PR tree-optimization/68279 - * gfortran.dg/graphite/pr68279.f90: New. - -2015-11-23 Marek Polacek - - PR tree-optimization/68455 - * gcc.dg/tree-ssa/pr68455.c: New test. - -2015-11-23 Richard Biener - - PR tree-optimization/68465 - * gcc.dg/tree-ssa/ssa-fre-52.c: New testcase. - -2015-11-23 Kyrylo Tkachov - - PR target/68363 - * gcc.target/aarch64/pr68363_1.c: New test. - -2015-11-23 Bilyan Borisov - - * gcc.target/aarch64/simd/vmulx.x: New. - * gcc.target/aarch64/simd/vmulx_f64_2.c: Likewise. - * gcc.target/aarch64/simd/vmulxd_f64_2.c: Likewise. - * gcc.target/aarch64/simd/vmulxs_f32_2.c: Likewise. - -2015-11-23 Igor Zamyatin - - PR c++/68001 - * g++.dg/cilk-plus/CK/pr68001.cc: New test. - -2015-11-23 Richard Biener - Jiong Wang - - PR tree-optimization/68317 - PR tree-optimization/68326 - * gcc.dg/pr68317.c: New testcase. - -2015-11-23 Ilya Enkovich - - PR tree-optimization/68327 - * gcc.dg/pr68327.c: New test. - -2015-11-23 Tom de Vries - - PR tree-optimization/68460 - * gcc.dg/autopar/pr68460.c: New test. - -2015-11-23 Maxim Ostapenko - - * c-c++-common/asan/halt_on_error-1.c: New test. - * c-c++-common/asan/halt_on_error-2.c: Likewise. - -2015-11-23 Richard Biener - - PR tree-optimization/68482 - * gcc.dg/vect/pr68482.c: New testcase. - -2015-11-23 Richard Biener - - PR tree-optimization/68445 - * gcc.dg/vect/pr68445.c: New testcase. - -2015-11-23 Robin Dapp - - * gcc.target/s390/load-relative-check.c: New test to check - generation of load relative instructions. - -2015-11-22 Jerry DeLisle - - * gfortran.dg/fmt_t_8.f90: New test. - -2015-11-23 Kugan Vivekanandarajah - - PR target/68390 - * gcc/testsuite/gcc.c-torture/execute/pr68390.c: New test. - -2015-11-22 Jerry DeLisle - - * gfortran.dg/fmt_g0_1.f08: Update test. Leading zero. - -2015-11-22 Steven G. Kargl - - PR fortran/68486 - * gfortran.dg/simplify_cshift_2.f90: New test. - -2015-11-22 James Norris - Cesar Philippidis - - * gfortran.dg/goacc/declare-1.f95: Update test. - * gfortran.dg/goacc/declare-2.f95: New test. - -2015-11-22 Bilyan Borisov - - * gcc.target/aarch64/simd/vmulx_lane_f32_1.c: New. - * gcc.target/aarch64/simd/vmulx_lane_f64_1.c: New. - * gcc.target/aarch64/simd/vmulx_laneq_f32_1.c: New. - * gcc.target/aarch64/simd/vmulx_laneq_f64_1.c: New. - * gcc.target/aarch64/simd/vmulxq_lane_f32_1.c: New. - * gcc.target/aarch64/simd/vmulxq_lane_f64_1.c: New. - * gcc.target/aarch64/simd/vmulxq_laneq_f32_1.c: New. - * gcc.target/aarch64/simd/vmulxq_laneq_f64_1.c: New. - * gcc.target/aarch64/simd/vmulxs_lane_f32_1.c: New. - * gcc.target/aarch64/simd/vmulxs_laneq_f32_1.c: New. - * gcc.target/aarch64/simd/vmulxd_lane_f64_1.c: New. - * gcc.target/aarch64/simd/vmulxd_laneq_f64_1.c: New. - -2015-11-21 Steven G. Kargl - - * gfortran.dg/simplify_cshift_1.f90: New test. - -2015-11-21 Nathan Sidwell - - * gcc.dg/atomic-generic.c: Include . - -2015-11-21 David Edelsohn - - * gfortran.dg/submodule_6.f08: Add dg-require-effective-target lto. - -2015-11-21 Uros Bizjak - - * g++.dg/init/vbase1.C: Also run on i?86-*-*. - -2015-11-21 Jakub Jelinek - - PR debug/66432 - * gcc.dg/debug/pr66432.c: New test. - -2015-11-20 Ian Lance Taylor - - PR go/66406 - * go.test/go-test.exp (go-gc-tests): Skip nilptr.go if PIE. - -2015-11-20 Mike Stump - - * g++.dg/init/vbase1.C: Only run on x86_64-*-* as this testcase - isn't portable. - -2015-11-20 David Malcolm - - PR 62314 - * gcc.dg/fixits.c: New file. - * gcc.dg/plugin/diagnostic-test-show-locus-ascii-bw.c - (test_fixit_insert): New. - (test_fixit_remove): New. - (test_fixit_replace): New. - * gcc.dg/plugin/diagnostic-test-show-locus-ascii-color.c - (test_fixit_insert): New. - (test_fixit_remove): New. - (test_fixit_replace): New. - * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c - (test_show_locus): Add tests of rendering fixit hints. - -2015-11-20 Jakub Jelinek - - PR middle-end/68339 - * gcc.dg/vect/pr68339.c: New test. - -2015-11-20 Kyrylo Tkachov - - * gcc.target/arm/armv6-unaligned-load-ice.c: New test. - -2015-11-20 Paul Thomas - - PR fortran/68237 - * gfortran.dg/submodule_12.f90: New test - - PR fortran/66762 - * gfortran.dg/submodule_6.f08: Add compile option -flto. - -2015-11-20 Andre Vieira - - * lib/target-supports.exp - (check_effective_target_arm_neon_ok_nocache): Add check - for M profile. - -2015-11-20 Tom de Vries - - PR tree-optimization/68373 - * gcc.dg/autopar/pr68373.c: New test. - -2015-11-20 Jakub Jelinek - - PR c++/67354 - * g++.dg/abi/mangle67.C: New test. - -2015-11-20 Andreas Krebbel - - * gcc.target/s390/bswap-1.c: New test. - -2015-11-20 Dominik Vogt - - * gcc.target/s390/pfpo.c: New test. - -2015-11-20 Kirill Yukhin - - * c-c++-common/attr-simd-3.c: Put xfail (PR68158) on dg-error. - * c-c++-common/attr-simd.c: Limit scan of dump to x86_64/i?86. - -2015-11-19 David Malcolm - - * g++.dg/spellcheck-fields.C: New file. - -2015-11-19 Aditya Kumar - Sebastian Pop - - PR tree-optimization/68428 - * gcc.dg/graphite/pr68428.c: New. - -2015-11-19 Aditya Kumar - Sebastian Pop - - PR tree-optimization/68335 - * gfortran.dg/graphite/pr68335.f90: New. - -2015-11-19 Nathan Sidwell - - * lib/target-supports.exp (check_weak_available): Add nvptx-*-*. - * gcc.dg/attr-weakref-1.c: Skip for nvptx-*-* - * gcc.dg/special/weak-2.c: Likewise. - * gcc.dg/weak/weak-12.c: Likewise. - * gcc.dg/weak/weak-15.c: Likewise. - * gcc.dg/weak/weak-16.c: Likewise. - * gcc.dg/weak/weak-1.c: Likewise. - * gcc.dg/weak/weak-2.c: Likewise. - * gcc.dg/weak/weak-4.c: Likewise. - * gcc.dg/torture/pr53922.c: Likewise. - * gcc.dg/torture/pr60092.c: Likewise. - -2015-11-19 Marek Polacek - - PR c/68412 - * gcc.dg/pr68412-2.c: New test. - * gcc.dg/pr68412.c: New test. - -2015-11-19 Senthil Kumar Selvaraj - - * gcc.dg/tree-ssa/vrp98.c: New testcase. - * gcc.target/avr/uint8-single-reg.c: New testcase. - -2015-11-19 Jakub Jelinek - - PR c++/67409 - * g++.dg/eh/goto3.C: New test. - -2015-11-19 Marek Polacek - - PR tree-optimization/68431 - * gcc.dg/tree-ssa/pr68431.c: New test. - -2015-11-19 Jakub Jelinek - - PR rtl-optimization/68376 - * gcc.c-torture/execute/pr68376-1.c: New test. - * gcc.c-torture/execute/pr68376-2.c: New test. - - PR target/67770 - * gcc.target/i386/pr67770.c: New test. - -2015-11-18 Jeff Law - - PR tree-optimization/68198 - * gcc.dg/tree-ssa/pr66752-3.c: Update expected output for VRP1. - * gcc.dg/tree-ssa/pr68198.c: New test. - -2015-11-18 Steven G. Kargl - - PR fortran/59910 - * gfortran.dg/pr59910.f90: New test. - -2015-11-18 Steven G. Kargl - - PR fortran/43996 - * gfortran.dg/pr43996.f90: New test. - -2015-11-18 Joseph Myers - - PR c/65083 - * gcc.dg/atomic/stdatomic-fence-2.c, - gcc.dg/atomic/stdatomic-flag-2.c: New tests. - -2015-11-18 Eric Botcazou - - * gnat.dg/loop_optimization19.adb: New test. - * gnat.dg/loop_optimization20.adb: Likewise. - * gnat.dg/loop_optimization21.ad[sb]: Likewise. - -2015-11-18 Eric Botcazou - - * gnat.dg/opt52.adb: New test. - -2015-11-18 Nathan Sidwell - - * gcc.dg/goacc/nvptx-sese-1.c: New. - -2015-11-18 Eric Botcazou - - * gnat.dg/renaming7.adb: New test. - * gnat.dg/renaming7_pkg.ads: New helper. - -2015-11-18 Ajit Agarwal - - PR tree-optimization/68402 - * gcc.dg/tree-ssa/split-path-1.c: Fix the testcase - to avoid undefined behaviour. - -2015-11-18 Jakub Jelinek - - PR tree-optimization/68157 - * g++.dg/opt/pr68157.C: New test. - -2015-11-18 Richard Biener - - PR tree-optimization/67790 - * gcc.dg/vect/pr67790.c: New testcase. - -2015-11-17 David Edelsohn - - * g++.dg/cpp1y/pr58708.C: Define wfoo based on sizeof wchar_t. - -2015-11-17 David Malcolm - - * gcc.dg/plugin/diagnostic-test-expressions-1.c (vector): New macro. - (test_braced_init): New function. - (test_statement_expression): New function. - (test_address_of_label): New function. - (test_transaction_expressions): New function. - (test_keywords): New function. - (test_builtin_va_arg): New function. - (test_builtin_offsetof): New function. - * lib/multiline.exp (_build_multiline_regex): Escape braces. - -2015-11-17 Martin Sebor - - PR c++/68308 - * g++.dg/init/new46.C: New test. - -2015-11-17 Dominique d'Humieres - - PR fortran/65751 - * gfortran.dg/unlimited_polymorphic_2.f03: Update test. - -2015-11-17 Ilya Enkovich - - PR middle-end/68134 - * gcc.dg/pr68134.c: New test. - -2015-11-17 Kyrylo Tkachov - - PR target/68143 - * gcc.c-torture/execute/pr68143_1.c: New test. - -2015-11-17 Uros Bizjak - - * gcc.dg/torture/pr68264.c: Use dg-add-options ieee. - -2015-11-17 Venkataramanan Kumar - - * gcc.dg/tree-ssa/ifc-8.c: New test. - -2015-11-16 Marek Polacek - - PR c++/68362 - * g++.dg/delayedfold/switch-1.C: New test. - -2015-11-16 Steven G. Kargl - - PR fortran/58027 - PR fortran/60993 - * gfortran.dg/pr58027.f90: New test. - -2015-11-16 Kirill Yukhin - - * c-c++-common/attr-simd.c: New test. - * c-c++-common/attr-simd-2.c: New test. - * c-c++-common/attr-simd-3.c: New test. - -2015-11-16 Alan Lawrence - - * gcc.target/aarch64/vclz.c: Correctly place INHIB_OPTIMIZATION. - -2015-11-16 Christian Bruel - - * lib/target-supports.exp (check_effective_target_arm_neon_ok_nocache): - Check __ARM_NEON__ instead of "arm_neon.h. - * gcc.target/arm/attr-neon3.c: New test. - * gcc.target/arm/attr-neon-fp16.c: Likewise - -2015-11-16 Christian Bruel - - PR target/65837 - * gcc.target/arm/lto/pr65837_0.c - * gcc.target/arm/attr-neon2.c - * gcc.target/arm/attr-neon.c - * gcc.target/arm/attr-neon-builtin-fail.c - * gcc.target/arm/attr-crypto.c - -2015-11-16 Richard Biener - - * gcc.dg/vect/bb-slp-32.c: Adjust testcase. - -2015-11-15 Paul Thomas - - PR fortran/50221 - * gfortran.dg/deferred_character_1.f90: New test. - * gfortran.dg/deferred_character_4.f90: New test for comment - #4 of the PR. - - PR fortran/68216 - * gfortran.dg/deferred_character_2.f90: New test. - - PR fortran/67674 - * gfortran.dg/deferred_character_3.f90: New test. - - PR fortran/63932 - * gfortran.dg/deferred_character_5.f90: New test. - - PR fortran/66408 - * gfortran.dg/deferred_character_6.f90: New test. - - PR fortran/49954 - * gfortran.dg/deferred_character_7.f90: New test. - -2015-11-14 Steven G. Kargl - - PR fortran/67803 - * gfortran.dg/pr67803.f90: New test. - -2015-11-14 David Edelsohn - - * g++.dg/cpp/ucn-1.C: Fix typo. - -2015-11-13 David Edelsohn - - * g++.dg/init/vbase1.C: XFAIL powerpc*-*-*. - * g++.dg/cpp/ucn-1.C: Expect error for dollar sign identifier on AIX. - -2015-11-13 Ajit Agarwal - Jeff Law - - * gcc.dg/tree-ssa/split-path-1.c: New test. - -2015-11-13 Nathan Sidwell - - * c-c++-common/goacc/loop-auto-1.c: New. - - * lib/target-supports.exp (check_effective_target_offload_nvptx): New. - * gcc.dg/goacc/nvptx-merged-loop.c: New. - -2015-11-13 Steven G. Kargl - - PR fortran/68319 - * gfortran.dg/pr68319.f90: New test. - -2015-11-13 Michael Meissner - - * gcc.target/powerpc/float128-hw.c: New test for IEEE 128-bit - hardware floating point support. - - * gcc.target/powerpc/direct-move-vector.c: New test for 128-bit - vector direct move instructions. - - * gcc.target/powerpc/maddld.c: New test. - -2015-11-13 Uros Bizjak - - * gcc.dg/pr68306.c (dg-additional-options): Add i?86-*-* target. - * gcc.dg/pr68306-2.c (dg-additional-options): Ditto. - * gcc.dg/pr68306-3.c (dg-additional-options): Ditto. - -2015-11-13 David Malcolm - - * gcc.dg/diagnostic-token-ranges.c: New file. - * gcc.dg/diagnostic-tree-expr-ranges-2.c: New file. - * gcc.dg/plugin/diagnostic-test-expressions-1.c: New file. - * gcc.dg/plugin/diagnostic-test-show-trees-1.c: New file. - * gcc.dg/plugin/diagnostic_plugin_show_trees.c: New file. - * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c (get_loc): Add - line_table param when calling - linemap_position_for_line_and_column. - (test_show_locus): Pass line_table to rich_location ctors. - (plugin_init): Remove setting of global_dc->colorize_source_p. - * gcc.dg/plugin/diagnostic_plugin_test_tree_expression_range.c: - New file. - * gcc.dg/plugin/plugin.exp (plugin_test_list): Add - diagnostic_plugin_test_tree_expression_range.c, - diagnostic-test-expressions-1.c, diagnostic_plugin_show_trees.c, - and diagnostic-test-show-trees-1.c. - -2015-11-13 Alan Lawrence - - PR tree-optimization/67682 - * gcc.dg/vect/bb-slp-7.c (main1): Make subgroups non-isomorphic. - * gcc.dg/vect/bb-slp-subgroups-1.c: New. - * gcc.dg/vect/bb-slp-subgroups-2.c: New. - * gcc.dg/vect/bb-slp-subgroups-3.c: New. - -2015-11-13 Kyrylo Tkachov - - * gcc.target/aarch64/umaddl_combine_1.c: New test. - -2015-11-13 Richard Sandiford - - PR tree-optimization/68264 - * gcc.dg/torture/pr68264.c: New test. - -2015-11-13 Marek Polacek - - PR c/68320 - * gcc.dg/pr68320.c: New test. - -2015-11-13 Nathan Sidwell - - * c-c++-common/goacc/data-default-1.c: Correct expected diagnostic. - -2015-11-13 Richard Biener - - PR tree-optimization/68306 - * gcc.dg/pr68306.c: Adjust. - * gcc.dg/pr68306-2.c: New testcase. - * gcc.dg/pr68306-3.c: Likewise. - -2015-11-13 Ilya Enkovich - - * g++.dg/vect/simd-bool-comparison-1.cc: New test. - * g++.dg/vect/simd-bool-comparison-2.cc: New test. - -2015-11-13 Dominique d'Humieres - - PR fortran/47266 - * gfortran.dg/module_private_2.f90: New test. - -2015-11-13 Dominique d'Humieres - - PR fortran/47266 - * gfortran.dg/warn_unused_function_2.f90: New test. - -2015-11-13 Christophe Lyon - - Revert [ARM] Remove neon-testgen.ml and generated tests. - 2015-11-12 Christophe Lyon - - * gcc.target/arm/neon/vRaddhns16.c: Remove. - * gcc.target/arm/neon/vRaddhns32.c: Remove. - * gcc.target/arm/neon/vRaddhns64.c: Remove. - * gcc.target/arm/neon/vRaddhnu16.c: Remove. - * gcc.target/arm/neon/vRaddhnu32.c: Remove. - * gcc.target/arm/neon/vRaddhnu64.c: Remove. - * gcc.target/arm/neon/vRhaddQs16.c: Remove. - * gcc.target/arm/neon/vRhaddQs32.c: Remove. - * gcc.target/arm/neon/vRhaddQs8.c: Remove. - * gcc.target/arm/neon/vRhaddQu16.c: Remove. - * gcc.target/arm/neon/vRhaddQu32.c: Remove. - * gcc.target/arm/neon/vRhaddQu8.c: Remove. - * gcc.target/arm/neon/vRhadds16.c: Remove. - * gcc.target/arm/neon/vRhadds32.c: Remove. - * gcc.target/arm/neon/vRhadds8.c: Remove. - * gcc.target/arm/neon/vRhaddu16.c: Remove. - * gcc.target/arm/neon/vRhaddu32.c: Remove. - * gcc.target/arm/neon/vRhaddu8.c: Remove. - * gcc.target/arm/neon/vRshlQs16.c: Remove. - * gcc.target/arm/neon/vRshlQs32.c: Remove. - * gcc.target/arm/neon/vRshlQs64.c: Remove. - * gcc.target/arm/neon/vRshlQs8.c: Remove. - * gcc.target/arm/neon/vRshlQu16.c: Remove. - * gcc.target/arm/neon/vRshlQu32.c: Remove. - * gcc.target/arm/neon/vRshlQu64.c: Remove. - * gcc.target/arm/neon/vRshlQu8.c: Remove. - * gcc.target/arm/neon/vRshls16.c: Remove. - * gcc.target/arm/neon/vRshls32.c: Remove. - * gcc.target/arm/neon/vRshls64.c: Remove. - * gcc.target/arm/neon/vRshls8.c: Remove. - * gcc.target/arm/neon/vRshlu16.c: Remove. - * gcc.target/arm/neon/vRshlu32.c: Remove. - * gcc.target/arm/neon/vRshlu64.c: Remove. - * gcc.target/arm/neon/vRshlu8.c: Remove. - * gcc.target/arm/neon/vRshrQ_ns16.c: Remove. - * gcc.target/arm/neon/vRshrQ_ns32.c: Remove. - * gcc.target/arm/neon/vRshrQ_ns64.c: Remove. - * gcc.target/arm/neon/vRshrQ_ns8.c: Remove. - * gcc.target/arm/neon/vRshrQ_nu16.c: Remove. - * gcc.target/arm/neon/vRshrQ_nu32.c: Remove. - * gcc.target/arm/neon/vRshrQ_nu64.c: Remove. - * gcc.target/arm/neon/vRshrQ_nu8.c: Remove. - * gcc.target/arm/neon/vRshr_ns16.c: Remove. - * gcc.target/arm/neon/vRshr_ns32.c: Remove. - * gcc.target/arm/neon/vRshr_ns64.c: Remove. - * gcc.target/arm/neon/vRshr_ns8.c: Remove. - * gcc.target/arm/neon/vRshr_nu16.c: Remove. - * gcc.target/arm/neon/vRshr_nu32.c: Remove. - * gcc.target/arm/neon/vRshr_nu64.c: Remove. - * gcc.target/arm/neon/vRshr_nu8.c: Remove. - * gcc.target/arm/neon/vRshrn_ns16.c: Remove. - * gcc.target/arm/neon/vRshrn_ns32.c: Remove. - * gcc.target/arm/neon/vRshrn_ns64.c: Remove. - * gcc.target/arm/neon/vRshrn_nu16.c: Remove. - * gcc.target/arm/neon/vRshrn_nu32.c: Remove. - * gcc.target/arm/neon/vRshrn_nu64.c: Remove. - * gcc.target/arm/neon/vRsraQ_ns16.c: Remove. - * gcc.target/arm/neon/vRsraQ_ns32.c: Remove. - * gcc.target/arm/neon/vRsraQ_ns64.c: Remove. - * gcc.target/arm/neon/vRsraQ_ns8.c: Remove. - * gcc.target/arm/neon/vRsraQ_nu16.c: Remove. - * gcc.target/arm/neon/vRsraQ_nu32.c: Remove. - * gcc.target/arm/neon/vRsraQ_nu64.c: Remove. - * gcc.target/arm/neon/vRsraQ_nu8.c: Remove. - * gcc.target/arm/neon/vRsra_ns16.c: Remove. - * gcc.target/arm/neon/vRsra_ns32.c: Remove. - * gcc.target/arm/neon/vRsra_ns64.c: Remove. - * gcc.target/arm/neon/vRsra_ns8.c: Remove. - * gcc.target/arm/neon/vRsra_nu16.c: Remove. - * gcc.target/arm/neon/vRsra_nu32.c: Remove. - * gcc.target/arm/neon/vRsra_nu64.c: Remove. - * gcc.target/arm/neon/vRsra_nu8.c: Remove. - * gcc.target/arm/neon/vRsubhns16.c: Remove. - * gcc.target/arm/neon/vRsubhns32.c: Remove. - * gcc.target/arm/neon/vRsubhns64.c: Remove. - * gcc.target/arm/neon/vRsubhnu16.c: Remove. - * gcc.target/arm/neon/vRsubhnu32.c: Remove. - * gcc.target/arm/neon/vRsubhnu64.c: Remove. - * gcc.target/arm/neon/vabaQs16.c: Remove. - * gcc.target/arm/neon/vabaQs32.c: Remove. - * gcc.target/arm/neon/vabaQs8.c: Remove. - * gcc.target/arm/neon/vabaQu16.c: Remove. - * gcc.target/arm/neon/vabaQu32.c: Remove. - * gcc.target/arm/neon/vabaQu8.c: Remove. - * gcc.target/arm/neon/vabals16.c: Remove. - * gcc.target/arm/neon/vabals32.c: Remove. - * gcc.target/arm/neon/vabals8.c: Remove. - * gcc.target/arm/neon/vabalu16.c: Remove. - * gcc.target/arm/neon/vabalu32.c: Remove. - * gcc.target/arm/neon/vabalu8.c: Remove. - * gcc.target/arm/neon/vabas16.c: Remove. - * gcc.target/arm/neon/vabas32.c: Remove. - * gcc.target/arm/neon/vabas8.c: Remove. - * gcc.target/arm/neon/vabau16.c: Remove. - * gcc.target/arm/neon/vabau32.c: Remove. - * gcc.target/arm/neon/vabau8.c: Remove. - * gcc.target/arm/neon/vabdQf32.c: Remove. - * gcc.target/arm/neon/vabdQs16.c: Remove. - * gcc.target/arm/neon/vabdQs32.c: Remove. - * gcc.target/arm/neon/vabdQs8.c: Remove. - * gcc.target/arm/neon/vabdQu16.c: Remove. - * gcc.target/arm/neon/vabdQu32.c: Remove. - * gcc.target/arm/neon/vabdQu8.c: Remove. - * gcc.target/arm/neon/vabdf32.c: Remove. - * gcc.target/arm/neon/vabdls16.c: Remove. - * gcc.target/arm/neon/vabdls32.c: Remove. - * gcc.target/arm/neon/vabdls8.c: Remove. - * gcc.target/arm/neon/vabdlu16.c: Remove. - * gcc.target/arm/neon/vabdlu32.c: Remove. - * gcc.target/arm/neon/vabdlu8.c: Remove. - * gcc.target/arm/neon/vabds16.c: Remove. - * gcc.target/arm/neon/vabds32.c: Remove. - * gcc.target/arm/neon/vabds8.c: Remove. - * gcc.target/arm/neon/vabdu16.c: Remove. - * gcc.target/arm/neon/vabdu32.c: Remove. - * gcc.target/arm/neon/vabdu8.c: Remove. - * gcc.target/arm/neon/vabsQf32.c: Remove. - * gcc.target/arm/neon/vabsQs16.c: Remove. - * gcc.target/arm/neon/vabsQs32.c: Remove. - * gcc.target/arm/neon/vabsQs8.c: Remove. - * gcc.target/arm/neon/vabsf32.c: Remove. - * gcc.target/arm/neon/vabss16.c: Remove. - * gcc.target/arm/neon/vabss32.c: Remove. - * gcc.target/arm/neon/vabss8.c: Remove. - * gcc.target/arm/neon/vaddQf32.c: Remove. - * gcc.target/arm/neon/vaddQs16.c: Remove. - * gcc.target/arm/neon/vaddQs32.c: Remove. - * gcc.target/arm/neon/vaddQs64.c: Remove. - * gcc.target/arm/neon/vaddQs8.c: Remove. - * gcc.target/arm/neon/vaddQu16.c: Remove. - * gcc.target/arm/neon/vaddQu32.c: Remove. - * gcc.target/arm/neon/vaddQu64.c: Remove. - * gcc.target/arm/neon/vaddQu8.c: Remove. - * gcc.target/arm/neon/vaddf32.c: Remove. - * gcc.target/arm/neon/vaddhns16.c: Remove. - * gcc.target/arm/neon/vaddhns32.c: Remove. - * gcc.target/arm/neon/vaddhns64.c: Remove. - * gcc.target/arm/neon/vaddhnu16.c: Remove. - * gcc.target/arm/neon/vaddhnu32.c: Remove. - * gcc.target/arm/neon/vaddhnu64.c: Remove. - * gcc.target/arm/neon/vaddls16.c: Remove. - * gcc.target/arm/neon/vaddls32.c: Remove. - * gcc.target/arm/neon/vaddls8.c: Remove. - * gcc.target/arm/neon/vaddlu16.c: Remove. - * gcc.target/arm/neon/vaddlu32.c: Remove. - * gcc.target/arm/neon/vaddlu8.c: Remove. - * gcc.target/arm/neon/vadds16.c: Remove. - * gcc.target/arm/neon/vadds32.c: Remove. - * gcc.target/arm/neon/vadds64.c: Remove. - * gcc.target/arm/neon/vadds8.c: Remove. - * gcc.target/arm/neon/vaddu16.c: Remove. - * gcc.target/arm/neon/vaddu32.c: Remove. - * gcc.target/arm/neon/vaddu64.c: Remove. - * gcc.target/arm/neon/vaddu8.c: Remove. - * gcc.target/arm/neon/vaddws16.c: Remove. - * gcc.target/arm/neon/vaddws32.c: Remove. - * gcc.target/arm/neon/vaddws8.c: Remove. - * gcc.target/arm/neon/vaddwu16.c: Remove. - * gcc.target/arm/neon/vaddwu32.c: Remove. - * gcc.target/arm/neon/vaddwu8.c: Remove. - * gcc.target/arm/neon/vandQs16.c: Remove. - * gcc.target/arm/neon/vandQs32.c: Remove. - * gcc.target/arm/neon/vandQs64.c: Remove. - * gcc.target/arm/neon/vandQs8.c: Remove. - * gcc.target/arm/neon/vandQu16.c: Remove. - * gcc.target/arm/neon/vandQu32.c: Remove. - * gcc.target/arm/neon/vandQu64.c: Remove. - * gcc.target/arm/neon/vandQu8.c: Remove. - * gcc.target/arm/neon/vands16.c: Remove. - * gcc.target/arm/neon/vands32.c: Remove. - * gcc.target/arm/neon/vands64.c: Remove. - * gcc.target/arm/neon/vands8.c: Remove. - * gcc.target/arm/neon/vandu16.c: Remove. - * gcc.target/arm/neon/vandu32.c: Remove. - * gcc.target/arm/neon/vandu64.c: Remove. - * gcc.target/arm/neon/vandu8.c: Remove. - * gcc.target/arm/neon/vbicQs16.c: Remove. - * gcc.target/arm/neon/vbicQs32.c: Remove. - * gcc.target/arm/neon/vbicQs64.c: Remove. - * gcc.target/arm/neon/vbicQs8.c: Remove. - * gcc.target/arm/neon/vbicQu16.c: Remove. - * gcc.target/arm/neon/vbicQu32.c: Remove. - * gcc.target/arm/neon/vbicQu64.c: Remove. - * gcc.target/arm/neon/vbicQu8.c: Remove. - * gcc.target/arm/neon/vbics16.c: Remove. - * gcc.target/arm/neon/vbics32.c: Remove. - * gcc.target/arm/neon/vbics64.c: Remove. - * gcc.target/arm/neon/vbics8.c: Remove. - * gcc.target/arm/neon/vbicu16.c: Remove. - * gcc.target/arm/neon/vbicu32.c: Remove. - * gcc.target/arm/neon/vbicu64.c: Remove. - * gcc.target/arm/neon/vbicu8.c: Remove. - * gcc.target/arm/neon/vbslQf32.c: Remove. - * gcc.target/arm/neon/vbslQp16.c: Remove. - * gcc.target/arm/neon/vbslQp64.c: Remove. - * gcc.target/arm/neon/vbslQp8.c: Remove. - * gcc.target/arm/neon/vbslQs16.c: Remove. - * gcc.target/arm/neon/vbslQs32.c: Remove. - * gcc.target/arm/neon/vbslQs64.c: Remove. - * gcc.target/arm/neon/vbslQs8.c: Remove. - * gcc.target/arm/neon/vbslQu16.c: Remove. - * gcc.target/arm/neon/vbslQu32.c: Remove. - * gcc.target/arm/neon/vbslQu64.c: Remove. - * gcc.target/arm/neon/vbslQu8.c: Remove. - * gcc.target/arm/neon/vbslf32.c: Remove. - * gcc.target/arm/neon/vbslp16.c: Remove. - * gcc.target/arm/neon/vbslp64.c: Remove. - * gcc.target/arm/neon/vbslp8.c: Remove. - * gcc.target/arm/neon/vbsls16.c: Remove. - * gcc.target/arm/neon/vbsls32.c: Remove. - * gcc.target/arm/neon/vbsls64.c: Remove. - * gcc.target/arm/neon/vbsls8.c: Remove. - * gcc.target/arm/neon/vbslu16.c: Remove. - * gcc.target/arm/neon/vbslu32.c: Remove. - * gcc.target/arm/neon/vbslu64.c: Remove. - * gcc.target/arm/neon/vbslu8.c: Remove. - * gcc.target/arm/neon/vcageQf32.c: Remove. - * gcc.target/arm/neon/vcagef32.c: Remove. - * gcc.target/arm/neon/vcagtQf32.c: Remove. - * gcc.target/arm/neon/vcagtf32.c: Remove. - * gcc.target/arm/neon/vcaleQf32.c: Remove. - * gcc.target/arm/neon/vcalef32.c: Remove. - * gcc.target/arm/neon/vcaltQf32.c: Remove. - * gcc.target/arm/neon/vcaltf32.c: Remove. - * gcc.target/arm/neon/vceqQf32.c: Remove. - * gcc.target/arm/neon/vceqQp8.c: Remove. - * gcc.target/arm/neon/vceqQs16.c: Remove. - * gcc.target/arm/neon/vceqQs32.c: Remove. - * gcc.target/arm/neon/vceqQs8.c: Remove. - * gcc.target/arm/neon/vceqQu16.c: Remove. - * gcc.target/arm/neon/vceqQu32.c: Remove. - * gcc.target/arm/neon/vceqQu8.c: Remove. - * gcc.target/arm/neon/vceqf32.c: Remove. - * gcc.target/arm/neon/vceqp8.c: Remove. - * gcc.target/arm/neon/vceqs16.c: Remove. - * gcc.target/arm/neon/vceqs32.c: Remove. - * gcc.target/arm/neon/vceqs8.c: Remove. - * gcc.target/arm/neon/vcequ16.c: Remove. - * gcc.target/arm/neon/vcequ32.c: Remove. - * gcc.target/arm/neon/vcequ8.c: Remove. - * gcc.target/arm/neon/vcgeQf32.c: Remove. - * gcc.target/arm/neon/vcgeQs16.c: Remove. - * gcc.target/arm/neon/vcgeQs32.c: Remove. - * gcc.target/arm/neon/vcgeQs8.c: Remove. - * gcc.target/arm/neon/vcgeQu16.c: Remove. - * gcc.target/arm/neon/vcgeQu32.c: Remove. - * gcc.target/arm/neon/vcgeQu8.c: Remove. - * gcc.target/arm/neon/vcgef32.c: Remove. - * gcc.target/arm/neon/vcges16.c: Remove. - * gcc.target/arm/neon/vcges32.c: Remove. - * gcc.target/arm/neon/vcges8.c: Remove. - * gcc.target/arm/neon/vcgeu16.c: Remove. - * gcc.target/arm/neon/vcgeu32.c: Remove. - * gcc.target/arm/neon/vcgeu8.c: Remove. - * gcc.target/arm/neon/vcgtQf32.c: Remove. - * gcc.target/arm/neon/vcgtQs16.c: Remove. - * gcc.target/arm/neon/vcgtQs32.c: Remove. - * gcc.target/arm/neon/vcgtQs8.c: Remove. - * gcc.target/arm/neon/vcgtQu16.c: Remove. - * gcc.target/arm/neon/vcgtQu32.c: Remove. - * gcc.target/arm/neon/vcgtQu8.c: Remove. - * gcc.target/arm/neon/vcgtf32.c: Remove. - * gcc.target/arm/neon/vcgts16.c: Remove. - * gcc.target/arm/neon/vcgts32.c: Remove. - * gcc.target/arm/neon/vcgts8.c: Remove. - * gcc.target/arm/neon/vcgtu16.c: Remove. - * gcc.target/arm/neon/vcgtu32.c: Remove. - * gcc.target/arm/neon/vcgtu8.c: Remove. - * gcc.target/arm/neon/vcleQf32.c: Remove. - * gcc.target/arm/neon/vcleQs16.c: Remove. - * gcc.target/arm/neon/vcleQs32.c: Remove. - * gcc.target/arm/neon/vcleQs8.c: Remove. - * gcc.target/arm/neon/vcleQu16.c: Remove. - * gcc.target/arm/neon/vcleQu32.c: Remove. - * gcc.target/arm/neon/vcleQu8.c: Remove. - * gcc.target/arm/neon/vclef32.c: Remove. - * gcc.target/arm/neon/vcles16.c: Remove. - * gcc.target/arm/neon/vcles32.c: Remove. - * gcc.target/arm/neon/vcles8.c: Remove. - * gcc.target/arm/neon/vcleu16.c: Remove. - * gcc.target/arm/neon/vcleu32.c: Remove. - * gcc.target/arm/neon/vcleu8.c: Remove. - * gcc.target/arm/neon/vclsQs16.c: Remove. - * gcc.target/arm/neon/vclsQs32.c: Remove. - * gcc.target/arm/neon/vclsQs8.c: Remove. - * gcc.target/arm/neon/vclss16.c: Remove. - * gcc.target/arm/neon/vclss32.c: Remove. - * gcc.target/arm/neon/vclss8.c: Remove. - * gcc.target/arm/neon/vcltQf32.c: Remove. - * gcc.target/arm/neon/vcltQs16.c: Remove. - * gcc.target/arm/neon/vcltQs32.c: Remove. - * gcc.target/arm/neon/vcltQs8.c: Remove. - * gcc.target/arm/neon/vcltQu16.c: Remove. - * gcc.target/arm/neon/vcltQu32.c: Remove. - * gcc.target/arm/neon/vcltQu8.c: Remove. - * gcc.target/arm/neon/vcltf32.c: Remove. - * gcc.target/arm/neon/vclts16.c: Remove. - * gcc.target/arm/neon/vclts32.c: Remove. - * gcc.target/arm/neon/vclts8.c: Remove. - * gcc.target/arm/neon/vcltu16.c: Remove. - * gcc.target/arm/neon/vcltu32.c: Remove. - * gcc.target/arm/neon/vcltu8.c: Remove. - * gcc.target/arm/neon/vclzQs16.c: Remove. - * gcc.target/arm/neon/vclzQs32.c: Remove. - * gcc.target/arm/neon/vclzQs8.c: Remove. - * gcc.target/arm/neon/vclzQu16.c: Remove. - * gcc.target/arm/neon/vclzQu32.c: Remove. - * gcc.target/arm/neon/vclzQu8.c: Remove. - * gcc.target/arm/neon/vclzs16.c: Remove. - * gcc.target/arm/neon/vclzs32.c: Remove. - * gcc.target/arm/neon/vclzs8.c: Remove. - * gcc.target/arm/neon/vclzu16.c: Remove. - * gcc.target/arm/neon/vclzu32.c: Remove. - * gcc.target/arm/neon/vclzu8.c: Remove. - * gcc.target/arm/neon/vcntQp8.c: Remove. - * gcc.target/arm/neon/vcntQs8.c: Remove. - * gcc.target/arm/neon/vcntQu8.c: Remove. - * gcc.target/arm/neon/vcntp8.c: Remove. - * gcc.target/arm/neon/vcnts8.c: Remove. - * gcc.target/arm/neon/vcntu8.c: Remove. - * gcc.target/arm/neon/vcombinef32.c: Remove. - * gcc.target/arm/neon/vcombinep16.c: Remove. - * gcc.target/arm/neon/vcombinep64.c: Remove. - * gcc.target/arm/neon/vcombinep8.c: Remove. - * gcc.target/arm/neon/vcombines16.c: Remove. - * gcc.target/arm/neon/vcombines32.c: Remove. - * gcc.target/arm/neon/vcombines64.c: Remove. - * gcc.target/arm/neon/vcombines8.c: Remove. - * gcc.target/arm/neon/vcombineu16.c: Remove. - * gcc.target/arm/neon/vcombineu32.c: Remove. - * gcc.target/arm/neon/vcombineu64.c: Remove. - * gcc.target/arm/neon/vcombineu8.c: Remove. - * gcc.target/arm/neon/vcreatef32.c: Remove. - * gcc.target/arm/neon/vcreatep16.c: Remove. - * gcc.target/arm/neon/vcreatep64.c: Remove. - * gcc.target/arm/neon/vcreatep8.c: Remove. - * gcc.target/arm/neon/vcreates16.c: Remove. - * gcc.target/arm/neon/vcreates32.c: Remove. - * gcc.target/arm/neon/vcreates64.c: Remove. - * gcc.target/arm/neon/vcreates8.c: Remove. - * gcc.target/arm/neon/vcreateu16.c: Remove. - * gcc.target/arm/neon/vcreateu32.c: Remove. - * gcc.target/arm/neon/vcreateu64.c: Remove. - * gcc.target/arm/neon/vcreateu8.c: Remove. - * gcc.target/arm/neon/vcvtQ_nf32_s32.c: Remove. - * gcc.target/arm/neon/vcvtQ_nf32_u32.c: Remove. - * gcc.target/arm/neon/vcvtQ_ns32_f32.c: Remove. - * gcc.target/arm/neon/vcvtQ_nu32_f32.c: Remove. - * gcc.target/arm/neon/vcvtQf32_s32.c: Remove. - * gcc.target/arm/neon/vcvtQf32_u32.c: Remove. - * gcc.target/arm/neon/vcvtQs32_f32.c: Remove. - * gcc.target/arm/neon/vcvtQu32_f32.c: Remove. - * gcc.target/arm/neon/vcvt_nf32_s32.c: Remove. - * gcc.target/arm/neon/vcvt_nf32_u32.c: Remove. - * gcc.target/arm/neon/vcvt_ns32_f32.c: Remove. - * gcc.target/arm/neon/vcvt_nu32_f32.c: Remove. - * gcc.target/arm/neon/vcvtf16_f32.c: Remove. - * gcc.target/arm/neon/vcvtf32_f16.c: Remove. - * gcc.target/arm/neon/vcvtf32_s32.c: Remove. - * gcc.target/arm/neon/vcvtf32_u32.c: Remove. - * gcc.target/arm/neon/vcvts32_f32.c: Remove. - * gcc.target/arm/neon/vcvtu32_f32.c: Remove. - * gcc.target/arm/neon/vdupQ_lanef32.c: Remove. - * gcc.target/arm/neon/vdupQ_lanep16.c: Remove. - * gcc.target/arm/neon/vdupQ_lanep64.c: Remove. - * gcc.target/arm/neon/vdupQ_lanep8.c: Remove. - * gcc.target/arm/neon/vdupQ_lanes16.c: Remove. - * gcc.target/arm/neon/vdupQ_lanes32.c: Remove. - * gcc.target/arm/neon/vdupQ_lanes64.c: Remove. - * gcc.target/arm/neon/vdupQ_lanes8.c: Remove. - * gcc.target/arm/neon/vdupQ_laneu16.c: Remove. - * gcc.target/arm/neon/vdupQ_laneu32.c: Remove. - * gcc.target/arm/neon/vdupQ_laneu64.c: Remove. - * gcc.target/arm/neon/vdupQ_laneu8.c: Remove. - * gcc.target/arm/neon/vdupQ_nf32.c: Remove. - * gcc.target/arm/neon/vdupQ_np16.c: Remove. - * gcc.target/arm/neon/vdupQ_np64.c: Remove. - * gcc.target/arm/neon/vdupQ_np8.c: Remove. - * gcc.target/arm/neon/vdupQ_ns16.c: Remove. - * gcc.target/arm/neon/vdupQ_ns32.c: Remove. - * gcc.target/arm/neon/vdupQ_ns64.c: Remove. - * gcc.target/arm/neon/vdupQ_ns8.c: Remove. - * gcc.target/arm/neon/vdupQ_nu16.c: Remove. - * gcc.target/arm/neon/vdupQ_nu32.c: Remove. - * gcc.target/arm/neon/vdupQ_nu64.c: Remove. - * gcc.target/arm/neon/vdupQ_nu8.c: Remove. - * gcc.target/arm/neon/vdup_lanef32.c: Remove. - * gcc.target/arm/neon/vdup_lanep16.c: Remove. - * gcc.target/arm/neon/vdup_lanep64.c: Remove. - * gcc.target/arm/neon/vdup_lanep8.c: Remove. - * gcc.target/arm/neon/vdup_lanes16.c: Remove. - * gcc.target/arm/neon/vdup_lanes32.c: Remove. - * gcc.target/arm/neon/vdup_lanes64.c: Remove. - * gcc.target/arm/neon/vdup_lanes8.c: Remove. - * gcc.target/arm/neon/vdup_laneu16.c: Remove. - * gcc.target/arm/neon/vdup_laneu32.c: Remove. - * gcc.target/arm/neon/vdup_laneu64.c: Remove. - * gcc.target/arm/neon/vdup_laneu8.c: Remove. - * gcc.target/arm/neon/vdup_nf32.c: Remove. - * gcc.target/arm/neon/vdup_np16.c: Remove. - * gcc.target/arm/neon/vdup_np64.c: Remove. - * gcc.target/arm/neon/vdup_np8.c: Remove. - * gcc.target/arm/neon/vdup_ns16.c: Remove. - * gcc.target/arm/neon/vdup_ns32.c: Remove. - * gcc.target/arm/neon/vdup_ns64.c: Remove. - * gcc.target/arm/neon/vdup_ns8.c: Remove. - * gcc.target/arm/neon/vdup_nu16.c: Remove. - * gcc.target/arm/neon/vdup_nu32.c: Remove. - * gcc.target/arm/neon/vdup_nu64.c: Remove. - * gcc.target/arm/neon/vdup_nu8.c: Remove. - * gcc.target/arm/neon/veorQs16.c: Remove. - * gcc.target/arm/neon/veorQs32.c: Remove. - * gcc.target/arm/neon/veorQs64.c: Remove. - * gcc.target/arm/neon/veorQs8.c: Remove. - * gcc.target/arm/neon/veorQu16.c: Remove. - * gcc.target/arm/neon/veorQu32.c: Remove. - * gcc.target/arm/neon/veorQu64.c: Remove. - * gcc.target/arm/neon/veorQu8.c: Remove. - * gcc.target/arm/neon/veors16.c: Remove. - * gcc.target/arm/neon/veors32.c: Remove. - * gcc.target/arm/neon/veors64.c: Remove. - * gcc.target/arm/neon/veors8.c: Remove. - * gcc.target/arm/neon/veoru16.c: Remove. - * gcc.target/arm/neon/veoru32.c: Remove. - * gcc.target/arm/neon/veoru64.c: Remove. - * gcc.target/arm/neon/veoru8.c: Remove. - * gcc.target/arm/neon/vextQf32.c: Remove. - * gcc.target/arm/neon/vextQp16.c: Remove. - * gcc.target/arm/neon/vextQp64.c: Remove. - * gcc.target/arm/neon/vextQp8.c: Remove. - * gcc.target/arm/neon/vextQs16.c: Remove. - * gcc.target/arm/neon/vextQs32.c: Remove. - * gcc.target/arm/neon/vextQs64.c: Remove. - * gcc.target/arm/neon/vextQs8.c: Remove. - * gcc.target/arm/neon/vextQu16.c: Remove. - * gcc.target/arm/neon/vextQu32.c: Remove. - * gcc.target/arm/neon/vextQu64.c: Remove. - * gcc.target/arm/neon/vextQu8.c: Remove. - * gcc.target/arm/neon/vextf32.c: Remove. - * gcc.target/arm/neon/vextp16.c: Remove. - * gcc.target/arm/neon/vextp64.c: Remove. - * gcc.target/arm/neon/vextp8.c: Remove. - * gcc.target/arm/neon/vexts16.c: Remove. - * gcc.target/arm/neon/vexts32.c: Remove. - * gcc.target/arm/neon/vexts64.c: Remove. - * gcc.target/arm/neon/vexts8.c: Remove. - * gcc.target/arm/neon/vextu16.c: Remove. - * gcc.target/arm/neon/vextu32.c: Remove. - * gcc.target/arm/neon/vextu64.c: Remove. - * gcc.target/arm/neon/vextu8.c: Remove. - * gcc.target/arm/neon/vfmaQf32.c: Remove. - * gcc.target/arm/neon/vfmaf32.c: Remove. - * gcc.target/arm/neon/vfmsQf32.c: Remove. - * gcc.target/arm/neon/vfmsf32.c: Remove. - * gcc.target/arm/neon/vgetQ_lanef32.c: Remove. - * gcc.target/arm/neon/vgetQ_lanep16.c: Remove. - * gcc.target/arm/neon/vgetQ_lanep8.c: Remove. - * gcc.target/arm/neon/vgetQ_lanes16.c: Remove. - * gcc.target/arm/neon/vgetQ_lanes32.c: Remove. - * gcc.target/arm/neon/vgetQ_lanes64.c: Remove. - * gcc.target/arm/neon/vgetQ_lanes8.c: Remove. - * gcc.target/arm/neon/vgetQ_laneu16.c: Remove. - * gcc.target/arm/neon/vgetQ_laneu32.c: Remove. - * gcc.target/arm/neon/vgetQ_laneu64.c: Remove. - * gcc.target/arm/neon/vgetQ_laneu8.c: Remove. - * gcc.target/arm/neon/vget_highf32.c: Remove. - * gcc.target/arm/neon/vget_highp16.c: Remove. - * gcc.target/arm/neon/vget_highp64.c: Remove. - * gcc.target/arm/neon/vget_highp8.c: Remove. - * gcc.target/arm/neon/vget_highs16.c: Remove. - * gcc.target/arm/neon/vget_highs32.c: Remove. - * gcc.target/arm/neon/vget_highs64.c: Remove. - * gcc.target/arm/neon/vget_highs8.c: Remove. - * gcc.target/arm/neon/vget_highu16.c: Remove. - * gcc.target/arm/neon/vget_highu32.c: Remove. - * gcc.target/arm/neon/vget_highu64.c: Remove. - * gcc.target/arm/neon/vget_highu8.c: Remove. - * gcc.target/arm/neon/vget_lanef32.c: Remove. - * gcc.target/arm/neon/vget_lanep16.c: Remove. - * gcc.target/arm/neon/vget_lanep8.c: Remove. - * gcc.target/arm/neon/vget_lanes16.c: Remove. - * gcc.target/arm/neon/vget_lanes32.c: Remove. - * gcc.target/arm/neon/vget_lanes64.c: Remove. - * gcc.target/arm/neon/vget_lanes8.c: Remove. - * gcc.target/arm/neon/vget_laneu16.c: Remove. - * gcc.target/arm/neon/vget_laneu32.c: Remove. - * gcc.target/arm/neon/vget_laneu64.c: Remove. - * gcc.target/arm/neon/vget_laneu8.c: Remove. - * gcc.target/arm/neon/vget_lowf32.c: Remove. - * gcc.target/arm/neon/vget_lowp16.c: Remove. - * gcc.target/arm/neon/vget_lowp64.c: Remove. - * gcc.target/arm/neon/vget_lowp8.c: Remove. - * gcc.target/arm/neon/vget_lows16.c: Remove. - * gcc.target/arm/neon/vget_lows32.c: Remove. - * gcc.target/arm/neon/vget_lows64.c: Remove. - * gcc.target/arm/neon/vget_lows8.c: Remove. - * gcc.target/arm/neon/vget_lowu16.c: Remove. - * gcc.target/arm/neon/vget_lowu32.c: Remove. - * gcc.target/arm/neon/vget_lowu64.c: Remove. - * gcc.target/arm/neon/vget_lowu8.c: Remove. - * gcc.target/arm/neon/vhaddQs16.c: Remove. - * gcc.target/arm/neon/vhaddQs32.c: Remove. - * gcc.target/arm/neon/vhaddQs8.c: Remove. - * gcc.target/arm/neon/vhaddQu16.c: Remove. - * gcc.target/arm/neon/vhaddQu32.c: Remove. - * gcc.target/arm/neon/vhaddQu8.c: Remove. - * gcc.target/arm/neon/vhadds16.c: Remove. - * gcc.target/arm/neon/vhadds32.c: Remove. - * gcc.target/arm/neon/vhadds8.c: Remove. - * gcc.target/arm/neon/vhaddu16.c: Remove. - * gcc.target/arm/neon/vhaddu32.c: Remove. - * gcc.target/arm/neon/vhaddu8.c: Remove. - * gcc.target/arm/neon/vhsubQs16.c: Remove. - * gcc.target/arm/neon/vhsubQs32.c: Remove. - * gcc.target/arm/neon/vhsubQs8.c: Remove. - * gcc.target/arm/neon/vhsubQu16.c: Remove. - * gcc.target/arm/neon/vhsubQu32.c: Remove. - * gcc.target/arm/neon/vhsubQu8.c: Remove. - * gcc.target/arm/neon/vhsubs16.c: Remove. - * gcc.target/arm/neon/vhsubs32.c: Remove. - * gcc.target/arm/neon/vhsubs8.c: Remove. - * gcc.target/arm/neon/vhsubu16.c: Remove. - * gcc.target/arm/neon/vhsubu32.c: Remove. - * gcc.target/arm/neon/vhsubu8.c: Remove. - * gcc.target/arm/neon/vld1Q_dupf32.c: Remove. - * gcc.target/arm/neon/vld1Q_dupp16.c: Remove. - * gcc.target/arm/neon/vld1Q_dupp64.c: Remove. - * gcc.target/arm/neon/vld1Q_dupp8.c: Remove. - * gcc.target/arm/neon/vld1Q_dups16.c: Remove. - * gcc.target/arm/neon/vld1Q_dups32.c: Remove. - * gcc.target/arm/neon/vld1Q_dups64.c: Remove. - * gcc.target/arm/neon/vld1Q_dups8.c: Remove. - * gcc.target/arm/neon/vld1Q_dupu16.c: Remove. - * gcc.target/arm/neon/vld1Q_dupu32.c: Remove. - * gcc.target/arm/neon/vld1Q_dupu64.c: Remove. - * gcc.target/arm/neon/vld1Q_dupu8.c: Remove. - * gcc.target/arm/neon/vld1Q_lanef32.c: Remove. - * gcc.target/arm/neon/vld1Q_lanep16.c: Remove. - * gcc.target/arm/neon/vld1Q_lanep64.c: Remove. - * gcc.target/arm/neon/vld1Q_lanep8.c: Remove. - * gcc.target/arm/neon/vld1Q_lanes16.c: Remove. - * gcc.target/arm/neon/vld1Q_lanes32.c: Remove. - * gcc.target/arm/neon/vld1Q_lanes64.c: Remove. - * gcc.target/arm/neon/vld1Q_lanes8.c: Remove. - * gcc.target/arm/neon/vld1Q_laneu16.c: Remove. - * gcc.target/arm/neon/vld1Q_laneu32.c: Remove. - * gcc.target/arm/neon/vld1Q_laneu64.c: Remove. - * gcc.target/arm/neon/vld1Q_laneu8.c: Remove. - * gcc.target/arm/neon/vld1Qf32.c: Remove. - * gcc.target/arm/neon/vld1Qp16.c: Remove. - * gcc.target/arm/neon/vld1Qp64.c: Remove. - * gcc.target/arm/neon/vld1Qp8.c: Remove. - * gcc.target/arm/neon/vld1Qs16.c: Remove. - * gcc.target/arm/neon/vld1Qs32.c: Remove. - * gcc.target/arm/neon/vld1Qs64.c: Remove. - * gcc.target/arm/neon/vld1Qs8.c: Remove. - * gcc.target/arm/neon/vld1Qu16.c: Remove. - * gcc.target/arm/neon/vld1Qu32.c: Remove. - * gcc.target/arm/neon/vld1Qu64.c: Remove. - * gcc.target/arm/neon/vld1Qu8.c: Remove. - * gcc.target/arm/neon/vld1_dupf32.c: Remove. - * gcc.target/arm/neon/vld1_dupp16.c: Remove. - * gcc.target/arm/neon/vld1_dupp64.c: Remove. - * gcc.target/arm/neon/vld1_dupp8.c: Remove. - * gcc.target/arm/neon/vld1_dups16.c: Remove. - * gcc.target/arm/neon/vld1_dups32.c: Remove. - * gcc.target/arm/neon/vld1_dups64.c: Remove. - * gcc.target/arm/neon/vld1_dups8.c: Remove. - * gcc.target/arm/neon/vld1_dupu16.c: Remove. - * gcc.target/arm/neon/vld1_dupu32.c: Remove. - * gcc.target/arm/neon/vld1_dupu64.c: Remove. - * gcc.target/arm/neon/vld1_dupu8.c: Remove. - * gcc.target/arm/neon/vld1_lanef32.c: Remove. - * gcc.target/arm/neon/vld1_lanep16.c: Remove. - * gcc.target/arm/neon/vld1_lanep64.c: Remove. - * gcc.target/arm/neon/vld1_lanep8.c: Remove. - * gcc.target/arm/neon/vld1_lanes16.c: Remove. - * gcc.target/arm/neon/vld1_lanes32.c: Remove. - * gcc.target/arm/neon/vld1_lanes64.c: Remove. - * gcc.target/arm/neon/vld1_lanes8.c: Remove. - * gcc.target/arm/neon/vld1_laneu16.c: Remove. - * gcc.target/arm/neon/vld1_laneu32.c: Remove. - * gcc.target/arm/neon/vld1_laneu64.c: Remove. - * gcc.target/arm/neon/vld1_laneu8.c: Remove. - * gcc.target/arm/neon/vld1f32.c: Remove. - * gcc.target/arm/neon/vld1p16.c: Remove. - * gcc.target/arm/neon/vld1p64.c: Remove. - * gcc.target/arm/neon/vld1p8.c: Remove. - * gcc.target/arm/neon/vld1s16.c: Remove. - * gcc.target/arm/neon/vld1s32.c: Remove. - * gcc.target/arm/neon/vld1s64.c: Remove. - * gcc.target/arm/neon/vld1s8.c: Remove. - * gcc.target/arm/neon/vld1u16.c: Remove. - * gcc.target/arm/neon/vld1u32.c: Remove. - * gcc.target/arm/neon/vld1u64.c: Remove. - * gcc.target/arm/neon/vld1u8.c: Remove. - * gcc.target/arm/neon/vld2Q_lanef32.c: Remove. - * gcc.target/arm/neon/vld2Q_lanep16.c: Remove. - * gcc.target/arm/neon/vld2Q_lanes16.c: Remove. - * gcc.target/arm/neon/vld2Q_lanes32.c: Remove. - * gcc.target/arm/neon/vld2Q_laneu16.c: Remove. - * gcc.target/arm/neon/vld2Q_laneu32.c: Remove. - * gcc.target/arm/neon/vld2Qf32.c: Remove. - * gcc.target/arm/neon/vld2Qp16.c: Remove. - * gcc.target/arm/neon/vld2Qp8.c: Remove. - * gcc.target/arm/neon/vld2Qs16.c: Remove. - * gcc.target/arm/neon/vld2Qs32.c: Remove. - * gcc.target/arm/neon/vld2Qs8.c: Remove. - * gcc.target/arm/neon/vld2Qu16.c: Remove. - * gcc.target/arm/neon/vld2Qu32.c: Remove. - * gcc.target/arm/neon/vld2Qu8.c: Remove. - * gcc.target/arm/neon/vld2_dupf32.c: Remove. - * gcc.target/arm/neon/vld2_dupp16.c: Remove. - * gcc.target/arm/neon/vld2_dupp64.c: Remove. - * gcc.target/arm/neon/vld2_dupp8.c: Remove. - * gcc.target/arm/neon/vld2_dups16.c: Remove. - * gcc.target/arm/neon/vld2_dups32.c: Remove. - * gcc.target/arm/neon/vld2_dups64.c: Remove. - * gcc.target/arm/neon/vld2_dups8.c: Remove. - * gcc.target/arm/neon/vld2_dupu16.c: Remove. - * gcc.target/arm/neon/vld2_dupu32.c: Remove. - * gcc.target/arm/neon/vld2_dupu64.c: Remove. - * gcc.target/arm/neon/vld2_dupu8.c: Remove. - * gcc.target/arm/neon/vld2_lanef32.c: Remove. - * gcc.target/arm/neon/vld2_lanep16.c: Remove. - * gcc.target/arm/neon/vld2_lanep8.c: Remove. - * gcc.target/arm/neon/vld2_lanes16.c: Remove. - * gcc.target/arm/neon/vld2_lanes32.c: Remove. - * gcc.target/arm/neon/vld2_lanes8.c: Remove. - * gcc.target/arm/neon/vld2_laneu16.c: Remove. - * gcc.target/arm/neon/vld2_laneu32.c: Remove. - * gcc.target/arm/neon/vld2_laneu8.c: Remove. - * gcc.target/arm/neon/vld2f32.c: Remove. - * gcc.target/arm/neon/vld2p16.c: Remove. - * gcc.target/arm/neon/vld2p64.c: Remove. - * gcc.target/arm/neon/vld2p8.c: Remove. - * gcc.target/arm/neon/vld2s16.c: Remove. - * gcc.target/arm/neon/vld2s32.c: Remove. - * gcc.target/arm/neon/vld2s64.c: Remove. - * gcc.target/arm/neon/vld2s8.c: Remove. - * gcc.target/arm/neon/vld2u16.c: Remove. - * gcc.target/arm/neon/vld2u32.c: Remove. - * gcc.target/arm/neon/vld2u64.c: Remove. - * gcc.target/arm/neon/vld2u8.c: Remove. - * gcc.target/arm/neon/vld3Q_lanef32.c: Remove. - * gcc.target/arm/neon/vld3Q_lanep16.c: Remove. - * gcc.target/arm/neon/vld3Q_lanes16.c: Remove. - * gcc.target/arm/neon/vld3Q_lanes32.c: Remove. - * gcc.target/arm/neon/vld3Q_laneu16.c: Remove. - * gcc.target/arm/neon/vld3Q_laneu32.c: Remove. - * gcc.target/arm/neon/vld3Qf32.c: Remove. - * gcc.target/arm/neon/vld3Qp16.c: Remove. - * gcc.target/arm/neon/vld3Qp8.c: Remove. - * gcc.target/arm/neon/vld3Qs16.c: Remove. - * gcc.target/arm/neon/vld3Qs32.c: Remove. - * gcc.target/arm/neon/vld3Qs8.c: Remove. - * gcc.target/arm/neon/vld3Qu16.c: Remove. - * gcc.target/arm/neon/vld3Qu32.c: Remove. - * gcc.target/arm/neon/vld3Qu8.c: Remove. - * gcc.target/arm/neon/vld3_dupf32.c: Remove. - * gcc.target/arm/neon/vld3_dupp16.c: Remove. - * gcc.target/arm/neon/vld3_dupp64.c: Remove. - * gcc.target/arm/neon/vld3_dupp8.c: Remove. - * gcc.target/arm/neon/vld3_dups16.c: Remove. - * gcc.target/arm/neon/vld3_dups32.c: Remove. - * gcc.target/arm/neon/vld3_dups64.c: Remove. - * gcc.target/arm/neon/vld3_dups8.c: Remove. - * gcc.target/arm/neon/vld3_dupu16.c: Remove. - * gcc.target/arm/neon/vld3_dupu32.c: Remove. - * gcc.target/arm/neon/vld3_dupu64.c: Remove. - * gcc.target/arm/neon/vld3_dupu8.c: Remove. - * gcc.target/arm/neon/vld3_lanef32.c: Remove. - * gcc.target/arm/neon/vld3_lanep16.c: Remove. - * gcc.target/arm/neon/vld3_lanep8.c: Remove. - * gcc.target/arm/neon/vld3_lanes16.c: Remove. - * gcc.target/arm/neon/vld3_lanes32.c: Remove. - * gcc.target/arm/neon/vld3_lanes8.c: Remove. - * gcc.target/arm/neon/vld3_laneu16.c: Remove. - * gcc.target/arm/neon/vld3_laneu32.c: Remove. - * gcc.target/arm/neon/vld3_laneu8.c: Remove. - * gcc.target/arm/neon/vld3f32.c: Remove. - * gcc.target/arm/neon/vld3p16.c: Remove. - * gcc.target/arm/neon/vld3p64.c: Remove. - * gcc.target/arm/neon/vld3p8.c: Remove. - * gcc.target/arm/neon/vld3s16.c: Remove. - * gcc.target/arm/neon/vld3s32.c: Remove. - * gcc.target/arm/neon/vld3s64.c: Remove. - * gcc.target/arm/neon/vld3s8.c: Remove. - * gcc.target/arm/neon/vld3u16.c: Remove. - * gcc.target/arm/neon/vld3u32.c: Remove. - * gcc.target/arm/neon/vld3u64.c: Remove. - * gcc.target/arm/neon/vld3u8.c: Remove. - * gcc.target/arm/neon/vld4Q_lanef32.c: Remove. - * gcc.target/arm/neon/vld4Q_lanep16.c: Remove. - * gcc.target/arm/neon/vld4Q_lanes16.c: Remove. - * gcc.target/arm/neon/vld4Q_lanes32.c: Remove. - * gcc.target/arm/neon/vld4Q_laneu16.c: Remove. - * gcc.target/arm/neon/vld4Q_laneu32.c: Remove. - * gcc.target/arm/neon/vld4Qf32.c: Remove. - * gcc.target/arm/neon/vld4Qp16.c: Remove. - * gcc.target/arm/neon/vld4Qp8.c: Remove. - * gcc.target/arm/neon/vld4Qs16.c: Remove. - * gcc.target/arm/neon/vld4Qs32.c: Remove. - * gcc.target/arm/neon/vld4Qs8.c: Remove. - * gcc.target/arm/neon/vld4Qu16.c: Remove. - * gcc.target/arm/neon/vld4Qu32.c: Remove. - * gcc.target/arm/neon/vld4Qu8.c: Remove. - * gcc.target/arm/neon/vld4_dupf32.c: Remove. - * gcc.target/arm/neon/vld4_dupp16.c: Remove. - * gcc.target/arm/neon/vld4_dupp64.c: Remove. - * gcc.target/arm/neon/vld4_dupp8.c: Remove. - * gcc.target/arm/neon/vld4_dups16.c: Remove. - * gcc.target/arm/neon/vld4_dups32.c: Remove. - * gcc.target/arm/neon/vld4_dups64.c: Remove. - * gcc.target/arm/neon/vld4_dups8.c: Remove. - * gcc.target/arm/neon/vld4_dupu16.c: Remove. - * gcc.target/arm/neon/vld4_dupu32.c: Remove. - * gcc.target/arm/neon/vld4_dupu64.c: Remove. - * gcc.target/arm/neon/vld4_dupu8.c: Remove. - * gcc.target/arm/neon/vld4_lanef32.c: Remove. - * gcc.target/arm/neon/vld4_lanep16.c: Remove. - * gcc.target/arm/neon/vld4_lanep8.c: Remove. - * gcc.target/arm/neon/vld4_lanes16.c: Remove. - * gcc.target/arm/neon/vld4_lanes32.c: Remove. - * gcc.target/arm/neon/vld4_lanes8.c: Remove. - * gcc.target/arm/neon/vld4_laneu16.c: Remove. - * gcc.target/arm/neon/vld4_laneu32.c: Remove. - * gcc.target/arm/neon/vld4_laneu8.c: Remove. - * gcc.target/arm/neon/vld4f32.c: Remove. - * gcc.target/arm/neon/vld4p16.c: Remove. - * gcc.target/arm/neon/vld4p64.c: Remove. - * gcc.target/arm/neon/vld4p8.c: Remove. - * gcc.target/arm/neon/vld4s16.c: Remove. - * gcc.target/arm/neon/vld4s32.c: Remove. - * gcc.target/arm/neon/vld4s64.c: Remove. - * gcc.target/arm/neon/vld4s8.c: Remove. - * gcc.target/arm/neon/vld4u16.c: Remove. - * gcc.target/arm/neon/vld4u32.c: Remove. - * gcc.target/arm/neon/vld4u64.c: Remove. - * gcc.target/arm/neon/vld4u8.c: Remove. - * gcc.target/arm/neon/vmaxQf32.c: Remove. - * gcc.target/arm/neon/vmaxQs16.c: Remove. - * gcc.target/arm/neon/vmaxQs32.c: Remove. - * gcc.target/arm/neon/vmaxQs8.c: Remove. - * gcc.target/arm/neon/vmaxQu16.c: Remove. - * gcc.target/arm/neon/vmaxQu32.c: Remove. - * gcc.target/arm/neon/vmaxQu8.c: Remove. - * gcc.target/arm/neon/vmaxf32.c: Remove. - * gcc.target/arm/neon/vmaxs16.c: Remove. - * gcc.target/arm/neon/vmaxs32.c: Remove. - * gcc.target/arm/neon/vmaxs8.c: Remove. - * gcc.target/arm/neon/vmaxu16.c: Remove. - * gcc.target/arm/neon/vmaxu32.c: Remove. - * gcc.target/arm/neon/vmaxu8.c: Remove. - * gcc.target/arm/neon/vminQf32.c: Remove. - * gcc.target/arm/neon/vminQs16.c: Remove. - * gcc.target/arm/neon/vminQs32.c: Remove. - * gcc.target/arm/neon/vminQs8.c: Remove. - * gcc.target/arm/neon/vminQu16.c: Remove. - * gcc.target/arm/neon/vminQu32.c: Remove. - * gcc.target/arm/neon/vminQu8.c: Remove. - * gcc.target/arm/neon/vminf32.c: Remove. - * gcc.target/arm/neon/vmins16.c: Remove. - * gcc.target/arm/neon/vmins32.c: Remove. - * gcc.target/arm/neon/vmins8.c: Remove. - * gcc.target/arm/neon/vminu16.c: Remove. - * gcc.target/arm/neon/vminu32.c: Remove. - * gcc.target/arm/neon/vminu8.c: Remove. - * gcc.target/arm/neon/vmlaQ_lanef32.c: Remove. - * gcc.target/arm/neon/vmlaQ_lanes16.c: Remove. - * gcc.target/arm/neon/vmlaQ_lanes32.c: Remove. - * gcc.target/arm/neon/vmlaQ_laneu16.c: Remove. - * gcc.target/arm/neon/vmlaQ_laneu32.c: Remove. - * gcc.target/arm/neon/vmlaQ_nf32.c: Remove. - * gcc.target/arm/neon/vmlaQ_ns16.c: Remove. - * gcc.target/arm/neon/vmlaQ_ns32.c: Remove. - * gcc.target/arm/neon/vmlaQ_nu16.c: Remove. - * gcc.target/arm/neon/vmlaQ_nu32.c: Remove. - * gcc.target/arm/neon/vmlaQf32.c: Remove. - * gcc.target/arm/neon/vmlaQs16.c: Remove. - * gcc.target/arm/neon/vmlaQs32.c: Remove. - * gcc.target/arm/neon/vmlaQs8.c: Remove. - * gcc.target/arm/neon/vmlaQu16.c: Remove. - * gcc.target/arm/neon/vmlaQu32.c: Remove. - * gcc.target/arm/neon/vmlaQu8.c: Remove. - * gcc.target/arm/neon/vmla_lanef32.c: Remove. - * gcc.target/arm/neon/vmla_lanes16.c: Remove. - * gcc.target/arm/neon/vmla_lanes32.c: Remove. - * gcc.target/arm/neon/vmla_laneu16.c: Remove. - * gcc.target/arm/neon/vmla_laneu32.c: Remove. - * gcc.target/arm/neon/vmla_nf32.c: Remove. - * gcc.target/arm/neon/vmla_ns16.c: Remove. - * gcc.target/arm/neon/vmla_ns32.c: Remove. - * gcc.target/arm/neon/vmla_nu16.c: Remove. - * gcc.target/arm/neon/vmla_nu32.c: Remove. - * gcc.target/arm/neon/vmlaf32.c: Remove. - * gcc.target/arm/neon/vmlal_lanes16.c: Remove. - * gcc.target/arm/neon/vmlal_lanes32.c: Remove. - * gcc.target/arm/neon/vmlal_laneu16.c: Remove. - * gcc.target/arm/neon/vmlal_laneu32.c: Remove. - * gcc.target/arm/neon/vmlal_ns16.c: Remove. - * gcc.target/arm/neon/vmlal_ns32.c: Remove. - * gcc.target/arm/neon/vmlal_nu16.c: Remove. - * gcc.target/arm/neon/vmlal_nu32.c: Remove. - * gcc.target/arm/neon/vmlals16.c: Remove. - * gcc.target/arm/neon/vmlals32.c: Remove. - * gcc.target/arm/neon/vmlals8.c: Remove. - * gcc.target/arm/neon/vmlalu16.c: Remove. - * gcc.target/arm/neon/vmlalu32.c: Remove. - * gcc.target/arm/neon/vmlalu8.c: Remove. - * gcc.target/arm/neon/vmlas16.c: Remove. - * gcc.target/arm/neon/vmlas32.c: Remove. - * gcc.target/arm/neon/vmlas8.c: Remove. - * gcc.target/arm/neon/vmlau16.c: Remove. - * gcc.target/arm/neon/vmlau32.c: Remove. - * gcc.target/arm/neon/vmlau8.c: Remove. - * gcc.target/arm/neon/vmlsQ_lanef32.c: Remove. - * gcc.target/arm/neon/vmlsQ_lanes16.c: Remove. - * gcc.target/arm/neon/vmlsQ_lanes32.c: Remove. - * gcc.target/arm/neon/vmlsQ_laneu16.c: Remove. - * gcc.target/arm/neon/vmlsQ_laneu32.c: Remove. - * gcc.target/arm/neon/vmlsQ_nf32.c: Remove. - * gcc.target/arm/neon/vmlsQ_ns16.c: Remove. - * gcc.target/arm/neon/vmlsQ_ns32.c: Remove. - * gcc.target/arm/neon/vmlsQ_nu16.c: Remove. - * gcc.target/arm/neon/vmlsQ_nu32.c: Remove. - * gcc.target/arm/neon/vmlsQf32.c: Remove. - * gcc.target/arm/neon/vmlsQs16.c: Remove. - * gcc.target/arm/neon/vmlsQs32.c: Remove. - * gcc.target/arm/neon/vmlsQs8.c: Remove. - * gcc.target/arm/neon/vmlsQu16.c: Remove. - * gcc.target/arm/neon/vmlsQu32.c: Remove. - * gcc.target/arm/neon/vmlsQu8.c: Remove. - * gcc.target/arm/neon/vmls_lanef32.c: Remove. - * gcc.target/arm/neon/vmls_lanes16.c: Remove. - * gcc.target/arm/neon/vmls_lanes32.c: Remove. - * gcc.target/arm/neon/vmls_laneu16.c: Remove. - * gcc.target/arm/neon/vmls_laneu32.c: Remove. - * gcc.target/arm/neon/vmls_nf32.c: Remove. - * gcc.target/arm/neon/vmls_ns16.c: Remove. - * gcc.target/arm/neon/vmls_ns32.c: Remove. - * gcc.target/arm/neon/vmls_nu16.c: Remove. - * gcc.target/arm/neon/vmls_nu32.c: Remove. - * gcc.target/arm/neon/vmlsf32.c: Remove. - * gcc.target/arm/neon/vmlsl_lanes16.c: Remove. - * gcc.target/arm/neon/vmlsl_lanes32.c: Remove. - * gcc.target/arm/neon/vmlsl_laneu16.c: Remove. - * gcc.target/arm/neon/vmlsl_laneu32.c: Remove. - * gcc.target/arm/neon/vmlsl_ns16.c: Remove. - * gcc.target/arm/neon/vmlsl_ns32.c: Remove. - * gcc.target/arm/neon/vmlsl_nu16.c: Remove. - * gcc.target/arm/neon/vmlsl_nu32.c: Remove. - * gcc.target/arm/neon/vmlsls16.c: Remove. - * gcc.target/arm/neon/vmlsls32.c: Remove. - * gcc.target/arm/neon/vmlsls8.c: Remove. - * gcc.target/arm/neon/vmlslu16.c: Remove. - * gcc.target/arm/neon/vmlslu32.c: Remove. - * gcc.target/arm/neon/vmlslu8.c: Remove. - * gcc.target/arm/neon/vmlss16.c: Remove. - * gcc.target/arm/neon/vmlss32.c: Remove. - * gcc.target/arm/neon/vmlss8.c: Remove. - * gcc.target/arm/neon/vmlsu16.c: Remove. - * gcc.target/arm/neon/vmlsu32.c: Remove. - * gcc.target/arm/neon/vmlsu8.c: Remove. - * gcc.target/arm/neon/vmovQ_nf32.c: Remove. - * gcc.target/arm/neon/vmovQ_np16.c: Remove. - * gcc.target/arm/neon/vmovQ_np8.c: Remove. - * gcc.target/arm/neon/vmovQ_ns16.c: Remove. - * gcc.target/arm/neon/vmovQ_ns32.c: Remove. - * gcc.target/arm/neon/vmovQ_ns64.c: Remove. - * gcc.target/arm/neon/vmovQ_ns8.c: Remove. - * gcc.target/arm/neon/vmovQ_nu16.c: Remove. - * gcc.target/arm/neon/vmovQ_nu32.c: Remove. - * gcc.target/arm/neon/vmovQ_nu64.c: Remove. - * gcc.target/arm/neon/vmovQ_nu8.c: Remove. - * gcc.target/arm/neon/vmov_nf32.c: Remove. - * gcc.target/arm/neon/vmov_np16.c: Remove. - * gcc.target/arm/neon/vmov_np8.c: Remove. - * gcc.target/arm/neon/vmov_ns16.c: Remove. - * gcc.target/arm/neon/vmov_ns32.c: Remove. - * gcc.target/arm/neon/vmov_ns64.c: Remove. - * gcc.target/arm/neon/vmov_ns8.c: Remove. - * gcc.target/arm/neon/vmov_nu16.c: Remove. - * gcc.target/arm/neon/vmov_nu32.c: Remove. - * gcc.target/arm/neon/vmov_nu64.c: Remove. - * gcc.target/arm/neon/vmov_nu8.c: Remove. - * gcc.target/arm/neon/vmovls16.c: Remove. - * gcc.target/arm/neon/vmovls32.c: Remove. - * gcc.target/arm/neon/vmovls8.c: Remove. - * gcc.target/arm/neon/vmovlu16.c: Remove. - * gcc.target/arm/neon/vmovlu32.c: Remove. - * gcc.target/arm/neon/vmovlu8.c: Remove. - * gcc.target/arm/neon/vmovns16.c: Remove. - * gcc.target/arm/neon/vmovns32.c: Remove. - * gcc.target/arm/neon/vmovns64.c: Remove. - * gcc.target/arm/neon/vmovnu16.c: Remove. - * gcc.target/arm/neon/vmovnu32.c: Remove. - * gcc.target/arm/neon/vmovnu64.c: Remove. - * gcc.target/arm/neon/vmulQ_lanef32.c: Remove. - * gcc.target/arm/neon/vmulQ_lanes16.c: Remove. - * gcc.target/arm/neon/vmulQ_lanes32.c: Remove. - * gcc.target/arm/neon/vmulQ_laneu16.c: Remove. - * gcc.target/arm/neon/vmulQ_laneu32.c: Remove. - * gcc.target/arm/neon/vmulQ_nf32.c: Remove. - * gcc.target/arm/neon/vmulQ_ns16.c: Remove. - * gcc.target/arm/neon/vmulQ_ns32.c: Remove. - * gcc.target/arm/neon/vmulQ_nu16.c: Remove. - * gcc.target/arm/neon/vmulQ_nu32.c: Remove. - * gcc.target/arm/neon/vmulQf32.c: Remove. - * gcc.target/arm/neon/vmulQp8.c: Remove. - * gcc.target/arm/neon/vmulQs16.c: Remove. - * gcc.target/arm/neon/vmulQs32.c: Remove. - * gcc.target/arm/neon/vmulQs8.c: Remove. - * gcc.target/arm/neon/vmulQu16.c: Remove. - * gcc.target/arm/neon/vmulQu32.c: Remove. - * gcc.target/arm/neon/vmulQu8.c: Remove. - * gcc.target/arm/neon/vmul_lanef32.c: Remove. - * gcc.target/arm/neon/vmul_lanes16.c: Remove. - * gcc.target/arm/neon/vmul_lanes32.c: Remove. - * gcc.target/arm/neon/vmul_laneu16.c: Remove. - * gcc.target/arm/neon/vmul_laneu32.c: Remove. - * gcc.target/arm/neon/vmul_nf32.c: Remove. - * gcc.target/arm/neon/vmul_ns16.c: Remove. - * gcc.target/arm/neon/vmul_ns32.c: Remove. - * gcc.target/arm/neon/vmul_nu16.c: Remove. - * gcc.target/arm/neon/vmul_nu32.c: Remove. - * gcc.target/arm/neon/vmulf32.c: Remove. - * gcc.target/arm/neon/vmull_lanes16.c: Remove. - * gcc.target/arm/neon/vmull_lanes32.c: Remove. - * gcc.target/arm/neon/vmull_laneu16.c: Remove. - * gcc.target/arm/neon/vmull_laneu32.c: Remove. - * gcc.target/arm/neon/vmull_ns16.c: Remove. - * gcc.target/arm/neon/vmull_ns32.c: Remove. - * gcc.target/arm/neon/vmull_nu16.c: Remove. - * gcc.target/arm/neon/vmull_nu32.c: Remove. - * gcc.target/arm/neon/vmullp8.c: Remove. - * gcc.target/arm/neon/vmulls16.c: Remove. - * gcc.target/arm/neon/vmulls32.c: Remove. - * gcc.target/arm/neon/vmulls8.c: Remove. - * gcc.target/arm/neon/vmullu16.c: Remove. - * gcc.target/arm/neon/vmullu32.c: Remove. - * gcc.target/arm/neon/vmullu8.c: Remove. - * gcc.target/arm/neon/vmulp8.c: Remove. - * gcc.target/arm/neon/vmuls16.c: Remove. - * gcc.target/arm/neon/vmuls32.c: Remove. - * gcc.target/arm/neon/vmuls8.c: Remove. - * gcc.target/arm/neon/vmulu16.c: Remove. - * gcc.target/arm/neon/vmulu32.c: Remove. - * gcc.target/arm/neon/vmulu8.c: Remove. - * gcc.target/arm/neon/vmvnQp8.c: Remove. - * gcc.target/arm/neon/vmvnQs16.c: Remove. - * gcc.target/arm/neon/vmvnQs32.c: Remove. - * gcc.target/arm/neon/vmvnQs8.c: Remove. - * gcc.target/arm/neon/vmvnQu16.c: Remove. - * gcc.target/arm/neon/vmvnQu32.c: Remove. - * gcc.target/arm/neon/vmvnQu8.c: Remove. - * gcc.target/arm/neon/vmvnp8.c: Remove. - * gcc.target/arm/neon/vmvns16.c: Remove. - * gcc.target/arm/neon/vmvns32.c: Remove. - * gcc.target/arm/neon/vmvns8.c: Remove. - * gcc.target/arm/neon/vmvnu16.c: Remove. - * gcc.target/arm/neon/vmvnu32.c: Remove. - * gcc.target/arm/neon/vmvnu8.c: Remove. - * gcc.target/arm/neon/vnegQf32.c: Remove. - * gcc.target/arm/neon/vnegQs16.c: Remove. - * gcc.target/arm/neon/vnegQs32.c: Remove. - * gcc.target/arm/neon/vnegQs8.c: Remove. - * gcc.target/arm/neon/vnegf32.c: Remove. - * gcc.target/arm/neon/vnegs16.c: Remove. - * gcc.target/arm/neon/vnegs32.c: Remove. - * gcc.target/arm/neon/vnegs8.c: Remove. - * gcc.target/arm/neon/vornQs16.c: Remove. - * gcc.target/arm/neon/vornQs32.c: Remove. - * gcc.target/arm/neon/vornQs64.c: Remove. - * gcc.target/arm/neon/vornQs8.c: Remove. - * gcc.target/arm/neon/vornQu16.c: Remove. - * gcc.target/arm/neon/vornQu32.c: Remove. - * gcc.target/arm/neon/vornQu64.c: Remove. - * gcc.target/arm/neon/vornQu8.c: Remove. - * gcc.target/arm/neon/vorns16.c: Remove. - * gcc.target/arm/neon/vorns32.c: Remove. - * gcc.target/arm/neon/vorns64.c: Remove. - * gcc.target/arm/neon/vorns8.c: Remove. - * gcc.target/arm/neon/vornu16.c: Remove. - * gcc.target/arm/neon/vornu32.c: Remove. - * gcc.target/arm/neon/vornu64.c: Remove. - * gcc.target/arm/neon/vornu8.c: Remove. - * gcc.target/arm/neon/vorrQs16.c: Remove. - * gcc.target/arm/neon/vorrQs32.c: Remove. - * gcc.target/arm/neon/vorrQs64.c: Remove. - * gcc.target/arm/neon/vorrQs8.c: Remove. - * gcc.target/arm/neon/vorrQu16.c: Remove. - * gcc.target/arm/neon/vorrQu32.c: Remove. - * gcc.target/arm/neon/vorrQu64.c: Remove. - * gcc.target/arm/neon/vorrQu8.c: Remove. - * gcc.target/arm/neon/vorrs16.c: Remove. - * gcc.target/arm/neon/vorrs32.c: Remove. - * gcc.target/arm/neon/vorrs64.c: Remove. - * gcc.target/arm/neon/vorrs8.c: Remove. - * gcc.target/arm/neon/vorru16.c: Remove. - * gcc.target/arm/neon/vorru32.c: Remove. - * gcc.target/arm/neon/vorru64.c: Remove. - * gcc.target/arm/neon/vorru8.c: Remove. - * gcc.target/arm/neon/vpadalQs16.c: Remove. - * gcc.target/arm/neon/vpadalQs32.c: Remove. - * gcc.target/arm/neon/vpadalQs8.c: Remove. - * gcc.target/arm/neon/vpadalQu16.c: Remove. - * gcc.target/arm/neon/vpadalQu32.c: Remove. - * gcc.target/arm/neon/vpadalQu8.c: Remove. - * gcc.target/arm/neon/vpadals16.c: Remove. - * gcc.target/arm/neon/vpadals32.c: Remove. - * gcc.target/arm/neon/vpadals8.c: Remove. - * gcc.target/arm/neon/vpadalu16.c: Remove. - * gcc.target/arm/neon/vpadalu32.c: Remove. - * gcc.target/arm/neon/vpadalu8.c: Remove. - * gcc.target/arm/neon/vpaddf32.c: Remove. - * gcc.target/arm/neon/vpaddlQs16.c: Remove. - * gcc.target/arm/neon/vpaddlQs32.c: Remove. - * gcc.target/arm/neon/vpaddlQs8.c: Remove. - * gcc.target/arm/neon/vpaddlQu16.c: Remove. - * gcc.target/arm/neon/vpaddlQu32.c: Remove. - * gcc.target/arm/neon/vpaddlQu8.c: Remove. - * gcc.target/arm/neon/vpaddls16.c: Remove. - * gcc.target/arm/neon/vpaddls32.c: Remove. - * gcc.target/arm/neon/vpaddls8.c: Remove. - * gcc.target/arm/neon/vpaddlu16.c: Remove. - * gcc.target/arm/neon/vpaddlu32.c: Remove. - * gcc.target/arm/neon/vpaddlu8.c: Remove. - * gcc.target/arm/neon/vpadds16.c: Remove. - * gcc.target/arm/neon/vpadds32.c: Remove. - * gcc.target/arm/neon/vpadds8.c: Remove. - * gcc.target/arm/neon/vpaddu16.c: Remove. - * gcc.target/arm/neon/vpaddu32.c: Remove. - * gcc.target/arm/neon/vpaddu8.c: Remove. - * gcc.target/arm/neon/vpmaxf32.c: Remove. - * gcc.target/arm/neon/vpmaxs16.c: Remove. - * gcc.target/arm/neon/vpmaxs32.c: Remove. - * gcc.target/arm/neon/vpmaxs8.c: Remove. - * gcc.target/arm/neon/vpmaxu16.c: Remove. - * gcc.target/arm/neon/vpmaxu32.c: Remove. - * gcc.target/arm/neon/vpmaxu8.c: Remove. - * gcc.target/arm/neon/vpminf32.c: Remove. - * gcc.target/arm/neon/vpmins16.c: Remove. - * gcc.target/arm/neon/vpmins32.c: Remove. - * gcc.target/arm/neon/vpmins8.c: Remove. - * gcc.target/arm/neon/vpminu16.c: Remove. - * gcc.target/arm/neon/vpminu32.c: Remove. - * gcc.target/arm/neon/vpminu8.c: Remove. - * gcc.target/arm/neon/vqRdmulhQ_lanes16.c: Remove. - * gcc.target/arm/neon/vqRdmulhQ_lanes32.c: Remove. - * gcc.target/arm/neon/vqRdmulhQ_ns16.c: Remove. - * gcc.target/arm/neon/vqRdmulhQ_ns32.c: Remove. - * gcc.target/arm/neon/vqRdmulhQs16.c: Remove. - * gcc.target/arm/neon/vqRdmulhQs32.c: Remove. - * gcc.target/arm/neon/vqRdmulh_lanes16.c: Remove. - * gcc.target/arm/neon/vqRdmulh_lanes32.c: Remove. - * gcc.target/arm/neon/vqRdmulh_ns16.c: Remove. - * gcc.target/arm/neon/vqRdmulh_ns32.c: Remove. - * gcc.target/arm/neon/vqRdmulhs16.c: Remove. - * gcc.target/arm/neon/vqRdmulhs32.c: Remove. - * gcc.target/arm/neon/vqRshlQs16.c: Remove. - * gcc.target/arm/neon/vqRshlQs32.c: Remove. - * gcc.target/arm/neon/vqRshlQs64.c: Remove. - * gcc.target/arm/neon/vqRshlQs8.c: Remove. - * gcc.target/arm/neon/vqRshlQu16.c: Remove. - * gcc.target/arm/neon/vqRshlQu32.c: Remove. - * gcc.target/arm/neon/vqRshlQu64.c: Remove. - * gcc.target/arm/neon/vqRshlQu8.c: Remove. - * gcc.target/arm/neon/vqRshls16.c: Remove. - * gcc.target/arm/neon/vqRshls32.c: Remove. - * gcc.target/arm/neon/vqRshls64.c: Remove. - * gcc.target/arm/neon/vqRshls8.c: Remove. - * gcc.target/arm/neon/vqRshlu16.c: Remove. - * gcc.target/arm/neon/vqRshlu32.c: Remove. - * gcc.target/arm/neon/vqRshlu64.c: Remove. - * gcc.target/arm/neon/vqRshlu8.c: Remove. - * gcc.target/arm/neon/vqRshrn_ns16.c: Remove. - * gcc.target/arm/neon/vqRshrn_ns32.c: Remove. - * gcc.target/arm/neon/vqRshrn_ns64.c: Remove. - * gcc.target/arm/neon/vqRshrn_nu16.c: Remove. - * gcc.target/arm/neon/vqRshrn_nu32.c: Remove. - * gcc.target/arm/neon/vqRshrn_nu64.c: Remove. - * gcc.target/arm/neon/vqRshrun_ns16.c: Remove. - * gcc.target/arm/neon/vqRshrun_ns32.c: Remove. - * gcc.target/arm/neon/vqRshrun_ns64.c: Remove. - * gcc.target/arm/neon/vqabsQs16.c: Remove. - * gcc.target/arm/neon/vqabsQs32.c: Remove. - * gcc.target/arm/neon/vqabsQs8.c: Remove. - * gcc.target/arm/neon/vqabss16.c: Remove. - * gcc.target/arm/neon/vqabss32.c: Remove. - * gcc.target/arm/neon/vqabss8.c: Remove. - * gcc.target/arm/neon/vqaddQs16.c: Remove. - * gcc.target/arm/neon/vqaddQs32.c: Remove. - * gcc.target/arm/neon/vqaddQs64.c: Remove. - * gcc.target/arm/neon/vqaddQs8.c: Remove. - * gcc.target/arm/neon/vqaddQu16.c: Remove. - * gcc.target/arm/neon/vqaddQu32.c: Remove. - * gcc.target/arm/neon/vqaddQu64.c: Remove. - * gcc.target/arm/neon/vqaddQu8.c: Remove. - * gcc.target/arm/neon/vqadds16.c: Remove. - * gcc.target/arm/neon/vqadds32.c: Remove. - * gcc.target/arm/neon/vqadds64.c: Remove. - * gcc.target/arm/neon/vqadds8.c: Remove. - * gcc.target/arm/neon/vqaddu16.c: Remove. - * gcc.target/arm/neon/vqaddu32.c: Remove. - * gcc.target/arm/neon/vqaddu64.c: Remove. - * gcc.target/arm/neon/vqaddu8.c: Remove. - * gcc.target/arm/neon/vqdmlal_lanes16.c: Remove. - * gcc.target/arm/neon/vqdmlal_lanes32.c: Remove. - * gcc.target/arm/neon/vqdmlal_ns16.c: Remove. - * gcc.target/arm/neon/vqdmlal_ns32.c: Remove. - * gcc.target/arm/neon/vqdmlals16.c: Remove. - * gcc.target/arm/neon/vqdmlals32.c: Remove. - * gcc.target/arm/neon/vqdmlsl_lanes16.c: Remove. - * gcc.target/arm/neon/vqdmlsl_lanes32.c: Remove. - * gcc.target/arm/neon/vqdmlsl_ns16.c: Remove. - * gcc.target/arm/neon/vqdmlsl_ns32.c: Remove. - * gcc.target/arm/neon/vqdmlsls16.c: Remove. - * gcc.target/arm/neon/vqdmlsls32.c: Remove. - * gcc.target/arm/neon/vqdmulhQ_lanes16.c: Remove. - * gcc.target/arm/neon/vqdmulhQ_lanes32.c: Remove. - * gcc.target/arm/neon/vqdmulhQ_ns16.c: Remove. - * gcc.target/arm/neon/vqdmulhQ_ns32.c: Remove. - * gcc.target/arm/neon/vqdmulhQs16.c: Remove. - * gcc.target/arm/neon/vqdmulhQs32.c: Remove. - * gcc.target/arm/neon/vqdmulh_lanes16.c: Remove. - * gcc.target/arm/neon/vqdmulh_lanes32.c: Remove. - * gcc.target/arm/neon/vqdmulh_ns16.c: Remove. - * gcc.target/arm/neon/vqdmulh_ns32.c: Remove. - * gcc.target/arm/neon/vqdmulhs16.c: Remove. - * gcc.target/arm/neon/vqdmulhs32.c: Remove. - * gcc.target/arm/neon/vqdmull_lanes16.c: Remove. - * gcc.target/arm/neon/vqdmull_lanes32.c: Remove. - * gcc.target/arm/neon/vqdmull_ns16.c: Remove. - * gcc.target/arm/neon/vqdmull_ns32.c: Remove. - * gcc.target/arm/neon/vqdmulls16.c: Remove. - * gcc.target/arm/neon/vqdmulls32.c: Remove. - * gcc.target/arm/neon/vqmovns16.c: Remove. - * gcc.target/arm/neon/vqmovns32.c: Remove. - * gcc.target/arm/neon/vqmovns64.c: Remove. - * gcc.target/arm/neon/vqmovnu16.c: Remove. - * gcc.target/arm/neon/vqmovnu32.c: Remove. - * gcc.target/arm/neon/vqmovnu64.c: Remove. - * gcc.target/arm/neon/vqmovuns16.c: Remove. - * gcc.target/arm/neon/vqmovuns32.c: Remove. - * gcc.target/arm/neon/vqmovuns64.c: Remove. - * gcc.target/arm/neon/vqnegQs16.c: Remove. - * gcc.target/arm/neon/vqnegQs32.c: Remove. - * gcc.target/arm/neon/vqnegQs8.c: Remove. - * gcc.target/arm/neon/vqnegs16.c: Remove. - * gcc.target/arm/neon/vqnegs32.c: Remove. - * gcc.target/arm/neon/vqnegs8.c: Remove. - * gcc.target/arm/neon/vqshlQ_ns16.c: Remove. - * gcc.target/arm/neon/vqshlQ_ns32.c: Remove. - * gcc.target/arm/neon/vqshlQ_ns64.c: Remove. - * gcc.target/arm/neon/vqshlQ_ns8.c: Remove. - * gcc.target/arm/neon/vqshlQ_nu16.c: Remove. - * gcc.target/arm/neon/vqshlQ_nu32.c: Remove. - * gcc.target/arm/neon/vqshlQ_nu64.c: Remove. - * gcc.target/arm/neon/vqshlQ_nu8.c: Remove. - * gcc.target/arm/neon/vqshlQs16.c: Remove. - * gcc.target/arm/neon/vqshlQs32.c: Remove. - * gcc.target/arm/neon/vqshlQs64.c: Remove. - * gcc.target/arm/neon/vqshlQs8.c: Remove. - * gcc.target/arm/neon/vqshlQu16.c: Remove. - * gcc.target/arm/neon/vqshlQu32.c: Remove. - * gcc.target/arm/neon/vqshlQu64.c: Remove. - * gcc.target/arm/neon/vqshlQu8.c: Remove. - * gcc.target/arm/neon/vqshl_ns16.c: Remove. - * gcc.target/arm/neon/vqshl_ns32.c: Remove. - * gcc.target/arm/neon/vqshl_ns64.c: Remove. - * gcc.target/arm/neon/vqshl_ns8.c: Remove. - * gcc.target/arm/neon/vqshl_nu16.c: Remove. - * gcc.target/arm/neon/vqshl_nu32.c: Remove. - * gcc.target/arm/neon/vqshl_nu64.c: Remove. - * gcc.target/arm/neon/vqshl_nu8.c: Remove. - * gcc.target/arm/neon/vqshls16.c: Remove. - * gcc.target/arm/neon/vqshls32.c: Remove. - * gcc.target/arm/neon/vqshls64.c: Remove. - * gcc.target/arm/neon/vqshls8.c: Remove. - * gcc.target/arm/neon/vqshlu16.c: Remove. - * gcc.target/arm/neon/vqshlu32.c: Remove. - * gcc.target/arm/neon/vqshlu64.c: Remove. - * gcc.target/arm/neon/vqshlu8.c: Remove. - * gcc.target/arm/neon/vqshluQ_ns16.c: Remove. - * gcc.target/arm/neon/vqshluQ_ns32.c: Remove. - * gcc.target/arm/neon/vqshluQ_ns64.c: Remove. - * gcc.target/arm/neon/vqshluQ_ns8.c: Remove. - * gcc.target/arm/neon/vqshlu_ns16.c: Remove. - * gcc.target/arm/neon/vqshlu_ns32.c: Remove. - * gcc.target/arm/neon/vqshlu_ns64.c: Remove. - * gcc.target/arm/neon/vqshlu_ns8.c: Remove. - * gcc.target/arm/neon/vqshrn_ns16.c: Remove. - * gcc.target/arm/neon/vqshrn_ns32.c: Remove. - * gcc.target/arm/neon/vqshrn_ns64.c: Remove. - * gcc.target/arm/neon/vqshrn_nu16.c: Remove. - * gcc.target/arm/neon/vqshrn_nu32.c: Remove. - * gcc.target/arm/neon/vqshrn_nu64.c: Remove. - * gcc.target/arm/neon/vqshrun_ns16.c: Remove. - * gcc.target/arm/neon/vqshrun_ns32.c: Remove. - * gcc.target/arm/neon/vqshrun_ns64.c: Remove. - * gcc.target/arm/neon/vqsubQs16.c: Remove. - * gcc.target/arm/neon/vqsubQs32.c: Remove. - * gcc.target/arm/neon/vqsubQs64.c: Remove. - * gcc.target/arm/neon/vqsubQs8.c: Remove. - * gcc.target/arm/neon/vqsubQu16.c: Remove. - * gcc.target/arm/neon/vqsubQu32.c: Remove. - * gcc.target/arm/neon/vqsubQu64.c: Remove. - * gcc.target/arm/neon/vqsubQu8.c: Remove. - * gcc.target/arm/neon/vqsubs16.c: Remove. - * gcc.target/arm/neon/vqsubs32.c: Remove. - * gcc.target/arm/neon/vqsubs64.c: Remove. - * gcc.target/arm/neon/vqsubs8.c: Remove. - * gcc.target/arm/neon/vqsubu16.c: Remove. - * gcc.target/arm/neon/vqsubu32.c: Remove. - * gcc.target/arm/neon/vqsubu64.c: Remove. - * gcc.target/arm/neon/vqsubu8.c: Remove. - * gcc.target/arm/neon/vrecpeQf32.c: Remove. - * gcc.target/arm/neon/vrecpeQu32.c: Remove. - * gcc.target/arm/neon/vrecpef32.c: Remove. - * gcc.target/arm/neon/vrecpeu32.c: Remove. - * gcc.target/arm/neon/vrecpsQf32.c: Remove. - * gcc.target/arm/neon/vrecpsf32.c: Remove. - * gcc.target/arm/neon/vreinterpretQf32_p128.c: Remove. - * gcc.target/arm/neon/vreinterpretQf32_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretQf32_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretQf32_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretQf32_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretQf32_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretQf32_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretQf32_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretQf32_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretQf32_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretQf32_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretQf32_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretQp128_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretQp128_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretQp128_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretQp128_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretQp128_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretQp128_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretQp128_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretQp128_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretQp128_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretQp128_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretQp128_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretQp128_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretQp16_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretQp16_p128.c: Remove. - * gcc.target/arm/neon/vreinterpretQp16_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretQp16_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretQp16_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretQp16_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretQp16_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretQp16_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretQp16_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretQp16_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretQp16_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretQp16_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretQp64_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretQp64_p128.c: Remove. - * gcc.target/arm/neon/vreinterpretQp64_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretQp64_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretQp64_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretQp64_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretQp64_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretQp64_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretQp64_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretQp64_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretQp64_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretQp64_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretQp8_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretQp8_p128.c: Remove. - * gcc.target/arm/neon/vreinterpretQp8_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretQp8_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretQp8_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretQp8_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretQp8_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretQp8_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretQp8_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretQp8_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretQp8_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretQp8_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretQs16_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretQs16_p128.c: Remove. - * gcc.target/arm/neon/vreinterpretQs16_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretQs16_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretQs16_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretQs16_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretQs16_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretQs16_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretQs16_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretQs16_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretQs16_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretQs16_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretQs32_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretQs32_p128.c: Remove. - * gcc.target/arm/neon/vreinterpretQs32_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretQs32_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretQs32_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretQs32_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretQs32_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretQs32_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretQs32_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretQs32_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretQs32_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretQs32_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretQs64_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretQs64_p128.c: Remove. - * gcc.target/arm/neon/vreinterpretQs64_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretQs64_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretQs64_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretQs64_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretQs64_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretQs64_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretQs64_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretQs64_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretQs64_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretQs64_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretQs8_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretQs8_p128.c: Remove. - * gcc.target/arm/neon/vreinterpretQs8_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretQs8_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretQs8_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretQs8_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretQs8_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretQs8_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretQs8_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretQs8_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretQs8_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretQs8_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretQu16_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretQu16_p128.c: Remove. - * gcc.target/arm/neon/vreinterpretQu16_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretQu16_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretQu16_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretQu16_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretQu16_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretQu16_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretQu16_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretQu16_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretQu16_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretQu16_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretQu32_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretQu32_p128.c: Remove. - * gcc.target/arm/neon/vreinterpretQu32_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretQu32_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretQu32_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretQu32_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretQu32_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretQu32_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretQu32_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretQu32_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretQu32_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretQu32_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretQu64_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretQu64_p128.c: Remove. - * gcc.target/arm/neon/vreinterpretQu64_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretQu64_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretQu64_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretQu64_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretQu64_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretQu64_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretQu64_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretQu64_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretQu64_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretQu64_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretQu8_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretQu8_p128.c: Remove. - * gcc.target/arm/neon/vreinterpretQu8_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretQu8_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretQu8_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretQu8_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretQu8_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretQu8_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretQu8_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretQu8_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretQu8_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretQu8_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretf32_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretf32_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretf32_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretf32_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretf32_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretf32_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretf32_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretf32_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretf32_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretf32_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretf32_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretp16_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretp16_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretp16_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretp16_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretp16_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretp16_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretp16_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretp16_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretp16_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretp16_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretp16_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretp64_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretp64_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretp64_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretp64_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretp64_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretp64_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretp64_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretp64_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretp64_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretp64_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretp64_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretp8_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretp8_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretp8_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretp8_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretp8_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretp8_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretp8_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretp8_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretp8_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretp8_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretp8_u8.c: Remove. - * gcc.target/arm/neon/vreinterprets16_f32.c: Remove. - * gcc.target/arm/neon/vreinterprets16_p16.c: Remove. - * gcc.target/arm/neon/vreinterprets16_p64.c: Remove. - * gcc.target/arm/neon/vreinterprets16_p8.c: Remove. - * gcc.target/arm/neon/vreinterprets16_s32.c: Remove. - * gcc.target/arm/neon/vreinterprets16_s64.c: Remove. - * gcc.target/arm/neon/vreinterprets16_s8.c: Remove. - * gcc.target/arm/neon/vreinterprets16_u16.c: Remove. - * gcc.target/arm/neon/vreinterprets16_u32.c: Remove. - * gcc.target/arm/neon/vreinterprets16_u64.c: Remove. - * gcc.target/arm/neon/vreinterprets16_u8.c: Remove. - * gcc.target/arm/neon/vreinterprets32_f32.c: Remove. - * gcc.target/arm/neon/vreinterprets32_p16.c: Remove. - * gcc.target/arm/neon/vreinterprets32_p64.c: Remove. - * gcc.target/arm/neon/vreinterprets32_p8.c: Remove. - * gcc.target/arm/neon/vreinterprets32_s16.c: Remove. - * gcc.target/arm/neon/vreinterprets32_s64.c: Remove. - * gcc.target/arm/neon/vreinterprets32_s8.c: Remove. - * gcc.target/arm/neon/vreinterprets32_u16.c: Remove. - * gcc.target/arm/neon/vreinterprets32_u32.c: Remove. - * gcc.target/arm/neon/vreinterprets32_u64.c: Remove. - * gcc.target/arm/neon/vreinterprets32_u8.c: Remove. - * gcc.target/arm/neon/vreinterprets64_f32.c: Remove. - * gcc.target/arm/neon/vreinterprets64_p16.c: Remove. - * gcc.target/arm/neon/vreinterprets64_p64.c: Remove. - * gcc.target/arm/neon/vreinterprets64_p8.c: Remove. - * gcc.target/arm/neon/vreinterprets64_s16.c: Remove. - * gcc.target/arm/neon/vreinterprets64_s32.c: Remove. - * gcc.target/arm/neon/vreinterprets64_s8.c: Remove. - * gcc.target/arm/neon/vreinterprets64_u16.c: Remove. - * gcc.target/arm/neon/vreinterprets64_u32.c: Remove. - * gcc.target/arm/neon/vreinterprets64_u64.c: Remove. - * gcc.target/arm/neon/vreinterprets64_u8.c: Remove. - * gcc.target/arm/neon/vreinterprets8_f32.c: Remove. - * gcc.target/arm/neon/vreinterprets8_p16.c: Remove. - * gcc.target/arm/neon/vreinterprets8_p64.c: Remove. - * gcc.target/arm/neon/vreinterprets8_p8.c: Remove. - * gcc.target/arm/neon/vreinterprets8_s16.c: Remove. - * gcc.target/arm/neon/vreinterprets8_s32.c: Remove. - * gcc.target/arm/neon/vreinterprets8_s64.c: Remove. - * gcc.target/arm/neon/vreinterprets8_u16.c: Remove. - * gcc.target/arm/neon/vreinterprets8_u32.c: Remove. - * gcc.target/arm/neon/vreinterprets8_u64.c: Remove. - * gcc.target/arm/neon/vreinterprets8_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretu16_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretu16_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretu16_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretu16_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretu16_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretu16_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretu16_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretu16_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretu16_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretu16_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretu16_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretu32_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretu32_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretu32_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretu32_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretu32_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretu32_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretu32_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretu32_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretu32_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretu32_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretu32_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretu64_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretu64_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretu64_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretu64_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretu64_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretu64_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretu64_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretu64_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretu64_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretu64_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretu64_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretu8_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretu8_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretu8_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretu8_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretu8_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretu8_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretu8_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretu8_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretu8_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretu8_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretu8_u64.c: Remove. - * gcc.target/arm/neon/vrev16Qp8.c: Remove. - * gcc.target/arm/neon/vrev16Qs8.c: Remove. - * gcc.target/arm/neon/vrev16Qu8.c: Remove. - * gcc.target/arm/neon/vrev16p8.c: Remove. - * gcc.target/arm/neon/vrev16s8.c: Remove. - * gcc.target/arm/neon/vrev16u8.c: Remove. - * gcc.target/arm/neon/vrev32Qp16.c: Remove. - * gcc.target/arm/neon/vrev32Qp8.c: Remove. - * gcc.target/arm/neon/vrev32Qs16.c: Remove. - * gcc.target/arm/neon/vrev32Qs8.c: Remove. - * gcc.target/arm/neon/vrev32Qu16.c: Remove. - * gcc.target/arm/neon/vrev32Qu8.c: Remove. - * gcc.target/arm/neon/vrev32p16.c: Remove. - * gcc.target/arm/neon/vrev32p8.c: Remove. - * gcc.target/arm/neon/vrev32s16.c: Remove. - * gcc.target/arm/neon/vrev32s8.c: Remove. - * gcc.target/arm/neon/vrev32u16.c: Remove. - * gcc.target/arm/neon/vrev32u8.c: Remove. - * gcc.target/arm/neon/vrev64Qf32.c: Remove. - * gcc.target/arm/neon/vrev64Qp16.c: Remove. - * gcc.target/arm/neon/vrev64Qp8.c: Remove. - * gcc.target/arm/neon/vrev64Qs16.c: Remove. - * gcc.target/arm/neon/vrev64Qs32.c: Remove. - * gcc.target/arm/neon/vrev64Qs8.c: Remove. - * gcc.target/arm/neon/vrev64Qu16.c: Remove. - * gcc.target/arm/neon/vrev64Qu32.c: Remove. - * gcc.target/arm/neon/vrev64Qu8.c: Remove. - * gcc.target/arm/neon/vrev64f32.c: Remove. - * gcc.target/arm/neon/vrev64p16.c: Remove. - * gcc.target/arm/neon/vrev64p8.c: Remove. - * gcc.target/arm/neon/vrev64s16.c: Remove. - * gcc.target/arm/neon/vrev64s32.c: Remove. - * gcc.target/arm/neon/vrev64s8.c: Remove. - * gcc.target/arm/neon/vrev64u16.c: Remove. - * gcc.target/arm/neon/vrev64u32.c: Remove. - * gcc.target/arm/neon/vrev64u8.c: Remove. - * gcc.target/arm/neon/vrndaf32.c: Remove. - * gcc.target/arm/neon/vrndaqf32.c: Remove. - * gcc.target/arm/neon/vrndf32.c: Remove. - * gcc.target/arm/neon/vrndmf32.c: Remove. - * gcc.target/arm/neon/vrndmqf32.c: Remove. - * gcc.target/arm/neon/vrndnf32.c: Remove. - * gcc.target/arm/neon/vrndnqf32.c: Remove. - * gcc.target/arm/neon/vrndpf32.c: Remove. - * gcc.target/arm/neon/vrndpqf32.c: Remove. - * gcc.target/arm/neon/vrndqf32.c: Remove. - * gcc.target/arm/neon/vrsqrteQf32.c: Remove. - * gcc.target/arm/neon/vrsqrteQu32.c: Remove. - * gcc.target/arm/neon/vrsqrtef32.c: Remove. - * gcc.target/arm/neon/vrsqrteu32.c: Remove. - * gcc.target/arm/neon/vrsqrtsQf32.c: Remove. - * gcc.target/arm/neon/vrsqrtsf32.c: Remove. - * gcc.target/arm/neon/vsetQ_lanef32.c: Remove. - * gcc.target/arm/neon/vsetQ_lanep16.c: Remove. - * gcc.target/arm/neon/vsetQ_lanep8.c: Remove. - * gcc.target/arm/neon/vsetQ_lanes16.c: Remove. - * gcc.target/arm/neon/vsetQ_lanes32.c: Remove. - * gcc.target/arm/neon/vsetQ_lanes64.c: Remove. - * gcc.target/arm/neon/vsetQ_lanes8.c: Remove. - * gcc.target/arm/neon/vsetQ_laneu16.c: Remove. - * gcc.target/arm/neon/vsetQ_laneu32.c: Remove. - * gcc.target/arm/neon/vsetQ_laneu64.c: Remove. - * gcc.target/arm/neon/vsetQ_laneu8.c: Remove. - * gcc.target/arm/neon/vset_lanef32.c: Remove. - * gcc.target/arm/neon/vset_lanep16.c: Remove. - * gcc.target/arm/neon/vset_lanep8.c: Remove. - * gcc.target/arm/neon/vset_lanes16.c: Remove. - * gcc.target/arm/neon/vset_lanes32.c: Remove. - * gcc.target/arm/neon/vset_lanes64.c: Remove. - * gcc.target/arm/neon/vset_lanes8.c: Remove. - * gcc.target/arm/neon/vset_laneu16.c: Remove. - * gcc.target/arm/neon/vset_laneu32.c: Remove. - * gcc.target/arm/neon/vset_laneu64.c: Remove. - * gcc.target/arm/neon/vset_laneu8.c: Remove. - * gcc.target/arm/neon/vshlQ_ns16.c: Remove. - * gcc.target/arm/neon/vshlQ_ns32.c: Remove. - * gcc.target/arm/neon/vshlQ_ns64.c: Remove. - * gcc.target/arm/neon/vshlQ_ns8.c: Remove. - * gcc.target/arm/neon/vshlQ_nu16.c: Remove. - * gcc.target/arm/neon/vshlQ_nu32.c: Remove. - * gcc.target/arm/neon/vshlQ_nu64.c: Remove. - * gcc.target/arm/neon/vshlQ_nu8.c: Remove. - * gcc.target/arm/neon/vshlQs16.c: Remove. - * gcc.target/arm/neon/vshlQs32.c: Remove. - * gcc.target/arm/neon/vshlQs64.c: Remove. - * gcc.target/arm/neon/vshlQs8.c: Remove. - * gcc.target/arm/neon/vshlQu16.c: Remove. - * gcc.target/arm/neon/vshlQu32.c: Remove. - * gcc.target/arm/neon/vshlQu64.c: Remove. - * gcc.target/arm/neon/vshlQu8.c: Remove. - * gcc.target/arm/neon/vshl_ns16.c: Remove. - * gcc.target/arm/neon/vshl_ns32.c: Remove. - * gcc.target/arm/neon/vshl_ns64.c: Remove. - * gcc.target/arm/neon/vshl_ns8.c: Remove. - * gcc.target/arm/neon/vshl_nu16.c: Remove. - * gcc.target/arm/neon/vshl_nu32.c: Remove. - * gcc.target/arm/neon/vshl_nu64.c: Remove. - * gcc.target/arm/neon/vshl_nu8.c: Remove. - * gcc.target/arm/neon/vshll_ns16.c: Remove. - * gcc.target/arm/neon/vshll_ns32.c: Remove. - * gcc.target/arm/neon/vshll_ns8.c: Remove. - * gcc.target/arm/neon/vshll_nu16.c: Remove. - * gcc.target/arm/neon/vshll_nu32.c: Remove. - * gcc.target/arm/neon/vshll_nu8.c: Remove. - * gcc.target/arm/neon/vshls16.c: Remove. - * gcc.target/arm/neon/vshls32.c: Remove. - * gcc.target/arm/neon/vshls64.c: Remove. - * gcc.target/arm/neon/vshls8.c: Remove. - * gcc.target/arm/neon/vshlu16.c: Remove. - * gcc.target/arm/neon/vshlu32.c: Remove. - * gcc.target/arm/neon/vshlu64.c: Remove. - * gcc.target/arm/neon/vshlu8.c: Remove. - * gcc.target/arm/neon/vshrQ_ns16.c: Remove. - * gcc.target/arm/neon/vshrQ_ns32.c: Remove. - * gcc.target/arm/neon/vshrQ_ns64.c: Remove. - * gcc.target/arm/neon/vshrQ_ns8.c: Remove. - * gcc.target/arm/neon/vshrQ_nu16.c: Remove. - * gcc.target/arm/neon/vshrQ_nu32.c: Remove. - * gcc.target/arm/neon/vshrQ_nu64.c: Remove. - * gcc.target/arm/neon/vshrQ_nu8.c: Remove. - * gcc.target/arm/neon/vshr_ns16.c: Remove. - * gcc.target/arm/neon/vshr_ns32.c: Remove. - * gcc.target/arm/neon/vshr_ns64.c: Remove. - * gcc.target/arm/neon/vshr_ns8.c: Remove. - * gcc.target/arm/neon/vshr_nu16.c: Remove. - * gcc.target/arm/neon/vshr_nu32.c: Remove. - * gcc.target/arm/neon/vshr_nu64.c: Remove. - * gcc.target/arm/neon/vshr_nu8.c: Remove. - * gcc.target/arm/neon/vshrn_ns16.c: Remove. - * gcc.target/arm/neon/vshrn_ns32.c: Remove. - * gcc.target/arm/neon/vshrn_ns64.c: Remove. - * gcc.target/arm/neon/vshrn_nu16.c: Remove. - * gcc.target/arm/neon/vshrn_nu32.c: Remove. - * gcc.target/arm/neon/vshrn_nu64.c: Remove. - * gcc.target/arm/neon/vsliQ_np16.c: Remove. - * gcc.target/arm/neon/vsliQ_np64.c: Remove. - * gcc.target/arm/neon/vsliQ_np8.c: Remove. - * gcc.target/arm/neon/vsliQ_ns16.c: Remove. - * gcc.target/arm/neon/vsliQ_ns32.c: Remove. - * gcc.target/arm/neon/vsliQ_ns64.c: Remove. - * gcc.target/arm/neon/vsliQ_ns8.c: Remove. - * gcc.target/arm/neon/vsliQ_nu16.c: Remove. - * gcc.target/arm/neon/vsliQ_nu32.c: Remove. - * gcc.target/arm/neon/vsliQ_nu64.c: Remove. - * gcc.target/arm/neon/vsliQ_nu8.c: Remove. - * gcc.target/arm/neon/vsli_np16.c: Remove. - * gcc.target/arm/neon/vsli_np64.c: Remove. - * gcc.target/arm/neon/vsli_np8.c: Remove. - * gcc.target/arm/neon/vsli_ns16.c: Remove. - * gcc.target/arm/neon/vsli_ns32.c: Remove. - * gcc.target/arm/neon/vsli_ns64.c: Remove. - * gcc.target/arm/neon/vsli_ns8.c: Remove. - * gcc.target/arm/neon/vsli_nu16.c: Remove. - * gcc.target/arm/neon/vsli_nu32.c: Remove. - * gcc.target/arm/neon/vsli_nu64.c: Remove. - * gcc.target/arm/neon/vsli_nu8.c: Remove. - * gcc.target/arm/neon/vsraQ_ns16.c: Remove. - * gcc.target/arm/neon/vsraQ_ns32.c: Remove. - * gcc.target/arm/neon/vsraQ_ns64.c: Remove. - * gcc.target/arm/neon/vsraQ_ns8.c: Remove. - * gcc.target/arm/neon/vsraQ_nu16.c: Remove. - * gcc.target/arm/neon/vsraQ_nu32.c: Remove. - * gcc.target/arm/neon/vsraQ_nu64.c: Remove. - * gcc.target/arm/neon/vsraQ_nu8.c: Remove. - * gcc.target/arm/neon/vsra_ns16.c: Remove. - * gcc.target/arm/neon/vsra_ns32.c: Remove. - * gcc.target/arm/neon/vsra_ns64.c: Remove. - * gcc.target/arm/neon/vsra_ns8.c: Remove. - * gcc.target/arm/neon/vsra_nu16.c: Remove. - * gcc.target/arm/neon/vsra_nu32.c: Remove. - * gcc.target/arm/neon/vsra_nu64.c: Remove. - * gcc.target/arm/neon/vsra_nu8.c: Remove. - * gcc.target/arm/neon/vsriQ_np16.c: Remove. - * gcc.target/arm/neon/vsriQ_np64.c: Remove. - * gcc.target/arm/neon/vsriQ_np8.c: Remove. - * gcc.target/arm/neon/vsriQ_ns16.c: Remove. - * gcc.target/arm/neon/vsriQ_ns32.c: Remove. - * gcc.target/arm/neon/vsriQ_ns64.c: Remove. - * gcc.target/arm/neon/vsriQ_ns8.c: Remove. - * gcc.target/arm/neon/vsriQ_nu16.c: Remove. - * gcc.target/arm/neon/vsriQ_nu32.c: Remove. - * gcc.target/arm/neon/vsriQ_nu64.c: Remove. - * gcc.target/arm/neon/vsriQ_nu8.c: Remove. - * gcc.target/arm/neon/vsri_np16.c: Remove. - * gcc.target/arm/neon/vsri_np64.c: Remove. - * gcc.target/arm/neon/vsri_np8.c: Remove. - * gcc.target/arm/neon/vsri_ns16.c: Remove. - * gcc.target/arm/neon/vsri_ns32.c: Remove. - * gcc.target/arm/neon/vsri_ns64.c: Remove. - * gcc.target/arm/neon/vsri_ns8.c: Remove. - * gcc.target/arm/neon/vsri_nu16.c: Remove. - * gcc.target/arm/neon/vsri_nu32.c: Remove. - * gcc.target/arm/neon/vsri_nu64.c: Remove. - * gcc.target/arm/neon/vsri_nu8.c: Remove. - * gcc.target/arm/neon/vst1Q_lanef32.c: Remove. - * gcc.target/arm/neon/vst1Q_lanep16.c: Remove. - * gcc.target/arm/neon/vst1Q_lanep64.c: Remove. - * gcc.target/arm/neon/vst1Q_lanep8.c: Remove. - * gcc.target/arm/neon/vst1Q_lanes16.c: Remove. - * gcc.target/arm/neon/vst1Q_lanes32.c: Remove. - * gcc.target/arm/neon/vst1Q_lanes64.c: Remove. - * gcc.target/arm/neon/vst1Q_lanes8.c: Remove. - * gcc.target/arm/neon/vst1Q_laneu16.c: Remove. - * gcc.target/arm/neon/vst1Q_laneu32.c: Remove. - * gcc.target/arm/neon/vst1Q_laneu64.c: Remove. - * gcc.target/arm/neon/vst1Q_laneu8.c: Remove. - * gcc.target/arm/neon/vst1Qf32.c: Remove. - * gcc.target/arm/neon/vst1Qp16.c: Remove. - * gcc.target/arm/neon/vst1Qp64.c: Remove. - * gcc.target/arm/neon/vst1Qp8.c: Remove. - * gcc.target/arm/neon/vst1Qs16.c: Remove. - * gcc.target/arm/neon/vst1Qs32.c: Remove. - * gcc.target/arm/neon/vst1Qs64.c: Remove. - * gcc.target/arm/neon/vst1Qs8.c: Remove. - * gcc.target/arm/neon/vst1Qu16.c: Remove. - * gcc.target/arm/neon/vst1Qu32.c: Remove. - * gcc.target/arm/neon/vst1Qu64.c: Remove. - * gcc.target/arm/neon/vst1Qu8.c: Remove. - * gcc.target/arm/neon/vst1_lanef32.c: Remove. - * gcc.target/arm/neon/vst1_lanep16.c: Remove. - * gcc.target/arm/neon/vst1_lanep64.c: Remove. - * gcc.target/arm/neon/vst1_lanep8.c: Remove. - * gcc.target/arm/neon/vst1_lanes16.c: Remove. - * gcc.target/arm/neon/vst1_lanes32.c: Remove. - * gcc.target/arm/neon/vst1_lanes64.c: Remove. - * gcc.target/arm/neon/vst1_lanes8.c: Remove. - * gcc.target/arm/neon/vst1_laneu16.c: Remove. - * gcc.target/arm/neon/vst1_laneu32.c: Remove. - * gcc.target/arm/neon/vst1_laneu64.c: Remove. - * gcc.target/arm/neon/vst1_laneu8.c: Remove. - * gcc.target/arm/neon/vst1f32.c: Remove. - * gcc.target/arm/neon/vst1p16.c: Remove. - * gcc.target/arm/neon/vst1p64.c: Remove. - * gcc.target/arm/neon/vst1p8.c: Remove. - * gcc.target/arm/neon/vst1s16.c: Remove. - * gcc.target/arm/neon/vst1s32.c: Remove. - * gcc.target/arm/neon/vst1s64.c: Remove. - * gcc.target/arm/neon/vst1s8.c: Remove. - * gcc.target/arm/neon/vst1u16.c: Remove. - * gcc.target/arm/neon/vst1u32.c: Remove. - * gcc.target/arm/neon/vst1u64.c: Remove. - * gcc.target/arm/neon/vst1u8.c: Remove. - * gcc.target/arm/neon/vst2Q_lanef32.c: Remove. - * gcc.target/arm/neon/vst2Q_lanep16.c: Remove. - * gcc.target/arm/neon/vst2Q_lanes16.c: Remove. - * gcc.target/arm/neon/vst2Q_lanes32.c: Remove. - * gcc.target/arm/neon/vst2Q_laneu16.c: Remove. - * gcc.target/arm/neon/vst2Q_laneu32.c: Remove. - * gcc.target/arm/neon/vst2Qf32.c: Remove. - * gcc.target/arm/neon/vst2Qp16.c: Remove. - * gcc.target/arm/neon/vst2Qp8.c: Remove. - * gcc.target/arm/neon/vst2Qs16.c: Remove. - * gcc.target/arm/neon/vst2Qs32.c: Remove. - * gcc.target/arm/neon/vst2Qs8.c: Remove. - * gcc.target/arm/neon/vst2Qu16.c: Remove. - * gcc.target/arm/neon/vst2Qu32.c: Remove. - * gcc.target/arm/neon/vst2Qu8.c: Remove. - * gcc.target/arm/neon/vst2_lanef32.c: Remove. - * gcc.target/arm/neon/vst2_lanep16.c: Remove. - * gcc.target/arm/neon/vst2_lanep8.c: Remove. - * gcc.target/arm/neon/vst2_lanes16.c: Remove. - * gcc.target/arm/neon/vst2_lanes32.c: Remove. - * gcc.target/arm/neon/vst2_lanes8.c: Remove. - * gcc.target/arm/neon/vst2_laneu16.c: Remove. - * gcc.target/arm/neon/vst2_laneu32.c: Remove. - * gcc.target/arm/neon/vst2_laneu8.c: Remove. - * gcc.target/arm/neon/vst2f32.c: Remove. - * gcc.target/arm/neon/vst2p16.c: Remove. - * gcc.target/arm/neon/vst2p64.c: Remove. - * gcc.target/arm/neon/vst2p8.c: Remove. - * gcc.target/arm/neon/vst2s16.c: Remove. - * gcc.target/arm/neon/vst2s32.c: Remove. - * gcc.target/arm/neon/vst2s64.c: Remove. - * gcc.target/arm/neon/vst2s8.c: Remove. - * gcc.target/arm/neon/vst2u16.c: Remove. - * gcc.target/arm/neon/vst2u32.c: Remove. - * gcc.target/arm/neon/vst2u64.c: Remove. - * gcc.target/arm/neon/vst2u8.c: Remove. - * gcc.target/arm/neon/vst3Q_lanef32.c: Remove. - * gcc.target/arm/neon/vst3Q_lanep16.c: Remove. - * gcc.target/arm/neon/vst3Q_lanes16.c: Remove. - * gcc.target/arm/neon/vst3Q_lanes32.c: Remove. - * gcc.target/arm/neon/vst3Q_laneu16.c: Remove. - * gcc.target/arm/neon/vst3Q_laneu32.c: Remove. - * gcc.target/arm/neon/vst3Qf32.c: Remove. - * gcc.target/arm/neon/vst3Qp16.c: Remove. - * gcc.target/arm/neon/vst3Qp8.c: Remove. - * gcc.target/arm/neon/vst3Qs16.c: Remove. - * gcc.target/arm/neon/vst3Qs32.c: Remove. - * gcc.target/arm/neon/vst3Qs8.c: Remove. - * gcc.target/arm/neon/vst3Qu16.c: Remove. - * gcc.target/arm/neon/vst3Qu32.c: Remove. - * gcc.target/arm/neon/vst3Qu8.c: Remove. - * gcc.target/arm/neon/vst3_lanef32.c: Remove. - * gcc.target/arm/neon/vst3_lanep16.c: Remove. - * gcc.target/arm/neon/vst3_lanep8.c: Remove. - * gcc.target/arm/neon/vst3_lanes16.c: Remove. - * gcc.target/arm/neon/vst3_lanes32.c: Remove. - * gcc.target/arm/neon/vst3_lanes8.c: Remove. - * gcc.target/arm/neon/vst3_laneu16.c: Remove. - * gcc.target/arm/neon/vst3_laneu32.c: Remove. - * gcc.target/arm/neon/vst3_laneu8.c: Remove. - * gcc.target/arm/neon/vst3f32.c: Remove. - * gcc.target/arm/neon/vst3p16.c: Remove. - * gcc.target/arm/neon/vst3p64.c: Remove. - * gcc.target/arm/neon/vst3p8.c: Remove. - * gcc.target/arm/neon/vst3s16.c: Remove. - * gcc.target/arm/neon/vst3s32.c: Remove. - * gcc.target/arm/neon/vst3s64.c: Remove. - * gcc.target/arm/neon/vst3s8.c: Remove. - * gcc.target/arm/neon/vst3u16.c: Remove. - * gcc.target/arm/neon/vst3u32.c: Remove. - * gcc.target/arm/neon/vst3u64.c: Remove. - * gcc.target/arm/neon/vst3u8.c: Remove. - * gcc.target/arm/neon/vst4Q_lanef32.c: Remove. - * gcc.target/arm/neon/vst4Q_lanep16.c: Remove. - * gcc.target/arm/neon/vst4Q_lanes16.c: Remove. - * gcc.target/arm/neon/vst4Q_lanes32.c: Remove. - * gcc.target/arm/neon/vst4Q_laneu16.c: Remove. - * gcc.target/arm/neon/vst4Q_laneu32.c: Remove. - * gcc.target/arm/neon/vst4Qf32.c: Remove. - * gcc.target/arm/neon/vst4Qp16.c: Remove. - * gcc.target/arm/neon/vst4Qp8.c: Remove. - * gcc.target/arm/neon/vst4Qs16.c: Remove. - * gcc.target/arm/neon/vst4Qs32.c: Remove. - * gcc.target/arm/neon/vst4Qs8.c: Remove. - * gcc.target/arm/neon/vst4Qu16.c: Remove. - * gcc.target/arm/neon/vst4Qu32.c: Remove. - * gcc.target/arm/neon/vst4Qu8.c: Remove. - * gcc.target/arm/neon/vst4_lanef32.c: Remove. - * gcc.target/arm/neon/vst4_lanep16.c: Remove. - * gcc.target/arm/neon/vst4_lanep8.c: Remove. - * gcc.target/arm/neon/vst4_lanes16.c: Remove. - * gcc.target/arm/neon/vst4_lanes32.c: Remove. - * gcc.target/arm/neon/vst4_lanes8.c: Remove. - * gcc.target/arm/neon/vst4_laneu16.c: Remove. - * gcc.target/arm/neon/vst4_laneu32.c: Remove. - * gcc.target/arm/neon/vst4_laneu8.c: Remove. - * gcc.target/arm/neon/vst4f32.c: Remove. - * gcc.target/arm/neon/vst4p16.c: Remove. - * gcc.target/arm/neon/vst4p64.c: Remove. - * gcc.target/arm/neon/vst4p8.c: Remove. - * gcc.target/arm/neon/vst4s16.c: Remove. - * gcc.target/arm/neon/vst4s32.c: Remove. - * gcc.target/arm/neon/vst4s64.c: Remove. - * gcc.target/arm/neon/vst4s8.c: Remove. - * gcc.target/arm/neon/vst4u16.c: Remove. - * gcc.target/arm/neon/vst4u32.c: Remove. - * gcc.target/arm/neon/vst4u64.c: Remove. - * gcc.target/arm/neon/vst4u8.c: Remove. - * gcc.target/arm/neon/vsubQf32.c: Remove. - * gcc.target/arm/neon/vsubQs16.c: Remove. - * gcc.target/arm/neon/vsubQs32.c: Remove. - * gcc.target/arm/neon/vsubQs64.c: Remove. - * gcc.target/arm/neon/vsubQs8.c: Remove. - * gcc.target/arm/neon/vsubQu16.c: Remove. - * gcc.target/arm/neon/vsubQu32.c: Remove. - * gcc.target/arm/neon/vsubQu64.c: Remove. - * gcc.target/arm/neon/vsubQu8.c: Remove. - * gcc.target/arm/neon/vsubf32.c: Remove. - * gcc.target/arm/neon/vsubhns16.c: Remove. - * gcc.target/arm/neon/vsubhns32.c: Remove. - * gcc.target/arm/neon/vsubhns64.c: Remove. - * gcc.target/arm/neon/vsubhnu16.c: Remove. - * gcc.target/arm/neon/vsubhnu32.c: Remove. - * gcc.target/arm/neon/vsubhnu64.c: Remove. - * gcc.target/arm/neon/vsubls16.c: Remove. - * gcc.target/arm/neon/vsubls32.c: Remove. - * gcc.target/arm/neon/vsubls8.c: Remove. - * gcc.target/arm/neon/vsublu16.c: Remove. - * gcc.target/arm/neon/vsublu32.c: Remove. - * gcc.target/arm/neon/vsublu8.c: Remove. - * gcc.target/arm/neon/vsubs16.c: Remove. - * gcc.target/arm/neon/vsubs32.c: Remove. - * gcc.target/arm/neon/vsubs64.c: Remove. - * gcc.target/arm/neon/vsubs8.c: Remove. - * gcc.target/arm/neon/vsubu16.c: Remove. - * gcc.target/arm/neon/vsubu32.c: Remove. - * gcc.target/arm/neon/vsubu64.c: Remove. - * gcc.target/arm/neon/vsubu8.c: Remove. - * gcc.target/arm/neon/vsubws16.c: Remove. - * gcc.target/arm/neon/vsubws32.c: Remove. - * gcc.target/arm/neon/vsubws8.c: Remove. - * gcc.target/arm/neon/vsubwu16.c: Remove. - * gcc.target/arm/neon/vsubwu32.c: Remove. - * gcc.target/arm/neon/vsubwu8.c: Remove. - * gcc.target/arm/neon/vtbl1p8.c: Remove. - * gcc.target/arm/neon/vtbl1s8.c: Remove. - * gcc.target/arm/neon/vtbl1u8.c: Remove. - * gcc.target/arm/neon/vtbl2p8.c: Remove. - * gcc.target/arm/neon/vtbl2s8.c: Remove. - * gcc.target/arm/neon/vtbl2u8.c: Remove. - * gcc.target/arm/neon/vtbl3p8.c: Remove. - * gcc.target/arm/neon/vtbl3s8.c: Remove. - * gcc.target/arm/neon/vtbl3u8.c: Remove. - * gcc.target/arm/neon/vtbl4p8.c: Remove. - * gcc.target/arm/neon/vtbl4s8.c: Remove. - * gcc.target/arm/neon/vtbl4u8.c: Remove. - * gcc.target/arm/neon/vtbx1p8.c: Remove. - * gcc.target/arm/neon/vtbx1s8.c: Remove. - * gcc.target/arm/neon/vtbx1u8.c: Remove. - * gcc.target/arm/neon/vtbx2p8.c: Remove. - * gcc.target/arm/neon/vtbx2s8.c: Remove. - * gcc.target/arm/neon/vtbx2u8.c: Remove. - * gcc.target/arm/neon/vtbx3p8.c: Remove. - * gcc.target/arm/neon/vtbx3s8.c: Remove. - * gcc.target/arm/neon/vtbx3u8.c: Remove. - * gcc.target/arm/neon/vtbx4p8.c: Remove. - * gcc.target/arm/neon/vtbx4s8.c: Remove. - * gcc.target/arm/neon/vtbx4u8.c: Remove. - * gcc.target/arm/neon/vtrnQf32.c: Remove. - * gcc.target/arm/neon/vtrnQp16.c: Remove. - * gcc.target/arm/neon/vtrnQp8.c: Remove. - * gcc.target/arm/neon/vtrnQs16.c: Remove. - * gcc.target/arm/neon/vtrnQs32.c: Remove. - * gcc.target/arm/neon/vtrnQs8.c: Remove. - * gcc.target/arm/neon/vtrnQu16.c: Remove. - * gcc.target/arm/neon/vtrnQu32.c: Remove. - * gcc.target/arm/neon/vtrnQu8.c: Remove. - * gcc.target/arm/neon/vtrnf32.c: Remove. - * gcc.target/arm/neon/vtrnp16.c: Remove. - * gcc.target/arm/neon/vtrnp8.c: Remove. - * gcc.target/arm/neon/vtrns16.c: Remove. - * gcc.target/arm/neon/vtrns32.c: Remove. - * gcc.target/arm/neon/vtrns8.c: Remove. - * gcc.target/arm/neon/vtrnu16.c: Remove. - * gcc.target/arm/neon/vtrnu32.c: Remove. - * gcc.target/arm/neon/vtrnu8.c: Remove. - * gcc.target/arm/neon/vtstQp8.c: Remove. - * gcc.target/arm/neon/vtstQs16.c: Remove. - * gcc.target/arm/neon/vtstQs32.c: Remove. - * gcc.target/arm/neon/vtstQs8.c: Remove. - * gcc.target/arm/neon/vtstQu16.c: Remove. - * gcc.target/arm/neon/vtstQu32.c: Remove. - * gcc.target/arm/neon/vtstQu8.c: Remove. - * gcc.target/arm/neon/vtstp8.c: Remove. - * gcc.target/arm/neon/vtsts16.c: Remove. - * gcc.target/arm/neon/vtsts32.c: Remove. - * gcc.target/arm/neon/vtsts8.c: Remove. - * gcc.target/arm/neon/vtstu16.c: Remove. - * gcc.target/arm/neon/vtstu32.c: Remove. - * gcc.target/arm/neon/vtstu8.c: Remove. - * gcc.target/arm/neon/vuzpQf32.c: Remove. - * gcc.target/arm/neon/vuzpQp16.c: Remove. - * gcc.target/arm/neon/vuzpQp8.c: Remove. - * gcc.target/arm/neon/vuzpQs16.c: Remove. - * gcc.target/arm/neon/vuzpQs32.c: Remove. - * gcc.target/arm/neon/vuzpQs8.c: Remove. - * gcc.target/arm/neon/vuzpQu16.c: Remove. - * gcc.target/arm/neon/vuzpQu32.c: Remove. - * gcc.target/arm/neon/vuzpQu8.c: Remove. - * gcc.target/arm/neon/vuzpf32.c: Remove. - * gcc.target/arm/neon/vuzpp16.c: Remove. - * gcc.target/arm/neon/vuzpp8.c: Remove. - * gcc.target/arm/neon/vuzps16.c: Remove. - * gcc.target/arm/neon/vuzps32.c: Remove. - * gcc.target/arm/neon/vuzps8.c: Remove. - * gcc.target/arm/neon/vuzpu16.c: Remove. - * gcc.target/arm/neon/vuzpu32.c: Remove. - * gcc.target/arm/neon/vuzpu8.c: Remove. - * gcc.target/arm/neon/vzipQf32.c: Remove. - * gcc.target/arm/neon/vzipQp16.c: Remove. - * gcc.target/arm/neon/vzipQp8.c: Remove. - * gcc.target/arm/neon/vzipQs16.c: Remove. - * gcc.target/arm/neon/vzipQs32.c: Remove. - * gcc.target/arm/neon/vzipQs8.c: Remove. - * gcc.target/arm/neon/vzipQu16.c: Remove. - * gcc.target/arm/neon/vzipQu32.c: Remove. - * gcc.target/arm/neon/vzipQu8.c: Remove. - * gcc.target/arm/neon/vzipf32.c: Remove. - * gcc.target/arm/neon/vzipp16.c: Remove. - * gcc.target/arm/neon/vzipp8.c: Remove. - * gcc.target/arm/neon/vzips16.c: Remove. - * gcc.target/arm/neon/vzips32.c: Remove. - * gcc.target/arm/neon/vzips8.c: Remove. - * gcc.target/arm/neon/vzipu16.c: Remove. - * gcc.target/arm/neon/vzipu32.c: Remove. - * gcc.target/arm/neon/vzipu8.c: Remove. - -2015-11-13 Ilya Enkovich - - * g++.dg/vect/simd-mask-store-bool.cc: New test. - -2015-11-13 David Malcolm - - PR driver/67613 - * gcc/testsuite/gcc.dg/spellcheck-options-1.c: New file. - * gcc/testsuite/gcc.dg/spellcheck-options-2.c: New file. - -2015-11-13 David Malcolm - - * gcc.dg/plugin/levenshtein-test-1.c: New file. - * gcc.dg/plugin/levenshtein_plugin.c: New file. - * gcc.dg/plugin/plugin.exp (plugin_test_list): Add - levenshtein_plugin.c. - * gcc.dg/spellcheck-fields.c: New file. - -2015-11-12 Steven G. Kargl - - PR fortran/68318 - * gfortran.dg/pr68318_1.f90: New test. - * gfortran.dg/pr68318_2.f90: Ditto. - -2015-11-12 James Norris - Joseph Myers - - * c-c++-common/goacc/declare-1.c: New test. - * c-c++-common/goacc/declare-2.c: Likewise. - -2015-11-12 Christophe Lyon - - [ARM] Remove neon-testgen.ml and generated tests. - - * gcc.target/arm/neon/vRaddhns16.c: Remove. - * gcc.target/arm/neon/vRaddhns32.c: Remove. - * gcc.target/arm/neon/vRaddhns64.c: Remove. - * gcc.target/arm/neon/vRaddhnu16.c: Remove. - * gcc.target/arm/neon/vRaddhnu32.c: Remove. - * gcc.target/arm/neon/vRaddhnu64.c: Remove. - * gcc.target/arm/neon/vRhaddQs16.c: Remove. - * gcc.target/arm/neon/vRhaddQs32.c: Remove. - * gcc.target/arm/neon/vRhaddQs8.c: Remove. - * gcc.target/arm/neon/vRhaddQu16.c: Remove. - * gcc.target/arm/neon/vRhaddQu32.c: Remove. - * gcc.target/arm/neon/vRhaddQu8.c: Remove. - * gcc.target/arm/neon/vRhadds16.c: Remove. - * gcc.target/arm/neon/vRhadds32.c: Remove. - * gcc.target/arm/neon/vRhadds8.c: Remove. - * gcc.target/arm/neon/vRhaddu16.c: Remove. - * gcc.target/arm/neon/vRhaddu32.c: Remove. - * gcc.target/arm/neon/vRhaddu8.c: Remove. - * gcc.target/arm/neon/vRshlQs16.c: Remove. - * gcc.target/arm/neon/vRshlQs32.c: Remove. - * gcc.target/arm/neon/vRshlQs64.c: Remove. - * gcc.target/arm/neon/vRshlQs8.c: Remove. - * gcc.target/arm/neon/vRshlQu16.c: Remove. - * gcc.target/arm/neon/vRshlQu32.c: Remove. - * gcc.target/arm/neon/vRshlQu64.c: Remove. - * gcc.target/arm/neon/vRshlQu8.c: Remove. - * gcc.target/arm/neon/vRshls16.c: Remove. - * gcc.target/arm/neon/vRshls32.c: Remove. - * gcc.target/arm/neon/vRshls64.c: Remove. - * gcc.target/arm/neon/vRshls8.c: Remove. - * gcc.target/arm/neon/vRshlu16.c: Remove. - * gcc.target/arm/neon/vRshlu32.c: Remove. - * gcc.target/arm/neon/vRshlu64.c: Remove. - * gcc.target/arm/neon/vRshlu8.c: Remove. - * gcc.target/arm/neon/vRshrQ_ns16.c: Remove. - * gcc.target/arm/neon/vRshrQ_ns32.c: Remove. - * gcc.target/arm/neon/vRshrQ_ns64.c: Remove. - * gcc.target/arm/neon/vRshrQ_ns8.c: Remove. - * gcc.target/arm/neon/vRshrQ_nu16.c: Remove. - * gcc.target/arm/neon/vRshrQ_nu32.c: Remove. - * gcc.target/arm/neon/vRshrQ_nu64.c: Remove. - * gcc.target/arm/neon/vRshrQ_nu8.c: Remove. - * gcc.target/arm/neon/vRshr_ns16.c: Remove. - * gcc.target/arm/neon/vRshr_ns32.c: Remove. - * gcc.target/arm/neon/vRshr_ns64.c: Remove. - * gcc.target/arm/neon/vRshr_ns8.c: Remove. - * gcc.target/arm/neon/vRshr_nu16.c: Remove. - * gcc.target/arm/neon/vRshr_nu32.c: Remove. - * gcc.target/arm/neon/vRshr_nu64.c: Remove. - * gcc.target/arm/neon/vRshr_nu8.c: Remove. - * gcc.target/arm/neon/vRshrn_ns16.c: Remove. - * gcc.target/arm/neon/vRshrn_ns32.c: Remove. - * gcc.target/arm/neon/vRshrn_ns64.c: Remove. - * gcc.target/arm/neon/vRshrn_nu16.c: Remove. - * gcc.target/arm/neon/vRshrn_nu32.c: Remove. - * gcc.target/arm/neon/vRshrn_nu64.c: Remove. - * gcc.target/arm/neon/vRsraQ_ns16.c: Remove. - * gcc.target/arm/neon/vRsraQ_ns32.c: Remove. - * gcc.target/arm/neon/vRsraQ_ns64.c: Remove. - * gcc.target/arm/neon/vRsraQ_ns8.c: Remove. - * gcc.target/arm/neon/vRsraQ_nu16.c: Remove. - * gcc.target/arm/neon/vRsraQ_nu32.c: Remove. - * gcc.target/arm/neon/vRsraQ_nu64.c: Remove. - * gcc.target/arm/neon/vRsraQ_nu8.c: Remove. - * gcc.target/arm/neon/vRsra_ns16.c: Remove. - * gcc.target/arm/neon/vRsra_ns32.c: Remove. - * gcc.target/arm/neon/vRsra_ns64.c: Remove. - * gcc.target/arm/neon/vRsra_ns8.c: Remove. - * gcc.target/arm/neon/vRsra_nu16.c: Remove. - * gcc.target/arm/neon/vRsra_nu32.c: Remove. - * gcc.target/arm/neon/vRsra_nu64.c: Remove. - * gcc.target/arm/neon/vRsra_nu8.c: Remove. - * gcc.target/arm/neon/vRsubhns16.c: Remove. - * gcc.target/arm/neon/vRsubhns32.c: Remove. - * gcc.target/arm/neon/vRsubhns64.c: Remove. - * gcc.target/arm/neon/vRsubhnu16.c: Remove. - * gcc.target/arm/neon/vRsubhnu32.c: Remove. - * gcc.target/arm/neon/vRsubhnu64.c: Remove. - * gcc.target/arm/neon/vabaQs16.c: Remove. - * gcc.target/arm/neon/vabaQs32.c: Remove. - * gcc.target/arm/neon/vabaQs8.c: Remove. - * gcc.target/arm/neon/vabaQu16.c: Remove. - * gcc.target/arm/neon/vabaQu32.c: Remove. - * gcc.target/arm/neon/vabaQu8.c: Remove. - * gcc.target/arm/neon/vabals16.c: Remove. - * gcc.target/arm/neon/vabals32.c: Remove. - * gcc.target/arm/neon/vabals8.c: Remove. - * gcc.target/arm/neon/vabalu16.c: Remove. - * gcc.target/arm/neon/vabalu32.c: Remove. - * gcc.target/arm/neon/vabalu8.c: Remove. - * gcc.target/arm/neon/vabas16.c: Remove. - * gcc.target/arm/neon/vabas32.c: Remove. - * gcc.target/arm/neon/vabas8.c: Remove. - * gcc.target/arm/neon/vabau16.c: Remove. - * gcc.target/arm/neon/vabau32.c: Remove. - * gcc.target/arm/neon/vabau8.c: Remove. - * gcc.target/arm/neon/vabdQf32.c: Remove. - * gcc.target/arm/neon/vabdQs16.c: Remove. - * gcc.target/arm/neon/vabdQs32.c: Remove. - * gcc.target/arm/neon/vabdQs8.c: Remove. - * gcc.target/arm/neon/vabdQu16.c: Remove. - * gcc.target/arm/neon/vabdQu32.c: Remove. - * gcc.target/arm/neon/vabdQu8.c: Remove. - * gcc.target/arm/neon/vabdf32.c: Remove. - * gcc.target/arm/neon/vabdls16.c: Remove. - * gcc.target/arm/neon/vabdls32.c: Remove. - * gcc.target/arm/neon/vabdls8.c: Remove. - * gcc.target/arm/neon/vabdlu16.c: Remove. - * gcc.target/arm/neon/vabdlu32.c: Remove. - * gcc.target/arm/neon/vabdlu8.c: Remove. - * gcc.target/arm/neon/vabds16.c: Remove. - * gcc.target/arm/neon/vabds32.c: Remove. - * gcc.target/arm/neon/vabds8.c: Remove. - * gcc.target/arm/neon/vabdu16.c: Remove. - * gcc.target/arm/neon/vabdu32.c: Remove. - * gcc.target/arm/neon/vabdu8.c: Remove. - * gcc.target/arm/neon/vabsQf32.c: Remove. - * gcc.target/arm/neon/vabsQs16.c: Remove. - * gcc.target/arm/neon/vabsQs32.c: Remove. - * gcc.target/arm/neon/vabsQs8.c: Remove. - * gcc.target/arm/neon/vabsf32.c: Remove. - * gcc.target/arm/neon/vabss16.c: Remove. - * gcc.target/arm/neon/vabss32.c: Remove. - * gcc.target/arm/neon/vabss8.c: Remove. - * gcc.target/arm/neon/vaddQf32.c: Remove. - * gcc.target/arm/neon/vaddQs16.c: Remove. - * gcc.target/arm/neon/vaddQs32.c: Remove. - * gcc.target/arm/neon/vaddQs64.c: Remove. - * gcc.target/arm/neon/vaddQs8.c: Remove. - * gcc.target/arm/neon/vaddQu16.c: Remove. - * gcc.target/arm/neon/vaddQu32.c: Remove. - * gcc.target/arm/neon/vaddQu64.c: Remove. - * gcc.target/arm/neon/vaddQu8.c: Remove. - * gcc.target/arm/neon/vaddf32.c: Remove. - * gcc.target/arm/neon/vaddhns16.c: Remove. - * gcc.target/arm/neon/vaddhns32.c: Remove. - * gcc.target/arm/neon/vaddhns64.c: Remove. - * gcc.target/arm/neon/vaddhnu16.c: Remove. - * gcc.target/arm/neon/vaddhnu32.c: Remove. - * gcc.target/arm/neon/vaddhnu64.c: Remove. - * gcc.target/arm/neon/vaddls16.c: Remove. - * gcc.target/arm/neon/vaddls32.c: Remove. - * gcc.target/arm/neon/vaddls8.c: Remove. - * gcc.target/arm/neon/vaddlu16.c: Remove. - * gcc.target/arm/neon/vaddlu32.c: Remove. - * gcc.target/arm/neon/vaddlu8.c: Remove. - * gcc.target/arm/neon/vadds16.c: Remove. - * gcc.target/arm/neon/vadds32.c: Remove. - * gcc.target/arm/neon/vadds64.c: Remove. - * gcc.target/arm/neon/vadds8.c: Remove. - * gcc.target/arm/neon/vaddu16.c: Remove. - * gcc.target/arm/neon/vaddu32.c: Remove. - * gcc.target/arm/neon/vaddu64.c: Remove. - * gcc.target/arm/neon/vaddu8.c: Remove. - * gcc.target/arm/neon/vaddws16.c: Remove. - * gcc.target/arm/neon/vaddws32.c: Remove. - * gcc.target/arm/neon/vaddws8.c: Remove. - * gcc.target/arm/neon/vaddwu16.c: Remove. - * gcc.target/arm/neon/vaddwu32.c: Remove. - * gcc.target/arm/neon/vaddwu8.c: Remove. - * gcc.target/arm/neon/vandQs16.c: Remove. - * gcc.target/arm/neon/vandQs32.c: Remove. - * gcc.target/arm/neon/vandQs64.c: Remove. - * gcc.target/arm/neon/vandQs8.c: Remove. - * gcc.target/arm/neon/vandQu16.c: Remove. - * gcc.target/arm/neon/vandQu32.c: Remove. - * gcc.target/arm/neon/vandQu64.c: Remove. - * gcc.target/arm/neon/vandQu8.c: Remove. - * gcc.target/arm/neon/vands16.c: Remove. - * gcc.target/arm/neon/vands32.c: Remove. - * gcc.target/arm/neon/vands64.c: Remove. - * gcc.target/arm/neon/vands8.c: Remove. - * gcc.target/arm/neon/vandu16.c: Remove. - * gcc.target/arm/neon/vandu32.c: Remove. - * gcc.target/arm/neon/vandu64.c: Remove. - * gcc.target/arm/neon/vandu8.c: Remove. - * gcc.target/arm/neon/vbicQs16.c: Remove. - * gcc.target/arm/neon/vbicQs32.c: Remove. - * gcc.target/arm/neon/vbicQs64.c: Remove. - * gcc.target/arm/neon/vbicQs8.c: Remove. - * gcc.target/arm/neon/vbicQu16.c: Remove. - * gcc.target/arm/neon/vbicQu32.c: Remove. - * gcc.target/arm/neon/vbicQu64.c: Remove. - * gcc.target/arm/neon/vbicQu8.c: Remove. - * gcc.target/arm/neon/vbics16.c: Remove. - * gcc.target/arm/neon/vbics32.c: Remove. - * gcc.target/arm/neon/vbics64.c: Remove. - * gcc.target/arm/neon/vbics8.c: Remove. - * gcc.target/arm/neon/vbicu16.c: Remove. - * gcc.target/arm/neon/vbicu32.c: Remove. - * gcc.target/arm/neon/vbicu64.c: Remove. - * gcc.target/arm/neon/vbicu8.c: Remove. - * gcc.target/arm/neon/vbslQf32.c: Remove. - * gcc.target/arm/neon/vbslQp16.c: Remove. - * gcc.target/arm/neon/vbslQp64.c: Remove. - * gcc.target/arm/neon/vbslQp8.c: Remove. - * gcc.target/arm/neon/vbslQs16.c: Remove. - * gcc.target/arm/neon/vbslQs32.c: Remove. - * gcc.target/arm/neon/vbslQs64.c: Remove. - * gcc.target/arm/neon/vbslQs8.c: Remove. - * gcc.target/arm/neon/vbslQu16.c: Remove. - * gcc.target/arm/neon/vbslQu32.c: Remove. - * gcc.target/arm/neon/vbslQu64.c: Remove. - * gcc.target/arm/neon/vbslQu8.c: Remove. - * gcc.target/arm/neon/vbslf32.c: Remove. - * gcc.target/arm/neon/vbslp16.c: Remove. - * gcc.target/arm/neon/vbslp64.c: Remove. - * gcc.target/arm/neon/vbslp8.c: Remove. - * gcc.target/arm/neon/vbsls16.c: Remove. - * gcc.target/arm/neon/vbsls32.c: Remove. - * gcc.target/arm/neon/vbsls64.c: Remove. - * gcc.target/arm/neon/vbsls8.c: Remove. - * gcc.target/arm/neon/vbslu16.c: Remove. - * gcc.target/arm/neon/vbslu32.c: Remove. - * gcc.target/arm/neon/vbslu64.c: Remove. - * gcc.target/arm/neon/vbslu8.c: Remove. - * gcc.target/arm/neon/vcageQf32.c: Remove. - * gcc.target/arm/neon/vcagef32.c: Remove. - * gcc.target/arm/neon/vcagtQf32.c: Remove. - * gcc.target/arm/neon/vcagtf32.c: Remove. - * gcc.target/arm/neon/vcaleQf32.c: Remove. - * gcc.target/arm/neon/vcalef32.c: Remove. - * gcc.target/arm/neon/vcaltQf32.c: Remove. - * gcc.target/arm/neon/vcaltf32.c: Remove. - * gcc.target/arm/neon/vceqQf32.c: Remove. - * gcc.target/arm/neon/vceqQp8.c: Remove. - * gcc.target/arm/neon/vceqQs16.c: Remove. - * gcc.target/arm/neon/vceqQs32.c: Remove. - * gcc.target/arm/neon/vceqQs8.c: Remove. - * gcc.target/arm/neon/vceqQu16.c: Remove. - * gcc.target/arm/neon/vceqQu32.c: Remove. - * gcc.target/arm/neon/vceqQu8.c: Remove. - * gcc.target/arm/neon/vceqf32.c: Remove. - * gcc.target/arm/neon/vceqp8.c: Remove. - * gcc.target/arm/neon/vceqs16.c: Remove. - * gcc.target/arm/neon/vceqs32.c: Remove. - * gcc.target/arm/neon/vceqs8.c: Remove. - * gcc.target/arm/neon/vcequ16.c: Remove. - * gcc.target/arm/neon/vcequ32.c: Remove. - * gcc.target/arm/neon/vcequ8.c: Remove. - * gcc.target/arm/neon/vcgeQf32.c: Remove. - * gcc.target/arm/neon/vcgeQs16.c: Remove. - * gcc.target/arm/neon/vcgeQs32.c: Remove. - * gcc.target/arm/neon/vcgeQs8.c: Remove. - * gcc.target/arm/neon/vcgeQu16.c: Remove. - * gcc.target/arm/neon/vcgeQu32.c: Remove. - * gcc.target/arm/neon/vcgeQu8.c: Remove. - * gcc.target/arm/neon/vcgef32.c: Remove. - * gcc.target/arm/neon/vcges16.c: Remove. - * gcc.target/arm/neon/vcges32.c: Remove. - * gcc.target/arm/neon/vcges8.c: Remove. - * gcc.target/arm/neon/vcgeu16.c: Remove. - * gcc.target/arm/neon/vcgeu32.c: Remove. - * gcc.target/arm/neon/vcgeu8.c: Remove. - * gcc.target/arm/neon/vcgtQf32.c: Remove. - * gcc.target/arm/neon/vcgtQs16.c: Remove. - * gcc.target/arm/neon/vcgtQs32.c: Remove. - * gcc.target/arm/neon/vcgtQs8.c: Remove. - * gcc.target/arm/neon/vcgtQu16.c: Remove. - * gcc.target/arm/neon/vcgtQu32.c: Remove. - * gcc.target/arm/neon/vcgtQu8.c: Remove. - * gcc.target/arm/neon/vcgtf32.c: Remove. - * gcc.target/arm/neon/vcgts16.c: Remove. - * gcc.target/arm/neon/vcgts32.c: Remove. - * gcc.target/arm/neon/vcgts8.c: Remove. - * gcc.target/arm/neon/vcgtu16.c: Remove. - * gcc.target/arm/neon/vcgtu32.c: Remove. - * gcc.target/arm/neon/vcgtu8.c: Remove. - * gcc.target/arm/neon/vcleQf32.c: Remove. - * gcc.target/arm/neon/vcleQs16.c: Remove. - * gcc.target/arm/neon/vcleQs32.c: Remove. - * gcc.target/arm/neon/vcleQs8.c: Remove. - * gcc.target/arm/neon/vcleQu16.c: Remove. - * gcc.target/arm/neon/vcleQu32.c: Remove. - * gcc.target/arm/neon/vcleQu8.c: Remove. - * gcc.target/arm/neon/vclef32.c: Remove. - * gcc.target/arm/neon/vcles16.c: Remove. - * gcc.target/arm/neon/vcles32.c: Remove. - * gcc.target/arm/neon/vcles8.c: Remove. - * gcc.target/arm/neon/vcleu16.c: Remove. - * gcc.target/arm/neon/vcleu32.c: Remove. - * gcc.target/arm/neon/vcleu8.c: Remove. - * gcc.target/arm/neon/vclsQs16.c: Remove. - * gcc.target/arm/neon/vclsQs32.c: Remove. - * gcc.target/arm/neon/vclsQs8.c: Remove. - * gcc.target/arm/neon/vclss16.c: Remove. - * gcc.target/arm/neon/vclss32.c: Remove. - * gcc.target/arm/neon/vclss8.c: Remove. - * gcc.target/arm/neon/vcltQf32.c: Remove. - * gcc.target/arm/neon/vcltQs16.c: Remove. - * gcc.target/arm/neon/vcltQs32.c: Remove. - * gcc.target/arm/neon/vcltQs8.c: Remove. - * gcc.target/arm/neon/vcltQu16.c: Remove. - * gcc.target/arm/neon/vcltQu32.c: Remove. - * gcc.target/arm/neon/vcltQu8.c: Remove. - * gcc.target/arm/neon/vcltf32.c: Remove. - * gcc.target/arm/neon/vclts16.c: Remove. - * gcc.target/arm/neon/vclts32.c: Remove. - * gcc.target/arm/neon/vclts8.c: Remove. - * gcc.target/arm/neon/vcltu16.c: Remove. - * gcc.target/arm/neon/vcltu32.c: Remove. - * gcc.target/arm/neon/vcltu8.c: Remove. - * gcc.target/arm/neon/vclzQs16.c: Remove. - * gcc.target/arm/neon/vclzQs32.c: Remove. - * gcc.target/arm/neon/vclzQs8.c: Remove. - * gcc.target/arm/neon/vclzQu16.c: Remove. - * gcc.target/arm/neon/vclzQu32.c: Remove. - * gcc.target/arm/neon/vclzQu8.c: Remove. - * gcc.target/arm/neon/vclzs16.c: Remove. - * gcc.target/arm/neon/vclzs32.c: Remove. - * gcc.target/arm/neon/vclzs8.c: Remove. - * gcc.target/arm/neon/vclzu16.c: Remove. - * gcc.target/arm/neon/vclzu32.c: Remove. - * gcc.target/arm/neon/vclzu8.c: Remove. - * gcc.target/arm/neon/vcntQp8.c: Remove. - * gcc.target/arm/neon/vcntQs8.c: Remove. - * gcc.target/arm/neon/vcntQu8.c: Remove. - * gcc.target/arm/neon/vcntp8.c: Remove. - * gcc.target/arm/neon/vcnts8.c: Remove. - * gcc.target/arm/neon/vcntu8.c: Remove. - * gcc.target/arm/neon/vcombinef32.c: Remove. - * gcc.target/arm/neon/vcombinep16.c: Remove. - * gcc.target/arm/neon/vcombinep64.c: Remove. - * gcc.target/arm/neon/vcombinep8.c: Remove. - * gcc.target/arm/neon/vcombines16.c: Remove. - * gcc.target/arm/neon/vcombines32.c: Remove. - * gcc.target/arm/neon/vcombines64.c: Remove. - * gcc.target/arm/neon/vcombines8.c: Remove. - * gcc.target/arm/neon/vcombineu16.c: Remove. - * gcc.target/arm/neon/vcombineu32.c: Remove. - * gcc.target/arm/neon/vcombineu64.c: Remove. - * gcc.target/arm/neon/vcombineu8.c: Remove. - * gcc.target/arm/neon/vcreatef32.c: Remove. - * gcc.target/arm/neon/vcreatep16.c: Remove. - * gcc.target/arm/neon/vcreatep64.c: Remove. - * gcc.target/arm/neon/vcreatep8.c: Remove. - * gcc.target/arm/neon/vcreates16.c: Remove. - * gcc.target/arm/neon/vcreates32.c: Remove. - * gcc.target/arm/neon/vcreates64.c: Remove. - * gcc.target/arm/neon/vcreates8.c: Remove. - * gcc.target/arm/neon/vcreateu16.c: Remove. - * gcc.target/arm/neon/vcreateu32.c: Remove. - * gcc.target/arm/neon/vcreateu64.c: Remove. - * gcc.target/arm/neon/vcreateu8.c: Remove. - * gcc.target/arm/neon/vcvtQ_nf32_s32.c: Remove. - * gcc.target/arm/neon/vcvtQ_nf32_u32.c: Remove. - * gcc.target/arm/neon/vcvtQ_ns32_f32.c: Remove. - * gcc.target/arm/neon/vcvtQ_nu32_f32.c: Remove. - * gcc.target/arm/neon/vcvtQf32_s32.c: Remove. - * gcc.target/arm/neon/vcvtQf32_u32.c: Remove. - * gcc.target/arm/neon/vcvtQs32_f32.c: Remove. - * gcc.target/arm/neon/vcvtQu32_f32.c: Remove. - * gcc.target/arm/neon/vcvt_nf32_s32.c: Remove. - * gcc.target/arm/neon/vcvt_nf32_u32.c: Remove. - * gcc.target/arm/neon/vcvt_ns32_f32.c: Remove. - * gcc.target/arm/neon/vcvt_nu32_f32.c: Remove. - * gcc.target/arm/neon/vcvtf16_f32.c: Remove. - * gcc.target/arm/neon/vcvtf32_f16.c: Remove. - * gcc.target/arm/neon/vcvtf32_s32.c: Remove. - * gcc.target/arm/neon/vcvtf32_u32.c: Remove. - * gcc.target/arm/neon/vcvts32_f32.c: Remove. - * gcc.target/arm/neon/vcvtu32_f32.c: Remove. - * gcc.target/arm/neon/vdupQ_lanef32.c: Remove. - * gcc.target/arm/neon/vdupQ_lanep16.c: Remove. - * gcc.target/arm/neon/vdupQ_lanep64.c: Remove. - * gcc.target/arm/neon/vdupQ_lanep8.c: Remove. - * gcc.target/arm/neon/vdupQ_lanes16.c: Remove. - * gcc.target/arm/neon/vdupQ_lanes32.c: Remove. - * gcc.target/arm/neon/vdupQ_lanes64.c: Remove. - * gcc.target/arm/neon/vdupQ_lanes8.c: Remove. - * gcc.target/arm/neon/vdupQ_laneu16.c: Remove. - * gcc.target/arm/neon/vdupQ_laneu32.c: Remove. - * gcc.target/arm/neon/vdupQ_laneu64.c: Remove. - * gcc.target/arm/neon/vdupQ_laneu8.c: Remove. - * gcc.target/arm/neon/vdupQ_nf32.c: Remove. - * gcc.target/arm/neon/vdupQ_np16.c: Remove. - * gcc.target/arm/neon/vdupQ_np64.c: Remove. - * gcc.target/arm/neon/vdupQ_np8.c: Remove. - * gcc.target/arm/neon/vdupQ_ns16.c: Remove. - * gcc.target/arm/neon/vdupQ_ns32.c: Remove. - * gcc.target/arm/neon/vdupQ_ns64.c: Remove. - * gcc.target/arm/neon/vdupQ_ns8.c: Remove. - * gcc.target/arm/neon/vdupQ_nu16.c: Remove. - * gcc.target/arm/neon/vdupQ_nu32.c: Remove. - * gcc.target/arm/neon/vdupQ_nu64.c: Remove. - * gcc.target/arm/neon/vdupQ_nu8.c: Remove. - * gcc.target/arm/neon/vdup_lanef32.c: Remove. - * gcc.target/arm/neon/vdup_lanep16.c: Remove. - * gcc.target/arm/neon/vdup_lanep64.c: Remove. - * gcc.target/arm/neon/vdup_lanep8.c: Remove. - * gcc.target/arm/neon/vdup_lanes16.c: Remove. - * gcc.target/arm/neon/vdup_lanes32.c: Remove. - * gcc.target/arm/neon/vdup_lanes64.c: Remove. - * gcc.target/arm/neon/vdup_lanes8.c: Remove. - * gcc.target/arm/neon/vdup_laneu16.c: Remove. - * gcc.target/arm/neon/vdup_laneu32.c: Remove. - * gcc.target/arm/neon/vdup_laneu64.c: Remove. - * gcc.target/arm/neon/vdup_laneu8.c: Remove. - * gcc.target/arm/neon/vdup_nf32.c: Remove. - * gcc.target/arm/neon/vdup_np16.c: Remove. - * gcc.target/arm/neon/vdup_np64.c: Remove. - * gcc.target/arm/neon/vdup_np8.c: Remove. - * gcc.target/arm/neon/vdup_ns16.c: Remove. - * gcc.target/arm/neon/vdup_ns32.c: Remove. - * gcc.target/arm/neon/vdup_ns64.c: Remove. - * gcc.target/arm/neon/vdup_ns8.c: Remove. - * gcc.target/arm/neon/vdup_nu16.c: Remove. - * gcc.target/arm/neon/vdup_nu32.c: Remove. - * gcc.target/arm/neon/vdup_nu64.c: Remove. - * gcc.target/arm/neon/vdup_nu8.c: Remove. - * gcc.target/arm/neon/veorQs16.c: Remove. - * gcc.target/arm/neon/veorQs32.c: Remove. - * gcc.target/arm/neon/veorQs64.c: Remove. - * gcc.target/arm/neon/veorQs8.c: Remove. - * gcc.target/arm/neon/veorQu16.c: Remove. - * gcc.target/arm/neon/veorQu32.c: Remove. - * gcc.target/arm/neon/veorQu64.c: Remove. - * gcc.target/arm/neon/veorQu8.c: Remove. - * gcc.target/arm/neon/veors16.c: Remove. - * gcc.target/arm/neon/veors32.c: Remove. - * gcc.target/arm/neon/veors64.c: Remove. - * gcc.target/arm/neon/veors8.c: Remove. - * gcc.target/arm/neon/veoru16.c: Remove. - * gcc.target/arm/neon/veoru32.c: Remove. - * gcc.target/arm/neon/veoru64.c: Remove. - * gcc.target/arm/neon/veoru8.c: Remove. - * gcc.target/arm/neon/vextQf32.c: Remove. - * gcc.target/arm/neon/vextQp16.c: Remove. - * gcc.target/arm/neon/vextQp64.c: Remove. - * gcc.target/arm/neon/vextQp8.c: Remove. - * gcc.target/arm/neon/vextQs16.c: Remove. - * gcc.target/arm/neon/vextQs32.c: Remove. - * gcc.target/arm/neon/vextQs64.c: Remove. - * gcc.target/arm/neon/vextQs8.c: Remove. - * gcc.target/arm/neon/vextQu16.c: Remove. - * gcc.target/arm/neon/vextQu32.c: Remove. - * gcc.target/arm/neon/vextQu64.c: Remove. - * gcc.target/arm/neon/vextQu8.c: Remove. - * gcc.target/arm/neon/vextf32.c: Remove. - * gcc.target/arm/neon/vextp16.c: Remove. - * gcc.target/arm/neon/vextp64.c: Remove. - * gcc.target/arm/neon/vextp8.c: Remove. - * gcc.target/arm/neon/vexts16.c: Remove. - * gcc.target/arm/neon/vexts32.c: Remove. - * gcc.target/arm/neon/vexts64.c: Remove. - * gcc.target/arm/neon/vexts8.c: Remove. - * gcc.target/arm/neon/vextu16.c: Remove. - * gcc.target/arm/neon/vextu32.c: Remove. - * gcc.target/arm/neon/vextu64.c: Remove. - * gcc.target/arm/neon/vextu8.c: Remove. - * gcc.target/arm/neon/vfmaQf32.c: Remove. - * gcc.target/arm/neon/vfmaf32.c: Remove. - * gcc.target/arm/neon/vfmsQf32.c: Remove. - * gcc.target/arm/neon/vfmsf32.c: Remove. - * gcc.target/arm/neon/vgetQ_lanef32.c: Remove. - * gcc.target/arm/neon/vgetQ_lanep16.c: Remove. - * gcc.target/arm/neon/vgetQ_lanep8.c: Remove. - * gcc.target/arm/neon/vgetQ_lanes16.c: Remove. - * gcc.target/arm/neon/vgetQ_lanes32.c: Remove. - * gcc.target/arm/neon/vgetQ_lanes64.c: Remove. - * gcc.target/arm/neon/vgetQ_lanes8.c: Remove. - * gcc.target/arm/neon/vgetQ_laneu16.c: Remove. - * gcc.target/arm/neon/vgetQ_laneu32.c: Remove. - * gcc.target/arm/neon/vgetQ_laneu64.c: Remove. - * gcc.target/arm/neon/vgetQ_laneu8.c: Remove. - * gcc.target/arm/neon/vget_highf32.c: Remove. - * gcc.target/arm/neon/vget_highp16.c: Remove. - * gcc.target/arm/neon/vget_highp64.c: Remove. - * gcc.target/arm/neon/vget_highp8.c: Remove. - * gcc.target/arm/neon/vget_highs16.c: Remove. - * gcc.target/arm/neon/vget_highs32.c: Remove. - * gcc.target/arm/neon/vget_highs64.c: Remove. - * gcc.target/arm/neon/vget_highs8.c: Remove. - * gcc.target/arm/neon/vget_highu16.c: Remove. - * gcc.target/arm/neon/vget_highu32.c: Remove. - * gcc.target/arm/neon/vget_highu64.c: Remove. - * gcc.target/arm/neon/vget_highu8.c: Remove. - * gcc.target/arm/neon/vget_lanef32.c: Remove. - * gcc.target/arm/neon/vget_lanep16.c: Remove. - * gcc.target/arm/neon/vget_lanep8.c: Remove. - * gcc.target/arm/neon/vget_lanes16.c: Remove. - * gcc.target/arm/neon/vget_lanes32.c: Remove. - * gcc.target/arm/neon/vget_lanes64.c: Remove. - * gcc.target/arm/neon/vget_lanes8.c: Remove. - * gcc.target/arm/neon/vget_laneu16.c: Remove. - * gcc.target/arm/neon/vget_laneu32.c: Remove. - * gcc.target/arm/neon/vget_laneu64.c: Remove. - * gcc.target/arm/neon/vget_laneu8.c: Remove. - * gcc.target/arm/neon/vget_lowf32.c: Remove. - * gcc.target/arm/neon/vget_lowp16.c: Remove. - * gcc.target/arm/neon/vget_lowp64.c: Remove. - * gcc.target/arm/neon/vget_lowp8.c: Remove. - * gcc.target/arm/neon/vget_lows16.c: Remove. - * gcc.target/arm/neon/vget_lows32.c: Remove. - * gcc.target/arm/neon/vget_lows64.c: Remove. - * gcc.target/arm/neon/vget_lows8.c: Remove. - * gcc.target/arm/neon/vget_lowu16.c: Remove. - * gcc.target/arm/neon/vget_lowu32.c: Remove. - * gcc.target/arm/neon/vget_lowu64.c: Remove. - * gcc.target/arm/neon/vget_lowu8.c: Remove. - * gcc.target/arm/neon/vhaddQs16.c: Remove. - * gcc.target/arm/neon/vhaddQs32.c: Remove. - * gcc.target/arm/neon/vhaddQs8.c: Remove. - * gcc.target/arm/neon/vhaddQu16.c: Remove. - * gcc.target/arm/neon/vhaddQu32.c: Remove. - * gcc.target/arm/neon/vhaddQu8.c: Remove. - * gcc.target/arm/neon/vhadds16.c: Remove. - * gcc.target/arm/neon/vhadds32.c: Remove. - * gcc.target/arm/neon/vhadds8.c: Remove. - * gcc.target/arm/neon/vhaddu16.c: Remove. - * gcc.target/arm/neon/vhaddu32.c: Remove. - * gcc.target/arm/neon/vhaddu8.c: Remove. - * gcc.target/arm/neon/vhsubQs16.c: Remove. - * gcc.target/arm/neon/vhsubQs32.c: Remove. - * gcc.target/arm/neon/vhsubQs8.c: Remove. - * gcc.target/arm/neon/vhsubQu16.c: Remove. - * gcc.target/arm/neon/vhsubQu32.c: Remove. - * gcc.target/arm/neon/vhsubQu8.c: Remove. - * gcc.target/arm/neon/vhsubs16.c: Remove. - * gcc.target/arm/neon/vhsubs32.c: Remove. - * gcc.target/arm/neon/vhsubs8.c: Remove. - * gcc.target/arm/neon/vhsubu16.c: Remove. - * gcc.target/arm/neon/vhsubu32.c: Remove. - * gcc.target/arm/neon/vhsubu8.c: Remove. - * gcc.target/arm/neon/vld1Q_dupf32.c: Remove. - * gcc.target/arm/neon/vld1Q_dupp16.c: Remove. - * gcc.target/arm/neon/vld1Q_dupp64.c: Remove. - * gcc.target/arm/neon/vld1Q_dupp8.c: Remove. - * gcc.target/arm/neon/vld1Q_dups16.c: Remove. - * gcc.target/arm/neon/vld1Q_dups32.c: Remove. - * gcc.target/arm/neon/vld1Q_dups64.c: Remove. - * gcc.target/arm/neon/vld1Q_dups8.c: Remove. - * gcc.target/arm/neon/vld1Q_dupu16.c: Remove. - * gcc.target/arm/neon/vld1Q_dupu32.c: Remove. - * gcc.target/arm/neon/vld1Q_dupu64.c: Remove. - * gcc.target/arm/neon/vld1Q_dupu8.c: Remove. - * gcc.target/arm/neon/vld1Q_lanef32.c: Remove. - * gcc.target/arm/neon/vld1Q_lanep16.c: Remove. - * gcc.target/arm/neon/vld1Q_lanep64.c: Remove. - * gcc.target/arm/neon/vld1Q_lanep8.c: Remove. - * gcc.target/arm/neon/vld1Q_lanes16.c: Remove. - * gcc.target/arm/neon/vld1Q_lanes32.c: Remove. - * gcc.target/arm/neon/vld1Q_lanes64.c: Remove. - * gcc.target/arm/neon/vld1Q_lanes8.c: Remove. - * gcc.target/arm/neon/vld1Q_laneu16.c: Remove. - * gcc.target/arm/neon/vld1Q_laneu32.c: Remove. - * gcc.target/arm/neon/vld1Q_laneu64.c: Remove. - * gcc.target/arm/neon/vld1Q_laneu8.c: Remove. - * gcc.target/arm/neon/vld1Qf32.c: Remove. - * gcc.target/arm/neon/vld1Qp16.c: Remove. - * gcc.target/arm/neon/vld1Qp64.c: Remove. - * gcc.target/arm/neon/vld1Qp8.c: Remove. - * gcc.target/arm/neon/vld1Qs16.c: Remove. - * gcc.target/arm/neon/vld1Qs32.c: Remove. - * gcc.target/arm/neon/vld1Qs64.c: Remove. - * gcc.target/arm/neon/vld1Qs8.c: Remove. - * gcc.target/arm/neon/vld1Qu16.c: Remove. - * gcc.target/arm/neon/vld1Qu32.c: Remove. - * gcc.target/arm/neon/vld1Qu64.c: Remove. - * gcc.target/arm/neon/vld1Qu8.c: Remove. - * gcc.target/arm/neon/vld1_dupf32.c: Remove. - * gcc.target/arm/neon/vld1_dupp16.c: Remove. - * gcc.target/arm/neon/vld1_dupp64.c: Remove. - * gcc.target/arm/neon/vld1_dupp8.c: Remove. - * gcc.target/arm/neon/vld1_dups16.c: Remove. - * gcc.target/arm/neon/vld1_dups32.c: Remove. - * gcc.target/arm/neon/vld1_dups64.c: Remove. - * gcc.target/arm/neon/vld1_dups8.c: Remove. - * gcc.target/arm/neon/vld1_dupu16.c: Remove. - * gcc.target/arm/neon/vld1_dupu32.c: Remove. - * gcc.target/arm/neon/vld1_dupu64.c: Remove. - * gcc.target/arm/neon/vld1_dupu8.c: Remove. - * gcc.target/arm/neon/vld1_lanef32.c: Remove. - * gcc.target/arm/neon/vld1_lanep16.c: Remove. - * gcc.target/arm/neon/vld1_lanep64.c: Remove. - * gcc.target/arm/neon/vld1_lanep8.c: Remove. - * gcc.target/arm/neon/vld1_lanes16.c: Remove. - * gcc.target/arm/neon/vld1_lanes32.c: Remove. - * gcc.target/arm/neon/vld1_lanes64.c: Remove. - * gcc.target/arm/neon/vld1_lanes8.c: Remove. - * gcc.target/arm/neon/vld1_laneu16.c: Remove. - * gcc.target/arm/neon/vld1_laneu32.c: Remove. - * gcc.target/arm/neon/vld1_laneu64.c: Remove. - * gcc.target/arm/neon/vld1_laneu8.c: Remove. - * gcc.target/arm/neon/vld1f32.c: Remove. - * gcc.target/arm/neon/vld1p16.c: Remove. - * gcc.target/arm/neon/vld1p64.c: Remove. - * gcc.target/arm/neon/vld1p8.c: Remove. - * gcc.target/arm/neon/vld1s16.c: Remove. - * gcc.target/arm/neon/vld1s32.c: Remove. - * gcc.target/arm/neon/vld1s64.c: Remove. - * gcc.target/arm/neon/vld1s8.c: Remove. - * gcc.target/arm/neon/vld1u16.c: Remove. - * gcc.target/arm/neon/vld1u32.c: Remove. - * gcc.target/arm/neon/vld1u64.c: Remove. - * gcc.target/arm/neon/vld1u8.c: Remove. - * gcc.target/arm/neon/vld2Q_lanef32.c: Remove. - * gcc.target/arm/neon/vld2Q_lanep16.c: Remove. - * gcc.target/arm/neon/vld2Q_lanes16.c: Remove. - * gcc.target/arm/neon/vld2Q_lanes32.c: Remove. - * gcc.target/arm/neon/vld2Q_laneu16.c: Remove. - * gcc.target/arm/neon/vld2Q_laneu32.c: Remove. - * gcc.target/arm/neon/vld2Qf32.c: Remove. - * gcc.target/arm/neon/vld2Qp16.c: Remove. - * gcc.target/arm/neon/vld2Qp8.c: Remove. - * gcc.target/arm/neon/vld2Qs16.c: Remove. - * gcc.target/arm/neon/vld2Qs32.c: Remove. - * gcc.target/arm/neon/vld2Qs8.c: Remove. - * gcc.target/arm/neon/vld2Qu16.c: Remove. - * gcc.target/arm/neon/vld2Qu32.c: Remove. - * gcc.target/arm/neon/vld2Qu8.c: Remove. - * gcc.target/arm/neon/vld2_dupf32.c: Remove. - * gcc.target/arm/neon/vld2_dupp16.c: Remove. - * gcc.target/arm/neon/vld2_dupp64.c: Remove. - * gcc.target/arm/neon/vld2_dupp8.c: Remove. - * gcc.target/arm/neon/vld2_dups16.c: Remove. - * gcc.target/arm/neon/vld2_dups32.c: Remove. - * gcc.target/arm/neon/vld2_dups64.c: Remove. - * gcc.target/arm/neon/vld2_dups8.c: Remove. - * gcc.target/arm/neon/vld2_dupu16.c: Remove. - * gcc.target/arm/neon/vld2_dupu32.c: Remove. - * gcc.target/arm/neon/vld2_dupu64.c: Remove. - * gcc.target/arm/neon/vld2_dupu8.c: Remove. - * gcc.target/arm/neon/vld2_lanef32.c: Remove. - * gcc.target/arm/neon/vld2_lanep16.c: Remove. - * gcc.target/arm/neon/vld2_lanep8.c: Remove. - * gcc.target/arm/neon/vld2_lanes16.c: Remove. - * gcc.target/arm/neon/vld2_lanes32.c: Remove. - * gcc.target/arm/neon/vld2_lanes8.c: Remove. - * gcc.target/arm/neon/vld2_laneu16.c: Remove. - * gcc.target/arm/neon/vld2_laneu32.c: Remove. - * gcc.target/arm/neon/vld2_laneu8.c: Remove. - * gcc.target/arm/neon/vld2f32.c: Remove. - * gcc.target/arm/neon/vld2p16.c: Remove. - * gcc.target/arm/neon/vld2p64.c: Remove. - * gcc.target/arm/neon/vld2p8.c: Remove. - * gcc.target/arm/neon/vld2s16.c: Remove. - * gcc.target/arm/neon/vld2s32.c: Remove. - * gcc.target/arm/neon/vld2s64.c: Remove. - * gcc.target/arm/neon/vld2s8.c: Remove. - * gcc.target/arm/neon/vld2u16.c: Remove. - * gcc.target/arm/neon/vld2u32.c: Remove. - * gcc.target/arm/neon/vld2u64.c: Remove. - * gcc.target/arm/neon/vld2u8.c: Remove. - * gcc.target/arm/neon/vld3Q_lanef32.c: Remove. - * gcc.target/arm/neon/vld3Q_lanep16.c: Remove. - * gcc.target/arm/neon/vld3Q_lanes16.c: Remove. - * gcc.target/arm/neon/vld3Q_lanes32.c: Remove. - * gcc.target/arm/neon/vld3Q_laneu16.c: Remove. - * gcc.target/arm/neon/vld3Q_laneu32.c: Remove. - * gcc.target/arm/neon/vld3Qf32.c: Remove. - * gcc.target/arm/neon/vld3Qp16.c: Remove. - * gcc.target/arm/neon/vld3Qp8.c: Remove. - * gcc.target/arm/neon/vld3Qs16.c: Remove. - * gcc.target/arm/neon/vld3Qs32.c: Remove. - * gcc.target/arm/neon/vld3Qs8.c: Remove. - * gcc.target/arm/neon/vld3Qu16.c: Remove. - * gcc.target/arm/neon/vld3Qu32.c: Remove. - * gcc.target/arm/neon/vld3Qu8.c: Remove. - * gcc.target/arm/neon/vld3_dupf32.c: Remove. - * gcc.target/arm/neon/vld3_dupp16.c: Remove. - * gcc.target/arm/neon/vld3_dupp64.c: Remove. - * gcc.target/arm/neon/vld3_dupp8.c: Remove. - * gcc.target/arm/neon/vld3_dups16.c: Remove. - * gcc.target/arm/neon/vld3_dups32.c: Remove. - * gcc.target/arm/neon/vld3_dups64.c: Remove. - * gcc.target/arm/neon/vld3_dups8.c: Remove. - * gcc.target/arm/neon/vld3_dupu16.c: Remove. - * gcc.target/arm/neon/vld3_dupu32.c: Remove. - * gcc.target/arm/neon/vld3_dupu64.c: Remove. - * gcc.target/arm/neon/vld3_dupu8.c: Remove. - * gcc.target/arm/neon/vld3_lanef32.c: Remove. - * gcc.target/arm/neon/vld3_lanep16.c: Remove. - * gcc.target/arm/neon/vld3_lanep8.c: Remove. - * gcc.target/arm/neon/vld3_lanes16.c: Remove. - * gcc.target/arm/neon/vld3_lanes32.c: Remove. - * gcc.target/arm/neon/vld3_lanes8.c: Remove. - * gcc.target/arm/neon/vld3_laneu16.c: Remove. - * gcc.target/arm/neon/vld3_laneu32.c: Remove. - * gcc.target/arm/neon/vld3_laneu8.c: Remove. - * gcc.target/arm/neon/vld3f32.c: Remove. - * gcc.target/arm/neon/vld3p16.c: Remove. - * gcc.target/arm/neon/vld3p64.c: Remove. - * gcc.target/arm/neon/vld3p8.c: Remove. - * gcc.target/arm/neon/vld3s16.c: Remove. - * gcc.target/arm/neon/vld3s32.c: Remove. - * gcc.target/arm/neon/vld3s64.c: Remove. - * gcc.target/arm/neon/vld3s8.c: Remove. - * gcc.target/arm/neon/vld3u16.c: Remove. - * gcc.target/arm/neon/vld3u32.c: Remove. - * gcc.target/arm/neon/vld3u64.c: Remove. - * gcc.target/arm/neon/vld3u8.c: Remove. - * gcc.target/arm/neon/vld4Q_lanef32.c: Remove. - * gcc.target/arm/neon/vld4Q_lanep16.c: Remove. - * gcc.target/arm/neon/vld4Q_lanes16.c: Remove. - * gcc.target/arm/neon/vld4Q_lanes32.c: Remove. - * gcc.target/arm/neon/vld4Q_laneu16.c: Remove. - * gcc.target/arm/neon/vld4Q_laneu32.c: Remove. - * gcc.target/arm/neon/vld4Qf32.c: Remove. - * gcc.target/arm/neon/vld4Qp16.c: Remove. - * gcc.target/arm/neon/vld4Qp8.c: Remove. - * gcc.target/arm/neon/vld4Qs16.c: Remove. - * gcc.target/arm/neon/vld4Qs32.c: Remove. - * gcc.target/arm/neon/vld4Qs8.c: Remove. - * gcc.target/arm/neon/vld4Qu16.c: Remove. - * gcc.target/arm/neon/vld4Qu32.c: Remove. - * gcc.target/arm/neon/vld4Qu8.c: Remove. - * gcc.target/arm/neon/vld4_dupf32.c: Remove. - * gcc.target/arm/neon/vld4_dupp16.c: Remove. - * gcc.target/arm/neon/vld4_dupp64.c: Remove. - * gcc.target/arm/neon/vld4_dupp8.c: Remove. - * gcc.target/arm/neon/vld4_dups16.c: Remove. - * gcc.target/arm/neon/vld4_dups32.c: Remove. - * gcc.target/arm/neon/vld4_dups64.c: Remove. - * gcc.target/arm/neon/vld4_dups8.c: Remove. - * gcc.target/arm/neon/vld4_dupu16.c: Remove. - * gcc.target/arm/neon/vld4_dupu32.c: Remove. - * gcc.target/arm/neon/vld4_dupu64.c: Remove. - * gcc.target/arm/neon/vld4_dupu8.c: Remove. - * gcc.target/arm/neon/vld4_lanef32.c: Remove. - * gcc.target/arm/neon/vld4_lanep16.c: Remove. - * gcc.target/arm/neon/vld4_lanep8.c: Remove. - * gcc.target/arm/neon/vld4_lanes16.c: Remove. - * gcc.target/arm/neon/vld4_lanes32.c: Remove. - * gcc.target/arm/neon/vld4_lanes8.c: Remove. - * gcc.target/arm/neon/vld4_laneu16.c: Remove. - * gcc.target/arm/neon/vld4_laneu32.c: Remove. - * gcc.target/arm/neon/vld4_laneu8.c: Remove. - * gcc.target/arm/neon/vld4f32.c: Remove. - * gcc.target/arm/neon/vld4p16.c: Remove. - * gcc.target/arm/neon/vld4p64.c: Remove. - * gcc.target/arm/neon/vld4p8.c: Remove. - * gcc.target/arm/neon/vld4s16.c: Remove. - * gcc.target/arm/neon/vld4s32.c: Remove. - * gcc.target/arm/neon/vld4s64.c: Remove. - * gcc.target/arm/neon/vld4s8.c: Remove. - * gcc.target/arm/neon/vld4u16.c: Remove. - * gcc.target/arm/neon/vld4u32.c: Remove. - * gcc.target/arm/neon/vld4u64.c: Remove. - * gcc.target/arm/neon/vld4u8.c: Remove. - * gcc.target/arm/neon/vmaxQf32.c: Remove. - * gcc.target/arm/neon/vmaxQs16.c: Remove. - * gcc.target/arm/neon/vmaxQs32.c: Remove. - * gcc.target/arm/neon/vmaxQs8.c: Remove. - * gcc.target/arm/neon/vmaxQu16.c: Remove. - * gcc.target/arm/neon/vmaxQu32.c: Remove. - * gcc.target/arm/neon/vmaxQu8.c: Remove. - * gcc.target/arm/neon/vmaxf32.c: Remove. - * gcc.target/arm/neon/vmaxs16.c: Remove. - * gcc.target/arm/neon/vmaxs32.c: Remove. - * gcc.target/arm/neon/vmaxs8.c: Remove. - * gcc.target/arm/neon/vmaxu16.c: Remove. - * gcc.target/arm/neon/vmaxu32.c: Remove. - * gcc.target/arm/neon/vmaxu8.c: Remove. - * gcc.target/arm/neon/vminQf32.c: Remove. - * gcc.target/arm/neon/vminQs16.c: Remove. - * gcc.target/arm/neon/vminQs32.c: Remove. - * gcc.target/arm/neon/vminQs8.c: Remove. - * gcc.target/arm/neon/vminQu16.c: Remove. - * gcc.target/arm/neon/vminQu32.c: Remove. - * gcc.target/arm/neon/vminQu8.c: Remove. - * gcc.target/arm/neon/vminf32.c: Remove. - * gcc.target/arm/neon/vmins16.c: Remove. - * gcc.target/arm/neon/vmins32.c: Remove. - * gcc.target/arm/neon/vmins8.c: Remove. - * gcc.target/arm/neon/vminu16.c: Remove. - * gcc.target/arm/neon/vminu32.c: Remove. - * gcc.target/arm/neon/vminu8.c: Remove. - * gcc.target/arm/neon/vmlaQ_lanef32.c: Remove. - * gcc.target/arm/neon/vmlaQ_lanes16.c: Remove. - * gcc.target/arm/neon/vmlaQ_lanes32.c: Remove. - * gcc.target/arm/neon/vmlaQ_laneu16.c: Remove. - * gcc.target/arm/neon/vmlaQ_laneu32.c: Remove. - * gcc.target/arm/neon/vmlaQ_nf32.c: Remove. - * gcc.target/arm/neon/vmlaQ_ns16.c: Remove. - * gcc.target/arm/neon/vmlaQ_ns32.c: Remove. - * gcc.target/arm/neon/vmlaQ_nu16.c: Remove. - * gcc.target/arm/neon/vmlaQ_nu32.c: Remove. - * gcc.target/arm/neon/vmlaQf32.c: Remove. - * gcc.target/arm/neon/vmlaQs16.c: Remove. - * gcc.target/arm/neon/vmlaQs32.c: Remove. - * gcc.target/arm/neon/vmlaQs8.c: Remove. - * gcc.target/arm/neon/vmlaQu16.c: Remove. - * gcc.target/arm/neon/vmlaQu32.c: Remove. - * gcc.target/arm/neon/vmlaQu8.c: Remove. - * gcc.target/arm/neon/vmla_lanef32.c: Remove. - * gcc.target/arm/neon/vmla_lanes16.c: Remove. - * gcc.target/arm/neon/vmla_lanes32.c: Remove. - * gcc.target/arm/neon/vmla_laneu16.c: Remove. - * gcc.target/arm/neon/vmla_laneu32.c: Remove. - * gcc.target/arm/neon/vmla_nf32.c: Remove. - * gcc.target/arm/neon/vmla_ns16.c: Remove. - * gcc.target/arm/neon/vmla_ns32.c: Remove. - * gcc.target/arm/neon/vmla_nu16.c: Remove. - * gcc.target/arm/neon/vmla_nu32.c: Remove. - * gcc.target/arm/neon/vmlaf32.c: Remove. - * gcc.target/arm/neon/vmlal_lanes16.c: Remove. - * gcc.target/arm/neon/vmlal_lanes32.c: Remove. - * gcc.target/arm/neon/vmlal_laneu16.c: Remove. - * gcc.target/arm/neon/vmlal_laneu32.c: Remove. - * gcc.target/arm/neon/vmlal_ns16.c: Remove. - * gcc.target/arm/neon/vmlal_ns32.c: Remove. - * gcc.target/arm/neon/vmlal_nu16.c: Remove. - * gcc.target/arm/neon/vmlal_nu32.c: Remove. - * gcc.target/arm/neon/vmlals16.c: Remove. - * gcc.target/arm/neon/vmlals32.c: Remove. - * gcc.target/arm/neon/vmlals8.c: Remove. - * gcc.target/arm/neon/vmlalu16.c: Remove. - * gcc.target/arm/neon/vmlalu32.c: Remove. - * gcc.target/arm/neon/vmlalu8.c: Remove. - * gcc.target/arm/neon/vmlas16.c: Remove. - * gcc.target/arm/neon/vmlas32.c: Remove. - * gcc.target/arm/neon/vmlas8.c: Remove. - * gcc.target/arm/neon/vmlau16.c: Remove. - * gcc.target/arm/neon/vmlau32.c: Remove. - * gcc.target/arm/neon/vmlau8.c: Remove. - * gcc.target/arm/neon/vmlsQ_lanef32.c: Remove. - * gcc.target/arm/neon/vmlsQ_lanes16.c: Remove. - * gcc.target/arm/neon/vmlsQ_lanes32.c: Remove. - * gcc.target/arm/neon/vmlsQ_laneu16.c: Remove. - * gcc.target/arm/neon/vmlsQ_laneu32.c: Remove. - * gcc.target/arm/neon/vmlsQ_nf32.c: Remove. - * gcc.target/arm/neon/vmlsQ_ns16.c: Remove. - * gcc.target/arm/neon/vmlsQ_ns32.c: Remove. - * gcc.target/arm/neon/vmlsQ_nu16.c: Remove. - * gcc.target/arm/neon/vmlsQ_nu32.c: Remove. - * gcc.target/arm/neon/vmlsQf32.c: Remove. - * gcc.target/arm/neon/vmlsQs16.c: Remove. - * gcc.target/arm/neon/vmlsQs32.c: Remove. - * gcc.target/arm/neon/vmlsQs8.c: Remove. - * gcc.target/arm/neon/vmlsQu16.c: Remove. - * gcc.target/arm/neon/vmlsQu32.c: Remove. - * gcc.target/arm/neon/vmlsQu8.c: Remove. - * gcc.target/arm/neon/vmls_lanef32.c: Remove. - * gcc.target/arm/neon/vmls_lanes16.c: Remove. - * gcc.target/arm/neon/vmls_lanes32.c: Remove. - * gcc.target/arm/neon/vmls_laneu16.c: Remove. - * gcc.target/arm/neon/vmls_laneu32.c: Remove. - * gcc.target/arm/neon/vmls_nf32.c: Remove. - * gcc.target/arm/neon/vmls_ns16.c: Remove. - * gcc.target/arm/neon/vmls_ns32.c: Remove. - * gcc.target/arm/neon/vmls_nu16.c: Remove. - * gcc.target/arm/neon/vmls_nu32.c: Remove. - * gcc.target/arm/neon/vmlsf32.c: Remove. - * gcc.target/arm/neon/vmlsl_lanes16.c: Remove. - * gcc.target/arm/neon/vmlsl_lanes32.c: Remove. - * gcc.target/arm/neon/vmlsl_laneu16.c: Remove. - * gcc.target/arm/neon/vmlsl_laneu32.c: Remove. - * gcc.target/arm/neon/vmlsl_ns16.c: Remove. - * gcc.target/arm/neon/vmlsl_ns32.c: Remove. - * gcc.target/arm/neon/vmlsl_nu16.c: Remove. - * gcc.target/arm/neon/vmlsl_nu32.c: Remove. - * gcc.target/arm/neon/vmlsls16.c: Remove. - * gcc.target/arm/neon/vmlsls32.c: Remove. - * gcc.target/arm/neon/vmlsls8.c: Remove. - * gcc.target/arm/neon/vmlslu16.c: Remove. - * gcc.target/arm/neon/vmlslu32.c: Remove. - * gcc.target/arm/neon/vmlslu8.c: Remove. - * gcc.target/arm/neon/vmlss16.c: Remove. - * gcc.target/arm/neon/vmlss32.c: Remove. - * gcc.target/arm/neon/vmlss8.c: Remove. - * gcc.target/arm/neon/vmlsu16.c: Remove. - * gcc.target/arm/neon/vmlsu32.c: Remove. - * gcc.target/arm/neon/vmlsu8.c: Remove. - * gcc.target/arm/neon/vmovQ_nf32.c: Remove. - * gcc.target/arm/neon/vmovQ_np16.c: Remove. - * gcc.target/arm/neon/vmovQ_np8.c: Remove. - * gcc.target/arm/neon/vmovQ_ns16.c: Remove. - * gcc.target/arm/neon/vmovQ_ns32.c: Remove. - * gcc.target/arm/neon/vmovQ_ns64.c: Remove. - * gcc.target/arm/neon/vmovQ_ns8.c: Remove. - * gcc.target/arm/neon/vmovQ_nu16.c: Remove. - * gcc.target/arm/neon/vmovQ_nu32.c: Remove. - * gcc.target/arm/neon/vmovQ_nu64.c: Remove. - * gcc.target/arm/neon/vmovQ_nu8.c: Remove. - * gcc.target/arm/neon/vmov_nf32.c: Remove. - * gcc.target/arm/neon/vmov_np16.c: Remove. - * gcc.target/arm/neon/vmov_np8.c: Remove. - * gcc.target/arm/neon/vmov_ns16.c: Remove. - * gcc.target/arm/neon/vmov_ns32.c: Remove. - * gcc.target/arm/neon/vmov_ns64.c: Remove. - * gcc.target/arm/neon/vmov_ns8.c: Remove. - * gcc.target/arm/neon/vmov_nu16.c: Remove. - * gcc.target/arm/neon/vmov_nu32.c: Remove. - * gcc.target/arm/neon/vmov_nu64.c: Remove. - * gcc.target/arm/neon/vmov_nu8.c: Remove. - * gcc.target/arm/neon/vmovls16.c: Remove. - * gcc.target/arm/neon/vmovls32.c: Remove. - * gcc.target/arm/neon/vmovls8.c: Remove. - * gcc.target/arm/neon/vmovlu16.c: Remove. - * gcc.target/arm/neon/vmovlu32.c: Remove. - * gcc.target/arm/neon/vmovlu8.c: Remove. - * gcc.target/arm/neon/vmovns16.c: Remove. - * gcc.target/arm/neon/vmovns32.c: Remove. - * gcc.target/arm/neon/vmovns64.c: Remove. - * gcc.target/arm/neon/vmovnu16.c: Remove. - * gcc.target/arm/neon/vmovnu32.c: Remove. - * gcc.target/arm/neon/vmovnu64.c: Remove. - * gcc.target/arm/neon/vmulQ_lanef32.c: Remove. - * gcc.target/arm/neon/vmulQ_lanes16.c: Remove. - * gcc.target/arm/neon/vmulQ_lanes32.c: Remove. - * gcc.target/arm/neon/vmulQ_laneu16.c: Remove. - * gcc.target/arm/neon/vmulQ_laneu32.c: Remove. - * gcc.target/arm/neon/vmulQ_nf32.c: Remove. - * gcc.target/arm/neon/vmulQ_ns16.c: Remove. - * gcc.target/arm/neon/vmulQ_ns32.c: Remove. - * gcc.target/arm/neon/vmulQ_nu16.c: Remove. - * gcc.target/arm/neon/vmulQ_nu32.c: Remove. - * gcc.target/arm/neon/vmulQf32.c: Remove. - * gcc.target/arm/neon/vmulQp8.c: Remove. - * gcc.target/arm/neon/vmulQs16.c: Remove. - * gcc.target/arm/neon/vmulQs32.c: Remove. - * gcc.target/arm/neon/vmulQs8.c: Remove. - * gcc.target/arm/neon/vmulQu16.c: Remove. - * gcc.target/arm/neon/vmulQu32.c: Remove. - * gcc.target/arm/neon/vmulQu8.c: Remove. - * gcc.target/arm/neon/vmul_lanef32.c: Remove. - * gcc.target/arm/neon/vmul_lanes16.c: Remove. - * gcc.target/arm/neon/vmul_lanes32.c: Remove. - * gcc.target/arm/neon/vmul_laneu16.c: Remove. - * gcc.target/arm/neon/vmul_laneu32.c: Remove. - * gcc.target/arm/neon/vmul_nf32.c: Remove. - * gcc.target/arm/neon/vmul_ns16.c: Remove. - * gcc.target/arm/neon/vmul_ns32.c: Remove. - * gcc.target/arm/neon/vmul_nu16.c: Remove. - * gcc.target/arm/neon/vmul_nu32.c: Remove. - * gcc.target/arm/neon/vmulf32.c: Remove. - * gcc.target/arm/neon/vmull_lanes16.c: Remove. - * gcc.target/arm/neon/vmull_lanes32.c: Remove. - * gcc.target/arm/neon/vmull_laneu16.c: Remove. - * gcc.target/arm/neon/vmull_laneu32.c: Remove. - * gcc.target/arm/neon/vmull_ns16.c: Remove. - * gcc.target/arm/neon/vmull_ns32.c: Remove. - * gcc.target/arm/neon/vmull_nu16.c: Remove. - * gcc.target/arm/neon/vmull_nu32.c: Remove. - * gcc.target/arm/neon/vmullp8.c: Remove. - * gcc.target/arm/neon/vmulls16.c: Remove. - * gcc.target/arm/neon/vmulls32.c: Remove. - * gcc.target/arm/neon/vmulls8.c: Remove. - * gcc.target/arm/neon/vmullu16.c: Remove. - * gcc.target/arm/neon/vmullu32.c: Remove. - * gcc.target/arm/neon/vmullu8.c: Remove. - * gcc.target/arm/neon/vmulp8.c: Remove. - * gcc.target/arm/neon/vmuls16.c: Remove. - * gcc.target/arm/neon/vmuls32.c: Remove. - * gcc.target/arm/neon/vmuls8.c: Remove. - * gcc.target/arm/neon/vmulu16.c: Remove. - * gcc.target/arm/neon/vmulu32.c: Remove. - * gcc.target/arm/neon/vmulu8.c: Remove. - * gcc.target/arm/neon/vmvnQp8.c: Remove. - * gcc.target/arm/neon/vmvnQs16.c: Remove. - * gcc.target/arm/neon/vmvnQs32.c: Remove. - * gcc.target/arm/neon/vmvnQs8.c: Remove. - * gcc.target/arm/neon/vmvnQu16.c: Remove. - * gcc.target/arm/neon/vmvnQu32.c: Remove. - * gcc.target/arm/neon/vmvnQu8.c: Remove. - * gcc.target/arm/neon/vmvnp8.c: Remove. - * gcc.target/arm/neon/vmvns16.c: Remove. - * gcc.target/arm/neon/vmvns32.c: Remove. - * gcc.target/arm/neon/vmvns8.c: Remove. - * gcc.target/arm/neon/vmvnu16.c: Remove. - * gcc.target/arm/neon/vmvnu32.c: Remove. - * gcc.target/arm/neon/vmvnu8.c: Remove. - * gcc.target/arm/neon/vnegQf32.c: Remove. - * gcc.target/arm/neon/vnegQs16.c: Remove. - * gcc.target/arm/neon/vnegQs32.c: Remove. - * gcc.target/arm/neon/vnegQs8.c: Remove. - * gcc.target/arm/neon/vnegf32.c: Remove. - * gcc.target/arm/neon/vnegs16.c: Remove. - * gcc.target/arm/neon/vnegs32.c: Remove. - * gcc.target/arm/neon/vnegs8.c: Remove. - * gcc.target/arm/neon/vornQs16.c: Remove. - * gcc.target/arm/neon/vornQs32.c: Remove. - * gcc.target/arm/neon/vornQs64.c: Remove. - * gcc.target/arm/neon/vornQs8.c: Remove. - * gcc.target/arm/neon/vornQu16.c: Remove. - * gcc.target/arm/neon/vornQu32.c: Remove. - * gcc.target/arm/neon/vornQu64.c: Remove. - * gcc.target/arm/neon/vornQu8.c: Remove. - * gcc.target/arm/neon/vorns16.c: Remove. - * gcc.target/arm/neon/vorns32.c: Remove. - * gcc.target/arm/neon/vorns64.c: Remove. - * gcc.target/arm/neon/vorns8.c: Remove. - * gcc.target/arm/neon/vornu16.c: Remove. - * gcc.target/arm/neon/vornu32.c: Remove. - * gcc.target/arm/neon/vornu64.c: Remove. - * gcc.target/arm/neon/vornu8.c: Remove. - * gcc.target/arm/neon/vorrQs16.c: Remove. - * gcc.target/arm/neon/vorrQs32.c: Remove. - * gcc.target/arm/neon/vorrQs64.c: Remove. - * gcc.target/arm/neon/vorrQs8.c: Remove. - * gcc.target/arm/neon/vorrQu16.c: Remove. - * gcc.target/arm/neon/vorrQu32.c: Remove. - * gcc.target/arm/neon/vorrQu64.c: Remove. - * gcc.target/arm/neon/vorrQu8.c: Remove. - * gcc.target/arm/neon/vorrs16.c: Remove. - * gcc.target/arm/neon/vorrs32.c: Remove. - * gcc.target/arm/neon/vorrs64.c: Remove. - * gcc.target/arm/neon/vorrs8.c: Remove. - * gcc.target/arm/neon/vorru16.c: Remove. - * gcc.target/arm/neon/vorru32.c: Remove. - * gcc.target/arm/neon/vorru64.c: Remove. - * gcc.target/arm/neon/vorru8.c: Remove. - * gcc.target/arm/neon/vpadalQs16.c: Remove. - * gcc.target/arm/neon/vpadalQs32.c: Remove. - * gcc.target/arm/neon/vpadalQs8.c: Remove. - * gcc.target/arm/neon/vpadalQu16.c: Remove. - * gcc.target/arm/neon/vpadalQu32.c: Remove. - * gcc.target/arm/neon/vpadalQu8.c: Remove. - * gcc.target/arm/neon/vpadals16.c: Remove. - * gcc.target/arm/neon/vpadals32.c: Remove. - * gcc.target/arm/neon/vpadals8.c: Remove. - * gcc.target/arm/neon/vpadalu16.c: Remove. - * gcc.target/arm/neon/vpadalu32.c: Remove. - * gcc.target/arm/neon/vpadalu8.c: Remove. - * gcc.target/arm/neon/vpaddf32.c: Remove. - * gcc.target/arm/neon/vpaddlQs16.c: Remove. - * gcc.target/arm/neon/vpaddlQs32.c: Remove. - * gcc.target/arm/neon/vpaddlQs8.c: Remove. - * gcc.target/arm/neon/vpaddlQu16.c: Remove. - * gcc.target/arm/neon/vpaddlQu32.c: Remove. - * gcc.target/arm/neon/vpaddlQu8.c: Remove. - * gcc.target/arm/neon/vpaddls16.c: Remove. - * gcc.target/arm/neon/vpaddls32.c: Remove. - * gcc.target/arm/neon/vpaddls8.c: Remove. - * gcc.target/arm/neon/vpaddlu16.c: Remove. - * gcc.target/arm/neon/vpaddlu32.c: Remove. - * gcc.target/arm/neon/vpaddlu8.c: Remove. - * gcc.target/arm/neon/vpadds16.c: Remove. - * gcc.target/arm/neon/vpadds32.c: Remove. - * gcc.target/arm/neon/vpadds8.c: Remove. - * gcc.target/arm/neon/vpaddu16.c: Remove. - * gcc.target/arm/neon/vpaddu32.c: Remove. - * gcc.target/arm/neon/vpaddu8.c: Remove. - * gcc.target/arm/neon/vpmaxf32.c: Remove. - * gcc.target/arm/neon/vpmaxs16.c: Remove. - * gcc.target/arm/neon/vpmaxs32.c: Remove. - * gcc.target/arm/neon/vpmaxs8.c: Remove. - * gcc.target/arm/neon/vpmaxu16.c: Remove. - * gcc.target/arm/neon/vpmaxu32.c: Remove. - * gcc.target/arm/neon/vpmaxu8.c: Remove. - * gcc.target/arm/neon/vpminf32.c: Remove. - * gcc.target/arm/neon/vpmins16.c: Remove. - * gcc.target/arm/neon/vpmins32.c: Remove. - * gcc.target/arm/neon/vpmins8.c: Remove. - * gcc.target/arm/neon/vpminu16.c: Remove. - * gcc.target/arm/neon/vpminu32.c: Remove. - * gcc.target/arm/neon/vpminu8.c: Remove. - * gcc.target/arm/neon/vqRdmulhQ_lanes16.c: Remove. - * gcc.target/arm/neon/vqRdmulhQ_lanes32.c: Remove. - * gcc.target/arm/neon/vqRdmulhQ_ns16.c: Remove. - * gcc.target/arm/neon/vqRdmulhQ_ns32.c: Remove. - * gcc.target/arm/neon/vqRdmulhQs16.c: Remove. - * gcc.target/arm/neon/vqRdmulhQs32.c: Remove. - * gcc.target/arm/neon/vqRdmulh_lanes16.c: Remove. - * gcc.target/arm/neon/vqRdmulh_lanes32.c: Remove. - * gcc.target/arm/neon/vqRdmulh_ns16.c: Remove. - * gcc.target/arm/neon/vqRdmulh_ns32.c: Remove. - * gcc.target/arm/neon/vqRdmulhs16.c: Remove. - * gcc.target/arm/neon/vqRdmulhs32.c: Remove. - * gcc.target/arm/neon/vqRshlQs16.c: Remove. - * gcc.target/arm/neon/vqRshlQs32.c: Remove. - * gcc.target/arm/neon/vqRshlQs64.c: Remove. - * gcc.target/arm/neon/vqRshlQs8.c: Remove. - * gcc.target/arm/neon/vqRshlQu16.c: Remove. - * gcc.target/arm/neon/vqRshlQu32.c: Remove. - * gcc.target/arm/neon/vqRshlQu64.c: Remove. - * gcc.target/arm/neon/vqRshlQu8.c: Remove. - * gcc.target/arm/neon/vqRshls16.c: Remove. - * gcc.target/arm/neon/vqRshls32.c: Remove. - * gcc.target/arm/neon/vqRshls64.c: Remove. - * gcc.target/arm/neon/vqRshls8.c: Remove. - * gcc.target/arm/neon/vqRshlu16.c: Remove. - * gcc.target/arm/neon/vqRshlu32.c: Remove. - * gcc.target/arm/neon/vqRshlu64.c: Remove. - * gcc.target/arm/neon/vqRshlu8.c: Remove. - * gcc.target/arm/neon/vqRshrn_ns16.c: Remove. - * gcc.target/arm/neon/vqRshrn_ns32.c: Remove. - * gcc.target/arm/neon/vqRshrn_ns64.c: Remove. - * gcc.target/arm/neon/vqRshrn_nu16.c: Remove. - * gcc.target/arm/neon/vqRshrn_nu32.c: Remove. - * gcc.target/arm/neon/vqRshrn_nu64.c: Remove. - * gcc.target/arm/neon/vqRshrun_ns16.c: Remove. - * gcc.target/arm/neon/vqRshrun_ns32.c: Remove. - * gcc.target/arm/neon/vqRshrun_ns64.c: Remove. - * gcc.target/arm/neon/vqabsQs16.c: Remove. - * gcc.target/arm/neon/vqabsQs32.c: Remove. - * gcc.target/arm/neon/vqabsQs8.c: Remove. - * gcc.target/arm/neon/vqabss16.c: Remove. - * gcc.target/arm/neon/vqabss32.c: Remove. - * gcc.target/arm/neon/vqabss8.c: Remove. - * gcc.target/arm/neon/vqaddQs16.c: Remove. - * gcc.target/arm/neon/vqaddQs32.c: Remove. - * gcc.target/arm/neon/vqaddQs64.c: Remove. - * gcc.target/arm/neon/vqaddQs8.c: Remove. - * gcc.target/arm/neon/vqaddQu16.c: Remove. - * gcc.target/arm/neon/vqaddQu32.c: Remove. - * gcc.target/arm/neon/vqaddQu64.c: Remove. - * gcc.target/arm/neon/vqaddQu8.c: Remove. - * gcc.target/arm/neon/vqadds16.c: Remove. - * gcc.target/arm/neon/vqadds32.c: Remove. - * gcc.target/arm/neon/vqadds64.c: Remove. - * gcc.target/arm/neon/vqadds8.c: Remove. - * gcc.target/arm/neon/vqaddu16.c: Remove. - * gcc.target/arm/neon/vqaddu32.c: Remove. - * gcc.target/arm/neon/vqaddu64.c: Remove. - * gcc.target/arm/neon/vqaddu8.c: Remove. - * gcc.target/arm/neon/vqdmlal_lanes16.c: Remove. - * gcc.target/arm/neon/vqdmlal_lanes32.c: Remove. - * gcc.target/arm/neon/vqdmlal_ns16.c: Remove. - * gcc.target/arm/neon/vqdmlal_ns32.c: Remove. - * gcc.target/arm/neon/vqdmlals16.c: Remove. - * gcc.target/arm/neon/vqdmlals32.c: Remove. - * gcc.target/arm/neon/vqdmlsl_lanes16.c: Remove. - * gcc.target/arm/neon/vqdmlsl_lanes32.c: Remove. - * gcc.target/arm/neon/vqdmlsl_ns16.c: Remove. - * gcc.target/arm/neon/vqdmlsl_ns32.c: Remove. - * gcc.target/arm/neon/vqdmlsls16.c: Remove. - * gcc.target/arm/neon/vqdmlsls32.c: Remove. - * gcc.target/arm/neon/vqdmulhQ_lanes16.c: Remove. - * gcc.target/arm/neon/vqdmulhQ_lanes32.c: Remove. - * gcc.target/arm/neon/vqdmulhQ_ns16.c: Remove. - * gcc.target/arm/neon/vqdmulhQ_ns32.c: Remove. - * gcc.target/arm/neon/vqdmulhQs16.c: Remove. - * gcc.target/arm/neon/vqdmulhQs32.c: Remove. - * gcc.target/arm/neon/vqdmulh_lanes16.c: Remove. - * gcc.target/arm/neon/vqdmulh_lanes32.c: Remove. - * gcc.target/arm/neon/vqdmulh_ns16.c: Remove. - * gcc.target/arm/neon/vqdmulh_ns32.c: Remove. - * gcc.target/arm/neon/vqdmulhs16.c: Remove. - * gcc.target/arm/neon/vqdmulhs32.c: Remove. - * gcc.target/arm/neon/vqdmull_lanes16.c: Remove. - * gcc.target/arm/neon/vqdmull_lanes32.c: Remove. - * gcc.target/arm/neon/vqdmull_ns16.c: Remove. - * gcc.target/arm/neon/vqdmull_ns32.c: Remove. - * gcc.target/arm/neon/vqdmulls16.c: Remove. - * gcc.target/arm/neon/vqdmulls32.c: Remove. - * gcc.target/arm/neon/vqmovns16.c: Remove. - * gcc.target/arm/neon/vqmovns32.c: Remove. - * gcc.target/arm/neon/vqmovns64.c: Remove. - * gcc.target/arm/neon/vqmovnu16.c: Remove. - * gcc.target/arm/neon/vqmovnu32.c: Remove. - * gcc.target/arm/neon/vqmovnu64.c: Remove. - * gcc.target/arm/neon/vqmovuns16.c: Remove. - * gcc.target/arm/neon/vqmovuns32.c: Remove. - * gcc.target/arm/neon/vqmovuns64.c: Remove. - * gcc.target/arm/neon/vqnegQs16.c: Remove. - * gcc.target/arm/neon/vqnegQs32.c: Remove. - * gcc.target/arm/neon/vqnegQs8.c: Remove. - * gcc.target/arm/neon/vqnegs16.c: Remove. - * gcc.target/arm/neon/vqnegs32.c: Remove. - * gcc.target/arm/neon/vqnegs8.c: Remove. - * gcc.target/arm/neon/vqshlQ_ns16.c: Remove. - * gcc.target/arm/neon/vqshlQ_ns32.c: Remove. - * gcc.target/arm/neon/vqshlQ_ns64.c: Remove. - * gcc.target/arm/neon/vqshlQ_ns8.c: Remove. - * gcc.target/arm/neon/vqshlQ_nu16.c: Remove. - * gcc.target/arm/neon/vqshlQ_nu32.c: Remove. - * gcc.target/arm/neon/vqshlQ_nu64.c: Remove. - * gcc.target/arm/neon/vqshlQ_nu8.c: Remove. - * gcc.target/arm/neon/vqshlQs16.c: Remove. - * gcc.target/arm/neon/vqshlQs32.c: Remove. - * gcc.target/arm/neon/vqshlQs64.c: Remove. - * gcc.target/arm/neon/vqshlQs8.c: Remove. - * gcc.target/arm/neon/vqshlQu16.c: Remove. - * gcc.target/arm/neon/vqshlQu32.c: Remove. - * gcc.target/arm/neon/vqshlQu64.c: Remove. - * gcc.target/arm/neon/vqshlQu8.c: Remove. - * gcc.target/arm/neon/vqshl_ns16.c: Remove. - * gcc.target/arm/neon/vqshl_ns32.c: Remove. - * gcc.target/arm/neon/vqshl_ns64.c: Remove. - * gcc.target/arm/neon/vqshl_ns8.c: Remove. - * gcc.target/arm/neon/vqshl_nu16.c: Remove. - * gcc.target/arm/neon/vqshl_nu32.c: Remove. - * gcc.target/arm/neon/vqshl_nu64.c: Remove. - * gcc.target/arm/neon/vqshl_nu8.c: Remove. - * gcc.target/arm/neon/vqshls16.c: Remove. - * gcc.target/arm/neon/vqshls32.c: Remove. - * gcc.target/arm/neon/vqshls64.c: Remove. - * gcc.target/arm/neon/vqshls8.c: Remove. - * gcc.target/arm/neon/vqshlu16.c: Remove. - * gcc.target/arm/neon/vqshlu32.c: Remove. - * gcc.target/arm/neon/vqshlu64.c: Remove. - * gcc.target/arm/neon/vqshlu8.c: Remove. - * gcc.target/arm/neon/vqshluQ_ns16.c: Remove. - * gcc.target/arm/neon/vqshluQ_ns32.c: Remove. - * gcc.target/arm/neon/vqshluQ_ns64.c: Remove. - * gcc.target/arm/neon/vqshluQ_ns8.c: Remove. - * gcc.target/arm/neon/vqshlu_ns16.c: Remove. - * gcc.target/arm/neon/vqshlu_ns32.c: Remove. - * gcc.target/arm/neon/vqshlu_ns64.c: Remove. - * gcc.target/arm/neon/vqshlu_ns8.c: Remove. - * gcc.target/arm/neon/vqshrn_ns16.c: Remove. - * gcc.target/arm/neon/vqshrn_ns32.c: Remove. - * gcc.target/arm/neon/vqshrn_ns64.c: Remove. - * gcc.target/arm/neon/vqshrn_nu16.c: Remove. - * gcc.target/arm/neon/vqshrn_nu32.c: Remove. - * gcc.target/arm/neon/vqshrn_nu64.c: Remove. - * gcc.target/arm/neon/vqshrun_ns16.c: Remove. - * gcc.target/arm/neon/vqshrun_ns32.c: Remove. - * gcc.target/arm/neon/vqshrun_ns64.c: Remove. - * gcc.target/arm/neon/vqsubQs16.c: Remove. - * gcc.target/arm/neon/vqsubQs32.c: Remove. - * gcc.target/arm/neon/vqsubQs64.c: Remove. - * gcc.target/arm/neon/vqsubQs8.c: Remove. - * gcc.target/arm/neon/vqsubQu16.c: Remove. - * gcc.target/arm/neon/vqsubQu32.c: Remove. - * gcc.target/arm/neon/vqsubQu64.c: Remove. - * gcc.target/arm/neon/vqsubQu8.c: Remove. - * gcc.target/arm/neon/vqsubs16.c: Remove. - * gcc.target/arm/neon/vqsubs32.c: Remove. - * gcc.target/arm/neon/vqsubs64.c: Remove. - * gcc.target/arm/neon/vqsubs8.c: Remove. - * gcc.target/arm/neon/vqsubu16.c: Remove. - * gcc.target/arm/neon/vqsubu32.c: Remove. - * gcc.target/arm/neon/vqsubu64.c: Remove. - * gcc.target/arm/neon/vqsubu8.c: Remove. - * gcc.target/arm/neon/vrecpeQf32.c: Remove. - * gcc.target/arm/neon/vrecpeQu32.c: Remove. - * gcc.target/arm/neon/vrecpef32.c: Remove. - * gcc.target/arm/neon/vrecpeu32.c: Remove. - * gcc.target/arm/neon/vrecpsQf32.c: Remove. - * gcc.target/arm/neon/vrecpsf32.c: Remove. - * gcc.target/arm/neon/vreinterpretQf32_p128.c: Remove. - * gcc.target/arm/neon/vreinterpretQf32_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretQf32_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretQf32_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretQf32_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretQf32_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretQf32_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretQf32_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretQf32_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretQf32_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretQf32_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretQf32_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretQp128_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretQp128_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretQp128_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretQp128_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretQp128_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretQp128_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretQp128_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretQp128_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretQp128_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretQp128_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretQp128_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretQp128_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretQp16_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretQp16_p128.c: Remove. - * gcc.target/arm/neon/vreinterpretQp16_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretQp16_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretQp16_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretQp16_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretQp16_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretQp16_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretQp16_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretQp16_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretQp16_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretQp16_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretQp64_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretQp64_p128.c: Remove. - * gcc.target/arm/neon/vreinterpretQp64_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretQp64_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretQp64_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretQp64_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretQp64_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretQp64_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretQp64_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretQp64_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretQp64_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretQp64_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretQp8_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretQp8_p128.c: Remove. - * gcc.target/arm/neon/vreinterpretQp8_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretQp8_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretQp8_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretQp8_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretQp8_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretQp8_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretQp8_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretQp8_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretQp8_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretQp8_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretQs16_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretQs16_p128.c: Remove. - * gcc.target/arm/neon/vreinterpretQs16_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretQs16_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretQs16_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretQs16_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretQs16_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretQs16_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretQs16_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretQs16_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretQs16_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretQs16_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretQs32_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretQs32_p128.c: Remove. - * gcc.target/arm/neon/vreinterpretQs32_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretQs32_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretQs32_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretQs32_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretQs32_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretQs32_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretQs32_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretQs32_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretQs32_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretQs32_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretQs64_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretQs64_p128.c: Remove. - * gcc.target/arm/neon/vreinterpretQs64_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretQs64_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretQs64_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretQs64_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretQs64_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretQs64_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretQs64_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretQs64_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretQs64_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretQs64_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretQs8_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretQs8_p128.c: Remove. - * gcc.target/arm/neon/vreinterpretQs8_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretQs8_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretQs8_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretQs8_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretQs8_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretQs8_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretQs8_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretQs8_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretQs8_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretQs8_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretQu16_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretQu16_p128.c: Remove. - * gcc.target/arm/neon/vreinterpretQu16_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretQu16_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretQu16_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretQu16_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretQu16_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretQu16_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretQu16_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretQu16_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretQu16_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretQu16_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretQu32_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretQu32_p128.c: Remove. - * gcc.target/arm/neon/vreinterpretQu32_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretQu32_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretQu32_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretQu32_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretQu32_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretQu32_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretQu32_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretQu32_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretQu32_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretQu32_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretQu64_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretQu64_p128.c: Remove. - * gcc.target/arm/neon/vreinterpretQu64_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretQu64_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretQu64_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretQu64_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretQu64_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretQu64_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretQu64_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretQu64_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretQu64_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretQu64_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretQu8_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretQu8_p128.c: Remove. - * gcc.target/arm/neon/vreinterpretQu8_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretQu8_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretQu8_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretQu8_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretQu8_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretQu8_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretQu8_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretQu8_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretQu8_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretQu8_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretf32_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretf32_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretf32_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretf32_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretf32_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretf32_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretf32_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretf32_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretf32_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretf32_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretf32_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretp16_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretp16_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretp16_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretp16_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretp16_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretp16_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretp16_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretp16_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretp16_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretp16_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretp16_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretp64_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretp64_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretp64_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretp64_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretp64_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretp64_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretp64_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretp64_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretp64_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretp64_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretp64_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretp8_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretp8_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretp8_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretp8_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretp8_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretp8_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretp8_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretp8_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretp8_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretp8_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretp8_u8.c: Remove. - * gcc.target/arm/neon/vreinterprets16_f32.c: Remove. - * gcc.target/arm/neon/vreinterprets16_p16.c: Remove. - * gcc.target/arm/neon/vreinterprets16_p64.c: Remove. - * gcc.target/arm/neon/vreinterprets16_p8.c: Remove. - * gcc.target/arm/neon/vreinterprets16_s32.c: Remove. - * gcc.target/arm/neon/vreinterprets16_s64.c: Remove. - * gcc.target/arm/neon/vreinterprets16_s8.c: Remove. - * gcc.target/arm/neon/vreinterprets16_u16.c: Remove. - * gcc.target/arm/neon/vreinterprets16_u32.c: Remove. - * gcc.target/arm/neon/vreinterprets16_u64.c: Remove. - * gcc.target/arm/neon/vreinterprets16_u8.c: Remove. - * gcc.target/arm/neon/vreinterprets32_f32.c: Remove. - * gcc.target/arm/neon/vreinterprets32_p16.c: Remove. - * gcc.target/arm/neon/vreinterprets32_p64.c: Remove. - * gcc.target/arm/neon/vreinterprets32_p8.c: Remove. - * gcc.target/arm/neon/vreinterprets32_s16.c: Remove. - * gcc.target/arm/neon/vreinterprets32_s64.c: Remove. - * gcc.target/arm/neon/vreinterprets32_s8.c: Remove. - * gcc.target/arm/neon/vreinterprets32_u16.c: Remove. - * gcc.target/arm/neon/vreinterprets32_u32.c: Remove. - * gcc.target/arm/neon/vreinterprets32_u64.c: Remove. - * gcc.target/arm/neon/vreinterprets32_u8.c: Remove. - * gcc.target/arm/neon/vreinterprets64_f32.c: Remove. - * gcc.target/arm/neon/vreinterprets64_p16.c: Remove. - * gcc.target/arm/neon/vreinterprets64_p64.c: Remove. - * gcc.target/arm/neon/vreinterprets64_p8.c: Remove. - * gcc.target/arm/neon/vreinterprets64_s16.c: Remove. - * gcc.target/arm/neon/vreinterprets64_s32.c: Remove. - * gcc.target/arm/neon/vreinterprets64_s8.c: Remove. - * gcc.target/arm/neon/vreinterprets64_u16.c: Remove. - * gcc.target/arm/neon/vreinterprets64_u32.c: Remove. - * gcc.target/arm/neon/vreinterprets64_u64.c: Remove. - * gcc.target/arm/neon/vreinterprets64_u8.c: Remove. - * gcc.target/arm/neon/vreinterprets8_f32.c: Remove. - * gcc.target/arm/neon/vreinterprets8_p16.c: Remove. - * gcc.target/arm/neon/vreinterprets8_p64.c: Remove. - * gcc.target/arm/neon/vreinterprets8_p8.c: Remove. - * gcc.target/arm/neon/vreinterprets8_s16.c: Remove. - * gcc.target/arm/neon/vreinterprets8_s32.c: Remove. - * gcc.target/arm/neon/vreinterprets8_s64.c: Remove. - * gcc.target/arm/neon/vreinterprets8_u16.c: Remove. - * gcc.target/arm/neon/vreinterprets8_u32.c: Remove. - * gcc.target/arm/neon/vreinterprets8_u64.c: Remove. - * gcc.target/arm/neon/vreinterprets8_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretu16_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretu16_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretu16_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretu16_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretu16_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretu16_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretu16_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretu16_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretu16_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretu16_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretu16_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretu32_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretu32_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretu32_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretu32_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretu32_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretu32_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretu32_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretu32_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretu32_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretu32_u64.c: Remove. - * gcc.target/arm/neon/vreinterpretu32_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretu64_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretu64_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretu64_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretu64_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretu64_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretu64_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretu64_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretu64_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretu64_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretu64_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretu64_u8.c: Remove. - * gcc.target/arm/neon/vreinterpretu8_f32.c: Remove. - * gcc.target/arm/neon/vreinterpretu8_p16.c: Remove. - * gcc.target/arm/neon/vreinterpretu8_p64.c: Remove. - * gcc.target/arm/neon/vreinterpretu8_p8.c: Remove. - * gcc.target/arm/neon/vreinterpretu8_s16.c: Remove. - * gcc.target/arm/neon/vreinterpretu8_s32.c: Remove. - * gcc.target/arm/neon/vreinterpretu8_s64.c: Remove. - * gcc.target/arm/neon/vreinterpretu8_s8.c: Remove. - * gcc.target/arm/neon/vreinterpretu8_u16.c: Remove. - * gcc.target/arm/neon/vreinterpretu8_u32.c: Remove. - * gcc.target/arm/neon/vreinterpretu8_u64.c: Remove. - * gcc.target/arm/neon/vrev16Qp8.c: Remove. - * gcc.target/arm/neon/vrev16Qs8.c: Remove. - * gcc.target/arm/neon/vrev16Qu8.c: Remove. - * gcc.target/arm/neon/vrev16p8.c: Remove. - * gcc.target/arm/neon/vrev16s8.c: Remove. - * gcc.target/arm/neon/vrev16u8.c: Remove. - * gcc.target/arm/neon/vrev32Qp16.c: Remove. - * gcc.target/arm/neon/vrev32Qp8.c: Remove. - * gcc.target/arm/neon/vrev32Qs16.c: Remove. - * gcc.target/arm/neon/vrev32Qs8.c: Remove. - * gcc.target/arm/neon/vrev32Qu16.c: Remove. - * gcc.target/arm/neon/vrev32Qu8.c: Remove. - * gcc.target/arm/neon/vrev32p16.c: Remove. - * gcc.target/arm/neon/vrev32p8.c: Remove. - * gcc.target/arm/neon/vrev32s16.c: Remove. - * gcc.target/arm/neon/vrev32s8.c: Remove. - * gcc.target/arm/neon/vrev32u16.c: Remove. - * gcc.target/arm/neon/vrev32u8.c: Remove. - * gcc.target/arm/neon/vrev64Qf32.c: Remove. - * gcc.target/arm/neon/vrev64Qp16.c: Remove. - * gcc.target/arm/neon/vrev64Qp8.c: Remove. - * gcc.target/arm/neon/vrev64Qs16.c: Remove. - * gcc.target/arm/neon/vrev64Qs32.c: Remove. - * gcc.target/arm/neon/vrev64Qs8.c: Remove. - * gcc.target/arm/neon/vrev64Qu16.c: Remove. - * gcc.target/arm/neon/vrev64Qu32.c: Remove. - * gcc.target/arm/neon/vrev64Qu8.c: Remove. - * gcc.target/arm/neon/vrev64f32.c: Remove. - * gcc.target/arm/neon/vrev64p16.c: Remove. - * gcc.target/arm/neon/vrev64p8.c: Remove. - * gcc.target/arm/neon/vrev64s16.c: Remove. - * gcc.target/arm/neon/vrev64s32.c: Remove. - * gcc.target/arm/neon/vrev64s8.c: Remove. - * gcc.target/arm/neon/vrev64u16.c: Remove. - * gcc.target/arm/neon/vrev64u32.c: Remove. - * gcc.target/arm/neon/vrev64u8.c: Remove. - * gcc.target/arm/neon/vrndaf32.c: Remove. - * gcc.target/arm/neon/vrndaqf32.c: Remove. - * gcc.target/arm/neon/vrndf32.c: Remove. - * gcc.target/arm/neon/vrndmf32.c: Remove. - * gcc.target/arm/neon/vrndmqf32.c: Remove. - * gcc.target/arm/neon/vrndnf32.c: Remove. - * gcc.target/arm/neon/vrndnqf32.c: Remove. - * gcc.target/arm/neon/vrndpf32.c: Remove. - * gcc.target/arm/neon/vrndpqf32.c: Remove. - * gcc.target/arm/neon/vrndqf32.c: Remove. - * gcc.target/arm/neon/vrsqrteQf32.c: Remove. - * gcc.target/arm/neon/vrsqrteQu32.c: Remove. - * gcc.target/arm/neon/vrsqrtef32.c: Remove. - * gcc.target/arm/neon/vrsqrteu32.c: Remove. - * gcc.target/arm/neon/vrsqrtsQf32.c: Remove. - * gcc.target/arm/neon/vrsqrtsf32.c: Remove. - * gcc.target/arm/neon/vsetQ_lanef32.c: Remove. - * gcc.target/arm/neon/vsetQ_lanep16.c: Remove. - * gcc.target/arm/neon/vsetQ_lanep8.c: Remove. - * gcc.target/arm/neon/vsetQ_lanes16.c: Remove. - * gcc.target/arm/neon/vsetQ_lanes32.c: Remove. - * gcc.target/arm/neon/vsetQ_lanes64.c: Remove. - * gcc.target/arm/neon/vsetQ_lanes8.c: Remove. - * gcc.target/arm/neon/vsetQ_laneu16.c: Remove. - * gcc.target/arm/neon/vsetQ_laneu32.c: Remove. - * gcc.target/arm/neon/vsetQ_laneu64.c: Remove. - * gcc.target/arm/neon/vsetQ_laneu8.c: Remove. - * gcc.target/arm/neon/vset_lanef32.c: Remove. - * gcc.target/arm/neon/vset_lanep16.c: Remove. - * gcc.target/arm/neon/vset_lanep8.c: Remove. - * gcc.target/arm/neon/vset_lanes16.c: Remove. - * gcc.target/arm/neon/vset_lanes32.c: Remove. - * gcc.target/arm/neon/vset_lanes64.c: Remove. - * gcc.target/arm/neon/vset_lanes8.c: Remove. - * gcc.target/arm/neon/vset_laneu16.c: Remove. - * gcc.target/arm/neon/vset_laneu32.c: Remove. - * gcc.target/arm/neon/vset_laneu64.c: Remove. - * gcc.target/arm/neon/vset_laneu8.c: Remove. - * gcc.target/arm/neon/vshlQ_ns16.c: Remove. - * gcc.target/arm/neon/vshlQ_ns32.c: Remove. - * gcc.target/arm/neon/vshlQ_ns64.c: Remove. - * gcc.target/arm/neon/vshlQ_ns8.c: Remove. - * gcc.target/arm/neon/vshlQ_nu16.c: Remove. - * gcc.target/arm/neon/vshlQ_nu32.c: Remove. - * gcc.target/arm/neon/vshlQ_nu64.c: Remove. - * gcc.target/arm/neon/vshlQ_nu8.c: Remove. - * gcc.target/arm/neon/vshlQs16.c: Remove. - * gcc.target/arm/neon/vshlQs32.c: Remove. - * gcc.target/arm/neon/vshlQs64.c: Remove. - * gcc.target/arm/neon/vshlQs8.c: Remove. - * gcc.target/arm/neon/vshlQu16.c: Remove. - * gcc.target/arm/neon/vshlQu32.c: Remove. - * gcc.target/arm/neon/vshlQu64.c: Remove. - * gcc.target/arm/neon/vshlQu8.c: Remove. - * gcc.target/arm/neon/vshl_ns16.c: Remove. - * gcc.target/arm/neon/vshl_ns32.c: Remove. - * gcc.target/arm/neon/vshl_ns64.c: Remove. - * gcc.target/arm/neon/vshl_ns8.c: Remove. - * gcc.target/arm/neon/vshl_nu16.c: Remove. - * gcc.target/arm/neon/vshl_nu32.c: Remove. - * gcc.target/arm/neon/vshl_nu64.c: Remove. - * gcc.target/arm/neon/vshl_nu8.c: Remove. - * gcc.target/arm/neon/vshll_ns16.c: Remove. - * gcc.target/arm/neon/vshll_ns32.c: Remove. - * gcc.target/arm/neon/vshll_ns8.c: Remove. - * gcc.target/arm/neon/vshll_nu16.c: Remove. - * gcc.target/arm/neon/vshll_nu32.c: Remove. - * gcc.target/arm/neon/vshll_nu8.c: Remove. - * gcc.target/arm/neon/vshls16.c: Remove. - * gcc.target/arm/neon/vshls32.c: Remove. - * gcc.target/arm/neon/vshls64.c: Remove. - * gcc.target/arm/neon/vshls8.c: Remove. - * gcc.target/arm/neon/vshlu16.c: Remove. - * gcc.target/arm/neon/vshlu32.c: Remove. - * gcc.target/arm/neon/vshlu64.c: Remove. - * gcc.target/arm/neon/vshlu8.c: Remove. - * gcc.target/arm/neon/vshrQ_ns16.c: Remove. - * gcc.target/arm/neon/vshrQ_ns32.c: Remove. - * gcc.target/arm/neon/vshrQ_ns64.c: Remove. - * gcc.target/arm/neon/vshrQ_ns8.c: Remove. - * gcc.target/arm/neon/vshrQ_nu16.c: Remove. - * gcc.target/arm/neon/vshrQ_nu32.c: Remove. - * gcc.target/arm/neon/vshrQ_nu64.c: Remove. - * gcc.target/arm/neon/vshrQ_nu8.c: Remove. - * gcc.target/arm/neon/vshr_ns16.c: Remove. - * gcc.target/arm/neon/vshr_ns32.c: Remove. - * gcc.target/arm/neon/vshr_ns64.c: Remove. - * gcc.target/arm/neon/vshr_ns8.c: Remove. - * gcc.target/arm/neon/vshr_nu16.c: Remove. - * gcc.target/arm/neon/vshr_nu32.c: Remove. - * gcc.target/arm/neon/vshr_nu64.c: Remove. - * gcc.target/arm/neon/vshr_nu8.c: Remove. - * gcc.target/arm/neon/vshrn_ns16.c: Remove. - * gcc.target/arm/neon/vshrn_ns32.c: Remove. - * gcc.target/arm/neon/vshrn_ns64.c: Remove. - * gcc.target/arm/neon/vshrn_nu16.c: Remove. - * gcc.target/arm/neon/vshrn_nu32.c: Remove. - * gcc.target/arm/neon/vshrn_nu64.c: Remove. - * gcc.target/arm/neon/vsliQ_np16.c: Remove. - * gcc.target/arm/neon/vsliQ_np64.c: Remove. - * gcc.target/arm/neon/vsliQ_np8.c: Remove. - * gcc.target/arm/neon/vsliQ_ns16.c: Remove. - * gcc.target/arm/neon/vsliQ_ns32.c: Remove. - * gcc.target/arm/neon/vsliQ_ns64.c: Remove. - * gcc.target/arm/neon/vsliQ_ns8.c: Remove. - * gcc.target/arm/neon/vsliQ_nu16.c: Remove. - * gcc.target/arm/neon/vsliQ_nu32.c: Remove. - * gcc.target/arm/neon/vsliQ_nu64.c: Remove. - * gcc.target/arm/neon/vsliQ_nu8.c: Remove. - * gcc.target/arm/neon/vsli_np16.c: Remove. - * gcc.target/arm/neon/vsli_np64.c: Remove. - * gcc.target/arm/neon/vsli_np8.c: Remove. - * gcc.target/arm/neon/vsli_ns16.c: Remove. - * gcc.target/arm/neon/vsli_ns32.c: Remove. - * gcc.target/arm/neon/vsli_ns64.c: Remove. - * gcc.target/arm/neon/vsli_ns8.c: Remove. - * gcc.target/arm/neon/vsli_nu16.c: Remove. - * gcc.target/arm/neon/vsli_nu32.c: Remove. - * gcc.target/arm/neon/vsli_nu64.c: Remove. - * gcc.target/arm/neon/vsli_nu8.c: Remove. - * gcc.target/arm/neon/vsraQ_ns16.c: Remove. - * gcc.target/arm/neon/vsraQ_ns32.c: Remove. - * gcc.target/arm/neon/vsraQ_ns64.c: Remove. - * gcc.target/arm/neon/vsraQ_ns8.c: Remove. - * gcc.target/arm/neon/vsraQ_nu16.c: Remove. - * gcc.target/arm/neon/vsraQ_nu32.c: Remove. - * gcc.target/arm/neon/vsraQ_nu64.c: Remove. - * gcc.target/arm/neon/vsraQ_nu8.c: Remove. - * gcc.target/arm/neon/vsra_ns16.c: Remove. - * gcc.target/arm/neon/vsra_ns32.c: Remove. - * gcc.target/arm/neon/vsra_ns64.c: Remove. - * gcc.target/arm/neon/vsra_ns8.c: Remove. - * gcc.target/arm/neon/vsra_nu16.c: Remove. - * gcc.target/arm/neon/vsra_nu32.c: Remove. - * gcc.target/arm/neon/vsra_nu64.c: Remove. - * gcc.target/arm/neon/vsra_nu8.c: Remove. - * gcc.target/arm/neon/vsriQ_np16.c: Remove. - * gcc.target/arm/neon/vsriQ_np64.c: Remove. - * gcc.target/arm/neon/vsriQ_np8.c: Remove. - * gcc.target/arm/neon/vsriQ_ns16.c: Remove. - * gcc.target/arm/neon/vsriQ_ns32.c: Remove. - * gcc.target/arm/neon/vsriQ_ns64.c: Remove. - * gcc.target/arm/neon/vsriQ_ns8.c: Remove. - * gcc.target/arm/neon/vsriQ_nu16.c: Remove. - * gcc.target/arm/neon/vsriQ_nu32.c: Remove. - * gcc.target/arm/neon/vsriQ_nu64.c: Remove. - * gcc.target/arm/neon/vsriQ_nu8.c: Remove. - * gcc.target/arm/neon/vsri_np16.c: Remove. - * gcc.target/arm/neon/vsri_np64.c: Remove. - * gcc.target/arm/neon/vsri_np8.c: Remove. - * gcc.target/arm/neon/vsri_ns16.c: Remove. - * gcc.target/arm/neon/vsri_ns32.c: Remove. - * gcc.target/arm/neon/vsri_ns64.c: Remove. - * gcc.target/arm/neon/vsri_ns8.c: Remove. - * gcc.target/arm/neon/vsri_nu16.c: Remove. - * gcc.target/arm/neon/vsri_nu32.c: Remove. - * gcc.target/arm/neon/vsri_nu64.c: Remove. - * gcc.target/arm/neon/vsri_nu8.c: Remove. - * gcc.target/arm/neon/vst1Q_lanef32.c: Remove. - * gcc.target/arm/neon/vst1Q_lanep16.c: Remove. - * gcc.target/arm/neon/vst1Q_lanep64.c: Remove. - * gcc.target/arm/neon/vst1Q_lanep8.c: Remove. - * gcc.target/arm/neon/vst1Q_lanes16.c: Remove. - * gcc.target/arm/neon/vst1Q_lanes32.c: Remove. - * gcc.target/arm/neon/vst1Q_lanes64.c: Remove. - * gcc.target/arm/neon/vst1Q_lanes8.c: Remove. - * gcc.target/arm/neon/vst1Q_laneu16.c: Remove. - * gcc.target/arm/neon/vst1Q_laneu32.c: Remove. - * gcc.target/arm/neon/vst1Q_laneu64.c: Remove. - * gcc.target/arm/neon/vst1Q_laneu8.c: Remove. - * gcc.target/arm/neon/vst1Qf32.c: Remove. - * gcc.target/arm/neon/vst1Qp16.c: Remove. - * gcc.target/arm/neon/vst1Qp64.c: Remove. - * gcc.target/arm/neon/vst1Qp8.c: Remove. - * gcc.target/arm/neon/vst1Qs16.c: Remove. - * gcc.target/arm/neon/vst1Qs32.c: Remove. - * gcc.target/arm/neon/vst1Qs64.c: Remove. - * gcc.target/arm/neon/vst1Qs8.c: Remove. - * gcc.target/arm/neon/vst1Qu16.c: Remove. - * gcc.target/arm/neon/vst1Qu32.c: Remove. - * gcc.target/arm/neon/vst1Qu64.c: Remove. - * gcc.target/arm/neon/vst1Qu8.c: Remove. - * gcc.target/arm/neon/vst1_lanef32.c: Remove. - * gcc.target/arm/neon/vst1_lanep16.c: Remove. - * gcc.target/arm/neon/vst1_lanep64.c: Remove. - * gcc.target/arm/neon/vst1_lanep8.c: Remove. - * gcc.target/arm/neon/vst1_lanes16.c: Remove. - * gcc.target/arm/neon/vst1_lanes32.c: Remove. - * gcc.target/arm/neon/vst1_lanes64.c: Remove. - * gcc.target/arm/neon/vst1_lanes8.c: Remove. - * gcc.target/arm/neon/vst1_laneu16.c: Remove. - * gcc.target/arm/neon/vst1_laneu32.c: Remove. - * gcc.target/arm/neon/vst1_laneu64.c: Remove. - * gcc.target/arm/neon/vst1_laneu8.c: Remove. - * gcc.target/arm/neon/vst1f32.c: Remove. - * gcc.target/arm/neon/vst1p16.c: Remove. - * gcc.target/arm/neon/vst1p64.c: Remove. - * gcc.target/arm/neon/vst1p8.c: Remove. - * gcc.target/arm/neon/vst1s16.c: Remove. - * gcc.target/arm/neon/vst1s32.c: Remove. - * gcc.target/arm/neon/vst1s64.c: Remove. - * gcc.target/arm/neon/vst1s8.c: Remove. - * gcc.target/arm/neon/vst1u16.c: Remove. - * gcc.target/arm/neon/vst1u32.c: Remove. - * gcc.target/arm/neon/vst1u64.c: Remove. - * gcc.target/arm/neon/vst1u8.c: Remove. - * gcc.target/arm/neon/vst2Q_lanef32.c: Remove. - * gcc.target/arm/neon/vst2Q_lanep16.c: Remove. - * gcc.target/arm/neon/vst2Q_lanes16.c: Remove. - * gcc.target/arm/neon/vst2Q_lanes32.c: Remove. - * gcc.target/arm/neon/vst2Q_laneu16.c: Remove. - * gcc.target/arm/neon/vst2Q_laneu32.c: Remove. - * gcc.target/arm/neon/vst2Qf32.c: Remove. - * gcc.target/arm/neon/vst2Qp16.c: Remove. - * gcc.target/arm/neon/vst2Qp8.c: Remove. - * gcc.target/arm/neon/vst2Qs16.c: Remove. - * gcc.target/arm/neon/vst2Qs32.c: Remove. - * gcc.target/arm/neon/vst2Qs8.c: Remove. - * gcc.target/arm/neon/vst2Qu16.c: Remove. - * gcc.target/arm/neon/vst2Qu32.c: Remove. - * gcc.target/arm/neon/vst2Qu8.c: Remove. - * gcc.target/arm/neon/vst2_lanef32.c: Remove. - * gcc.target/arm/neon/vst2_lanep16.c: Remove. - * gcc.target/arm/neon/vst2_lanep8.c: Remove. - * gcc.target/arm/neon/vst2_lanes16.c: Remove. - * gcc.target/arm/neon/vst2_lanes32.c: Remove. - * gcc.target/arm/neon/vst2_lanes8.c: Remove. - * gcc.target/arm/neon/vst2_laneu16.c: Remove. - * gcc.target/arm/neon/vst2_laneu32.c: Remove. - * gcc.target/arm/neon/vst2_laneu8.c: Remove. - * gcc.target/arm/neon/vst2f32.c: Remove. - * gcc.target/arm/neon/vst2p16.c: Remove. - * gcc.target/arm/neon/vst2p64.c: Remove. - * gcc.target/arm/neon/vst2p8.c: Remove. - * gcc.target/arm/neon/vst2s16.c: Remove. - * gcc.target/arm/neon/vst2s32.c: Remove. - * gcc.target/arm/neon/vst2s64.c: Remove. - * gcc.target/arm/neon/vst2s8.c: Remove. - * gcc.target/arm/neon/vst2u16.c: Remove. - * gcc.target/arm/neon/vst2u32.c: Remove. - * gcc.target/arm/neon/vst2u64.c: Remove. - * gcc.target/arm/neon/vst2u8.c: Remove. - * gcc.target/arm/neon/vst3Q_lanef32.c: Remove. - * gcc.target/arm/neon/vst3Q_lanep16.c: Remove. - * gcc.target/arm/neon/vst3Q_lanes16.c: Remove. - * gcc.target/arm/neon/vst3Q_lanes32.c: Remove. - * gcc.target/arm/neon/vst3Q_laneu16.c: Remove. - * gcc.target/arm/neon/vst3Q_laneu32.c: Remove. - * gcc.target/arm/neon/vst3Qf32.c: Remove. - * gcc.target/arm/neon/vst3Qp16.c: Remove. - * gcc.target/arm/neon/vst3Qp8.c: Remove. - * gcc.target/arm/neon/vst3Qs16.c: Remove. - * gcc.target/arm/neon/vst3Qs32.c: Remove. - * gcc.target/arm/neon/vst3Qs8.c: Remove. - * gcc.target/arm/neon/vst3Qu16.c: Remove. - * gcc.target/arm/neon/vst3Qu32.c: Remove. - * gcc.target/arm/neon/vst3Qu8.c: Remove. - * gcc.target/arm/neon/vst3_lanef32.c: Remove. - * gcc.target/arm/neon/vst3_lanep16.c: Remove. - * gcc.target/arm/neon/vst3_lanep8.c: Remove. - * gcc.target/arm/neon/vst3_lanes16.c: Remove. - * gcc.target/arm/neon/vst3_lanes32.c: Remove. - * gcc.target/arm/neon/vst3_lanes8.c: Remove. - * gcc.target/arm/neon/vst3_laneu16.c: Remove. - * gcc.target/arm/neon/vst3_laneu32.c: Remove. - * gcc.target/arm/neon/vst3_laneu8.c: Remove. - * gcc.target/arm/neon/vst3f32.c: Remove. - * gcc.target/arm/neon/vst3p16.c: Remove. - * gcc.target/arm/neon/vst3p64.c: Remove. - * gcc.target/arm/neon/vst3p8.c: Remove. - * gcc.target/arm/neon/vst3s16.c: Remove. - * gcc.target/arm/neon/vst3s32.c: Remove. - * gcc.target/arm/neon/vst3s64.c: Remove. - * gcc.target/arm/neon/vst3s8.c: Remove. - * gcc.target/arm/neon/vst3u16.c: Remove. - * gcc.target/arm/neon/vst3u32.c: Remove. - * gcc.target/arm/neon/vst3u64.c: Remove. - * gcc.target/arm/neon/vst3u8.c: Remove. - * gcc.target/arm/neon/vst4Q_lanef32.c: Remove. - * gcc.target/arm/neon/vst4Q_lanep16.c: Remove. - * gcc.target/arm/neon/vst4Q_lanes16.c: Remove. - * gcc.target/arm/neon/vst4Q_lanes32.c: Remove. - * gcc.target/arm/neon/vst4Q_laneu16.c: Remove. - * gcc.target/arm/neon/vst4Q_laneu32.c: Remove. - * gcc.target/arm/neon/vst4Qf32.c: Remove. - * gcc.target/arm/neon/vst4Qp16.c: Remove. - * gcc.target/arm/neon/vst4Qp8.c: Remove. - * gcc.target/arm/neon/vst4Qs16.c: Remove. - * gcc.target/arm/neon/vst4Qs32.c: Remove. - * gcc.target/arm/neon/vst4Qs8.c: Remove. - * gcc.target/arm/neon/vst4Qu16.c: Remove. - * gcc.target/arm/neon/vst4Qu32.c: Remove. - * gcc.target/arm/neon/vst4Qu8.c: Remove. - * gcc.target/arm/neon/vst4_lanef32.c: Remove. - * gcc.target/arm/neon/vst4_lanep16.c: Remove. - * gcc.target/arm/neon/vst4_lanep8.c: Remove. - * gcc.target/arm/neon/vst4_lanes16.c: Remove. - * gcc.target/arm/neon/vst4_lanes32.c: Remove. - * gcc.target/arm/neon/vst4_lanes8.c: Remove. - * gcc.target/arm/neon/vst4_laneu16.c: Remove. - * gcc.target/arm/neon/vst4_laneu32.c: Remove. - * gcc.target/arm/neon/vst4_laneu8.c: Remove. - * gcc.target/arm/neon/vst4f32.c: Remove. - * gcc.target/arm/neon/vst4p16.c: Remove. - * gcc.target/arm/neon/vst4p64.c: Remove. - * gcc.target/arm/neon/vst4p8.c: Remove. - * gcc.target/arm/neon/vst4s16.c: Remove. - * gcc.target/arm/neon/vst4s32.c: Remove. - * gcc.target/arm/neon/vst4s64.c: Remove. - * gcc.target/arm/neon/vst4s8.c: Remove. - * gcc.target/arm/neon/vst4u16.c: Remove. - * gcc.target/arm/neon/vst4u32.c: Remove. - * gcc.target/arm/neon/vst4u64.c: Remove. - * gcc.target/arm/neon/vst4u8.c: Remove. - * gcc.target/arm/neon/vsubQf32.c: Remove. - * gcc.target/arm/neon/vsubQs16.c: Remove. - * gcc.target/arm/neon/vsubQs32.c: Remove. - * gcc.target/arm/neon/vsubQs64.c: Remove. - * gcc.target/arm/neon/vsubQs8.c: Remove. - * gcc.target/arm/neon/vsubQu16.c: Remove. - * gcc.target/arm/neon/vsubQu32.c: Remove. - * gcc.target/arm/neon/vsubQu64.c: Remove. - * gcc.target/arm/neon/vsubQu8.c: Remove. - * gcc.target/arm/neon/vsubf32.c: Remove. - * gcc.target/arm/neon/vsubhns16.c: Remove. - * gcc.target/arm/neon/vsubhns32.c: Remove. - * gcc.target/arm/neon/vsubhns64.c: Remove. - * gcc.target/arm/neon/vsubhnu16.c: Remove. - * gcc.target/arm/neon/vsubhnu32.c: Remove. - * gcc.target/arm/neon/vsubhnu64.c: Remove. - * gcc.target/arm/neon/vsubls16.c: Remove. - * gcc.target/arm/neon/vsubls32.c: Remove. - * gcc.target/arm/neon/vsubls8.c: Remove. - * gcc.target/arm/neon/vsublu16.c: Remove. - * gcc.target/arm/neon/vsublu32.c: Remove. - * gcc.target/arm/neon/vsublu8.c: Remove. - * gcc.target/arm/neon/vsubs16.c: Remove. - * gcc.target/arm/neon/vsubs32.c: Remove. - * gcc.target/arm/neon/vsubs64.c: Remove. - * gcc.target/arm/neon/vsubs8.c: Remove. - * gcc.target/arm/neon/vsubu16.c: Remove. - * gcc.target/arm/neon/vsubu32.c: Remove. - * gcc.target/arm/neon/vsubu64.c: Remove. - * gcc.target/arm/neon/vsubu8.c: Remove. - * gcc.target/arm/neon/vsubws16.c: Remove. - * gcc.target/arm/neon/vsubws32.c: Remove. - * gcc.target/arm/neon/vsubws8.c: Remove. - * gcc.target/arm/neon/vsubwu16.c: Remove. - * gcc.target/arm/neon/vsubwu32.c: Remove. - * gcc.target/arm/neon/vsubwu8.c: Remove. - * gcc.target/arm/neon/vtbl1p8.c: Remove. - * gcc.target/arm/neon/vtbl1s8.c: Remove. - * gcc.target/arm/neon/vtbl1u8.c: Remove. - * gcc.target/arm/neon/vtbl2p8.c: Remove. - * gcc.target/arm/neon/vtbl2s8.c: Remove. - * gcc.target/arm/neon/vtbl2u8.c: Remove. - * gcc.target/arm/neon/vtbl3p8.c: Remove. - * gcc.target/arm/neon/vtbl3s8.c: Remove. - * gcc.target/arm/neon/vtbl3u8.c: Remove. - * gcc.target/arm/neon/vtbl4p8.c: Remove. - * gcc.target/arm/neon/vtbl4s8.c: Remove. - * gcc.target/arm/neon/vtbl4u8.c: Remove. - * gcc.target/arm/neon/vtbx1p8.c: Remove. - * gcc.target/arm/neon/vtbx1s8.c: Remove. - * gcc.target/arm/neon/vtbx1u8.c: Remove. - * gcc.target/arm/neon/vtbx2p8.c: Remove. - * gcc.target/arm/neon/vtbx2s8.c: Remove. - * gcc.target/arm/neon/vtbx2u8.c: Remove. - * gcc.target/arm/neon/vtbx3p8.c: Remove. - * gcc.target/arm/neon/vtbx3s8.c: Remove. - * gcc.target/arm/neon/vtbx3u8.c: Remove. - * gcc.target/arm/neon/vtbx4p8.c: Remove. - * gcc.target/arm/neon/vtbx4s8.c: Remove. - * gcc.target/arm/neon/vtbx4u8.c: Remove. - * gcc.target/arm/neon/vtrnQf32.c: Remove. - * gcc.target/arm/neon/vtrnQp16.c: Remove. - * gcc.target/arm/neon/vtrnQp8.c: Remove. - * gcc.target/arm/neon/vtrnQs16.c: Remove. - * gcc.target/arm/neon/vtrnQs32.c: Remove. - * gcc.target/arm/neon/vtrnQs8.c: Remove. - * gcc.target/arm/neon/vtrnQu16.c: Remove. - * gcc.target/arm/neon/vtrnQu32.c: Remove. - * gcc.target/arm/neon/vtrnQu8.c: Remove. - * gcc.target/arm/neon/vtrnf32.c: Remove. - * gcc.target/arm/neon/vtrnp16.c: Remove. - * gcc.target/arm/neon/vtrnp8.c: Remove. - * gcc.target/arm/neon/vtrns16.c: Remove. - * gcc.target/arm/neon/vtrns32.c: Remove. - * gcc.target/arm/neon/vtrns8.c: Remove. - * gcc.target/arm/neon/vtrnu16.c: Remove. - * gcc.target/arm/neon/vtrnu32.c: Remove. - * gcc.target/arm/neon/vtrnu8.c: Remove. - * gcc.target/arm/neon/vtstQp8.c: Remove. - * gcc.target/arm/neon/vtstQs16.c: Remove. - * gcc.target/arm/neon/vtstQs32.c: Remove. - * gcc.target/arm/neon/vtstQs8.c: Remove. - * gcc.target/arm/neon/vtstQu16.c: Remove. - * gcc.target/arm/neon/vtstQu32.c: Remove. - * gcc.target/arm/neon/vtstQu8.c: Remove. - * gcc.target/arm/neon/vtstp8.c: Remove. - * gcc.target/arm/neon/vtsts16.c: Remove. - * gcc.target/arm/neon/vtsts32.c: Remove. - * gcc.target/arm/neon/vtsts8.c: Remove. - * gcc.target/arm/neon/vtstu16.c: Remove. - * gcc.target/arm/neon/vtstu32.c: Remove. - * gcc.target/arm/neon/vtstu8.c: Remove. - * gcc.target/arm/neon/vuzpQf32.c: Remove. - * gcc.target/arm/neon/vuzpQp16.c: Remove. - * gcc.target/arm/neon/vuzpQp8.c: Remove. - * gcc.target/arm/neon/vuzpQs16.c: Remove. - * gcc.target/arm/neon/vuzpQs32.c: Remove. - * gcc.target/arm/neon/vuzpQs8.c: Remove. - * gcc.target/arm/neon/vuzpQu16.c: Remove. - * gcc.target/arm/neon/vuzpQu32.c: Remove. - * gcc.target/arm/neon/vuzpQu8.c: Remove. - * gcc.target/arm/neon/vuzpf32.c: Remove. - * gcc.target/arm/neon/vuzpp16.c: Remove. - * gcc.target/arm/neon/vuzpp8.c: Remove. - * gcc.target/arm/neon/vuzps16.c: Remove. - * gcc.target/arm/neon/vuzps32.c: Remove. - * gcc.target/arm/neon/vuzps8.c: Remove. - * gcc.target/arm/neon/vuzpu16.c: Remove. - * gcc.target/arm/neon/vuzpu32.c: Remove. - * gcc.target/arm/neon/vuzpu8.c: Remove. - * gcc.target/arm/neon/vzipQf32.c: Remove. - * gcc.target/arm/neon/vzipQp16.c: Remove. - * gcc.target/arm/neon/vzipQp8.c: Remove. - * gcc.target/arm/neon/vzipQs16.c: Remove. - * gcc.target/arm/neon/vzipQs32.c: Remove. - * gcc.target/arm/neon/vzipQs8.c: Remove. - * gcc.target/arm/neon/vzipQu16.c: Remove. - * gcc.target/arm/neon/vzipQu32.c: Remove. - * gcc.target/arm/neon/vzipQu8.c: Remove. - * gcc.target/arm/neon/vzipf32.c: Remove. - * gcc.target/arm/neon/vzipp16.c: Remove. - * gcc.target/arm/neon/vzipp8.c: Remove. - * gcc.target/arm/neon/vzips16.c: Remove. - * gcc.target/arm/neon/vzips32.c: Remove. - * gcc.target/arm/neon/vzips8.c: Remove. - * gcc.target/arm/neon/vzipu16.c: Remove. - * gcc.target/arm/neon/vzipu32.c: Remove. - * gcc.target/arm/neon/vzipu8.c: Remove. - - -2015-11-12 Marek Polacek - - PR c/67784 - * gcc.dg/pr67784-1.c: New test. - * gcc.dg/pr67784-2.c: New test. - -2015-11-12 Martin Liska - - * gcc.dg/ipa/pr68035.c: New test. - -2015-11-12 Richard Biener - - PR tree-optimization/68306 - * gcc.dg/pr68306.c: New testcase. - -2015-11-12 Ville Voutilainen - - Implement D0013R2, logical type traits. - - * g++.dg/cpp0x/Wattributes1.C: Adjust. - -2015-11-12 Nathan Sidwell - - * c-c++-common/goacc/data-default-1.c: New. - -2015-11-12 David Edelsohn - - * gcc.target/powerpc/pr67789.c: Skip on AIX and Darwin. - -2015-11-12 Ilya Enkovich - - PR tree-optimization/68305 - * gcc.dg/vect/pr68305.c: New test. - -2015-11-12 Eric Botcazou - - * gcc.target/i386/pr67265-2.c: New test. - -2015-11-12 Ilya Enkovich - - * gcc.dg/pr68286.c: New test. - -2015-11-12 Christian Bruel - - * gcc.target/arm/mmx-1.c: Adjust for unified asm. - -2015-11-12 Uros Bizjak - - * gcc.target/i386/sse-1.c (swizzle): Assume that a is - aligned to 64 bits. - -2015-11-11 David Edelsohn - - * gcc.dg/pr65521.c: Fail on AIX. - -2015-11-11 Sebastian Pop - - * gcc.dg/graphite/fuse-1.c: Adjust pattern. Remove dg-do. - * gcc.dg/graphite/fuse-2.c: Same. - * gcc.dg/graphite/graphite.exp (opt_files): Add fuse-*.c and - isl-ast-gen-*.c files. - * gcc.dg/graphite/isl-ast-gen-blocks-1.c: Remove dg-do and dg-options. - * gcc.dg/graphite/isl-ast-gen-blocks-2.c: Same. - * gcc.dg/graphite/isl-ast-gen-blocks-3.c: Same. - * gcc.dg/graphite/isl-ast-gen-blocks-4.c: Same. - * gcc.dg/graphite/isl-ast-gen-if-1.c: Same. - * gcc.dg/graphite/isl-ast-gen-if-2.c: Same. - * gcc.dg/graphite/isl-ast-gen-single-loop-1.c: Same. - * gcc.dg/graphite/isl-ast-gen-single-loop-2.c: Same. - * gcc.dg/graphite/isl-ast-gen-single-loop-3.c: Same. - * gcc.dg/graphite/isl-ast-gen-user-1.c: Same. - * gcc.dg/graphite/isl-codegen-loop-dumping.c: Remove. - -2015-11-11 Marek Polacek - - PR c/68107 - PR c++/68266 - * c-c++-common/pr68107.c: New test. - * g++.dg/init/new38.C (large_array_char): Adjust dg-error. - (large_array_char_template): Likewise. - * g++.dg/init/new44.C: Adjust dg-error. - -2015-11-11 Nathan Sidwell - - * gfortran.dg/goacc/private-3.f95: Remove xfail. - * gfortran.dg/goacc/combined_loop.f90: Remove xfail. - -2015-11-11 Eric Botcazou - - * gcc.target/i386/pr67265.c: New test. - -2015-11-11 Segher Boessenkool - - * gcc.target/powerpc/20050603-3.c: Don't restrict to ilp32. Do more - tests for the expected generated code. - -2015-11-11 Simon Dardis - - * gcc.target/mips/split-ds-sequence.c: New test. - -2015-11-11 Julia Koval - - * g++.dg/ext/mv16.C: New functions. - -2015-11-11 Richard Biener - Jiong Wang - - * gcc.dg/tree-ssa/pr68234.c: New testcase. - -2015-11-10 Ilya Enkovich - - * gcc.target/i386/mask-pack.c: New test. - * gcc.target/i386/mask-unpack.c: New test. - -2015-11-10 Ilya Enkovich - - * gcc.target/i386/avx2-vec-mask-bit-not.c: New test. - -2015-11-10 Ilya Enkovich - - * gcc.dg/vect/slp-cond-5.c: New test. - -2015-11-10 Richard Biener - - PR tree-optimization/68240 - * gcc.dg/torture/pr68240.c: New testcase. - -2015-11-10 Richard Biener - - PR tree-optimization/56118 - * gcc.target/i386/pr56118.c: New testcase. - -2015-11-10 Kyrylo Tkachov - - * gcc.target/aarch64/cond_op_imm_1.c: New test. - -2015-11-10 Eric Botcazou - - * gfortran.dg/pr68251.f90: New test. - -2015-11-09 Cesar Philippidis - - * c-c++-common/goacc/routine-5.c: Enable c++ tests. - -2015-11-09 Martin Sebor - - * init/new45.C: New test to verify that operator new is invoked - with or without overhead for a cookie. - - PR c++/67927 - * init/new44.C: New test for placement new expressions for arrays - with excessive number of elements. - - PR c++/67913 - * init/new43.C: New test for placement new expressions for arrays - with negative number of elements. - - * other/new-size-type.C: Expect array new expression with - an excessive number of elements to be rejected. - -2015-11-09 Nathan Sidwell - - * c-c++-common/goacc/routine-1.c: New. - * c-c++-common/goacc/routine-2.c: New. - * c-c++-common/goacc/routine-3.c: New. - * c-c++-common/goacc/routine-4.c: New. - * c-c++-common/goacc/routine-5.c: New. - -2015-11-09 Eric Botcazou - - * gcc.target/sparc/sparc-ret.c: Rename to... - * gcc.target/sparc/sparc-ret-1.c: ...this. - * gcc.target/sparc/sparc-ret-2.c: New test. - -2015-11-09 Michael Meissner - - * lib/target-supports.exp (check_p8vector_hw_available): Split - long line. - (check_vsx_hw_available): Likewise. - (check_p9vector_hw_available): Add new checks for ISA 3.0 hardware - support and for PowerPC float128 support. - (check_p9modulo_hw_available): Likewise. - (check_ppc_float128_sw_available): Likewise. - (check_ppc_float128_hw_available): Likewise. - (check_effective_target_powerpc_p9vector_ok): Likewise. - (check_effective_target_powerpc_p9modulo_ok): Likewise. - (check_effective_target_powerpc_float128_sw_ok): Likewise. - (check_effective_target_powerpc_float128_hw_ok): Likewise. - (is-effective-target): Add new PowerPc targets. - (is-effective-target-keyword): Likewise. - (check_vect_support_and_set_flags): If we have ISA 3.0 vector - instructions, use it. - - * gcc.target/powerpc/mod-1.c: New test for ISA 3.0 instructions. - * gcc.target/powerpc/mod-2.c: Likewise. - * gcc.target/powerpc/ctz-1.c: Likewise. - * gcc.target/powerpc/ctz-2.c: Likewise. - * gcc.target/powerpc/extswsli-1.c: Likewise. - * gcc.target/powerpc/extswsli-2.c: Likewise. - * gcc.target/powerpc/extswsli-3.c: Likewise. - - * gcc.target/powerpc/fusion.c (fusion_vector): Move to fusion2.c - and allow the test on PowerPC LE. - * gcc.target/powerpc/fusion2.c (fusion_vector): Likewise. - * gcc.target/powerpc/fusion3.c: New file, test power9 fusion. - - * gcc.target/powerpc/float128-call.c: Use powerpc_float128_sw_ok - check instead of powerpc_vsx_ok. - * gcc.target/powerpc/float128-mix.c: Likewise. - -2015-11-09 Eric Botcazou - - * gcc.dg/sso/*.c: Robustify dg-output directives. - -2015-11-09 Eric Botcazou - - * g++.dg/ubsan/pr68259.C: New test. - -2015-11-09 Uros Bizjak - - * g++.dg/cilk-plus/CK/pr66326.cc: Do not include cilk.h. - (main): Use _Cilk_spawn instead of cilk_spawn. - -2015-11-09 Thomas Schwinge - - * gcc.target/i386/addr-space-3.c: Fix quoting in dg-final - scan-assembler directive. - -2015-11-09 Kyrylo Tkachov - - PR target/68129 - * gcc.dg/pr68129_1.c: New test. - -2015-11-09 Andreas Arnez - - PR debug/67192 - * gcc.dg/guality/pr67192.c (f3, f4): New functions. - (main): Invoke them. - -2015-11-09 Andreas Arnez - - PR debug/67192 - * gcc.dg/guality/pr67192.c: New test. - -2015-11-09 Richard Biener - - PR tree-optimization/68248 - * gcc.dg/torture/pr68248.c: New testcase. - -2015-11-09 Richard Biener - - PR tree-optimization/56118 - * gcc.dg/vect/no-tree-sra-bb-slp-pr50730.c: Adjust. - -2015-11-09 Thomas Preud'homme - - * gcc.target/arm/thumb2-slow-flash-data.c: Add missing typespec for - labelref and check use of constant pool by looking for .word and - similar directives. - -2015-11-09 Igor Zamyatin - - PR target/66326 - * g++.dg/cilk-plus/CK/pr66326.cc: New test. - -2015-11-09 Richard Henderson - - * gcc.target/i386/addr-space-1.c: New test. - * gcc.target/i386/addr-space-2.c: New test. - * gcc.target/i386/addr-space-3.c: New test. - -2015-11-08 Steven g. Kargl - - PR fortran/68053 - * gfortran.dg/pr68053.f90: New test. - -2015-11-06 Jan Hubicka - - * g++.dg/lto/pr68057_0.C: Fix testcase. - -2015-11-08 Joost VandeVondele - - * gfortran.dg/PR67518.f90: move from here... - * gfortran.dg/graphite/PR67518.f90: to here. - * gfortran.dg/PR53852.f90: move from here... - * gfortran.dg/graphite/PR53852.f90: to here. - -2015-11-08 Eric Botcazou - - * gcc.dg/sso-1.c: New test. - * gcc.dg/sso-2.c: Likewise. - * gcc.dg/sso-3.c: Likewise. - * gcc.dg/sso-4.c: Likewise. - * gcc.dg/sso-5.c: Likewise. - * gcc.dg/sso-6.c: Likewise. - * gcc.dg/sso-7.c: Likewise. - * gcc.dg/sso-8.c: Likewise. - * gcc.dg/sso: New directory. - * gcc.target/i386/movbe-3.c: New test. - * gnat.dg/sso1.adb: Likewise. - * gnat.dg/sso2.ad[sb]: Likewise. - * gnat.dg/sso3.adb: Likewise. - * gnat.dg/sso4.adb: Likewise. - * gnat.dg/sso5.adb: Likewise. - * gnat.dg/sso6.adb: Likewise. - * gnat.dg/sso7.adb: Likewise. - * gnat.dg/specs/sso1.ads: Likewise. - * gnat.dg/specs/sso2.ads: Likewise. - * gnat.dg/sso: New directory. - -2015-11-08 Andre Vehreschild - - PR fortran/68218 - * gfortran.dg/allocate_with_arrayspec_1.f90: New test. - -2015-11-08 Steven G. Kargl - - PR fortran/68224 - * gfortran.dg/pr68224.f90: New test. - -2015-11-08 Paul Thomas - - PR fortran/68196 - * gfortran.dg/proc_ptr_47.f90: New test. - - PR fortran/66465 - * gfortran.dg/pr66465.f90: New test. - -2015-11-07 John David Anglin - - * gcc.dg/Wno-frame-address.c: Skip on hppa*-*-*. - -2015-11-07 Steven G. Kargl - - PR fortran/68153 - * gfortran.dg/pr68153.f90: New test. - -2015-11-07 Steven G. Kargl - - PR fortran/68151 - * gfortran.dg/pr68151.f90: New test. - -2015-11-07 Richard Sandiford - - PR tree-optimization/68235 - * gcc.dg/lto/20110201-1_0.c: Add -fno-math-errno. - -2015-11-06 Jeff Law - - * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Adjust to look for - realized jump threads. - * gcc.dg/tree-ssa-pr66752-3.c: Look in vrp1 dump for jump - threads rather than dom1 dump. - -2015-11-06 Michael Collison - - Revert: - 2015-08-01 Michael Collison - - * gcc.target/arm/mincmp.c: New test. - -2015-11-06 Dominique d'Humieres - - PR fortran/54224 - * gfortran.dg/warn_unused_function_2.f90: Add two new - "defined but not used" subroutines. - -2015-11-06 Jakub Jelinek - - * gcc.dg/gomp/ordered-2.c (f1): Expect an extra error. - * g++.dg/gomp/ordered-2.C (f1): Likewise. - * gfortran.dg/goacc/parallel-kernels-regions.f95: Adjust - expected diagnostics for the addition of quotes. - * gfortran.dg/gomp/target3.f90: Likewise. - * c-c++-common/goacc/nesting-fail-1.c: Likewise. - * c-c++-common/goacc-gomp/nesting-fail-1.c: Likewise. - * c-c++-common/gomp/doacross-1.c: Likewise. - * c-c++-common/gomp/nesting-warn-1.c: Likewise. - * c-c++-common/gomp/cancel-1.c (f2): Add some new tests. - Adjust expected diagnostics wording. - * c-c++-common/gomp/clauses-4.c (foo): Likewise. - Don't expect error on ordered threads simd when in for simd. - * c-c++-common/gomp/nesting-2.c: New test. - * c-c++-common/gomp/ordered-3.c (foo): Add some new tests. - * c-c++-common/gomp/ordered-4.c: New test. - -2015-11-06 Mike Stump - - * gcc.dg/pragma-diag-5.c: Make test cases unique. - -2015-11-06 Aditya Kumar - Sebastian Pop - - * gcc.dg/graphite/fuse-1.c: New. - * gcc.dg/graphite/fuse-2.c: New. - * gcc.dg/graphite/interchange-13.c: Remove bogus check. - -2015-11-06 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vqtbX.c: New test. - -2015-11-06 David Malcolm - - * gcc.dg/plugin/diagnostic-test-show-locus-bw.c: New file. - * gcc.dg/plugin/diagnostic-test-show-locus-color.c: New file. - * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c: New file. - * gcc.dg/plugin/plugin.exp (plugin_test_list): Add the above. - * lib/gcc-dg.exp: Load multiline.exp. - -2015-11-06 Ramana Radhakrishnan - - * gcc.target/arm/combine-movs.c: Adjust for unified asm. - * gcc.target/arm/interrupt-1.c: Likewise. - * gcc.target/arm/interrupt-2.c: Likewise. - * gcc.target/arm/unaligned-memcpy-4.c: Likewise. - -2015-11-06 Benedikt Huber - Philipp Tomsich - - * gcc.target/aarch64/rsqrt_asm_check_common.h: Common - macros for assembly checks. - * gcc.target/aarch64/rsqrt_asm_check_negative_1.c: Make sure - frsqrts and frsqrte are not emitted. - * gcc.target/aarch64/rsqrt_asm_check_1.c: Make sure - frsqrts and frsqrte are emitted. - * gcc.target/aarch64/rsqrt_1.c: Functional tests for rsqrt. - -2015-11-06 Thomas Schwinge - - * gfortran.dg/goacc/combined_loop.f90: XFAIL. - -2015-11-06 Jan Hubicka - - PR ipa/68057 - PR ipa/68220 - * g++.dg/lto/pr68057_0.C: New testcase. - * g++.dg/lto/pr68057_1.C: New testcase. - * g++.dg/torture/pr68220.C: New testcase. - -2015-11-06 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vtbX.c: Fix typos in - comment. - -2015-11-06 Ilya Enkovich - - PR tree-optimization/68145 - * g++.dg/vect/pr68145.cc: New test. - -2015-11-06 Kyrylo Tkachov - - PR target/68088 - * gcc.dg/pr68088_1.c: New test. - -2015-11-06 Richard Biener - - * gcc.dg/vect/bb-slp-38.c: New testcase. - -2015-11-06 Thomas Schwinge - - * gfortran.dg/goacc/private-3.f95: XFAIL. - -2015-11-06 Joost VandeVondele - - PR middle-end/53852 - PR middle-end/67518 - * gfortran.dg/PR67518.f90: New test. - * gfortran.dg/PR53852.f90: New test. - -2015-11-05 Cesar Philippidis - Tom de Vries - Nathan Sidwell - Thomas Schwinge - - * c-c++-common/goacc/combined-directives.c: New test. - * c-c++-common/goacc/loop-clauses.c: New test. - * c-c++-common/goacc/tile.c: New test. - * c-c++-common/goacc/loop-shape.c: Add test for pointer variable - as gang static arguments. - * c-c++-common/goacc/update-1.c: Adjust expected error message. - * g++.dg/goacc/template.C: New test. - * gfortran.dg/goacc/combined-directives.f90: New test. - * gfortran.dg/goacc/default.f95: New test. - * gfortran.dg/goacc/default_none.f95: New test. - * gfortran.dg/goacc/firstprivate-1.f95: New test. - * gfortran.dg/goacc/gang-static.f95: New test. - * gfortran.dg/goacc/kernels-loop-inner.f95: New test. - * gfortran.dg/goacc/kernels-loops-adjacent.f95: New test. - * gfortran.dg/goacc/list.f95: Update test. - * gfortran.dg/goacc/loop-2.f95: Likewise. - * gfortran.dg/goacc/loop-4.f95: New test. - * gfortran.dg/goacc/loop-5.f95: New test. - * gfortran.dg/goacc/loop-6.f95: New test. - * gfortran.dg/goacc/loop-tree-1.f90: Update test. - * gfortran.dg/goacc/multi-clause.f90: New test. - * gfortran.dg/goacc/parallel-tree.f95: Update test. - * gfortran.dg/goacc/update.f95: New test. - -2015-11-05 Martin Sebor - - PR c++/67942 - * g++.dg/warn/Wplacement-new-size.C: Exercise placement new - invocations where the size of the destination buffer object - or its type (or both) is unknown. - -2015-11-05 Martin Sebor - - PR c++/67942 - * g++.dg/warn/Wplacement-new-size.C: New test. - -2015-11-05 Alan Lawrence - - * gcc.dg/pr68112.c: New. - * gcc.dg/vect/vect-strided-shift-1.c: New. - -2015-11-05 Marek Polacek - - PR c/68090 - * gcc.dg/pr68090.c: New test. - -2015-11-05 James Greenhalgh - - * gcc.dg/ifcvt-4.c: New. - -2015-11-05 Paolo Carlini - - PR c++/67846 - * g++.dg/cpp0x/lambda/lambda-ice15.C: New. - -2015-11-05 Jakub Jelinek - - * c-c++-common/gomp/clauses-2.c (foo): Adjust for diagnostics - of variables in both data sharing and mapping clauses and for - structure element based array sections being mapped rather than - privatized. - * c-c++-common/gomp/declare-target-2.c: Add various new tests. Adjust - expected diagnostics wording in one case. - * c-c++-common/gomp/distribute-1.c: New test. - * c-c++-common/gomp/element-1.c: New test. - * c-c++-common/gomp/pr61486-2.c: Add #pragma omp declare target - and #pragma omp end declare target pair around the function. - Change s from a parameter to a file scope variable. - * c-c++-common/gomp/pr67521.c: Add dg-error directives. - * c-c++-common/gomp/reduction-1.c (foo): Don't expect diagnostics - on non-zero low-bound in reduction array sections. Add further - tests. - * c-c++-common/gomp/schedule-modifiers-1.c: New test. - * c-c++-common/gomp/target-teams-1.c: New test. - * gcc.dg/gomp/declare-simd-1.c: Add scan-assembler-times directives - for expected mangling on x86_64/i?86. - * gcc.dg/gomp/declare-simd-3.c: New test. - * gcc.dg/gomp/declare-simd-4.c: New test. - * gcc.dg/gomp/for-20.c: New test. - * gcc.dg/gomp/for-21.c: New test. - * gcc.dg/gomp/for-22.c: New test. - * gcc.dg/gomp/for-23.c: New test. - * gcc.dg/gomp/for-24.c: New test. - * gcc.dg/gomp/linear-1.c: New test. - * gcc.dg/gomp/loop-1.c: New test. - * g++.dg/gomp/atomic-17.C: New test. - * g++.dg/gomp/clause-1.C (T::test): Don't expect error on - non-static data member in shared clause. Add single construct. - * g++.dg/gomp/declare-simd-1.C: Add dg-options. Add - scan-assembler-times directives for expected mangling on x86_64/i?86. - * g++.dg/gomp/declare-simd-3.C: Likewise. - * g++.dg/gomp/declare-simd-4.C: New test. - * g++.dg/gomp/declare-simd-5.C: New test. - * g++.dg/gomp/declare-target-1.C: New test. - * g++.dg/gomp/linear-2.C: New test. - * g++.dg/gomp/loop-1.C: New test. - * g++.dg/gomp/loop-2.C: New test. - * g++.dg/gomp/loop-3.C: New test. - * g++.dg/gomp/member-2.C (B::m2, B::m4): Don't expect error on - non-static data member in shared clause. - * g++.dg/gomp/member-3.C: New test. - * g++.dg/gomp/member-4.C: New test. - * g++.dg/gomp/pr38639.C (foo): Adjust dg-error. - (bar): Remove dg-message. - * g++.dg/gomp/target-teams-1.C: New test. - -2015-11-05 Richard Biener - - * gcc.dg/tree-ssa/loadpre2.c: Avoid undefined behavior due to - uninitialized variables. - * gcc.dg/tree-ssa/loadpre21.c: Likewise. - * gcc.dg/tree-ssa/loadpre22.c: Likewise. - * gcc.dg/tree-ssa/loadpre23.c: Likewise. - * gcc.dg/tree-ssa/loadpre24.c: Likewise. - * gcc.dg/tree-ssa/loadpre25.c: Likewise. - * gcc.dg/tree-ssa/loadpre4.c: Likewise. - * gcc.dg/ipa/inlinehint-2.c: Likewise. - * gcc.dg/ipa/pure-const-2.c: Likewise. - * gcc.dg/tree-ssa/loop-1.c: Likewise. - * gcc.dg/tree-ssa/loop-23.c: Likewise. - * gcc.dg/tree-ssa/pr22051-2.c: Likewise. - * gcc.dg/tree-ssa/ssa-pre-3.c: Likewise. - * gcc.dg/tree-ssa/ssa-sccvn-3.c: Likewise. - * gcc.dg/vect/pr30858.c: Likewise. - * gcc.dg/vect/pr33866.c: Likewise. - * gcc.dg/vect/pr37027.c: Likewise. - * c-c++-common/ubsan/null-10.c: Likewise. - * gcc.target/i386/incoming-8.c: Likewise. - -2015-11-04 Eric Botcazou - - * gnat.dg/slice9.adb: New test. - -2015-11-04 Nathan Sidwell - - * gfortran.dg/goacc/reduction-2.f95: Delete. - -2015-11-04 Tom de Vries - - PR tree-optimization/67742 - * gcc.dg/tree-ssa/restrict-7.c: New test. - * gcc.dg/tree-ssa/restrict-8.c: New test. - -2015-11-03 Martin Sebor - - PR c++-common/67882 - * c-c++-common/builtin-offsetof-2.c: New test. - -2015-11-03 Dominique d'Humieres - - PR fortran/67982 - * gfortran.dg/warn_unused_function_3.f90: New test. - -2015-11-03 Eric Botcazou - - * gnat.dg/discr45.adb: Only compile the test. - -2015-11-03 Evgeny Stupachenko - - * g++.dg/ext/mvc4.C: Add dg-require-ifunc condition. - * gcc.target/i386/mvc5.c: Ditto. - * gcc.target/i386/mvc7.c: Add dg-require-ifunc condition and checks on - resolver. - -2015-11-03 Thomas Schwinge - - * c-c++-common/goacc-gomp/nesting-fail-1.c: Move "atomic" tests - from here to... - * c-c++-common/goacc-gomp/nesting-1.c: ... here, and expect them - to succeed. - -2015-11-03 Bilyan Borisov - - * gcc/testsuite/gcc.target/aarch64/simd/vmulx_f32_1.c: New. - * gcc/testsuite/gcc.target/aarch64/simd/vmulx_f64_1.c: New. - * gcc/testsuite/gcc.target/aarch64/simd/vmulxq_f32_1.c: New. - * gcc/testsuite/gcc.target/aarch64/simd/vmulxq_f64_1.c: New. - * gcc/testsuite/gcc.target/aarch64/simd/vmulxs_f32_1.c: New. - * gcc/testsuite/gcc.target/aarch64/simd/vmulxd_f64_1.c: New. - -2015-11-03 Alan Lawrence - - * gcc.target/aarch64/fp16/set_zero_1.c: New. - -2015-11-03 Uros Bizjak - - * gcc.dg/mvc1.c: Move to ... - * gcc.target/i386/mvc1.c: ... here. Require ifunc. - * gcc.dg/mvc2.c: Move to ... - * gcc.target/i386/mvc2.c: ... here. - * gcc.dg/mvc3.c: Move to ... - * gcc.target/i386/mvc3.c: ... here. - * gcc.dg/mvc4.c: Move to ... - * gcc.target/i386/mvc4.c: ... here. Require ifunc. - * gcc.dg/mvc5.c: Move to ... - * gcc.target/i386/mvc5.c: ... here. - * gcc.dg/mvc6.c: Move to ... - * gcc.target/i386/mvc6.c: ... here. - * gcc.dg/mvc7.c: Move to ... - * gcc.target/i386/mvc7.c: ... here. - - * g++.dg/ext/mvc1.C: Require ifunc. - -2015-11-02 Alexandre Oliva - - PR tree-optimization/68083 - * gcc.dg/torture/pr68083.c: New. From Zhendong Su. - -2015-11-02 Jeff Law - - * gcc.dg/tree-ssa/ssa-thread-11.c: Verify that we do not have - irreducible loops in the CFG. - -2015-11-02 Alan Lawrence - - Revert: - 2015-10-27 Alan Lawrence - - * gcc.dg/vect/vect-strided-shift-1.c: New. - -2015-11-01 Kyrylo Tkachov - - PR target/67929 - * gcc.target/arm/pr67929_1.c: Move to... - * gcc.c-torture/execute/pr67929_1.c: ... Here. - Remove arm-specific directives. Add noclone, noinline - attributes. - -2015-11-01 Jeff Law - - * gcc.dg/tree-ssa/ssa-thread-11.c: Update target selector. - -2015-11-01 Uros Bizjak - - * gcc.target/i386/pr67609-2.c: Include sse2-check.h. - (sse2_test): Rename from main. Do not return 0. - -2015-11-01 David Edelsohn - - * gfortran.dg/debug/pr46756.f: Remove XFAIL for AIX. - * gfortran.dg/proc_ptr_39.f90: Require visibility. - * gfortran.dg/read_dir.f90: XFAIL AIX. - -2015-10-31 Ville Voutilainen - - Remove the implementation of N3994, terse range-for loops. - * g++.dg/cpp1z/range-for1.C: Remove. - -2015-10-31 Eric Botcazou - - * gnat.dg/discr45.adb: New test. - -2015-10-31 Tom de Vries - - * gfortran.dg/assumed_type_2.f90: Update test. - * gfortran.dg/no_arg_check_2.f90: Same. - -2015-10-30 Cesar Philippidis - - * gfortran.dg/gomp/intentin1.f90: Adjust copyprivate warning. - -2015-10-30 Steven G. Kargl - - PR fortran/46588 - * gfortran.dg/pr46588.f90: New test. - -2015-10-30 Evgeny Stupachenko - - * gcc.dg/mvc1.c: New test for multiple targets cloning. - * gcc.dg/mvc2.c: Ditto. - * gcc.dg/mvc3.c: Ditto. - * gcc.dg/mvc4.c: Ditto. - * gcc.dg/mvc5.c: Ditto. - * gcc.dg/mvc6.c: Ditto. - * gcc.dg/mvc7.c: Ditto. - * g++.dg/ext/mvc1.C: Ditto. - * g++.dg/ext/mvc2.C: Ditto. - * g++.dg/ext/mvc3.C: Ditto. - * g++.dg/ext/mvc4.C: Ditto. - -2015-10-30 Steven G. Kargl - - PR fortran/51993 - * gfortran.dg/pr51993.f90: New test. - -2015-10-30 Vladimir Makarov - - PR rtl-optimization/68106 - * gcc.target/aarch64/pr68106.c: New. - -2015-10-30 Steven G. Kargl - - PR fortran/36192 - * gfortran.dg/pr36192_1.f90: New test. - -2015-10-30 Steven G. Kargl - - PR fortran/68154 - *gfortran.dg/pr68154.f90 - -2015-10-29 Nathan Sidwell - - * c-c++-common/goacc/acc_on_device-2-off.c: Delete. - * c-c++-common/goacc/acc_on_device-2.c: Delete. - -2015-10-29 Richard Sandiford - - * gcc.dg/torture/builtin-convert-1.c: Require c99_runtime. - -2015-10-29 Michael Meissner - - * gcc.target/powerpc/float128-call.c: New test for -mfloat128 on - PowerPC. - * gcc.target/powerpc/float128-mix.c: Likewise. - -2015-10-29 Steven G. Kargl - - PR fortran/68054 - * gfortran.dg/pr68054.f90: New test. - -2015-10-29 Steven G. Kargl - - PR fortran/67885 - * gfortran.dg/pr67885.f90: New test. - -2015-10-29 Jeff Law - - PR tree-optimization/67892 - * gcc.dg/tree-ssa/pr21417: Update expected output. - * gcc.dg/tree-ssa/ssa-dom-thread-2b.c: Likewise. - -2015-10-29 Richard Biener - - PR middle-end/68142 - * c-c++-common/ubsan/pr68142.c: New testcase. - -2015-10-29 Paolo Carlini - - PR c++/67845 - * g++.dg/other/cv_func4.C: New. - -2015-10-29 Richard Biener - - PR middle-end/56956 - * c-c++-common/ubsan/pr56956.c: New testcase. - -2015-10-28 Eric Botcazou - - * gnat.dg/discr44.adb: New test. - -2015-10-28 Jim Wilson - - PR debug/66068 - * gcc.dg/debug/pr66068.c: New test. - -2015-01-28 Paul Thomas - - PR fortran/67933 - * gfortran.dg/allocate_with_source_15.f03: Correct trivial - array bounds error at line 25. - -2015-10-28 Catherine Moore - - * 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. - -2015-10-28 Senthil Kumar Selvaraj - - PR target/67839 - * gcc.target/avr/pr67839.c: New test. - -2015-10-28 Richard Biener - - * gcc.dg/tree-ssa/operand-equal-2.c: Adjust. - -2015-10-28 Tom de Vries - - * gcc.dg/tree-ssa/pta-callused.c: Update to scan for CALLUSED(id). - -2015-10-28 Richard Biener - - PR ipa/67600 - * g++.dg/torture/pr67600.C: Remove preprocessed headers in favor - of #includes. - -2015-10-28 Richard Biener - - PR tree-optimization/65962 - * gcc.dg/vect/vect-62.c: Adjust. - -2015-10-28 Richard Biener - - PR middle-end/68067 - * gcc.dg/torture/pr68067-1.c: New testcase. - * gcc.dg/torture/pr68067-2.c: Likewise. - -2015-10-28 Segher Boessenkool - - * gcc.target/powerpc/p8vector-builtin-8.c: Add "target int128". - -2015-10-28 Segher Boessenkool - - * 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. - -2015-10-27 Cesar Philippidis - - * c-c++-common/goacc/loop-shape.c: New test. - -2015-10-27 Nathan Sidwell - Cesar Philippidis - - * g++.dg/gomp/pr33372-1.C: Adjust diagnostic. - * g++.dg/gomp/pr33372-3.C: Likewise. - -2015-10-27 Richard Henderson - - PR rtl-opt/67609 - * gcc.target/i386/pr67609-2.c: New test. - -2015-10-27 Kyrylo Tkachov - - PR target/68102 - * gcc.target/aarch64/pr68102_1.c: New test. - -2015-01-27 Paul Thomas - - PR fortran/67933 - * gfortran.dg/allocate_with_source_15.f03: New test - -2015-10-27 Thomas Schwinge - James Norris - - PR fortran/63865 - * gfortran.dg/goacc/coarray.f95: Expect the OpenACC cache - directive to work. - * gfortran.dg/goacc/loop-1.f95: Likewise. - * gfortran.dg/goacc/cache-1.f95: Likewise, and extend testing. - * gfortran.dg/goacc/cray.f95: Likewise. - * gfortran.dg/goacc/parameter.f95: Likewise. - -2015-10-27 Steven G. Kargl - - PR fortran/68108 - * gfortran.dg/pr67805_2.f90: New test. - -2015-10-27 Abderrazek Zaafrani - Aditya Kumar - - * gcc.dg/graphite/block-0.c: Changed to match pattern. - * gcc.dg/graphite/interchange-1.c: Same. - * gcc.dg/graphite/interchange-10.c: Same. - * gcc.dg/graphite/interchange-11.c: Same. - * gcc.dg/graphite/interchange-13.c: Same. - * gcc.dg/graphite/interchange-3.c: Same. - * gcc.dg/graphite/interchange-4.c: Same. - * gcc.dg/graphite/interchange-7.c: Same. - * gcc.dg/graphite/interchange-9.c: Same. - * gcc.dg/graphite/uns-interchange-9.c: Same. - * gfortran.dg/graphite/interchange-3.f90: Same. - -2015-10-27 H.J. Lu - - PR target/67215 - * gcc.target/i386/pr67215-1.c: New test. - * gcc.target/i386/pr67215-2.c: Likewise. - * gcc.target/i386/pr67215-3.c: Likewise. - -2015-10-27 Richard Biener - - PR tree-optimization/68104 - * gcc.dg/torture/pr68104.c: New testcase. - -2015-10-27 Alan Lawrence - - * gcc.dg/vect/vect-strided-shift-1.c: New. - -2015-10-27 Kyrylo Tkachov - - PR target/67929 - * gcc.target/arm/pr67929_1.c: New test. - -2015-10-27 Richard Sandiford - - * gcc.dg/torture/builtin-ldexp-1.c: Skip at -O9, - -2015-10-27 Richard Sandiford - - PR tree-optimization/68097 - * gcc.dg/torture/builtin-nonneg-1.c: Skip at -O0. Add - --param max-ssa-name-query-depth=3 to dg-options. - -2015-10-27 Richard Sandiford - - * gcc.dg/torture/builtin-sqrt-cmp-1.c: New test. - -2015-10-27 Richard Sandiford - - * gcc.dg/builtins-52.c: Add -O to dg-options. - -2015-10-27 Richard Sandiford - - * gcc.dg/torture/builtin-math-1.c: Skip at -O0. - -2015-10-27 Thomas Schwinge - - PR c/64765 - PR c/64880 - * c-c++-common/goacc/loop-1.c: Don't skip for C++. Don't prune - sorry message. - (PR64765): New function. - * gfortran.dg/goacc/coarray_2.f90: XFAIL. - * gfortran.dg/goacc/combined_loop.f90: Extend. Don't prune - sorry message. - * gfortran.dg/goacc/cray.f95: Refine prune directive. - * gfortran.dg/goacc/parameter.f95: Likewise. - -2015-10-26 Louis Krupp - - PR fortran/66056 - * gfortran.dg/empty_label_typedecl.f90: New test. - -2015-10-26 Steven G. Kargl - - PR fortran/36192 - * gfortran.dg/pr36192.f90: New test. - -2015-10-26 Eric Botcazou - - * gcc.dg/atomic-noinline.c: Change test on __atomic_is_lock_free. - * gcc.dg/atomic-noinline-aux.c: Adjust accordingly. - * gnat.dg/opt51.adb: New test. - * gnat.dg/opt51_pkg.ads: New helper. - -2015-10-26 Simon Dardis - - * gcc.target/mips/ds-schedule-1.c: New. - * gcc.target/mips/ds-schedule-2.c: New. - -2015-10-26 Jeff Law - - PR tree-optimization/68013 - * gcc.c-torture/compile/pr68013.c: New test. - -2015-10-26 Richard Biener - Dominik Vogt - - PR middle-end/67443 - * gcc.target/s390/pr67443.c: New testcase. - -2015-10-26 Christophe Lyon - - * gfortran.dg/chmod_1.f90: Add suffix to the temporary filename to - make it unique per testcase. - * gfortran.dg/chmod_2.f90: Likewise. - * gfortran.dg/chmod_3.f90: Likewise. - * gfortran.dg/direct_io_8.f90: Likewise. - * gfortran.dg/f2003_inquire_1.f03: Likewise. - * gfortran.dg/f2003_io_1.f03: Likewise. - * gfortran.dg/f2003_io_2.f03: Likewise. - * gfortran.dg/f2003_io_8.f03: Likewise. - * gfortran.dg/inquire_size.f90: Likewise. - * gfortran.dg/namelist_66.f90: Likewise. - * gfortran.dg/namelist_82.f90: Likewise. - * gfortran.dg/namelist_87.f90: Likewise. - * gfortran.dg/open_negative_unit_1.f90: Likewise. - * gfortran.dg/open_new.f90: Likewise. - * gfortran.dg/stat_1.f90: Likewise. - * gfortran.dg/stat_2.f90: Likewise. - * gfortran.dg/streamio_15.f90: Likewise. - * gfortran.dg/unf_read_corrupted_1.f90: Likewise. - -2015-10-26 Kyrylo Tkachov - - PR middle-end/67989 - * g++.dg/pr67989.C: New test. - -2015-10-26 Maxim Kuvyrkov - - * gfortran.dg/streamio_4.f90, gfortran.dg/streamio_5.f90, - * gfortran.dg/streamio_6.f90, gfortran.dg/streamio_7.f90, - * gfortran.dg/streamio_10.f90, gfortran.dg/streamio_12.f90: Add - suffix to the temporary filename to make it unique per testcase. - -2015-10-26 Richard Sandiford - - * gcc.dg/torture/builtin-minmax-1.c: Don't run at -O0. - -2015-01-25 Paul Thomas - - PR fortran/67171 - * gfortran.dg/allocate_with_source_12.f03: New test - - PR fortran/61819 - * gfortran.dg/allocate_with_source_13.f03: New test - - PR fortran/61830 - * gfortran.dg/allocate_with_source_14.f03: New test - -2015-10-25 John David Anglin - - * g++.dg/Wno-frame-address.C: Skip on hppa*-*-*. - -2015-10-25 Uros Bizjak - - PR target/68084 - * gcc.target/i386/pr68084.c: New test. - -2015-10-25 Andre Vehreschild - - PR fortran/66927 - PR fortran/67044 - * gfortran.dg/allocate_with_source_10.f08: New test. - * gfortran.dg/allocate_with_source_11.f08: New test. - * gfortran.dg/class_array_15.f03: Changed count of expected - _builtin_frees to 11. One step of temporaries is spared, therefore - the allocatable component of that temporary is not to be freeed. - -2015-10-24 Steven G. Kargl - - PR fortran/68055 - * gfortran.dg/pr68055.f90: New case. - -2015-10-24 Steven G. Kargl - - PR fortran/67805 - * gfortran.dg/pr67805.f90: New testcase. - * gfortran.dg/array_constructor_26.f03: Update testcase. - * gfortran.dg/array_constructor_27.f03: Ditto. - * gfortran.dg/char_type_len_2.f90: Ditto. - * gfortran.dg/pr67802.f90: Ditto. - * gfortran.dg/used_before_typed_3.f90: Ditto. - -2015-10-23 Jan Hubicka - - PR ipa/pr67600 - * g++.dg/torture/pr67600.C: New testcase. - -2015-10-23 Ilya Enkovich - - * g++.dg/pr68062.C: New test. - -2015-10-23 Jeff Law - - PR tree-optimization/67830 - * gcc.dg/pr67830.c: New test. - -2015-10-23 Jan Hubicka - - * gcc.dg/tree-ssa/operand-equal-2.c: New testcase. - -2015-10-23 Steve Ellcey - Andrew Pinski - - PR rtl-optimization/67736 - * gcc.dg/torture/pr67736.c: New test. - * gcc.dg/combine-subregs.c: New test. - -2015-10-23 Alan Hayward - - PR tree-optimization/65947 - * lib/target-supports.exp - (check_effective_target_vect_max_reduc): Add. - * gcc.dg/vect/pr65947-1.c: New test. - * gcc.dg/vect/pr65947-2.c: New test. - * gcc.dg/vect/pr65947-3.c: New test. - * gcc.dg/vect/pr65947-4.c: New test. - * gcc.dg/vect/pr65947-5.c: New test. - * gcc.dg/vect/pr65947-6.c: New test. - * gcc.dg/vect/pr65947-7.c: New test. - * gcc.dg/vect/pr65947-8.c: New test. - * gcc.dg/vect/pr65947-9.c: New test. - * gcc.dg/vect/pr65947-10.c: New test. - * gcc.dg/vect/pr65947-11.c: New test. - -2015-10-23 Richard Sandiford - - * gcc.c-torture/execute/20030125-1.c (floor, floorf, sin, sinf): - Make weak rather than noinline. - * gcc.dg/builtins-57.c: Compile with -O. - * gcc.dg/torture/builtin-integral-1.c: Skip for -O0. - -2015-10-23 Tom de Vries - - * gcc.dg/tree-ssa/restrict-4.c: Add -fno-ipa-icf to dg-options. - -2015-10-23 Maxim Ostapenko - - PR sanitizer/68042 - * c-c++-common/asan/memcmp-1.c: Adjust test to pass on Darwin. - * c-c++-common/asan/sanity-check-pure-c-1.c: Likewise. - -2015-10-22 Martin Sebor - - PR driver/68043 - * gcc.misc-tests/help.exp: Verify that option descriptions - end in periods. - * lib/options.exp (check_for_options): Use the regexp --line option. - Print unexpected match on failure. - -2015-10-22 Uros Bizjak - - * gcc.target/i386/pr67985-3.c (dg-options): Add -mfpmath=sse. - -2015-10-22 Paolo Carlini - - PR c++/67838 - * g++.dg/cpp1y/var-templ46.C: New. - -2015-10-22 Richard Biener - - PR tree-optimization/58497 - * gcc.dg/tree-ssa/vector-5.c: New testcase. - -2015-10-22 Richard Biener - - PR tree-optimization/19049 - PR tree-optimization/65962 - * gcc.dg/vect/vect-strided-store-pr65962.c: New testcase. - * gcc.dg/vect/vect-63.c: Adjust. - * gcc.dg/vect/vect-70.c: Likewise. - * gcc.dg/vect/vect-strided-u8-i2-gap.c: Likewise. - * gcc.dg/vect/vect-strided-a-u8-i2-gap.c: Likewise. - * gfortran.dg/vect/pr19049.f90: Likewise. - * gfortran.dg/vect/vect-8.f90: Likewise. - -2015-10-22 Richard Biener - - PR middle-end/68046 - PR middle-end/61893 - * gcc.dg/torture/ftrapv-2.c: New testcase. - -2015-10-22 Andreas Krebbel - - PR target/68015 - * gcc.target/s390/pr68015.c: New test. - -2015-10-22 Andre Vieira - - PR testsuite/67948 - * gcc.target/arm/xor-and.c: Adjust test to check for eor - instead of orr. - -2015-10-22 Jiong Wang - Ramana Radhakrishnan - - PR target/63304 - * gcc.target/aarch64/pr63304_1.c: New test. - -2015-10-21 Paolo Carlini - - PR c++/66781 - * g++.dg/parse/enum13.C: New. - -2015-10-21 Paolo Carlini - - PR c++/67847 - * g++.dg/parse/enum12.C: New. - -2015-10-21 Martin Sebor - - PR driver/68043 - * gcc.misc-tests/help.exp: Adjust. - * lib/options.exp (check_for_options): Add detail to output. - -2015-10-21 Steven G. Kargl - - PR fortran/67939 - * gfortran.dg/pr67939.f90: New test. - -2015-10-21 Aditya Kumar - Sebastian Pop - - * gcc.dg/graphite/scop-11.c: Update pattern. - -2015-10-11 Jan Hubicka - - PR ipa/67056 - * g++.dg/ipa/pr67056.C: New testcase. - -2015-10-11 Jan Hubicka - - * gcc.dg/tree-ssa/operand-equal-1.c: Verify that empty constructors - are matched. - -2015-10-21 Richard Sandiford - - * gcc.dg/lto/20110201-1_0.c: Restrict to sqrt_insn targets. - Add associated options for arm*-*-*. - (sqrt): Remove dummy definition. - -2015-10-21 Richard Sandiford - - * gcc.dg/torture/builtin-symmetric-1.c: Don't run at -O0. - -2015-10-21 Richard Sandiford - - * gcc.dg/tree-ssa/backprop-1.c, gcc.dg/tree-ssa/backprop-2.c, - gcc.dg/tree-ssa/backprop-3.c, gcc.dg/tree-ssa/backprop-4.c, - gcc.dg/tree-ssa/backprop-5.c, gcc.dg/tree-ssa/backprop-6.c: New tests. - -2015-10-21 Alan Lawrence - - * gcc.dg/tree-ssa/sra-12.c: Enable test on all targets; add --param - sra-max-scalarization-size-Ospeed. - -2015-10-21 Marek Polacek - - - PR c/68024 - * gcc.dg/pr68024.c: New test. - -2015-10-21 Nathan Sidwell - - * c-c++-common/goacc/clauses-fail.c: Adjust errors. - * c-c++-common/goacc/sb-1.c: Adjust errors. - * c-c++-common/goacc/sb-3.c: Adjust errors. - * c-c++-common/goacc/loop-1.c: Adjust errors. - * c-c++-common/goacc/nesting-1.c: Adjust errors. - * c-c++-common/goacc-gomp/nesting-fail-1.c: Adjust errors. - * c-c++-common/goacc-gomp/nesting-1.c: Adjust errors. - -2015-10-21 Ilya Enkovich - - * g++.dg/ext/vector22.C: Allow VEC_COND_EXPR. - -2015-10-21 Ilya Enkovich - - * gcc.dg/lto/simd-function_0.c: New test. - -2015-10-21 Uros Bizjak - - PR target/68018 - * gcc.target/i386/pr68018.c: New test. - -2015-10-21 Richard Biener - - PR middle-end/68031 - * gcc.dg/torture/pr68031.c: New testcase. - -2015-10-21 Richard Biener - - PR tree-optimization/68026 - * gcc.dg/tree-ssa/ssa-ccp-39.c: New testcase. - -2015-10-21 Maxim Ostapenko - - * c-c++-common/ubsan/float-cast-overflow-10.c: Adjust test. - * c-c++-common/ubsan/float-cast-overflow-8.c: Likewise. - * c-c++-common/ubsan/float-cast-overflow-9.c: Likewise. - * g++.dg/asan/default-options-1.C: Likewise. - -2015-10-20 Kyrylo Tkachov - - * gcc.target/aarch64/stp_vec_64_1.c: New test. - * gcc.target/aarch64/ldp_vec_64_1.c: Likewise. - -2015-10-20 Alan Lawrence - - * lib/target-supports.exp (check_effective_target_vect64): Add AArch64. - -2015-10-20 Marek Polacek - - PR c/67964 - * gcc.dg/pr67964.c: New test. - -2015-10-20 Vladimir Makarov - - PR rtl-optimization/67609 - * gcc.target/i386/pr67609.c: New. - -2015-10-20 Kyrylo Tkachov - - * gcc.target/aarch64/fmul_fcvt_1.c: Add multiply-by-32 cases. - -2015-10-20 Kyrylo Tkachov - - * gcc.target/aarch64/fmul_fcvt_1.c: New test. - * gcc.target/aarch64/fmul_fcvt_2.c: Likewise. - -2015-10-20 H.J. Lu - - PR target/66810 - * gcc.target/i386/pr66810.c: New test. - -2015-10-20 H.J. Lu - - PR target/67963 - PR target/67985 - * gcc.target/i386/pr67963-1.c: New test. - * gcc.target/i386/pr67963-2.c: Likewise. - * gcc.target/i386/pr67963-3.c: Likewise. - * gcc.target/i386/pr67985-1.c: Likewise. - * gcc.target/i386/pr67985-2.c: Likewise. - * gcc.target/i386/pr67985-3.c: Likewise. - -2015-10-20 Alan Lawrence - - * gcc.target/aarch64/vdiv_f.c: Use __builtin_nan. - -2015-10-20 Richard Biener - - PR tree-optimization/68017 - * gcc.dg/torture/pr68017.c: New testcase. - -2015-10-20 Szabolcs Nagy - - PR target/66912 - * gcc.target/aarch64/pr66912.c: New. - * gcc.target/arm/pr66912.c: New. - -2015-10-19 Steven G. Kargl - - * gfortran.dg/pr67900.f90: New tests. - -2015-10-19 Pierre-Marie de Rodat - - * gnat.dg/opt50.adb: New test. - * gnat.dg/opt50_pkg.adb: New helper. - * gnat.dg/opt50_pkg.ads: New helper. - -2015-10-19 Steven G. Kargl - - PR fortran/68019 - * gfortran.dg/pr68019.f90: new test. - -2015-10-19 Richard Biener - - PR tree-optimization/67975 - * gcc.dg/tree-ssa/ssa-fre-50.c: New testcase. - -2015-10-19 Richard Biener - - * gcc.dg/torture/builtin-cproj-1.c: Skip for -O0. - -2015-10-19 H.J. Lu - - PR target/67995 - * gcc.target/i386/pr67995-1.c: New test. - * gcc.target/i386/pr67995-2.c: Likewise. - * gcc.target/i386/pr67995-3.c: Likewise. - -2015-10-19 Joost VandeVondele - - PR middle-end/68002 - * gcc.dg/PR68002.c: New test. - -2015-10-19 Richard Sandiford - - * gcc.dg/builtins-20.c: Remove undefined behavior. - -2015-10-18 Mikael Morin - - PR fortran/67758 - * gfortran.dg/common_25.f90: New file. - -2015-10-18 Paul Thomas - - PR fortran/67177 - * gfortran.dg/move_alloc_15.f90: New test - * gfortran.dg/move_alloc_16.f90: New test - - PR fortran/67977 - * gfortran.dg/deferred_character_assignment_1.f90: New test - -2015-10-17 Steven G. Kargl - - PR fortran/67987 - * gfortran.df/pr67987.f90: New test. - * gfortran.dg/char_length_2.f90: Update testcase. - -2015-10-16 H.J. Lu - - * gcc.target/i386/iamcu/test_basic_returning.c - (def_test_returning_type): Use union to check float return bits. - -2015-10-16 H.J. Lu - - * gcc.target/i386/iamcu/test_basic_64bit_returning.c (main): - Replace printf with __builtin_printf. - -2015-10-16 H.J. Lu - - * gcc.target/i386/iamcu/test_passing_unions.c (main): Properly - initialize u5. - -2015-10-16 Eric Botcazou - - PR middle-end/67966 - * gnat.dg/pack21.adb: New test. - * gnat.dg/pack22.adb: Likewise. - * gnat.dg/pack22_pkg.ad[sb]: New helper. - -2015-10-16 Christian Bruel - - PR target/67745 - * gcc.target/arm/no-align.c: New test. - * gcc.target/arm/attr-align1.c: New test. - * gcc.target/arm/attr-align2.c: New test. - * gcc.target/arm/attr-align3.c: New test. - -2015-10-11 Jan Hubicka - - * gcc.c-torture/compile/icfmatch.c: Add testcase - -2015-10-16 Paolo Carlini - - PR c++/67926 - * g++.dg/cpp1z/fold-ice1.C: New. - -2015-10-16 Michael Collison - Andrew Pinski - - * gcc.dg/tree-ssa/minmax-loopend.c: New test. - -2015-10-15 Marek Polacek - - * gcc.dg/tree-ssa/reassoc-42.c: New test. - -2015-10-15 Marek Polacek - - PR tree-optimization/67953 - * gcc.dg/fold-minus-6.c (fn4): Change the type of A to - unsigned. - * gcc.dg/torture/pr67953.c: New test. - -2015-10-14 Jeff Law - - * gcc.dg/tree-ssa/ssa-dom-thread-2.c: Deleted. The six functions - contained within have their own file/test now. - * gcc.dg/tree-ssa/ssa-dom-thread-2a.c: New test extracted from - ssa-dom-thread-2.c. Tighten expected output slightly and comment - expectations a bit more. - * gcc.dg/tree-ssa/ssa-dom-thread-2b.c: Likewise. - * gcc.dg/tree-ssa/ssa-dom-thread-2c.c: Likewise. - * gcc.dg/tree-ssa/ssa-dom-thread-2d.c: Likewise. - * gcc.dg/tree-ssa/ssa-dom-thread-2e.c: Likewise. - * gcc.dg/tree-ssa/ssa-dom-thread-2f.c: Likewise. - - PR testsuite/67959 - * gcc.dg/tree-ssa/ssa-thread-13.c: Avoid bitfield assumptions. - -2015-10-14 Marek Polacek - - * gcc.dg/tree-ssa/reassoc-39.c: Use -g. Adjust dg-final. - (f6): New. - (f7): New. - (f8): New. - (f9): New. - (f10): New. - (f11): New. - (f12): New. - (f13): New. - -2015-10-14 Richard Biener - - PR tree-optimization/67915 - * gcc.dg/torture/pr67915.c: New testcase. - -2015-10-14 Marek Polacek - - PR tree-optimization/67815 - * gcc.dg/tree-ssa/reassoc-39.c: New test. - * gcc.dg/tree-ssa/reassoc-40.c: New test. - * gcc.dg/tree-ssa/reassoc-41.c: New test. - -2015-10-14 Dominik Vogt - - * gcc.dg/pragma-pop_options-1.c: New test. - -2015-10-13 Jakub Jelinek - Aldy Hernandez - - * c-c++-common/gomp/cancel-1.c (f2): Add map clause to target data. - * c-c++-common/gomp/clauses-1.c: New test. - * c-c++-common/gomp/clauses-2.c: New test. - * c-c++-common/gomp/clauses-3.c: New test. - * c-c++-common/gomp/clauses-4.c: New test. - * c-c++-common/gomp/declare-target-1.c: New test. - * c-c++-common/gomp/declare-target-2.c: New test. - * c-c++-common/gomp/depend-3.c: New test. - * c-c++-common/gomp/depend-4.c: New test. - * c-c++-common/gomp/doacross-1.c: New test. - * c-c++-common/gomp/if-1.c: New test. - * c-c++-common/gomp/if-2.c: New test. - * c-c++-common/gomp/linear-1.c: New test. - * c-c++-common/gomp/map-2.c: New test. - * c-c++-common/gomp/map-3.c: New test. - * c-c++-common/gomp/nesting-1.c (f_omp_parallel, - f_omp_target_data): Add map clause to target data. - * c-c++-common/gomp/nesting-warn-1.c (f_omp_target): Likewise. - * c-c++-common/gomp/ordered-1.c: New test. - * c-c++-common/gomp/ordered-2.c: New test. - * c-c++-common/gomp/ordered-3.c: New test. - * c-c++-common/gomp/pr61486-1.c (foo): Remove linear clause - on non-iterator. - * c-c++-common/gomp/pr61486-2.c (test, test2): Remove ordered - clause and ordered construct where no longer allowed. - * c-c++-common/gomp/priority-1.c: New test. - * c-c++-common/gomp/reduction-1.c: New test. - * c-c++-common/gomp/schedule-simd-1.c: New test. - * c-c++-common/gomp/sink-1.c: New test. - * c-c++-common/gomp/sink-2.c: New test. - * c-c++-common/gomp/sink-3.c: New test. - * c-c++-common/gomp/sink-4.c: New test. - * c-c++-common/gomp/udr-1.c: New test. - * c-c++-common/taskloop-1.c: New test. - * c-c++-common/cpp/openmp-define-3.c: Adjust for the new - value of _OPENMP macro. - * c-c++-common/cilk-plus/PS/body.c (foo): Adjust expected diagnostics. - * c-c++-common/goacc-gomp/nesting-fail-1.c (f_acc_parallel, - f_acc_kernels, f_acc_data, f_acc_loop): Add map clause to target data. - * gcc.dg/gomp/clause-1.c: - * gcc.dg/gomp/reduction-1.c: New test. - * gcc.dg/gomp/sink-fold-1.c: New test. - * gcc.dg/gomp/sink-fold-2.c: New test. - * gcc.dg/gomp/sink-fold-3.c: New test. - * gcc.dg/vect/vect-simd-clone-15.c: New test. - * g++.dg/gomp/clause-1.C (T::test): Remove dg-error on privatization - of non-static data members. - * g++.dg/gomp/clause-3.C (foo): Remove one dg-error directive. - Add some linear clause tests. - * g++.dg/gomp/declare-simd-3.C: New test. - * g++.dg/gomp/linear-1.C: New test. - * g++.dg/gomp/member-1.C: New test. - * g++.dg/gomp/member-2.C: New test. - * g++.dg/gomp/pr66571-2.C: New test. - * g++.dg/gomp/pr67504.C (foo): Add test for ordered clause with - dependent argument. - * g++.dg/gomp/pr67522.C (foo): Add test for invalid array section - in reduction clause. - * g++.dg/gomp/reference-1.C: New test. - * g++.dg/gomp/sink-1.C: New test. - * g++.dg/gomp/sink-2.C: New test. - * g++.dg/gomp/sink-3.C: New test. - * g++.dg/gomp/task-1.C: Remove both dg-error directives. - * g++.dg/gomp/this-1.C: New test. - * g++.dg/gomp/this-2.C: New test. - * g++.dg/vect/simd-clone-2.cc: New test. - * g++.dg/vect/simd-clone-2.h: New test. - * g++.dg/vect/simd-clone-3.cc: New test. - * g++.dg/vect/simd-clone-4.cc: New test. - * g++.dg/vect/simd-clone-4.h: New test. - * g++.dg/vect/simd-clone-5.cc: New test. - -2015-10-13 Christophe Lyon - - * gcc.target/aarch64/table-intrinsics.c: Fix regexp - after r228716 (Fix vtbl[34] and vtbx4). - -2015-10-13 Yuri Rumyantsev - - PR tree-optimization/67909, 67947 - * gcc.dg/torture/pr67947.c: New test. - -2015-10-13 Jeff Law - - * gcc.dg/tree-ssa/ssa-thread-13.c: New test. - -2015-10-12 Jeff Law - - * gcc.dg/tree-ssa/ssa-thread-12.c: New test. - * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Update expected output. - * gcc.dg/tree-ssa/ssa-thread-11.c: Renamed from - ssa-dom-thread-11.c. - - * gcc.dg/tree-ssa/ssa-dom-thread-11.c: New test. - -2015-10-12 Ville Voutilainen - - PR c++/58566 - * g++.dg/cpp0x/lambda/lambda-58566.C: New. - -2015-10-10 Jan Hubicka - - * gfortran.dg/lto/bind_c-2_0.f90: New testcase. - * gfortran.dg/lto/bind_c-2_1.c: New testcase. - * gfortran.dg/lto/bind_c-3_0.f90: New testcase. - * gfortran.dg/lto/bind_c-3_1.c: New testcase. - * gfortran.dg/lto/bind_c-4_0.f90: New testcase. - * gfortran.dg/lto/bind_c-4_1.c: New testcase. - * gfortran.dg/lto/bind_c-5_0.f90: New testcase. - * gfortran.dg/lto/bind_c-5_1.c: New testcase. - -2015-10-09 Steve Ellcey - - * gcc.target/mips/mips.exp (mips_option_groups): Add -mframe-header-opt - and -mno-frame-header-opt options. - * gcc.target/mips/frame-header-1.c: New file. - * gcc.target/mips/frame-header-2.c: New file. - * gcc.target/mips/frame-header-3.c: New file. - -2015-10-09 Andre Vieira - Hale Wang - - * gcc.dg/tree-ssa/forwprop-33.c: New. - -2015-10-09 Alexander Fomin - - PR target/67895 - * gcc.target/i386/avx512dq-vrangepd-1.c: Adjust assembly regexp. - * gcc.target/i386/avx512dq-vrangeps-1.c: Likewise. - * gcc.target/i386/avx512dq-vrangesd-1.c: Likewise. - * gcc.target/i386/avx512dq-vrangess-1.c: Likewise. - * gcc.target/i386/avx512f-vcvtsi2sd64-1.c: Likewise. - * gcc.target/i386/avx512f-vcvtsi2ss-1.c: Likewise. - * gcc.target/i386/avx512f-vcvtsi2ss64-1.c: Likewise. - * gcc.target/i386/avx512f-vcvtusi2sd64-1.c: Likewise. - * gcc.target/i386/avx512f-vcvtusi2ss-1.c: Likewise. - * gcc.target/i386/avx512f-vcvtusi2ss64-1.c: Likewise. - -2015-10-09 David Malcolm - - * lib/multiline.exp: New file. - * lib/prune.exp: Load multiline.exp. - (prune_gcc_output): Call into multiline.exp to handle any - multiline output directives. - * lib/libgo.exp: Load multiline.exp before prune.exp, using - load_gcc_lib. - -2015-10-09 Martin Jambor - - PR tree-optimization/67794 - * gcc.dg/ipa/ipa-sra-10.c: New test. - * gcc.dg/torture/pr67794.c: Likewise. - -2015-10-09 Alexandre Oliva - - PR rtl-optimization/67828 - * gcc.dg/torture/pr67828.c: New. - -2015-10-09 Ramana Radhakrishnan - - PR target/67366 - * lib/target-supports.exp (check_effective_target_non_strict_align): - Adjust for arm*-*-*. - * gcc.target/arm/pr67366.c: New test. - -2015-10-09 Richard Biener - - PR tree-optimization/67891 - * gcc.dg/tree-ssa/pr67891.c: New testcase. - -2015-10-08 Richard Sandiford - - * gcc.dg/builtins-47.c: Test the optimized dump instead. - -2015-10-08 Yuri Rumyantsev - - * gcc.dg/vect/vect-outer-simd-3.c: New test. - -2015-10-08 Yuri Rumyantsev - - * gcc.dg/loop-unswitch-2.c: New test. - * gcc.dg/loop-unswitch-3.c: Likewise. - * gcc.dg/loop-unswitch-4.c: Likewise. - -2015-10-08 Tom de Vries - - * gcc.dg/dse.c: Only dump in dse1 pass. - * gcc.dg/tree-ssa/pr30375.c: Same. - -2015-10-07 Uros Bizjak - - PR target/66697 - * gcc.target/i386/20060512-1.c: Remove ia32 requirement. - (PUSH, POP): New defines. - (sse2_test): Use PUSH and POP to misalign runtime stack. - * gcc.target/i386/20060512-2.c: Remove ia32 requirement. - -2015-10-07 James Norris - - * lib/atomic-dg.exp (atomic_link_flags): Move flag setting - to atomic_init. (atomic_init): Restrict flags usage. - -2015-10-07 Andre Vehreschild - - PR fortran/65889 - * gfortran.dg/sizeof_5.f90: New test. - -2015-10-06 Jeff Law - - * gcc.c-torture/compile/pr67816.c: New test. - -2015-10-07 Kugan Vivekanandarajah - - * gcc.target/aarch64/get_lane_f16_1.c: New test. - -2015-10-06 Louis Krupp - - PR fortran/65766 - * gfortran.dg/substr_alloc_string_comp_1.f90: New. - -2015-10-06 Marek Polacek - - PR c++/67863 - * c-c++-common/Wtautological-compare-4.c: New test. - -2015-10-05 Michael Meissner - Peter Bergner - - PR target/67808 - * gcc.target/powerpc/pr67808.c: New test. - -2015-10-06 Nick Clifton - - * gcc.target/msp430: New directory. - * gcc.target/msp430/msp430.exp: New file. Runs MSP430 specific - tests. - * gcc.target/msp430/data-attributes.c: New file. Checks the - noinit and persistent data attributes. - -2015-10-06 Kirill Yukhin - - * gcc.target/i386/builtin_target.c: Fix AVX-512VBMI detection. - -2015-10-06 Richard Biener - - PR tree-optimization/67859 - * gcc.dg/torture/pr67859.c: New testcase. - -2015-10-05 Kirill Yukhin - - * gcc.target/i386/builtin_target.c: Add check for AES and PCLMUL. - -2015-10-05 Paolo Carlini - - PR c++/53856 - * g++.dg/template/defarg19.C: New. - * g++.dg/template/defarg20.C: Likewise. - -2015-10-05 Aditya Kumar - Sebastian Pop - - * gcc.dg/graphite/scop-sor.c: Un-xfail. - -2015-10-05 Aditya Kumar - Sebastian Pop - - * gcc.dg/graphite/scop-sor.c: Xfail. - -2015-10-05 Martin Jambor - Jan Hubicka - - * gcc.dg/ipa/propalign-4.c: New test. - * gcc.dg/ipa/propalign-5.c: Likewise. - -2015-10-05 Marek Polacek - - PR tree-optimization/67821 - * gcc.dg/torture/pr67821-2.c: New test. - * gcc.dg/torture/pr67821.c: New test. - -2015-10-05 Kirill Yukhin - - * gcc.target/i386/builtin_target.c: Add check for "skylake-avx512". - -2015-10-05 Christian Bruel - - * gcc.target/arm/attr_thumb-static2.c: Cleanup directives. - -2015-10-05 Ramana Radhakrishnan - - * gcc.target/aarch64/advsimd-intrinsics/vcvt_f16.c (TEST_MSG): Fix typo. - (exec_vcvt): Add comments. - -2015-10-04 Uros Bizjak - - PR rtl-optimization/67447 - * gcc.target/i386/pr67447.c: New test. - -2015-10-04 Uros Bizjak - - * gcc.target/i386/vect-pack-trunc-1.c: Require avx512bw - effective target. - * gcc.target/i386/vect-pack-trunc-2.c: Ditto. - * gcc.target/i386/vect-perm-even-1.c: Ditto. - * gcc.target/i386/vect-perm-odd-1.c: Ditto. - * gcc.target/i386/vect-unpack-1.c: Ditto. - * gcc.target/i386/vect-unpack-2.c: Ditto. - -2015-10-04 Mikael Morin - - PR fortran/67758 - * gfortran.dg/common_24.f: New. - -2015-10-03 Bernd Edlinger - - * gcc.target/arm/pr67756.c: Fixed warnings. - -2015-10-02 Marek Polacek - - PR c/67730 - * gcc.dg/pr67730-1.c: New test. - * gcc.dg/pr67730-2.c: New test. - * gcc.dg/pr67730.h: New test. - -2015-10-02 Marek Polacek - - * c-c++-common/Wduplicated-cond-2.c: Skip until PR67819 is resolved. - -2015-10-02 Sebastian Pop - - PR tree-optimization/67754 - * gfortran.dg/graphite/block-1.f90: Adjust pattern. - * gfortran.dg/graphite/block-2.f: Same. - -2015-10-02 Sebastian Pop - - * gcc.dg/graphite/scop-23.c: New. - -2015-10-02 Kirill Yukhin - - * gcc.target/i386/builtin_target.c: Handle "avx512ifma" - and "avx512vbmi". - -2015-10-02 Vladimir Makarov - - PR rtl-optimization/67756 - * gcc.target/arm/pr67756.c: New. - -2015-10-02 Jiong Wang - - * gcc.target/aarch64/tlsle12_tiny_1.c: New testcase for tiny model. - * gcc.target/aarch64/tlsle24_tiny_1.c: Likewise. - * gcc.target/aarch64/tlsle_sizeadj_tiny_1.c: TLS size truncation test - for tiny model. - * gcc.target/aarch64/tlsle_sizeadj_small_1.c: TLS size truncation test - for small model. - -2015-10-02 Kirill Yukhin - - * gcc.target/i386/vect-pack-trunc-1.c: New test. - * gcc.target/i386/vect-pack-trunc-2.c: Ditto. - * gcc.target/i386/vect-perm-even-1.c: Ditto. - * gcc.target/i386/vect-perm-odd-1.c: Ditto. - * gcc.target/i386/vect-unpack-1.c: Ditto. - * gcc.target/i386/vect-unpack-2.c: Ditto. - -2015-10-02 Marek Polacek - - PR c/64249 - * c-c++-common/Wduplicated-cond-1.c: New test. - * c-c++-common/Wduplicated-cond-2.c: New test. - * c-c++-common/Wduplicated-cond-3.c: New test. - * c-c++-common/Wduplicated-cond-4.c: New test. - * c-c++-common/Wmisleading-indentation.c (fn_37): Avoid - -Wduplicated-cond warning. - -2015-10-02 Renlin Li - - * gcc.target/aarch64/csneg-1.c: Update. - -2015-10-02 Renlin Li - - PR target/66776 - * gcc.target/aarch64/pr66776.c: New. - -2015-10-02 Eric Botcazou - - * gnat.dg/warn13.adb: New test. - -2015-10-02 Eric Botcazou - - * gnat.dg/vect15.ad[sb]: New test. - * gnat.dg/vect16.ad[sb]: Likewise. - * gnat.dg/vect17.ad[sb]: Likewise. - * gnat.dg/vect18.ad[sb]: Likewise. - -2015-10-02 Kyrylo Tkachov - - PR rtl-optimization/67786 - PR rtl-optimization/67787 - * gcc.dg/pr67786.c: New test. - * gcc.dg/pr67787.c: Likewise. - -2015-10-02 James Greenhalgh - - * gcc.target/aarch64/vect_combine_zeroes_1.c: New. - -2015-10-02 Kai Tietz - - PR target/51726 - * g++.dg/ext/selectany2.C: Allow uninitialized variable case. - -2015-10-01 Louis Krupp - - PR fortran/62242 - PR fortran/52332 - * gfortran.dg/string_array_constructor_1.f90: New. - * gfortran.dg/string_array_constructor_2.f90: New. - * gfortran.dg/string_array_constructor_3.f90: New. - -2015-10-01 Segher Boessenkool - - PR target/67788 - PR target/67789 - * gcc.target/powerpc/pr67789.c: New testcase. - -2015-10-01 Steven G. Kargl - - PR fortran.67802 - * gfortran.dg/pr67802.f90: New test. - -2015-10-01 Steven G. Kargl - - PR fortran/66979 - gfortran.dg/pr66979.f90: new test. - -2015-10-01 Steven G. Kargl - - PR fortran/67616 - * gfortran.dg/pr67616.f90: New test. - -2015-10-01 Ville Voutilainen - - PR c++/54430 - * g++.dg/cpp0x/range-for30.C: New. - -2015-10-01 Marek Polacek - - PR c/65345 - * gcc.dg/atomic/pr65345-4.c: New test. - * gcc.dg/pr65345-3.c: New test. - -2015-10-01 Marek Polacek - - PR tree-optimization/67769 - * gcc.dg/torture/pr67769.c: New test. - -2015-10-01 Uros Bizjak - - * gcc.dg/lto/pr55113_0.c: Skip on all x86 targets. - -2015-10-01 Oleg Endo - - PR target/54236 - * gcc.target/sh/pr54236-6.c: Fix assembler-not string. - -2015-10-01 Uros Bizjak - - * gcc.target/i386/pr65105-1.c: Require sse2 effective target. - (main): Rename to sse2_test. Abort if count != 5. - (dg-options): Add -save-temps. Use "-msse2 -mtune=slm" instead - of -march=slm. - * gcc.target/i386/pr46865-2.c (dg-options): Remove -save-temps. - -2015-10-01 Richard Biener - - * gcc.dg/tree-ssa/ssa-fre-7.c: Adjust. - * gcc.dg/tree-ssa/ssa-fre-8.c: Likewise. - -2015-09-30 Jeff Law - - * gcc.dg/tree-ssa/ssa-dom-branch-1.c: New test. - -2015-09-30 Bernd Edlinger - - PR rtl-optimization/67037 - * gcc.c-torture/execute/pr67037.c: New test. - -2015-09-30 Ulrich Weigand - - * lib/target-supports.exp (check_effective_target_sync_int_128): - Return 1 on spu-*-* targets. - (check_effective_target_sync_int_128_runtime): Likewise. - (check_effective_target_sync_long_long): Likewise. - (check_effective_target_sync_long_long_runtime): Likewise. - (check_effective_target_sync_int_long): Likewise. - (check_effective_target_sync_char_short): Likewise. - -2015-09-30 Ilya Enkovich - - * gcc.target/i386/pr67761.c: New test. - -2015-09-30 Marek Polacek - - PR c/67730 - * gcc.dg/pr67730.c: New test. - -2015-09-30 Marek Polacek - - PR tree-optimization/67690 - * gcc.dg/torture/pr67690.c: New test. - -2015-09-30 Christophe Lyon - - * g++.dg/cpp0x/stdint.C: Move dg-require-effective-target after dg-do. - * g++.dg/gomp/tls-wrap4.C: Likewise. - * gcc.dg/atomic-op-optimize.c: Likewise. - * gcc.dg/pr54087.c: Likewise. - * gcc.dg/tls/section-2.c: Likewise. - * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c: Likewise. - * gcc.dg/vect/costmodel/ppc/costmodel-pr37194.c: Likewise. - * gcc.dg/vect/trapv-vect-reduc-4.c: Likewise. - * gcc.target/arm/divzero.c: Likewise. - * gcc.target/arm/sibcall-2.c: Likewise. - * gcc.target/arm/thumb1-Os-mult.c: Likewise. - * gcc.target/arm/thumb1-load-64bit-constant-1.c: Likewise. - * gcc.target/arm/thumb1-load-64bit-constant-2.c: Likewise. - * gcc.target/arm/thumb1-load-64bit-constant-3.c: Likewise. - * gcc.target/arm/volatile-bitfields-1.c: Likewise. - * gcc.target/arm/volatile-bitfields-2.c: Likewise. - * gcc.target/arm/volatile-bitfields-3.c: Likewise. - * gcc.target/arm/volatile-bitfields-4.c: Likewise. - * gfortran.dg/default_format_2.f90: Likewise. - * gfortran.dg/default_format_denormal_2.f90: Likewise. - -2015-09-29 Jonathan Roelofs - - * gcc.dg/debug/pr65771.c: Use tls_runtime instead of tls. - -2015-09-29 Steven G. Kargl - - * gfortran.dg/ieee/ieee_4.f90: xfail on i386-*-freebsd* - * gfortran.dg/round_4.f90: ditto. - -2015-09-29 Richard Biener - - PR tree-optimization/67170 - * gfortran.dg/pr67170.f90: New testcase. - -2015-09-29 Richard Biener - - PR tree-optimization/67741 - * gcc.dg/torture/pr67741.c: New testcase. - -2015-09-29 Uros Bizjak - - * gcc.dg/tg-tests.h (foo_1) [UNSAFE]: Also check if f and ld are - non-zero for __builtin_signbit tests. - -2015-09-29 Ilya Enkovich - - PR target/65105 - * gcc.target/i386/pr65105-1.c: New. - * gcc.target/i386/pr65105-2.c: New. - * gcc.target/i386/pr65105-3.c: New. - * gcc.target/i386/pr65105-4.C: New. - * gcc.dg/lower-subreg-1.c: Add -mno-stv options for ia32. - -2015-09-28 Segher Boessenkool - - * gcc.dg/asm-4.c: Use braced words for the regular expressions. - -2015-09-28 Paul Thomas - - PR fortran/40054 - PR fortran/63921 - * gfortran.dg/fmt_tab_1.f90: Change from run to compile and set - standard as legacy. - * gfortran.dg/fmt_tab_2.f90: Add extra tab error. - * gfortran.dg/function_types_3.f90: Change error message to - "Type inaccessible...." - * gfortran.dg/ptr_func_assign_1.f08: New test. - * gfortran.dg/ptr_func_assign_2.f08: New test. - -2015-09-25 Mikael Morin - - PR fortran/40054 - PR fortran/63921 - * gfortran.dg/ptr_func_assign_3.f08: New test. - * gfortran.dg/ptr_func_assign_4.f08: New test. - -2015-09-28 Aditya Kumar - Sebastian Pop - - * gcc.dg/graphite/run-id-pr67700-1.c: New test case. - * gcc.dg/graphite/block-1.c: Modified to match the pattern. - * gcc.dg/graphite/block-3.c: Same. - * gcc.dg/graphite/block-4.c: Same. - * gcc.dg/graphite/block-5.c: Same. - * gcc.dg/graphite/block-6.c: Same. - * gcc.dg/graphite/block-7.c: Same. - * gcc.dg/graphite/block-8.c: Same. - * gcc.dg/graphite/block-pr47654.c: Same. - * gcc.dg/graphite/interchange-0.c: Same. - * gcc.dg/graphite/interchange-1.c: Same. - * gcc.dg/graphite/interchange-10.c: Same. - * gcc.dg/graphite/interchange-11.c: Same. - * gcc.dg/graphite/interchange-12.c: Same. - * gcc.dg/graphite/interchange-13.c: Same. - * gcc.dg/graphite/interchange-14.c: Same. - * gcc.dg/graphite/interchange-15.c: Same. - * gcc.dg/graphite/interchange-3.c: Same. - * gcc.dg/graphite/interchange-4.c: Same. - * gcc.dg/graphite/interchange-5.c: Same. - * gcc.dg/graphite/interchange-6.c: Same. - * gcc.dg/graphite/interchange-7.c: Same. - * gcc.dg/graphite/interchange-8.c: Same. - * gcc.dg/graphite/interchange-9.c: Same. - * gcc.dg/graphite/interchange-mvt.c: Same. - * gcc.dg/graphite/pr35356-1.c: Same. - * gcc.dg/graphite/pr35356-3.c: Same. - * gcc.dg/graphite/pr37485.c: Same. - * gcc.dg/graphite/scop-1.c: Same. - * gcc.dg/graphite/scop-11.c: Same. - * gcc.dg/graphite/scop-5.c: Same. - * gcc.dg/graphite/uns-block-1.c: Same. - * gcc.dg/graphite/uns-interchange-9.c: Same. - * gfortran.dg/graphite/block-1.f90: Same. - * gfortran.dg/graphite/interchange-3.f90: Same. - * gfortran.dg/graphite/pr14741.f90: Same. - * gfortran.dg/graphite/block-2.f: Same. - -2015-09-28 Aditya Kumar - Sebastian Pop - - PR tree-optimization/67700 - * gcc.dg/graphite/run-id-pr67700.c: New. - -2015-09-28 Oleg Endo - - PR target/54236 - * gcc.target/sh/pr54236-1.c (test_09, test_10, test_11): New. - * gcc.target/sh/pr59533-1.c (test_23, test_24, test_25, test_26, - test_27): New. - * gcc.target/sh/pr54236-5.c: New. - * gcc.target/sh/pr54236-6.c: New. - -2015-09-28 Kyrylo Tkachov - - PR rtl-optimization/67456 - PR rtl-optimization/67464 - PR rtl-optimization/67465 - * gcc.dg/pr67465.c: New test. - -2015-09-28 Tom de Vries - - PR tree-optimization/62171 - * gcc.dg/vect/pr62171.c: New test. - -2015-09-27 David Edelsohn - - * g++.dg/debug/dwarf2/pr44641.C: Revert line number change. Remove - skip on AIX. XFAIL individual line tests. - -2015-09-27 Alexandre Oliva - - PR rtl-optimization/64164 - PR tree-optimization/67312 - * gcc.dg/pr67312.c: New. From Zdenek Sojka. - * gcc.target/i386/stackalign/return-4.c: Add -O. - -2015-09-27 David Edelsohn - - * g++.dg/debug/dwarf2/pr44641.C: Add one to expected line numbers. - -2015-09-26 Mikael Morin - - PR fortran/67721 - * gfortran.dg/alloc_comp_deep_copy_3.f03: New. - -2015-09-26 David Edelsohn - - * gcc.dg/pr64935-1.c: XFAIL on AIX. - * gcc.dg/pr64935-2.c: XFAIL on AIX. - * gcc.dg/debug/dwarf2/dwarf2-macro2.c: XFAIL Start new file on AIX. - * gcc.dg/debug/dwarf2/dwarf2-macro2.c: XFAIL At line number on AIX. - * gcc.dg/debug/dwarf2/global-used-types.c: XFAIL ascii on AIX. - * gcc.dg/debug/dwarf2/noreturn-function-keyword.c: XFAIL - DW_AT_noreturn on AIX. - * gcc.dg/debug/dwarf2/noreturn-function-attribute.c: XFAIL - DW_AT_noreturn on AIX. - * gcc.dg/debug/dwarf2/lang-c89.c: XFAIL DW_AT_language on AIX. - * gcc.dg/debug/dwarf2/stacked-qualified-types-3.c: XFAIL DW_TAG on AIX. - * g++.dg/debug/dwarf2/deleted-member-function.C: XFAIL - DW_AT_GNU_deleted on AIX. - * g++.dg/debug/dwarf2/noreturn-function.C: XFAIL DW_AT_noreturn on AIX. - * g++.dg/debug/dwarf2/template-params-6.C: XFAIL ascii on AIX. - * g++.dg/debug/dwarf2/dwarf4-nested.C: XFAIL ascii on AIX. - * g++.dg/debug/dwarf2/pubnames-2.C: Skip on AIX. - * g++.dg/debug/dwarf2/pr44641.C: Skip on AIX. - * g++.dg/debug/dwarf2/pr46527.C: XFAIL on AIX. - * g++.dg/debug/dwarf2/imported-decl-2.C: XFAIL ascii on AIX. - * g++.dg/debug/dwarf2/namespace-1.C: XFAIL ascii on AIX. - * g++.dg/debug/dwarf2/global-used-types-1.C: XFAIL ascii on AIX. - * g++.dg/debug/dwarf2/lambda1.C: XFAIL ascii on AIX. - * g++.dg/debug/dwarf2/pubnames-3.C: Skip on AIX. - * g++.dg/debug/dwarf2/pr61433.C: XFAIL on AIX. - * g++.dg/debug/dwarf2/nested-4.C: XFAIL on AIX. - * g++.dg/debug/dwarf2/template-func-params-6.C: XFAIL ascii on AIX. - * g++.dg/debug/dwarf2/lineno-simple1.C: XFAIL on AIX. - -2015-09-25 Steven G. Kargl - - PR fortran/67614 - * gfortran.dg/pr67614.f90: New test. - -2015-09-25 Steven G. Kargl - - PR fortran/67525 - * gfortran.dg/pr67525.f90: New test. - -2015-09-25 Mikael Morin - - PR fortran/55603 - * gfortran.dg/allocatable_function_9.f90: New. - -2015-09-25 Oleg Endo - - PR target/67675 - * gcc.target/sh/pr67675.c: New. - -2015-09-25 Richard Sandiford - - * gcc.target/aarch64/fpcr_fpsr_1.c: New file. - -2015-09-25 H.J. Lu - - * gcc.target/i386/pr66749.c (dg-options): Replace - -mtune=lakemount with -mtune=lakemont. - * gcc.target/i386/pr66821.c (dg-options): Likewise. - * gcc.target/i386/pr67329.c (dg-options): Likewise. - -2015-09-25 Marek Polacek - - * c-c++-common/ubsan/bounds-11.c: New test. - * c-c++-common/ubsan/bounds-12.c: New test. - -2015-09-25 Marek Polacek - - PR sanitizer/64906 - * c-c++-common/ubsan/pr64906.c: New test. - -2015-09-24 H.J. Lu - - * gcc.target/i386/pr66749.c (dg-options): Replace -mtune=iamcu - with -mtune=lakemount. - * gcc.target/i386/pr66821.c (dg-options): Likewise. - * gcc.target/i386/pr67329.c (dg-options): Likewise. - -2015-09-24 Manuel López-Ibáñez - - PR driver/67640 - * gcc.dg/Werror-13.c: New test. - -2015-09-24 Szabolcs Nagy - - * gcc.target/aarch64/target_attr_10.c (foo): Use dg-message for note. - -2015-09-24 Richard Biener - - PR lto/67699 - * g++.dg/pr67699.C: New testcase. - -2015-09-24 Richard Earnshaw - - PR libgcc/67624 - * gcc.target/arm/fp16-inf.c: New test. - -2015-09-24 Kirill Yukhin - - * gcc.target/i386/avx512vbmi-check.h (main): Fix register - name while checking for AVX-512VBMI presence. - -2015-09-24 Rainer Orth - - * lib/target-supports.exp (check_effective_target_pie): Check for - PIE support on Solaris 11.x and 12. - -2015-09-24 Richard Biener - - * g++.dg/tree-ssa/restrict3.C: New testcase. - -2015-09-24 Richard Biener - - PR tree-optimization/48885 - * gcc.dg/tree-ssa/restrict-6.c: New testcase. - -2015-09-24 Patrick Palka - - * c-c++-common/Wmisleading-indentation.c: Augment test. - -2015-09-23 Ville Voutilainen - - Fix small typos in the coding rule enforcement warnings. - * g++.dg/diagnostic/disable.C: Replace 'namepace' - with 'namespace'. - -2015-09-23 Richard Biener - - PR middle-end/67662 - * gcc.dg/ubsan/pr67662.c: New testcase. - -2015-09-23 Manuel López-Ibáñez - - PR c/49655 - * gcc.dg/pragma-diag-6.c: New test. - -2015-09-23 James Greenhalgh - - * gcc.target/aarch64/advsimd-intrinsics/vcvt_high_1.c: New. - -2015-09-23 Richard Biener - - * g++.dg/tree-ssa/restrict2.C: Un-XFAIL testcase. - -2015-09-22 Patrick Palka - - * c-c++-common/Wmisleading-indentation.c: Augment test. - -2015-09-22 Nathan Sidwell - - * g++.dg/diagostic/disable.C: New. - -2015-09-22 Tom de Vries - - PR tree-optimization/67671 - * g++.dg/pr67671.C: New test. - -2015-09-22 Alexander Fomin - - PR target/67480 - * gcc.target/i386/pr67480.c: New test. - -2015-09-22 Kirill Yukhin - - * gcc.target/i386/funcspec-5.c: Test avx512vl, avx512bw, - avx512dq, avx512cd, avx512er, avx512pf and skylake-avx512. - * gcc.target/i386/builtin_target.c: Test avx512vl, avx512bw, - avx512dq, avx512cd, avx512er and avx512pf. - -2015-09-22 Matthew Wahab - - * gcc.target/aarch64/atomic-inst-ldadd.c: Add tests for - update-fetch operations. - * gcc.target/aarch64/atomic-inst-ldlogic.c: Likewise. - -2015-09-22 Matthew Wahab - - * gcc.target/aarch64/atomic-inst-ldadd.c: New. - * gcc.target/aarch64/atomic-inst-ldlogic.c: New. - -2015-09-22 Matthew Wahab - - * gcc.target/aarch64/atomic-inst-ops.inc: (TEST_MODEL): New. - (TEST_ONE): New. - * gcc.target/aarch64/atomic-inst-swap.c: New. - -2015-09-22 Manuel López-Ibáñez - - * gcc.target/i386/inline_error.c (int bar): Use dg-message for note. - * gcc.target/i386/pr57756.c (static __inline int caller): Likewise. - * gcc.target/i386/pr59789.c (f1): Likewise. - * gcc.target/i386/intrinsics_5.c (__m128i foo): Likewise. - * gcc.target/i386/intrinsics_6.c: Likewise. - * gcc.dg/winline-5.c (int t): Likewise. - * gcc.dg/winline-9.c (t): Likewise. - * gcc.dg/always_inline2.c (q): Likewise. - * gcc.dg/winline-2.c (inline int t): Likewise. - * gcc.dg/winline-6.c: Likewise. - * gcc.dg/winline-10.c (void g): Likewise. - * gcc.dg/pr49243.c (void parse): Likewise. - * gcc.dg/always_inline3.c (q2): Likewise. - * gcc.dg/winline-3.c: Likewise. - * gcc.dg/winline-7.c (inline void *t): Likewise. - -2015-09-22 Tom de Vries - - PR tree-optimization/67666 - * g++.dg/pr67666.C: New test. - -2015-09-21 Steven G. Kargl - - PR fortran/67615 - * gfortran.dg/pr67615.f90: new test. - -2015-09-21 Jeff Law - - * gcc.target/h8300/andsi3_ashift_n_lower.c: New test. - -2015-09-21 Ville Voutilainen - - Complete the implementation of N4230, Nested namespace definition. - * g++.dg/cpp1y/feat-cxx11-neg.C: Add tests for C++17 namespace - attributes and nested namespace definitions. - * g++.dg/cpp1y/feat-cxx98-neg.C: Likewise. - * g++.dg/cpp1z/feat-cxx1z.C: Likewise. - * g++.dg/cpp1y/feat-cxx14-neg.C: New. - * g++.dg/cpp1z/namespace-attribs.C: Likewise. - * g++.dg/cpp1z/nested-namespace-def1.C: Add tests for attributes - appearing before the namespace identifier. - -2015-09-21 Manuel López-Ibáñez - - PR c/66415 - * gcc.dg/cpp/pr66415-1.c: Test column number. - -2015-09-21 Richard Biener - - * g++.dg/ext/attr-alias-3.C: Add -g. - -2015-09-21 Richard Biener - - PR debug/67664 - * g++.dg/debug/dwarf2/pr67764.C: New testcase. - -2015-09-21 Oleg Endo - - PR target/64345 - * gcc.target/sh/pr64345-1.c: Adjust expected insn counts for SH2A. - -2015-09-21 Manuel López-Ibáñez - - * gcc.dg/pragma-diag-5.c: Fix excess warning. - -2015-09-21 Manuel López-Ibáñez - - PR middle-end/60832 - * gcc.dg/pr53265.c: Update. - -2015-09-21 Eric Botcazou - - * gcc.target/arm/stack-checking.c: Skip for Thumb1. - -2015-09-21 Oleg Endo - - PR target/59478 - * gcc.target/sh/pr59478.c: New. - -2015-09-21 Oleg Endo - - PR target/67126 - * gcc.target/sh/pr51244-12.c: Adjust testcase. - * gcc.target/sh/pr54236-2.c: Likewise. - -2015-09-20 Oleg Endo - - * gcc.target/sh/pr43417.c: Move target independent test to ... - * gcc.c-torture/compile/pr43417.c: ... here. - -2015-09-20 Oleg Endo - - * gcc.target/sh/sh.exp (check_effective_target_sh4a, - check_effective_target_big_endian, check_effective_target_little_endian, - check_effective_target_any_fpu, check_effective_target_double_fpu, - check_effective_target_use_single_only_fpu, - check_effective_target_default_single_fpu, - check_effective_target_no_fpu, check_effective_target_has_xf_regs, - check_effective_target_has_fsca, check_effective_target_has_fsrra, - check_effective_target_has_fpchg, check_effective_target_has_dyn_shift, - check_effective_target_fmovd_enabled, - check_effective_target_has_privileged, check_effective_target_has_pref, - check_effective_target_banked_r0r7_isr, - check_effective_target_stack_save_isr): New effective target checks. - * gcc.target/sh/pr51244-16.c: Merge into pr51244-15.c. - * gcc.target/sh/pr51244-20-sh2a.c: Merge into pr51244-20.c. - * gcc.target/sh/pr51244-3.c: Merge into pr51244-2.c - * gcc.target/sh/pr54089-5.c: Merge into pr54089-4.c. - * gcc.target/sh/20080410-1.c: Use new effective target checks. - * gcc.target/sh/attr-isr-nosave_low_regs.c: Likewise. - * gcc.target/sh/attr-isr.c: Likewise. - * gcc.target/sh/fpul-usage-1.c: Likewise. - * gcc.target/sh/hiconst.c: Likewise. - * gcc.target/sh/mfmovd.c: Likewise. - * gcc.target/sh/pr21255-3.c: Likewise. - * gcc.target/sh/pr33135-1.c: Likewise. - * gcc.target/sh/pr33135-2.c: Likewise. - * gcc.target/sh/pr33135-3.c: Likewise. - * gcc.target/sh/pr33135-4.c: Likewise. - * gcc.target/sh/pr39423-2.c: Likewise. - * gcc.target/sh/pr49880-4.c: Likewise. - * gcc.target/sh/pr49880-5.c: Likewise. - * gcc.target/sh/pr50749-sf-postinc-1.c: Likewise. - * gcc.target/sh/pr50749-sf-postinc-2.c: Likewise. - * gcc.target/sh/pr50749-sf-postinc-3.c: Likewise. - * gcc.target/sh/pr50749-sf-postinc-4.c: Likewise. - * gcc.target/sh/pr50749-sf-predec-1.c: Likewise. - * gcc.target/sh/pr50749-sf-predec-2.c: Likewise. - * gcc.target/sh/pr50749-sf-predec-3.c: Likewise. - * gcc.target/sh/pr50749-sf-predec-4.c: Likewise. - * gcc.target/sh/pr50751-2.c: Likewise. - * gcc.target/sh/pr50751-3.c: Likewise. - * gcc.target/sh/pr50751-5.c: Likewise. - * gcc.target/sh/pr50751-6.c: Likewise. - * gcc.target/sh/pr50751-8.c: Likewise. - * gcc.target/sh/pr51244-15.c: Likewise. - * gcc.target/sh/pr51244-2.c: Likewise. - * gcc.target/sh/pr51244-20.c: Likewise. - * gcc.target/sh/pr51244-6.c: Likewise. - * gcc.target/sh/pr52483-4.c: Likewise. - * gcc.target/sh/pr53511-1.c: Likewise. - * gcc.target/sh/pr53512-1.c: Likewise. - * gcc.target/sh/pr53512-2.c: Likewise. - * gcc.target/sh/pr53512-3.c: Likewise. - * gcc.target/sh/pr53512-4.c: Likewise. - * gcc.target/sh/pr53513-1.c: Likewise. - * gcc.target/sh/pr54089-2.c: Likewise. - * gcc.target/sh/pr54089-3.c: Likewise. - * gcc.target/sh/pr54089-4.c: Likewise. - * gcc.target/sh/pr54602-2.c: Likewise. - * gcc.target/sh/pr54602-3.c: Likewise. - * gcc.target/sh/pr54602-4.c: Likewise. - * gcc.target/sh/pr54680.c: Likewise. - * gcc.target/sh/pr55303-1.c: Likewise. - * gcc.target/sh/pr55303-2.c: Likewise. - * gcc.target/sh/pr55303-3.c: Likewise. - * gcc.target/sh/pr56547-1.c: Likewise. - * gcc.target/sh/pr56547-2.c: Likewise. - * gcc.target/sh/pr61195.c: Likewise. - * gcc.target/sh/pr61996.c: Likewise. - * gcc.target/sh/pr6526.c: Likewise. - * gcc.target/sh/pragma-isr-nosave_low_regs.c: Likewise. - * gcc.target/sh/pragma-isr-trapa2.c: Likewise. - * gcc.target/sh/prefetch.c: Likewise. - * gcc.target/sh/rte-delay-slot.c: Likewise. - * gcc.target/sh/sh2a-band.c: Likewise. - * gcc.target/sh/sh2a-bclr.c: Likewise. - * gcc.target/sh/sh2a-bclrmem.c: Likewise. - * gcc.target/sh/sh2a-bld.c: Likewise. - * gcc.target/sh/sh2a-bor.c: Likewise. - * gcc.target/sh/sh2a-bset.c: Likewise. - * gcc.target/sh/sh2a-bsetmem.c: Likewise. - * gcc.target/sh/sh2a-bxor.c: Likewise. - * gcc.target/sh/sh2a-jsrn.c: Likewise. - * gcc.target/sh/sh2a-movi20s.c: Likewise. - * gcc.target/sh/sh2a-movrt.c: Likewise. - * gcc.target/sh/sh2a-resbank.c: Likewise. - * gcc.target/sh/sh2a-rtsn.c: Likewise. - * gcc.target/sh/sh2a-tbr-jump.c: Likewise. - * gcc.target/sh/sh4a-bitmovua.c: Likewise. - * gcc.target/sh/sh4a-cosf.c: Likewise. - * gcc.target/sh/sh4a-fsrra.c: Likewise. - * gcc.target/sh/sh4a-memmovua.c: Likewise. - * gcc.target/sh/sh4a-sincosf.c: Likewise. - * gcc.target/sh/sh4a-sinf.c: Likewise. - -2015-09-20 Jeff Law - - PR tree-optimization/47679 - * g++.dg/warn/Wuninitialized-6.C: New test. - -2015-09-18 Ville Voutilainen - - Implement nested namespace definitions. - * g++.dg/cpp1z/nested-namespace-def1.C: New. - * g++.dg/cpp1z/nested-namespace-def2.C: Likewise. - * g++.dg/cpp1z/nested-namespace-def3.C: Likewise. - * g++.dg/lookup/name-clash5.C: Adjust. - * g++.dg/lookup/name-clash6.C: Likewise. - -2015-09-18 Manuel López-Ibáñez - - * gcc.dg/pragma-diag-5.c: New test. - -2015-09-18 Uros Bizjak - - PR middle-end/67619 - * gcc.dg/torture/pr67619.c: New test. - * lib/target-supports.exp (check_effective_target_builtin_eh_return): - New procedure. - -2015-09-18 Alan Lawrence - - PR tree-optimization/67283 - * gcc.dg/tree-ssa/sra-15.c: New. - * gcc.dg/tree-ssa/sra-16.c: New. - -2015-09-17 Bernd Edlinger - - PR sanitizer/64078 - * c-c++-common/ubsan/object-size-9.c (s): Add alignment attribute. - (f2, f3): Make the function static. - * c-c++-common/ubsan/object-size-10.c (a, b): Add alignment attribute. - -2015-09-17 Christian Bruel - - * gcc.target/arm/attr_thumb-static2.c: New test. - -2015-09-17 Eric Botcazou - - * gnat.dg/overflow_sum3.adb: New test. - -2015-09-17 Eric Botcazou - - * gcc.target/arm/stack-checking.c: New test. - -2015-09-17 Paul Thomas - - PR fortran/52846 - * gfortran.dg/public_private_module_5.f90: Add module procedure - trigger_smod to ensure that the smod file is written. - -2015-09-17 James Greenhalgh - - * gcc.target/aarch64/copysign_1.c: New. - * gcc.target/aarch64/copysign_2.c: New. - -2015-09-17 Bin Cheng - - * gcc.dg/tree-ssa/loop-bound-2.c: New test. - * gcc.dg/tree-ssa/loop-bound-4.c: New test. - * gcc.dg/tree-ssa/loop-bound-6.c: New test. - -2015-09-16 John Marino - - * gfortran.dg/read_dir.f90: XFAIL this testcase on DragonFly. - -2015-09-16 Richard Biener - - PR middle-end/67253 - * gcc.dg/torture/pr67253.c: New testcase. - -2015-09-16 Richard Biener - - PR middle-end/67271 - * gcc.dg/pr67271.c: New testcase. - -2015-09-16 Eric Botcazou - - * gnat.dg/opt49.adb: New test. - -2015-09-16 Richard Biener - - PR middle-end/67442 - * gcc.dg/torture/pr67442.c: New testcase. - -2015-09-15 Eric Botcazou - - * gnat.dg/array24.adb: New test. - * gnat.dg/blocklocs.adb: Delete. - -2015-09-15 Marek Polacek - - PR c/67580 - * gcc.dg/pr67580.c: New test. - -2015-09-15 Richard Biener - - PR tree-optimization/67470 - * gcc.dg/torture/pr67470.c: New testcase. - -2015-09-15 Alan Lawrence - - * gcc.target/aarch64/vect_int32x2x4_1.c: New. - -2015-09-15 Richard Biener - - PR middle-end/67563 - * gcc.dg/pr67563.c: New testcase. - -2015-09-14 Manuel López-Ibáñez - - PR fortran/67460 - * gfortran.dg/pr67460.f90: New test. - -2015-09-14 Uros Bizjak - - * gcc.dg/gomp/dump-new-function-3.c (dg-final): Also scan for $loopfn. - * gcc.dg/gomp/notify-new-function-3.c (dg-final): Ditto. - -2015-09-14 Paolo Carlini - - PR c++/51911 - * g++.dg/cpp0x/new-auto1.C: New. - -2015-09-11 Mark Wielaard - - PR c/28901 - * g++.dg/warn/unused-variable-1.C: New test. - * g++.dg/warn/unused-variable-2.C: Likewise. - * gcc.dg/unused-4.c: Adjust warning for static const. - * gcc.dg/unused-variable-1.c: New test. - * gcc.dg/unused-variable-2.c: Likewise. - -2015-09-13 David Edelsohn - - * gfortran.dg/private_type_3.f90: Require visibility. - * gfortran.dg/module_variable_2.f90: Same. - * gfortran.dg/nested_forall_1.f: Same. - * gfortran.dg/elemental_dependency_4.f90: Same. - * gfortran.dg/bind_c_usage_25.f90: Same. - * gfortran.dg/access_spec_1.f90: Same. - * gfortran.dg/public_private_module_2.f90: Same. - * gfortran.dg/host_assoc_variable_1.f90: Same. - * gfortran.dg/public_private_module_6.f90: Same. - * gfortran.dg/module_variable_1.f90: Same. - * gfortran.dg/pr37286.f90: Same. - * gfortran.dg/internal_pack_7.f90: Same. - * gfortran.dg/submodule_10.f08: Same. - * gfortran.dg/allocatable_function_8.f90: Same. - * gfortran.dg/merge_init_expr_2.f90: Same. - * gfortran.dg/class_37.f03: Same. - * gfortran.dg/vect/fast-math-vect-8.f90: Same. - * gfortran.dg/typebound_call_20.f03: Same. - * gfortran.dg/proc_ptr_result_3.f90: Same. - * gfortran.dg/pr32535.f90: Same. - * gfortran.dg/typebound_proc_19.f90: Same. - * gfortran.dg/initialization_10.f90: Same. - * gfortran.dg/bind_c_usage_8.f03: Same. - * gfortran.dg/pr61335.f90: Same. - * gfortran.dg/elemental_dependency_5.f90: Same. - * gfortran.dg/proc_ptr_3.f90: Same. - * gfortran.dg/debug/pr46756.f: XFAIL on AIX. - -2015-09-13 Eric Botcazou - - * gcc.dg/torture/type-generic-1.c: Pass -DUNSAFE for Visium. - * gcc.dg/Wno-frame-address.c: Skip for Visium. - * gcc.dg/loop-8.c: Likewise. - -2015-09-12 Eric Botcazou - - PR ada/66965 - * gnat.dg/specs/addr1.ads: Remove. - -2015-09-11 Rainer Orth - - * gcc.dg/pie-link.c: Add -pie to dg-options. - -2015-09-11 Alex Velenko - - * gcc.target/arm/pr63210.c (dg-skip-if): Skip armv4t. - (dg-additional-options): Add -march=armv5t if arm_arch_v5t_ok. - -2015-09-10 Bill Schmidt - - * gcc.target/powerpc/swaps-p8-20.c: New test. - * gcc.target/powerpc/swaps-p8-21.c: New test. - -2015-09-10 Steven G. Kargl - - PR fortran/67526 - * gfortran.dg/pr67526.f90: New test. - -2015-09-10 Paolo Carlini - - PR c++/67318 - * g++.dg/cpp0x/variadic166.C: New. - -2015-09-09 Mark Wielaard - - * c-c++-common/nonnull-1.c: New test. - -2015-09-10 Paul Thomas - - PR fortran/66993 - * gfortran.dg/submodule_11.f08: New test. - -2015-09-10 Oleg Endo - - PR target/67506 - * gcc.c-torture/compile/pr67506.c: New test. - -2015-09-10 Andreas Krebbel - - * gcc.target/s390/vector/vec-genbytemask-1.c: Add check for V1TI - initialization with a byte mask. No change expected here. - * gcc.target/s390/vector/vec-genmask-1.c: Fix whitespace. - * gcc.target/s390/vector/vec-genmask-2.c: Add check for V1TI - initialization with contigious bitmask. Literal pool is expectd - to be used here. - -2015-09-10 Kyrylo Tkachov - - PR target/67439 - * gcc.target/arm/pr67439_1.c: New test. - -2015-09-10 Jiong Wang - - * gcc.target/aarch64/pic-small.c (dg-skip-if): Skip tiny and large code - model. - -2015-09-10 Jakub Jelinek - - PR c++/67523 - * g++.dg/gomp/pr67523.C: New test. - - PR c++/67522 - * g++.dg/gomp/pr67522.C: New test. - - PR middle-end/67521 - * c-c++-common/gomp/pr67521.c: New test. - - PR middle-end/67517 - * c-c++-common/gomp/pr67517.c: New test. - - PR c++/67514 - * g++.dg/gomp/pr67514.C: New test. - - PR c++/67511 - * g++.dg/gomp/pr67511.C: New test. - - PR c/67502 - * c-c++-common/gomp/pr67502.c: New test. - -2015-09-09 Marek Polacek - - PR middle-end/67512 - * gcc.dg/pr67512.c: New test. - -2015-09-09 Paolo Carlini - - PR c++/53184 - * g++.dg/warn/Wsubobject-linkage-1.C: New. - * g++.dg/warn/Wsubobject-linkage-2.C: Likewise. - * g++.dg/warn/Wsubobject-linkage-3.C: Likewise. - * g++.dg/warn/Wsubobject-linkage-4.C: Likewise. - -2015-09-09 Kyrylo Tkachov - - * gcc.target/aarch64/mod_2.x: New file. - * gcc.target/aarch64/mod_256.x: Likewise. - * gcc.target/arm/mod_2.c: New test. - * gcc.target/arm/mod_256.c: Likewise. - * gcc.target/aarch64/mod_2.c: Likewise. - * gcc.target/aarch64/mod_256.c: Likewise. - -2015-09-09 Jakub Jelinek - - PR c++/67504 - * g++.dg/gomp/pr67504.C: New test. - - PR c/67501 - * c-c++-common/gomp/pr67501.c: New test. - - PR c/67500 - * gcc.dg/gomp/pr67500.c: New test. - - PR c/67495 - * gcc.dg/gomp/pr67495.c: New test. - -2015-09-09 Aditya Kumar - Sebastian Pop - - PR tree-optimization/53852 - * gcc.dg/graphite/uns-interchange-12.c: Adjust pattern to pass with - both isl-0.12 and isl-0.15. - * gcc.dg/graphite/uns-interchange-14.c: Same. - * gcc.dg/graphite/uns-interchange-15.c: Same. - * gcc.dg/graphite/uns-interchange-mvt.c: Same. - -2015-09-08 Aditya Kumar - Sebastian Pop - - * gcc.dg/graphite/block-0.c: Modifed test case to match current output. - * gcc.dg/graphite/block-1.c: Same. - * gcc.dg/graphite/block-5.c: Same. - * gcc.dg/graphite/block-6.c: Same. - * gcc.dg/graphite/interchange-1.c: Same. - * gcc.dg/graphite/interchange-10.c: Same. - * gcc.dg/graphite/interchange-11.c: Same. - * gcc.dg/graphite/interchange-13.c: Same. - * gcc.dg/graphite/interchange-14.c: Same. - * gcc.dg/graphite/interchange-3.c: Same. - * gcc.dg/graphite/interchange-4.c: Same. - * gcc.dg/graphite/interchange-7.c: Same. - * gcc.dg/graphite/interchange-8.c: Same. - * gcc.dg/graphite/interchange-9.c: Same. - * gcc.dg/graphite/isl-codegen-loop-dumping.c: Same. - * gcc.dg/graphite/pr35356-1.c (foo): Same. - * gcc.dg/graphite/pr37485.c: Same. - * gcc.dg/graphite/scop-0.c (int toto): Same. - * gcc.dg/graphite/scop-1.c: Same. - * gcc.dg/graphite/scop-10.c: Same. - * gcc.dg/graphite/scop-11.c: Same. - * gcc.dg/graphite/scop-12.c: Same. - * gcc.dg/graphite/scop-13.c: Same. - * gcc.dg/graphite/scop-16.c: Same. - * gcc.dg/graphite/scop-17.c: Same. - * gcc.dg/graphite/scop-18.c: Same. - * gcc.dg/graphite/scop-2.c: Same. - * gcc.dg/graphite/scop-21.c (int test): Same. - * gcc.dg/graphite/scop-22.c (void foo): Same. - * gcc.dg/graphite/scop-4.c: Same. - * gcc.dg/graphite/scop-5.c: Same. - * gcc.dg/graphite/scop-6.c: Same. - * gcc.dg/graphite/scop-7.c: Same. - * gcc.dg/graphite/scop-8.c: Same. - * gcc.dg/graphite/scop-9.c: Same. - * gcc.dg/graphite/scop-mvt.c (void mvt): Introduced dependency so that - data-refs remain inside the inner loop. - * gcc.dg/graphite/uns-block-1.c: Modifed test case to match o/p. - * gcc.dg/graphite/uns-interchange-14.c: Same. - * gcc.dg/graphite/uns-interchange-9.c: Same. - * gfortran.dg/graphite/interchange-3.f90 - -2015-09-08 Alan Lawrence - - PR target/63870 - * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f16_indices_1.c: New. - * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f16_indices_1.c: New. - * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f16_indices_1.c: New. - * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f16_indices_1.c: New. - * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f16_indices_1.c: New. - * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f16_indices_1.c: New. - * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f16_indices_1.c: New. - * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f16_indices_1.c: New. - * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f16_indices_1.c: New. - * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f16_indices_1.c: New. - * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f16_indices_1.c: New. - * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f16_indices_1.c: New. - -2015-09-08 Alan Lawrence - - * gcc.target/aarch64/advsimd-intrinsics/vcvt_f16.c: New. - * lib/target-supports.exp - (check_effective_target_arm_neon_fp16_hw): New. - -2015-09-08 Alan Lawrence - - * gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp: - Set additional_flags for neon-fp16 if supported, else fallback to neon. - - * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h - (hfloat16_t): New. - (result, expected, clean_results, DECL_VARIABLE_64BITS_VARIANTS, - DECL_VARIABLE_128BITS_VARIANTS): Add float16x4_t and float16x8_t cases - if supported. - (CHECK_RESULTS): Redefine using CHECK_RESULTS_NAMED. - (CHECK_RESULTS_NAMED): Move body to CHECK_RESULTS_NAMED_NO_FP16; - redefine in terms of CHECK_RESULTS_NAMED_NO_FP16 with float16 variants - when those are supported. - (CHECK_RESULTS_NAMED_NO_FP16, CHECK_RESULTS_NO_FP16): New. - (vdup_n_f16): New. - - * gcc.target/aarch64/advsimd-intrinsics/compute-ref-data.h (buffer, - buffer_pad, buffer_dup, buffer_dup_pad): Add float16x4 and float16x8_t - cases if supported. - - * gcc.target/aarch64/advsimd-intrinsics/vbsl.c (exec_vbsl): - Use CHECK_RESULTS_NO_FP16 in place of CHECK_RESULTS. - * gcc.target/aarch64/advsimd-intrinsics/vdup-vmov.c (exec_vdup_vmov): - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vdup_lane.c (exec_vdup_lane): - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vext.c (exec_vext): Likewise. - - * gcc.target/aarch64/advsimd-intrinsics/vcombine.c (expected): - Add float16x8_t case. - (main, exec_vcombine): test float16x4_t -> float16x8_t, if supported. - * gcc.target/aarch64/advsimd-intrinsics/vcreate.c (expected, - main, exec_vcreate): Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vget_high (expected, - exec_vget_high): Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vget_low.c (expected, - exec_vget_low): Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vld1.c (expected, exec_vld1): - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vld1_dup.c (expected, - exec_vld1_dup): Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vld1_lane.c (expected, - exec_vld1_lane): Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vldX.c (expected, exec_vldX): - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vldX_dup.c (expected, - exec_vldX_dup): Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vldX_lane.c (expected, - exec_vldX_lane): Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vset_lane.c (expected, - exec_vset_lane): Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vst1_lane.c (expected, - exec_vst1_lane): Likewise. - -2015-09-08 Alan Lawrence - - * gcc.target/aarch64/vget_high_1.c: Add float16x8->float16x4 case. - * gcc.target/aarch64/vget_low_1.c: Likewise. - -2015-09-08 Alan Lawrence - - * gcc.target/aarch64/vldN_1.c: Add float16x4_t and float16x8_t cases. - * gcc.target/aarch64/vldN_dup_1.c: Likewise. - * gcc.target/aarch64/vldN_lane_1.c: Likewise. - (main): update orig_data to avoid float16 NaN on bigendian. - -2015-09-08 Alan Lawrence - - * g++.dg/abi/mangle-neon-aarch64.C: Add cases for float16x4_t and - float16x8_t. - * gcc.target/aarch64/vset_lane_1.c: Likewise. - * gcc.target/aarch64/vld1-vst1_1.c: Likewise. - * gcc.target/aarch64/vld1_lane.c: Likewise. - -2015-09-08 Paolo Carlini - - PR c++/67369 - * g++.dg/cpp1y/lambda-generic-ice4.C: New. - -2015-09-07 Marek Polacek - - PR inline-asm/67448 - * gcc.dg/asm-10.c: New test. - -2015-09-04 Jakub Jelinek - - PR middle-end/67452 - * gcc.dg/lto/pr67452_0.c: New test. - -2015-09-02 Senthil Kumar Selvaraj - - PR target/65210 - * gcc.target/avr/pr65210.c: New test. - -2015-09-04 H.J. Lu - - PR testsuite/67450 - * lib/target-supports.exp (check_cached_effective_target): - Apppend $prop to et_prop_list only if needed. - -2015-09-04 Marek Polacek - - PR sanitizer/67279 - * gcc.dg/ubsan/pr67279.c: New test. - -2015-09-04 Andrey Turetskiy - Petr Murzin - Kirill Yukhin - - * gcc.target/i386/avx512f-scatter-1.c: New. - * gcc.target/i386/avx512f-scatter-2.c: Ditto. - * gcc.target/i386/avx512f-scatter-3.c: Ditto. - -2015-09-04 Janne Blomqvist - - * gfortran.dg/read_dir.f90: Delete empty directory when closing - rather than calling rmdir, cleanup if open fails. - -2015-09-03 Bill Schmidt - - * gcc.target/powerpc/vec-mult-char-1.c: New test. - * gcc.target/powerpc/vec-mult-char-2.c: New test. - * lib/target-supports.exp (check_effective_target_vect_char_mult): - Return true for PowerPC targets that implement Altivec. - -2015-09-03 Renlin Li - - * gcc.target/aarch64/arm_align_max_pwr.c: Make it a compile test case, - check the assembly. - * gcc.target/aarch64/arm_align_max_stack_pwr.c: Likewise. - -2015-09-03 Bill Schmidt - - * gcc.target/powerpc/vec-shift.c: New test. - -2015-09-03 Tom de Vries - - PR tree-optimization/65637 - * gcc.dg/autopar/reduc-4.c: New test. - -2015-09-03 Tom de Vries - - PR tree-optimization/65637 - * gcc.dg/autopar/pr46099-2.c: New test. - -2015-09-03 Naveen H.S - - PR middle-end/67351 - * g++.dg/pr67351.C: New test. - -2015-09-03 Richard Biener - - PR ipa/66705 - * g++.dg/lto/pr66705_0.C: New testcase. - -2015-09-02 Balaji V. Iyer - - PR middle-end/60586 - * c-c++-common/cilk-plus/CK/pr60586.c: New file. - * g++.dg/cilk-plus/CK/pr60586.cc: Likewise. - -2015-09-02 Marek Polacek - - PR c/67432 - * gcc.dg/pr67432.c: New test. - -2015-09-02 Christophe Lyon - - * lib/target-supports.exp (clear_effective_target_cache): New. - (check_cached_effective_target): Update et_prop_list. - * lib/asan-dg.exp (asan_finish): Call clear_effective_target_cache. - * g++.dg/compat/compat.exp: Likewise. - * g++.dg/compat/struct-layout-1.exp: Likewise. - * lib/asan-dg.exp: Likewise. - * lib/atomic-dg.exp: Likewise. - * lib/cilk-plus-dg.exp: Likewise. - * lib/clearcap.exp: Likewise. - * lib/mpx-dg.exp: Likewise. - * lib/tsan-dg.exp: Likewise. - * lib/ubsan-dg.exp: Likewise. - -2015-09-01 Kenneth Zadeck - - * gcc.c-torture/execute/ieee/20000320-1.c Fixed misplaced test case. - -2015-09-01 Matthew Fortune - Andrew Bennett - - * gcc.target/mips/mips.exp (mips-dg-options): Handle the - dependencies between ISA level and compact-branches. - * gcc.target/mips/branch-10.c: Update expected output to allow - compact forms of b/bal. - * gcc.target/mips/branch-11.c: Likewise. - * gcc.target/mips/branch-12.c: Likewise. - * gcc.target/mips/branch-13.c: Likewise. - * gcc.target/mips/branch-3.c: Likewise. - * gcc.target/mips/branch-4.c: Likewise. - * gcc.target/mips/branch-5.c: Likewise. - * gcc.target/mips/branch-6.c: Likewise. - * gcc.target/mips/branch-7.c: Likewise. - * gcc.target/mips/branch-8.c: Likewise. - * gcc.target/mips/branch-9.c: Likewise. - * gcc.target/mips/branch-cost-1.c: Likewise. - * gcc.target/mips/call-1.c: Likewise. - * gcc.target/mips/call-2.c: Likewise. - * gcc.target/mips/call-3.c: Likewise. - * gcc.target/mips/call-4.c: Likewise. - * gcc.target/mips/call-5.c: Likewise. - * gcc.target/mips/call-6.c: Likewise. - * gcc.target/mips/lazy-binding-1.c: Likewise. - * gcc.target/mips/near-far-1.c: Likewise. - * gcc.target/mips/near-far-2.c: Likewise. - * gcc.target/mips/near-far-3.c: Likewise. - * gcc.target/mips/near-far-4.c: Likewise. - * gcc.target/mips/umips-branch-3.c: Ensure the test is - run with compact branches allowed. - * gcc.target/mips/compact-branches-1.c: New file. - * gcc.target/mips/compact-branches-2.c: Likewise. - * gcc.target/mips/compact-branches-3.c: Likewise. - * gcc.target/mips/compact-branches-4.c: Likewise. - * gcc.target/mips/compact-branches-5.c: Likewise. - * gcc.target/mips/compact-branches-6.c: Likewise. - * gcc.target/mips/compact-branches-7.c: Likewise. - -2015-09-01 Steven G. Kargl - - * gfortran.dg/read_dir.f90: XFAIL this testcase on FreeBSD. - Clean-up a created directory if testcase fails. - -2015-09-01 Ilya Enkovich - - PR target/67405 - * g++.dg/pr67405.C: New test. - -2015-09-01 Rainer Orth - - * gcc.dg/vect/no-scevccp-outer-11.c: Don't xfail scan-tree-dump-times. - -2015-09-01 Kyrylo Tkachov - - * gcc.dg/ifcvt-1.c: New test. - * gcc.dg/ifcvt-2.c: Likewise. - * gcc.dg/ifcvt-3.c: Likewise. - -2015-09-01 Rainer Orth - - PR libfortran/67412 - * gfortran.dg/execute_command_line_2.f90: XFAIL execution on - *-*-solaris2.10. - -2015-09-01 Kyrylo Tkachov - - * gcc.target/aarch64/target_attr_crypto_ice_2.c: New test. - -2015-09-01 Paolo Carlini - - PR c++/61753 - * g++.dg/other/pr61753.C: New. - -2015-08-31 Marc Glisse - - * gcc.dg/tree-ssa/cmp-1.c: New file. - -2015-08-31 Marc Glisse - - * gcc.dg/tree-ssa/complex-7.c: New file. - -2015-08-30 Bill Schmidt - - * gcc.target/powerpc/swaps-p8-19.c: New test. - -2015-08-29 Jerry DeLisle - - PR fortran/67367 - * gfortran.dg/read_dir.f90: New test. May fail on some platforms. - -2015-08-29 Tom de Vries - - PR tree-optimization/46193 - * gcc.dg/autopar/pr46193.c: New test. - -2015-08-28 Nathan Sidwell - - * gcc.dg/compat/struct-layout-1_generate.c: Simply - use exit code for failure. - - * gcc.dg/torture/matrix-1.c: Use plain printf. - * gcc.dg/torture/matrix-2.c: Likewise. - * gcc.dg/torture/matrix-5.c: Likewise. - * gcc.dg/torture/matrix-6.c: Likewise. - * gcc.dg/torture/transpose-1.c: Likewise. - * gcc.dg/torture/transpose-2.c: Likewise. - * gcc.dg/torture/transpose-3.c: Likewise. - * gcc.dg/torture/transpose-4.c: Likewise. - * gcc.dg/torture/transpose-5.c: Likewise. - * gcc.dg/torture/transpose-6.c: Likewise. - -2015-08-28 Jeff Law - - PR lto/66752 - * gcc.dg/tree-ssa/pr66752-2.c: New test. - * gcc.dg/torture/pr66752-1.c: New test - * g++.dg/torture/pr66752-2.C: New test. - -2015-08-28 Alan Lawrence - Revert: - 2015-08-27 Alan Lawrence - - * gcc.dg/tree-ssa/sra-15.c: New. - -2015-08-28 Andrew Bennett - - * gcc.target/mips/madd-8.c: Add lo register to clobber list. - * gcc.target/mips/msub-8.c: Ditto - -2015-08-27 Bill Schmidt - - * lib/target-supports.exp (check-effective_target_vect_double): - Enable for Power targets with VSX hardware available. - * gfortran.dg/vect/O3-pr49957.f: Replace vect_no_align with - vect_no_align && { ! vect_hw_misalign }. - -2015-08-27 Sebastian Pop - - * gcc.dg/graphite/graphite.exp (interchange_files, block_files): - Replaced by opt_files, compile with -floop-nest-optimize. - * g++.dg/graphite/graphite.exp: Same. - * gfortran.dg/graphite/graphite.exp: Same. - * gcc.dg/graphite/block-0.c: Adjust pattern. - * gcc.dg/graphite/block-1.c: Same. - * gcc.dg/graphite/block-3.c: Same. - * gcc.dg/graphite/block-4.c: Same. - * gcc.dg/graphite/block-5.c: Same. - * gcc.dg/graphite/block-6.c: Same. - * gcc.dg/graphite/block-7.c: Same. - * gcc.dg/graphite/block-8.c: Same. - * gcc.dg/graphite/block-pr47654.c: Same. - * gcc.dg/graphite/interchange-0.c: Same. - * gcc.dg/graphite/interchange-1.c: Same. - * gcc.dg/graphite/interchange-10.c: Same. - * gcc.dg/graphite/interchange-11.c: Same. - * gcc.dg/graphite/interchange-12.c: Same. - * gcc.dg/graphite/interchange-13.c: Same. - * gcc.dg/graphite/interchange-14.c: Same. - * gcc.dg/graphite/interchange-15.c: Same. - * gcc.dg/graphite/interchange-3.c: Same. - * gcc.dg/graphite/interchange-4.c: Same. - * gcc.dg/graphite/interchange-5.c: Same. - * gcc.dg/graphite/interchange-6.c: Same. - * gcc.dg/graphite/interchange-7.c: Same. - * gcc.dg/graphite/interchange-8.c: Same. - * gcc.dg/graphite/interchange-9.c: Same. - * gcc.dg/graphite/interchange-mvt.c: Same. - * gcc.dg/graphite/pr37485.c: Same. - * gcc.dg/graphite/uns-block-1.c: Same. - * gcc.dg/graphite/uns-interchange-12.c: Same. - * gcc.dg/graphite/uns-interchange-14.c: Same. - * gcc.dg/graphite/uns-interchange-15.c: Same. - * gcc.dg/graphite/uns-interchange-9.c: Same. - * gcc.dg/graphite/uns-interchange-mvt.c: Same. - * gfortran.dg/graphite/interchange-3.f90: Same. - -2015-08-27 Uros Bizjak - - PR target/67317 - * gcc.target/i386/pr67317-1.c: New test. - * gcc.target/i386/pr67317-2.c: Ditto. - * gcc.target/i386/pr67317-3.c: Ditto. - * gcc.target/i386/pr67317-4.c: Ditto. - * gcc.target/i386/adx-addcarryx32-1.c: Also scan for adcl. - * gcc.target/i386/adx-addcarryx32-2.c: Also scan for adcq. - -2015-08-27 Pat Haugen - - * gcc.target/powerpc/vec-shr.c: New. - -2015-08-27 Marek Polacek - - PR middle-end/67005 - * gcc.dg/torture/pr67005.c: New test. - -2015-08-27 Alan Lawrence - - * gcc.dg/tree-ssa/sra-15.c: New. - -2015-08-27 Andre Vieira - - * gcc.target/aarch64/long_branch_1.c: New test. - -2015-08-27 Dominik Vogt - - * gcc.target/s390/20150826-1.c: New test. - -2015-08-26 Renlin Li - - * gcc.target/aarch64/combine_bfi_1.c: New testcase. - -2015-08-26 Jiong Wang - - * gcc.target/aarch64/tlsie_tiny_1.c: New testcase. - -2015-08-26 Jiong Wang - - * gcc.target/aarch64/tlsle_1.x: Rename to tls_1.x - * gcc.target/aarch64/aarch64/tlsle12_1.c: Update source file name. - * gcc.target/aarch64/aarch64/tlsle24_1.c: Likewise. - * gcc.target/aarch64/aarch64/tlsle32_1.c: Likewise. - -2015-08-26 Jiong Wang - - * lib/target-supports.exp (check_effective_target_aarch64_tlsle32): - New test directive. - * gcc.target/aarch64/tlsle_1.x: New test source. - * gcc.target/aarch64/tlsle12_1.c: New testcase. - * gcc.target/aarch64/tlsle24_1.c: Likewise. - * gcc.target/aarch64/tlsle32_1.c: Likewise. - -2015-08-26 Francois-Xavier Coudert - - PR fortran/29600 - * gfortran.dg/shape_8.f90: New test. - -2015-08-25 Marek Polacek - - PR middle-end/67330 - * gcc.dg/weak/weak-18.c: New test. - -2015-08-25 David Malcolm - - * jit.dg/test-error-pr63969-missing-driver.c: Add call to - gcc_jit_context_set_bool_use_external_driver. - -2015-08-25 Nathan Sidwell - - * gcc.c-torture/execute/builtins/20010124-1.x: New. - - * gcc.dg/20001117-1.c: Needs return_address. - * gcc.dg/20020415-1.c: Needs alloca. - * gcc.dg/graphite/id-pr44676.c: Needs profiling. - * gcc.dg/graphite/pr60979.c: Needs nonlocal_goto - * gcc.dg/pr63186.c: Needs label_values. - * gcc.dg/torture/pr33848.c: Likwise. - - * lib/target-supports.exp (check_effective_target_fopenacc, - check_effective_target_fopenmp): Disable for nvptx. - * gcc.dg/graphite/run-id-pr47653.c: Disable for nvptx. - * gcc.dg/stack-usage-1.c: Likewise. - * gcc.dg/stack-usage-2.c: Likewise. - * gcc.dg/unused-5.c: Likewise. - * gcc.dg/unwind-1.c: Likewise. - -2015-08-25 Christian Bruel - - * gcc.dg/Wno-frame-address.c: Skip for ARM. - * g++.dg/Wno-frame-address.C: Ditto. - -2015-08-24 Michael Meissner - - PR target/67211 - * g++.dg/pr67211.C: New test. - -2015-08-24 Louis Krupp - - PR fortran/62536 - PR fortran/66175 - * gfortran.dg/block_end_error_1.f90: New test. - * gfortran.dg/blocks_nested_incomplete_1.f90: New test. - -2015-08-24 H.J. Lu - - PR target/66821 - * gcc.target/i386/pr66821.c: New test. - -2015-08-24 H.J. Lu - - PR target/67329 - * gcc.target/i386/pr67329.c: New test. - -2015-08-24 Nathan Sidwell - - * gcc.dg/pr49551.c: Needs -fdata-sections. - - * gcc.dg/pr64935-2.c: Needs scheduling. - - * gcc.dg/torture/pr66101.c: Needs nonlocal goto. - * gcc.dg/torture/pr63738.c: Likewise. - * gcc.dg/torture/pr64728.c: Likewise. - * gcc.dg/pr63748.c: Likewise. - * gcc.dg/20020312-2.c: Likewise. - - * gcc.dg/torture/pr66123.c: Needs label_values. - - * gcc.dg/torture/pr41261.c: Needs profiling. - * gcc.dg/pr26570.c: Likewise. - * gcc.dg/pr61776.c: Likewise. - * gcc.dg/tree-ssa/ssa-lim-11.c: Likewise. - * gcc.dg/gomp/pr34610.c: Likewise. - * gcc.dg/pr54121.c: Likewise. - * gcc.dg/20050325-1.c: Likewise. - * gcc.dg/pr66899.c: Likewise. - * gcc.dg/pr48770.c: Likewise. - * gcc.dg/pr24225.c: Likewise. - - * gcc.dg/pr27531-1.c: Needs io. - * gcc.dg/pr44606.c: Likewise. - - * gcc.dg/tree-ssa/nonzero-1.c: Needs weak. - - * gcc.dg/pr51990.c: Needs alloca. - - * gcc.misc-tests/options.exp: Disable profiling check for nvptx. - -2015-08-24 Tom de Vries - - PR tree-optimization/65468 - * gcc.dg/gomp/static-chunk-size-one.c: New test. - -2015-08-23 Francois-Xavier Coudert - - PR libfortran/54572 - * gfortran.dg/backtrace_1.f90: New test. - -2015-08-23 Francois-Xavier Coudert - - PR libfortran/62296 - * gfortran.dg/execute_command_line_2.f90: New test. - -2015-08-23 Tom de Vries - - * gcc.dg/vect/trapv-vect-reduc-4.c: Use vect_no_int_min_max. - * gcc.dg/vect/costmodel/i386/costmodel-vect-reduc-1char.c: Rename - vect_no_int_max to vect_no_int_min_max. - * gcc.dg/vect/costmodel/ppc/costmodel-vect-reduc-1char.c: Same. - * gcc.dg/vect/costmodel/x86_64/costmodel-vect-reduc-1char.c: Same. - * gcc.dg/vect/no-scevccp-noreassoc-slp-reduc-7.c: Same. - * gcc.dg/vect/slp-reduc-4.c: Same. - * gcc.dg/vect/slp-reduc-5.c: Same. - * gcc.dg/vect/vect-125.c: Same. - * gcc.dg/vect/vect-13.c: Same. - * gcc.dg/vect/vect-double-reduc-3.c: Same. - * gcc.dg/vect/vect-reduc-1.c: Same. - * gcc.dg/vect/vect-reduc-1char-big-array.c: Same. - * gcc.dg/vect/vect-reduc-1char.c:Same. - * gcc.dg/vect/vect-reduc-1short.c: Same. - * gcc.dg/vect/vect-reduc-2.c: Same. - * gcc.dg/vect/wrapv-vect-reduc-2char.c: Same. - * gcc.dg/vect/wrapv-vect-reduc-2short.c: Same. - * lib/target-supports.exp: Same. - -2015-08-22 Paolo Carlini - - PR c++/63693 - * g++.dg/cpp0x/decltype63.C: New. - -2015-08-22 Nathan Sidwell - - * c-c++-common/Wsizeof-pointer-memaccess1.c: Require alloca. - * c-c++-common/Wsizeof-pointer-memaccess2.c: Likewise. - * c-c++-common/Wunused-var-8.c: Likewise. - * c-c++-common/gomp/pr61486-2.c: Likewise. - * c-c++-common/Wunused-var-6.c: Likewise. - * c-c++-common/goacc/reduction-1.c: Likewise. - * c-c++-common/goacc/reduction-2.c: Likewise. - * c-c++-common/goacc/reduction-3.c: Likewise. - * c-c++-common/goacc/reduction-4.c: Likewise. - * gcc.dg/builtins-64.c: Likewise. - * gcc.dg/pr59523.c: Likewise. - * gcc.dg/tree-ssa/20080530.c: Likewise. - * gcc.dg/tree-ssa/pr23848-2.c: Likewise. - * gcc.dg/tree-ssa/pr23848-4.c: Likewise. - * gcc.dg/tree-ssa/pr23848-1.c: Likewise. - * gcc.dg/tree-ssa/pr23848-3.c: Likewise. - * gcc.dg/tree-ssa/20030807-2.c: Likewise. - * gcc.dg/pr59011.c: Likewise. - * gcc.dg/uninit-9.c: Likewise. - * gcc.dg/pr61561.c: Likewise. - * gcc.dg/vla-4.c: Likewise. - * gcc.dg/20101010-1.c: Likewise. - * gcc.dg/pr49120.c: Likewise. - * gcc.dg/20030331-2.c: Likewise. - * gcc.dg/compat/struct-by-value-22_main.c: Likewise. - * gcc.dg/pr25682.c: Likewise. - * gcc.dg/guality/guality.c: Likewise. - * gcc.dg/pr27301.c: Likewise. - * gcc.dg/uninit-9-O0.c: Likewise. - * gcc.dg/fold-alloca-1.c: Likewise. - * gcc.dg/pr41470.c: Likewise. - * gcc.dg/pr51491-2.c: Likewise. - * gcc.dg/winline-7.c: Likewise. - * gcc.dg/vla-2.c: Likewise. - * gcc.dg/pr50764.c: Likewise. - * gcc.dg/c99-vla-1.c: Likewise. - * gcc.dg/pr33238.c: Likewise. - * gcc.dg/c99-const-expr-13.c: Likewise. - * gcc.dg/builtin-return-1.c: Likewise. - * gcc.dg/vla-3.c: Likewise. - * gcc.dg/20020415-1.c: Likewise. - * gcc.dg/Wsizeof-pointer-memaccess1.c: Likewise. - * gcc.dg/shrink-wrap-alloca.c: Likewise. - * gcc.dg/Wstrict-aliasing-bogus-vla-1.c: Likewise. - * gcc.dg/torture/calleesave-sse.c: Likewise. - * gcc.dg/torture/Wsizeof-pointer-memaccess1.c: Likewise. - * gcc.dg/gomp/vla-2.c: Likewise. - * gcc.dg/gomp/vla-3.c: Likewise. - * gcc.dg/gomp/vla-4.c: Likewise. - * gcc.dg/gomp/pr30494.c: Likewise. - * gcc.dg/gomp/vla-5.c: Likewise. - * gcc.dg/pr51990-2.c: Likewise. - * gcc.dg/vla-22.c: Likewise. - -2015-08-22 Manuel López-Ibáñez - - * gcc.dg/cpp/multiline-2.c: Add column numbers. - * gcc.dg/dollar.c: Likewise. - * gcc.dg/pragma-message.c: Likewise. - * g++.dg/cpp1y/digit-sep-neg.C: Likewise. - * c-c++-common/raw-string-14.c: Likewise. - -2015-08-21 Patrick Palka - - * g++.old-deja/g++.jason/overload.C: Adjust to preserve original - property that instantiation here is a compile-time error. - -2015-08-21 Paolo Carlini - - * g++.dg/other/pr67065.C: Extend. - -2015-08-21 Nathan Sidwell - - * lib/target-supports.exp (check_effective_target_freestanding): nvptx - is freestanding. - (check_effective_target_global_constructor): New. - * lib/gcc.exp (gcc_target_compile): Set SIGNAL_SUPPRESS if needed. - * gcc.dg/debug/debug.exp: Skip for nvptx. - * gcc.dg/debug/dwarf2/dwarf2.exp: Likewise. - - * gcc.c-torture/execute/981019-1.c: Ptx assembler bug. - * gcc.c-torture/compile/limits-externdecl.c: Likewise. - * gcc.c-torture/compile/pr33855.c: Likewise. - * gcc.c-torture/compile/920723-1.c: Likewise. - * gcc.c-torture/compile/pr35468.c: Ptx assembler objects to - writing a const. - * gcc.c-torture/compile/mangle-1.c: Ptx assembler objects to . in - label. - * gcc.c-torture/compile/callind.c: Ptx assembler objects to label - 'call'. - - * gcc.c-torture/execute/ieee/mul-subnormal-single-1.c: Make main - prototype normal. - * gcc.c-torture/execute/switch-1.c: Likewise. - - * gcc.c-torture/execute/pr34456.c: Require not freestanding - * gcc.c-torture/execute/printf-1.c: Likewise. - * gcc.c-torture/execute/printf-chk-1.c: Likewise. - * gcc.c-torture/execute/fprintf-1.c: Likewise. - * gcc.c-torture/execute/fprintf-chk-1.c: Likewise. - * gcc.c-torture/execute/vprintf-1.c: Likewise. - * gcc.c-torture/execute/vprintf-chk-1.c: Likewise. - * gcc.c-torture/execute/vfprintf-1.c: Likewise. - * gcc.c-torture/execute/vfprintf-chk-1.c: Likewise. - * gcc.c-torture/execute/builtins/fputs.x: Likewise. - * gcc.c-torture/execute/gofast.c: Likewise. - * gcc.c-torture/execute/complex-6.c: Likewise. - - * gcc.c-torture/execute/builtins/memcpy-chk.x: Require nonlocal goto. - * gcc.c-torture/execute/builtins/memmove-chk.x: Likewise. - * gcc.c-torture/execute/builtins/mempcpy-chk.x: Likewise. - * gcc.c-torture/execute/builtins/memset-chk.x: Likewise. - * gcc.c-torture/execute/builtins/snprintf-chk.x: Likewise. - * gcc.c-torture/execute/builtins/sprintf-chk.x: Likewise. - * gcc.c-torture/execute/builtins/stpcpy-chk.x: Likewise. - * gcc.c-torture/execute/builtins/stpncpy-chk.x: Likewise. - * gcc.c-torture/execute/builtins/strcat-chk.x: Likewise. - * gcc.c-torture/execute/builtins/strcpy-chk.x: Likewise. - * gcc.c-torture/execute/builtins/strncat-chk.x: Likewise. - * gcc.c-torture/execute/builtins/strncpy-chk.x: Likewise. - * gcc.c-torture/execute/builtins/vsnprintf-chk.x: Likewise. - * gcc.c-torture/execute/builtins/vsprintf-chk.x: Likewise. - * gcc.c-torture/execute/builtins/pr23484-chk.x: Likewise. - * gcc.dg/setjmp-1.c: Likewise. - * gcc.dg/cleanup-5.c: Likewise. - * gcc.dg/cleanup-12.c: Likewise. - * gcc.dg/cleanup-13.c: Likewise. - - * gcc.dg/constructor-1.c: Require global ctor. - - * gcc.dg/fork-instrumentation.c: Require profiling. - * gcc.dg/20030107-1.c: Likewise. - * gcc.dg/20030702-1.c: Likewise. - - * gcc.dg/cpp/lexstrng.c: Avoid IO unless debugging. - * gcc.dg/cpp/paste2.c: Likewise. - * gcc.dg/cpp/strify3.c: Likewise. - * gcc.dg/cpp/strify4.c: Likewise. - * gcc.dg/cpp/lexnum.c: Likewise. - * gcc.dg/cpp/digraphs.c: Likewise. - * gcc.dg/cpp/macro1.c: Likewise. - -2015-08-21 Dominik Vogt - - * gcc.target/s390/zvector/vec-load_bndry-1.c: New test. - -2015-08-21 Dominik Vogt - - * lib/gcc-dg.exp: Add extra options for db-final to the command line - only once. - -2015-08-20 Bill Schmidt - - * gcc.target/powerpc/altivec-35.c (foo): Add tests for vec_madd. - * gcc.target/powerpc/p8vector-builtin-8.c (foo): Add tests for - vec_vpmsum_be and vec_shasigma_be. - -2015-08-20 Alan Lawrence - - * lib/target-supports.exp - (check_effective_target_arm_neon_fp16_ok_nocache): Add flag variants - with -mfp16-format=ieee. - -2015-08-20 Paolo Carlini - - PR c++/67065 - * g++.dg/other/pr67065.C: New. - -2015-08-20 Simon Dardis - - * gcc.target/mips/inline-memcpy-1.c: Test for inline expansion of - memcpy. - * gcc.target/mips/inline-memcpy-2.c: Ditto. - * gcc.target/mips/inline-memcpy-3.c: Ditto. - * gcc.target/mips/inline-memcpy-4.c: Ditto. - * gcc.target/mips/inline-memcpy-5.c: Ditto. - -2015-08-19 Jiong Wang - - * gcc.dg/wide_shift_64_1.c: New testcase. - * gcc.dg/wide_shift_128_1.c: Likewise. - * gcc.target/aarch64/ashlti3_1.c: Likewise. - -2015-08-19 Magnus Granberg - - * lib/target-supports.exp - (check_effective_target_fstack_protector_enabled): New test. - * gcc.target/i386/ssp-default.c: New test. - -2015-08-19 Mikael Morin - - PR fortran/66929 - * gfortran.dg/generic_31.f90: New. - -2015-08-19 Marek Polacek - - PR middle-end/67133 - * g++.dg/torture/pr67133.C: New test. - -2015-08-18 Bill Schmidt - - * gcc.target/powerpc/altivec-35.c: New test. - * gcc.target/powerpc/p8vector-builtin-8.c: New test. - * gcc.target/powerpc/vsx-vector-7.c: New test. - -2015-08-18 Francois-Xavier Coudert - - PR middle-end/36757 - * gcc.dg/builtins-error.c: Add checks for __builtin_signbit. - * gcc.dg/tg-tests.h: Add checks for __builtin_signbit. - -2015-08-18 Richard Sandiford - - PR rtl-optimization/67218 - * gcc.c-torture/execute/ieee/pr67218.c, - gcc.target/aarch64/fcvt_int_float_double1.c, - gcc.target/aarch64/fcvt_int_float_double2.c, - gcc.target/aarch64/fcvt_int_float_double3.c, - gcc.target/aarch64/fcvt_int_float_double4.c, - gcc.target/aarch64/fcvt_uint_float_double1.c, - gcc.target/aarch64/fcvt_uint_float_double2.c, - gcc.target/aarch64/fcvt_uint_float_double3.c, - gcc.target/aarch64/fcvt_uint_float_double4.c: New tests. - -2015-08-18 Matthew Wahab - - * gcc.target/aarch64/atomic-comp-swap-release-acquire.c: Adjust - dg-options to disable LSE extensions. - * gcc.target/aarch64/atomic-op-acq_rel.c: Likewise. - * gcc.target/aarch64/atomic-op-acquire.c: Likewise. - * gcc.target/aarch64/atomic-op-char.c: Likewise. - * gcc.target/aarch64/atomic-op-consume.c: Likewise. - * gcc.target/aarch64/atomic-op-imm.c: Likewise. - * gcc.target/aarch64/atomic-op-int.c: Likewise. - * gcc.target/aarch64/atomic-op-long.c: Likewise. - * gcc.target/aarch64/atomic-op-relaxed.c: Likewise. - * gcc.target/aarch64/atomic-op-seq_cst.c: Likewise. - * gcc.target/aarch64/atomic-op-release.c: Likewise. - * gcc.target/aarch64/atomic-op-short.c: Likewise. - * gcc.target/aarch64/sync-comp-swap.c: Likewise. - * gcc.target/aarch64/sync-op-acquire.c: Likewise. - * gcc.target/aarch64/sync-op-full.c: Likewise. - * gcc.target/aarch64/sync-op-release.c: Likewise. - -2015-08-18 Paolo Carlini - - PR c++/67160 - * g++.dg/cpp1z/feat-cxx1z.C: New. - -2015-08-18 Marek Polacek - - PR middle-end/67222 - * gcc.dg/torture/pr67222.c: New test. - -2015-08-18 Robert Suchanek - - * gcc.target/mips/interrupt_handler-bug-1.c: New test. - -2015-08-18 Bin Cheng - - * gcc.dg/tree-ssa/loop-bound-1.c: New test. - * gcc.dg/tree-ssa/loop-bound-3.c: New test. - * gcc.dg/tree-ssa/loop-bound-5.c: New test. - -2015-08-17 Matthew Fortune - - * gcc.target/mips/mips.exp (mips-dg-options): Redefine isa - which is used in later code. - -2015-08-17 Paolo Carlini - - PR c++/67216 - * g++.dg/cpp0x/nullptr34.C: New. - * g++.dg/warn/Wconversion2.C: Adjust. - * g++.dg/warn/Wnull-conversion-1.C: Likewise. - * g++.old-deja/g++.other/null3.C: Likewise. - - * g++.dg/cpp0x/pr51313.C: Adjust. - -2015-08-17 Richard Biener - - PR tree-optimization/67221 - * gcc.dg/torture/pr67221.c: New testcase. - -2015-08-17 Mike Stump - Kyrylo Tkachov - - * gcc.target/arm/memcpy-aligned-1.c: New test. - -2015-08-16 Francois-Xavier Coudert - - PR fortran/54656 - * gfortran.dg/norm_4.f90: Rename to... - * gfortran.dg/norm2_4.f90: this. - * gfortran.dg/norm2_5.f90: New test. - -2015-08-14 Alexandre Oliva - - * gcc.dg/guality/pr54200.c: Add -fno-tree-coalesce-vars. - * gcc.dg/ssp-1.c: Make counter a register. - * gcc.dg/ssp-2.c: Likewise. - * gcc.dg/torture/parm-coalesce.c: New. - -2015-08-14 Marek Polacek - - PR middle-end/67133 - * gcc.dg/torture/pr67133.c: New test. - -2015-08-14 Matthew Wahab - Matthias Klose - - PR target/67143 - * gcc.c-torture/compile/pr67143.c: New - * gcc.target/aarch64/atomic-op-imm.c - (atomic_fetch_add_negative_RELAXED): New. - (atomic_fetch_sub_negative_ACQUIRE): New. - -2015-08-14 Kyrylo Tkachov - - * gcc.target/aarch64/target_attr_5.c: Add static modifier to bar. - * gcc.target/aarch64/target_attr_8.c: Likewise. - * gcc.target/aarch64/target_attr_14.c: Likewise. - -2015-08-14 Kyrylo Tkachov - - * gcc.target/aarch64/target_attr_1.c: Make test compile-only. - -2015-08-14 Yuri Rumyantsev - - * gcc.target/i386/builtin_target.c: Add skylake check. - -2015-08-13 Jeff Law - - * gcc.dg/pr66314.c: Moved from here to .. - * gcc.dg/asan/pr66314.c: Here. Use -fno-sanitize=all - to clear all sanitizers before -fsanitize=kernel-address. - -2015-08-13 Kyrylo Tkachov - - * gcc.target/aarch64/cinc_common_1.c: New test. - -2015-08-13 Paolo Carlini - - PR c++/53421 - * g++.dg/ext/attribute-may-alias-1.C: New. - * g++.dg/ext/attribute-may-alias-2.C: Likewise. - -2015-08-13 Matthew Wahab - - * gcc.target/aarch64/atomic-inst-cas.c: New. - * gcc.target/aarch64/atomic-inst-ops.inc: New. - -2015-08-13 Andreas Schwab - - * gcc.dg/tree-ssa/vrp33.c: Add -fno-tree-fre. - -2015-08-13 Paolo Carlini - - PR c++/62164 - * g++.dg/torture/pr62164.C: New. - -2015-08-13 Richard Biener - - PR tree-optimization/67191 - * gcc.dg/torture/pr67191.c: New testcase. - * g++.dg/torture/pr67191.C: Likewise. - -2015-08-13 Richard Biener - - PR tree-optimization/66502 - PR tree-optimization/67167 - * gcc.dg/tree-ssa/ssa-fre-46.c: New testcase. - -2015-08-12 Paolo Carlini - - PR c++/53330 - * g++.dg/init/new42.C: New. - -2015-08-12 Michael Meissner - - PR target/67071 - * gcc.target/powerpc/pr67071-1.c: New file to test PR 67071 new - vector constants. - * gcc.target/powerpc/pr67071-2.c: Likewise. - * gcc.target/powerpc/pr67071-3.c: Likewise. - -2015-08-12 Marek Polacek - - PR c++/55095 - * c-c++-common/Wshift-overflow-6.c: New test. - * c-c++-common/Wshift-overflow-7.c: New test. - * g++.dg/cpp1y/left-shift-2.C: New test. - -2015-08-12 Paolo Carlini - - PR c++/52742 - * g++.dg/cpp0x/pr52742.C: New. - -2015-08-12 H.J. Lu - - * gcc.target/i386/builtin_target.c (check_intel_cpu_model): - Check Knights Landing support. - -2015-08-12 Paolo Carlini - - PR c++/47461 - * g++.dg/warn/Wunused-result-1.C: New. - -2015-08-12 Richard Biener - - * gcc.dg/tree-ssa/ssa-fre-47.c: New testcase. - * gcc.dg/tree-ssa/ssa-fre-48.c: Likewise. - * gcc.dg/tree-ssa/ssa-fre-49.c: Likewise. - * g++.dg/tree-ssa/pr61034.C: Adjust. - * gcc.dg/fold-compare-2.c: Likewise. - * gcc.dg/pr50763.c: Likewise. - * gcc.dg/predict-3.c: Likewise. - * gcc.dg/tree-ssa/20030709-2.c: Likewise. - * gcc.dg/tree-ssa/pr19831-3.c: Likewise. - * gcc.dg/tree-ssa/pr20657.c: Likewise. - * gcc.dg/tree-ssa/pr21001.c: Likewise. - * gcc.dg/tree-ssa/pr37508.c: Likewise. - * gcc.dg/tree-ssa/vrp04.c: Likewise. - * gcc.dg/tree-ssa/vrp07.c: Likewise. - * gcc.dg/tree-ssa/vrp09.c: Likewise. - * gcc.dg/tree-ssa/vrp16.c: Likewise. - * gcc.dg/tree-ssa/vrp20.c: Likewise. - * gcc.dg/tree-ssa/vrp25.c: Likewise. - * gcc.dg/tree-ssa/vrp87.c: Likewise. - -2015-08-12 Nathan Sidwell - - * gcc.dg/vrp-min-max-1.c: New. - * gcc.dg/vrp-min-max-2.c: New. - -2015-08-12 Richard Biener - - * gcc.dg/tree-ssa/ssa-fre-43.c: Adjust. - -2015-08-12 Tom de Vries - - PR testsuite/67175 - * gcc.dg/vect/trapv-vect-reduc-4.c: Add reduction detection scan. - Handle absence of vector min/max for sparc. - -2015-08-11 Uros Bizjak - - PR target/66954 - * g++.dg/ext/mv25.C: New test. - -2015-08-11 Yuri Rumyantsev - - * gcc.target/i386/avx2-vect-shift.c: New test. - -2015-08-11 Manuel López-Ibáñez - - PR c/66098 - PR c/66711 - * gcc.dg/pragma-diag-3.c: New test. - * gcc.dg/pragma-diag-4.c: New test. - -2015-08-11 Nathan Sidwell - - * c-c++-common/dfp/operator-comma.c: Call init function. - * c-c++-common/dfp/convert-dfp-2.c: New test. - -2015-08-10 H.J. Lu - - * gcc.target/i386/builtin_target.c (check_intel_cpu_model): - Treat model == 0x4f as Broadwell. - -2015-08-10 Francois-Xavier Coudert - - PR libfortran/67140 - * gfortran.dg/pr67140.f90: New test. - -2015-08-10 Thomas Schwinge - - PR libgomp/65742 - PR middle-end/66332 - * c-c++-common/goacc/acc_on_device-2.c: Remove XFAIL for C. - -2015-08-10 Uros Bizjak - - PR fortran/64022 - * gfortran.dg/ieee/large_4.f90: New test. - -2015-08-08 Bud Davis - - PR fortran/59746 - * gfortran.dg/common_22.f90: New. - -2015-08-08 Segher Boessenkool - - PR rtl-optimization/67028 - * gcc.dg/pr67028.c: New testcase. - -2015-08-07 H.J. Lu - - PR rtl-optimization/67029 - * gcc.dg/pr67029.c: New test. - -2015-08-07 Francois-Xavier Coudert - - PR fortran/64104 - * gfortran.dg/ieee/ieee_8.f90: New test. - -2015-08-07 Jiong Wang - - * gcc.target/aarch64/noplt_1.c: Check branch type instead of relocation - modifers. - * gcc.target/aarch64/noplt_2.c: Likewise. - * gcc.target/aarch64/noplt_3.c: Likewise. - -2015-08-06 David Malcolm - - * jit.dg/test-benchmark.c (main): Record all elapsed times at each - optimization level, and print a summary at the end. - -2015-08-06 Jiong Wang - - * gcc.target/aarch64/tlsdesc_hoist.c: New testcase. - -2015-08-06 Jiong Wang - - * gcc.target/aarch64/noplt_3.c: New testcase. - -2015-08-06 Jiong Wang - - * gcc.target/aarch64/noplt_1.c: New testcase. - * gcc.target/aarch64/noplt_2.c: Likewise. - -2015-08-06 Venkataramanan Kumar - - * gcc.dg/vect/vect-mult-pattern-1.c: New test. - * gcc.dg/vect/vect-mult-pattern-2.c: New test. - -2015-08-06 Andreas Krebbel - - * gcc.target/s390/dwarfregtable-1.c: New test. - * gcc.target/s390/dwarfregtable-2.c: New test. - * gcc.target/s390/dwarfregtable-3.c: New test. - -2015-08-06 Andreas Krebbel - - * gcc.target/s390/htm-builtins-z13-1.c: New test. - -2015-08-06 Francois-Xavier Coudert - - PR fortran/64022 - * gfortran.dg/ieee/large_2.f90: New test. - * gfortran.dg/ieee/large_3.F90: New test. - -2015-08-06 Francois-Xavier Coudert - - PR fortran/64022 - * gfortran.dg/ieee/large_1.f90: Adjust test. - -2015-08-05 Manuel López-Ibáñez - Jeff Law - - PR c/16351 - * gcc.dg/tree-ssa/isolate-2.c: Close comment. - * gcc.dg/tree-ssa/isolate-4.c: Likewise. - * gcc.dg/tree-ssa/wnull-dereference.c: New test. - * gcc.dg/tree-ssa/isolate-1.c: Test warnings with -Wnull-dereference. - * gcc.dg/tree-ssa/isolate-3.c: Likewise. - * gcc.dg/tree-ssa/isolate-5.c: Likewise. - -2015-08-05 Francois-Xavier Coudert - - PR middle-end/66311 - * gfortran.dg/pr66311.f90: New file. - -2015-08-05 Richard Biener - - PR tree-optimization/67121 - * gcc.dg/torture/pr67121.c: New testcase. - -2015-08-05 Nick Clifton - - * gcc.target/rl78: New directory. - * gcc.target/rl78/rl78.exp: New file: Test driver. - * gcc.target/rl78/test_addm3.c: New file: Test adds. - -2015-08-05 Richard Biener - - PR middle-end/67120 - * gcc.dg/torture/pr67120.c: New testcase. - -2015-08-05 Paul Thomas - - PR fortran/52846 - - * lib/fortran-modules.exp: Call cleanup-submodules from - cleanup-modules. - * gfortran.dg/public_private_module_2.f90: Add two XFAILS to - cover the cases where private entities are no longer optimized - away. - * gfortran.dg/public_private_module_6.f90: Add an XFAIL for the - same reason. - * gfortran.dg/submodule_1.f08: Change cleanup module names. - * gfortran.dg/submodule_5.f08: The same. - * gfortran.dg/submodule_9.f08: The same. - * gfortran.dg/submodule_10.f08: New test. - -2015-08-05 Paolo Carlini - - PR c++/66595 - * g++.dg/cpp1y/var-templ35.C: New. - -2015-08-05 Richard Biener - - PR tree-optimization/67055 - * g++.dg/torture/pr67055.C: New testcase. - -2015-08-05 Richard Biener - - PR tree-optimization/67109 - * gcc.dg/torture/pr67109.c: New testcase. - * gcc.dg/vect/vect-119.c: Adjust. - -2015-08-05 Richard Biener - - PR middle-end/67107 - * gcc.dg/pr67107.c: New testcase. - -2015-08-04 Paolo Carlini - - PR c++/66197 - * g++.dg/cpp1z/abbrev2.C: New. - -2015-08-04 Paolo Carlini - - * g++.dg/cpp1z/static_assert-nomsg.C: Fix DejaGnu directive. - -2015-08-04 Paolo Carlini - - PR c++/66392 - * g++.dg/init/explicit4.C: New. - -2015-08-04 Bill Schmidt - - * gcc.target/powerpc/vec-cmp-sel.c: Avoid test failure on machines - without VSX an Power8 vector support. - -2015-08-04 Richard Biener - - * gcc.dg/tree-ssa/ssa-ccp-38.c: New testcase. - -2015-08-04 H.J. Lu - - PR target/67110 - * gcc.target/i386/iamcu/abi-iamcu.exp (additional_flags): Add - -fno-pie -no-pie. - -2015-08-04 Paolo Carlini - - PR c++/66427 - * g++.dg/cpp1y/var-templ34.C: New. - -2015-08-04 Kyrylo Tkachov - - * gcc.target/aarch64/pragma_cpp_predefs_1.c: New test. - * gcc.target/aarch64/target_attr_1.c: Likewise. - * gcc.target/aarch64/target_attr_2.c: Likewise. - * gcc.target/aarch64/target_attr_3.c: Likewise. - * gcc.target/aarch64/target_attr_4.c: Likewise. - * gcc.target/aarch64/target_attr_5.c: Likewise. - * gcc.target/aarch64/target_attr_6.c: Likewise. - * gcc.target/aarch64/target_attr_7.c: Likewise. - * gcc.target/aarch64/target_attr_8.c: Likewise. - * gcc.target/aarch64/target_attr_9.c: Likewise. - * gcc.target/aarch64/target_attr_10.c: Likewise. - * gcc.target/aarch64/target_attr_11.c: Likewise. - * gcc.target/aarch64/target_attr_12.c: Likewise. - * gcc.target/aarch64/target_attr_13.c: Likewise. - * gcc.target/aarch64/target_attr_14.c: Likewise. - * gcc.target/aarch64/target_attr_15.c: Likewise. - -2015-08-04 Kyrylo Tkachov - - * gcc.target/aarch64/target_attr_crypto_ice_1.c: New test. - -2015-08-04 Kyrylo Tkachov - - * gcc.target/aarch64/arm_neon-nosimd-error.c: Delete. - -2015-08-04 Kyrylo Tkachov - - * gcc.target/aarch64/cpu-diagnostics-3.c: Update expected error - message. - -2015-08-04 Francois-Xavier Coudert - - PR fortran/64022 - * gfortran.dg/ieee/ieee_7.f90: Adjust test. - * gfortran.dg/ieee/large_1.f90: New test. - -2015-08-04 Thomas Preud'homme - - PR tree-optimization/67043 - * gcc.dg/pr67043.c: New test. - -2015-08-03 Peter Bergner - - * gcc.target/powerpc/htm-tabort-no-r0.c: New test. - -2015-08-03 David Malcolm - - * jit.dg/test-benchmark.c (test_jit): Add param "timer" and use - it to push/pop timing items. - (main): For each optimization level, create a gcc_jit_timer, and - time all of the iteration within that level cumulatively. - * jit.dg/test-error-gcc_jit_timer_pop-mismatch.c: New test case. - * jit.dg/test-error-gcc_jit_timer_pop-too-many.c: New test case. - -2015-08-03 Alexander Basov - - PR middle-end/64744 - PR middle-end/48470 - PR middle-end/43404 - * gcc.target/arm/pr43404.c : New testcase. - * gcc.target/arm/pr48470.c : New testcase. - * gcc.target/arm/pr64744-1.c : New testcase. - * gcc.target/arm/pr64744-2.c : New testcase. - -2015-08-03 H.J. Lu - - PR tree-optimization/67077 - * gcc.dg/pr67077.c: New test. - -2015-08-03 Jeff Law - - PR middle-end/66314 - PR gcov-profile/66899 - * gcc.dg/pr66899.c: New test. - * gcc.dg/pr66314.c: New test. - -2015-08-03 Marek Polacek - - PR c/67088 - * gcc.dg/pr67088.c: New test. - -2015-08-03 Szabolcs Nagy - - PR target/66731 - * gcc.target/arm/vnmul-1.c: New. - * gcc.target/arm/vnmul-2.c: New. - * gcc.target/arm/vnmul-3.c: New. - * gcc.target/arm/vnmul-4.c: New. - -2015-08-03 Mikael Morin - - PR fortran/64921 - * gfortran.dg/class_allocate_20.f90: New. - -2015-08-03 Kyrylo Tkachov - - * gcc.target/aarch64/csel_bfx_1.c: New test. - * gcc.target/aarch64/csel_imms_inc_1.c: Likewise. - -2015-08-02 Martin Sebor - - * g++.dg/Wframe-address-in-Wall.C: New test. - * g++.dg/Wframe-address.C: New test. - * g++.dg/Wno-frame-address.C: New test. - * gcc.dg/Wframe-address-in-Wall.c: New test. - * gcc.dg/Wframe-address.c: New test. - * gcc.dg/Wno-frame-address.c: New test. - -2015-08-02 Patrick Palka - - * c-c++-common/Wmisleading-indentation.c: Add more tests. - -2015-08-01 Michael Collison - - * gcc.target/arm/mincmp.c: New test. - -2015-08-01 Paul Thomas - - PR fortran/67091 - * gfortran.dg/associated_target_6.f03: New test - -2015-08-01 Tom de Vries - - * gcc.dg/autopar/reduc-2char.c (init_arrays): Mark with attribute - optimize ("-ftree-parallelize-loops=0"). - Add successful scans for 2 detected reductions. Add xfail scans for 3 - detected reductions. - * gcc.dg/autopar/reduc-2short.c: Same. - * gcc.dg/autopar/reduc-8.c (init_arrays): Mark with attribute - optimize ("-ftree-parallelize-loops=0"). Add successful scans for 2 - detected reductions. - * gcc.dg/vect/trapv-vect-reduc-4.c: Update scan to match vectorized min - and max reductions. - -2015-07-31 Marek Polacek - - PR sanitizer/66977 - * g++.dg/ubsan/pr66977.C: New test. - -2015-07-30 Marek Polacek - - * c-c++-common/Wtautological-compare-3.c: New test. - -2015-07-29 Alan Lawrence - - * gcc.target/aarch64/vld1_lane.c (main): Remove unused test data. - (CHECK): Pass address of scalar, rather than array. - -2015-07-29 Alan Lawrence - - * gcc.target/aarch64/vld1-vst1_1.c: Add missing float32x4_t case. - -2015-07-29 Alan Lawrence - - * gcc.target/aarch64/fp16/fp16.exp: New. - * gcc.target/aarch64/fp16/f16_convs_1.c: New. - * gcc.target/aarch64/fp16/f16_convs_2.c: New. - -2015-07-29 Alan Lawrence - - * gcc.target/aarch64/f16_movs_1.c: New test. - -2015-07-28 Tom de Vries - - * gcc.dg/autopar/uns-outer-4.c: Remove xfail on scan for parallelizing - outer loop. - -2015-07-28 Luis Felipe Strano Moraes - Manuel López-Ibáñez - - * gcc.dg/parm-incomplete-1.c: Update. - * gcc.dg/pr18809-1.c: Update. - * gcc.dg/pr27953.c: Update. - * gcc.dg/vla-11.c: Update. - -2015-07-27 Marek Polacek - - * c-c++-common/Wtautological-compare-2.c: Remove unused line. - -2015-07-27 Tom de Vries - - * gcc.dg/autopar/outer-4.c (parloop): Remove superfluous noinline - attribute. Update comment. - (main): Remove. - Add scan for not parallelizing inner loop. - * gcc.dg/autopar/uns-outer-4.c (parloop): Remove superfluous noinline - attribute. - (main): Remove. - -2015-07-27 Marek Polacek - - PR bootstrap/67030 - * c-c++-common/Wtautological-compare-2.c: New test. - -2015-07-27 H.J. Lu - - PR target/66232 - * gcc.target/i386/pr66232-6.c: New tests. - * gcc.target/i386/pr66232-7.c: Likewise. - * gcc.target/i386/pr66232-8.c: Likewise. - * gcc.target/i386/pr66232-9.c: Likewise. - -2015-07-27 Marek Polacek - - PR c++/66555 - PR c/54979 - * c-c++-common/Wtautological-compare-1.c: New test. - -2015-07-26 Patrick Palka - - PR c++/18969 - * g++.dg/template/pr18969.C: New test. - * g++.dg/template/pr18969-2.C: New test. - * g++.old-deja/g++.jason/overload.C: Remove return value in - template function returning void. - -2015-07-26 Uros Bizjak - - * gcc.target/alpha/pr66140.c (lpfc_bg_setup_bpl): Use unsigned - immediates to avoid shift-overflow warnings. - -2015-07-25 Patrick Palka - - PR c++/66857 - * g++.dg/init/pr66857.C: New test. - -2015-07-25 Uros Bizjak - - PR target/66648 - * gcc.target/i386/pr66648.c: New test. - -2015-07-25 Tom de Vries - - * gcc.dg/graphite/graphite.exp: Include uns-*.c files in - interchange_files and block_files variables. - * gcc.dg/graphite/uns-block-1.c (main): Change signed into unsigned - arithmetic. - * gcc.dg/graphite/uns-interchange-12.c: Same. - * gcc.dg/graphite/uns-interchange-14.c: Same. - * gcc.dg/graphite/uns-interchange-15.c: Same. - * gcc.dg/graphite/uns-interchange-9.c (foo): Same. - * gcc.dg/graphite/uns-interchange-mvt.c: Same. - -2015-07-25 Jeff Law - - Revert: - PR lto/66752 - * gcc.dg/tree-ssa/pr66752-2.c: New test. - * gcc.dg/torture/pr66752-1.c: New test - * g++.dg/torture/pr66752-2.C: New test. - -2015-07-25 David Edelsohn - - Revert: - 2015-07-23 Alexandre Oliva - - PR rtl-optimization/64164 - * gcc.dg/guality/pr54200.c: Add -fno-tree-coalesce-vars. - * gcc.dg/ssp-1.c: Make counter a register. - * gcc.dg/ssp-2.c: Likewise. - * gcc.dg/torture/parm-coalesce.c: New. - -2015-07-24 Tom de Vries - - * gcc.dg/graphite/block-1.c: Xfail scan. - * gcc.dg/graphite/interchange-12.c: Same. - * gcc.dg/graphite/interchange-14.c: Same. - * gcc.dg/graphite/interchange-15.c: Same. - * gcc.dg/graphite/interchange-9.c: Same. - * gcc.dg/graphite/interchange-mvt.c: Same. - * gcc.dg/graphite/uns-block-1.c: New test. - * gcc.dg/graphite/uns-interchange-12.c: New test. - * gcc.dg/graphite/uns-interchange-14.c: New test. - * gcc.dg/graphite/uns-interchange-15.c: New test. - * gcc.dg/graphite/uns-interchange-9.c: New test. - * gcc.dg/graphite/uns-interchange-mvt.c: New test. - -2015-07-24 Manuel López-Ibáñez - - PR c++/64079 - * c-c++-common/Wunused-function-1.c: New. - -2015-07-24 Tom de Vries - - * gcc.dg/parloops-exit-first-loop-alt-2.c: Use debug print for - alternative exit-first loop transform. - * gcc.dg/parloops-exit-first-loop-alt-3.c: Same. - * gcc.dg/parloops-exit-first-loop-alt-4.c: Same. - * gcc.dg/parloops-exit-first-loop-alt-5.c: Same. - * gcc.dg/parloops-exit-first-loop-alt-6.c: Same. - * gcc.dg/parloops-exit-first-loop-alt-7.c: Same. - * gcc.dg/parloops-exit-first-loop-alt-pr66652.c: Same. - * gcc.dg/parloops-exit-first-loop-alt.c: Same. - * gfortran.dg/parloops-exit-first-loop-alt-2.f95: Same. - * gfortran.dg/parloops-exit-first-loop-alt.f95: Same. - -2015-07-24 Ilya Enkovich - - PR ipa/66566 - * gcc.target/i386/mpx/pr66566.c: New test. - -2015-07-24 H.J. Lu - - PR bootstrap/66978 - * gcc.target/i386/pr66978.c: New test. - -2015-07-24 Andreas Krebbel - - * gcc.target/s390/gpr2fprsavecfi.c: New test. - -2015-07-24 Andreas Krebbel - - * gcc.target/s390/insv-1.c: New test. - * gcc.target/s390/insv-2.c: New test. - * gcc.target/s390/insv-3.c: New test. - -2015-07-24 Tom de Vries - - * gcc.dg/autopar/uns-outer-4.c: Remove loopfn xfail. - -2015-07-24 Naveen H.S - - PR middle-end/25530 - * gcc.dg/pr25530.c: New test. - -2015-07-24 Naveen H.S - - PR middle-end/25529 - * gcc.dg/pr25529.c: New test. - -2015-07-23 Kugan Vivekanandarajah - - * gcc.target/arm/reg_equal_test.c: New test. - -2015-07-23 Jeff Law - - PR lto/66752 - * gcc.dg/tree-ssa/pr66752-2.c: New test. - * gcc.dg/torture/pr66752-1.c: New test - * g++.dg/torture/pr66752-2.C: New test. - -2015-07-23 Marek Polacek - - PR c++/66572 - * g++.dg/warn/Wlogical-op-2.C: New test. - -2015-07-23 Alexandre Oliva - - PR rtl-optimization/64164 - * gcc.dg/guality/pr54200.c: Add -fno-tree-coalesce-vars. - * gcc.dg/ssp-1.c: Make counter a register. - * gcc.dg/ssp-2.c: Likewise. - * gcc.dg/torture/parm-coalesce.c: New. - -2015-07-23 Marek Polacek - - PR sanitizer/66908 - * c-c++-common/ubsan/pr66908.c: New test. - -2015-07-23 Tom de Vries - - * gcc.dg/autopar/outer-4.c: Add xfail. - * gcc.dg/autopar/outer-5.c: Same. - * gcc.dg/autopar/outer-6.c: Same. - * gcc.dg/autopar/reduc-2.c: Same. - * gcc.dg/autopar/reduc-2char.c: Same. - * gcc.dg/autopar/reduc-2short.c: Same. - * gcc.dg/autopar/reduc-8.c: Same. - * gcc.dg/autopar/uns-outer-4.c: New test. - * gcc.dg/autopar/uns-outer-5.c: New test. - * gcc.dg/autopar/uns-outer-6.c: New test. - -2015-07-23 Richard Biener - - PR tree-optimization/66952 - * gcc.dg/torture/pr66952.c: Use signed char. - -2015-07-23 Yuri Rumyantsev - - PR tree-optimization/66926,66951 - * gcc.dg/vect/pr66951.c: New test. - -2015-07-23 Paolo Carlini - - PR c++/52987 - * g++.dg/parse/error57.C: New. - * g++.dg/expr/string-2.C: Update. - -2015-07-23 Richard Biener - - PR tree-optimization/66945 - * gcc.dg/torture/pr66945.c: New testcase. - -2015-07-22 Uros Bizjak - - PR target/66954 - * g++.dg/ext/mv24.C: New test. - -2015-07-22 Marek Polacek - - * gcc.dg/vmx/unpack.c: Use dg-additional-options rather than - dg-options. - -2015-07-22 Mikael Morin - - PR fortran/61831 - PR fortran/66929 - * gfortran.dg/generic_30.f90: New. - -2015-07-22 Richard Biener - - PR tree-optimization/66952 - * gcc.dg/torture/pr66952.c: New testcase. - -2015-07-22 Charles Baylis - - * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_p8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s16_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u16_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_p8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s16_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u16_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_p8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s16_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u16_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_p8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s16_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u16_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_p8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s16_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u16_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_p8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s16_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u16_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_p8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s16_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u16_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_p8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s16_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u16_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_p8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s16_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u16_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_p8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s16_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u16_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_p8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s16_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u16_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_p8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s16_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s8_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u16_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u32_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u64_indices_1.c: New - test. - * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u8_indices_1.c: New - test. - -2015-07-21 Paolo Carlini - - * g++.dg/template/crash81.C: Update. - -2015-07-21 Vladimir Makarov - - PR ipa/66424. - * gcc.target/i386/pr66424.c: New. - -2015-07-21 Alex Velenko - - * gcc.target/arm/thumb-bitfld1.c (foo): Add explicit return type. - -2015-07-21 Mikael Morin - - PR fortran/61831 - * gfortran.dg/derived_constructor_comps_6.f90: Fix dg directive. - Drop address sanitization. - -2015-07-21 Alex Velenko - - * gcc.target/arm/split-live-ranges-for-shrink-wrap.c (dg-skip-if): - Skip -march=armv4t. - (dg-additional-options): Set armv5t flag. - -2015-07-21 Marek Polacek - - * gcc.dg/vmx/unpack-be-order.c: Use -Wno-shift-overflow. - * gcc.dg/vmx/unpack.c: Likewise. - * gcc.target/powerpc/quad-atomic.c: Likewise. - -2015-07-20 Uros Bizjak - - * gcc.target/i386/asm-flag-5.c (f_ll): New. - -2015-07-20 Jiong Wang - - * gcc.target/aarch64/got_mem_hoist.c (dg-skip-if): Skip tiny and large - model. - -2015-07-20 Marek Polacek - - PR c++/55095 - * c-c++-common/Wshift-overflow-1.c: New test. - * c-c++-common/Wshift-overflow-2.c: New test. - * c-c++-common/Wshift-overflow-3.c: New test. - * c-c++-common/Wshift-overflow-4.c: New test. - * c-c++-common/Wshift-overflow-5.c: New test. - * g++.dg/cpp1y/left-shift-1.C: New test. - * gcc.dg/c90-left-shift-2.c: New test. - * gcc.dg/c90-left-shift-3.c: New test. - * gcc.dg/c99-left-shift-2.c: New test. - * gcc.dg/c99-left-shift-3.c: New test. - * gcc.dg/pr40501.c: Use -Wno-shift-overflow. - * gcc.c-torture/execute/pr40386.c: Likewise. - * gcc.dg/vect/pr33373.c: Likewise. - * gcc.dg/vect/vect-shift-2-big-array.c: Likewise. - * gcc.dg/vect/vect-shift-2.c: Likewise. - -2015-07-20 Kyrylo Tkachov - - * gcc.target/aarch64/neg_abs_1.c: New test. - -2015-07-18 Uros Bizjak - - PR target/66922 - * gcc.target/i386/pr66922.c: New test. - -2015-07-18 Sebastian Pop - - PR middle-end/46851 - PR middle-end/60340 - * gcc.dg/tree-ssa/pr42327.c: Removed. - * g++.dg/other/pr35011.C: Removed. - -2015-07-17 H.J. Lu - - PR target/66906 - * gcc.target/i386/pr66906.c: New test. - -2015-07-17 Mikael Morin - - * gfortran.dg/coarray_collectives_16.f90: Fix pattern - as follow-up to r225930. - -2015-07-17 Paul Thomas - - PR fortran/52846 - * lib/fortran-modules.exp (proc cleanup-submodules): New - procedure. - * gfortran.dg/submodule_1.f08: Change extension and clean up - the submodule files. - * gfortran.dg/submodule_2.f08: ditto - * gfortran.dg/submodule_6.f08: ditto - * gfortran.dg/submodule_7.f08: ditto - * gfortran.dg/submodule_8.f08: New test - * gfortran.dg/submodule_9.f08: New test - -2015-07-17 Aditya Kumar - Sebastian Pop - - PR middle-end/61929 - * gcc.dg/graphite/pr61929.c: New. - -2015-07-17 Marek Polacek - - * gcc.dg/fold-minus-7.c: New test. - -2015-07-17 Alessandro Fanfarillo - - * gfortran.dg/co_reduce_1.f90: New file. - -2015-07-17 H.J. Lu - - PR target/66824 - * gcc.target/i386/pr66824.c: - -2015-07-17 Andre Vehreschild - - PR fortran/66035 - * gfortran.dg/structure_constructor_13.f03: New test. - -2015-07-17 Mikael Morin - - PR fortran/61831 - * gfortran.dg/alloc_comp_auto_array_3.f90: Count the number - of generated while loops in the tree dump. - * gfortran.dg/derived_constructor_comps_6.f90: New file. - -2015-07-17 Yuri Rumyantsev - - * gcc.dg/vect/vect-outer-simd-2.c: New test. - -2015-07-17 Uros Bizjak - - PR target/66891 - * gcc.target/i386/pr66891.c: New test. - -2015-07-16 Kyrylo Tkachov - - * gcc.target/arm/no-volatile-in-it.c: Skip if -mcpu is overriden. - -2015-07-16 Vladimir Makarov - - PR rtl-optimization/66626 - * gcc.target/i386/pr66626-2.c: New. - -2015-07-16 Richard Biener - - PR tree-optimization/66894 - * gcc.dg/torture/pr66894.c: New testcase. - -2015-07-16 Richard Biener - - * gcc.dg/tree-ssa/pr21031.c: Adjust. - -2015-07-16 Uros Bizjak - - PR target/66866 - * g++.dg/pr66866.C: New test. - -2015-07-15 Bill Schmidt - - * gcc.target/powerpc/vec-cmp-sel.c: New test. - -2015-07-15 Richard Biener - - * lib/objc-torture.exp (OBJC_TORTURE_OPTIONS): Remove - { -O3 -fomit-frame-pointer }, - { -O3 -fomit-frame-pointer -funroll-loops } and - { -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions } - in favor of - { -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer - -finline-functions } - -2015-07-15 Robert Suchanek - - * gcc.target/mips/interrupt_handler-5.c: New test. - -2015-07-15 Matthew Fortune - Robert Suchanek - - * gcc.target/mips/interrupt_handler-4.c: New test. - -2015-07-15 Ilya Enkovich - - PR testsuite/66734 - * gcc.dg/lto/lto.exp: Initialize MPX. - -2015-07-15 Kyrylo Tkachov - - * gcc.target/arm/scd42-1.c: Add -mfloat-abi=softfp and appropriate - dg-skip-if. - * gcc.target/arm/scd42-3.c: Likewise. - -2015-07-15 Andrew Bennett - - * gcc.target/mips/mips.exp (mips-dg-options): Allow the post-arch - code to be run when the pre-arch code increases the isa_rev to - mips32r6 or greater. - -2015-07-15 Richard Biener - - * lib/c-torture.exp (C_TORTURE_OPTIONS): Remove - { -O3 -fomit-frame-pointer }, - { -O3 -fomit-frame-pointer -funroll-loops } and - { -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions } - in favor of - { -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer - -finline-functions } - * lib/gcc-dg.exp (DG_TORTURE_OPTIONS): Likewise. - * gcc.c-torture/execute/builtins/builtins.exp: Add -fno-tracer - to additional_flags. - -2015-07-15 Uros Bizjak - - PR rtl-optimization/66838 - * gcc.target/i386/pr66838.c: New test. - -2015-07-14 Patrick Palka - - PR c++/66850 - * g++.dg/template/pr66850.C: New test. - -2015-07-14 Sandra Loosemore - Cesar Philippidis - Chung-Lin Tang - - * gcc.target/nios2/nios2-flushd.c: New. - * gcc.target/nios2/nios2-rdprs.c: New. - * gcc.target/nios2/r2-atomic.c: New. - * gcc.target/nios2/r2-eni.c: New. - * gcc.target/nios2/r2-wrpie.c: New. - -2015-07-14 Sandra Loosemore - Cesar Philippidis - Chung-Lin Tang - - * gcc.target/nios2/cdx-ldstwm-1.c: New. - * gcc.target/nios2/cdx-ldstwm-2.c: New. - -2015-07-14 Sandra Loosemore - Cesar Philippidis - Chung-Lin Tang - - * gcc.target/nios2/andci.c: New. - * gcc.target/nios2/bmx.c: New. - * gcc.target/nios2/cdx-add.c: New. - * gcc.target/nios2/cdx-branch.c: New. - * gcc.target/nios2/cdx-callret.c: New. - * gcc.target/nios2/cdx-loadstore.c: New. - * gcc.target/nios2/cdx-logical.c: New. - * gcc.target/nios2/cdx-mov.c: New. - * gcc.target/nios2/cdx-shift.c: New. - * gcc.target/nios2/cdx-sub.c: New. - * gcc.target/nios2/nios2-trap-insn.c: Adjust pattern. - -2015-07-14 Andrea Azzarone - - PR c++/65071 - * g++.dg/cpp0x/vt-65071.C: New. - -2015-07-14 Sandra Loosemore - Cesar Philippidis - Chung-Lin Tang - - * gcc.target/nios2/r2-io-range.c: New. - * gcc.target/nios2/r2-stio-1.c: New. - * gcc.target/nios2/r2-stio-2.c: New. - * gcc.target/nios2/nios2-ldxio.c: New. - * gcc.target/nios2/nios2-stxio.c: Change to assemble test instead - of just compile. Add more tests. - -2015-07-14 Steven G. Kargl - - gfortran.dg/pr66864.f90: New test. - -2015-07-14 Vladimir Makarov - - PR rtl-optimization/66626 - * gcc.target/i386/pr66626.c: New. - -2015-07-14 Sandra Loosemore - - * gcc.target/nios2/nios2-stack-check-1.c: Adjust patterns. - * gcc.target/nios2/nios2-stack-check-2.c: Likewise. - * gcc.target/nios2/nios2-stack-check-3.c: New test case. - -2015-07-14 Paolo Carlini - - * g++.dg/template/crash81.C: Adjust for error + inform change. - * g++.dg/template/pr58878.C: Likewise. - * g++.dg/template/shadow1.C: Likewise. - * g++.dg/template/shadow2.C: Likewise. - * g++.old-deja/g++.benjamin/tem03.C: Likewise. - * g++.old-deja/g++.benjamin/tem04.C: Likewise. - * g++.old-deja/g++.brendan/crash7.C: Likewise. - * g++.old-deja/g++.pt/shadow2.C: Likewise. - -2015-07-14 Richard Biener - - PR tree-optimization/66863 - * gcc.dg/torture/pr66863.c: New testcase. - -2015-07-13 Patrick Palka - - PR c++/65186 - * g++.dg/template/pr65186.C: New test. - -2015-07-13 Mantas Mikaitis - - * gcc.target/arm/macro_defs0.c: Add directive to skip - test if -marm is present. - * gcc.target/arm/macro_defs1.c: Likewise. - -2015-07-13 Kyrylo Tkachov - - * gcc.target/aarch64/adds3.c: Adjust for more aggressive - if-conversion.. - * gcc.target/aarch64/adds1.c: Likewise. - * gcc.target/aarch64/ands_1.c: Likewise. - * gcc.target/aarch64/bics_1.c: Likewise. - * gcc.target/aarch64/subs1.c: Likewise. - * gcc.target/aarch64/subs3.c: Likewise. - -2015-07-13 Andre Vehreschild - - PR fortran/64589 - * gfortran.dg/pr64589.f90: New test. - -2015-07-13 Renlin Li - - PR rtl/66556 - * gcc.c-torture/execute/pr66556.c: New. - -2015-07-12 Aldy Hernandez - - * gcc.dg/20020219-1.c: Fix double word typos. - * gcc.dg/20020919-1.c: Same. - -2015-07-12 Kugan Vivekanandarajah - Jeff Law - - PR middle-end/66726 - * g++.dg/tree-ssa/pr66726.c: New test. - * gcc.dg/tree-ssa/pr66726-2.c: New test. - * gcc.dg/tree-ssa/pr66726.c: New test. - -2015-07-11 Paolo Carlini - - PR c++/58734 - * g++.dg/cpp0x/variadic-ttp2.C: New. - -2015-07-10 Patrick Palka - - PR c++/30044 - * g++.dg/cpp0x/auto46.C: New test. - * g++.dg/template/pr30044.C: New test. - * g++.dg/template/shadow2.C: New test. - * g++.dg/template/error55.C: New test. - * g++.dg/template/crash83.C: Accept any error string. - * g++.dg/cpp0x/variadic18.C: Adjust to avoid shadowing template - parameters. - * g++.dg/cpp0x/variadic19.C: Likewise - * g++.dg/template/canon-type-13.C: Likewise. - * g++.old-deja/g++.pt/ttp42.C: Likewise. - * g++.dg/torture/20070621-1.C: Likewise. - -2015-07-10 Paolo Carlini - - PR c++/54521 - * g++.dg/init/explicit3.C: New. - -2015-07-10 H.J. Lu - - PR target/66819 - * gcc.target/i386/pr66819-1.c: New test. - * gcc.target/i386/pr66819-2.c: Likewise. - * gcc.target/i386/pr66819-3.c: Likewise. - * gcc.target/i386/pr66819-4.c: Likewise. - * gcc.target/i386/pr66819-5.c: Likewise. - -2015-07-10 Uros Bizjak - - PR target/66703 - * gcc.target/i386/readeflags-1.c (readeflags_test): Declare with - __attribute__((noinline, noclone)). Change "x" to "volatile char" - type to prevent possible flag-clobbering zero-extensions. - * gcc.target/i386/pr66703.c: New test. - -2015-07-10 Paolo Carlini - - PR c++/60842 - * g++.dg/cpp0x/nsdmi-template15.C: New. - -2015-07-10 Jiong Wang - - * gcc.target/aarch64/got_mem_hoist_1.c: New test. - -2015-07-10 Christophe Lyon - - * gcc.target/arm/attr_thumb.c: Skip if Thumb is not supported. - * gcc.target/arm/flip-thumb.c: Likewise. - -2015-07-10 Uros Bizjak - - PR target/66813 - * gcc.target/i386/pr66813.c: New test. - -2015-07-10 Jakub Jelinek - - PR middle-end/66820 - * gcc.dg/gomp/pr66820.c: New test. - -2015-07-10 Paolo Carlini - - PR c++/65592 - * g++.dg/cpp0x/scoped_enum6.C: New. - -2015-07-10 Tom de Vries - - * gfortran.dg/parloops-exit-first-loop-alt-2.f95: New test. - * gfortran.dg/parloops-exit-first-loop-alt.f95: New test. - -2015-07-10 Richard Biener - - PR tree-optimization/66823 - * gcc.dg/vect/pr61194.c: Remove -ftree-loop-if-convert-stores - which should not be necessary. XFAIL. - -2015-07-09 Paolo Carlini - - PR c++/64848 - * g++.dg/cpp0x/lambda/lambda-ice14.C: New. - -2015-07-09 Jakub Jelinek - - PR middle-end/66633 - * gcc.dg/gomp/pr66633-1.c: New test. - * gcc.dg/gomp/pr66633-2.c: New test. - * gcc.dg/gomp/pr66633-3.c: New test. - * gcc.dg/gomp/pr66633-4.c: New test. - -2015-07-09 John Marino - - * lib/target-supports.exp (check_effective_target_pie): - Add *-*-dragonfly* - -2015-07-09 Uros Bizjak - - PR target/66814 - * gcc.target/i386/pr66814.c: New test. - -2015-07-09 Szabolcs Nagy - - PR target/66731 - * gcc.target/aarch64/fnmul-1.c: Fix whitespace. - * gcc.target/aarch64/fnmul-2.c: Likewise. - * gcc.target/aarch64/fnmul-3.c: Likewise. - * gcc.target/aarch64/fnmul-4.c: Likewise. - -2015-07-09 Paolo Carlini - - PR c++/65790 - * g++.dg/cpp0x/vt-65790.C: New. - -2015-07-09 H.J. Lu - - PR target/66818 - * gcc.target/i386/pr66818.c: New test. - -2015-07-09 H.J. Lu - - PR target/66817 - * gcc.target/i386/pr66817.c: New test. - -2015-07-09 Marek Polacek - - PR tree-optimization/66718 - * gcc.dg/vect/vect-126.c: New test. - -2015-07-08 Carlos Sánchez de La Lama - - * g++.dg/debug/dwarf2/*.C: generate dwarf-2 debug information - even when dwarf-2 is not the default. - -2015-07-08 Jeff Law - - PR testsuite/66796 - * gcc.target/hppa/shadd-1.c: Avoid the read-modify-write so as - to have a single memory reference. - -2015-07-08 Eric Botcazou - - * g++.dg/other/dump-ada-spec-9.C: New test. - -2015-07-08 Jakub Jelinek - - * g++.dg/vect/vect.exp: Run also simd* tests. - * gcc.dg/vect/tree-vect.h (abort, exit): For C++ use extern "C". - (check_vect): Fix up get_cpuid call for C++. - * g++.dg/vect/simd-clone-1.cc: New test. - -2015-07-08 H.J. Lu - - * gcc.target/i386/pr37870.c (dg-options): Add -mlong-double-80. - -2015-07-08 H.J. Lu - - * gcc.target/i386/readeflags-1.c (abort): New prototype. - * gcc.target/i386/writeeflags-1.c (abort): Likewise. - -2015-07-08 H.J. Lu - - PR target/66806 - * gcc.target/i386/pr66806.c: New test. - -2015-07-08 Paolo Carlini - - PR c++/66421 - * g++.dg/cpp0x/auto45.C: New. - -2015-07-08 Vladimir Makarov - - PR middle-end/66334 - * gcc.target/i386/pr66334.c: New. - -2015-07-08 David Malcolm - - * jit.dg/test-error-gcc_jit_block_end_with_switch-NULL-case.c: Fix - comments. - -2015-07-08 David Malcolm - - PR jit/66783 - * jit.dg/test-error-gcc_jit_context_new_field-opaque-struct.c - (verify_code): Update expected error message. - * jit.dg/test-error-gcc_jit_context_new_global-opaque-struct.c - (verify_code): Likewise. - * jit.dg/test-error-gcc_jit_function_new_local-opaque-struct.c - (verify_code): Likewise. - -2015-07-08 Richard Biener - - PR tree-optimization/66793 - * gcc.dg/torture/pr66793.c: New testcase. - -2015-07-08 Richard Biener - - PR tree-optimization/66794 - * gcc.dg/torture/pr66794.c: New testcase. - -2015-07-08 Marek Polacek - - PR c++/66748 - * g++.dg/abi/abi-tag15.C: New test. - -2015-07-08 Andrew Bennett - - * gcc.target/mips/branch-2.c: Change NOMIPS16 to NOCOMPRESSION. - * gcc.target/mips/branch-3.c: Ditto - * gcc.target/mips/branch-4.c: Ditto. - * gcc.target/mips/branch-5.c: Ditto. - * gcc.target/mips/branch-6.c: Ditto. - * gcc.target/mips/branch-7.c: Ditto. - * gcc.target/mips/branch-8.c: Ditto. - * gcc.target/mips/branch-9.c: Ditto. - * gcc.target/mips/branch-10.c: Ditto. - * gcc.target/mips/branch-11.c: Ditto. - * gcc.target/mips/branch-12.c: Ditto. - * gcc.target/mips/branch-13.c: Ditto. - * gcc.target/mips/umips-branch-5.c: New file. - * gcc.target/mips/umips-branch-6.c: New file. - * gcc.target/mips/umips-branch-7.c: New file. - * gcc.target/mips/umips-branch-8.c: New file. - * gcc.target/mips/umips-branch-9.c: New file. - * gcc.target/mips/umips-branch-10.c: New file. - * gcc.target/mips/umips-branch-11.c: New file. - * gcc.target/mips/umips-branch-12.c: New file. - * gcc.target/mips/umips-branch-13.c: New file. - * gcc.target/mips/umips-branch-14.c: New file. - * gcc.target/mips/umips-branch-15.c: New file. - * gcc.target/mips/umips-branch-16.c: New file. - * gcc.target/mips/branch-helper.h (OCCUPY_0x10000): New define. - (OCCUPY_0xfffc): New define. - -2015-07-08 Renlin Li - - * gcc.target/arm/unsigned-float.c: Different options for hf toolchain. - -2015-07-08 Andrew Bennett - - * gcc.target/mips/stack-1.c: Do not build the testcase for micromips. - -2015-07-07 Uros Bizjak - - * gcc.target/i386/bt-3.c: New test. - * gcc.target/i386/bt-4.c: Ditto. - -2015-07-07 Eric Botcazou - - * g++.dg/other/dump-ada-spec-8.C: New test. - -2015-07-07 David Malcolm - - PR jit/66783 - * jit.dg/test-error-gcc_jit_context_new_field-opaque-struct.c: New - test case. - * jit.dg/test-error-gcc_jit_context_new_global-opaque-struct.c: - New test case. - * jit.dg/test-error-gcc_jit_function_new_local-opaque-struct.c: - New test case. - * jit.dg/test-error-mismatching-types-in-call.c (create_code): - Avoid using an opaque struct for local "f". - -2015-07-07 David Malcolm - - PR jit/66779 - * jit.dg/all-non-failing-tests.h: Add test-pr66779.c. - * jit.dg/test-pr66779.c: New testcase. - -2015-07-07 Andrew Bennett - - * gcc.target/mips/no-smartmips-lwxs.c: Change NOMIPS16 to - NOCOMPRESSION. - -2015-07-07 Richard Biener - - * gcc.dg/vect/vect-over-widen-3-big-array.c: Adjust. - -2015-07-07 Andrew Bennett - - * gcc.target/mips/call-1.c: Allow testcase to match the jrc instruction. - * gcc.target/mips/call-5.c: Ditto. - * gcc.target/mips/call-6.c: Ditto. - -2015-07-07 Prathamesh Kulkarni - - * gcc.dg/dx-test.c: New test-case. - -2015-07-07 Andre Vehreschild - - PR fortran/66578 - * gfortran.dg/allocate_with_source_9.f08: New test. - -2015-07-07 Christian Bruel - - PR target/52144 - * gcc.target/arm/flip-thumb.c: Fix scan. - * gcc.target/arm/attr_thumb.c: Test for all targets. Fix scan. - * gcc.target/arm/attr_arm.c: Test for all targets. Fix scan. - * gcc.target/arm/attr_thumb-static.c: Test for all targets. - Fix return value. - -2015-07-06 Jakub Jelinek - - PR target/65956 - * gcc.c-torture/execute/pr65956.c: New test. - -2015-07-06 Alan Lawrence - - * gcc.target/arm/aapcs/align1.c: New. - * gcc.target/arm/aapcs/align_rec1.c: New. - * gcc.target/arm/aapcs/align2.c: New. - * gcc.target/arm/aapcs/align_rec2.c: New. - * gcc.target/arm/aapcs/align3.c: New. - * gcc.target/arm/aapcs/align_rec3.c: New. - * gcc.target/arm/aapcs/align4.c: New. - * gcc.target/arm/aapcs/align_rec4.c: New. - * gcc.target/arm/aapcs/align_vararg1.c: New. - * gcc.target/arm/aapcs/align_vararg2.c: New. - -2015-07-06 Steven G. Kargl - - * gfortran.dg/iomsg_2.f90: New test. - -2015-07-06 H.J. Lu - - PR target/66749 - * gcc.target/i386/pr66749.c: New test. - -2015-07-06 Richard Biener - - PR tree-optimization/66772 - * gcc.dg/torture/pr66772-1.c: New testcase. - * gcc.dg/torture/pr66772-2.c: Likewise. - -2015-07-06 Andrew Bennett - - * gcc.target/mips/near-far-3.c: Allow the call to near_func to use - the jals instruction. - -2015-07-06 H.J. Lu - - PR target/53383 - * gcc.target/i386/pr53383-1.c: New file. - * gcc.target/i386/pr53383-2.c: Likewise. - * gcc.target/i386/pr53383-3.c: Likewise. - -2015-07-06 Szabolcs Nagy - - * gcc.target/aarch64/fnmul-1.c: New. - * gcc.target/aarch64/fnmul-2.c: New. - * gcc.target/aarch64/fnmul-3.c: New. - * gcc.target/aarch64/fnmul-4.c: New. - -2015-07-06 Richard Biener - - PR middle-end/66759 - * gcc.dg/torture/pr66759.c: New testcase. - -2015-07-06 Andre Vehreschild - - PR fortran/58586 - * gfortran.dg/alloc_comp_class_3.f03: New test. - * gfortran.dg/alloc_comp_class_4.f03: New test. - -2015-07-06 Eric Botcazou - - * gcc.c-torture/execute/pr66757.c: New test. - -2015-07-06 Bin Cheng - - PR tree-optimization/66720 - * gcc.dg/vect/pr48052.c: Use dg-require-effective-target vect_int_mult. - -2015-07-05 Chung-Lin Tang - Sandra Loosemore - - * gcc.target/nios2/gprel-offset.c: New test. - -2015-07-04 Steven G. Kargl - - PR fortran/66725 - * gfortran.dg/pr66725.f90: New test. - -2015-07-03 Jason Merrill - - * gcc.dg/plugin/wide-int_plugin.c (test_double_int_round_udiv): - Avoid narrowing error. - -2015-07-03 Segher Boessenkool - - PR rtl-optimization/66706 - * gcc.target/powerpc/shift-int.c: New testcase. - -2015-07-03 H.J. Lu - - PR target/66746. - * gcc.target/i386/pr66746.c: New file. - -2015-07-03 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vget_lane.c: New testcase. - -2015-07-03 James Greenhalgh - - PR tree-optimization/66119 - * g++.dg/opt/pr66119.C: New. - -2015-07-02 Paul Thomas - - PR fortran/52846 - * gfortran.dg/submodule_1.f90: New test - * gfortran.dg/submodule_2.f90: New test - * gfortran.dg/submodule_3.f90: New test - * gfortran.dg/submodule_4.f90: New test - * gfortran.dg/submodule_5.f90: New test - * gfortran.dg/submodule_6.f90: New test - * gfortran.dg/submodule_7.f90: New test - -2015-07-02 Paolo Carlini - - PR preprocessor/53690 - * g++.dg/cpp/pr53690.C: New. - -2015-07-02 Bill Schmidt - - * gcc.target/powerpc/vec-cmp.c: New test. - -2015-07-02 Steven G. Kargl - - PR fortran/56520 - * gfortran.dg/pr56520.f90: New test. - -2015-07-02 Steven G. Kargl - - PR fortran/66545 - * gfortran.dg/pr66545_1.f90: New test. - * gfortran.dg/pr66545_2.f90: New test. - -2015-07-02 Alan Lawrence - - * gcc.dg/vect/vect-strided-a-u16-i4.c (main1): Narrow scope of x,y,z,w. - * gcc.dg/vect/vect-ifcvt-11.c: New testcase. - -2015-07-02 Richard Biener - - PR testsuite/66719 - * gcc.dg/vect/bb-slp-32.c: Re-add XFAIL for targets not supporting - unaligned loads. - -2015-07-02 Richard Biener - - * gcc.dg/tree-ssa/ssa-dom-cse-4.c: New testcase. - -2015-07-01 H.J. Lu - - * gcc.target/i386/mpx/pr66568.c (exit): New prototype. - -2015-07-01 Jason Merrill - - * lib/target-supports.exp (cxx_default): Set to C++14. - -2015-07-01 Tom de Vries - - PR testsuite/66723 - * gcc.target/i386/vararg-loc.c: Use scan-rtl-dump instead of - scan-assembler. - -2015-07-01 Thomas Koenig - - * gfortran.dg/warn_conversion_8.f90: New test. - -2015-07-01 Bernd Edlinger - - PR rtl-optimization/61047 - * gcc.c-torture/execute/20150611-1.c: New testcase. - -2015-07-01 David Malcolm - - PR jit/66700 - * jit.dg/all-non-failing-tests.h: Add - test-pr66700-observing-write-through-ptr.c. - * jit.dg/test-pr66700-observing-write-through-ptr.c: New testcase. - -2015-07-01 David Malcolm - - * jit.dg/test-accessing-union.c: Add comments for use by - gcc/jit/docs/topics/types.rst. - -2015-07-01 Matthew Wahab - - * gcc.target/arm/armv8-sync-comp-swap.c: Replace - 'do-require-effective-target' with 'dg-require-effective-target'. - * gcc.target/arm/armv8-sync-op-full.c: Likewise. - * gcc.target/arm/armv8-sync-op-release.c: Likewise. - * gcc.target/arm/armv8-sync-op-acquire.c: Likewise. Also, replace - 'stlex' with 'strex' as the expected output. - -2015-07-01 Paolo Carlini - - PR c++/60365 - * g++.dg/cpp0x/gen-attrs-60.C: New. - * g++.dg/cpp1y/attr-deprecated-2.C: Likewise. - -2015-07-01 Jiong Wang - - * lib/target-supports.exp (check_effective_target_aarch64_small_fpic): - New function. - * gcc.target/aarch64/pic-small.c: Restrict this test under - check_effective_target_aarch64_small_fpic. - -2015-07-01 Eric Botcazou - - * gfortran.dg/gomp/pr66633.f90: New test. - -2015-07-01 Patrick Palka - - PR c++/66686 - * g++.dg/template/pr66686.C: New test. - -2015-06-30 Eric Botcazou - - * gnat.dg/lto17.ad[sb]: New test. - -2015-06-30 David Malcolm - - * jit.dg/all-non-failing-tests.h: Add test-switch.c. - * jit.dg/test-error-gcc_jit_block_end_with_switch-NULL-case.c: New - testcase. - * jit.dg/test-error-gcc_jit_block_end_with_switch-mismatching-case-type.c: - New testcase. - * jit.dg/test-error-gcc_jit_block_end_with_switch-overlapping-ranges.c: - New testcase. - * jit.dg/test-error-gcc_jit_context_new_case-non-const-label.c: - New testcase. - * jit.dg/test-error-gcc_jit_context_new_case-non-integer-type.c: - New testcase. - * jit.dg/test-error-gcc_jit_context_new_case-reversed-endpoints.c: - New testcase. - * jit.dg/test-switch.c: New testcase. - * jit.dg/test-switch.cc: New testcase. - -2015-06-30 David Malcolm - - PR jit/66546 - * jit.dg/all-non-failing-tests.h: Add note about - test-validly-unreachable-block.c. - * jit.dg/test-validly-unreachable-block.c: New file. - -2015-06-30 David Malcolm - - PR jit/66628 - * jit.dg/all-non-failing-tests.h: Add note about - test-extra-options.c. - * jit.dg/test-extra-options.c: New testcase. - -2015-06-30 Vladimir Makarov - - PR debug/66691 - * gcc.target/i386/pr66691.c: New. - -2015-06-30 H.J. Lu - - * gcc.target/i386/iamcu/abi-iamcu.exp: New file. - * gcc.target/i386/iamcu/args.h: Likewise. - * gcc.target/i386/iamcu/asm-support.S: Likewise. - * gcc.target/i386/iamcu/defines.h: Likewise. - * gcc.target/i386/iamcu/macros.h: Likewise. - * gcc.target/i386/iamcu/test_3_element_struct_and_unions.c: Likewise. - * gcc.target/i386/iamcu/test_basic_64bit_returning.c: Likewise. - * gcc.target/i386/iamcu/test_basic_alignment.c: Likewise. - * gcc.target/i386/iamcu/test_basic_array_size_and_align.c: Likewise. - * gcc.target/i386/iamcu/test_basic_returning.c: Likewise. - * gcc.target/i386/iamcu/test_basic_sizes.c: Likewise. - * gcc.target/i386/iamcu/test_basic_struct_size_and_align.c: Likewise. - * gcc.target/i386/iamcu/test_basic_union_size_and_align.c: Likewise. - * gcc.target/i386/iamcu/test_bitfields.c: Likewise. - * gcc.target/i386/iamcu/test_complex_returning.c: Likewise. - * gcc.target/i386/iamcu/test_passing_floats.c: Likewise. - * gcc.target/i386/iamcu/test_passing_integers.c: Likewise. - * gcc.target/i386/iamcu/test_passing_structs.c: Likewise. - * gcc.target/i386/iamcu/test_passing_structs_and_unions.c: Likewise. - * gcc.target/i386/iamcu/test_passing_unions.c: Likewise. - * gcc.target/i386/iamcu/test_struct_returning.c: Likewise. - * gcc.target/i386/iamcu/test_varargs.c: Likewise. - -2015-06-30 Marek Polacek - - * gcc.dg/fold-minus-6.c: New test. - - * gcc.dg/fold-ior-3.c: New test. - -2015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net> - - Implement N4197 - Adding u8 character literals - * g++.dg/cpp1z/utf8.C: New. - * g++.dg/cpp1z/utf8-neg.C: New. - * g++.dg/cpp1z/udlit-utf8char.C: New. - -2015-06-30 Marek Polacek - - * gcc.dg/fold-ior-2.c (fn4): Swap operands. - -2015-06-30 Tom de Vries - - * gcc.dg/parloops-exit-first-loop-alt-5.c: New test. - * gcc.dg/parloops-exit-first-loop-alt-6.c: New test. - * gcc.dg/parloops-exit-first-loop-alt-7.c: New test. - * gcc.dg/parloops-exit-first-loop-alt.c: Update comment. - -2015-06-30 Marek Polacek - - * gcc.dg/fold-ior-2.c: New test. - -2015-06-30 Tom de Vries - - PR tree-optimization/66652 - * gcc.dg/parloops-exit-first-loop-alt-pr66652.c: New test. - * gcc.dg/parloops-exit-first-loop-alt-3.c (f): Rewrite using restrict - pointers. - * gcc.dg/parloops-exit-first-loop-alt.c: Same. - -2015-06-29 Paolo Carlini - - PR c++/65977 - * g++.dg/cpp0x/constexpr-friend-3.C: New. - * g++.dg/cpp0x/constexpr-friend-2.C: Adjust. - -2015-06-29 Manuel López-Ibáñez - - PR fortran/66605 - * gfortran.dg/wunused-parameter.f90: New test. - -2015-06-29 Richard Henderson - - * gcc.target/i386/asm-flag-1.c: New. - * gcc.target/i386/asm-flag-2.c: New. - * gcc.target/i386/asm-flag-3.c: New. - * gcc.target/i386/asm-flag-4.c: New. - * gcc.target/i386/asm-flag-5.c: New. - -2015-06-29 Marek Polacek - - PR c/66322 - * c-c++-common/pr60439.c: Add dg-prune-output and add switch cases. - * c-c++-common/pr66322.c: New test. - * g++.dg/eh/scope1.C: Remove dg-warning. - -2015-06-29 Richard Biener - - PR tree-optimization/66677 - * gcc.dg/vect/pr66677.c: New testcase. - -2015-06-29 Kugan Vivekanandarajah - - PR middle-end/64130 - * gcc.dg/tree-ssa/pr64130.c: New test. - -2015-06-26 Jiong Wang - - * gcc.target/aarch64/pic-small.c: New testcase. - -2015-06-26 Richard Biener - - * gcc.dg/tree-ssa/forwprop-25.c: Adjust. - -2015-06-26 Marek Polacek - - * gcc.dg/fold-and-1.c: New test. - * gcc.dg/fold-and-2.c: New test. - -2015-06-26 Eric Botcazou - - * gnat.dg/warn11.adb: Add missing dg directive. - * gnat.dg/warn12.adb: New test. - * gnat.dg/warn12_pkg.ads: New helper. - -2015-06-26 Richard Biener - - * gfortran.dg/reassoc_3.f90: Adjust. - -2015-06-26 Uros Bizjak - - PR target/66412 - * gcc.target/i386/pr66412.c: New test. - -2015-06-25 Richard Biener - - * gcc.dg/tree-ssa/pr52631.c: Disable forwprop. - -2015-06-25 Richard Sandiford - - * gcc.target/aarch64/vect-add-sub-cond.c: New test. - -2015-06-25 Richard Biener - - * gfortran.dg/vect/vect-9.f90: New testcase. - -2015-06-25 Nick Clifton - - * gcc.dg/stack-usage-1.c: Add SIZE values for V850, MN10300, - H8300 and M32R targets. - -2015-06-24 Manuel López-Ibáñez - - PR fortran/66528 - * gfortran.dg/maxerrors.f90: New test. - -2015-06-08 DJ Delorie - - * gcc.dg/torture/pr66345.c: Fix assumption about size_t type. - -2015-06-24 Alan Lawrence - - * gcc.target/aarch64/mgeneral-regs_3.c: New. - -2015-06-24 Alan Lawrence - - * gcc.target/aarch64/mgeneral-regs_1.c: New file. - * gcc.target/aarch64/mgeneral-regs_2.c: New file. - * gcc.target/aarch64/nofp_1.c: New file. - -2015-06-24 Edward Smith-Rowland <3dw4rd@verizon.net> - - Implement N3928 - Extending static_assert - * g++.dg/cpp0x/static_assert8.C: Adjust. - * g++.dg/cpp0x/static_assert12.C: New. - * g++.dg/cpp0x/static_assert13.C: New. - * g++.dg/cpp1y/static_assert1.C: New. - * g++.dg/cpp1y/static_assert2.C: New. - * g++.dg/cpp1z/static_assert-nomsg.C: New. - -2015-06-24 Adam Butcher - - PR c++/65750 - * g++.dg/cpp0x/trailing11.C: New. - -2015-06-24 Ramana Radhakrishnan - - * gcc.target/arm/fixed_float_conversion.c: Skip for inappropriate - multilibs. - * gcc.target/arm/memset-inline-10.c: Likewise. - * gcc.target/arm/pr58784.c: Likewise. - * gcc.target/arm/pr59985.C: Likewise. - * gcc.target/arm/vfp-1.c: Likewise and test only for the non fma cases. - -2015-06-24 Renlin Li - - * gcc.target/aarch64/arm_align_max_pwr.c: New. - * gcc.target/aarch64/arm_align_max_stack_pwr.c: New. - -2015-06-24 Patrick Palka - - Revert: - 2015-06-23 Patrick Palka - - PR c++/30044 - * g++.dg/cpp0x/auto45.C: New test. - * g++.dg/template/pr30044.C: New test. - * g++.dg/template/crash83.C: Accept any error string. - * g++.dg/cpp0x/variadic18.C: Adjust to not shadow template - parameters. - * g++.dg/cpp0x/variadic18.C: Likewise - * g++.dg/template/canon-type-13.C: Likewise. - * g++.old-deja/g++.pt/ttp42.C: Likewise. - -2015-06-24 Paolo Carlini - - PR c++/65811 - * g++.dg/other/linkage2.C: New. - -2015-06-24 Ramana Radhakrishnan - - PR target/63408 - * gcc.target/arm/pr63408.c: New test. - -2015-06-24 James Greenhalgh - - * lib/c-torture.exp: Don't call check_effective_target_lto - before setting up environment correctly. - * lib/gcc-dg.exp: Likewise, and protect - gcc_force_conventional_output. - -2015-06-24 Andreas Krebbel - - PR rtl-optimization/66306 - * gcc.target/s390/pr66306.c: New test. - -2015-06-24 Andreas Krebbel - - * gcc.target/s390/vector/vec-abi-1.c: Add gnu attribute check. - * gcc.target/s390/vector/vec-abi-attr-1.c: New test. - * gcc.target/s390/vector/vec-abi-attr-2.c: New test. - * gcc.target/s390/vector/vec-abi-attr-3.c: New test. - * gcc.target/s390/vector/vec-abi-attr-4.c: New test. - * gcc.target/s390/vector/vec-abi-attr-5.c: New test. - * gcc.target/s390/vector/vec-abi-attr-6.c: New test. - -2015-06-23 Chen Gang - - PR target/65803 - * gcc.c-torture/pr65803.c: New test. - -2015-06-23 Patrick Palka - - PR c++/30044 - * g++.dg/cpp0x/auto45.C: New test. - * g++.dg/template/pr30044.C: New test. - * g++.dg/template/crash83.C: Accept any error string. - * g++.dg/cpp0x/variadic18.C: Adjust to not shadow template - parameters. - * g++.dg/cpp0x/variadic18.C: Likewise - * g++.dg/template/canon-type-13.C: Likewise. - * g++.old-deja/g++.pt/ttp42.C: Likewise. - -2015-06-23 Marek Polacek - - * c-c++-common/Wlogical-op-3.c: New test. - -2015-06-23 Paolo Carlini - - PR c++/66254 - * g++.dg/cpp0x/scoped_enum5.C: New. - -2015-06-23 Richard Biener - - PR tree-optimization/66636 - * gcc.dg/vect/pr66636.c: New testcase. - -2015-06-23 Marek Polacek - - * gcc.dg/fold-minus-4.c: New test. - * gcc.dg/fold-minus-5.c: New test. - * c-c++-common/ubsan/overflow-add-5.c: New test. - -2015-06-23 James Greenhalgh - - Add missing testcase from r224672. - 2015-06-19 James Greenhalgh - - * gcc.target/vax/bswapdi-1.c: New. - -2015-06-23 Andre Vehreschild - - PR fortran/64674 - * gfortran.dg/associate_18.f08: New test. - -2015-06-23 Uros Bizjak - - PR target/66560 - * gcc.target/i386/pr66560-1.c: New test. - * gcc.target/i386/pr66560-2.c: Ditto. - * gcc.target/i386/pr66560-3.c: Ditto. - * gcc.target/i386/pr66560-4.c: Ditto. - -2015-06-23 Thomas Schwinge - - * gcc.target/nvptx/nvptx.exp: New file. - * gcc.target/nvptx/proto-1.c: Likewise. - -2015-06-23 Bin Cheng - - PR tree-optimization/66449 - * gcc.dg/vect/pr66449.c: New test. - -2015-06-22 Pierre-Marie de Rodat - - * g++.dg/other/dump-ada-spec-5.C: New test. - * g++.dg/other/dump-ada-spec-6.C: Likewise. - * g++.dg/other/dump-ada-spec-7.C: Likewise. - -2015-06-22 Paolo Carlini - - * g++.dg/inherit/pure1.C: Test location too. - -2015-06-22 Marek Polacek - - * gcc.dg/fold-ior-1.c: New test. - * gcc.dg/fold-minus-2.c: New test. - * gcc.dg/fold-minus-3.c: New test. - * gcc.dg/fold-plus-1.c: New test. - * gcc.dg/fold-plus-2.c: New test. - * gcc.dg/fold-xor-4.c: New test. - * gcc.dg/fold-xor-5.c: New test. - -2015-06-22 Bill Schmidt - - PR target/65914 - * g++.dg/torture/pr65914.C: New. - -2015-06-22 Richard Biener - - * lib/c-torture.exp: Set LTO_TORTURE_OPTIONS conditional on - not existing TORTURE_OPTIONS only. - * lib/gcc-dg.exp: Likewise. - -2015-06-22 Christian Bruel - - PR target/52144 - * gcc.target/arm/flip-thumb.c: New test. - -2015-06-22 Jan Hubicka - Martin Liska - - PR ipa/65908 - * g++.dg/ipa/pr65908.C: New testcase. - -2015-06-20 Mikhail Maltsev - - PR c++/65882 - * g++.dg/diagnostic/inhibit-warn-1.C: New test. - * g++.dg/diagnostic/inhibit-warn-2.C: New test. - -2015-06-19 Eric Botcazou - - * gnat.dg/specs/debug1.ads: Adjust. - -2015-06-19 Jim Wilson - - * gcc.target/aarch64/fmovd-zero-mem.c: New. - * gcc.target/aarch64/fmovd-zero-reg.c: New. - * gcc.target/aarch64/fmovf-zero-mem.c: New. - * gcc.target/aarch64/fmovf-zero-reg.c: New. - * gcc.target/aarch64/fmovld-zero-mem.c: New. - * gcc.target/aarch64/fmovld-zero-mem.c: New. - * gcc.target/aarch64/fmovd-zero.c: Delete. - * gcc.target/aarch64/fmovf-zero.c: Delete. - -2015-06-19 James Greenhalgh - - * gcc.target/vax/bswapdi-1.c: New. - -2015-06-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vtst.c: New file. - -2015-06-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vtbX.c: New file. - -2015-06-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vstX_lane.c: New file. - -2015-06-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vst1_lane.c: New file. - -2015-06-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vsra_n.c: New file. - -2015-06-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vshrn_n.c: New file. - -2015-06-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vshl_n.c: New file. - -2015-06-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vshll_n.c: New file. - -2015-06-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vset_lane.c: New file. - -2015-06-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vrsra_n.c: New file. - -2015-06-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vrsqrts.c: New file. - -2015-06-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vrsqrte.c: New file. - -2015-06-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vrshrn_n.c: New file. - -2015-06-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vrshr_n.c: New file. - -2015-06-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vshr_n.c: New file. - -2015-06-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vrshl.c: New file. - -2015-06-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vrev.c: New file. - -2015-06-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vreinterpret.c: New file. - -2015-06-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vrecps.c: New file. - -2015-06-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h - (_ARM_FPSCR): Add FZ field. - (clean_results): Force FZ=1 on AArch64. - * gcc.target/aarch64/advsimd-intrinsics/vrecpe.c: New file. - -2015-06-19 Christophe Lyon - - * gcc.target/aarch64/pr62308.c: New test. - -2015-06-19 Mikael Morin - - PR fortran/66549 - * gfortran.dg/gomp/omp_parallel_1.f90: New file. - -2015-06-19 Ilya Enkovich - - * gcc.target/i386/mpx/pr66581.c: New test. - -2015-06-18 Uros Bizjak - - * gcc.target/i386/cmov9.c: New test. - -2015-06-18 Richard Biener - - * g++.dg/other/const4.C: New testcase. - -2015-06-18 Michael Matz - - PR middle-end/66253 - * gcc.dg/vect/pr66253.c: New testcase. - -2015-06-18 Ilya Enkovich - - PR target/66569 - * gcc.target/i386/mpx/chkp-vararg.c: New test. - -2015-06-18 Ilya Enkovich - - PR middle-end/66568 - * gcc.target/i386/mpx/pr66568.c: New test. - -2015-06-18 Ilya Enkovich - - PR middle-end/66567 - * gcc.target/i386/mpx/pr66567.c: New test. - -2015-06-18 Richard Biener - - PR tree-optimization/66510 - * gcc.dg/vect/slp-perm-12.c: New testcase. - -2015-06-17 Uros Bizjak - - * gcc.target/i386/noplt-1.c (dg-do): Fix target selector. - * gcc.target/i386/noplt-2.c (dg-do): Ditto. - * gcc.target/i386/noplt-3.c (dg-do): Ditto. - * gcc.target/i386/noplt-4.c (dg-do): Ditto. - -2015-06-17 Jakub Jelinek - - PR c++/66571 - * g++.dg/gomp/pr66571-1.C: New test. - - PR middle-end/66429 - * c-c++-common/gomp/pr66429.c: New test. - -2015-06-17 David Malcolm - - * jit.dg/test-error-accessing-field-in-other-struct.c: Rename to... - * jit.dg/test-error-gcc_jit_rvalue_dereference_field-wrong-struct.c: - ...this. - * jit.dg/test-error-gcc_jit_lvalue_access_field-wrong-struct.c: - New testcase. - * jit.dg/test-error-gcc_jit_rvalue_access_field-wrong-struct.c: - New testcase. - -2015-06-17 Uros Bizjak - - PR testsuite/65944 - * g++.dg/lto/pr65276_0.C: Add std2::exception::~exception() function. - -2015-06-17 Robert Suchanek - - * gcc.target/mips/pr65862-1.c: New test. - * gcc.target/mips/pr65862-2.c: Likewise. - -2015-06-17 Uros Bizjak - - * gcc.target/i386/pr54592.c: Remove dg-require-effective-target. - * gcc.target/i386/pr52252-atom.c: Ditto. - * gcc.target/i386/vect-div-1.c: Ditto. - * gcc.target/i386/rotate-5.c: Ditto. - * gcc.target/i386/pr50202.c: Ditto. - * gcc.target/i386/pr37843-3.c: Ditto. - * gcc.target/i386/avx2-vect-aggressive-1.c: Ditto. - * gcc.target/i386/pr53397-1.c: Ditto. - * gcc.target/i386/pr55934.c: Ditto. - * gcc.target/i386/pr37843-4.c: Ditto. - * gcc.target/i386/pr60451.c: Ditto. - * gcc.target/i386/pr53397-2.c: Ditto. - * gcc.target/i386/vectorize1.c: Ditto. - * gcc.target/i386/extract-insert-combining.c: Ditto. - * gcc.target/i386/pr53759.c: Ditto. - * gcc.target/i386/pr52252-core.c: Ditto. - * gcc.target/i386/rotate-3.c: Ditto. - * gcc.target/i386/sse-20.c: Ditto. - * gcc.target/i386/rotate-4.c: Ditto. - * gcc.target/i386/pr61403.c: Ditto. - * gcc.target/i386/pr60205-2.c: Add dg-do compile directive. - * gcc.target/i386/pr60901.c: Ditto. - * gcc.target/i386/pr59794-7.c: Ditto. - * gcc.target/i386/pr62208.c: Ditto. - * gcc.target/i386/pr53416.c: Ditto. - * gcc.target/i386/asm-dialect-1.c: Ditto. - * gcc.target/i386/pr50038.c: Ditto. - * gcc.target/i386/47698.c: Ditto. - * gcc.target/i386/avx512vl-vpmuludq-1.c: Ditto. - * gcc.target/i386/pr59794-2.c: Ditto. - * gcc.target/i386/pr59794-3.c: Ditto. - * gcc.target/i386/pr39058.c: Ditto. - * gcc.target/i386/pr60205-1.c: Ditto. - * gcc.target/i386/fma4-256-nmsubXX.c: Add dg-do run directive. - * gcc.target/i386/sse2-movq-2.c: Ditto. - -2015-06-17 Richard Biener - - PR tree-optimization/66251 - * gfortran.fortran-torture/compile/pr66251-2.f90: New testcase. - -2015-06-16 Paolo Carlini - - PR c++/59682 - * g++.dg/parse/new-placement1.C: New. - -2015-06-16 David Malcolm - - * jit.dg/all-non-failing-tests.h: Add test-compound-assignment.c. - * jit.dg/test-compound-assignment.c: New testcase. - -2015-06-16 David Malcolm - - PR jit/66539 - * jit.dg/all-non-failing-tests.h: Add test-debug-strings.c - to "testcases" array. - -2015-06-16 David Malcolm - - PR jit/66539 - * jit.dg/all-non-failing-tests.h: Add test-debug-strings.c. - * jit.dg/test-debug-strings.c: New test case. - * jit.dg/test-quadratic.c (make_calc_discriminant): Verify that - the discriminant has a sane debug string. - -2015-06-16 Uros Bizjak - - PR target/56766 - * gcc.target/i386/pr56766-1.c: New test. - * gcc.target/i386/pr56766-2.c: Ditto. - -2015-06-16 Steve Ellcey - - * gcc.target/mips/loongson-shift-count-truncated-1.c: - Skip on mips*-mti-linux* and mips*-img-linux* targets. - * gcc.target/mips/loongson-simd.c: Ditto. - -2015-06-16 Richard Biener - - * gcc.target/i386/recip-vec-sqrtf-avx.c: Disable unrolling. - -2015-06-16 James Greenhalgh - - * gcc.target/arm/pr65647.c: Do not override -mfloat-abi directives - passed by the testsuite driver. - -2015-06-16 Richard Biener - - * gcc.dg/vect/slp-perm-11.c: New testcase. - -2015-06-16 Christophe Lyon - - * gcc.target/arm/thumb-ifcvt.c: Add -mno-restrict-it to - dg-options. - -2015-06-16 James Greenhalgh - - * gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp: - Reinstate calls to torture-init and torture-finalize. - -2015-06-16 Kyrylo Tkachov - - * gcc.target/arm/attr_thumb.c: Add -mno-restrict-it to dg-options. - -2015-06-15 Nathan Sidwell - - PR c++/58583 - * g++.dg/cpp0x/nsdmi-template14.C: New test. - -2015-06-15 Paolo Carlini - - PR c++/51048 - * g++.dg/cpp0x/local-type1.C: New. - -2015-06-15 Andre Vehreschild - - PR fortran/44672 - PR fortran/45440 - PR fortran/57307 - * gfortran.dg/allocate_with_source_3.f90: Removed check for - unimplemented error. - * gfortran.dg/allocate_with_source_7.f08: New test. - * gfortran.dg/allocate_with_source_8.f08: New test. - -2015-06-13 Patrick Palka - - PR c++/65168 - * g++.dg/warn/Walways-true-3.C: New test. - -2015-06-13 Tom de Vries - - * gcc.dg/parloops-exit-first-loop-alt-4.c: New test. - -2015-06-13 Tom de Vries - - * gcc.dg/parloops-exit-first-loop-alt-2.c: Add comment. - (main): Remove superfluous attributes. - * gcc.dg/parloops-exit-first-loop-alt-3.c: Same. - * gcc.dg/parloops-exit-first-loop-alt.c: Same. - -2015-06-12 Venkataramanan Kumar - - * gcc.target/i386/monitorx.c: New. - * gcc.target/i386/sse-12.c: Add -mmwaitx. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - * g++.dg/other/i386-2.C: Ditto. - * g++.dg/other/i386-3.C: Ditto. - -2015-06-11 Steve Ellcey - - * gcc.dg/tree-prof/stringop-2.c: Fix ifdef __mips. - -2015-06-11 Paul Thomas - - PR fortran/66079 - * gfortran.dg/allocatable_scalar_13.f90: New test - -2015-06-11 Marek Polacek - - * gcc.dg/fold-xor-3.c: New test. - -2015-06-11 Kyrylo Tkachov - - * gcc.target/arm/short-it-ifcvt-1.c: New test. - * gcc.target/arm/short-it-ifcvt-2.c: Likewise. - -2015-06-11 Christian Bruel - - PR target/52144 - * gcc.target/arm/pragma_attribute.c: New test. - -2015-06-10 Uros Bizjak - - * g++.dg/abi/mangle-regparm.C (dg-options): Add -save-temps. - -2015-06-10 Uros Bizjak - - PR target/66473 - * gcc.target/i386/pr66473.c: New test. - -2015-06-10 Jakub Jelinek - - PR target/66470 - * gcc.dg/tls/pr66470.c: New test. - * gcc.target/i386/pr66470.c: New test. - -2015-06-10 Christian Bruel - - PR target/52144 - * gcc.target/arm/attr_arm.c: New test - * gcc.target/arm/attr_arm-err.c: New test - * gcc.target/arm/attr_thumb.c: New test - * gcc.target/arm/attr_thumb-static.c: New test - -2015-06-10 Ramana Radhakrishnan - - PR target/66200 - PR target/66428 - PR c++/66192 - * g++.dg/abi/aarch64_guard1.C: Adjust test. - -2015-06-10 James Greenhalgh - - * gcc.target/arm/pr65710.c: Do not override -mfloat-abi directives - passed by the testsuite driver. - -2015-06-09 Alexandre Oliva - - Revert: - 2015-06-09 Alexandre Oliva - * gcc.dg/guality/pr54200.c: Add -fno-tree-coalesce-vars. - * gcc.dg/ssp-1.c: Make counter a register. - * gcc.dg/ssp-2.c: Likewise. - * gcc.dg/torture/parm-coalesce.c: New. - -2015-06-09 Tom de Vries - - * gcc.target/i386/vararg-loc.c: New test. - -2015-06-09 Paolo Carlini - - PR c++/65815 - * g++.dg/cpp0x/nsdmi-aggr1.C: New. - * g++.dg/cpp0x/mem-init-aggr1.C: Likewise. - -2015-06-09 Marek Polacek - - PR tree-optimization/66299 - * gcc.dg/pr66299-1.c: New test. - * gcc.dg/pr66299-2.c: New test. - * gcc.dg/pr66299-3.c: New test. - -2015-06-09 James Greenhalgh - - * g++.dg/ext/pr57735.C: Do not override -mfloat-abi directives - passed by the testsuite driver. - -2015-06-09 Richard Biener - - PR middle-end/66423 - * gcc.dg/fold-modpow2.c: New testcase. - -2015-06-09 Richard Biener - - PR tree-optimization/66419 - * gcc.dg/vect/bb-slp-37.c: New testcase. - -2015-06-09 Shiva Chen - - * gcc.target/arm/stl-cond.c: New test. - -2015-06-09 Richard Biener - - PR middle-end/66413 - * gcc.dg/torture/pr66413.c: New testcase. - -2015-06-09 Alexandre Oliva - - * gcc.dg/guality/pr54200.c: Add -fno-tree-coalesce-vars. - * gcc.dg/ssp-1.c: Make counter a register. - * gcc.dg/ssp-2.c: Likewise. - * gcc.dg/torture/parm-coalesce.c: New. - -2015-06-08 Jan Hubicka - - * gfortran.dg/lto/bind_c-2b_0.f90: New testcase. - * gfortran.dg/lto/bind_c-2b_1.c: New testcase. - -2015-06-08 Tom de Vries - - PR rtl-optimization/66444 - * gcc.dg/pr66444.c: New test. - -2015-06-08 Steven G. Kargl - - PR fortran/66245 - * gfortran.dg/class_is_1.f90: New test. - * gfortran.dg/type_is_1.f90: Ditto. - -2015-06-08 Marek Polacek - - PR c/66415 - * gcc.dg/cpp/pr66415-1.c: New test. - * gcc.dg/cpp/pr66415-2.c: New test. - -2015-06-08 Richard Biener - - PR tree-optimization/66422 - * gcc.dg/Warray-bounds-16.c: New testcase. - -2015-06-08 Richard Biener - - * gcc.dg/vect/slp-perm-10.c: New testcase. - * gcc.dg/vect/slp-23.c: Adjust. - * gcc.dg/torture/pr53366-2.c: Also verify cross-iteration - vector pointer update. - -2015-06-08 Marek Polacek - - PR sanitizer/66452 - * g++.dg/ubsan/pr66452.C: New test. - -2015-06-08 Tom de Vries - - PR tree-optimization/66436 - * gcc.dg/gomp/dump-new-function-2.c: New test. - * gcc.dg/gomp/dump-new-function-3.c: Same. - * gcc.dg/gomp/dump-new-function.c: Same. - -2015-06-08 Tom de Vries - - PR tree-optimization/66435 - * gcc.dg/gomp/notify-new-function-2.c: New test. - * gcc.dg/gomp/notify-new-function-3.c: Same. - * gcc.dg/gomp/notify-new-function.c: Same. - -2015-06-06 Jan Hubicka - - * gfortran.dg/lto/bind_c-1_0.f90: New testcase. - * gfortran.dg/lto/bind_c-1_1.c: New testcase. - * gcc.dg/lto/c-compatible-types_0.c: Rename to ... - * gcc.dg/lto/c-compatible-types-1_0.c: this one; fix template - * gcc.dg/lto/c-compatible-types_1.c: Rename to ... - * gcc.dg/lto/c-compatible-types-1_1.c: this one; harden for - -fshort-enum. - -2015-06-06 Thomas Koenig - - PR fortran/47659 - * gfortran.dg/array_constructor_type_17.f03: Adjust error message. - * gfortran.dg/warn_conversion.f90: Add warning for change in value - for assignment. - * gfortran.dg/warn_conversion_3.f90: Add warnings. - * gfortran.dg/warn_conversion_5.f90: New test. - * gfortran.dg/warn_conversion_6.f90: New test. - * gfortran.dg/warn_conversion_7.f90: New test. - -2015-06-05 Steven G. Kargl - - PR fortran/66347 - * gfortran.dg/blockdata_9.f: New test. - -2015-06-05 Thomas Koenig - - PR fortran/66385 - * gfortran.dg/forall_17.f90: New test. - -2015-06-05 Aldy Hernandez - - * g++.dg/cpp0x/pr57101.C: Add warning. - * g++.dg/debug/dwarf2/dwarf4-typedef.C: Same. - * g++.dg/ext/visibility/anon7.C: Same. - * g++.dg/ipa/pr63587-2.C: Same. - * g++.dg/opt/dump1.C: Same. - * g++.dg/opt/pr59622-3.C: Same. - * g++.dg/opt/pr59622.C: Same. - * g++.dg/torture/pr46383.C: Same. - * gcc.dg/dfp/pragma-float-const-decimal64-8.c: Same. - * g++.dg/debug/dwarf2/auto1.C: Adjust for early dwarf. - * g++.dg/lto/pr65549_0.C: Add { } to used but never defined - functions. - * gfortran.dg/intent_out_8.f90: Same. - * gfortran.dg/warn_target_lifetime_3.f90: Same. - -2015-06-05 Steven G. Kargl - - PR fortran/66377 - gfortran.dg/equiv_9.f90: New test. - - -2015-06-05 Tom de Vries - - merge from gomp4 branch: - 2015-05-28 Tom de Vries - - PR tree-optimization/65443 - * gcc.dg/parloops-exit-first-loop-alt-2.c: New test. - * gcc.dg/parloops-exit-first-loop-alt-3.c: New test. - * gcc.dg/parloops-exit-first-loop-alt.c: New test. - -2015-06-05 Nathan Sidwell - - PR c++/52595 - * g++,dg/cpp0x/nsdmi-defer5.C: Add template case. - -2015-06-05 Kugan Vivekanandarajah - - * gcc.target/arm/neon-reload-class.c: Remove movw and movt. - -2015-06-04 Paolo Carlini - - * obj-c++.dg/tls/diag-5.mm: Adjust per r224097. - -2015-06-04 Sriraman Tallam - - * gcc.target/i386/noplt-1.c: New test. - * gcc.target/i386/noplt-2.c: New test. - * gcc.target/i386/noplt-3.c: New test. - * gcc.target/i386/noplt-4.c: New test. - -2015-06-04 Thomas Koenig - - PR fortran/58749 - * gfortran.dg/adjustl_1.f90: New test. - -2015-06-04 Jan Hubicka - - * gcc.dg/lto/c-compatible-types_0.c: New testcase. - * gcc.dg/lto/c-compatible-types_1.c: New testcase. - -2015-06-03 Jan Hubicka - - * lto.c (iterative_hash_canonical_type, - gimple_register_canonical_type): only hash main variants of types - -2015-06-04 Sandra Loosemore - - * gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp: - Move set of dg-do-what-default after early return. - -2015-06-04 Marek Polacek - - PR c/66341 - * gcc.dg/lvalue-8.c: New test. - -2015-06-03 Manuel López-Ibáñez - Paolo Carlini - - PR c++/66130 - * g++.dg/other/pr66130.C: New. - * g++.dg/cpp0x/pr66130.C: Likewise. - -2015-06-03 Paolo Carlini - - * g++.dg/cpp0x/decl-loc1.C: New. - * g++.dg/cpp0x/constexpr-neg1.C: Adjust. - * g++.dg/cpp0x/constexpr-object1.C: Likewise. - * g++.dg/init/ctor8.C: Likewise. - * g++.dg/parse/semicolon4.C: Likewise. - -2015-06-03 Marek Polacek - - PR sanitizer/66190 - * g++.dg/ubsan/static-init-1.C: New test. - * g++.dg/ubsan/static-init-2.C: New test. - * g++.dg/ubsan/static-init-3.C: New test. - -2015-06-03 Uros Bizjak - - PR target/66275 - * gcc.target/i386/pr66275.c: New test. - -2015-06-03 Prathamesh Kulkarni - - * gcc.dg/Wcxx-compat-22.c: New testcase. - * c-c++-common/Wsizeof-pointer-memaccess1.c: Pass -Wno-c++-compat. - * c-c++-common/Wsizeof-pointer-memaccess2.c: Likewise. - * c-c++-common/pr58346-1.c: Likewise. - * c-c++-common/transparent-union-1.c: Likewise. - -2015-06-02 Andres Tiraboschi - - * g++.dg/plugin/plugin.exp: Add def-plugin-test.C. - * g++.dg/plugin/def_plugin.c: New file. - * g++.dg/plugin/def-plugin-test.C: New file. - -2015-06-03 Richard Biener - - * gcc.dg/vect/bb-slp-36.c: New testcase. - -2015-06-03 Ilya Enkovich - - * gcc.dg/lto/chkp-removed-alias_0.c: New. - -2015-06-03 Ilya Enkovich - - * gcc.dg/lto/chkp-privatize-1_0.c: New. - * gcc.dg/lto/chkp-privatize-1_1.c: New. - * gcc.dg/lto/chkp-privatize-2_0.c: New. - * gcc.dg/lto/chkp-privatize-2_1.c: New. - -2015-06-03 Marek Polacek - - PR c/64223 - PR c/29358 - * gcc.dg/pr64223-1.c: New test. - * gcc.dg/pr64223-2.c: New test. - -2015-06-03 Richard Biener - - PR tree-optimization/63916 - * gcc.dg/tree-ssa/ssa-fre-45.c: New testcase. - -2015-06-03 Richard Biener - - PR tree-optimization/66375 - * gcc.dg/torture/pr66375.c: New testcase. - -2015-06-03 Bin Cheng - - * gcc.dg/tree-ssa/pr65447.c: Increase searching number. - -2015-06-02 Kugan Vivekanandarajah - - PR target/65768 - * gcc.target/arm/maskdata.c: Remove -fno-gcse. - -2015-06-02 Steven G. Kargl - - PR fortran/66380 - * gfortran.dg/reshape_7.f90: New test. - -2015-06-02 David Malcolm - - PR c/66220: - * c-c++-common/Wmisleading-indentation.c (fn_35): New. - (fn_36): New. - -2015-06-02 Prathamesh Kulkarni - - PR c/49551 - * gcc.dg/pr49551.c: New testcase. - -2015-06-02 Richard Biener - - PR debug/65549 - * g++.dg/lto/pr65549_0.C: New testcase. - -2015-06-02 Thomas Schwinge - - PR libgomp/65742 - PR middle-end/66332 - * c-c++-common/goacc/acc_on_device-2.c: XFAIL for C, too. - -2015-06-02 Uros Bizjak - - * g++.dg/abi/mangle-regparm.C (dg-do): Fix x86_32 target selector. - -2015-06-02 Paolo Carlini - - PR c++/61683 - * g++.dg/cpp0x/decltype-mem-initializer1.C: New. - -2015-06-02 Bin Cheng - - PR tree-optimization/48052 - * gcc.dg/tree-ssa/scev-8.c: New. - * gcc.dg/tree-ssa/scev-9.c: New. - * gcc.dg/tree-ssa/scev-10.c: New. - * gcc.dg/vect/pr48052.c: New. - -2015-06-02 Eric Botcazou - - * gcc.dg/vect/vec-scal-opt.c: Adjust regexp. - -2015-06-02 Uros Bizjak - - * gcc.dg/vect/vect-outer-simd-1.c: Remove cleanup-tree-dump directive. - -2015-06-02 Marek Polacek - - PR middle-end/66345 - * gcc.dg/torture/pr66345.c: New test. - -2015-06-02 Richard Biener - - PR tree-optimization/65961 - * gcc.dg/torture/pr65961.c: New testcase. - -2015-06-02 Bin Cheng - - PR tree-optimization/52563 - PR tree-optimization/62173 - * gcc.dg/tree-ssa/scev-3.c: Remove xfail. - * gcc.dg/tree-ssa/scev-4.c: Ditto. - -2015-06-01 Eric Botcazou - - * gnat.dg/specs/varsize_return2.ads: New test. - * gnat.dg/specs/varsize_return2_pkg.ad[sb]: New helper. - -2015-06-01 Yuri Rumyantsev - - * gcc.dg/vect/vect-outer-simd-1.c: New test. - -2015-06-01 Matthew Wahab - - PR target/65697 - * gcc.target/aarch64/sync-comp-swap.c: New. - * gcc.target/aarch64/sync-comp-swap.x: New. - * gcc.target/aarch64/sync-op-acquire.c: New. - * gcc.target/aarch64/sync-op-acquire.x: New. - * gcc.target/aarch64/sync-op-full.c: New. - * gcc.target/aarch64/sync-op-full.x: New. - * gcc.target/aarch64/sync-op-release.c: New. - * gcc.target/aarch64/sync-op-release.x: New. - -2015-06-01 Alex Velenko - - * gcc.target/arm/thumb-ltu.c (foo): Predefined. - (bar): Predefined. - -2015-06-01 Richard Biener - - PR tree-optimization/66349 - PR tree-optimization/66352 - PR tree-optimization/66357 - * gcc.dg/torture/pr66357.c: New testcase. - * gcc.dg/torture/pr66349.c: Likewise. - * gfortran.fortran-torture/compile/pr66352.f90: Likewise. - -2015-06-01 Richard Biener - - Revert - 2015-05-29 Richard Biener - - PR tree-optimization/66314 - * gcc.dg/asan/pr66314.c: New testcase. - -2015-06-01 Richard Biener - - * gcc.dg/ipa/ipa-pta-1.c: Adjust. - -2015-06-01 Jakub Jelinek - - * gcc.target/s390/hotpatch-compile-15.c: Remove dg-prune-output - directives. - (hp3, hp4): Add inline keyword. - * gcc.target/s390/hotpatch-19.c: Remove dg-prune-output directive. - (hp2): Add inline keyword. - * gcc.target/s390/hotpatch-19.c: Remove dg-prune-output directives. - (hp2): Add inline keyword. - -2015-06-01 Ilya Enkovich - - PR target/65527 - * gcc.target/i386/mpx/chkp-fix-calls-1.c: New. - * gcc.target/i386/mpx/chkp-fix-calls-2.c: New. - * gcc.target/i386/mpx/chkp-fix-calls-3.c: New. - * gcc.target/i386/mpx/chkp-fix-calls-4.c: New. - -2015-06-01 Alan Lawrence - - * gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp: Pass - wildcard to gcc-dg-runtest; remove loop and unnecessary initialization. - -2015-06-01 Richard Biener - - PR tree-optimization/66280 - * g++.dg/torture/pr66280.C: New testcase. - * g++.dg/torture/pr66280-2.C: Likewise. - -2015-06-01 Eric Botcazou - - * gnat.dg/addr9_1.adb: New test. - * gnat.dg/addr9_2.adb: Likewise. - * gnat.dg/addr9_3.adb: Likewise. - * gnat.dg/addr9_4.adb: Likewise. - -2015-05-31 Eric Botcazou - - * g++.dg/other/dump-ada-spec-4.C: New test. - -2015-05-30 H.J. Lu - - * gcc.dg/alias-8.c: Fix dg-warning. - -2015-05-30 Jan Hubicka - - * gcc.dg/alias-8.c: Do not xfail. - * gcc.dg/pr62167.c: Prevent FRE. - * gcc.dg/alias-14.c: New testcase. - -2015-05-29 Christophe Lyon - - * gcc.target/arm/simd/vextp64_1.c: Close comment on final line. - -2015-05-29 Dominik Vogt - - PR target/66215 - * gcc.target/s390/hotpatch-1.c: Remove optimization options from - dg-options. - * gcc.target/s390/hotpatch-10.c: Likewise. - * gcc.target/s390/hotpatch-11.c: Likewise. - * gcc.target/s390/hotpatch-12.c: Likewise. - * gcc.target/s390/hotpatch-17.c: Likewise. - * gcc.target/s390/hotpatch-18.c: Likewise. - * gcc.target/s390/hotpatch-20.c: Likewise. - * gcc.target/s390/hotpatch-21.c: Likewise. - * gcc.target/s390/hotpatch-22.c: Likewise. - * gcc.target/s390/hotpatch-23.c: Likewise. - * gcc.target/s390/hotpatch-24.c: Likewise. - * gcc.target/s390/hotpatch-2.c: Likewise. Adjust scan-assembler - to check for the exact nops too. - * gcc.target/s390/hotpatch-3.c: Likewise. - * gcc.target/s390/hotpatch-4.c: Likewise. - * gcc.target/s390/hotpatch-5.c: Likewise. - * gcc.target/s390/hotpatch-6.c: Likewise. - * gcc.target/s390/hotpatch-7.c: Likewise. - * gcc.target/s390/hotpatch-8.c: Likewise. - * gcc.target/s390/hotpatch-9.c: Likewise. - * gcc.target/s390/hotpatch-14.c: Likewise. - * gcc.target/s390/hotpatch-15.c: Likewise. - * gcc.target/s390/hotpatch-16.c: Likewise. - * gcc.target/s390/hotpatch-19.c: Likewise. - * gcc.target/s390/hotpatch-25.c: Likewise. Remove - scan-assembler-times counting number of .align directives. - * gcc.target/s390/hotpatch-13.c: Remove optimization options from - dg-options. Remove scan-assembler-times counting number of .align - directives. - * gcc.target/s390/hotpatch-26.c: New file. - * gcc.target/s390/hotpatch-27.c: New file. - * gcc.target/s390/hotpatch-28.c: New file. - * gcc.target/s390/s390.exp: Run hotpatch-*.c tests as torture tests - using -Os -O0 -O1 -O2 -O3 options. - -2015-05-29 Kyrylo Tkachov - - * gcc.target/aarch64/vdup_lane_2.c: Close comment on final line. - -2015-05-29 Jakub Jelinek - - PR tree-optimization/66142 - * gcc.dg/vect/pr66142.c: New test. - -2015-05-29 Richard Biener - - PR tree-optimization/66314 - * gcc.dg/asan/pr66314.c: New testcase. - -2015-05-29 Bernhard Reutner-Fischer - - * lib/gcc-dg.exp (cleanup-ipa-dump, cleanup-rtl-dump, - cleanup-tree-dump, cleanup-dump, cleanup-saved-temps): Remove. - Adjust all callers. - (schedule-cleanups, dg-keep-saved-temps): New proc. - (gcc-dg-test-1): Schedule cleanups. - * lib/profopt.exp (profopt-execute): Likewise. - * g++.dg/cdce3.C: Adjust expected line numbers. - * gcc.dg/cdce1.c: Likewise. - * gcc.dg/cdce2.c: Likewise. - * gcc.dg/strlenopt-22.c: Fix comment delimiter. - * gcc.dg/strlenopt-24.c: Likewise. - * gcc.dg/tree-ssa/vrp26.c: Likewise. - * gcc.dg/tree-ssa/vrp28.c: Likewise. - * obj-c++.dg/encode-2.mm: Likewise. - -2015-05-28 DJ Delorie - - * gcc.c-torture/execute/pr65369.c: Don't assume int is 32 bits. - -2015-05-28 Eric Botcazou - - * gnat.dg/discr43.adb: New test. - -2015-05-28 Eric Botcazou - - * gnat.dg/varsize_temp.adb: Rename into... - * gnat.dg/varsize1.adb: ...this. - * gnat.dg/varsize_copy.ad[sb]: Rename into... - * gnat.dg/varsize2.ad[sb]: ...this. - * gnat.dg/varsize3_1.adb: New test. - * gnat.dg/varsize3_2.adb: Likewise. - * gnat.dg/varsize3_3.adb: Likewise. - * gnat.dg/varsize3_4.adb: Likewise. - * gnat.dg/varsize3_5.adb: Likewise. - * gnat.dg/varsize3_6.adb: Likewise. - * gnat.dg/varsize3_pkg1.ads: New helper. - * gnat.dg/varsize3_pkg2.ads: Likewise. - * gnat.dg/varsize3_pkg3.ads: Likewise. - -2015-05-28 Richard Biener - - * gcc.dg/vect/slp-reduc-sad.c: New testcase. - -2015-05-28 Richard Biener - - PR tree-optimization/66142 - * gcc.dg/tree-ssa/ssa-fre-44.c: Fixup. - -2015-05-28 Lawrence Velázquez - - PR target/63810 - * gcc.dg/darwin-minversion-3.c: Update testcase. - * gcc.dg/darwin-minversion-4.c: Ditto. - * gcc.dg/darwin-minversion-5.c: New testcase. - * gcc.dg/darwin-minversion-6.c: Ditto. - * gcc.dg/darwin-minversion-7.c: Ditto. - * gcc.dg/darwin-minversion-8.c: Ditto. - * gcc.dg/darwin-minversion-9.c: Ditto. - * gcc.dg/darwin-minversion-10.c: Ditto. - * gcc.dg/darwin-minversion-11.c: Ditto. - * gcc.dg/darwin-minversion-12.c: Ditto. - -2015-05-28 Thomas Preud'homme - - PR rtl-optimization/66168 - * gcc.c-torture/compile/pr66168.c: New test. - -2015-05-27 Jeff Law - - PR target/39726 - * gcc.dg/target/m68k/pr39726-1.c: New test. - -2015-05-27 Nathan Sidwell - - PR c++/66270 - * g++.dg/ext/alias-canon3.C: New. - -2015-05-27 Richard Biener - - PR tree-optimization/66272 - Revert parts of - 2014-08-15 Richard Biener - - PR tree-optimization/62031 - * gcc.dg/torture/pr66272.c: New testcase. - -2015-05-27 Richard Biener - - * gcc.dg/vect/slp-reduc-7.c: New testcase. - -2015-05-27 Honggyu Kim - - PR target/65358 - * gcc.dg/pr65358.c: New test. - -2015-05-27 Andre Vehreschild - - PR fortran/65548 - * gfortran.dg/allocate_with_source_5.f90: Correct errorneous - semantic. - * gfortran.dg/allocate_with_source_6.f90: New test. - -2015-05-26 Eric Botcazou - - * gnat.dg/atomic7_1.adb: New test. - * gnat.dg/atomic7_2.adb: Likewise. - * gnat.dg/atomic7_pkg1.ads: New helper. - * gnat.dg/atomic7_pkg2.ad[sb]: Likewise. - -2015-05-26 Michael Matz - - PR middle-end/66251 - * gcc.dg/vect/pr66251.c: New test. - -2015-05-26 Richard Biener - - PR tree-optimization/66142 - * gcc.dg/tree-ssa/ssa-fre-44.c: New testcase. - -2015-05-26 Paul Thomas - - PR fortran/66082 - * gfortran.dg/allocatable_scalar_13.f90: New test - -2015-05-25 Eric Botcazou - - * gnat.dg/warn11.adb: New test. - * gnat.dg/specs/alignment2.ads: Add dg-warning directive. - -2015-05-25 Eric Botcazou - - * gnat.dg/vfa1_1.adb: New test. - * gnat.dg/vfa1_2.adb: Likewise. - * gnat.dg/vfa1_3.adb: Likewise. - * gnat.dg/vfa1_4.adb: Likewise. - * gnat.dg/vfa1_pkg.ads: New helper. - -2015-05-25 Alexander Monakov - - * gcc.target/i386/pr66232-1.c: Adjust scan pattern. - * gcc.target/i386/pr66232-3.c: Likewise. - -2015-05-25 Uros Bizjak - - PR target/66274 - * gcc.target/i386/pr66274.c: New test. - -2015-05-25 Eric Botcazou - - * gnat.dg/renaming6.ad[sb]: New test. - -2015-05-25 Andreas Tobler - - * gcc.target/i386/pr64317.c: Use 'dg-require-effective-target ia32' - and 'dg-require-effective-target pie'. - -2015-05-23 Nathan Sidwell - - PR c++/66243 - * g++.dg/cpp0x/pr66243.C: New. - -2015-05-24 Jan Hubicka - - PR lto/66180 - * g++.dg/lto/pr66180_0.C: New testcase. - * g++.dg/lto/pr66180_1.C: New testcase. - -2015-05-24 Mikael Morin - - PR fortran/66257 - * typebound_call_27.f90: New file. - -2015-05-23 Nathan Sidwell - - PR c++/65936 - * g++.dg/template/pr65936.C: New. - -2015-05-22 Marc Glisse - - PR tree-optimization/63387 - * gcc.dg/pr63387-2.c: New testcase. - -2015-05-22 Marc Glisse - - * gcc.dg/simd-1.c: Update to the new message. - -2015-05-22 Marc Glisse - - * gcc.dg/nand.c: New testcase. - -2015-05-22 Sandra Loosemore - - * gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp: - Set dg-do-what-default to compile only on ARM targets without - arm_neon_hw execution support. Remove redundant c-torture-execute - in loop over test cases. - -2015-05-22 Kyrylo Tkachov - - PR target/65491 - * gcc.target/aarch64/pr65491_1.c: New test. - * gcc.target/aarch64/aapcs64/type-def.h (vlf1_t): New typedef. - * gcc.target/aarch64/aapcs64/func-ret-1.c: Add test for vlf1_t. - -2015-05-22 Paolo Carlini - - PR c++/65598 - * g++.dg/cpp0x/explicit9.C: New. - * g++.dg/cpp0x/explicit8.C: Check the locations too. - -2015-05-22 Richard Biener - - PR tree-optimization/66251 - * gfortran.fortran-torture/compile/pr66251.f90: New testcase. - -2015-05-22 Marek Polacek - - PR c/47043 - * c-c++-common/attributes-enum-1.c: New test. - * c-c++-common/attributes-enum-2.c: New test. - * g++.dg/cpp0x/attributes-enum-1.C: New test. - * g++.dg/cpp1y/attributes-enum-1.C: New test. - -2015-05-21 Sandra Loosemore - - * gcc.target/arm/simd/simd.exp: Skip all tests if no arm_neon_ok - effective target support. If no arm_neon_hw support, do not attempt - to execute the tests; only compile them. - * gcc.target/arm/simd/vextf32_1.c: Remove explicit "dg-do run" - and "dg-require-effective-target arm_neon_ok". - * gcc.target/arm/simd/vextp16_1.c: Likewise. - * gcc.target/arm/simd/vextp64_1.c: Likewise. - * gcc.target/arm/simd/vextp8_1.c: Likewise. - * gcc.target/arm/simd/vextQf32_1.c: Likewise. - * gcc.target/arm/simd/vextQp16_1.c: Likewise. - * gcc.target/arm/simd/vextQp64_1.c: Likewise. - * gcc.target/arm/simd/vextQp8_1.c: Likewise. - * gcc.target/arm/simd/vextQs16_1.c: Likewise. - * gcc.target/arm/simd/vextQs32_1.c: Likewise. - * gcc.target/arm/simd/vextQs64_1.c: Likewise. - * gcc.target/arm/simd/vextQs8_1.c: Likewise. - * gcc.target/arm/simd/vextQu16_1.c: Likewise. - * gcc.target/arm/simd/vextQu32_1.c: Likewise. - * gcc.target/arm/simd/vextQu64_1.c: Likewise. - * gcc.target/arm/simd/vextQu8_1.c: Likewise. - * gcc.target/arm/simd/vexts16_1.c: Likewise. - * gcc.target/arm/simd/vexts32_1.c: Likewise. - * gcc.target/arm/simd/vexts64_1.c: Likewise. - * gcc.target/arm/simd/vexts8_1.c: Likewise. - * gcc.target/arm/simd/vextu16_1.c: Likewise. - * gcc.target/arm/simd/vextu32_1.c: Likewise. - * gcc.target/arm/simd/vextu64_1.c: Likewise. - * gcc.target/arm/simd/vextu8_1.c: Likewise. - * gcc.target/arm/simd/vrev16p8_1.c: Likewise. - * gcc.target/arm/simd/vrev16qp8_1.c: Likewise. - * gcc.target/arm/simd/vrev16qs8_1.c: Likewise. - * gcc.target/arm/simd/vrev16qu8_1.c: Likewise. - * gcc.target/arm/simd/vrev16s8_1.c: Likewise. - * gcc.target/arm/simd/vrev16u8_1.c: Likewise. - * gcc.target/arm/simd/vrev32p16_1.c: Likewise. - * gcc.target/arm/simd/vrev32p8_1.c: Likewise. - * gcc.target/arm/simd/vrev32qp16_1.c: Likewise. - * gcc.target/arm/simd/vrev32qp8_1.c: Likewise. - * gcc.target/arm/simd/vrev32qs16_1.c: Likewise. - * gcc.target/arm/simd/vrev32qs8_1.c: Likewise. - * gcc.target/arm/simd/vrev32qu16_1.c: Likewise. - * gcc.target/arm/simd/vrev32qu8_1.c: Likewise. - * gcc.target/arm/simd/vrev32s16_1.c: Likewise. - * gcc.target/arm/simd/vrev32s8_1.c: Likewise. - * gcc.target/arm/simd/vrev32u16_1.c: Likewise. - * gcc.target/arm/simd/vrev32u8_1.c: Likewise. - * gcc.target/arm/simd/vrev64f32_1.c: Likewise. - * gcc.target/arm/simd/vrev64p16_1.c: Likewise. - * gcc.target/arm/simd/vrev64p8_1.c: Likewise. - * gcc.target/arm/simd/vrev64qf32_1.c: Likewise. - * gcc.target/arm/simd/vrev64qp16_1.c: Likewise. - * gcc.target/arm/simd/vrev64qp8_1.c: Likewise. - * gcc.target/arm/simd/vrev64qs16_1.c: Likewise. - * gcc.target/arm/simd/vrev64qs32_1.c: Likewise. - * gcc.target/arm/simd/vrev64qs8_1.c: Likewise. - * gcc.target/arm/simd/vrev64qu16_1.c: Likewise. - * gcc.target/arm/simd/vrev64qu32_1.c: Likewise. - * gcc.target/arm/simd/vrev64qu8_1.c: Likewise. - * gcc.target/arm/simd/vrev64s16_1.c: Likewise. - * gcc.target/arm/simd/vrev64s32_1.c: Likewise. - * gcc.target/arm/simd/vrev64s8_1.c: Likewise. - * gcc.target/arm/simd/vrev64u16_1.c: Likewise. - * gcc.target/arm/simd/vrev64u32_1.c: Likewise. - * gcc.target/arm/simd/vrev64u8_1.c: Likewise. - * gcc.target/arm/simd/vtrnf32_1.c: Likewise. - * gcc.target/arm/simd/vtrnp16_1.c: Likewise. - * gcc.target/arm/simd/vtrnp8_1.c: Likewise. - * gcc.target/arm/simd/vtrnqf32_1.c: Likewise. - * gcc.target/arm/simd/vtrnqp16_1.c: Likewise. - * gcc.target/arm/simd/vtrnqp8_1.c: Likewise. - * gcc.target/arm/simd/vtrnqs16_1.c: Likewise. - * gcc.target/arm/simd/vtrnqs32_1.c: Likewise. - * gcc.target/arm/simd/vtrnqs8_1.c: Likewise. - * gcc.target/arm/simd/vtrnqu16_1.c: Likewise. - * gcc.target/arm/simd/vtrnqu32_1.c: Likewise. - * gcc.target/arm/simd/vtrnqu8_1.c: Likewise. - * gcc.target/arm/simd/vtrns16_1.c: Likewise. - * gcc.target/arm/simd/vtrns32_1.c: Likewise. - * gcc.target/arm/simd/vtrns8_1.c: Likewise. - * gcc.target/arm/simd/vtrnu16_1.c: Likewise. - * gcc.target/arm/simd/vtrnu32_1.c: Likewise. - * gcc.target/arm/simd/vtrnu8_1.c: Likewise. - * gcc.target/arm/simd/vuzpf32_1.c: Likewise. - * gcc.target/arm/simd/vuzpp16_1.c: Likewise. - * gcc.target/arm/simd/vuzpp8_1.c: Likewise. - * gcc.target/arm/simd/vuzpqf32_1.c: Likewise. - * gcc.target/arm/simd/vuzpqp16_1.c: Likewise. - * gcc.target/arm/simd/vuzpqp8_1.c: Likewise. - * gcc.target/arm/simd/vuzpqs16_1.c: Likewise. - * gcc.target/arm/simd/vuzpqs32_1.c: Likewise. - * gcc.target/arm/simd/vuzpqs8_1.c: Likewise. - * gcc.target/arm/simd/vuzpqu16_1.c: Likewise. - * gcc.target/arm/simd/vuzpqu32_1.c: Likewise. - * gcc.target/arm/simd/vuzpqu8_1.c: Likewise. - * gcc.target/arm/simd/vuzps16_1.c: Likewise. - * gcc.target/arm/simd/vuzps32_1.c: Likewise. - * gcc.target/arm/simd/vuzps8_1.c: Likewise. - * gcc.target/arm/simd/vuzpu16_1.c: Likewise. - * gcc.target/arm/simd/vuzpu32_1.c: Likewise. - * gcc.target/arm/simd/vuzpu8_1.c: Likewise. - * gcc.target/arm/simd/vzipf32_1.c: Likewise. - * gcc.target/arm/simd/vzipp16_1.c: Likewise. - * gcc.target/arm/simd/vzipp8_1.c: Likewise. - * gcc.target/arm/simd/vzipqf32_1.c: Likewise. - * gcc.target/arm/simd/vzipqp16_1.c: Likewise. - * gcc.target/arm/simd/vzipqp8_1.c: Likewise. - * gcc.target/arm/simd/vzipqs16_1.c: Likewise. - * gcc.target/arm/simd/vzipqs32_1.c: Likewise. - * gcc.target/arm/simd/vzipqs8_1.c: Likewise. - * gcc.target/arm/simd/vzipqu16_1.c: Likewise. - * gcc.target/arm/simd/vzipqu32_1.c: Likewise. - * gcc.target/arm/simd/vzipqu8_1.c: Likewise. - * gcc.target/arm/simd/vzips16_1.c: Likewise. - * gcc.target/arm/simd/vzips32_1.c: Likewise. - * gcc.target/arm/simd/vzips8_1.c: Likewise. - * gcc.target/arm/simd/vzipu16_1.c: Likewise. - * gcc.target/arm/simd/vzipu32_1.c: Likewise. - * gcc.target/arm/simd/vzipu8_1.c: Likewise. - -2015-05-21 Sandra Loosemore - - * gcc.dg/vect/bb-slp-pr65935.c: Remove explicit "dg-do run". - * gcc.dg/vect/pr59354.c: Likewise. - * gcc.dg/vect/pr64252.c: Likewise. - * gcc.dg/vect/pr64404.c: Likewise. - * gcc.dg/vect/pr64493.c: Likewise. - * gcc.dg/vect/pr64495.c: Likewise. - * gcc.dg/vect/pr64844.c: Likewise. - * gcc.dg/vect/pr65518.c: Likewise. - * gcc.dg/vect/vect-aggressive-1.c: Likewise. - -2015-05-21 Paolo Carlini - - PR c++/66210 - * g++.dg/cpp1y/var-templ28.C: New. - -2015-05-21 H.J. Lu - - PR target/66232 - * gcc.target/i386/pr66232-1.c: New test. - * gcc.target/i386/pr66232-2.c: Likewise. - * gcc.target/i386/pr66232-3.c: Likewise. - * gcc.target/i386/pr66232-4.c: Likewise. - * gcc.target/i386/pr66232-5.c: Likewise. - -2015-05-21 Nathan Sidwell - - * g++.dg/cpp1y/pr60943.C: New. - -2015-05-21 Jakub Jelinek - - PR tree-optimization/66233 - * gcc.c-torture/execute/pr66233.c: New test. - -2015-05-21 Thomas Koenig - - PR fortran/66176 - * gfortran.dg/inline_matmul_11.f90: New test. - -2015-05-21 Andreas Tobler - - * gcc.target/i386/pr32219-1.c: Use 'dg-require-effective-target pie' - instead of listing several targets on its own. - * gcc.target/i386/pr32219-2.c: Likewise. - * gcc.target/i386/pr32219-3.c: Likewise. - * gcc.target/i386/pr32219-4.c: Likewise. - * gcc.target/i386/pr32219-5.c: Likewise. - * gcc.target/i386/pr32219-6.c: Likewise - * gcc.target/i386/pr32219-7.c: Likewise. - * gcc.target/i386/pr32219-8.c: Likewise. - * gcc.target/i386/pr39013-1.c: Likewise. - * gcc.target/i386/pr39013-2.c: Likewise. - * gcc.target/i386/pr64317.c: Likewise. - -2015-05-21 Jeff Law - - * gcc.target/hppa/shadd-3.c: New test. - * gcc.target/hppa/shadd-4.c: New test. - -2015-05-21 Michael Matz - - * gcc.dg/vect/vect-strided-store.c: New test. - * gfortran.dg/vect/fast-math-pr37021.f90: Adjust. - * gfortran.dg/vect/fast-math-rnflow-trs2a2.f90: Adjust. - -2015-05-21 Kyrylo Tkachov - - * lib/target-supports.exp (check_effective_target_sqrt_insn): New check. - * gcc.dg/pow-sqrt-synth-1.c: New test. - * gcc.target/aarch64/pow-sqrt-synth-1.c: Delete. - -2015-05-21 Richard Biener - - PR c++/66211 - * g++.dg/conversion/pr66211.C: New testcase. - * gcc.dg/tree-ssa/forwprop-18.c: Adjust. - -2015-05-21 Jeff Law - - * gcc.target/hppa/shadd-2.c: New test. - -2015-05-21 Oleg Endo - - PR target/54236 - * gcc.target/sh/pr54236-2.c: Fix typo in comment. - -2015-05-21 Ramana Radhakrishnan - - PR target/65937 - * gcc.target/arm/pr26702.c: Adjust target selector. - -2015-05-21 Ilya Enkovich - - PR middle-end/66221 - * gcc.dg/lto/pr66221_0.c: New test. - * gcc.dg/lto/pr66221_1.c: New test. - -2015-05-21 Manuel López-Ibáñez - - PR c/52952 - * gcc.dg/redecl-4.c: Update column numbers. - * gcc.dg/format/bitfld-1.c: Likewise. - * gcc.dg/format/attr-2.c: Likewise. - * gcc.dg/format/attr-6.c: Likewise. - * gcc.dg/format/attr-7.c (baz): Likewise. - * gcc.dg/format/asm_fprintf-1.c: Likewise. - * gcc.dg/format/attr-4.c: Likewise. - * gcc.dg/format/branch-1.c: Likewise. - * gcc.dg/format/c90-printf-1.c: Likewise. Add tests for column - locations within strings with embedded escape sequences. - -2015-05-20 Jeff Law - - * gcc.target/hppa/hppa.exp: New target test driver. - * gcc.target/hppa/shadd-1.c: New test. - -2015-05-20 Alex Velenko - - * gcc.target/arm/thumb1-far-jump-2.c (r4): Added int in definition. - -2015-05-20 David Malcolm - - * c-c++-common/Wmisleading-indentation.c (fn_32): New. - (fn_33_k_and_r_style): New. - (fn_33_stroustrup_style): New. - (fn_33_allman_style): New. - (fn_33_whitesmiths_style): New. - (fn_33_horstmann_style): New. - (fn_33_ratliff_banner_style): New. - (fn_33_lisp_style): New. - (fn_34_indent_dash_gnu): New. - (fn_34_indent_dash_kr): New. - (fn_34_indent_dash_orig): New. - (fn_34_indent_linux_style): New. - -2015-05-20 Andre Vehreschild - - PR fortran/65548 - * gfortran.dg/allocate_with_source_5.f90: Extend test. - -2015-05-20 Bin Cheng - - PR tree-optimization/65447 - * gcc.dg/tree-ssa/pr65447.c: New test. - -2015-05-19 Nathan sidwell - - * g++.dg/cpp0x/pr65954.C: New. - -2015-05-20 Oleg Endo - - * gcc.target/sh/pr64366.c: Remove -m4 -ml from dg-options. - -2015-05-19 Andreas Krebbel - - * lib/target-supports.exp: Vector do not always have natural - alignment on s390*. - -2015-05-19 David Sherwood - - * gcc.dg/loop-invariant.c: New testcase. - -2015-05-19 Andreas Krebbel - - * lib/target-supports.exp: Vector do not always have natural - alignment on s390*. - -2015-05-19 Andreas Krebbel - - * gcc.dg/tree-ssa/gen-vect-11b.c: Disable vector instructions on - s390*. - * gcc.dg/tree-ssa/gen-vect-11c.c: Likewise. - -2015-05-19 Andreas Krebbel - - * gcc.target/s390/zvector/vec-dbl-math-compile-1.c: New test. - * gcc.target/s390/zvector/vec-genbytemask-1.c: New test. - * gcc.target/s390/zvector/vec-genmask-1.c: New test. - * gcc.target/s390/zvector/vec-lcbb-1.c: New test. - * gcc.target/s390/zvector/vec-overloading-1.c: New test. - * gcc.target/s390/zvector/vec-overloading-2.c: New test. - * gcc.target/s390/zvector/vec-overloading-3.c: New test. - * gcc.target/s390/zvector/vec-overloading-4.c: New test. - * gcc.target/s390/zvector/vec-test-mask-1.c: New test. - * gcc.target/s390/zvector/vec-elem-1.c: New test. - -2015-05-19 Andreas Krebbel - - * gcc.target/s390/vector/vec-scalar-cmp-1.c: New test. - -2015-05-19 Andreas Krebbel - - * gcc.target/s390/s390.exp - (check_effective_target_vector): New check. - * gcc.target/s390/vector/vec-abi-1.c: New test. - * gcc.target/s390/vector/vec-abi-2.c: New test. - * gcc.target/s390/vector/vec-abi-3.c: New test. - * gcc.target/s390/vector/vec-abi-4.c: New test. - * gcc.target/s390/vector/vec-abi-align-1.c: New test. - * gcc.target/s390/vector/vec-abi-single-1.c: New test. - * gcc.target/s390/vector/vec-abi-single-2.c: New test. - * gcc.target/s390/vector/vec-abi-struct-1.c: New test. - * gcc.target/s390/vector/vec-abi-vararg-1.c: New test. - * gcc.target/s390/vector/vec-abi-vararg-2.c: New test. - * gcc.target/s390/vector/vec-clobber-1.c: New test. - * gcc.target/s390/vector/vec-cmp-1.c: New test. - * gcc.target/s390/vector/vec-cmp-2.c: New test. - * gcc.target/s390/vector/vec-dbl-math-compile-1.c: New test. - * gcc.target/s390/vector/vec-genbytemask-1.c: New test. - * gcc.target/s390/vector/vec-genbytemask-2.c: New test. - * gcc.target/s390/vector/vec-genmask-1.c: New test. - * gcc.target/s390/vector/vec-genmask-2.c: New test. - * gcc.target/s390/vector/vec-init-1.c: New test. - * gcc.target/s390/vector/vec-int-math-compile-1.c: New test. - * gcc.target/s390/vector/vec-shift-1.c: New test. - * gcc.target/s390/vector/vec-sub-1.c: New test. - -2015-05-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vqshrun_n.c: New file. - -2015-05-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vqshrn_n.c: New file. - -2015-05-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vqshlu_n.c: New file. - -2015-05-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vqshl_n.c: New file. - -2015-05-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vqshl.c: New file. - -2015-05-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vqrshrun_n.c: New file. - -2015-05-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vqrshrn_n.c: New file. - -2015-05-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vqrshl.c: New file. - -2015-05-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vqrdmulh_n.c: New file. - -2015-05-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vqrdmulh_lane.c: New file. - -2015-05-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vqrdmulh.c: New file. - -2015-05-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vqmovun.c: New file. - -2015-05-19 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vqmovn.c: New file. - -2015-05-19 Jakub Jelinek - - PR tree-optimization/66187 - * gcc.c-torture/execute/pr66187.c: New test. - * gcc.dg/pr66187-1.c: New test. - * gcc.dg/pr66187-2.c: New test. - -2015-05-19 Rainer Orth - - * gcc.dg/vect/bb-slp-35.c: Adjust. - -2015-05-19 Richard Biener - - PR tree-optimization/66165 - * gcc.dg/torture/pr66165.c: New testcase. - - PR tree-optimization/66185 - * gcc.dg/torture/pr66185.c: New testcase. - -2015-05-19 Oleg Endo - - PR target/54236 - * gcc.target/sh/pr54236-2.c: Adjust expected insn counts. - -2015-05-19 Sameera Deshpande - - * gcc.target/mips/p5600-bonding.c : New file. - -2015-05-18 Steven G. Kargl - - PR fortran/66106 - * gfortran.dg/interface_operator_1.f90: New tests. - -2015-05-18 Steven G. Kargl - - PR fortran/66057 - * gfortran.dg/generic_29.f90: New tests. - -2015-05-18 Steven G. Kargl - - PR fortran/66043 - * gfortran.dg/storage_size_6.f90: New tests. - -2015-05-18 Steven G. Kargl - - PR fortran/66045 - * gfortran.dg/null1.f90: New test. - -2015-05-18 Steven G. Kargl - - PR fortran/66044 - * gfortran.dg/entry_21.f90: New test. - -2015-05-18 Steven G. Kargl - - PR fortran/66043 - * gfortran.dg/storage_size_6.f90: New tests. - -2015-05-18 Steven G. Kargl - - PR fortran/66040 - * gfortran.dg/misplaced_statement.f90: New test. - -2015-05-18 Steven G. Kargl - - PR fortran/66039 - * gfortran.dg/filepos1.f90: New test - -2015-05-18 Steven G. Kargl - - PR fortran/64925 - * gfortran.dg/pr64925.f90: New test. - -2015-05-18 Steven G. Kargl - - * gfortran.dg/lto/pr41521_0.f90: Move INTERFACE statement in program - unit. - * gfortran.dg/lto/pr41576_1.f90: Ditto. - -2015-05-12 Andreas Tobler - - * lib/target-supports.exp (check_effective_target_pie): Add *-*-freebsd* - to the family of pie capable targets. - -2015-05-18 Alex Velenko - - * gcc.target/arm/bics_1.c : New testcase. - * gcc.target/arm/bics_2.c : New testcase. - * gcc.target/arm/bics_3.c : New testcase. - * gcc.target/arm/bics_4.c : New testcase. - -2015-05-18 Robert Suchanek - - * gcc.target/mips/umips-attr.c: New test. - -2015-05-17 Uros Bizjak - - * gcc.dg/20150120-1.c (dg-final): Cleanup original tree dump. - * gcc.dg/20150120-2.c (dg-final): Ditto. - * gcc.dg/20150120-2.c (dg-final): Ditto. - * gfortran.dg/inline_matmul_1.f90 (dg-final): Ditto. - -2015-05-17 Uros Bizjak - - PR target/66174 - * gcc.target/i386/pr66174.c: New test. - -2015-05-17 Thomas Koenig - - PR fortran/37131 - * gfortran.dg/matmul_bounds_6.f90: New test. - * gfortran.dg/matmul_bounds_7.f90: New test. - -2015-05-16 Jan Hubicka - - * gfortran.dg/lto/20091028-2_1.c: Fix return value. - * gfortran.dg/lto/pr41576_1.f90: Add interface. - * gfortran.dg/lto/pr41521_0.f90: Disable lto-type-mismatch - * gfortran.dg/lto/pr60635_0.f90: Disable lto-type-mismatch. - * gfortran.dg/lto/20091028-1_1.c: Fix return type. - * gcc.dg/lto/20120723_0.c: Disbale lto-type-mismatch. - -2015-05-16 Jerry DeLisle - - PR fortran/65903 - * gfortran.dg/continuation_13.f90: Update test. - * gfortran.dg/pr65903.f90: New test. - -2015-05-16 Thomas Koenig - - PR fortran/66113 - * gfortran.dg/block_14.f90: New test. - -2015-05-16 Manuel López-Ibáñez - - PR fortran/44054 - * lib/gfortran-dg.exp: Update regex to handle two locations for - the same diagnostic without caret. - * gfortran.dg/badline.f: Test also that line numbers are correct - before and after "left but not entered" warning. - -2015-05-16 Kugan Vivekanandarajah - Zhenqiang Chen - - PR target/65768 - * gcc.target/arm/maskdata.c: New test. - -2015-05-16 Mikael Morin - - PR fortran/65792 - * gfortran.dg/derived_constructor_components_5: New test - -2015-05-16 Uros Bizjak - - PR target/66140 - * gcc.target/alpha/pr66140.c: New test. - -2015-05-15 Mikhail Maltsev - - PR c/48956 - * gcc.dg/Wconversion-complex-c99.c: New test. - * gcc.dg/Wconversion-complex-gnu.c: New test. - -2015-05-15 Marc Glisse - - PR tree-optimization/64454 - * gcc.dg/modmod.c: New testcase. - -2015-05-15 Ilya Enkovich - - * gcc.dg/lto/chkp-wrap-asm-name_0.c: New. - -2015-05-15 Ilya Enkovich - - PR middle-end/66134 - * gcc.target/i386/mpx/pr66134.c: New test. - -2015-05-14 Rohit Arul Raj - - * gcc.target/powerpc/pr60158.c: New test. - -2015-05-14 Alexander Monakov - - * gcc.target/i386/sibcall-7.c: New test. - * gcc.target/i386/sibcall-8.c: New test. - -2015-05-14 Wilco Dijkstra - - * gcc.target/aarch64/abs_1.c (abs64): Update test for new abs expansion. - (abs64_in_dreg): Likewise. - -2015-05-14 Marek Polacek - - PR c/66066 - PR c/66127 - * gcc.dg/pr14649-1.c: Add -Wpedantic. - * gcc.dg/pr19984.c: Likewise. - * gcc.dg/pr66066-1.c: New test. - * gcc.dg/pr66066-2.c: New test. - * gcc.dg/pr66066-3.c: New test. - -2015-05-13 Kyrylo Tkachov - - * gcc.target/aarch64/pow-sqrt-synth-1.c: New test. - * gcc.dg/pow-sqrt.x: New file. - * gcc.dg/pow-sqrt-1.c: New test. - * gcc.dg/pow-sqrt-2.c: Likewise. - * gcc.dg/pow-sqrt-3.c: Likewise. - -2015-05-13 Richard Biener - - PR tree-optimization/66123 - * gcc.dg/torture/pr66123.c: New testcase. - -2015-05-13 Richard Biener - - PR middle-end/66110 - * gcc.dg/alias-2.c: Adjust. - * gcc.dg/tree-ssa/ssa-dse-17.c: New testcase. - -2015-05-13 Ilya Enkovich - - PR target/65103 - * gcc.target/i386/pr65103-3.c: New. - -2015-05-13 Martin Liska - - * g++.dg/ipa/pr65557.C: Remove unnecessary dump flag. - -2015-05-13 Jakub Jelinek - - PR target/66112 - * gcc.target/i386/pr66112-2.c: New test. - - PR target/66112 - * gcc.target/i386/pr66112-1.c: New test. - -2015-05-13 Ilya Enkovich - - PR target/66048 - * gcc.target/i386/mpx/pr66048.cc: New. - -2015-05-13 Thomas Preud'homme - - PR rtl-optimization/64616 - * gcc.dg/loop-8.c: New test. - * gcc.dg/loop-9.c: New test. - -2015-05-12 Jan Hubicka - - PR target/pr66047.c - * gcc.target/i386/pr66047.c: New testcase. - -2015-05-12 Jan Hubicka - - PR ipa/65873 - * gcc.c-torture/compile/pr65873.c: New testcase. - -2015-05-12 Thomas Koenig - - PR fortran/66111 - * gfortran.dg/inline_matmul_10.f90: New test. - -2015-05-12 David Malcolm - - * c-c++-common/Wmisleading-indentation.c: New testcase. - * c-c++-common/Wmisleading-indentation-2.c: New testcase. - * c-c++-common/Wmisleading-indentation-2.md: New file. - -2015-05-12 Sandra Loosemore - - * gcc.target/nios2/nios2-trap-insn.c: Expect "trap" instead of - "break". - * gcc.target/nios2/nios2-stack-check-1.c: Likewise. - -2015-05-12 Richard Biener - - PR tree-optimization/66101 - * gcc.dg/torture/pr66101.c: New testcase. - -2015-05-12 Richard Biener - - PR tree-optimization/37021 - * gcc.target/i386/vect-addsub.c: New testcase. - -2015-05-12 Alexander Monakov - - * gcc.target/i386/pr65753.c: Use -O2 instead of -O. - -2015-05-12 Tom de Vries - - PR tree-optimization/66010 - * gcc.dg/tree-ssa/stdarg-2.c: Undo scan xfails for f15. - -2015-05-12 Paolo Carlini - - PR c++/65133 - * g++.dg/cpp0x/trailing10.C: New. - -2015-05-12 Richard Biener - - * gcc.dg/vect/bb-slp-35.c: New testcase. - -2015-05-11 Mikael Morin - - PR fortran/66100 - * gfortran.dg/bound_simplification_6.f90: New. - -2015-05-11 Steve Ellcey - - * gcc.target/mips/branch-1.c: Pass argument to bar(). - -2015-05-11 Alexander Monakov - - PR target/65753 - * gcc.target/i386/pr65753.c: New test. - -2015-05-11 Richard Sandiford - - PR rtl-optimization/66076 - * gcc.dg/torture/pr66076.c: New test. - -2015-05-10 Thomas Koenig - - PR fortran/66041 - * gfortran.dg/inline_matmul_7.f90: New test. - * gfortran.dg/inline_matmul_8.f90: New test. - * gfortran.dg/inline_matmul_9.f90: New test. - -2015-05-10 Mikael Morin - - * gfortran.dg/bound_simplification_5.f90: New. - -2015-05-09 Jason Merrill - - * lib/target-supports.exp (cxx_default): New global. - (check_effective_target_c++11_only) - (check_effective_target_c++14_only) - (check_effective_target_c++98_only) - (check_effective_target_c++1z_only): Check it. - -2015-05-09 Marc Glisse - - PR tree-optimization/64454 - * gcc.dg/tree-ssa/vrp97.c: New file. - * gcc.dg/vect/slp-perm-7.c: Update. - -2015-05-09 Andre Vehreschild - - PR fortran/65894 - * gfortran.dg/elemental_subroutine_11.f90: New test. - -2015-05-08 Richard Biener - - PR tree-optimization/66036 - * gcc.dg/vect/slp-41.c: New testcase. - -2015-05-08 Mikael Morin - - * gfortran.dg/elemental_optional_args_7.f90: New. - -2015-05-08 Alan Lawrence - - * gcc.target/aarch64/singleton_intrinsics_1.c: Generalize regex to - allow cmlt or sshr. - -2015-05-08 Marek Polacek - - PR c/64918 - * gcc.dg/Woverride-init-side-effects-1.c: New test. - * gcc.dg/Woverride-init-side-effects-2.c: New test. - -2015-05-07 Marek Polacek - - PR c/65179 - * c-c++-common/Wshift-negative-value-1.c: New test. - * c-c++-common/Wshift-negative-value-2.c: New test. - * c-c++-common/Wshift-negative-value-3.c: New test. - * c-c++-common/Wshift-negative-value-4.c: New test. - * c-c++-common/Wshift-negative-value-5.c: New test. - * c-c++-common/Wshift-negative-value-6.c: New test. - * gcc.dg/c90-left-shift-1.c: New test. - * gcc.dg/c99-const-expr-7.c: Add dg-error. - * gcc.dg/c99-left-shift-1.c: New test. - -2015-05-07 Segher Boessenkool - - PR middle-end/192 - PR middle-end/54303 - * gcc.dg/fdata-sections-2.c: New file. - -2015-05-07 Marek Polacek - - PR testsuite/66046 - * c-c++-common/ubsan/align-6.c: Don't match trailing newlines in the - last dg-output. - * c-c++-common/ubsan/align-7.c: Likewise. - * c-c++-common/ubsan/bounds-8.c: Likewise. - * c-c++-common/ubsan/float-cast-overflow-9.c: Likewise. - * c-c++-common/ubsan/load-bool-enum.c: Likewise. - * c-c++-common/ubsan/null-1.c: Likewise. - * c-c++-common/ubsan/null-10.c: Likewise. - * c-c++-common/ubsan/null-11.c: Likewise. - * c-c++-common/ubsan/null-2.c: Likewise. - * c-c++-common/ubsan/null-3.c: Likewise. - * c-c++-common/ubsan/null-4.c: Likewise. - * c-c++-common/ubsan/null-5.c: Likewise. - * c-c++-common/ubsan/null-6.c: Likewise. - * c-c++-common/ubsan/null-7.c: Likewise. - * c-c++-common/ubsan/null-8.c: Likewise. - * c-c++-common/ubsan/null-9.c: Likewise. - * c-c++-common/ubsan/object-size-1.c: Likewise. - * c-c++-common/ubsan/object-size-10.c: Likewise. - * c-c++-common/ubsan/object-size-4.c: Likewise. - * c-c++-common/ubsan/object-size-5.c: Likewise. - * c-c++-common/ubsan/object-size-7.c: Likewise. - * c-c++-common/ubsan/object-size-8.c: Likewise. - * c-c++-common/ubsan/object-size-9.c: Likewise. - * c-c++-common/ubsan/overflow-add-2.c: Likewise. - * c-c++-common/ubsan/overflow-int128.c: Likewise. - * c-c++-common/ubsan/overflow-mul-2.c: Likewise. - * c-c++-common/ubsan/overflow-mul-4.c: Likewise. - * c-c++-common/ubsan/overflow-negate-1.c: Likewise. - * c-c++-common/ubsan/overflow-negate-3.c: Likewise. - * c-c++-common/ubsan/overflow-sub-2.c: Likewise. - * c-c++-common/ubsan/overflow-sub-4.c: Likewise. - * c-c++-common/ubsan/pr59333.c: Likewise. - * c-c++-common/ubsan/pr59667.c: Likewise. - * c-c++-common/ubsan/pr60613-2.c: Likewise. - * c-c++-common/ubsan/pr60636.c: Likewise. - * c-c++-common/ubsan/pr63802.c: Likewise. - * c-c++-common/ubsan/recovery-1.c: Likewise. - * c-c++-common/ubsan/recovery-3.c: Likewise. - * c-c++-common/ubsan/shift-1.c: Likewise. - * c-c++-common/ubsan/shift-2.c: Likewise. - * c-c++-common/ubsan/shift-4.c: Likewise. - * c-c++-common/ubsan/shift-7.c: Likewise. - * c-c++-common/ubsan/undefined-2.c: Likewise. - * c-c++-common/ubsan/vla-1.c: Likewise. - * g++.dg/ubsan/null-1.C: Likewise. - * g++.dg/ubsan/null-3.C: Likewise. - * g++.dg/ubsan/null-4.C: Likewise. - * g++.dg/ubsan/vptr-8.C: Likewise. - * g++.dg/ubsan/vptr-9.C: Likewise. - * gcc.dg/ubsan/bounds-2.c: Likewise. - * gcc.dg/ubsan/object-size-9.c: Likewise. - -2015-05-07 Jeff Law - - * gcc.dg/tree-ssa/shorten-1.c: New test. - -2015-05-07 Richard Biener - - PR tree-optimization/66002 - * gcc.dg/vect/vect-125.c: New testcase. - -2015-05-07 Marek Polacek - Martin Uecker - - * c-c++-common/ubsan/bounds-10.c: New test. - -2015-05-06 David Malcolm - - * jit.dg/harness.h (set_options): Wrap with - #ifndef TEST_ESCHEWS_SET_OPTIONS. - * jit.dg/jit.exp (is_testcase_meant_to_generate_a_reproducer): - Special-case test-benchmark.c as a negative. - * jit.dg/test-benchmark.c: New file. - -2015-05-06 Yvan Roux - - PR target/64208 - * gcc.target/arm/pr64208.c: New test. - -2015-05-06 Alan Modra - - PR target/66020 - * gcc.target/powerpc/ppc64-abi-2.c (my_mcount): Rewrite. - (gparms): Make volatile. - -2015-05-06 Richard Biener - - PR tree-optimization/62283 - * gcc.dg/vect/bb-slp-32.c: Remove XFAIL. - -2015-05-06 Christian Bruel - - PR target/66015 - * gcc.target/aarch64/iinline-attr-1.c: New test. - -2015-05-06 Richard Biener - - * gcc.dg/vect/bb-slp-34.c: New testcase. - -2015-05-06 Richard Biener - - PR tree-optimization/62283 - * gcc.dg/vect/bb-slp-14.c: Adjust. - -2015-05-05 Uros Bizjak - - PR target/65990 - * gcc.target/i386/pr65990.c: New test. - -2015-05-05 Ilya Tocar - - PR target/65915 - * gcc.target/i386/pr65915.c: New. - -2015-05-05 Tom de Vries - - * gcc.dg/tree-ssa/stdarg-2.c: Xfail f15 scans which test for presence of - 'va_list escapes 0'. - -2015-05-05 Tom de Vries - - * gcc.dg/tree-ssa/stdarg-2.c: Undo incorrect fix in f15 scans committed - in r222173. - -2015-05-05 Yvan Roux - - * gcc.target/arm/pr65067.c: Require Thumb2 effective target. - * gcc.target/arm/pr65924.c: Likewise. - -2015-05-05 Uros Bizjak - - PR target/65871 - * gcc.target/i386/pr65871-3.c: New test. - -2015-05-04 Jeff Law - - Revert: - 2015-05-04 Jeff Law - * gcc.dg/tree-ssa/shorten-1.c: New test. - -2015-05-04 Paolo Carlini - Jakub Jelinek - - PR c++/66007 - * g++.dg/cpp0x/Wnarrowing4.C: New. - -2015-05-04 Sandra Loosemore - - * lib/target-supports.exp - (check_effective_target_keeps_null_pointer_checks): Clarify that - this is for targets that disable -fdelete-null-pointer-checks, - not default it to off. - * gcc.dg/ipa/ipa-pta-14.c: Make dependence on - -fdelete-null-pointer-checks explicit. - * gcc.dg/tree-ssa/20030730-1.c: Likewise. - * gcc.dg/tree-ssa/20030730-2.c: Likewise. - * gcc.dg/tree-ssa/isolate-1.c: Likewise. - * gcc.dg/tree-ssa/isolate-2.c: Likewise. - * gcc.dg/tree-ssa/isolate-3.c: Likewise. - * gcc.dg/tree-ssa/isolate-4.c: Likewise. - * gcc.dg/tree-ssa/isolate-5.c: Likewise. - * gcc.dg/tree-ssa/nonzero-1.c: Likewise. - * gcc.dg/tree-ssa/pr20318.c: Likewise. - * gcc.dg/tree-ssa/pr20701.c: Likewise. - * gcc.dg/tree-ssa/pr20702.c: Likewise. - * gcc.dg/tree-ssa/pr21086.c: Likewise. - * gcc.dg/tree-ssa/pr21090.c: Likewise. - * gcc.dg/tree-ssa/pr58480.c: Likewise. - * gcc.dg/tree-ssa/pta-escape-1.c: Likewise. - * gcc.dg/tree-ssa/pta-escape-2.c: Likewise. - * gcc.dg/tree-ssa/pta-escape-3.c: Likewise. - * gcc.dg/tree-ssa/ssa-vrp-thread-1.c: Likewise. - * gcc.dg/tree-ssa/unreachable.c: Likewise. - * gcc.dg/tree-ssa/vrp02.c: Likewise. - * gcc.dg/tree-ssa/vrp07.c: Likewise. - * gcc.dg/tree-ssa/vrp08.c: Likewise. - * gcc.dg/tree-ssa/vrp55.c: Likewise. - * g++.dg/cpp0x/static_assert9.C: Likewise. - * g++.dg/tree-ssa/nonzero-1.C: Likewise. - * g++.dg/tree-ssa/pr19476-1.C: Likewise. - * g++.dg/tree-ssa/pr19476-2.C: Likewise. - * g++.dg/tree-ssa/pr19476-5.C: Likewise. - * g++.dg/tree-ssa/pr26406.C: Likewise. - -2015-05-04 Jakub Jelinek - - PR tree-optimization/65984 - * c-c++-common/ubsan/pr65984.c: New test. - -2015-05-04 Jeff Law - - * gcc.dg/tree-ssa/shorten-1.c: New test. - -2015-05-04 Francois-Xavier Coudert - - PR fortran/44735 - * gfortran.dg/pr44735.f90: New test. - -2015-05-04 Richard Biener - - PR tree-optimization/65965 - * gcc.dg/vect/bb-slp-33.c: New testcase. - -2015-05-04 Richard Biener - - PR tree-optimization/65935 - * gcc.dg/vect/bb-slp-pr65935.c: New testcase. - -2015-05-03 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/binary_op.inc: Call CHECK - for each supported variant instead of CHECK_RESULTS. - * gcc.target/aarch64/advsimd-intrinsics/binary_sat_op.inc: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/unary_op.inc: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vXXXl.inc: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vXXXw.inc: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vsXi_n.inc: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vshuffle.inc: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vaba.c: Remove dummy - expected results for unsupported variants. Call CHECK for each - supported variant instead of CHECK_RESULTS. - * gcc.target/aarch64/advsimd-intrinsics/vabal.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vabd.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vabdl.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vcls.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vclz.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vcnt.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vcombine.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vcreate.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vget_high.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vget_low.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vldX.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vldX_dup.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vldX_lane.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vmul.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vshl.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vsli_n.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vsri_n.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vabs.c: Remove dummy - expected results for unsupported variants. - * gcc.target/aarch64/advsimd-intrinsics/vadd.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vaddl.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vaddw.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vand.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vbic.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vcage.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vcagt.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vcale.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vcalt.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vceq.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vcge.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vcgt.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vcle.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vclt.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/veor.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vneg.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vorn.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vorr.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqabs.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqadd.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqneg.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqsub.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vsub.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vsubl.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vsubw.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vtrn.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vuzp.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vzip.c: Likewise. - -2015-05-03 Thomas Koenig - - PR fortran/37131 - * gfortran.dg/bound_9.f90: Add pointer assignment. - -2015-05-01 Paolo Carlini - Prathamesh Kulharni - - PR c++/65858 - * g++.dg/cpp0x/Wnarrowing3.C: New. - -2015-05-01 Rasmus Villemoes - - * gcc.dg/20150120-1.c: New test. - * gcc.dg/20150120-2.c: New test. - * gcc.dg/20150120-3.c: New test. - -2015-05-01 David Edelsohn - - * gcc.dg/debug/pr65771.c: Add "dg-add-options tls". - -2015-05-01 Renlin Li - - * gcc.dg/pr65345-2.c: Add sync_int_long target selector. - -2015-05-01 Mikael Morin - - * gfortran.dg/bound_simplification_4.f90: New. - -2015-04-30 Bill Schmidt - - * gcc.target/powerpc/crypto-builtin-2.c: Replace powerpc_vsx_ok - with powerpc_p8vector_ok. - -2015-04-30 Thomas Koenig - - PR fortran/37131 - * gfortran.dg/coarray_lib_this_image_2.f90: Adjust - scan pattern. - * gfortran.dg/bound_9.f90: New test case. - -2015-04-30 Uros Bizjak - - * g++.dg/ipa/devirt-28a.C: Require LTO effective target. - * g++.dg/ext/sync-4.C (dg-additional-options): Use -march=pentium - for 32bit x86 targets. - * gcc.dg/pr36504.c (dg-additional-options): Use -march=i686 -msse - for 32bit x86 targets. - * gcc.dg/pr39455.c (dg-additional-options): Ditto. - * gcc.dg/pr45352-1.c (dg-additional-options): Ditto. - * gcc.dg/pr63914.c (dg-additional-options): Use -msse - for 32bit x86 targets. - -2015-04-30 Marek Polacek - - PR tree-optimization/63551 - * g++.dg/ipa/pr63551.C: New test. - -2015-04-30 Caroline Tice - - PR 65929 - * gcc.dg/tree-prof/cold_partition_label.c: Only check for cold - partition size on certain targets. - -2015-04-30 Renlin Li - - * gcc.target/aarch64/vect-reduc-or_1.c: New. - -2015-04-30 Marek Polacek - - * c-c++-common/Wbool-compare-3.c: New test. - - * gcc.dg/pr65901.c (foo): Adjust dg-error. - * gcc.c-torture/compile/pr48767.c (foo): Likewise. - -2015-04-30 Paolo Carlini - - PR c++/57610 - * g++.dg/init/ref22.C: New. - -2015-04-30 Marek Polacek - - * gcc.dg/init-bad-8.c: New test. - - * gcc.dg/incomplete-typedef-1.c: New test. - -2015-04-30 Paolo Carlini - - PR c++/59955 - * g++.dg/template/crash121.C: New. - -2015-04-29 Petar Jovanovic - - * gcc.target/mips/call-from-init.c: New test. - * gcc.target/mips/mips.exp: Add section_start to mips_option_groups. - -2015-04-29 Uros Bizjak - - PR target/65871 - * gcc.target/i386/pr65871-1.c: New test. - * gcc.target/i386/pr65871-2.c: Ditto. - -2015-04-29 Marek Polacek - - PR c/64610 - * c-c++-common/Wbool-compare-1.c (fn1): Remove a few lines. - * c-c++-common/Wbool-compare-2.c: New test. - -2015-04-29 Alan Lawrence - - PR target/65770 - * gcc.target/aarch64/vstN_lane_1.c: New file. - -2015-04-29 Paolo Carlini - - PR c++/64667 - * g++.dg/warn/Winit-self-3.C: New. - -2015-04-29 Uros Bizjak - - * gfortran.dg/namelist_87.f90: Use dg-add-options ieee. - -2015-04-29 Yvan Roux - - PR target/65924 - * gcc.target/arm/pr65924.c: New test. - -2015-04-29 Thomas Schwinge - - * g++.dg/gomp/tpl-target-update.C: New file. - -2015-04-29 Richard Biener - - PR tree-optimization/65917 - * gcc.dg/tree-ssa/20030922-2.c: Disable ifcombine and XFAIL. - -2015-04-29 Christian Bruel - - PR target/64835 - * gcc.dg/ipa/iinline-attr.c: New test. - * gcc.target/i386/iinline-attr-2.c: New test. - -2015-04-28 Andre Vehreschild - - * gfortran.dg/implicit_class_1.f90: Adding flag to check, if - segfault is fixed. - -2015-04-28 Bill Schmidt - - * gcc.dg/vect/vect-33.c: Remove spurious line. - -2015-04-28 Jan Hubicka - - * g++.dg/tree-ssa/pr61034.C: Add temporary; fix template. - -2015-04-28 Marek Polacek - - PR c/65901 - * gcc.c-torture/compile/pr48767.c (foo): Add dg-error. - * gcc.dg/pr65901.c: New test. - -2015-04-28 Richard Biener - - PR tree-optimization/62283 - * gfortran.dg/vect/pr62283-2.f: New testcase. - * gcc.dg/vect/bb-slp-14.c: Adjust. - -2015-04-28 Richard Biener - - PR tree-optimization/65851 - * g++.dg/torture/pr65851.C: New testcase. - -2015-04-27 Jeff Law - - PR tree-optimization/65217 - * gcc.target/i386/pr65217.c: Remove XFAIL. - -2015-04-27 Andre Vehreschild - - PR fortran/60322 - Add tests forgotten to svn-add. - * gfortran.dg/class_allocate_19.f03: New test. - * gfortran.dg/class_array_20.f03: New test. - * gfortran.dg/class_array_21.f03: New test. - * gfortran.dg/finalize_29.f08: New test. - -2015-04-27 Andre Vehreschild - - PR fortran/59678 - PR fortran/65841 - * gfortran.dg/alloc_comp_deep_copy_1.f03: New test. - * gfortran.dg/alloc_comp_deep_copy_2.f03: New test. - -2015-04-27 Caroline Tice - - * gcc.dg/tree-prof/cold_partition_label.c (main): Check for cold - partition size. - -2015-04-27 Peter Bergner - - PR target/64579 - * gcc.target/powerpc/htm-1.c: New test. - * gcc.target/powerpc/htm-builtin-1.c (__builtin_tabortdc): Only test - on 64-bit compiles. - (__builtin_tabortdci): Likewise. - (__builtin_tcheck): Remove operand. - * lib/target-supports.exp (check_htm_hw_available): New function. - -2015-04-27 Richard Biener - - * gcc.target/i386/pr65217.c: XFAIL. - -2015-04-27 Jakub Jelinek - - PR tree-optimization/65875 - * gcc.c-torture/compile/pr65875.c: New test. - -2015-04-25 Marek Polacek - - PR c/52085 - * gcc.dg/enum-incomplete-2.c: New test. - * gcc.dg/enum-mode-1.c: New test. - -2015-04-24 Michael Meissner - - PR target/65849 - * gcc.target/powerpc/pr65849-1.c: New test to verify being able to - set new options. - * gcc.target/powerpc/pr65849-2.c: Likewise. - -2015-04-24 Tom de Vries - - PR tree-optimization/65802 - * g++.dg/pr65802.C: Move to ... - * gcc.dg/pr65802.c: ... here. Add -fexceptions to dg-options. Include - stdarg.h. Rewrite for C. - (fn1): Use va_list and va_arg. Make variable args function. Add use of - va_start and va_end. Remove unnecessary inline asm. - -2015-04-24 Uros Bizjak - Wei Mi - - * gcc.target/i386/sse2-load-multi.c: New test. - * gcc.target/i386/sse2-store-multi.c: Ditto. - -2015-04-24 Marek Polacek - - PR c/65830 - * c-c++-common/pr65830.c: New test. - - PR c/63357 - * c-c++-common/Wlogical-op-1.c: New test. - -2015-04-24 Marek Polacek - - PR c/61534 - * c-c++-common/pr61534-1.c: New test. - -2015-04-24 Thomas Preud'homme - Steven Bosscher - - PR rtl-optimization/34503 - * gcc.target/arm/pr64616.c: New file. - -2015-04-24 Bin Cheng - - * gcc.target/arm/pr42172-1.c: Check str instead of ldr. - -2015-04-24 Terry Guo - - * gcc.target/arm/pr65710.c: Update the options. - -2015-04-23 H.J. Lu - - * gcc.target/i386/pr65523.c: Skip x32. - -2015-04-23 Kyrylo Tkachov - - * gcc.target/arm/neon/pr51534.c: Update vcg* scan-assembly patterns - to look for vcl* where appropriate. - -2015-04-23 Bill Schmidt - - * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c: Replace - vect_no_align with vect_no_align && { ! vect_hw_misalign }. - -2015-04-23 Kwok Cheung Yeung - - PR target/26702 - * gcc.target/arm/pr26702.c: New test. - -2015-04-23 Marek Polacek - - PR c/65345 - * gcc.dg/pr65345-1.c: New test. - * gcc.dg/pr65345-2.c: New test. - -2015-04-23 Bill Schmidt - - * gcc.target/powerpc/crypto-builtin-2.c: New. - -2015-04-23 Andre Vehreschild - - PR fortran/60322 - * gfortran.dg/class_allocate_19.f03: New test. - * gfortran.dg/class_array_20.f03: New test. - * gfortran.dg/class_array_21.f03: New test. - * gfortran.dg/finalize_10.f90: Corrected scan-trees. - * gfortran.dg/finalize_15.f90: Fixing comparision to model - initialization correctly. - * gfortran.dg/finalize_29.f08: New test. - -2015-04-22 Bill Schmidt - - * gcc.target/powerpc/swaps-p8-18.c: New test. - -2015-04-22 Bill Schmidt - - PR target/65456 - * gcc.dg/vect/bb-slp-24.c: Exclude test for POWER8. - * gcc.dg/vect/bb-slp-25.c: Likewise. - * gcc.dg/vect/bb-slp-29.c: Likewise. - * gcc.dg/vect/bb-slp-32.c: Replace vect_no_align with - vect_no_align && { ! vect_hw_misalign }. - * gcc.dg/vect/bb-slp-9.c: Likewise. - * gcc.dg/vect/costmodel/ppc/costmodel-slp-33.c: Exclude test for - vect_hw_misalign. - * gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c: Likewise. - * gcc.dg/vect/costmodel/ppc/costmodel-vect-76b.c: Adjust tests to - account for POWER8, where peeling for alignment is not needed. - * gcc.dg/vect/costmodel/ppc/costmodel-vect-outer-fir.c: Replace - vect_no_align with vect_no_align && { ! vect_hw_misalign }. - * gcc.dg.vect.if-cvt-stores-vect-ifcvt-18.c: Likewise. - * gcc.dg/vect/no-scevccp-outer-6-global.c: Likewise. - * gcc.dg/vect/no-scevccp-outer-6.c: Likewise. - * gcc.dg/vect/no-vfa-vect-43.c: Likewise. - * gcc.dg/vect/no-vfa-vect-57.c: Likewise. - * gcc.dg/vect/no-vfa-vect-61.c: Likewise. - * gcc.dg/vect/no-vfa-vect-depend-1.c: Likewise. - * gcc.dg/vect/no-vfa-vect-depend-2.c: Likewise. - * gcc.dg/vect/no-vfa-vect-depend-3.c: Likewise. - * gcc.dg/vect/pr16105.c: Likewise. - * gcc.dg/vect/pr20122.c: Likewise. - * gcc.dg/vect/pr33804.c: Likewise. - * gcc.dg/vect/pr33953.c: Likewise. - * gcc.dg/vect/pr56787.c: Likewise. - * gcc.dg/vect/pr58508.c: Likewise. - * gcc.dg/vect/slp-25.c: Likewise. - * gcc.dg/vect/vect-105-bit-array.c: Likewise. - * gcc.dg/vect/vect-105.c: Likewise. - * gcc.dg/vect/vect-27.c: Likewise. - * gcc.dg/vect/vect-29.c: Likewise. - * gcc.dg/vect/vect-33.c: Exclude unaligned access test for - POWER8. - * gcc.dg/vect/vect-42.c: Replace vect_no_align with vect_no_align - && { ! vect_hw_misalign }. - * gcc.dg/vect/vect-44.c: Likewise. - * gcc.dg/vect/vect-48.c: Likewise. - * gcc.dg/vect/vect-50.c: Likewise. - * gcc.dg/vect/vect-52.c: Likewise. - * gcc.dg/vect/vect-56.c: Likewise. - * gcc.dg/vect/vect-60.c: Likewise. - * gcc.dg/vect/vect-72.c: Likewise. - * gcc.dg/vect/vect-75-big-array.c: Likewise. - * gcc.dg/vect/vect-75.c: Likewise. - * gcc.dg/vect/vect-77-alignchecks.c: Likewise. - * gcc.dg/vect/vect-77-global.c: Likewise. - * gcc.dg/vect/vect-78-alignchecks.c: Likewise. - * gcc.dg/vect/vect-78-global.c: Likewise. - * gcc.dg/vect/vect-93.c: Likewise. - * gcc.dg/vect/vect-95.c: Likewise. - * gcc.dg/vect/vect-96.c: Likewise. - * gcc.dg/vect/vect-cond-1.c: Likewise. - * gcc.dg/vect/vect-cond-3.c: Likewise. - * gcc.dg/vect/vect-cond-4.c: Likewise. - * gcc.dg/vect/vect-cselim-1.c: Likewise. - * gcc.dg/vect/vect-multitypes-1.c: Likewise. - * gcc.dg/vect/vect-multitypes-3.c: Likewise. - * gcc.dg/vect/vect-multitypes-4.c: Likewise. - * gcc.dg/vect/vect-multitypes-6.c: Likewise. - * gcc.dg/vect/vect-nest-cycle-1.c: Likewise. - * gcc.dg/vect/vect-nest-cycle-2.c: Likewise. - * gcc.dg/vect/vect-outer-3a-big-array.c: Likewise. - * gcc.dg/vect/vect-outer-3a.c: Likewise. - * gcc.dg/vect/vect-outer-5.c: Likewise. - * gcc.dg/vect/vect-outer-fir-big-array.c: Likewise. - * gcc.dg/vect/vect-outer-fir-lb-big-array.c: Likewise. - * gcc.dg/vect/vect-outer-fir-lb.c: Likewise. - * gcc.dg/vect/vect-outer-fir.c: Likewise. - * gcc.dg/vect/vect-peel-3.c: Likewise. - * gcc.dg/vect/vect-peel-4.c: Likewise. - * gcc.dg/vect/vect-pre-interact.c: Likewise. - * gcc.target/powerpc/pr65456.c: New test. - * gcc.target/powerpc/vsx-vectorize-2.c: Exclude test for POWER8. - * gcc.target/powerpc/vsx-vectorize-4.c: Likewise. - * gcc.target/powerpc/vsx-vectorize-6.c: Likewise. - * gcc.target/powerpc/vsx-vectorize-7.c: Likewise. - * gfortran.dg/vect/vect-2.f90: Replace vect_no_align with - vect_no_align && { ! vect_hw_misalign }. - * gfortran.dg/vect/vect-3.f90: Likewise. - * gfortran.dg/vect/vect-4.f90: Likewise. - * gfortran.dg/vect/vect-5.f90: Likewise. - * lib/target-supports.exp (check_effective_target_vect_no_align): - Return 1 for POWER8. - (check_effective_target_vect_hw_misalign): Return 1 for POWER8. - -2015-04-22 Steven G. Kargl - - PR fortran/65429 - * gfortran.dg/pr65429.f90: New test. - -2015-04-22 Yury Gribov - - * c-c++-common/asan/user-section-1.c: New test. - * c-c++-common/asan/user-section-2.c: New test. - * c-c++-common/asan/user-section-3.c: New test. - -2015-04-22 Hale Wang - Terry Guo - - PR rtl-optimization/64818 - * gcc.target/arm/pr64818.c: New test. - -2015-04-21 Jan Hubicka - - PR ipa/65076 - * g++.dg/tree-ssa/pr61034.C: Update template. - * g++.dg/warn/Warray-bounds.C: Harden for DSE. - * gcc.dg/Warray-bounds-11.c: Likewise. - * gcc.dg/Warray-bounds.c: Likewise. - -2015-04-21 Jerry DeLisle - - PR libgfortran/65234 - * gfortran.dg/fmt_unlimited.f90: New test. - -2015-04-21 Andreas Tobler - - * gcc.target/i386/avx512bw-vpermi2w-2.c: Fix includes to use actual - headers. - * gcc.target/i386/avx512bw-vpermt2w-2.c: Likewise. - * gcc.target/i386/avx512bw-vpmaddubsw-2.c: Likewise. - * gcc.target/i386/avx512bw-vpmaddwd-2.c: Likewise. - * gcc.target/i386/avx512dq-vfpclasspd-2.c: Likewise. - * gcc.target/i386/avx512dq-vfpclassps-2.c: Likewise. - * gcc.target/i386/avx512vbmi-vpermi2b-2.c: Likewise. - * gcc.target/i386/avx512vbmi-vpermt2b-2.c: Likewise. - -2015-04-21 Jerry DeLisle - - PR libgfortran/56743 - * gfortran.dg/namelist_87.f90: New test. - -2015-04-21 Kyrylo Tkachov - - * gcc.target/aarch64/mult-synth_1.c: New test. - * gcc.target/aarch64/mult-synth_2.c: Likewise. - * gcc.target/aarch64/mult-synth_3.c: Likewise. - * gcc.target/aarch64/mult-synth_4.c: Likewise. - * gcc.target/aarch64/mult-synth_5.c: Likewise. - * gcc.target/aarch64/mult-synth_6.c: Likewise. - -2015-04-21 Richard Biener - - PR tree-optimization/65650 - * gcc.dg/tree-ssa/ssa-ccp-37.c: New testcase. - * gcc.dg/tree-ssa/forwprop-11.c: Adjust. - * gcc.dg/tree-ssa/ssa-fre-3.c: Likewise. - * gcc.dg/tree-ssa/ssa-fre-4.c: Likewise. - * gcc.dg/tree-ssa/ssa-fre-5.c: Likewise. - * gcc.dg/tree-ssa/ssa-fre-32.c: Likewise. - -2015-04-21 Tom de Vries - - PR tree-optimization/65802 - * g++.dg/pr65802.C: New test. - -2015-04-21 Bin Cheng - - PR testsuite/65767 - * g++.dg/lto/pr65276_0.C: Change namespace std to std2. - * g++.dg/lto/pr65276_1.C: Change namespace std to std2. - -2015-04-20 Paolo Carlini - - PR c++/65801 - * g++.dg/cpp0x/Wnarrowing2.C: New. - -2015-04-20 Jeff Law - - PR tree-optimization/65658 - * gcc.dg/pr65658.c: New test. - -2015-04-20 Alan Lawrence - - PR target/64134 - * gcc.target/aarch64/vec_init_1.c: New test. - -2015-04-20 Yvan Roux - - * gcc.target/arm/pr65729.c: Restrict to hard float ABI compliant - targets. - -2015-04-18 Martin Sebor - - * gfortran.dg/pr32627.f03 (strptr): Change size to match the number - of non-nul characters. - * gfortran.dg/substr_6.f90: Make the NUL character visible on stdout - -2015-04-17 Bill Schmidt - - PR target/65787 - * gcc.target/powerpc/pr65787.c: New. - -2015-04-17 Jakub Jelinek - - PR target/65689 - * gcc.target/aarch64/c-output-template-4.c: New test. - -2015-04-17 H.J. Lu - - PR target/65780 - * gcc.dg/pr65780-1.c: New test. - * gcc.dg/pr65780-2.c: Likewise. - * gcc.target/i386/pr32219-9.c: Likewise. - * gcc.target/i386/pr32219-1.c (xxx): Make it initialized common - symbol. - * gcc.target/i386/pr64317.c (c): Initialize. - -2015-04-17 H.J. Lu - - PR target/65612 - * g++.dg/ext/mv18.C: New test. - * g++.dg/ext/mv19.C: Likewise. - * g++.dg/ext/mv20.C: Likewise. - * g++.dg/ext/mv21.C: Likewise. - * g++.dg/ext/mv22.C: Likewise. - * g++.dg/ext/mv23.C: Likewise. - -2015-04-17 Patrick Palka - - PR c++/64527 - * g++.dg/init/pr64527.C: New test. - -2015-04-17 Tom de Vries - Michael Matz - - PR tree-optimization/64950 - * gcc.dg/tree-ssa/stdarg-2.c: Change f15 scan-tree-dump for target - x86_64-*-*. - -2015-04-17 Yury Gribov - - * c-c++-common/asan/user-section-1.c: New test. - -2015-04-17 Jakub Jelinek - - PR debug/65771 - * gcc.dg/debug/pr65771.c: New test. - -2015-04-16 H.J. Lu - - * gcc.target/i386/mpx/alloca-1-lbv.c (mpx_test): Replace - __buitlin_alloca with __builtin_alloca. - -2015-04-16 Alan Lawrence - - * gcc.target/aarch64/vldN_lane_1.c: Correct dup->lane in comments. - -2015-04-16 Richard Biener - - PR tree-optimization/64277 - * gcc.dg/Warray-bounds-14.c: New testcase. - * gcc.dg/Warray-bounds-15.c: Likewise. - * c-c++-common/ubsan/bounds-4.c: Disable -Warray-bounds. - * c-c++-common/ubsan/bounds-6.c: Likewise. - -2015-04-16 Renlin Li - - * gcc.target/aarch64/unsigned-unsignedfloat.c: New. - * gcc.target/arm/unsigned-float.c: New. - -2015-04-16 Richard Biener - - * gcc.dg/tree-ssa/ssa-ccp-36.c: New testcase. - * gcc.dg/tree-ssa/pr37508.c: Adjust. - * gfortran.dg/reassoc_6.f: Remove XFAIL. - -2015-04-15 Paolo Carlini - - * g++.dg/cpp0x/alias-decl-22.C: Adjust for error + inform change. - * g++.dg/cpp0x/decltype-call1.C: Likewise. - * g++.dg/cpp0x/defaulted21.C: Likewise. - * g++.dg/cpp0x/defaulted28.C: Likewise. - * g++.dg/cpp0x/defaulted47.C: Likewise. - * g++.dg/cpp0x/elision_neg.C: Likewise. - * g++.dg/cpp0x/fntmpdefarg3.C: Likewise. - * g++.dg/cpp0x/implicit-trivial1.C: Likewise. - * g++.dg/cpp0x/implicit1.C: Likewise. - * g++.dg/cpp0x/implicit9.C: Likewise. - * g++.dg/cpp0x/inh-ctor9.C: Likewise. - * g++.dg/cpp0x/range-for13.C: Likewise. - * g++.dg/gomp/clause-2.C: Likewise. - * g++.dg/gomp/udr-5.C: Likewise. - * g++.dg/inherit/access6.C: Likewise. - * g++.dg/lookup/duperr1.C: Likewise. - * g++.dg/lookup/friend2.C: Likewise. - * g++.dg/lookup/pr6936.C: Likewise. - * g++.dg/lookup/scoped1.C: Likewise. - * g++.dg/lookup/using26.C: Likewise. - * g++.dg/lookup/using38.C: Likewise. - * g++.dg/other/access2.C: Likewise. - * g++.dg/overload/defarg3.C: Likewise. - * g++.dg/overload/defarg6.C: Likewise. - * g++.dg/parse/access11.C: Likewise. - * g++.dg/parse/access2.C: Likewise. - * g++.dg/parse/access3.C: Likewise. - * g++.dg/parse/access4.C: Likewise. - * g++.dg/parse/access5.C: Likewise. - * g++.dg/parse/access6.C: Likewise. - * g++.dg/parse/access8.C: Likewise. - * g++.dg/parse/access9.C: Likewise. - * g++.dg/parse/crash40.C: Likewise. - * g++.dg/tc1/dr142.C: Likewise. - * g++.dg/tc1/dr166.C: Likewise. - * g++.dg/tc1/dr52.C: Likewise. - * g++.dg/template/access11.C: Likewise. - * g++.dg/template/access18.C: Likewise. - * g++.dg/template/access19.C: Likewise. - * g++.dg/template/access2.C: Likewise. - * g++.dg/template/access20.C: Likewise. - * g++.dg/template/access26.C: Likewise. - * g++.dg/template/access3.C: Likewise. - * g++.dg/template/access7.C: Likewise. - * g++.dg/template/conv12.C: Likewise. - * g++.dg/template/crash69.C: Likewise. - * g++.dg/template/friend31.C: Likewise. - * g++.dg/template/friend32.C: Likewise. - * g++.dg/template/memfriend15.C: Likewise. - * g++.dg/template/memfriend16.C: Likewise. - * g++.dg/template/memfriend17.C: Likewise. - * g++.dg/template/memfriend7.C: Likewise. - * g++.dg/template/pr32519.C: Likewise. - * g++.dg/template/qualttp21.C: Likewise. - * g++.dg/template/qualttp8.C: Likewise. - * g++.dg/template/ttp10.C: Likewise. - * g++.dg/template/typedef11.C: Likewise. - * g++.dg/template/typedef13.C: Likewise. - * g++.dg/template/typedef19.C: Likewise. - * g++.dg/template/typedef20.C: Likewise. - * g++.dg/template/typedef22.C: Likewise. - * g++.dg/template/using16.C: Likewise. - * g++.dg/template/virtual3.C: Likewise. - * g++.dg/ubsan/pr61272.C: Likewise. - * g++.old-deja/g++.bob/inherit2.C: Likewise. - * g++.old-deja/g++.brendan/crash11.C: Likewise. - * g++.old-deja/g++.brendan/enum6.C: Likewise. - * g++.old-deja/g++.brendan/visibility1.C: Likewise. - * g++.old-deja/g++.brendan/visibility10.C: Likewise. - * g++.old-deja/g++.brendan/visibility2.C: Likewise. - * g++.old-deja/g++.brendan/visibility6.C: Likewise. - * g++.old-deja/g++.brendan/visibility7.C: Likewise. - * g++.old-deja/g++.brendan/visibility8.C: Likewise. - * g++.old-deja/g++.brendan/visibility9.C: Likewise. - * g++.old-deja/g++.bugs/900428_03.C: Likewise. - * g++.old-deja/g++.jason/access17.C: Likewise. - * g++.old-deja/g++.jason/access18.C: Likewise. - * g++.old-deja/g++.jason/access22.C: Likewise. - * g++.old-deja/g++.jason/access23.C: Likewise. - * g++.old-deja/g++.jason/access8.C: Likewise. - * g++.old-deja/g++.jason/delete3.C: Likewise. - * g++.old-deja/g++.jason/report.C: Likewise. - * g++.old-deja/g++.law/access2.C: Likewise. - * g++.old-deja/g++.law/access3.C: Likewise. - * g++.old-deja/g++.law/access4.C: Likewise. - * g++.old-deja/g++.law/access5.C: Likewise. - * g++.old-deja/g++.law/arm12.C: Likewise. - * g++.old-deja/g++.law/arm14.C: Likewise. - * g++.old-deja/g++.law/ctors13.C: Likewise. - * g++.old-deja/g++.law/union2.C: Likewise. - * g++.old-deja/g++.law/visibility12.C: Likewise. - * g++.old-deja/g++.law/visibility15.C: Likewise. - * g++.old-deja/g++.law/visibility16.C: Likewise. - * g++.old-deja/g++.law/visibility17.C: Likewise. - * g++.old-deja/g++.law/visibility18.C: Likewise. - * g++.old-deja/g++.law/visibility19.C: Likewise. - * g++.old-deja/g++.law/visibility20.C: Likewise. - * g++.old-deja/g++.law/visibility21.C: Likewise. - * g++.old-deja/g++.law/visibility24.C: Likewise. - * g++.old-deja/g++.law/visibility4.C: Likewise. - * g++.old-deja/g++.law/visibility5.C: Likewise. - * g++.old-deja/g++.law/visibility6.C: Likewise. - * g++.old-deja/g++.law/visibility7.C: Likewise. - * g++.old-deja/g++.law/visibility8.C: Likewise. - * g++.old-deja/g++.law/visibility9.C: Likewise. - * g++.old-deja/g++.niklas/t135.C: Likewise. - * g++.old-deja/g++.oliva/delete1.C: Likewise. - * g++.old-deja/g++.oliva/partord1.C: Likewise. - * g++.old-deja/g++.other/access11.C: Likewise. - * g++.old-deja/g++.other/access4.C: Likewise. - * g++.old-deja/g++.other/access7.C: Likewise. - * g++.old-deja/g++.other/crash1.C: Likewise. - * g++.old-deja/g++.other/crash7.C: Likewise. - * g++.old-deja/g++.other/friend1.C: Likewise. - * g++.old-deja/g++.other/friend4.C: Likewise. - * g++.old-deja/g++.other/friend9.C: Likewise. - * g++.old-deja/g++.other/lineno1.C: Likewise. - * g++.old-deja/g++.other/using1.C: Likewise. - * g++.old-deja/g++.pt/enum14.C: Likewise. - * g++.old-deja/g++.pt/friend11.C: Likewise. - * g++.old-deja/g++.pt/friend21.C: Likewise. - * g++.old-deja/g++.pt/friend3.C: Likewise. - * g++.old-deja/g++.pt/inherit2.C: Likewise. - * g++.old-deja/g++.pt/memtemp74.C: Likewise. - * g++.old-deja/g++.pt/memtemp89.C: Likewise. - * g++.old-deja/g++.robertl/eb94.C: Likewise. - -2015-04-15 Jakub Jelinek - - PR ipa/65765 - * g++.dg/ipa/pr65765.C: New test. - -2015-04-15 Nick Clifton - - * gcc.target/rx/builtins.c: Disable RMPA test if string - instructions are not allowed. - -2015-04-15 Alan Modra - - * gcc.dg/pr65408.c: New. - -2015-04-14 Yvan Roux - - PR target/65729 - * gcc.target/arm/pr65729.c: New test. - -2015-04-14 Richard Biener - - PR tree-optimization/65758 - * gfortran.fortran-torture/compile/pr65758.f90: New testcase. - -2015-04-14 Yvan Roux - - PR target/65648 - * gcc.c-torture/execute/pr65648.c: New test. - -2015-04-14 Rainer Orth - - * gcc.target/i386/avx512dq-vfpclasspd-2.c (check_fp_class_dp): Use - __builtin_finite instead of finite. - * gcc.target/i386/avx512dq-vfpclassps-2.c (check_fp_class_sp): - Likewise. - -2015-04-14 Marc Glisse - - PR tree-optimization/63387 - * gcc.dg/pr63387.c: New testcase. - -2015-04-12 Jan Hubicka - - * g++.dg/tree-ssa/nonzero-3.C: New testcase. - -2015-04-13 Richard Biener - - PR tree-optimization/65204 - * gcc.dg/tree-ssa/ssa-ccp-35.c: New testcase. - -2015-04-13 Terry Guo - - PR target/65710 - * gcc.target/arm/pr65710.c: New. - -2015-04-12 Jakub Jelinek - - PR tree-optimization/65747 - * g++.dg/torture/pr65747.C: New test. - -2015-04-12 Jakub Jelinek - - PR c++/65736 - * g++.dg/cpp0x/pr65736.C: New test. - -2015-04-11 Jan Hubicka - Martin Liska - - PR ipa/65722 - * g++.dg/ipa/pr65722.C: New testcase. - -2015-04-11 Jakub Jelinek - - PR tree-optimization/65735 - * gcc.c-torture/compile/pr65735.c: New test. - -2015-04-11 H.J. Lu - - PR middle-end/65554 - * g++.dg/opt/pr65554.C: Use __SIZE_TYPE__ instead of unsigned long. - -2015-04-11 Jakub Jelinek - - PR target/65671 - * gcc.target/i386/pr65671.c: Require avx512vl effective target. - -2015-04-10 Yvan Roux - - PR target/65647 - * gcc.target/arm/pr65647-2.c: New. - -2015-04-10 Kyrylo Tkachov - - PR target/65694 - * g++.dg/torture/pr65694.C: New test. - -2015-04-10 Tobias Burnus - - * gfortran.dg/coarray_lock_6.f90: New. - * gfortran.dg/coarray_lock_7.f90: New. - * gfortran.dg/coarray/lock_2.f90: New. - -2015-04-10 Mikael Morin - - PR fortran/56674 - PR fortran/58813 - PR fortran/59016 - PR fortran/59024 - * gfortran.dg/used_types_27.f90: New. - -2015-04-09 Kirill Yukhin - - PR target/65671 - * gcc.target/i386/pr65671.c: New. - -2015-04-09 Jakub Jelinek - - PR tree-optimization/65709 - * c-c++-common/ubsan/align-9.c: New test. - -2013-04-09 Paul Thomas - - PR fortran/56852 - * gfortran.dg/pr56852.f90: New test. - -2015-04-09 Marek Polacek - Jakub Jelinek - - PR middle-end/65554 - * g++.dg/opt/pr65554.C: New test. - -2015-04-09 Jakub Jelinek - - PR c++/65690 - * c-c++-common/attr-aligned-1.c: New test. - -2015-04-09 Ilya Enkovich - - * gcc.target/i386/mpx/memmove-zero-length.c: New. - -2015-04-09 Kirill Yukhin - - PR target/65676 - * gcc.target/i386/sse-25.c: New. - -2015-04-09 Jakub Jelinek - - PR target/65693 - * gcc.target/i386/pr65693.c: New test. - -2015-04-08 Ilya Enkovich - - * gcc.dg/lto/chkp-static-bounds_0.c: New. - -2015-04-08 Ilya Enkovich - - * gcc.target/i386/mpx/chkp-thunk-comdat-3.c: New. - -2015-04-08 Ilya Enkovich - - * gcc.target/i386/thunk-retbnd.c: New. - -2015-04-08 Eric Botcazou - - * gnat.dg/opt48.adb: New test. - * gnat.dg/opt48_pkg1.ad[sb]: New helper. - * gnat.dg/opt48_pkg2.ad[sb]: Likewise. - -2015-04-07 Jan Hubicka - - PR ipa/65540 - * gcc.c-torture/compile/pr65540.c: New. - -2015-04-07 Alan Lawrence - - * gcc.target/aarch64/c-output-template-3.c: Add -O, remove - -Wno-pointer-arith. - -2015-04-07 Jakub Jelinek - - PR debug/65678 - * g++.dg/debug/pr65678.C: New test. - - PR middle-end/65680 - * gcc.c-torture/compile/pr65680.c: New test. - -2015-04-07 Andre Vehreschild - - PR fortran/65548 - * gfortran.dg/allocate_with_source_5.f90: New test. - -2015-04-07 Ilya Enkovich - - * gcc.target/i386/mpx/chkp-thunk-comdat-1.cc: New. - * gcc.target/i386/mpx/chkp-thunk-comdat-2.cc: New. - -2015-04-07 Bin Cheng - - * gcc.target/arm/pr65647.c: Add option "-mfloat-abi=soft". - -2015-04-06 Michael Meissner - - PR target/65614 - * gcc.target/powerpc/compress-float-ppc-pic.c: Run test on power5 - to get floating point compression. - * gcc.target/powerpc/compress-foat-ppc.c: Likewise. - -2015-04-06 Jakub Jelinek - - PR preprocessor/61977 - * gcc.dg/cpp/pr61977.c: New test. - -2015-04-06 Ilya Enkovich - - * gcc.dg/lto/chkp-ctor-merge_0.c: New. - -2015-04-04 Vladimir Makarov - - PR target/65647 - * gcc.target/arm/pr65647.c: New. - -2015-04-03 Jan Hubicka - - PR ipa/65655 - * g++.dg/torture/pr65655.C: New testcase. - -2015-04-03 Paolo Carlini - - PR c++/64085 - * g++.dg/cpp1y/lambda-init13.C: New. - -2015-04-03 Marek Polacek - - * g++.dg/cpp0x/pr57101.C: Use proper type for size_t. - -2015-04-02 Marek Polacek - - PR c++/65642 - * g++.dg/cpp0x/constexpr-fold1.C: New test. - * g++.dg/cpp0x/constexpr-fold2.C: New test. - -2015-04-02 Jakub Jelinek - - PR preprocessor/61977 - * gcc.target/powerpc/pr61977-1.c: New test. - * gcc.target/powerpc/pr61977-2.c: New test. - -2015-04-01 Paolo Carlini - - PR c++/56100 - * g++.dg/warn/Wshadow-8.C: New. - * g++.dg/warn/Wshadow-9.C: Likewise. - * g++.dg/warn/Wshadow-10.C: Likewise. - * g++.dg/warn/Wshadow-11.C: Likewise. - -2015-04-01 Bernd Edlinger - - * gcc.dg/pr23623.c: Added aligned attribute. - * gcc.dg/20141029-1.c: Likewise. - * gcc.dg/20150306-1.c: New test. - -2015-04-01 Marek Polacek - - PR c++/65554 - * g++.dg/cpp0x/initlist93.C: New test. - * g++.dg/cpp0x/initlist94.C: New test. - -2015-04-01 Max Ostapenko - - PR target/65624 - * gcc.target/aarch64/pr65624.c: New test. - -2015-03-31 Jan Hubicka - - * gcc.dg/ipa/inlinehint-4.c: New testcase. - -2015-03-31 Alex Velenko - - * gcc.target/arm/pr45701-1.c (history_expand_line_internal): Add an - extra variable to force stack alignment. - * gcc.target/arm/pr45701-2.c (history_expand_line_internal): Add an - extra variable to force stack alignment. - -2015-03-31 Marek Polacek - - PR c++/65390 - * g++.dg/template/pr65390.C: New test. - -2015-03-31 Martin Liska - - * g++.dg/ipa/pr65557.C: New test. - -2015-03-31 Dominik Vogt - - * gcc.target/s390/hotpatch-25.c: New test. - * gcc.target/s390/hotpatch-1.c: Update test. - * gcc.target/s390/hotpatch-10.c: Update test. - * gcc.target/s390/hotpatch-11.c: Update test. - * gcc.target/s390/hotpatch-12.c: Update test. - * gcc.target/s390/hotpatch-13.c: Update test. - * gcc.target/s390/hotpatch-14.c: Update test. - * gcc.target/s390/hotpatch-15.c: Update test. - * gcc.target/s390/hotpatch-16.c: Update test. - * gcc.target/s390/hotpatch-17.c: Update test. - * gcc.target/s390/hotpatch-18.c: Update test. - * gcc.target/s390/hotpatch-19.c: Update test. - * gcc.target/s390/hotpatch-2.c: Update test. - * gcc.target/s390/hotpatch-21.c: Update test. - * gcc.target/s390/hotpatch-22.c: Update test. - * gcc.target/s390/hotpatch-23.c: Update test. - * gcc.target/s390/hotpatch-24.c: Update test. - * gcc.target/s390/hotpatch-3.c: Update test. - * gcc.target/s390/hotpatch-4.c: Update test. - * gcc.target/s390/hotpatch-5.c: Update test. - * gcc.target/s390/hotpatch-6.c: Update test. - * gcc.target/s390/hotpatch-7.c: Update test. - * gcc.target/s390/hotpatch-8.c: Update test. - * gcc.target/s390/hotpatch-9.c: Update test. - * gcc.target/s390/hotpatch-compile-16.c: Update test. - -2015-03-31 Richard Biener - - PR middle-end/65626 - * g++.dg/torture/pr65626.C: New testcase. - -2015-03-31 Ilya Enkovich - - PR target/65531 - * gcc.target/i386/mpx/pr65531.cc: New. - -2015-03-31 Ilya Enkovich - - PR target/65602 - * gcc.target/i386/mpx/alloca-1-lbv.c (mpx_test): Use - __builtin_alloca instead of alloca. - * gcc.target/i386/mpx/alloca-1-nov.c (mpx_test): Likewise. - * gcc.target/i386/mpx/alloca-1-ubv.c (mpx_test): Likewise. - * lib/mpx-dg.exp (check_effective_target_mpx): Add wrapper - check. - -2015-03-30 Jakub Jelinek - - PR ipa/65610 - * g++.dg/ubsan/pr65610.C: New test. - -2015-03-30 Marek Polacek - - PR c++/65398 - * g++.dg/cpp0x/pr65398-2.C: New test. - -2015-03-30 Marek Polacek - - * c-c++-common/pr65556.c: Change the width of bit-fields. - -2015-03-27 Jan Hubicka - - PR ipa/65588 - * gcc.target/i386/pr65588.c: New testcase. - -2015-03-29 Thomas Koenig - - PR libgfortran/65563 - * gfortran.dg/open_errors_2.f90: New test. - -2015-03-28 Jerry DeLisle - - PR libgfortran/65596 - * gfortran.dg/namelist_86.f90: New test. - -2015-03-28 Andre Vehreschild - - * gfortran.dg/unlimited_polymorphic_24.f03: Fixing copyright - statement to reflect new ownership. - -2015-03-28 Paolo Carlini - - PR c++/42328 - * g++.dg/template/friend58.C: New. - * g++.dg/template/friend59.C: Likewise. - -2015-03-27 Tobias Burnus - - PR c/65586 - * g++.dg/gomp/openmp-simd-3.C: New. - * gcc.dg/gomp/openmp-simd-3.c: New. - -2015-03-27 H.J. Lu - - PR target/65248 - * gcc.target/i386/pr65248-1.c: New file. - * gcc.target/i386/pr65248-2.c: Likewise. - * gcc.target/i386/pr65248-3.c: Likewise. - * gcc.target/i386/pr65248-4.c: Likewise. - -2015-03-27 Jakub Jelinek - - PR target/65593 - * gcc.c-torture/compile/pr65593.c: New test. - -2015-03-27 Paolo Carlini - - PR c++/59329 - * g++.dg/cpp1y/constexpr-assert1.C: New. - -2015-03-27 Marek Polacek - - PR c++/65556 - * c-c++-common/pr65556.c: New test. - -2015-03-27 Jan Hubicka - - PR ipa/65600 - * g++.dg/torture/pr65600.C: New testcase. - -2015-03-27 Vladimir Makarov - - PR target/65407 - * gcc.target/i386/avx512f-kandnw-1.c: Add scanning kmovw. - -2015-03-27 Andre Vehreschild - - * gfortran.dg/unlimited_polymorphic_24.f03: Added copyright - statement and cleanup. Fixed typos. - -2015-03-26 Jan Hubicka - - PR middle-end/65595 - * gcc.c-torture/compile/pr65595.c: New testcase. - -2015-03-27 Marek Polacek - - PR sanitizer/65583 - * g++.dg/ubsan/pr65583.C: New test. - -2015-03-26 Jan Hubicka - - * gcc.c-torture/compile/20150327.c: New testcase. - -2015-03-26 Richard Biener - - PR middle-end/65555 - * g++.dg/torture/pr65555.C: New testcase. - -2015-03-26 Jakub Jelinek - - PR tree-optimization/64715 - * gcc.dg/builtin-object-size-15.c: New test. - * gcc.dg/pr64715-1.c: New test. - * gcc.dg/pr64715-2.c: New test. - -2015-03-26 Richard Biener - - PR middle-end/65519 - * gnat.dg/specs/opt2.ads: Fix testcase. - -2015-03-25 Martin Sebor - - PR testsuite/65526 - * lib/target-supports.exp (check_effective_target_arm32): Fail early - when target isn't arm*-*-*-*. - (check_effective_target_arm_nothumb): Likewise. - (check_effective_target_arm_little_endian): Likewise. - (check_effective_target_arm_vect_no_misalign): Likewise. - (check_effective_target_aarch64_little_endian): Fail early if target - isn't aarch64*-*-*. - -2015-03-25 Sebastian Pop - - PR tree-optimization/65177 - * gcc.dg/tree-ssa/ssa-dom-thread-10.c: New. - -2015-03-25 Uros Bizjak - - * gcc.target/i386/sse-13.c: Include x86intrin.h and adjust #defines. - * gcc.target/i386/sse-23.c: Do not explicitly include wmmintrin.h, - smmintrin.h and mm3dnow.h. - -2015-03-25 Marek Polacek - - PR c++/65558 - * g++.dg/cpp0x/pr65558.C: New test. - -2015-03-25 Marek Polacek - - PR c++/61670 - * g++.dg/template/pr61670.C: New test. - -2015-03-25 Paolo Carlini - - PR c++/54987 - * g++.dg/template/pr54987.C: New. - -2015-03-25 Richard Biener - - PR tree-optimization/62630 - * gcc.dg/graphite/vect-pr43423.c: XFAIL. - -2015-03-25 Ilya Enkovich - - PR target/65508 - * gcc.target/i386/mpx/pr65508.c: New. - -2015-03-25 Mikael Morin - - PR fortran/64952 - PR fortran/65532 - * gfortran.dg/data_initialized_3.f90: New. - -2015-03-25 Richard Biener - - PR middle-end/65519 - * gnat.dg/specs/opt2.ads: New testcase. - -2015-03-25 Bin Cheng - - * lib/target-supports.exp (arm_tune_string_ops_prefer_neon): New. - * gcc.target/arm/memset-inline-4.c: Skip for - arm_tune_string_ops_prefer_neon. - * gcc.target/arm/memset-inline-5.c: Ditto. - * gcc.target/arm/memset-inline-6.c: Ditto. - * gcc.target/arm/memset-inline-8.c: Ditto. - * gcc.target/arm/memset-inline-9.c: Ditto. - -2015-03-24 Paolo Carlini - - PR c++/58923 - * g++.dg/other/virtual3.C: New. - -2015-03-24 Paolo Carlini - - PR c++/60130 - * g++.dg/cpp0x/vt-60130.C: New. - -2015-03-24 Paolo Carlini - - PR c++/61971 - * g++.dg/warn/Warray-bounds-7.C: New. - -2015-03-24 Paolo Carlini - - PR c++/60067 - * g++.dg/template/defarg18.C: New. - -2015-03-24 Paolo Carlini - - PR c++/59988 - * g++.dg/cpp0x/vt-59988.C: New. - -2015-03-24 Jakub Jelinek - - PR tree-optimization/65533 - * gcc.dg/pr65533.c: New test. - -2015-03-24 Andre Vehreschild - - * gfortran.dg/allocate_alloc_opt_13.f90: Added tests for - source= and mold= expressions functionality. - * gfortran.dg/allocate_class_4.f90: New test. - * gfortran.dg/unlimited_polymorphic_20.f90: Added test whether - copying an unlimited polymorhpic object containing a char array - to another unlimited polymorphic object respects the _len - component. - * gfortran.dg/unlimited_polymorphic_22.f90: Extended to check - whether deferred length char array allocate works, unlimited - polymorphic object allocation from a string works and if - allocating an array of deferred length strings works. - * gfortran.dg/unlimited_polymorphic_24.f03: New test. - -2015-03-24 Paolo Carlini - - PR c++/65513 - * g++.dg/cpp0x/constexpr-array11.C: New. - -2015-03-24 Richard Biener - - PR middle-end/65517 - * gcc.dg/torture/pr65517.c: New testcase. - -2015-03-24 Tobias Burnus - - * gfortran.dg/coindexed_1.f90: Moved from - gfortran.dg/coarray/coindexed_3.f90; added dg-options. - -2015-03-23 Jakub Jelinek - - PR testsuite/65506 - * gcc.dg/pr29215.c: Dump and analyze ccp1 dump instead of - gimple dump. - - PR target/65523 - * gcc.target/i386/pr65523.c: New test. - - PR ipa/65475 - * g++.dg/lto/pr65475_0.C: Use dg-lto-options instead of - dg-options. - * g++.dg/lto/pr65475b_0.C: Likewise. - -2015-03-23 Oleg Endo - - PR target/65505 - * gcc.target/sh/torture/pr65505.c: New. - -2015-03-23 Martin Sebor - - PR testsuite/63175 - * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c: Scan - assembly for lvx in addition to lxv. - -2015-03-23 Jakub Jelinek - - PR target/65504 - * gfortran.dg/pr65504.f90: New test. - - PR ipa/65521 - * gcc.dg/pr65521.c: New test. - -2015-03-23 Richard Biener - - PR tree-optimization/65518 - * gcc.dg/vect/pr65518.c: New testcase. - -2015-03-23 Richard Biener - - PR tree-optimization/65494 - * gcc.dg/vect/pr65494.c: New testcase. - -2015-03-23 Jakub Jelinek - - PR preprocessor/65238 - * c-c++-common/cpp/pr65238-1.c: New test. - * gcc.dg/cpp/pr65238-2.c: New test. - * gcc.dg/cpp/trad/pr65238-3.c: New test. - * gcc.dg/cpp/trad/pr65238-4.c: New test. - -2015-03-23 Paul Thomas - Mikael Morin - - PR fortran/64952 - * gfortran.dg/elemental_dependency_4.f90: New. - * gfortran.dg/elemental_dependency_5.f90: New. - -2015-03-22 Jan Hubicka - - PR ipa/65475 - * g++.dg/lto/pr65475b_0.C: New testcase. - * g++.dg/lto/pr65475b_1.C: New testcase. - * g++.dg/lto/pr65475c_0.C: New testcase. - * g++.dg/lto/pr65475c_1.C: New testcase. - -2015-03-21 Tobias Burnus - - * gfortran.dg/coarray_38.f90: New. - * gfortran.dg/coarray_39.f90: New. - * gfortran.dg/coarray/coindexed_3.f90: Add dg-error, turn into - compile test. - -2015-03-20 Marek Polacek - - PR c++/65398 - * g++.dg/cpp0x/pr65398.C: New test. - -2015-03-20 Jan Hubicka - - PR ipa/65475 - * g++.dg/lto/pr65475_0.C: New testcase. - * g++.dg/lto/pr65475_1.C: New testcase. - -2015-03-20 Vladimir Makarov - - PR rtl-optimization/64366 - * gcc.target/sh/pr64366.c: New. - -2015-03-20 Paolo Carlini - - PR c++/48324 - * g++.dg/cpp0x/constexpr-48324.C: New. - -2015-03-20 Paolo Carlini - - PR c++/48453 - * g++.dg/cpp0x/pr48453.C: New. - -2015-03-20 Marek Polacek - - PR c++/65072 - * g++.dg/cpp0x/pr65072.C: New test. - -2015-03-20 Richard Biener - - PR middle-end/64715 - * gcc.dg/pr15347.c: Use -O. - * c-c++-common/pr19807-1.c: Likewise. - -2015-03-20 Eric Botcazou - - * gnat.dg/volatile13.ad[sb]: New test. - -2015-03-20 Uros Bizjak - - PR rtl-optimization/60851 - * gcc.target/i386/pr60851.c: New test. - -2015-03-19 Michael Meissner - - PR target/65240 - * g++.dg/pr65240.h: Add tests for PR 65240. - * g++.dg/pr65240-1.C: Likewise. - * g++.dg/pr65240-2.C: Likewise. - * g++.dg/pr65240-3.C: Likewise. - * g++.dg/pr65240-4.C: Likewise. - -2015-03-19 Vladimir Makarov - - PR rtl-optimization/63491 - * gcc.target/powerpc/pr63491.c: New. - -2015-03-19 Jakub Jelinek - - * g++.dg/ipa/pr65465.C: New test. - -2015-03-19 Paolo Carlini - - PR c++/52659 - * g++.dg/cpp0x/deleted11.C: New. - -2015-03-19 Jakub Jelinek - - PR sanitizer/65400 - * c-c++-common/tsan/pr65400-3.c: New test. - -2015-03-19 Paolo Carlini - - PR c++/59686 - * g++.dg/cpp0x/constexpr-59686.C: New. - -2015-03-19 Jakub Jelinek - - PR sanitizer/64265 - * g++.dg/tsan/pr64265.C: New test. - - PR sanitizer/65400 - * c-c++-common/tsan/pr65400-1.c: New test. - * c-c++-common/tsan/pr65400-2.c: New test. - -2015-03-18 Paolo Carlini - - PR c++/59816 - * g++.dg/cpp0x/pr59816.C: New. - -2015-03-18 Paul Thomas - - PR fortran/59198 - * gfortran.dg/proc_ptr_comp_45.f90: Make tests fuzzy. - -2015-03-18 Martin Liska - - PR ipa/65439 - * g++.dg/ipa/ipa-icf-4.C: Extend expected number of - equivalences either to 6 or 7. - -2015-03-18 Andrew Stubbs - - PR middle-end/64491 - Revert: - 2014-11-20 Andrew Stubbs - - * gcc.dg/undefined-loop-1.c: New file. - * gcc.dg/undefined-loop-2.c: New file. - - 2014-12-24 Andrew Stubbs - - PR testsuite/64032 - * gcc.dg/undefined-loop-2.c: Don't allow GCC to optimize away the - loop exits too early. - -2015-03-18 Jakub Jelinek - - PR tree-optimization/65450 - * gfortran.dg/pr65450.f90: New test. - - PR target/65078 - * gcc.target/i386/pr65078-1.c: New test. - * gcc.target/i386/pr65078-2.c: New test. - * gcc.target/i386/pr65078-3.c: New test. - * gcc.target/i386/pr65078-4.c: New test. - * gcc.target/i386/pr65078-5.c: New test. - * gcc.target/i386/pr65078-6.c: New test. - -2015-03-18 Paolo Carlini - - PR c++/65340 - * g++.dg/cpp1y/pr65340.C: New. - -2015-03-17 Jerry DeLisle - - PR fortran/64432 - * gfortran.dg/system_clock_3.f08: Adjust test. - -2015-03-17 Paul Thomas - - PR fortran/59198 - * gfortran.dg/proc_ptr_comp_44.f90: New test. - * gfortran.dg/proc_ptr_comp_45.f90: New test. - -2015-03-16 Jerry DeLisle - - PR fortran/64432 - * gfortran.dg/system_clock_3.f08: New test. - -2015-03-16 Edward Smith-Rowland <3dw4rd@verizon.net> - - PR c++/64626 - g++.dg/cpp1y/pr64626-1.C: New. - g++.dg/cpp1y/pr64626-2.C: New. - g++.dg/cpp1y/digit-sep-neg.C: Adjust errors and warnings. - -2015-03-16 Jakub Jelinek - - PR tree-optimization/65427 - * gcc.c-torture/execute/pr65427.c: New test. - -2015-03-16 Marek Polacek - - DR 1688 - PR c++/65327 - * g++.dg/cpp0x/constexpr-object1.C: Change dg-error to dg-bogus. - * g++.dg/cpp0x/pr65327.C: New test. - -2015-03-16 Max Ostapenko - - PR sanitizer/64820 - * c-c++-common/asan/pr64820.c: New test. - -2015-03-16 Andre Vehreschild - - * gfortran.dg/pointer_2.f90: New test. - -2015-03-16 Eric Botcazou - - * g++.dg/pr65049.C: New test. - -2015-03-16 Tom de Vries - - * gcc.target/i386/fuse-caller-save-rec.c: Add PR64895 xfail on scans. - * gcc.target/i386/fuse-caller-save-xmm.c: Same. - * gcc.target/i386/fuse-caller-save.c: Same. - -2015-03-16 Eric Botcazou - - * gnat.dg/loop_optimization18.ad[sb]: New test. - * gnat.dg/loop_optimization18_pkg.ads: New helper. - -2015-03-16 Alan Modra - - * gcc.target/powerpc/pr53199.c: Add extra functions. Revert - 2014-12-05 change. - -2015-03-15 John David Anglin - - * gcc.dg/torture/pr65270-1.c: Add -fno-common to dg-options on - hppa*-*-hpux*. - * gcc.dg/torture/pr65270-2.c: Likewise. - -2015-03-14 Mikael Morin - - PR fortran/61138 - * gfortran.dg/pointer_remapping_9.f90: New. - -2015-03-14 Jakub Jelinek - - PR tree-optimization/65369 - * gcc.c-torture/execute/pr65369.c: New test. - - PR tree-optimization/65418 - * gcc.c-torture/execute/pr65418-1.c: New test. - * gcc.c-torture/execute/pr65418-2.c: New test. - - PR rtl-optimization/65401 - * gcc.c-torture/execute/pr65401.c: New test. - -2015-03-13 Kyrylo Tkachov - - PR target/64600 - * gcc.target/arm/pr64600_1.c: New test. - -2015-03-12 Kyrylo Tkachov - - PR rtl-optimization/65235 - * gcc.target/aarch64/pr65235_1.c: New test. - -2015-03-12 Dominik Vogt - - * gcc.target/s390/hotpatch-21.c: New test for hotpatch alignment. - * gcc.target/s390/hotpatch-22.c: Likewise. - * gcc.target/s390/hotpatch-23.c: Likewise. - * gcc.target/s390/hotpatch-24.c: Likewise. - * gcc.target/s390/hotpatch-2.c: Also check hotpatch alignment. - * gcc.target/s390/hotpatch-1.c: Update expected output. - * gcc.target/s390/hotpatch-2.c: Likewise. - * gcc.target/s390/hotpatch-3.c: Likewise. - * gcc.target/s390/hotpatch-4.c: Likewise. - * gcc.target/s390/hotpatch-5.c: Likewise. - * gcc.target/s390/hotpatch-6.c: Likewise. - * gcc.target/s390/hotpatch-7.c: Likewise. - * gcc.target/s390/hotpatch-8.c: Likewise. - * gcc.target/s390/hotpatch-9.c: Likewise. - * gcc.target/s390/hotpatch-10.c: Likewise. - * gcc.target/s390/hotpatch-11.c: Likewise. - * gcc.target/s390/hotpatch-12.c: Likewise. - * gcc.target/s390/hotpatch-13.c: Likewise. - * gcc.target/s390/hotpatch-14.c: Likewise. - * gcc.target/s390/hotpatch-15.c: Likewise. - * gcc.target/s390/hotpatch-16.c: Likewise. - * gcc.target/s390/hotpatch-17.c: Likewise. - * gcc.target/s390/hotpatch-18.c: Likewise. - * gcc.target/s390/hotpatch-19.c: Likewise. - -2015-03-12 Ilya Enkovich - - PR target/65103 - * gcc.target/i386/pr65103-1.c: New. - -2015-03-12 Ilya Enkovich - - PR target/65044 - * gcc.target/i386/pr65044.c: New. - -2015-03-12 Tom de Vries - - PR rtl-optimization/64895 - * gcc.target/i386/fuse-caller-save-rec.c: Revert require nonpic target. - * gcc.target/i386/fuse-caller-save-xmm.c: Ditto. - * gcc.target/i386/fuse-caller-save.c: Ditto. - -2015-03-10 Jan Hubicka - - * gcc.dg/ipa/pr63569.c: Fix template. - -2015-03-11 Sandra Loosemore - - * g++.dg/ipa/pr64146.C: Require fpic support. - -2015-03-11 Janne Blomqvist - - PR libfortran/65200 - * gfortran.dg/open_errors.f90: Update checks for iomsg string. - * gfortran.dg/open_new_segv.f90: Fix error message pattern. - -2015-03-11 Jakub Jelinek - - * c-c++-common/asan/no-asan-check-glob.c: Add -ffat-lto-objects - to dg-options, fix up dg-skip-if. - -2015-03-11 Georg-Johann Lay - - PR target/65296 - * gcc.target/avr/tiny-memx: Use -mmcu instead of -march. - * gcc.target/avr/tiny-caller-save.c: Same. - -2015-03-11 Michael Meissner - - PR target/65242 - * g++.dg/pr65242.C: New test. - -2015-03-11 Marat Zakirov - - * c-c++-common/asan/no-asan-check-glob.c: New test. - -2015-03-10 Paolo Carlini - - PR c++/65370 - * g++.dg/other/default11.C: New. - * g++.dg/other/default12.C: Likewise. - -2015-03-10 Jakub Jelinek - - PR target/65368 - * gcc.target/i386/bmi2-bzhi-2.c: New test. - -2015-03-10 Paul Thomas - - PR fortran/65024 - * gfortran.dg/unlimited_polymorphic_23.f90: New test - -2015-03-10 Jakub Jelinek - - PR c++/65127 - * g++.dg/cpp0x/pr65127.C: New test. - -2015-03-10 Jan Hubicka - - * gcc.dg/ipa/PR64550.c: Update template. - -2015-03-10 Alessandro Fanfarillo - Tobias Burnus - - * gfortran.dg/coarray_sync_memory.f90: New. - -2015-03-10 Marek Polacek - - PR sanitizer/65367 - * c-c++-common/ubsan/pr65367.c: New test. - -2015-03-10 Ilya Enkovich - - * lib/mpx-dg.exp (mpx_link_flags): Set path to wrappers library. - * gcc.target/i386/mpx/calloc-1-lbv.c: New. - * gcc.target/i386/mpx/calloc-1-ubv.c: New. - * gcc.target/i386/mpx/calloc-1-nov.c: New. - * gcc.target/i386/mpx/malloc-1-lbv.c: New. - * gcc.target/i386/mpx/malloc-1-nov.c: New. - * gcc.target/i386/mpx/malloc-1-ubv.c: New. - * gcc.target/i386/mpx/realloc-1-lbv.c: New. - * gcc.target/i386/mpx/realloc-1-nov.c: New. - * gcc.target/i386/mpx/realloc-1-ubv.c: New. - * gcc.target/i386/mpx/realloc-2-lbv.c: New. - * gcc.target/i386/mpx/realloc-2-nov.c: New. - * gcc.target/i386/mpx/realloc-2-ubv.c: New. - -2015-03-10 Ilya Enkovich - - * lib/mpx-dg.exp (mpx_link_flags): New. - (mpx_init): New. - (mpx_finish): New. - * gcc.target/i386/mpx/alloca-1-lbv.c: New. - * gcc.target/i386/mpx/alloca-1-nov.c: New. - * gcc.target/i386/mpx/alloca-1-ubv.c: New. - * gcc.target/i386/mpx/arg-addr-1-lbv.c: New. - * gcc.target/i386/mpx/arg-addr-1-nov.c: New. - * gcc.target/i386/mpx/arg-addr-1-ubv.c: New. - * gcc.target/i386/mpx/bitfields-1-lbv.c: New. - * gcc.target/i386/mpx/bitfields-1-nov.c: New. - * gcc.target/i386/mpx/bitfields-1-ubv.c: New. - * gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-1-lbv.c: New. - * gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-1-nov.c: New. - * gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-1-ubv.c: New. - * gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-2.c: New. - * gcc.target/i386/mpx/builtin-bnd-chk-ptr-lbounds-1-lbv.c: New. - * gcc.target/i386/mpx/builtin-bnd-chk-ptr-lbounds-1-nov.c: New. - * gcc.target/i386/mpx/builtin-bnd-chk-ptr-lbounds-2.c: New. - * gcc.target/i386/mpx/builtin-bnd-chk-ptr-ubounds-1-nov.c: New. - * gcc.target/i386/mpx/builtin-bnd-chk-ptr-ubounds-1-ubv.c: New. - * gcc.target/i386/mpx/builtin-bnd-chk-ptr-ubounds-2.c: New. - * gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-1.c: New. - * gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-2-lbv.c: New. - * gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-2-nov.c: New. - * gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-2-ubv.c: New. - * gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-3.c: New. - * gcc.target/i386/mpx/builtin-bnd-get-ptr-lbound-1.c: New. - * gcc.target/i386/mpx/builtin-bnd-get-ptr-lbound-2.c: New. - * gcc.target/i386/mpx/builtin-bnd-get-ptr-ubound-1.c: New. - * gcc.target/i386/mpx/builtin-bnd-get-ptr-ubound-2.c: New. - * gcc.target/i386/mpx/builtin-bnd-init-ptr-bounds-1.c: New. - * gcc.target/i386/mpx/builtin-bnd-init-ptr-bounds-2-nov.c: New. - * gcc.target/i386/mpx/builtin-bnd-init-ptr-bounds-3.c: New. - * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-1.c: New. - * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-2-lbv.c: New. - * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-2-nov.c: New. - * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-2-ubv.c: New. - * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-3-lbv.c: New. - * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-3-nov.c: New. - * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-3-ubv.c: New. - * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-4.c: New. - * gcc.target/i386/mpx/builtin-bnd-null-ptr-bounds-1-bbv.c: New. - * gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-1.c: New. - * gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-2-lbv.c: New. - * gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-2-nov.c: New. - * gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-2-ubv.c: New. - * gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-3.c: New. - * gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-1-lbv.c: New. - * gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-1-nov.c: New. - * gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-1-ubv.c: New. - * gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-2.c: New. - * gcc.target/i386/mpx/fastcall-1-lbv.c: New. - * gcc.target/i386/mpx/fastcall-1-nov.c: New. - * gcc.target/i386/mpx/fastcall-1-ubv.c: New. - * gcc.target/i386/mpx/fastcall-2-lbv.c: New. - * gcc.target/i386/mpx/fastcall-2-nov.c: New. - * gcc.target/i386/mpx/fastcall-2-ubv.c: New. - * gcc.target/i386/mpx/field-addr-1-lbv.c: New. - * gcc.target/i386/mpx/field-addr-1-nov.c: New. - * gcc.target/i386/mpx/field-addr-1-ubv.c: New. - * gcc.target/i386/mpx/field-addr-10-lbv.c: New. - * gcc.target/i386/mpx/field-addr-10-nov.c: New. - * gcc.target/i386/mpx/field-addr-10-ubv.c: New. - * gcc.target/i386/mpx/field-addr-2-lbv.c: New. - * gcc.target/i386/mpx/field-addr-2-nov.c: New. - * gcc.target/i386/mpx/field-addr-2-ubv.c: New. - * gcc.target/i386/mpx/field-addr-3-lbv.c: New. - * gcc.target/i386/mpx/field-addr-3-nov.c: New. - * gcc.target/i386/mpx/field-addr-3-ubv.c: New. - * gcc.target/i386/mpx/field-addr-4-lbv.c: New. - * gcc.target/i386/mpx/field-addr-4-nov.c: New. - * gcc.target/i386/mpx/field-addr-4-ubv.c: New. - * gcc.target/i386/mpx/field-addr-5-lbv.c: New. - * gcc.target/i386/mpx/field-addr-5-nov.c: New. - * gcc.target/i386/mpx/field-addr-5-ubv.c: New. - * gcc.target/i386/mpx/field-addr-6-lbv.c: New. - * gcc.target/i386/mpx/field-addr-6-nov.c: New. - * gcc.target/i386/mpx/field-addr-6-ubv.c: New. - * gcc.target/i386/mpx/field-addr-7-lbv.c: New. - * gcc.target/i386/mpx/field-addr-7-nov.c: New. - * gcc.target/i386/mpx/field-addr-7-ubv.c: New. - * gcc.target/i386/mpx/field-addr-8-lbv.c: New. - * gcc.target/i386/mpx/field-addr-8-nov.c: New. - * gcc.target/i386/mpx/field-addr-8-ubv.c: New. - * gcc.target/i386/mpx/field-addr-9-lbv.c: New. - * gcc.target/i386/mpx/field-addr-9-nov.c: New. - * gcc.target/i386/mpx/field-addr-9-ubv.c: New. - * gcc.target/i386/mpx/frame-address-1-nov.c: New. - * gcc.target/i386/mpx/hard-reg-1-nov.c: New. - * gcc.target/i386/mpx/if-stmt-1-lbv.c: New. - * gcc.target/i386/mpx/if-stmt-1-nov.c: New. - * gcc.target/i386/mpx/if-stmt-1-ubv.c: New. - * gcc.target/i386/mpx/if-stmt-2-lbv.c: New. - * gcc.target/i386/mpx/if-stmt-2-nov.c: New. - * gcc.target/i386/mpx/if-stmt-2-ubv.c: New. - * gcc.target/i386/mpx/label-address-1.c: New. - * gcc.target/i386/mpx/legacy-1-nov.c: New. - * gcc.target/i386/mpx/macro.c: New. - * gcc.target/i386/mpx/mpx-check.h: New. - * gcc.target/i386/mpx/mpx.exp: New. - * gcc.target/i386/mpx/nested-function-1-lbv.c: New. - * gcc.target/i386/mpx/nested-function-1-nov.c: New. - * gcc.target/i386/mpx/nested-function-1-ubv.c: New. - * gcc.target/i386/mpx/pointer-arg-1-lbv.c: New. - * gcc.target/i386/mpx/pointer-arg-1-nov.c: New. - * gcc.target/i386/mpx/pointer-arg-1-ubv.c: New. - * gcc.target/i386/mpx/pointer-arg-2-lbv.c: New. - * gcc.target/i386/mpx/pointer-arg-2-nov.c: New. - * gcc.target/i386/mpx/pointer-arg-2-ubv.c: New. - * gcc.target/i386/mpx/pointer-arg-3-lbv.c: New. - * gcc.target/i386/mpx/pointer-arg-3-nov.c: New. - * gcc.target/i386/mpx/pointer-arg-3-ubv.c: New. - * gcc.target/i386/mpx/pointer-arg-4-lbv.c: New. - * gcc.target/i386/mpx/pointer-arg-4-nov.c: New. - * gcc.target/i386/mpx/pointer-arg-4-ubv.c: New. - * gcc.target/i386/mpx/pointer-arg-5-lbv.c: New. - * gcc.target/i386/mpx/pointer-arg-5-nov.c: New. - * gcc.target/i386/mpx/pointer-arg-5-ubv.c: New. - * gcc.target/i386/mpx/pointer-store-1-lbv.c: New. - * gcc.target/i386/mpx/pointer-store-1-nov.c: New. - * gcc.target/i386/mpx/pointer-store-1-ubv.c: New. - * gcc.target/i386/mpx/reference-1-lbv.c: New. - * gcc.target/i386/mpx/reference-1-nov.c: New. - * gcc.target/i386/mpx/reference-1-ubv.c: New. - * gcc.target/i386/mpx/reference-2-lbv.c: New. - * gcc.target/i386/mpx/reference-2-nov.c: New. - * gcc.target/i386/mpx/reference-2-ubv.c: New. - * gcc.target/i386/mpx/reference-3-lbv.c: New. - * gcc.target/i386/mpx/reference-3-nov.c: New. - * gcc.target/i386/mpx/reference-3-ubv.c: New. - * gcc.target/i386/mpx/reference-4-lbv.c: New. - * gcc.target/i386/mpx/reference-4-nov.c: New. - * gcc.target/i386/mpx/reference-4-ubv.c: New. - * gcc.target/i386/mpx/return-pointer-1-lbv.c: New. - * gcc.target/i386/mpx/return-pointer-1-nov.c: New. - * gcc.target/i386/mpx/return-pointer-1-ubv.c: New. - * gcc.target/i386/mpx/return-struct-1-lbv.c: New. - * gcc.target/i386/mpx/return-struct-1-nov.c: New. - * gcc.target/i386/mpx/return-struct-1-ubv.c: New. - * gcc.target/i386/mpx/return-struct-2-lbv.c: New. - * gcc.target/i386/mpx/return-struct-2-nov.c: New. - * gcc.target/i386/mpx/return-struct-2-ubv.c: New. - * gcc.target/i386/mpx/return-struct-3-lbv.c: New. - * gcc.target/i386/mpx/return-struct-3-nov.c: New. - * gcc.target/i386/mpx/return-struct-3-ubv.c: New. - * gcc.target/i386/mpx/return-struct-4-lbv.c: New. - * gcc.target/i386/mpx/return-struct-4-nov.c: New. - * gcc.target/i386/mpx/return-struct-4-ubv.c: New. - * gcc.target/i386/mpx/return-struct-5-lbv.c: New. - * gcc.target/i386/mpx/return-struct-5-nov.c: New. - * gcc.target/i386/mpx/return-struct-5-ubv.c: New. - * gcc.target/i386/mpx/return-struct-6-lbv.c: New. - * gcc.target/i386/mpx/return-struct-6-nov.c: New. - * gcc.target/i386/mpx/return-struct-6-ubv.c: New. - * gcc.target/i386/mpx/sincos-1-nov.c: New. - * gcc.target/i386/mpx/static-array-1-lbv.c: New. - * gcc.target/i386/mpx/static-array-1-nov.c: New. - * gcc.target/i386/mpx/static-array-1-ubv.c: New. - * gcc.target/i386/mpx/static-init-1-lbv.c: New. - * gcc.target/i386/mpx/static-init-1-nov.c: New. - * gcc.target/i386/mpx/static-init-1-ubv.c: New. - * gcc.target/i386/mpx/static-init-2-lbv.c: New. - * gcc.target/i386/mpx/static-init-2-nov.c: New. - * gcc.target/i386/mpx/static-init-2-ubv.c: New. - * gcc.target/i386/mpx/static-init-3-lbv.c: New. - * gcc.target/i386/mpx/static-init-3-nov.c: New. - * gcc.target/i386/mpx/static-init-3-ubv.c: New. - * gcc.target/i386/mpx/static-init-4-lbv.c: New. - * gcc.target/i386/mpx/static-init-4-nov.c: New. - * gcc.target/i386/mpx/static-init-4-ubv.c: New. - * gcc.target/i386/mpx/static-init-5-lbv.c: New. - * gcc.target/i386/mpx/static-init-5-nov.c: New. - * gcc.target/i386/mpx/static-init-5-ubv.c: New. - * gcc.target/i386/mpx/static-init-6-lbv.c: New. - * gcc.target/i386/mpx/static-init-6-nov.c: New. - * gcc.target/i386/mpx/static-init-6-ubv.c: New. - * gcc.target/i386/mpx/static-string-1-lbv.c: New. - * gcc.target/i386/mpx/static-string-1-nov.c: New. - * gcc.target/i386/mpx/static-string-1-ubv.c: New. - * gcc.target/i386/mpx/struct-arg-1-lbv.c: New. - * gcc.target/i386/mpx/struct-arg-1-nov.c: New. - * gcc.target/i386/mpx/struct-arg-1-ubv.c: New. - * gcc.target/i386/mpx/struct-arg-10-lbv.c: New. - * gcc.target/i386/mpx/struct-arg-10-nov.c: New. - * gcc.target/i386/mpx/struct-arg-10-ubv.c: New. - * gcc.target/i386/mpx/struct-arg-2-lbv.c: New. - * gcc.target/i386/mpx/struct-arg-2-nov.c: New. - * gcc.target/i386/mpx/struct-arg-2-ubv.c: New. - * gcc.target/i386/mpx/struct-arg-3-lbv.c: New. - * gcc.target/i386/mpx/struct-arg-3-nov.c: New. - * gcc.target/i386/mpx/struct-arg-3-ubv.c: New. - * gcc.target/i386/mpx/struct-arg-4-lbv.c: New. - * gcc.target/i386/mpx/struct-arg-4-nov.c: New. - * gcc.target/i386/mpx/struct-arg-4-ubv.c: New. - * gcc.target/i386/mpx/struct-arg-5-lbv.c: New. - * gcc.target/i386/mpx/struct-arg-5-nov.c: New. - * gcc.target/i386/mpx/struct-arg-5-ubv.c: New. - * gcc.target/i386/mpx/struct-arg-6-lbv.c: New. - * gcc.target/i386/mpx/struct-arg-6-nov.c: New. - * gcc.target/i386/mpx/struct-arg-6-ubv.c: New. - * gcc.target/i386/mpx/struct-arg-7-lbv.c: New. - * gcc.target/i386/mpx/struct-arg-7-nov.c: New. - * gcc.target/i386/mpx/struct-arg-7-ubv.c: New. - * gcc.target/i386/mpx/struct-arg-8-lbv.c: New. - * gcc.target/i386/mpx/struct-arg-8-nov.c: New. - * gcc.target/i386/mpx/struct-arg-8-ubv.c: New. - * gcc.target/i386/mpx/struct-arg-9-lbv.c: New. - * gcc.target/i386/mpx/struct-arg-9-nov.c: New. - * gcc.target/i386/mpx/struct-arg-9-ubv.c: New. - * gcc.target/i386/mpx/struct-copy-1-lbv.c: New. - * gcc.target/i386/mpx/struct-copy-1-nov.c: New. - * gcc.target/i386/mpx/struct-copy-1-ubv.c: New. - * gcc.target/i386/mpx/struct-copy-2-lbv.c: New. - * gcc.target/i386/mpx/struct-copy-2-nov.c: New. - * gcc.target/i386/mpx/struct-copy-2-ubv.c: New. - * gcc.target/i386/mpx/thread-local-var-1-lbv.c: New. - * gcc.target/i386/mpx/thread-local-var-1-nov.c: New. - * gcc.target/i386/mpx/thread-local-var-1-ubv.c: New. - * gcc.target/i386/mpx/union-arg-1-lbv.c: New. - * gcc.target/i386/mpx/union-arg-1-nov.c: New. - * gcc.target/i386/mpx/union-arg-1-ubv.c: New. - * gcc.target/i386/mpx/va-arg-pack-1-lbv.c: New. - * gcc.target/i386/mpx/va-arg-pack-1-nov.c: New. - * gcc.target/i386/mpx/va-arg-pack-1-ubv.c: New. - * gcc.target/i386/mpx/va-arg-pack-2-lbv.c: New. - * gcc.target/i386/mpx/va-arg-pack-2-nov.c: New. - * gcc.target/i386/mpx/va-arg-pack-2-ubv.c: New. - * gcc.target/i386/mpx/vararg-1-lbv.c: New. - * gcc.target/i386/mpx/vararg-1-nov.c: New. - * gcc.target/i386/mpx/vararg-1-ubv.c: New. - * gcc.target/i386/mpx/vararg-2-lbv.c: New. - * gcc.target/i386/mpx/vararg-2-nov.c: New. - * gcc.target/i386/mpx/vararg-2-ubv.c: New. - * gcc.target/i386/mpx/vararg-3-lbv.c: New. - * gcc.target/i386/mpx/vararg-3-nov.c: New. - * gcc.target/i386/mpx/vararg-3-ubv.c: New. - * gcc.target/i386/mpx/vararg-4-lbv.c: New. - * gcc.target/i386/mpx/vararg-4-nov.c: New. - * gcc.target/i386/mpx/vararg-4-ubv.c: New. - * gcc.target/i386/mpx/vararg-5-lbv.c: New. - * gcc.target/i386/mpx/vararg-5-nov.c: New. - * gcc.target/i386/mpx/vararg-5-ubv.c: New. - * gcc.target/i386/mpx/vararg-6-lbv.c: New. - * gcc.target/i386/mpx/vararg-6-nov.c: New. - * gcc.target/i386/mpx/vararg-6-ubv.c: New. - * gcc.target/i386/mpx/vararg-7-lbv.c: New. - * gcc.target/i386/mpx/vararg-7-nov.c: New. - * gcc.target/i386/mpx/vararg-7-ubv.c: New. - * gcc.target/i386/mpx/vararg-8-lbv.c: New. - * gcc.target/i386/mpx/vararg-8-nov.c: New. - * gcc.target/i386/mpx/vararg-8-ubv.c: New. - * gcc.target/i386/mpx/vla-1-lbv.c: New. - * gcc.target/i386/mpx/vla-1-nov.c: New. - * gcc.target/i386/mpx/vla-1-ubv.c: New. - * gcc.target/i386/mpx/vla-2-lbv.c: New. - * gcc.target/i386/mpx/vla-2-nov.c: New. - * gcc.target/i386/mpx/vla-2-ubv.c: New. - -2015-03-10 James Greenhalgh - - * gcc.dg/vect/pr65310.c (c): Reduce alignment to 4-bytes. - -2015-03-10 Oleg Endo - - * gcc.target/sh/pr54680.c: Add -fno-ipa-icf option. - -2015-03-10 Uros Bizjak - - * gcc.dg/ipa/ipa-icf-36.c (dg-final): Cleanup icf ipa dump. - * gcc.dg/ipa/ipa-icf-37.c (dg-final): Ditto. - -2015-03-10 Jakub Jelinek - - PR c/65120 - * c-c++-common/pr49706.c (fn2): Don't expect warning if enumerator - on rhs is 0. - (fn4): New test. - * c-c++-common/pr65120.c: New test. - - PR rtl-optimization/65321 - * gcc.dg/pr65321.c: New test. - -2015-03-10 Jan Hubicka - - PR tree-optimization/65355 - * gcc.dg/vect/section-anchors-vect-69.c: Update template. - -2015-03-09 Jakub Jelinek - - PR c/65120 - * c-c++-common/pr49706.c: Adjust tests for not warning - about !!x == y or !b == y where b is boolean, and add - some further tests. - * c-c++-common/pr62199-2.c: Likewise. - -2015-03-09 Richard Biener - - PR middle-end/65270 - * gcc.dg/torture/pr65270-1.c: New testcase. - * gcc.dg/torture/pr65270-2.c: Likewise. - -2015-03-09 Thomas Preud'homme - - PR tree-optimization/63743 - * gcc.dg/pr63743.c: New test. - -2015-03-08 Jan Hubicka - - PR lto/65316 - * g++.dg/lto/pr65316_0.C: New testcase. - * g++.dg/lto/pr65316_1.C: New testcase. - -2015-03-08 John David Anglin - - PR target/62247 - * g++.dg/abi/anon3.C: Skip failing scan-assembler checks on - hppa*-*-hpux*. - * g++.dg/abi/rtti3.C: Likewise. - - * g++.dg/ipa/pr63621.C: Add dg-require-effective-target named_sections. - - PR target/62251 - * gfortran.dg/quad_2.f90: xfail hppa*-*-hpux*. - - * gcc.dg/signbit-sa.c: Add dg-require-effective-target c99_runtime - - * gcc.dg/ipa/pr64307.c: Add target c99_runtime. - - * gcc.dg/ipa/ipa-icf-34.c: Add dg-require-alias. - -2015-03-08 Morin - - PR fortran/60898 - * gfortran.dg/entry_20.f90: New. - -2015-03-07 Oleg Endo - - PR target/65153 - * gcc.c-torture/compile/pr65153.c: New. - -2015-03-07 Oleg Endo - - PR target/65249 - * g++.dg/torture/pr65249.C: New. - -2015-03-07 H.J. Lu - - * gcc.target/i386/pr45685.c (uint64_t): Replace long with long - long. - (int64_t): Likewise. - -2015-03-07 Marek Polacek - Martin Uecker - - PR sanitizer/65280 - * c-c++-common/ubsan/bounds-1.c: Add testing of flexible array - member-like arrays. - * c-c++-common/ubsan/bounds-8.c: New test. - * c-c++-common/ubsan/bounds-9.c: New test. - * gcc.dg/ubsan/bounds-2.c: New test. - -2015-03-05 Martin Sebor - - PR testsuite/63175 - * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c (main1): Move - checking of results into main to prevent it from getting optimized - away. - * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c: New test. - -2015-03-06 Wilco Dijkstra - - * gcc.dg/tree-ssa/pr45685.c: Move to gcc.target/i386. - * gcc.target/aarch64/csneg-1.c (test_csneg_cmp): New test. - * gcc.target/i386/pr45685.c: Moved test, check for conditional move on - x64. - -2015-03-05 Jan Hubicka - - * g++.dg/lto/pr65302_1.C: New testcase. - * g++.dg/lto/pr65302_0.C: New testcase. - -2015-03-06 James Greenhalgh - - * gcc.target/arm/atomic-comp-swap-release-acquire.c: Add - -fno-ipa-icf to dg-options. - -2015-03-06 James Greenhalgh - - * c-c++-common/torture/aarch64-vect-lane-2.c: XFAIL for LTO - compiles using the linker plugin. - -2015-03-06 Eric Botcazou - - * g++.dg/other/dump-ada-spec-3.C: Remove include and adjust. - -2015-03-05 Bernd Edlinger - - * gcc.target/arm/pr65067.c: New test. - -2015-03-05 Martin Liska - - PR ipa/65318 - * gcc.dg/ipa/pr65318.c: New test. - -2015-03-05 Marek Polacek - - * c-c++-common/ubsan/bounds-6.c: Use dg-do run. - -2015-03-05 Andreas Krebbel - - * gcc.dg/tree-ssa/ssa-dom-cse-2.c: - -2015-03-05 Andreas Krebbel - - * gcc.dg/var-expand1.c: Force max-completely-peel-times and - max-unroll-times back to defaults for s390. - -2015-03-05 Paolo Carlini - - Fix last commit. - -2015-03-05 Paolo Carlini - - PR c++/64665 - * g++.dg/cpp0x/initlist92.C: New. - -2015-03-05 Richard Biener - - PR tree-optimization/65310 - * gcc.dg/vect/pr65310.c: New testcase. - -2015-03-05 Paolo Carlini - - PR c++/64834 - * g++.dg/cpp1y/lambda-generic-uneval1.C: New. - -2015-03-04 Eric Botcazou - - * gnat.dg/entry_queues3.adb: New test. - -2015-03-04 Ian Lance Taylor - - * go.test/go-test.exp (go-gc-tests): Skip nilptr test on s390*. - -2015-03-04 Paolo Carlini - - PR c++/64227 - * g++.dg/cpp1y/lambda-generic-ice1.C: New. - -2015-03-04 James Greenhalgh - - * gcc.target/aarch64/atomic-comp-swap-release-acquire.c: Add - -fno-ipa-icf to dg-options - * gcc.target/aarch64/vect_saddl_1.c: Likewise. - * gcc.target/aarch64/vect_smlal_1.c: Likewise. - -2015-03-04 Paolo Carlini - - PR c++/64398 - * g++.dg/cpp0x/decltype62.C: New. - -2015-03-03 Eric Botcazou - - * gnat.dg/object_overflow5.adb: New test. - -2015-03-03 Martin Liska - - PR ipa/65287 - * gcc.dg/ipa/pr65287.c: New test. - -2015-03-03 Martin Jambor - Eric Botcazou - - * gnat.dg/specs/pack12.ads: New test. - -2015-03-03 Martin Liska - - * gcc.dg/ipa/PR65282.c: New test. - -2015-03-13 Jeff Law - - PR tree-optimization/65241 - * gcc.c-torture/compile/pr65241.c: New test. - -2015-03-03 Georg-Johann Lay - - PR target/64331 - * gcc.target/avr/torture/pr64331.c: New test. - -2015-03-03 Martin Liska - Jan Hubicka - - * g++.dg/ipa/pr65263.C: New test. - -2015-03-02 Jan Hubicka - - PR ipa/65130 - * gcc.dg/lto/pr65130_0.c: New testcase. - * gcc.dg/lto/pr65130_1.c: New testcase. - -2015-03-02 Jan Hubicka - - PR ipa/64988 - * g++.dg/torture/pr64988.C: New testcase. - -2015-03-02 Tobias Burnus - - * gfortran.dg/coarray_atomic_6.f90: New. - -2015-03-02 Ilya Enkovich - - PR target/65184 - * gcc.target/i386/pr65184.c: New. - -2015-03-02 Ilya Enkovich - - PR target/65183 - * gcc.target/i386/pr65183.c: New. - -2015-02-28 Martin Liska - Jan Hubicka - - * gcc.dg/ipa/ipa-icf-35.c: New test. - * gcc.dg/ipa/ipa-icf-36.c: New test. - * gcc.dg/ipa/ipa-icf-37.c: New test. - -2015-02-28 Martin Liska - Jan Hubicka - - PR ipa/65245 - * gcc.dg/ipa/ipa-icf-34.c: New test. - -2015-03-01 Oleg Endo - - PR target/61142 - * gcc.target/sh/sh/pr61142.c: New. - -2015-03-01 Eric Botcazou - - * g++.dg/other/dump-ada-spec-3.C: New test. - -2015-03-01 Martin Liska - - * gcc.target/i386/stackalign/longlong-2.c: Omit ICF. - * g++.dg/ipa/pr63595.C: Update expected results. - -2015-02-28 Jan Hubicka - - PR ipa/65236 - * g++.dg/ipa/ipa-icf-6.C: New testcase. - -2015-02-27 Pat Haugen - - * gcc.dg/vect/pr59354.c: Move vector producing code to - separate function. - -2015-02-27 Jan Hubicka - - PR ipa/65237 - * gcc.dg/attr-noinline.c: Add -fno-ipa-icf - * gcc.dg/noreturn-7.c: Add -fno-ipa-icf. - * gcc.dg/ipa/ipa-cp-1.c: Revert accidental commit. - * gcc.dg/ipa/ipa-cp-2.c: Revert accidental commit. - -2015-02-27 Jakub Jelinek - - PR tree-optimization/65048 - * gcc.dg/tree-ssa/ssa-dom-thread-9.c: Add -std=gnu89 to dg-options. - (foo): Use K&R style definition. - -2015-02-27 Vladimir Makarov - - PR target/65032 - * g++.dg/pr65032.C: New. - -2015-02-27 Marek Polacek - - PR c/65040 - * gcc.dg/pr65066.c: Use -Wformat -Wformat-signedness and not - -Wformat=2. - -2015-02-27 Marek Polacek - - PR c/65228 - * gcc.dg/pr65228.c: New test. - -2015-02-27 Kai Tietz - - PR c/35330 - * gcc.dg/weak/weak-17.c: New file. - -2015-02-27 Richard Biener - - PR lto/65193 - * g++.dg/lto/pr65193_0.C: New testcase. - -2015-02-27 Andreas Krebbel - - * gcc.target/s390/20140327-1.c: Remove -m31 and guard with ! lp64. - * gcc.target/s390/hotpatch-8.c: Likewise. - * gcc.target/s390/hotpatch-9.c: Likewise. - * gcc.target/s390/pr61078.c: Likewise. - * gcc.target/s390/pr57960.c: Remove -m64. - * gcc.target/s390/pr61078.c: Likewise. - -2015-02-26 Jan Hubicka - Martin Liska - - PR bootstrap/65150 - * gcc.dg/pr64454.c: Disable ICF. - * gcc.dg/pr28685-1.c: Disable ICF - * gcc.dg/ipa/iinline-5.c: Disable ICF. - * g++.dg/warn/Wsuggest-final.C: Force methods to be different. - * g++.dg/ipa/ipa-icf-4.C: Update template. - -2015-02-26 Jakub Jelinek - - PR tree-optimization/65216 - * gcc.c-torture/execute/pr65216.c: New test. - - PR tree-optimization/65215 - * gcc.c-torture/execute/pr65215-1.c: New test. - * gcc.c-torture/execute/pr65215-2.c: New test. - * gcc.c-torture/execute/pr65215-3.c: New test. - * gcc.c-torture/execute/pr65215-4.c: New test. - * gcc.c-torture/execute/pr65215-5.c: New test. - -2015-02-26 Tom de Vries - - * go.test/go-test.exp (go-gc-tests): Add missing cleanup for cmpout. - -2015-02-26 Martin Liska - Jan Hubicka - - * g++.dg/ipa/pr64146.C: Update expected results. - * gcc.dg/ipa/ipa-icf-26.c: Update test. - * gcc.dg/ipa/ipa-icf-33.c: Remove redundant line. - * gcc.dg/ipa/ipa-icf-34.c: New test. - -2015-02-26 Uros Bizjak - - * gcc.dg/vect/vect-pr61917.c: Rename to ... - * gcc.dg/vect/O3-vect-pr61917.c: ... this. - (dg-additional-options): Remove dg directive. - (dg-final): Add dg directive. - -2015-02-26 Marek Polacek - - PR ipa/65008 - * g++.dg/ipa/pr65008.C: New test. - -2015-02-26 Tom de Vries - - * lib/profopt.exp (profopt-target-cleanup): New proc. - (profopt-execute): Use profopt-target-cleanup to handle cleanup of - files from sources from dg-additional-sources. - -2015-02-26 Tom de Vries - - * lib/gcov.exp: Cleanup in case of xfail. - -2015-02-26 Sebastian Pop - - * gcc.dg/tree-ssa/ssa-dom-thread-9.c: Fix warning due to missing type. - -2015-02-25 Aldy Hernandez - - PR debug/46102 - * g++.dg/debug/dwarf2-1.C: XFAIL and move... - * g++.dg/debug/dwarf2/dwarf2-1.C: ...here. - * g++.dg/debug/dwarf2-2.C: XFAIL and move... - * g++.dg/debug/dwarf2/dwarf2-2.C: ...here. - * g++.dg/debug/dwarf2/typedef5.C: XFAIL. - * g++.dg/debug/pr46123.C: XFAIL and move... - * g++.dg/debug/dwarf2/pr46123-2.C: ...here. - * gcc.dg/debug/dwarf2-3.c: Move... - * gcc.dg/debug/dwarf2/dwarf2-3.c: ...here. - -2015-02-26 Marek Polacek - - PR c++/65202 - * g++.dg/cpp1y/pr65202.C: New test. - -2015-02-26 Tom de Vries - - * g++.dg/gcov/gcov-14.C: Add cleanup of iostream.gcov, ostream.gcov and - locale_facets.h.gcov. - -2015-02-26 Tom de Vries - - * gcc.target/i386/mcount_pic.c: Add missing cleanup-profile-file. - -2015-02-26 Tom de Vries - - * gcc.dg/aru-2.c: Add missing cleanup-profile-file. - -2015-02-26 H.J. Lu - - PR target/65217 - * gcc.target/i386/pr65217.c: New. - -2015-02-26 Tom de Vries - - * lib/dg-pch.exp (pch-init): Add missing cleanup of pchtest.o. - -2015-02-26 Tom de Vries - - * gcc.misc-tests/godump-1.c: Add missing cleanup of godump-1.out. - -2015-02-26 Sebastian Pop - - PR tree-optimization/65048 - * gcc.dg/tree-ssa/ssa-dom-thread-9.c: New. - -2015-02-26 Uros Bizjak - - * lib/gcc-dg.exp (cleanup-final-insns-dump): New procedure. - * g++.dg/opt/dump1.C (dg-final): Call cleanup-final-insns-dump. - -2015-02-26 Yuri Rumyantsev - - PR target/65161 - * gcc.target/i386/pr65161.c: New test. - -2015-02-26 Terry Guo - - * gcc.target/arm/no-volatile-in-it.c: New test. - -2015-02-25 Peter Bergner - - * gcc.target/powerpc/htm-builtin-1.c (dg-do) Change to assemble. - (dg-options): Add -save-temps. - (dg-final): Add cleanup-saved-temps. - -2015-02-25 Adhemerval Zanella - - * gcc.target/powerpc/htm-builtin-1.c: Fix tcheck expect value. - -2015-02-25 Pat Haugen - - * gcc.target/powerpc/direct-move.h: Include string.h/stdlib.h. - * gcc.target/powerpc/pack01.c: Include string.h. - -2015-02-25 Ilya Enkovich - - PR target/65167 - * gcc.target/i386/pr65167.c: New. - -2015-02-25 Kai Tietz - - PR tree-optimization/61917 - * gcc.dg/vect/vect-pr61917.c: New file. - -2015-02-24 Jakub Jelinek - - PR tree-optimization/65170 - * gcc.c-torture/execute/pr65170.c: New test. - * gcc.dg/tree-ssa/vrp96.c: New test. - -2015-02-24 Tom de Vries - - * gfortran.dg/readwrite_unf_direct_eor_1.f90: Add missing close. - -2015-02-24 Tom de Vries - - PR testsuite/65126 - * lib/gcc-defs.exp (additional_sources_used): Add new var. - (dg-additional-files-options): Copy additional_sources to - additional_sources_used before emptying additional_sources. - * lib/gcc-dg.exp (cleanup-coverage-files, cleanup-repo-files) - (cleanup-stack-usage, cleanup-ada-spec, cleanup-dump) - (cleanup-saved-temps): Use additional_sources_used instead of - additional_sources. - (dg-test): Reset additional_sources_used. - -2015-02-23 Richard Sandiford - - PR fortran/63427 - * gfortran.dg/integer_exponentiation_6.F90: New test. - -2015-02-23 Martin Sebor - - PR target/65109 - * gcc.target/powerpc/ppc64-abi-1.c: Split test functions into - two parts. One to save registers, the other to verify the - registers have the right values. Save register state into - static data rather than on the stack. - -2015-02-23 Jakub Jelinek - - PR bootstrap/63888 - * c-c++-common/asan/pr63888.c: New test. - -2015-02-23 Oleg Endo - - PR target/65163 - * gcc.c-torture/compile/pr65163.c: New. - -2015-02-23 Andreas Krebbel - - * gcc.dg/hoist-register-pressure-1.c: Make S/390 target check work - with -m31 on 64 bit. - * gcc.dg/hoist-register-pressure-2.c: Likewise. - * gcc.dg/hoist-register-pressure-3.c: Likewise. - -2015-02-23 Andreas Krebbel - - * gcc.target/s390/20090223-1.c: Add - -Wno-implicit-function-declaration option. - * gcc.target/s390/pr42224.c: Likewise. - * gcc.target/s390/pr55718.c: Likewise. - -2015-02-23 Andreas Krebbel - - * gcc.target/s390/hotpatch-1.c: Remove --save-temps option. - * gcc.target/s390/hotpatch-10.c: Remove --save-temps option. - * gcc.target/s390/hotpatch-11.c: Remove --save-temps option. - * gcc.target/s390/hotpatch-12.c: Remove --save-temps option. - * gcc.target/s390/hotpatch-13.c: Remove --save-temps option. - * gcc.target/s390/hotpatch-14.c: Remove --save-temps option. - * gcc.target/s390/hotpatch-15.c: Remove --save-temps option. - * gcc.target/s390/hotpatch-16.c: Remove --save-temps option. - * gcc.target/s390/hotpatch-17.c: Remove --save-temps option. - * gcc.target/s390/hotpatch-18.c: Remove --save-temps option. - * gcc.target/s390/hotpatch-19.c: Remove --save-temps option. - * gcc.target/s390/hotpatch-2.c: Remove --save-temps option. - * gcc.target/s390/hotpatch-20.c: Remove --save-temps option. - * gcc.target/s390/hotpatch-3.c: Remove --save-temps option. - * gcc.target/s390/hotpatch-4.c: Remove --save-temps option. - * gcc.target/s390/hotpatch-5.c: Remove --save-temps option. - * gcc.target/s390/hotpatch-6.c: Remove --save-temps option. - * gcc.target/s390/hotpatch-7.c: Remove --save-temps option. - * gcc.target/s390/hotpatch-8.c: Remove --save-temps option. - * gcc.target/s390/hotpatch-9.c: Remove --save-temps option. - * gcc.target/s390/htm-nofloat-1.c: Cleanup --save-temps files. - -2015-02-23 Andreas Krebbel - - * gcc.target/s390/hotpatch-8.c: Add -march=g5. - * gcc.target/s390/hotpatch-9.c: Add -march=g5. - * gcc.target/s390/hotpatch-compile-1.c: Fix error message. - * gcc.target/s390/hotpatch-compile-10.c: Likewise. - * gcc.target/s390/hotpatch-compile-11.c: Likewise. - * gcc.target/s390/hotpatch-compile-12.c: Likewise. - * gcc.target/s390/hotpatch-compile-13.c: Likewise. - * gcc.target/s390/hotpatch-compile-14.c: Likewise. - * gcc.target/s390/hotpatch-compile-2.c: Likewise. - * gcc.target/s390/hotpatch-compile-3.c: Likewise. - * gcc.target/s390/hotpatch-compile-4.c: Likewise. - * gcc.target/s390/hotpatch-compile-5.c: Likewise. - * gcc.target/s390/hotpatch-compile-6.c: Likewise. - * gcc.target/s390/hotpatch-compile-7.c: Likewise. - * gcc.target/s390/hotpatch-compile-8.c: Likewise. - * gcc.target/s390/hotpatch-compile-9.c: Likewise. - -2015-02-22 Bernd Edlinger - - PR fortran/64980 - PR fortran/61960 - * gfortran.dg/pr61960.f90: New. - * gfortran.dg/pr64230.f90: New. - * gfortran.dg/pr64980.f03: New. - -2015-02-22 Tom de Vries - - * gcc.dg/pr30957-1.c: Make pr30957-1.c pass rather xfail. - -2015-02-21 Arnaud Charlet - - PR ada/65156 - * gnat.dg/timing_events.adb: Removed, invalid test. - -2015-02-20 Aldy Hernandez - - PR debug/58123 - * g++.dg/debug/dwarf2/deallocator.C: Adjust for correct try - location. - * g++.dg/gcov/gcov-2.C: Likewise. - -2015-02-20 Richard Biener - - PR tree-optimization/65136 - * gcc.dg/tree-ssa/pr65136.c: New testcase. - -2015-02-20 Jakub Jelinek - - PR testsuite/64158 - * gcc.dg/pr44194-1.c: Add two extra {} pairs to fix up - powerpc*-*-linux* and nvptx-*-* blacklisting. - - * gcc.dg/sibcall-9.c: New test. - * gcc.dg/sibcall-10.c: New test. - -2015-02-20 Kyrylo Tkachov - - * gcc.target/aarch64/sisd-shft-neg_1.c: New test. - -2015-02-20 Georg-Johann Lay - - PR target/64452 - * gcc.target/avr/torture/pr64452.c: New test. - -2015-02-19 Kaz Kojima - - * gcc.dg/tree-ssa/20040204-1.c: Don't XFAIL on sh*-*-*. - * gcc.dg/tree-ssa/sra-12.c: Skip for sh*-*-*. - -2015-02-19 Maxim Kuvyrkov - - PR testsuite/65116 - * lib/target-supports.exp (check_compile): Check whether - additional_sources is defined before using it. - -2015-02-19 Jakub Jelinek - - PR middle-end/65074 - * g++.dg/opt/pr65074.C: New file. - -2015-02-19 Andrea Azzarone - - * g++.dg/cpp1y/udlit-char-template-vs-std-literal-operator.C - (size_type): New typedef. - (operator "" _script): Use it for the last argument. - -2015-02-19 Maxim Kuvyrkov - - * gcc.dg/pr64935-1.c, gcc.dg/pr64935-2.c: New tests. - -2015-02-19 Maxim Kuvyrkov - - * lib/target-supports.exp (check_compile): Save/restore - additional_sources that may belong to an actual test. - -2015-02-18 Jakub Jelinek - - PR gcov-profile/64634 - * g++.dg/gcov/gcov-15.C: New test. - -2015-02-18 Tom de Vries - - * gfortran.dg/coarray_35a.f90: Add missing cleanup-modules. - -2015-02-18 Tom de Vries - - * gfortran.dg/pr37287-1.f90: Add missing cleanup-modules. - -2015-02-18 Tom de Vries - - * gfortran.dg/finalize_28.f90: Add missing cleanup-tree-dump. - -2015-02-18 Tom de Vries - - * gfortran.dg/fmt_cache_1.f: Add missing close. - -2015-02-18 Tom de Vries - - PR testsuite/65107 - * gfortran.dg/read_eof_8.f90: Add missing close. - -2015-02-18 Richard Biener - - PR tree-optimization/65063 - * gcc.dg/pr65063.c: New testcase. - -2015-02-18 Richard Biener - - PR tree-optimization/62217 - * gcc.dg/tree-ssa/cunroll-11.c: New testcase. - -2015-02-18 Marek Polacek - - PR sanitizer/65081 - * c-c++-common/ubsan/pr65081.c: New test. - -2015-02-17 Oleg Endo - - * gcc.target/sh/sh.exp (check_effective_target_sh1): New. - * gcc.target/sh/force-cbranch-delay-slot.c: New. - -2015-02-17 H.J. Lu - - * gcc.dg/ipa/propalign-3.c: New test. - -2015-02-17 Oleg Endo - - PR target/64793 - * gcc.target/sh/pr64793.c: New. - * gcc.target/sh/pr51244-20-sh2a.c: Adjust expected cmp/gt insn count. - -2015-02-17 Sandra Loosemore - - * gcc.target/arm/divzero.c: New test case. - -2015-02-17 Tom de Vries - - * gcc.target/x86_64/abi/callabi/vaarg-6.c: New test. - -2015-02-17 Paolo Carlini - Jakub Jelinek - - PR c++/65075 - * g++.dg/cpp0x/pr65075.C: New test. - -2015-02-16 David Edelsohn - - PR target/65058 - * gcc.target/powerpc/pr65058.c: New test. - -2015-02-16 Jeff Law - - PR tree-optimization/64823 - * gcc.dg/uninit-20.c: New test. - -2015-02-16 Jakub Jelinek - James Greenhalgh - - PR ipa/64963 - * gcc.dg/ipa/ipa-clone-1.c: New test. - -2015-02-16 Richard Biener - - PR tree-optimization/65077 - * gcc.dg/torture/pr65077.c: New testcase. - -2015-02-16 Alex Velenko - - * gcc.target/aarch64/atomic-op-consume.c (scan-assember-times): - Directive adjusted to scan for ldaxr. - * gcc.target/arm/atomic-op-consume.c (scan-assember-times): Directive - adjusted to scan for ldaex. - -2015-02-16 Paolo Carlini - - PR c++/65080 - * g++.dg/cpp0x/constexpr-65080.C: New. - -2015-02-16 Richard Biener - - PR tree-optimization/63593 - * gcc.dg/pr63593.c: New testcase. - -2015-02-16 Marek Polacek - - PR c/65066 - * gcc.dg/pr65066.c: New test. - -2015-02-16 Ilya Enkovich - - * gcc.dg/pr65002.C: Move ... - * g++.dg/ipa/pr65002.C: ... here. - -2015-02-14 David Edelsohn - - * gcc.target/powerpc/pr64205.c: Skip on AIX. - * gcc.target/powerpc/pr64505.c: Skip on AIX. - * gcc.dg/torture/builtin-noret-1.c: Ignore AIX linker warnings. - * gcc.dg/torture/builtin-noret-2.c: Ignore AIX linker warnings. - -2015-02-14 Kaz Kojima - - PR testsuite/64850 - * gcc.dg/goacc/acc_on_device-1.c: Use a space instead of \\\" in - the expression to find calls. - * c-c++-common/goacc/acc_on_device-2.c: Likewise. - * c-c++-common/goacc/acc_on_device-2-off.c: Likewise. - * gfortran.dg/goacc/acc_on_device-1.f95: Likewise. - * gfortran.dg/goacc/acc_on_device-2.f95: Likewise. - * gfortran.dg/goacc/acc_on_device-2-off.f95: Likewise. - -2015-02-14 Marek Polacek - - PR c/64768 - * gcc.dg/array-11.c: New test. - * gcc.dg/array-12.c: New test. - * gcc.dg/array-13.c: New test. - * gcc.dg/array-14.c: New test. - * gcc.dg/c99-flex-array-typedef-1.c: New test. - * gcc.dg/c99-flex-array-typedef-2.c: New test. - * gcc.dg/c99-flex-array-typedef-3.c: New test. - * gcc.dg/c99-flex-array-typedef-5.c: New test. - * gcc.dg/c99-flex-array-typedef-7.c: New test. - * gcc.dg/c99-flex-array-typedef-8.c: New test. - -2015-02-13 Paolo Carlini - - PR c++/60894 - * g++.dg/lookup/using54.C: New. - -2015-02-13 Jeff Law - - PR bootstrap/65060 - Revert my change for tree-optimization/64823. - -2015-02-13 Jakub Jelinek - - PR tree-optimization/65053 - * gcc.c-torture/execute/pr65053-1.c: New test. - * gcc.c-torture/execute/pr65053-2.c: New test. - -2015-02-13 Marek Polacek - - PR c/65050 - * gcc.dg/pr65050.c: New test. - -2015-02-13 Jeff Law - - PR tree-optimization/64823 - * gcc.dg/uninit-20.c: New test. - - PR rtl-optimization/47477 - * gcc.dg/tree-ssa/pr47477.c: New test. - -2015-02-13 Paolo Carlini - - PR c++/60211 - * g++.dg/parse/ivdep-2.C: New. - * g++.dg/parse/ivdep-3.C: Likewise. - -2015-02-13 Jerry DeLisle - - PR fortran/64506 - * gfortran.dg/continuation_13.f90: New test. - * gfortran.dg/continuation_14.f: New test. - -2015-02-13 Paolo Carlini - - PR c++/64970 - * g++.dg/cpp0x/sfinae55.C: New. - -2015-02-13 Jakub Jelinek - - PR ipa/65034 - * g++.dg/ipa/pr65034.C: New test. - -2015-02-13 Ilya Enkovich - - PR tree-optimization/65002 - * gcc.dg/pr65002.C: New. - -2015-02-13 Marek Polacek - - PR c/65040 - * c-c++-common/pr65040.c: New test. - -2015-02-13 Bin Cheng - - PR tree-optimization/64705 - * gcc.dg/tree-ssa/pr64705.c: New test. - -2015-02-12 H.J. Lu - - PR rtl/32219 - * gcc.dg/visibility-22.c: New test. - * gcc.dg/visibility-23.c: New test. - * gcc.target/i386/pr32219-1.c: New test. - * gcc.target/i386/pr32219-2.c: New test. - * gcc.target/i386/pr32219-3.c: New test. - * gcc.target/i386/pr32219-4.c: New test. - * gcc.target/i386/pr32219-5.c: New test. - * gcc.target/i386/pr32219-6.c: New test. - * gcc.target/i386/pr32219-7.c: New test. - * gcc.target/i386/pr32219-8.c: New test. - * gcc.target/i386/pr64317.c: Expect GOTOFF, not GOT. - -2015-02-12 Jerry DeLisle - - PR libgfortran/57822 - * gfortran/fmt_g0_7.f08: Adjust for archtectures with less than - four different KINDs. - -2015-02-12 Jakub Jelinek - - PR c++/64884 - * g++.dg/tm/pr47573.C: Only run on comdat_group effective targets. - - PR sanitizer/65000 - * g++.dg/ubsan/pr65000.C: New test. - -2015-02-12 Paul Thomas - - PR fortran/64932 - * gfortran.dg/finalize_28.f90: New test - -2015-02-12 Jakub Jelinek - - PR debug/55541 - * g++.dg/debug/dwarf2/localclass3.C: Adjust for the extraneous - DW_TAG_lexical_block removal. - * g++.dg/debug/dwarf2/redeclaration-1.C: Likewise. - * g++.dg/guality/pr55541.C: New test. - - PR sanitizer/64984 - * g++.dg/ubsan/pr64984.C: New test. - -2015-02-12 James Greenhalgh - - * gfortran.dg/pr45636.f90: XFAIL for aarch64* targets. - -2015-02-12 Jakub Jelinek - - PR testsuite/64930 - * gcc.target/powerpc/atomic-p7.c: Adjust expected count of isync - instructions for 2015-01-14 get_memmodel changes. - * gcc.target/powerpc/atomic-p8.c: Likewise. - - PR sanitizer/65019 - * g++.dg/ubsan/pr65019.C: New test. - - PR tree-optimization/65014 - * gcc.c-torture/compile/pr65014.c: New test. - -2015-02-11 Jerry DeLisle - - PR libgfortran/57822 - * gfortran/fmt_g0_7.f08: Revise test. - -2015-02-11 Jeff Law - - PR target/63347 - * gcc.target/m68k/pr63347.c: New test. - -2015-02-11 Marek Polacek - - * g++.dg/ubsan/shift-1.C: New test. - * gcc.dg/ubsan/c-shift-2.c: New test. - * c-c++-common/ubsan/shift-5.c: Remove file. - -2015-02-11 Alex Velenko - - * gcc.target/aarch64/atomic-op-consume.c (scan-assember-times): - Directive adjusted to XFAIL. - * gcc.target/arm/atomic-op-consume.c (scan-assember-times): Directive - adjusted to XFAIL. - -2015-02-11 Jakub Jelinek - - PR middle-end/65003 - * g++.dg/opt/pr65003.C: New test. - -2015-02-11 H.J. Lu - - * lib/target-supports.exp (check_effective_target_pie): Renamed - to ... - (check_effective_target_pie_enabled): This. - * gcc.dg/tree-ssa/ssa-store-ccp-3.c: Replace pie with pie_enabled. - * gcc.target/i386/pie.c: Likewise. - -2015-02-11 Andrew Pinski - - PR target/64893 - * c-c++-common/torture/aarch64-vect-lane-1.c: New testcase. - * c-c++-common/torture/aarch64-vect-lane-2.c: New testcase. - -2015-02-11 Jakub Jelinek - - PR target/61925 - * gcc.target/i386/pr61925-1.c: New test. - * gcc.target/i386/pr61925-2.c: New test. - * gcc.target/i386/pr61925-3.c: New test. - -2015-02-10 Jakub Jelinek - - PR sanitizer/65004 - * g++.dg/asan/pr65004.C: New test. - -2015-02-10 Oleg Endo - - PR target/64661 - * gcc.taget/sh/pr64661-0.h: New. - * gcc.taget/sh/pr64661-1.c: New. - * gcc.taget/sh/pr64661-2.c: New. - * gcc.taget/sh/pr64661-3.c: New. - * gcc.taget/sh/pr64661-4.c: New. - -2015-02-10 Richard Biener - - PR tree-optimization/64995 - * g++.dg/torture/pr64995.C: New testcase. - -2015-02-10 Richard Biener - - PR tree-optimization/64909 - * gcc.dg/vect/costmodel/x86_64/costmodel-pr64909.c: New testcase. - -2015-02-10 Rainer Orth - - * gcc.dg/signbit-sa.c: New test. - -2015-02-10 Jerry DeLisle - - PR libgfortran/57822 - * gfortran/fmt_g0_7.f08: New test. - -2015-02-10 Bin Cheng - - PR tree-optimization/43378 - * gcc.dg/tree-ssa/pr43378.c: New test. - -2015-02-08 Jan Hubicka - - PR ipa/64978 - * g++.dg/torture/pr64978.C: New testcase. - -2015-02-09 Jakub Jelinek - - PR sanitizer/64981 - * gcc.dg/asan/pr64981.c: New test. - -2015-02-09 Marek Polacek - - PR c/64856 - * gcc.dg/pr64856.c: New test. - -2015-02-09 Jakub Jelinek - - PR target/64979 - * gcc.dg/tree-ssa/stdarg-7.c: New test. - * gcc.c-torture/execute/pr64979.c: New test. - -2015-02-09 Alan Lawrence - - * gcc.target/arm/macro_defs0.c: Remove extraneous "target" - -2015-02-09 Uros Bizjak - - * gcc.dg/tree-ssa/ssa-dom-cse-2.c: Xfail scan-tree-dump for alpha*-*-*. - * gcc.dg/tree-ssa/pr42585.c: Xfail scan-tree-dump-times for alpha*-*-*. - -2015-02-09 Uros Bizjak - - PR target/58757 - * gcc.dg/c11-true_min-1.c: Xfail execution for alpha*-*-*. - -2015-02-09 Richard Biener - - PR tree-optimization/54000 - * g++.dg/tree-ssa/ivopts-3.C: New testcase. - -2015-02-09 Tom de Vries - - * gcc.dg/graphite/scop-19.c: Fix scan-tree-dump for fpic. - -2015-02-09 Martin Liska - - * g++.dg/ipa/pr64858.C: New test. - -2015-02-09 Tom de Vries - - * gcc.dg/uninit-19.c: Fix warning line for fpic. - -2015-02-08 Andrew Pinski - - * gcc.dg/tree-ssa/ssa-dom-cse-2.c: xfail for AARCH64 also. - -2015-02-08 Mikael Morin - - PR fortran/63744 - * gfortran.dg/use_rename_8.f90: New. - -2015-02-08 Eric Botcazou - - * gnat.dg/addr7.ad[sb]: New test. - * gnat.dg/addr8.ad[sb]: Likewise. - -2015-02-06 David Malcolm - - PR jit/64752 - * jit.dg/create-code-for-hello-world-executable.h: New file, taken - from jit.dg/test-compile-to-executable.c's create_code, with a - clarification of the output message. - * jit.dg/harness.h (CHECK_NO_ERRORS): Add test and __func__ to the - pass/fail message. - (test_jit): Use CHECK_NO_ERRORS when calling - gcc_jit_context_compile_to_file. - * jit.dg/jit.exp (jit-dg-test): Update grep for rename of - jit-verify-compile-to-file to jit-verify-output-file-was-created. - (jit-setup-compile-to-file): Likewise. Add a verbose comment - about deletions that are attempted. - (jit-verify-compile-to-file): Rename to... - (jit-verify-output-file-was-created): ...this, and drop the - attempt to run "file" and verify the output. - (jit-verify-assembler): New function. - (jit-verify-object): New function. - (jit-verify-dynamic-library): New function. - * jit.dg/test-compile-to-assembler.c (create_code): Eliminate in - favor of an implementation from new file - create-code-for-hello-world-executable.h, which also adds a - "main". - (dg-final): Replace jit-verify-compile-to-file with - jit-verify-output-file-was-created, and invoke new function - jit-verify-assembler. - * jit.dg/test-compile-to-dynamic-library.c (create_code): Clarify - the output message. - (dg-final): Replace jit-verify-compile-to-file with - jit-verify-output-file-was-created, and invoke new function - jit-verify-dynamic-library. - * jit.dg/test-compile-to-executable.c (create_code): Eliminate in - favor of an implementation from new file - create-code-for-hello-world-executable.h, which also adds a - "main". - (dg-final): Replace jit-verify-compile-to-file with - jit-verify-output-file-was-created. Strengthen the expected stdout - from the built executable. - * jit.dg/test-compile-to-object.c (create_code): Eliminate in - favor of an implementation from new file - create-code-for-hello-world-executable.h, which also adds a - "main". - (dg-final): Replace jit-verify-compile-to-file with - jit-verify-output-file-was-created, and invoke new function - jit-verify-object. - * jit.dg/verify-dynamic-library.c: New source file. - -2015-02-06 Sebastian Pop - Brian Rzycki - - PR tree-optimization/64878 - * gcc.dg/tree-ssa/ssa-dom-thread-8.c: New. - -2015-02-06 Jakub Jelinek - - PR ipa/64896 - * g++.dg/ipa/pr64896.C: New test. - -2015-02-06 Michael Meissner - - PR target/64205 - * gcc.target/powerpc/pr64205.c: New file. - -2015-02-06 Uros Bizjak - - * gcc.target/i386/pr64317.c: Compile for 32bit *-*-linux* targets. - (dg-options): Use -fpie instead of -fPIE -pie. - -2015-02-06 Jakub Jelinek - - PR middle-end/64937 - * g++.dg/asan/pr64937.C: New test. - -2015-02-06 Paul Thomas - - PR fortran/63205 - * gfortran.dg/class_to_type_4.f90: New test - -2015-01-29 Andre Vehreschild - - * gfortran.dg/unlimited_polymorphic_22.f90: New test. - -2015-02-06 Jakub Jelinek - - PR rtl-optimization/64957 - PR debug/64817 - * gcc.c-torture/execute/pr64957.c: New test. - -2015-02-05 Jeff Law - - PR target/17306 - * gcc.target/h8300/pr17306-1.c: New test. - * gcc.target/h8300/pr17306-2.c: New test. - -2015-02-05 Tobias Burnus - - PR fortran/64943 - * gfortran.dg/structure_constructor_12.f90: New. - -2015-02-05 Jeff Law - - PR target/58400 - gcc.target/h8300/pr58400.c: New test. - -2015-02-05 Mantas Mikaitis - - * gcc.target/arm/macro_defs0.c: New test. - * gcc.target/arm/macro_defs1.c: New test. - * gcc.target/arm/macro_defs2.c: New test. - -2015-02-05 Uros Bizjak - - PR rtl-optimization/64905 - * gcc.target/i386/pr64905.c: Require nonpic target. - (dg-options): Add -fomit-frame-pointer. - (main): Remove. - -2014-02-05 James Greenhalgh - - * gcc.dg/tree-ssa/foldconst-6.c: Change expected pattern for - tree dump scanning. - -2015-02-05 Paul Thomas - - PR fortran/64757 - * gfortran.dg/type_to_class_2.f90: New test - * gfortran.dg/type_to_class_3.f90: New test - -2015-02-04 Jan Hubicka - - PR ipa/64686 - * g++.dg/torture/pr64686.C: New testcase. - -2015-02-04 H.J. Lu - - PR rtl-optimization/64905 - * gcc.target/i386/pr64905.c: New file. - -2015-02-04 Segher Boessenkool - - * gcc.dg/guality/pr41447-1.c: Remove xfail. - * gcc.dg/guality/pr41616-1.c: Ditto. - -2015-02-04 Alexandre Oliva - - PR debug/64817 - * gcc.dg/pr64817-3.c: New. - -2015-02-04 Jakub Jelinek - Ramana Radhakrishnan - - * gcc.dg/guality/pr36728-1.c (main): Adjust for targets that - pass parameters in registers. - * gcc.dg/guality/pr36728-2.c (main): Likewise. - * gcc.dg/guality/pr36728-3.c (main): Likewise. - * gcc.dg/guality/pr36728-4.c (main): Likewise. - -2015-02-04 Alan Lawrence - Rainer Orth - - * gcc.dg/combine_ashiftrt_1.c: Sort, complete and explain target - list, allow for multilibed targets. - * gcc.dg/combine_ashiftrt_2.c: Likewise. - -2015-02-04 Segher Boessenkool - - * gcc.dg/builtins-58.c: Check for pow at the end of words only. - * gcc.dg/pr46728-6.c: Ditto. - -2015-02-04 Robert Suchanek - - * gcc.target/mips/loongson-simd.c: Update comment to clarify the need - for mips_nanlegacy target. - -2015-02-04 Ilya Enkovich - - * gcc.target/i386/chkp-hidden-def.c: New. - -2015-02-04 Thomas Preud'homme - - PR middle-end/62103 - * gcc.c-torture/execute/bitfld-7.c: New test adapted from bitfld-6.c - to use 24 bits for bitfield b. - -2015-02-04 Thomas Preud'homme - - PR testsuite/64796 - * lib/target-supports.exp (check_effective_target_bswap64): Do not - cache result in a global variable. Include all 32-bit targets for - bswap64 tests. - -2015-02-03 Jakub Jelinek - - PR rtl-optimization/64756 - * gcc.c-torture/execute/pr64756.c: New test. - -2015-02-03 Oleg Endo - - PR target/64660 - * gcc.target/sh/pr64660-0.h: New. - * gcc.target/sh/pr64660-1.c: New. - * gcc.target/sh/pr64660-2.c: New. - * gcc.target/sh/pr64660-3.c: New. - * gcc.target/sh/pr64660-4.c: New. - -2015-02-03 Paolo Carlini - - PR c++/64877 - * g++.dg/warn/Waddress-2.C: New. - -2015-02-03 Segher Boessenkool - - PR middle-end/61225 - * gcc.target/i386/pr49095.c: XFAIL for ia32. - -2015-02-03 Dodji Seketeli - - PR preprocessor/64803 - * gcc.dg/cpp/builtin-macro-1.c: New test case. - -2015-02-02 Jan Hubicka - - * g++.dg/ipa/devirt-37.C: Disable early inlining. - -2015-02-02 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h - (_ARM_FPSRC): Add DN and AHP fields. - (clean_results): Force DN=1 on AArch64. - * gcc.target/aarch64/advsimd-intrinsics/binary_op_no64.inc: New file. - * gcc.target/aarch64/advsimd-intrinsics/vhadd.c: New file. - * gcc.target/aarch64/advsimd-intrinsics/vhsub.c: New file. - * gcc.target/aarch64/advsimd-intrinsics/vmax.c: New file. - * gcc.target/aarch64/advsimd-intrinsics/vmin.c: New file. - * gcc.target/aarch64/advsimd-intrinsics/vrhadd.c: New file. - -2015-02-02 Alan Modra - - * gcc.target/powerpc/cprophard.c: New. - -2015-02-01 Andreas Tobler - - * gfortran.dg/enum_9.f90: Use arm_eabi instead of arm*-*-linux*. - * gfortran.dg/enum_10.f90: Likewise. Reorder dg-additional-sources. - -2015-02-01 Jakub Jelinek - - PR debug/64817 - * gcc.dg/pr64817-1.c: New test. - * gcc.dg/pr64817-2.c: New test. - -2015-02-01 Oleg Endo - - PR target/64851 - * gcc.target/sh/pr64851-0.h: New - * gcc.target/sh/pr64851-1.c: New - * gcc.target/sh/pr64851-2.c: New - * gcc.target/sh/pr64851-3.c: New - * gcc.target/sh/pr64851-4.c: New - -2015-01-31 Uros Bizjak - - PR target/64882 - * gcc.dg/torture/pr64882.c: New test. - -2015-01-31 David Edelsohn - - PR target/64159 - * gcc.dg/tree-ssa/ssa-dom-cse-2.c: Add XFAIL for powerpc*-*-* and - sparc*-*-*. - -2015-01-31 Uros Bizjak - - * g++.dg/ipa/pr64146.C (dg-final): Cleanup icf ipa dump. - * gcc.target/i386/chkp-builtins-1.c (dg-final): Cleanup chkp tree dump. - * gcc.target/i386/chkp-builtins-2.c (dg-final): Ditto. - * gcc.target/i386/chkp-builtins-3.c (dg-final): Ditto. - * gcc.target/i386/chkp-builtins-4.c (dg-final): Ditto. - * gcc.target/i386/chkp-const-check-1.c (dg-final): Cleanup chkopt - tree dump. - * gcc.target/i386/chkp-lifetime-1.c (dg-final): Ditto. - * gcc.target/i386/chkp-remove-bndint-1.c (dg-final): Cleanup optimized - tree dump. - * gcc.target/i386/chkp-remove-bndint-2.c (dg-final): Ditto. - * gfortran.dg/goacc/private-1.f95 (dg-final): Cleanup omplower - tree dump. - -2015-01-30 Vladimir Makarov - - PR target/64688 - * g++.dg/pr64688-2.C: New. - -2015-01-30 Uros Bizjak - - * gcc.target/i386/fuse-caller-save-rec.c: Require nonpic target. - * gcc.target/i386/fuse-caller-save-xmm.c: Ditto. - * gcc.target/i386/fuse-caller-save.c: Ditto. - * gcc.target/i386/headmerge-1.c: Ditto. - * gcc.target/i386/headmerge-2.c: Ditto. - * gcc.target/i386/sibcall-6.c: Ditto. - -2015-01-30 Vladimir Makarov - - PR target/64617 - * gcc.target/i386/pr64617.c: New test. - -2015-01-30 Uros Bizjak - - PR target/15184 - * gcc.target/i386/pr15184-1.c: Compile for ia32 target only. - (dg-options): Remove -m32. - (dg-final): Scan for "movb %al" only. - * gcc.target/i386/pr15184-2.c: Ditto. - -2015-01-30 Richard Biener - - PR tree-optimization/64829 - * gcc.dg/vect/pr64829.c: New testcase. - -2015-01-29 Marek Polacek - - PR c/64709 - * gcc.dg/pr64709.c: New test. - -2015-01-29 Jakub Jelinek - - PR c++/64717 - * g++.dg/ubsan/pr64717-1.C: New test. - * g++.dg/ubsan/pr64717-2.C: New test. - -2015-01-29 Uros Bizjak - - * gcc.dg/tree-ssa/pr64801.c: Fix scan-tree-dump-not directive. - -2015-01-29 Jeff Law - - PR target/15184 - * gcc.target/i386/pr15184-1.c: New test. - * gcc.target/i386/pr15184-2.c: New test. - -2015-01-29 Yuri Rumyantsev - - PR tree-optimization/64746 - * gcc.target/i386/avx2-vect-aggressive-1.c: New test. - -2015-01-29 Richard Biener - - PR tree-optimization/64853 - * gcc.dg/torture/pr64853.c: New testcase. - -2015-01-29 Richard Biener - - PR tree-optimization/64844 - * gcc.dg/vect/pr64844.c: New testcase. - -2015-01-29 Yuri Rumyantsev - - PR middle-end/64809 - * gcc.dg/pr64809.c: Delete. - -2015-01-29 Ilya Enkovich - - PR middle-end/64805 - * gcc.target/i386/pr64805.c: New. - -2015-01-29 Rainer Orth - - * gcc.dg/guality/guality.h (main): Add argv[0] to - guality_gdb_command. - -2015-01-29 Jan Hubicka - - PR ipa/64801 - * gcc.dg/tree-ssa/pr64801.c: New testcase. - -2015-01-28 Oleg Endo - - PR target/64659 - * gcc.target/sh/sh.exp - (check_effective_target_atomic_model_soft_gusa_available, - check_effective_target_atomic_model_soft_tcb_available, - check_effective_target_atomic_model_soft_imask_available, - check_effective_target_atomic_model_hard_llcs_available): New. - * gcc.target/sh/pr64659-0.h: New. - * gcc.target/sh/pr64659-1.c: New. - * gcc.target/sh/pr64659-2.c: New. - * gcc.target/sh/pr64659-3.c: New. - * gcc.target/sh/pr64659-4.c: New. - -2015-01-28 Alex Velenko - - * gcc.target/arm/atomic-op-consume.c (scan-assember-times): Adjust - scan-assembler-times pattern. - -2015-01-28 Yuri Rumyantsev - - PR middle-end/64809 - * gcc.dg/pr64809.c: New test. - -2015-01-28 Ilya Enkovich - - PR tree-optimization/64277 - * gcc.dg/pr64277.c: New. - -2015-01-28 Thomas Preud'homme - - PR tree-optimization/64718 - * gcc.c-torture/execute/pr64718.c: New test. - -2015-01-28 James Greenhalgh - - * gcc.target/aarch64/abs_2.c: New. - -2015-01-28 Robert Suchanek - - * lib/target-supports.exp (check_effective_target_mips_nanlegacy): New. - * gcc.target/mips/loongson-simd.c: Require legacy NaN support. - * gcc.target/mips/mips.exp (mips-dg-options): Imply -mnan=legacy for - ISA rev < 2. - -2015-01-28 Jakub Jelinek - - PR bootstrap/64612 - * lib/target-supports.exp (check_effective_target_comdat_group): New. - * g++.dg/ipa/pr64612.C: Guard scan-assembler test with - { target comdat_group }. - -2015-01-27 Tobias Burnus - - PR fortran/63861 - * gfortran.dg/goacc/coarray_2.f90: New. - -2015-01-27 Jan Hubicka - - PR ipa/60871 - PR ipa/64139 - * g++.dg/torture/pr64139.C: New testcase. - * g++.dg/torture/pr60871.C: Likewise. - -2015-01-27 Janus Weil - - PR fortran/64230 - * gfortran.dg/class_allocate_18.f90: Remove -fsanitize option to - prevent linking errors. - -2015-01-27 Jan Hubicka - - PR ipa/64282 - * g++.dg/torture/pr64282.C: New testcase. - -2015-01-27 Kyrylo Tkachov - - * gcc.target/aarch64/store-pair-1.c: Update scan-assembler to check - for wzr reg. - -2015-01-27 Dominik Vogt - - * gcc.target/s390/hotpatch-13.c: New testcase. - * gcc.target/s390/hotpatch-14.c: New testcase. - * gcc.target/s390/hotpatch-15.c: New testcase. - * gcc.target/s390/hotpatch-16.c: New testcase. - * gcc.target/s390/hotpatch-17.c: New testcase. - * gcc.target/s390/hotpatch-18.c: New testcase. - * gcc.target/s390/hotpatch-19.c: New testcase. - * gcc.target/s390/hotpatch-20.c: New testcase. - * gcc.target/s390/hotpatch-compile-10.c: New testcase. - * gcc.target/s390/hotpatch-compile-11.c: New testcase. - * gcc.target/s390/hotpatch-compile-12.c: New testcase. - * gcc.target/s390/hotpatch-compile-13.c: New testcase. - * gcc.target/s390/hotpatch-compile-14.c: New testcase. - * gcc.target/s390/hotpatch-compile-15.c: New testcase. - * gcc.target/s390/hotpatch-compile-16.c: New testcase. - * gcc.target/s390/hotpatch-compile-9.c: New testcase. - * gcc.target/s390/hotpatch-1.c: Testcase adjusted to new -mhotpatch. - * gcc.target/s390/hotpatch-10.c: Likewise. - * gcc.target/s390/hotpatch-11.c: Likewise. - * gcc.target/s390/hotpatch-12.c: Likewise. - * gcc.target/s390/hotpatch-2.c: Likewise. - * gcc.target/s390/hotpatch-3.c: Likewise. - * gcc.target/s390/hotpatch-4.c: Likewise. - * gcc.target/s390/hotpatch-5.c: Likewise. - * gcc.target/s390/hotpatch-6.c: Likewise. - * gcc.target/s390/hotpatch-7.c: Likewise. - * gcc.target/s390/hotpatch-8.c: Likewise. - * gcc.target/s390/hotpatch-9.c: Likewise. - * gcc.target/s390/hotpatch-compile-1.c: Likewise. - * gcc.target/s390/hotpatch-compile-2.c: Likewise. - * gcc.target/s390/hotpatch-compile-3.c: Likewise. - * gcc.target/s390/hotpatch-compile-4.c: Likewise. - * gcc.target/s390/hotpatch-compile-5.c: Likewise. - * gcc.target/s390/hotpatch-compile-6.c: Likewise. - * gcc.target/s390/hotpatch-compile-7.c: Likewise. - * gcc.target/s390/hotpatch-compile-8.c: Likewise. - -2015-01-27 Jiong Wang - - * gcc.dg/long_branch.c: New testcase. - -2015-01-27 Richard Biener - - PR tree-optimization/56273 - PR tree-optimization/59124 - PR tree-optimization/64277 - * g++.dg/warn/Warray-bounds-6.C: New testcase. - * gcc.dg/Warray-bounds-12.c: Likewise. - * gcc.dg/Warray-bounds-13.c: Likewise. - -2015-01-27 Jakub Jelinek - - PR rtl-optimization/61058 - * gcc.dg/pr61058.c: New test. - -2015-01-27 Ilya Enkovich - - * gcc.target/i386/chkp-narrow-bounds.c: New. - -2015-01-27 Jakub Jelinek - - PR tree-optimization/64807 - * gcc.dg/pr64807.c: New test. - - PR c/64766 - * gcc.dg/pr64766.c: New test. - -2015-01-26 Oleg Endo - - PR target/49263 - * gcc.target/sh/pr49263-4.c: New. - -2015-01-26 Paul Thomas - - PR fortran/62044 - * gfortran.dg/allocate_with_mold_1.f90: New test - -2015-01-26 Jakub Jelinek - - PR c/64778 - * gcc.dg/pr64778.c: New test. - - PR middle-end/64421 - * gcc.dg/vect/pr64421.c: New test. - -2015-01-26 Tobias Burnus - - PR fortran/64771 - * gfortran.dg/coarray_36.f: New. - * gfortran.dg/coarray_37.f90: New. - -2015-01-26 Janus Weil - - PR fortran/64230 - * gfortran.dg/class_allocate_18.f90: New. - -2015-01-26 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vpaddl.c: New file. - -2015-01-26 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vpadal.c: New file. - -2015-01-26 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vmvn.c: New file. - -2015-01-26 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vmovl.c: New file. - -2015-01-26 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vpXXX.inc: New file. - * gcc.target/aarch64/advsimd-intrinsics/vpadd.c: New file. - * gcc.target/aarch64/advsimd-intrinsics/vpmax.c: New file. - * gcc.target/aarch64/advsimd-intrinsics/vpmin.c: New file. - -2015-01-26 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vmlX_n.inc: New file. - * gcc.target/aarch64/advsimd-intrinsics/vmla_n.c: New file. - * gcc.target/aarch64/advsimd-intrinsics/vmls_n.c: New file. - -2015-01-26 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vXXXhn.inc: New file. - * gcc.target/aarch64/advsimd-intrinsics/vraddhn.c: New file. - * gcc.target/aarch64/advsimd-intrinsics/vrsubhn.c: New file. - * gcc.target/aarch64/advsimd-intrinsics/vsubhn.c: New file. - * gcc.target/aarch64/advsimd-intrinsics/vaddhn.c: Use code from - vXXXhn.inc. - -2015-01-26 Richard Biener - - PR middle-end/64764 - * gcc.dg/uninit-19.c: New testcase. - -2015-01-26 Rainer Orth - - * lib/target-supports.exp (check_effective_target_vect64): Add - sparc*-*-*. - -2015-01-26 Eric Botcazou - - PR testsuite/64712 - * gnat.dg/unchecked_convert1.adb (Unchecked_Convert1): Initialize A. - -2015-01-26 Tony Liu - - * gcc.target/arm/scd42-1.c: Improve the check for UAL and - non-UAL cases. - -2015-01-26 Janne Blomqvist - - PR libfortran/64770 - * gfortran.dg/open_new_segv.f90: Add dg- stuff to make test work - correctly, clean up afterwards. - -2015-01-25 Mikael Morin - - PR fortran/62044 - * gfortran.dg/use_rename_7.f90: New. - -2015-01-25 Allan Sandfeld Jensen - - * gcc.target/i386/funcspec-5.c: Test new multiversion targets. - * g++.dg/ext/mv17.C: Test BMI/BMI2 multiversion dispatcher. - -2015-01-25 Oleg Endo - - PR target/54236 - * gcc.target/sh/pr54236-4.c: New. - -2015-01-24 H.J. Lu - - * gcc.target/i386/builtin_target.c (check_intel_cpu_model): Add - Silvermont, Ivy Bridge, Haswell and Broadwell tests. Update Sandy - Bridge test. - -2015-01-24 Janne Blomqvist - - PR libfortran/64770 - * gfortran.dg/open_new_segv.f90: New test. - -2015-01-24 Oleg Endo - - PR target/49263 - PR target/53987 - PR target/64345 - PR target/59533 - PR target/52933 - PR target/54236 - PR target/51244 - * gcc.target/sh/pr64345-1.c: New. - * gcc.target/sh/pr64345-2.c: New. - * gcc.target/sh/pr59533-1.c: New. - * gcc.target/sh/pr49263.c: Adjust matching of expected insns. - * gcc.target/sh/pr52933-2.c: Likewise. - * gcc.target/sh/pr54089-1.c: Likewise. - * gcc.target/sh/pr54236-1.c: Likewise. - * gcc.target/sh/pr51244-20-sh2a.c: Likewise. - * gcc.target/sh/pr49263-1.c: Remove xfails. - * gcc.target/sh/pr49263-2.c: Likewise. - * gcc.target/sh/pr49263-3.c: Likewise. - * gcc.target/sh/pr53987-1.c: Likewise. - * gcc.target/sh/pr52933-1.c: Adjust matching of expected insns. - (test_24, test_25, test_26, test_27, test_28, test_29, test_30): New. - * gcc.target/sh/pr51244-12.c: Adjust matching of expected insns. - (test05, test06, test07, test08, test09, test10, test11, test12): New. - * gcc.target/sh/pr54236-3.c: Adjust matching of expected insns. - (test_002, test_003, test_004, test_005, test_006, test_007, test_008, - test_009): New. - * gcc.target/sh/pr51244-4.c: Adjust matching of expected insns. - (test_02): New. - -2015-01-24 Tom de Vries - - * gcc.target/i386/funcspec-5.c: Replace avx512 with avx512f. - -2015-01-23 Ian Lance Taylor - - PR go/64510 - * go.test/go-test.exp (go-gc-tests): Skip nilptr2.go test on - targets without split stack support. - -2015-01-23 Vladimir Makarov - - PR target/64317 - * gcc.target/i386/pr64317.c: New test. - -2015-01-23 Jakub Jelinek - - PR rtl-optimization/63637 - PR rtl-optimization/60663 - * gcc.dg/pr63637-1.c: New test. - * gcc.dg/pr63637-2.c: New test. - * gcc.dg/pr63637-3.c: New test. - * gcc.dg/pr63637-4.c: New test. - * gcc.dg/pr63637-5.c: New test. - * gcc.dg/pr63637-6.c: New test. - * gcc.target/i386/pr63637-1.c: New test. - * gcc.target/i386/pr63637-2.c: New test. - * gcc.target/i386/pr63637-3.c: New test. - * gcc.target/i386/pr63637-4.c: New test. - * gcc.target/i386/pr63637-5.c: New test. - * gcc.target/i386/pr63637-6.c: New test. - -2015-01-23 Richard Biener - - PR testsuite/63439 - * gcc.dg/vect/bb-slp-11.c: Require vect_pack_trunc. - * gcc.dg/vect/bb-slp-26.c: Require vect_hw_misalign. - -2015-01-23 Marek Polacek - - PR preprocessor/60570 - * gcc.dg/cpp/pr36320.c: Turn dg-error into dg-bogus. - * gcc.dg/cpp/pr60570.c: New test. - -2015-01-23 Richard Biener - - PR testsuite/63439 - * gcc.dg/vect/vect-33.c: Adjust target selectors for v16qi - vectorization on vect64 targets. - -2015-01-23 Janus Weil - - PR fortran/60922 - * gfortran.dg/class_allocate_17.f90: New. - -2015-01-23 Tobias Burnus - - PR fortran/64726 - * gfortran.dg/goacc/combined_loop.f90: New. - -2015-01-22 Jerry DeLisle - - PR fortran/61933 - * gfortran.dg/make_unit.f90: New test. - -2015-01-22 Jerry DeLisle - - PR fortran/61933 - * gfortran.dg/negative_unit_int8.f: Update. - -2015-01-22 Jeff Law - - PR target/52076 - * gcc.target/m68k/pr52076-1.c: New test. - * gcc.target/m68k/pr52076-2.c: New test. - -2015-01-22 Richard Biener - - PR middle-end/64728 - * gcc.dg/torture/pr64728.c: New testcase. - -2015-01-22 Uros Bizjak - - PR target/64688 - * g++.dg/pr64688.C: New test. - -2015-01-22 Ilya Enkovich - - * gcc.target/i386/chkp-always_inline.c (f1): Make static - to avoid errors with -fpic. - -2015-01-22 Richard Biener - - PR libstdc++/64535 - * g++.old-deja/g++.eh/badalloc1.C: Adjust. - -2015-01-21 Segher Boessenkool - - PR rtl-optimization/64682 - * gcc.c-torture/execute/pr64682.c: New file. - -2015-01-21 Jakub Jelinek - - PR debug/64511 - * gcc.dg/pr64511.c: New test. - - PR rtl-optimization/62078 - * g++.dg/opt/pr62078.C: New test. - - PR c/63307 - * c-c++-common/cilk-plus/CK/pr63307.c: New test. - -2015-01-21 Thomas Koenig - - PR fortran/57023 - * gfortran.dg/internal_pack_15.f90: New test. - -2015-01-21 Bernd Edlinger - - * c-c++-common/tsan/step.c: New testcase. - -2015-01-21 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vqdmull_n.c: New file. - -2015-01-21 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vqdmull_lane.c: New file. - -2015-01-21 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vqdmull.c: New file. - -2015-01-21 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vqdmulh_n.c: New file. - -2015-01-21 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vqdmulh_lane.c: New file. - -2015-01-21 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vqdmulh.c: New file. - -2015-01-21 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vmull_n.c: New file. - -2015-01-21 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vmull_lane.c: New file. - -2015-01-21 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vmull.c: New file. - -2015-01-21 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vmul_n.c: New file. - -2015-01-21 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vmul_lane.c: New file. - -2015-01-21 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vmovn.c: New file. - -2015-01-21 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vXXXw.inc: New file. - * gcc.target/aarch64/advsimd-intrinsics/vsubw.c: New file. - * gcc.target/aarch64/advsimd-intrinsics/vaddw.c: Use code from - vXXXw.inc. - -2015-01-21 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vXXXl.inc: New file. - * gcc.target/aarch64/advsimd-intrinsics/vsubl.c: New file. - * gcc.target/aarch64/advsimd-intrinsics/vaddl.c: Use code from - vXXXl.inc. - -2015-01-21 Renlin Li - - * g++.dg/tls/thread_local5.C: Skip when dejagnu wrapper is used. - * g++.dg/tls/thread_local5g.C: Likewise. - * g++.dg/tls/thread_local6g.C: Likewise. - -2015-01-21 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vsXi_n.inc: New file. - * gcc.target/aarch64/advsimd-intrinsics/vsli_n.c: New file. - * gcc.target/aarch64/advsimd-intrinsics/vsri_n.c: New file. - -2015-01-21 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vqdmlXl_n.inc: New file. - * gcc.target/aarch64/advsimd-intrinsics/vqdmlal_n.c: New file. - * gcc.target/aarch64/advsimd-intrinsics/vqdmlsl_n.c: New file. - -2015-01-21 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vqdmlXl_lane.inc: New file. - * gcc.target/aarch64/advsimd-intrinsics/vqdmlal_lane.c: New file. - * gcc.target/aarch64/advsimd-intrinsics/vqdmlsl_lane.c: New file. - -2015-01-21 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vqdmlXl.inc: New file. - * gcc.target/aarch64/advsimd-intrinsics/vqdmlal.c: New file. - * gcc.target/aarch64/advsimd-intrinsics/vqdmlsl.c: New file. - -2015-01-20 Jeff Law - - PR target/59946 - * gcc.target/m68k/pr59946.c: New test. - -2015-01-20 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vmlXl_n.inc: New file. - * gcc.target/aarch64/advsimd-intrinsics/vmlal_n.c: New file. - * gcc.target/aarch64/advsimd-intrinsics/vmlsl_n.c: New file. - -2015-01-20 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vmlXl_lane.inc: New file. - * gcc.target/aarch64/advsimd-intrinsics/vmlal_lane.c: New file. - * gcc.target/aarch64/advsimd-intrinsics/vmlsl_lane.c: New file. - -2015-01-20 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vmlXl.inc: New file. - * gcc.target/aarch64/advsimd-intrinsics/vmlal.c: New file. - * gcc.target/aarch64/advsimd-intrinsics/vmlsl.c: New file. - -2015-01-20 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vshuffle.inc: New file. - * gcc.target/aarch64/advsimd-intrinsics/vtrn.c: New file. - * gcc.target/aarch64/advsimd-intrinsics/vuzp.c: Use code from - vshuffle.inc. - * gcc.target/aarch64/advsimd-intrinsics/vzip.c: Use code from - vshuffle.inc. - -2015-01-20 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vmlX_lane.inc: New file. - * gcc.target/aarch64/advsimd-intrinsics/vmla_lane.c: New file. - * gcc.target/aarch64/advsimd-intrinsics/vmls_lane.c: New file. - -2015-01-20 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vmlX.inc: New file. - * gcc.target/aarch64/advsimd-intrinsics/vmla.c: New file. - * gcc.target/aarch64/advsimd-intrinsics/vmls.c: New file. - -2015-01-20 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vldX_dup.c: New file. - -2015-01-20 Jakub Jelinek - - * gcc.dg/guality/pr49888.c (v): Add __attribute__((used)). - - PR sanitizer/64632 - * g++.dg/ubsan/pr64632.C: New test. - - PR debug/64663 - * gcc.dg/pr64663.c: New test. - -2015-01-20 Paolo Carlini - - PR c++/64383 - * g++.dg/warn/Wunused-var-23.C: New. - -2015-01-20 Paolo Carlini - - PR c++/59937 - * g++.dg/cpp0x/constexpr-59937-1.C: New. - * g++.dg/cpp0x/constexpr-59937-2.C: Likewise. - -2015-01-20 Richard Biener - - PR ipa/64684 - * gcc.dg/lto/pr64684_0.c: New testcase. - * gcc.dg/lto/pr64684_1.c: Likewise. - * gcc.dg/lto/pr64684_2.c: Likewise. - * gcc.dg/lto/pr64685_0.c: Likewise. - * gcc.dg/lto/pr64685_1.c: Likewise. - -2015-01-20 Paolo Carlini - - PR c++/62241 - * g++.dg/cpp1y/lambda-init12.C: New. - -2015-01-20 Richard Biener - - PR tree-optimization/64410 - * g++.dg/vect/pr64410.cc: Require vect_double. - -2015-01-20 Matthew Wahab - - PR target/64149 - * gcc.target/arm/thumb1-far-farjump-3.c: Remove. - -2015-01-20 Igor Zamyatin - - PR bootstrap/64676 - Revert: - 2014-01-19 Igor Zamyatin - - PR rtl-optimization/64081 - * gcc.dg/pr64081.c: New test. - -2015-01-19 David Malcolm - - * jit.dg/harness.h: Include . - (CHECK_NO_ERRORS): New. - (verify_code): Wrap prototype in #ifndef TEST_COMPILING_TO_FILE. - (test_jit): Support new macro TEST_COMPILING_TO_FILE for exercising - gcc_jit_context_compile_to_file. - * jit.dg/jit.exp (fixed_host_execute): Fix the code for passing on - args to the spawned executable. - (jit-expand-vars): New function. - (jit-exe-params): New variable. - (dg-jit-set-exe-params): New function. - (jit-dg-test): Detect testcases that use - jit-verify-compile-to-file and call jit-setup-compile-to-file. - Set arguments of spawned process to jit-exe-params. - (jit-get-output-filename): New function. - (jit-setup-compile-to-file): New function. - (jit-verify-compile-to-file): New function. - (jit-run-executable): New function. - (jit-verify-executable): New function. - * jit.dg/test-compile-to-assembler.c: New testcase. - * jit.dg/test-compile-to-dynamic-library.c: New testcase. - * jit.dg/test-compile-to-executable.c: New testcase. - * jit.dg/test-compile-to-object.c: New testcase. - -2015-01-19 Oleg Endo - - PR target/64652 - * gcc.target/sh/torture/pr64652.c (test): Rename to test_0. - (test_1): New. - -2015-01-19 Martin Liska - - * objc/compile/pr64668.m: New test. - -2015-01-19 David Malcolm - - * jit.dg/test-arith-overflow.c: Include stdbool.h. - (create_overflow_fn): Update comment to clarify that - the third param of the created function is a bool *, not - an int *. - (verify_int_overflow_fn): Convert param "expected_ovf" from - int to bool. Update third param of "overflow_fn_type" from int * - to bool *. Update local "actual_ovf" from int to bool. - (verify_uint_overflow_fn): Likewise. - -2015-01-19 Martin Liska - - * gcc.dg/ipa/ipa-icf-33.c: New test. - -2015-01-19 Felix Yang - Haijian Zhang - - * gcc.target/aarch64/advsimd-intrinsics/compute-ref-data.h - (buffer_float64x2, buffer_pad_float64x2): New helper variables. - * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (hfloat64_t, - result_float64x2, expected_hfloat64x2): New helper type, variable and - declaration. - (buffer_float64x2, buffer_pad_float64x2): New helper variables. - * gcc.target/aarch64/advsimd-intrinsics/vfma.c: Don't run on target - without the FMA feature and exclude test for vfmaq_f64 on arm*-*-*. - * gcc.target/aarch64/advsimd-intrinsics/vfms.c: Don't run on target - without the FMA feature and exclude test for vfmsq_f64 on arm*-*-*. - * gcc.target/aarch64/advsimd-intrinsics/vfma_n.c: Don't run on arm*-*-* - and target without the FMA feature. - -2015-01-19 Jiong Wang - - * gcc.target/aarch64/pr64304.c: New testcase. - -2015-01-19 Igor Zamyatin - - PR rtl-optimization/64081 - * gcc.dg/pr64081.c: New test. - -2015-01-19 Tejas Belagod - - PR target/63971 - * gcc.target/aarch64/test_frame_1.c: Expect only two loads of x30 (in - the epilogue). - * gcc.target/aarch64/test_frame_6.c: Likewise. - * gcc.target/aarch64/test_frame_2.c: Expect only one pair load of x30 - and x19 (in the epilogue). - * gcc.target/aarch64/test_frame_4.c: Likewise. - * gcc.target/aarch64/test_frame_7.c: Likewise. - -2015-01-19 Ilya Enkovich - - * gcc.target/i386/chkp-always_inline.c: New. - -2015-01-15 Andrew Pinski - Naveen H.S - - * gcc.target/aarch64/aapcs64/abitest.S (LABEL_TEST_FUNC_RETURN): Load - testfunc_ptr as 32bit for ILP32 and 64bit for LP64. - -2015-01-18 Andre Vehreschild - - PR fortran/60255 - * gfortran.dg/unlimited_polymorphic_2.f03: Removed error. - * gfortran.dg/unlimited_polymorphic_20.f03: New test. - -2015-01-18 Paul Thomas - - PR fortran/64578 - * gfortran.dg/unlimited_polymorphic_21.f90: New test - -2015-01-18 Oleg Endo - - PR target/64652 - * gcc.target/sh/torture/pr64652.c: New. - -2015-01-18 Jan Hubicka - - * gcc.dg/ipa/ipa-icf-32.c: Update template. - * c-c++-common/asan/instrument-with-calls-3.c: Likewise. - * c-c++-common/asan/instrument-with-calls-2.c: Likewise. - * c-c++-common/asan/instrument-with-calls-1.c: Likewise. - * c-c++-common/asan/kasan-recover-1.c: Likewise. - * c-c++-common/asan/kasan-recover-2.c: Likewise. - -2015-01-18 Jan Hubicka - - PR ipa/64378 - * g++.dg/torture/pr64378.C: New testcase. - -2015-01-18 Paul Thomas - - PR fortran/57959 - * gfortran.dg/block_13.f08: New test - -2015-01-18 Paul Thomas - - PR fortran/55901 - * gfortran.dg/associate_1.f03: Allow test for character with - automatic length. - -2015-01-17 Segher Boessenkool - - * gcc.target/powerpc/ppc-fpconv-4.c: Skip for -mpowerpc64. - * gcc.target/powerpc/ppc-fpconv-8.c: Ditto. - -2015-01-17 Segher Boessenkool - - * gcc.dg/20020919-1.c: Use _ARCH_PPC64 to test for -mpowerpc64. - -2015-01-17 Paul Thomas - - PR fortran/64578 - * gfortran.dg/unlimited_polymorphic_21.f90: New test - -2015-01-17 Andre Vehreschild - - PR fortran/60357 - * gfortran.dg/alloc_comp_assign_13.f08: New test. - - PR fortran/61275 - * gfortran.dg/alloc_comp_assign_14.f08: New test. - - PR fortran/55932 - * gfortran.dg/alloc_comp_initializer_4.f03: New test. - -2015-01-17 Andre Vehreschild - - PR fortran/60334 - * gfortran.dg/deferred_type_param_6.f90: Add tests for this PR. - -2015-01-16 Bernd Schmidt - - PR rtl-optimization/52773 - * gcc.c-torture/compile/pr52773.c: New test. - -2015-01-16 Paolo Carlini - - PR c++/62134 - * g++.dg/cpp0x/alias-decl-46.C: New. - -2015-01-16 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vld1_lane.c: New file. - -2015-01-16 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (CHECK): - Add trace. - (CHECK_FP): Likewise. - (CHECK_CUMULATIVE_SAT): Likewise. - -2015-01-16 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h - (Set_Neon_Cumulative_Sat): Add parameter. - (__set_neon_cumulative_sat): Support new parameter. - * gcc.target/aarch64/advsimd-intrinsics/binary_sat_op.inc - (TEST_BINARY_SAT_OP1): Call Set_Neon_Cumulative_Sat with new - argument. - * gcc.target/aarch64/advsimd-intrinsics/unary_sat_op.inc - (TEST_UNARY_SAT_OP1): Call Set_Neon_Cumulative_Sat with new - argument. - -2015-01-16 Bernd Edlinger - - * g++.dg/tsan/vptr_benign_race.C: New testcase. - * g++.dg/tsan/vptr_harmful_race.C: New testcase. - -2015-01-16 Paolo Carlini - - PR c++/60056 - * g++.dg/tls/thread_local-ice4.C: New. - -2015-01-16 James Greenhalgh - - * g++.dg/abi/mangle-abi-crypto.C: Add crypto options, rather - than Neon options. - -2015-01-16 Paolo Carlini - - PR c++/62276 - * g++.dg/cpp0x/vt-62276.C: New. - -2015-01-16 Ilya Enkovich - - PR middle-end/64353 - * g++.dg/pr64353.C: New. - -2015-01-16 Kyrylo Tkachov - - PR target/64263 - * gcc.target/aarch64/pr64263_1.c: New test. - -2015-01-16 Yuri Rumyantsev - - PR tree-optimization/64434 - * gcc.dg/torture/pr64434.c: Move to... - * gcc.dg/pr64434.c: ... here. - -2015-01-16 Richard Biener - - PR middle-end/64614 - * gcc.dg/uninit-18.c: New testcase. - -2015-01-16 Richard Biener - - PR tree-optimization/64568 - * g++.dg/torture/pr64568-2.C: New testcase. - -2015-01-16 Ilya Enkovich - - PR target/64363 - * gcc.target/i386/chkp-label-address.c: New. - -2015-01-16 Janus Weil - - PR fortran/45290 - * gfortran.dg/pointer_init_6.f90: Extended. - -2015-01-16 Robert Suchanek - - * gcc.c-torture/compile/20150108.c: New test. - -2015-01-16 Eric Botcazou - - * gcc.target/visium: New directory. - -2015-01-16 Richard Biener - - PR tree-optimization/61743 - * gcc.dg/tree-ssa/pr61743-1.c: Add -fno-tree-vectorize. - * gcc.dg/tree-ssa/pr61743-2.c: Likewise. - -2015-01-16 Zhenqiang Chen - - * gcc.dg/pr64015.c: New test. - -2015-01-16 Markus Trippelsdorf - - PR ipa/64163 - PR ipa/64612 - * g++.dg/ipa/pr64612.C: New test. - -2015-01-16 Renlin Li - - * g++.dg/builtin-apply2.c: Remove aarch64 target from skip list. - -2015-01-16 Ilya Tocar - - * gcc.target/i386/sse-14.c: Test new intrinsic. - * gcc.target/i386/sse-22.c: Ditto. - -2015-01-16 Paolo Carlini - - PR c++/58614 - * g++.dg/cpp0x/auto44.C: New. - -2015-01-15 Sandra Loosemore - - PR target/59710 - * gcc.target/nios2/gpopt-all.c: New test case. - * gcc.target/nios2/gpopt-local.c: New test case. - * gcc.target/nios2/gpopt-global.c: New test case. - * gcc.target/nios2/gpopt-data.c: New test case. - * gcc.target/nios2/gpopt-none.c: New test case. - -2015-01-15 Jakub Jelinek - - * g++.dg/ubsan/vptr-1.C: New test. - * g++.dg/ubsan/vptr-2.C: New test. - * g++.dg/ubsan/vptr-3.C: New test. - * g++.dg/ubsan/vptr-4.C: New test. - * g++.dg/ubsan/vptr-5.C: New test. - * g++.dg/ubsan/vptr-6.C: New test. - * g++.dg/ubsan/vptr-7.C: New test. - * g++.dg/ubsan/vptr-8.C: New test. - * g++.dg/ubsan/vptr-9.C: New test. - -2015-01-15 Eric Botcazou - - * lib/c-torture.exp: Compute LTO_TORTURE_OPTIONS after the environment - is set up. - * lib/gcc-dg.exp: Likewise. - -2015-01-15 Vladimir Makarov - - PR rtl-optimization/64110 - * gcc.target/i386/pr64110.c: Add scan-assembler. - -2015-01-15 Thomas Schwinge - James Norris - Cesar Philippidis - Ilmir Usmanov - - * lib/target-supports.exp (check_effective_target_fopenacc): New - procedure. - * g++.dg/goacc-gomp/goacc-gomp.exp: New file. - * g++.dg/goacc/goacc.exp: Likewise. - * gcc.dg/goacc-gomp/goacc-gomp.exp: Likewise. - * gcc.dg/goacc/goacc.exp: Likewise. - * gfortran.dg/goacc/goacc.exp: Likewise. - * c-c++-common/cpp/openacc-define-1.c: New file. - * c-c++-common/cpp/openacc-define-2.c: Likewise. - * c-c++-common/cpp/openacc-define-3.c: Likewise. - * c-c++-common/goacc-gomp/nesting-1.c: Likewise. - * c-c++-common/goacc-gomp/nesting-fail-1.c: Likewise. - * c-c++-common/goacc/acc_on_device-2-off.c: Likewise. - * c-c++-common/goacc/acc_on_device-2.c: Likewise. - * c-c++-common/goacc/asyncwait-1.c: Likewise. - * c-c++-common/goacc/cache-1.c: Likewise. - * c-c++-common/goacc/clauses-fail.c: Likewise. - * c-c++-common/goacc/collapse-1.c: Likewise. - * c-c++-common/goacc/data-1.c: Likewise. - * c-c++-common/goacc/data-2.c: Likewise. - * c-c++-common/goacc/data-clause-duplicate-1.c: Likewise. - * c-c++-common/goacc/deviceptr-1.c: Likewise. - * c-c++-common/goacc/deviceptr-2.c: Likewise. - * c-c++-common/goacc/deviceptr-3.c: Likewise. - * c-c++-common/goacc/if-clause-1.c: Likewise. - * c-c++-common/goacc/if-clause-2.c: Likewise. - * c-c++-common/goacc/kernels-1.c: Likewise. - * c-c++-common/goacc/loop-1.c: Likewise. - * c-c++-common/goacc/loop-private-1.c: Likewise. - * c-c++-common/goacc/nesting-1.c: Likewise. - * c-c++-common/goacc/nesting-data-1.c: Likewise. - * c-c++-common/goacc/nesting-fail-1.c: Likewise. - * c-c++-common/goacc/parallel-1.c: Likewise. - * c-c++-common/goacc/pcopy.c: Likewise. - * c-c++-common/goacc/pcopyin.c: Likewise. - * c-c++-common/goacc/pcopyout.c: Likewise. - * c-c++-common/goacc/pcreate.c: Likewise. - * c-c++-common/goacc/pragma_context.c: Likewise. - * c-c++-common/goacc/present-1.c: Likewise. - * c-c++-common/goacc/reduction-1.c: Likewise. - * c-c++-common/goacc/reduction-2.c: Likewise. - * c-c++-common/goacc/reduction-3.c: Likewise. - * c-c++-common/goacc/reduction-4.c: Likewise. - * c-c++-common/goacc/sb-1.c: Likewise. - * c-c++-common/goacc/sb-2.c: Likewise. - * c-c++-common/goacc/sb-3.c: Likewise. - * c-c++-common/goacc/update-1.c: Likewise. - * gcc.dg/goacc/acc_on_device-1.c: Likewise. - * gfortran.dg/goacc/acc_on_device-1.f95: Likewise. - * gfortran.dg/goacc/acc_on_device-2-off.f95: Likewise. - * gfortran.dg/goacc/acc_on_device-2.f95: Likewise. - * gfortran.dg/goacc/assumed.f95: Likewise. - * gfortran.dg/goacc/asyncwait-1.f95: Likewise. - * gfortran.dg/goacc/asyncwait-2.f95: Likewise. - * gfortran.dg/goacc/asyncwait-3.f95: Likewise. - * gfortran.dg/goacc/asyncwait-4.f95: Likewise. - * gfortran.dg/goacc/branch.f95: Likewise. - * gfortran.dg/goacc/cache-1.f95: Likewise. - * gfortran.dg/goacc/coarray.f95: Likewise. - * gfortran.dg/goacc/continuation-free-form.f95: Likewise. - * gfortran.dg/goacc/cray.f95: Likewise. - * gfortran.dg/goacc/critical.f95: Likewise. - * gfortran.dg/goacc/data-clauses.f95: Likewise. - * gfortran.dg/goacc/data-tree.f95: Likewise. - * gfortran.dg/goacc/declare-1.f95: Likewise. - * gfortran.dg/goacc/enter-exit-data.f95: Likewise. - * gfortran.dg/goacc/fixed-1.f: Likewise. - * gfortran.dg/goacc/fixed-2.f: Likewise. - * gfortran.dg/goacc/fixed-3.f: Likewise. - * gfortran.dg/goacc/fixed-4.f: Likewise. - * gfortran.dg/goacc/host_data-tree.f95: Likewise. - * gfortran.dg/goacc/if.f95: Likewise. - * gfortran.dg/goacc/kernels-tree.f95: Likewise. - * gfortran.dg/goacc/list.f95: Likewise. - * gfortran.dg/goacc/literal.f95: Likewise. - * gfortran.dg/goacc/loop-1.f95: Likewise. - * gfortran.dg/goacc/loop-2.f95: Likewise. - * gfortran.dg/goacc/loop-3.f95: Likewise. - * gfortran.dg/goacc/loop-tree-1.f90: Likewise. - * gfortran.dg/goacc/omp.f95: Likewise. - * gfortran.dg/goacc/parallel-kernels-clauses.f95: Likewise. - * gfortran.dg/goacc/parallel-kernels-regions.f95: Likewise. - * gfortran.dg/goacc/parallel-tree.f95: Likewise. - * gfortran.dg/goacc/parameter.f95: Likewise. - * gfortran.dg/goacc/private-1.f95: Likewise. - * gfortran.dg/goacc/private-2.f95: Likewise. - * gfortran.dg/goacc/private-3.f95: Likewise. - * gfortran.dg/goacc/pure-elemental-procedures.f95: Likewise. - * gfortran.dg/goacc/reduction-2.f95: Likewise. - * gfortran.dg/goacc/reduction.f95: Likewise. - * gfortran.dg/goacc/routine-1.f90: Likewise. - * gfortran.dg/goacc/routine-2.f90: Likewise. - * gfortran.dg/goacc/sentinel-free-form.f95: Likewise. - * gfortran.dg/goacc/several-directives.f95: Likewise. - * gfortran.dg/goacc/sie.f95: Likewise. - * gfortran.dg/goacc/subarrays.f95: Likewise. - * gfortran.dg/gomp/map-1.f90: Likewise. - * gfortran.dg/openacc-define-1.f90: Likewise. - * gfortran.dg/openacc-define-2.f90: Likewise. - * gfortran.dg/openacc-define-3.f90: Likewise. - * g++.dg/gomp/block-1.C: Update for changed compiler output. - * g++.dg/gomp/block-2.C: Likewise. - * g++.dg/gomp/block-3.C: Likewise. - * g++.dg/gomp/block-5.C: Likewise. - * g++.dg/gomp/target-1.C: Likewise. - * g++.dg/gomp/target-2.C: Likewise. - * g++.dg/gomp/taskgroup-1.C: Likewise. - * g++.dg/gomp/teams-1.C: Likewise. - * gcc.dg/cilk-plus/jump-openmp.c: Likewise. - * gcc.dg/cilk-plus/jump.c: Likewise. - * gcc.dg/gomp/block-1.c: Likewise. - * gcc.dg/gomp/block-10.c: Likewise. - * gcc.dg/gomp/block-2.c: Likewise. - * gcc.dg/gomp/block-3.c: Likewise. - * gcc.dg/gomp/block-4.c: Likewise. - * gcc.dg/gomp/block-5.c: Likewise. - * gcc.dg/gomp/block-6.c: Likewise. - * gcc.dg/gomp/block-7.c: Likewise. - * gcc.dg/gomp/block-8.c: Likewise. - * gcc.dg/gomp/block-9.c: Likewise. - * gcc.dg/gomp/target-1.c: Likewise. - * gcc.dg/gomp/target-2.c: Likewise. - * gcc.dg/gomp/taskgroup-1.c: Likewise. - * gcc.dg/gomp/teams-1.c: Likewise. - -2015-01-15 David Malcolm - - * jit.dg/test-error-mismatching-types-in-assignment-op.c: New - test case. - -2015-01-15 Mike Stump - - * gcc.dg/inline_1.c: Rename gcc.dg/inline_[1-4].c to inline-3[6-9].c. - * gcc.dg/inline_2.c: Likewise. - * gcc.dg/inline_3.c: Likewise. - * gcc.dg/inline_4.c: Likewise. - -2015-01-15 Janus Weil - - PR fortran/58023 - * gfortran.dg/proc_ptr_comp_43.f90: New. - -2015-01-15 Mike Stump - - * gcc.dg/unroll_1.c: Rename gcc.dg/unroll_[1-5].c to unroll-[2-6]. - * gcc.dg/unroll_2.c: Likewise. - * gcc.dg/unroll_3.c: Likewise. - * gcc.dg/unroll_4.c: Likewise. - * gcc.dg/unroll_5.c: Likewise. - -2015-01-15 Tejas Belagod - - PR target/63971 - * gcc.target/aarch64/test_frame_1.c: Revert to 3 loads of x30 - in epilogue. - * gcc.target/aarch64/test_frame_6.c: Likewise. - * gcc.target/aarch64/test_frame_2.c: Revert to 2 pair loads of - x30 and x19 (in the epilogue). - * gcc.target/aarch64/test_frame_4.c: Likewise. - * gcc.target/aarch64/test_frame_7.c: Likewise. - -2015-01-15 Martin Liska - - * g++.dg/ipa/pr64068.C: New test. - * gcc.dg/ipa/PR64559.c: New test. - -2015-01-15 H.J. Lu - - * g++.dg/other/anon5.C: Ignore additional messages on Linux/x86 - with PIE. - -2015-01-15 Richard Biener - - PR tree-optimization/61743 - * gcc.dg/tree-ssa/pr61743-1.c: New testcase. - * gcc.dg/tree-ssa/pr61743-2.c: Likewise. - -2015-01-15 Renlin Li - - * gcc.target/aarch64/volatileloadpair-1.c: Correct dg-options. - * gcc.target/aarch64/volatileloadpair-2.c: Likewise. - -2015-01-15 Yuri Rumyantsev - - * gcc.dg/vect/vect-aggressive-1.c: New. - * gcc.target/i386/avx2-vect-aggressive.c: New. - -2015-01-15 H.J. Lu - - * gcc.target/i386/pr54445-2.c: Adjust scan string for PIE. - -2015-01-15 Richard Biener - - PR lto/64415 - * gcc.dg/lto/pr64415_0.c: Re-enable for darwin with - -Wl,-undefined,dynamic_lookup. - -2015-01-15 Eric Botcazou - - * gnat.dg/opt47.adb: New test. - -2015-01-15 Richard Biener - - PR lto/64415 - * gcc.dg/lto/pr64415_0.c: Skip on darwin. - -2015-01-15 Yuri Rumyantsev - - PR tree-optimization/64434 - * gcc.dg/torture/pr64434.c: New test. - -2015-01-15 Matthew Fortune - - * gcc.target/mips/mips.exp (mips-dg-options): -mips3d requires - -mno-micromips. MIPS32R1 and below require -mno-micromips. - -march=loongson* and -march=octeon* require -mno-micromips. - -2015-01-15 Andrew Bennett - Matthew Fortune - - * gcc.target/mips/call-saved-4.c (foo): Add NOCOMPRESSION. - * gcc.target/mips/call-saved-5.c (foo): Likewise. - * gcc.target/mips/call-saved-6.c (foo): Likewise. - * gcc.target/mips/call-saved-7.c: New file. - * gcc.target/mips/call-saved-8.c: New file. - * gcc.target/mips/call-saved-9.c: New file. - -2015-01-14 Matthew Fortune - - * gcc.target/mips/lsa.c: New file. - * gcc.target/mips/mips64-lsa.c: Likewise. - * gcc.target/mips/mulsize-2.c: Require !HAS_LSA. - * gcc.target/mips/mulsize-4.c: Likewise. - * gcc.target/mips/mulsize-5.c: New file. - * gcc.target/mips/mulsize-6.c: Likewise. - * gcc.target/mips/mips.exp (mips_option_groups): Support HAS_LSA - and !HAS_LSA as ghost options. - (mips-dg-options): Require rev 6 for HAS_LSA. Downgrade to rev 5 - for !HAS_LSA. - -2015-01-15 Matthew Wahab - - * g++.dg/torture/20141013.c: Set -fno-short-enums. - -2015-01-15 Richard Biener - - PR middle-end/64365 - * gcc.dg/torture/pr64365.c: New testcase. - -2015-01-14 Marcos Diaz - - * gcc.dg/stackprotectexplicit1.c: New test. - * g++.dg/stackprotectexplicit2.c: New test. - -2015-01-14 Jerry DeLisle - - PR target/61933 - * gfortran.dg/inquire_internal.f90: New. - * gfortran.dg/negative_unit_check.f90: New. - -2015-01-14 Oleg Endo - - PR target/53988 - * gcc.target/sh/pr53988-1.c: New. - -2015-01-14 Paolo Carlini - - PR c++/58671 - * g++.dg/tls/thread_local-ice3.C: New. - -2015-01-14 H.J. Lu - - * gcc.target/i386/fentry-override.c: Properly place {} in target - selector. Remove nonpic. - * gcc.target/i386/fentry.c: Likewise. - -2015-01-14 Andrew MacLeod - - * gcc.dg/atomic-invalid.c: Check for invalid memory model - warnings instead of errors. - -2015-01-14 Ilya Verbin - - * lib/target-supports.exp (check_effective_target_lto): Check for -flto - option support instead of ENABLE_LTO from Makefile. - -2015-01-14 Richard Biener - - PR tree-optimization/59354 - * gcc.dg/vect/pr59354.c: New testcase. - -2015-01-14 Andrew Stubbs - - * lib/target-supports.exp - (check_effective_target_arm_neon_ok_nocache): Don't try to test Neon - on ARM architures before v7. - -2015-01-14 Andrew MacLeod - - PR middle-end/59448 - * gcc.dg/atomic-invalid.c: Remove obselete test for illegal consume in - an atomic_exchange. - -2015-01-14 Ilya Tocar - - PR target/64386 - * gcc.target/i386/pr64386.c: New test. - -2015-01-14 Ilya Tocar - - PR target/64393 - * gcc.target/i386/pr64393.c: New test. - -2015-01-14 Ilya Tocar - - PR target/64387 - * gcc.target/i386/pr64387.c: New test. - -2015-01-14 Christophe Lyon - - * gcc.target/aarch64/store-pair-1.c: Fix typo. - -2015-01-14 Kyrylo Tkachov - - * gcc.target/aarch64/arm_neon-nosimd-error.c: New test. - -2015-01-14 Thomas Preud'homme - - PR target/64453 - * gcc.target/arm/pr64453.c: New. - -2015-01-14 Richard Biener - - PR lto/64415 - * gcc.dg/lto/pr64415_0.c: New testcase. - * gcc.dg/lto/pr64415_1.c: Likewise. - -2015-01-14 Martin Liska - - * gcc.dg/ipa/pr64307.c: New test. - -2015-01-14 Tejas Belagod - - * gcc.target/aarch64/vect-movi.c: Check for vectorization for - 64-bit and 128-bit. - -2015-01-14 Kyrylo Tkachov - - PR target/64460 - * gcc.target/arm/pr64460_1.c: New test. - -2015-01-14 Richard Biener - - PR tree-optimization/64493 - PR tree-optimization/64495 - * gcc.dg/vect/pr64493.c: New testcase. - * gcc.dg/vect/pr64495.c: Likewise. - -2015-01-13 Martin Uecker - - * gcc.dg/Warray-bounds-11.c: New test-case. - -2015-01-14 Naveen H.S - - * gcc.target/mips/octeon3-pipe-1.c: New test. - -2015-01-13 David Malcolm - - * jit.dg/harness.h (set_up_logging): Move string concatenation - into... - (concat_strings): New function. - (dump_reproducer): New function. - (test_jit): Call dump_reproducer. - * jit.dg/jit.exp (is_testcase_meant_to_generate_a_reproducer): New - function. - (jit-dg-test): Delete any generated reproducer from previous runs. - Verify that a generated reproducer was created, and verify that it - compiles. - * jit.dg/test-nested-contexts.c (main): Call - gcc_jit_context_dump_reproducer_to_file. - -2015-01-13 H.J. Lu - - * gcc.dg/aru-2.c: Add dg-require-profiling. - -2015-01-13 H.J. Lu - - * lib/target-supports.exp (check_profiling_available): Check if - -pg links. - -2015-01-13 Jan Hubicka - - PR ipa/64565 - * g++.dg/torture/pr64565.C: New testcase. - -2015-01-13 Marek Polacek - - PR middle-end/64391 - * gcc.dg/tm/pr64391.c: New test. - -2015-01-13 H.J. Lu - - * gcc.dg/tree-ssa/ssa-store-ccp-3.c: Exclude pie when nonpic is - true. - -2015-01-13 H.J. Lu - - * gcc.target/i386/pie.c: New test. - - * lib/target-supports.exp (check_effective_target_pie): New. - -2015-01-13 Jakub Jelinek - - PR rtl-optimization/64286 - * gcc.target/i386/avx2-pr64286.c: New test. - -2015-01-13 Paolo Carlini - - PR c++/57626 - * g++.dg/cpp0x/vt-57626.C: New. - -2015-01-13 Jakub Jelinek - - PR fortran/64528 - * gfortran.dg/pr64528.f90: New test. - -2015-01-13 Richard Sandiford - - * gcc.target/aarch64/subsp.c: New test. - -2015-01-13 Andrew Pinski - - * gcc.target/aarch64/store-pair-1.c: New testcase. - -2015-01-13 Richard Biener - - PR lto/64373 - * gcc.dg/lto/pr64373_0.c: New testcase. - -2015-01-13 Andrew Pinski - - * gcc.target/aarch64/volatileloadpair-1.c: New testcase. - * gcc.target/aarch64/volatileloadpair-2.c: New testcase. - -2015-01-13 Richard Biener - - PR tree-optimization/64406 - * gcc.dg/pr64406.c: New testcase. - -2015-01-13 Richard Biener - - PR tree-optimization/64404 - * gcc.dg/vect/pr64404.c: New testcase. - -2015-01-13 Richard Biener - - PR tree-optimization/64568 - * g++.dg/torture/pr64568.C: New testcase. - -2015-01-12 David Malcolm - - * jit.dg/test-error-local-used-from-other-function.c: New test - case. - * jit.dg/test-error-param-reuse.c: New test case. - * jit.dg/test-error-param-sharing.c: New test case. - * jit.dg/test-error-param-used-from-other-function.c: New test - case. - * jit.dg/test-error-param-used-without-a-function.c: New test - case. - -2015-01-12 Jakub Jelinek - - PR tree-optimization/64563 - * gcc.dg/pr64563.c: New test. - - PR target/64513 - * gcc.target/i386/pr64513.c: New test. - - PR tree-optimization/64454 - * gcc.dg/pr64454.c: New test. - - PR testsuite/64028 - * gcc.dg/vect/no-section-anchors-vect-31.c: Add dg-add-options - bind_pic_locally. - * gcc.dg/vect/no-section-anchors-vect-34.c: Likewise. - * gcc.dg/vect/no-section-anchors-vect-36.c: Likewise. - * gcc.dg/vect/no-section-anchors-vect-64.c: Likewise. - * gcc.dg/vect/no-section-anchors-vect-65.c: Likewise. - * gcc.dg/vect/no-section-anchors-vect-68.c: Likewise. - * gcc.dg/vect/no-section-anchors-vect-69.c: Likewise. - * gcc.dg/vect/slp-25.c: Likewise. - * gcc.dg/vect/vect-109.c: Likewise. - * gcc.dg/vect/vect-13.c: Likewise. - * gcc.dg/vect/vect-17.c: Likewise. - * gcc.dg/vect/vect-18.c: Likewise. - * gcc.dg/vect/vect-19.c: Likewise. - * gcc.dg/vect/vect-20.c: Likewise. - * gcc.dg/vect/vect-21.c: Likewise. - * gcc.dg/vect/vect-22.c: Likewise. - * gcc.dg/vect/vect-27.c: Likewise. - * gcc.dg/vect/vect-29.c: Likewise. - * gcc.dg/vect/vect-2-big-array.c: Likewise. - * gcc.dg/vect/vect-2.c: Likewise. - * gcc.dg/vect/vect-3.c: Likewise. - * gcc.dg/vect/vect-4.c: Likewise. - * gcc.dg/vect/vect-5.c: Likewise. - * gcc.dg/vect/vect-72.c: Likewise. - * gcc.dg/vect/vect-73-big-array.c: Likewise. - * gcc.dg/vect/vect-73.c: Likewise. - * gcc.dg/vect/vect-77-global.c: Likewise. - * gcc.dg/vect/vect-78-global.c: Likewise. - * gcc.dg/vect/vect-7.c: Likewise. - * gcc.dg/vect/vect-86.c: Likewise. - * gcc.dg/vect/vect-align-1.c: Likewise. - * gcc.dg/vect/vect-align-3.c: Likewise. - * gcc.dg/vect/vect-all-big-array.c: Likewise. - * gcc.dg/vect/vect-all.c: Likewise. - * gcc.dg/vect/vect-multitypes-1.c: Likewise. - * gcc.dg/vect/vect-multitypes-4.c: Likewise. - * gcc.dg/vect/vect-peel-3.c: Likewise. - * gcc.dg/vect/vect-peel-4.c: Likewise. - * gcc.dg/vect/wrapv-vect-7.c: Likewise. - -2015-01-12 Jeff Law - - PR target/64461 - * gcc.target/m68k/pr64461.c: New test. - -2015-01-12 David Malcolm - - * jit.dg/test-array-as-pointer.c (create_code): Update call - to gcc_jit_context_new_global by setting "kind" to - GCC_JIT_GLOBAL_IMPORTED. - * jit.dg/test-error-array-as-pointer.c: Likewise. - * jit.dg/test-expressions.c (make_test_of_get_address): Likewise. - * jit.dg/test-fuzzer.c (make_random_global): Likewise, but - setting kind to GCC_JIT_GLOBAL_EXPORTED. - * jit.dg/test-using-global.c (the_global): Rename to... - (imported_global): ...this. - (create_code): Update to test the three kinds of global. - (verify_code): Likewise. - -2015-01-12 Marc Glisse - - PR testsuite/64427 - * gcc.target/i386/pr64291-1.c: Limit to lp64 tarrget. Avoid - undefined behavior. - * gcc.target/i386/pr64291-2.c: Updated. - -2015-01-12 Richard Biener - - PR tree-optimization/64530 - * gfortran.dg/pr64530.f90: New testcase. - -2015-01-12 Richard Biener - - PR middle-end/64357 - * gcc.dg/torture/pr64357.c: New testcase. - -2015-01-12 H.J. Lu - - * gcc.target/i386/nop-mcount.c: Properly place {} in target - selector. - -2015-01-12 Prathamesh Kulkarni - * gcc.dg/plugin/ggcplug.c: Include gcc-plugin.h after coretypes.h. - -2015-01-12 Martin Liska - - * gcc.dg/ipa/PR64550.c: New test. - -2015-01-12 Jan Hubicka - - PR ipa/63470 - * g++.dg/ipa/pr63470.C: New testcase. - -2015-01-11 Janus Weil - - PR fortran/63733 - * gfortran.dg/typebound_operator_20.f90: New. - -2015-01-11 Janus Weil - - PR fortran/58023 - * gfortran.dg/proc_ptr_comp_42.f90: New. - -2015-01-11 Janus Weil - - PR fortran/64508 - * gfortran.dg/proc_ptr_comp_41.f90: New. - -2015-01-11 Segher Boessenkool - - * gcc.target/powerpc/recip-test.h (_ARCH_PPC64): Use __LP64__ instead. - -2015-01-10 Tobias Burnus - - PR fortran/64522 - * gfortran.dg/line_length_5.f90: Change dg-warning to dg-error - and add dg-excess-errors. - * gfortran.dg/line_length_6.f90: New. - * gfortran.dg/line_length_7.f90: New. - * gfortran.dg/line_length_8.f90: New. - * gfortran.dg/line_length_9.f90: New. - * gfortran.dg/line_length_10.f90: New. - * gfortran.dg/line_length_11.f90: New. - -2015-01-09 David Malcolm - - * jit.dg/test-threads.c (struct testcase): Move declaration - to jit.dg/all-non-failing-tests.h. - (testcases): Likewise. - * jit.dg/all-non-failing-tests.h (struct testcase): Move - declaration here from jit.dg/all-non-failing-tests.h. - (testcases): Likewise. - * jit.dg/test-combination.c (create_code): Eliminate spelling - out all of the testcases in favor of looping through the - "testcases" metadata. - (verify_code): Likewise. - -2015-01-09 Jakub Jelinek - - PR rtl-optimization/64536 - * gcc.dg/pr64536.c: New test. - -2015-01-09 David Malcolm - - * jit.dg/all-non-failing-tests.h: Add test-constants.c. - * jit.dg/test-combination.c (create_code): Likewise. - (verify_code): Likewise. - * jit.dg/test-constants.c: New test case. - * jit.dg/test-threads.c: Add test-constants.c. - -2015-01-09 Dimitris Papavasiliou - - PR libobjc/51891 - * objc.dg/gnu-api-2-class.m: Add a test case - for the above change. - -2015-01-09 Sebastian Huber - - * gcc.dg/typeof-2.c: Add checks for non-atomic types. - -2015-01-09 Richard Biener - - PR tree-optimization/64410 - * g++.dg/vect/pr64410.cc: New testcase. - -2015-01-09 Martin Liska - - * gcc.dg/ipa/ipa-icf-32.c: New test. - -2015-01-08 Bernd Edlinger - - * c-c++-common/tsan/tsan_barrier.h: New. - * c-c++-common/tsan/atomic_stack.c: Reworked to not depend on sleep. - * c-c++-common/tsan/bitfield_race.c: Likewise. - * c-c++-common/tsan/fd_pipe_race.c: Likewise. - * c-c++-common/tsan/mutexset1.c: Likewise. - * c-c++-common/tsan/race_on_barrier.c: Likewise. - * c-c++-common/tsan/race_on_mutex.c: Likewise. - * c-c++-common/tsan/race_on_mutex2.c: Likewise. - * c-c++-common/tsan/simple_race.c: Likewise. - * c-c++-common/tsan/simple_stack.c: Likewise. - * c-c++-common/tsan/sleep_sync.c: Likewise. - * c-c++-common/tsan/tiny_race.c: Likewise. - * c-c++-common/tsan/tls_race.c: Likewise. - * c-c++-common/tsan/write_in_reader_lock.c: Likewise. - * g++.dg/tsan/aligned_vs_unaligned_race.C: Likewise. - * g++.dg/tsan/atomic_free.C: Likewise. - * g++.dg/tsan/atomic_free2.C: Likewise. - * g++.dg/tsan/cond_race.C: Likewise. - * g++.dg/tsan/tsan_barrier.h: Copied from c-c++-common/tsan. - -2015-01-08 Hans-Peter Nilsson - - PR testsuite/62250 - * lib/target-supports.exp (check_effective_target_libatomic_available): - New. - * gfortran.dg/coarray/caf.exp: Only add -latomic for - targets that match effective-target libatomic_available. - * gfortran.dg/coarray_lib_comm_1.f90: Similar. - -2015-01-08 David Malcolm - - * jit.dg/test-error-block-in-wrong-function.c (verify_code): - Verify the result of gcc_jit_context_get_last_error. - * jit.dg/test-error-null-passed-to-api.c (verify_code): Likewise. - -2015-01-08 Jakub Jelinek - - PR tree-optimization/63989 - * gcc.dg/strlenopt-27.c: New test. - -2015-01-08 David Malcolm - - * jit.dg/harness.h (set_up_logging): New function. - (test_jit): Fail if gcc_jit_context_acquire fails. Call - set_up_logging on the context, so that every testcase is - logged to a particular file. - * jit.dg/test-nested-contexts.c (main): Open a logfile, - and call gcc_jit_context_set_logfile on the top-level context. - -2015-01-08 Jakub Jelinek - - PR target/64338 - * g++.dg/opt/pr64338.C: New test. - -2015-01-08 Tobias Burnus - - * gfortran.dg/coarray/codimension_2b.f90: New file. - * gfortran.dg/coarray/codimension_2.f90: Add it to dg-extra-sources. - * gfortran.dg/coarray/codimension_2.f90: Call its subroutine. - -2015-01-08 Paolo Carlini - - PR c++/59004 - * g++.dg/ext/fnname4.C: New. - -2015-01-08 Paolo Carlini - - PR c++/64462 - * g++.dg/cpp0x/constexpr-64462.C: New. - -2015-01-08 Paolo Carlini - - PR c++/60753 - * g++.dg/cpp0x/deleted10.C: New. - -2015-01-07 David Malcolm - - * jit.dg/test-error-dereferencing-void-ptr.c: New test case. - -2015-01-07 David Malcolm - - * jit.dg/test-expressions.c (make_tests_of_unary_ops): Add test of - GCC_JIT_UNARY_OP_ABS. - (verify_unary_ops): Likewise. - -2015-01-07 David Malcolm - - * jit.dg/test-arith-overflow.c: New test case. - * jit.dg/all-non-failing-tests.h: Add test-arith-overflow.c. - * jit.dg/test-combination.c (create_code): Likewise. - (verify_code): Likewise. - * jit.dg/test-threads.c (testcases): Likewise. - -2015-01-07 David Malcolm - - * jit.dg/jit.exp: Load wrapper.exp with %{tool} set to "g++" - rather than "jit". Load g++.exp, and call g++_init. - Run test-*.cc files within the testsuite and *.cc files within - docs/examples. - (jit-dg-test): Drop the addition of -fgnu89-inline to - DEFAULT_CFLAGS in favor of adding it to additional_flags, only - doing it when compiling C testcases (since g++ does not handle - it). Reset "orig_environment_saved" so that LD_LIBRARY_PATH - is restored to the value after g++_init ran, rather than the - value before g++_init ran. Return a list of - $comp_output $output_file, as dg-test assumes. - -2015-01-07 David Malcolm - - * jit.dg/harness.h (CHECK_NON_NULL): Add __func__ to output, to - make it easier to figure out the origin of each test result when - running test-combination.c and test-threads.c. - (CHECK_VALUE): Likewise. - (CHECK_DOUBLE_VALUE): Likewise. - (CHECK_STRING_VALUE): Likewise. - (CHECK_STRING_STARTS_WITH): Likewise. - (CHECK_STRING_CONTAINS): Likewise. - (CHECK): Likewise. - (check_string_value): Likewise, add "funcname" param. - (check_string_starts_with): Likewise. - (check_string_contains): Likewise. - -2015-01-07 David Malcolm - - * jit.dg/jit.exp (jit-dg-test): Remove "rootname" call when - generating name of built executable. - -2015-01-07 Marek Polacek - - PR c/64440 - * gcc.dg/pr64440.c: New test. - * c-c++-common/pr56607.c: Don't limit dg-warnings to C++. - -2015-01-07 Marek Polacek - - PR c/64417 - * gcc.c-torture/compile/pr28865.c: Add dg-errors. - * gcc.dg/pr64417.c: New test. - -2015-01-06 Michael Meissner - - PR target/64505 - * gcc.target/powerpc/pr64505.c: New file to test -m32 -mpowerpc64 - fix is correct. - -2015-01-06 Eric Botcazou - - * lib/tsan-dg.exp (check_effective_target_fsanitize_thread): - Check if testcases run without errors, not just if they compile. - -2015-01-06 Christian Bruel - - PR target/64507 - * gcc.target/sh/pr64507.c: New test. - -2015-01-06 Arnaud Charlet - - * gnat.db/fixce.adb, gnat.db/specs/delta_small.ads: Kill warnings. - -2015-01-06 Jakub Jelinek - - * c-c++-common/asan/sanitize-all-1.c: New test. - * c-c++-common/ubsan/sanitize-all-1.c: New test. - * c-c++-common/ubsan/sanitize-all-2.c: New test. - * c-c++-common/ubsan/sanitize-all-3.c: New test. - * c-c++-common/ubsan/sanitize-all-4.c: New test. - -2015-01-06 Eric Botcazou - - * lib/target-supports.exp (check_profiling_available): Return 0 for - Visium. - (check_effective_target_tls_runtime): Likewise. - (check_effective_target_logical_op_short_circuit): Return 1 for Visium. - * gcc.dg/20020312-2.c: Adjust for Visium. - * gcc.dg/tls/thr-cse-1.c: Likewise - * gcc.dg/tree-ssa/20040204-1.c: Likewise - * gcc.dg/tree-ssa/loop-1.c: Likewise. - * gcc.dg/weak/typeof-2.c: Likewise. - -2015-01-05 Radovan Obradovic - - PR rtl-optimization/64287 - * gcc.dg/aru-2.c: New test. - -2015-01-05 Jakub Jelinek - - PR sanitizer/64344 - * c-c++-common/ubsan/pr64344-1.c: New test. - * c-c++-common/ubsan/pr64344-2.c: New test. - - PR tree-optimization/64465 - * gcc.dg/pr64465.c: New test. - - PR tree-optimization/64494 - * gcc.c-torture/compile/pr64494.c: New test. - -2015-01-05 Thomas Koenig - - PR fortran/47674 - * gfortran.dg/realloc_on_assign_25.f90: New test. - -2015-01-05 Jakub Jelinek - - Update copyright years. - -2015-01-05 Marek Polacek - - PR c/64423 - * gcc.dg/pr64423.c: New test. - -2015-01-05 Hans-Peter Nilsson - - * gcc.dg/debug/debug-1.c: Pass -fno-if-conversion for - mmix-knuth-mmixware for the same reason as for MIPS. - * gcc.dg/debug/debug-2.c: Ditto. - - * gcc.dg/pr42629.c: Only pass scheduling options on scheduling targets. - -2015-01-03 John David Anglin - - PR testsuite/62250 - * lib/gfortran.exp: Add libatomic library search path. - * gfortran.dg/coarray/caf.exp: Add -latomic to test options. - * gfortran.dg/coarray_lib_comm_1.f90: Likewise. - - * gcc.dg/pr63914.c: Add -fno-common option on hppa*-*-hpux*. - -2015-01-02 Bernd Edlinger - - * c-c++-common/tsan/bitfield_race.c: New testcase. - * g++.dg/tsan/aligned_vs_unaligned_race.C: Fixed. - -2015-01-02 Tobias Burnus - - * gfortran.dg/coarray/collectives_4.f90: New. - -2015-01-02 Janus Weil - - PR fortran/57562 - * gfortran.dg/extends_16.f90: New. - -2015-01-02 Tobias Burnus - - * gfortran.dg/coarray/caf.exp (dg-compile-aux-modules): Add. - -2015-01-02 Tobias Burnus - - * gfortran.dg/coarray/codimension_2.f90: New. - * gfortran.dg/coarray/codimension_2a.f90: New. - * gfortran.dg/coarray_35.f90: New. - * gfortran.dg/coarray_35a.f90: New. - -2015-01-02 Janus Weil - - PR fortran/60507 - * gfortran.dg/dummy_procedure_11.f90: New. -^L -Copyright (C) 2015 Free Software Foundation, Inc. + +Copyright (C) 2016 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/gcc/testsuite/ChangeLog-2015 b/gcc/testsuite/ChangeLog-2015 new file mode 100644 index 00000000000..f48907ae429 --- /dev/null +++ b/gcc/testsuite/ChangeLog-2015 @@ -0,0 +1,20502 @@ +2015-12-30 Jerry DeLisle + + PR fortran/68987 + * gfortran.dg/error_format_2.f90: New test. + +2015-12-30 John David Anglin + + * gfortran.dg/coarray_40.f90: Revise to use dg-additional-options. + * gfortran.dg/coarray_lib_comm_1.f90: Likewise. + +2015-12-29 Andre Vehreschild + + PR fortran/69011 + * gfortran.dg/allocate_with_source_16.f90: New test. + +2015-12-28 Uros Bizjak + + * gcc.target/i386/*.c: Remove extra braces from target selectors. + +2015-12-28 Uros Bizjak + + * gcc.target/i386/pr68473-1.c: Add dg-do compile directive. + +2015-12-28 John David Anglin + + * gfortran.dg/coarray_40.f90: Link with libatomic if available. + + * gcc.dg/pr49551.c: Skip on hppa*-*-hpux*. + + * gcc.dg/torture/pr67609.c: Add -fno-common option on hppa*-*-hpux*. + +2015-12-28 Bill Schmidt + + * gcc.target/powerpc/p9-lxvx-stxvx-1.c: New. + * gcc.target/powerpc/p9-lxvx-stxvx-2.c: New. + +2015-12-24 Kirill Yukhin + + * g++.dg/other/i386-2.C: Add -mpku. + * g++.dg/other/i386-3.C: Ditto. + * gcc.target/i386/rdpku-1.c: New test. + * gcc.target/i386/sse-12.c: Add -mpku. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-22.c: Ditto. + * gcc.target/i386/sse-33.c: Ditto. + * gcc.target/i386/wrpku-1.c: New test. + +2015-12-23 Martin Sebor + + PR c++/69023 + * g++.dg/lookup/name-clash11.C: New test. + +2015-12-23 Nathan Sidwell + + * gcc.dg/alias-15.c: Revert. + +2015-12-23 James Greenhalgh + + PR testsuite/68232 + * gcc.dg/ifcvt-4.c: Skip for arm*-*-* and powerpc64le*-*-*. + +2015-12-23 Nathan Sidwell + + * gcc.dg/alias-15.c: New. + +2015-12-23 Thomas Schwinge + + * g++.dg/dg.exp (tests): Prune "goacc/*" and "goacc-gomp/*" files. + +2015-12-23 David Sherwood + + * gcc.target/arm/fmaxmin.x: New file used by tests below. + * gcc.target/arm/fmaxmin.c: New test. + * gcc.target/arm/vect-fmaxmin.c: Likewise. + +2015-12-23 H.J. Lu + + PR target/66232 + * gcc.target/i386/pr66232-10.c: New test. + * gcc.target/i386/pr66232-11.c: Likewise. + * gcc.target/i386/pr66232-12.c: Likewise. + * gcc.target/i386/pr66232-13.c: Likewise. + +2015-12-22 David Malcolm + + PR c/68473 + * gcc.dg/plugin/diagnostic-test-expressions-1.c (fminl): New decl. + (TEST_EQ): New macro. + (test_macro): New function. + * gcc.target/i386/pr68473-1.c: New test case. + +2015-12-22 Jakub Jelinek + + PR c++/67376 + * g++.dg/cpp0x/constexpr-67376.C: New test. + +2015-12-22 Richard Henderson + + * g++.dg/tm/noexcept-1.C: Update expected must_not_throw count. + * g++.dg/tm/noexcept-4.C: Likewise. + * g++.dg/tm/noexcept-5.C: Likewise. + * g++.dg/tm/pr67811.C: New. + +2015-12-22 Peter Bergner + + PR target/68872 + * gcc.target/powerpc/pr68872.c: New test. + +2015-12-22 H.J. Lu + + PR target/68937 + * gcc.target/i386/pr68937-1.c: New test. + * gcc.target/i386/pr68937-2.c: Likewise. + * gcc.target/i386/pr68937-3.c: Likewise. + * gcc.target/i386/pr68937-4.c: Likewise. + * gcc.target/i386/pr68937-5.c: Likewise. + * gcc.target/i386/pr68937-6.c: Likewise. + +2015-12-22 Marek Polacek + + PR c/69002 + * gcc.dg/c11-atomic-1.c: Add dg-warnings. + * gcc.dg/c11-atomic-4.c: New test. + +2015-12-22 Sujoy Saraswati + + * gcc.dg/pr61441.c: New testcase. + +2015-12-22 Eric Botcazou + + * gcc.dg/torture/pr68264.c: Tweak for Solaris. + +2015-12-21 David Malcolm + + * g++.dg/diagnostic/bad-binary-ops.C: New test case. + * gcc.dg/bad-binary-ops.c: New test case. + gcc.dg/plugin/diagnostic_plugin_show_trees.c (get_range_for_expr): + Remove material copied from gcc-rich-location.c + (gcc_rich_location::add_expr): Likewise. + +2015-12-21 Claudiu Zissulescu + + * gcc.target/arc/builtin_general.c: New test. + * gcc.target/arc/builtin_simd.c: Likewise. + * gcc.target/arc/builtin_special.c: Likewise. + +2015-12-20 Jeff Law + + PR tree-optimization/64910 + * gcc.target/i386/bittest.c: New test. + +2015-12-20 Eric Botcazou + + * gnat.dg/complex1.adb: New test. + * gnat.dg/complex1_pkg.ads: New helper. + +2015-12-19 Eric Botcazou + + * gcc.target/sparc/20151219-1.c: New test. + +2015-12-19 Andrew Burgess + + * gcc.target/arc/load-update.c: New file. + +2015-12-18 Patrick Palka + + PR c++/68978 + * g++.dg/template/pr68978.C: New test. + +2015-12-18 Jakub Jelinek + + PR debug/68860 + * gcc.dg/guality/pr68860-1.c: New test. + * gcc.dg/guality/pr68860-2.c: New test. + +2015-12-18 Nathan Sidwell + + * lib/target-supports.exp (check_effective_target_cilkplus): Not nvptx. + * c-c++-common/attr-simd-3.c: Require cilkplus. + * gcc.dg/graphite/id-28.c: Likewise. + +2015-12-18 Bernd Schmidt + + * gcc.dg/debug/dwarf2/prod-options.c: New test. + +2015-12-18 Eric Botcazou + + * gnat.dg/specs/debug1.ads: Bump final count to 18. + +2015-12-18 Paolo Carlini + + PR c++/67592 + * g++.dg/cpp0x/constexpr-virtual5.C: New. + * g++.dg/cpp0x/pr51463.C: Adjust dg-error string. + * g++.dg/inherit/pure1.C: Likewise. + +2015-12-18 Jeff Law + + PR rtl-optimization/49847 + * g++.dg/pr49847-2.C: New test. + +2015-12-18 H.J. Lu + + * gcc.dg/vect/pr68305.c (dg-additional-options): Add -mavx2 + for x86 target. + +2015-12-18 Nathan Sidwell + + * c-c++-common/attr-simd-3.c: Requires pthreads. + +2015-12-18 Richard Biener + + PR testsuite/68776 + * gcc.dg/vect/vect-widen-mult-const-s16.c: Adjust. + * gcc.dg/vect/vect-widen-mult-const-u16.c: Likewise. + +2015-12-18 Dominik Vogt + + * gcc.target/s390/litpool-r3-1.c: New test. + +2015-12-18 Yuri Rumyantsev + + PR tree-optimization/68906 + * gcc.dg/torture/pr68906.c: New test. + +2015-12-18 Ilya Enkovich + + PR tree-optimization/68956 + * gcc.target/i386/pr68956.c: New test. + +2015-12-18 Kyrylo Tkachov + + PR rtl-optimization/68796 + * gcc.target/aarch64/tst_3.c: New test. + * gcc.target/aarch64/tst_4.c: Likewise. + +2015-12-18 Robin Dapp + + * gcc.target/s390/vcond-shift.c: New test to check vcond + simplification. + +2015-12-18 Paul Thomas + + PR fortran/68196 + * gfortran.dg/proc_ptr_48.f90: New test. + +2015-12-18 Andreas Krebbel + + * gcc.target/s390/hotpatch-8.c: Add -Wno-deprecated to options. + * gcc.target/s390/hotpatch-9.c: Likewise. + +2015-12-18 Patrick Palka + + PR c++/68831 + * g++.dg/pr68831.C: New test. + +2015-12-17 Jeff Law + + * gcc.dg/tree-ssa/split-path-1.c: Explicitly ask for path + splitting optimizations. + +2015-12-17 Nathan Sidwell + + * gcc.dg/ipa/ipa-icf-merge-1.c: New. + +2015-12-17 David Malcolm + + * gcc.dg/diagnostic-range-bad-return.c: New test case. + +2015-12-17 Richard Biener + + PR tree-optimization/68946 + * gcc.dg/torture/pr68946.c: New testcase. + +2015-12-17 Nathan Sidwell + + * c-c++-common/Wunused-var-13.c: Requires label values. + * gcc.dg/torture/pr46216.c: Likewise. + +2015-12-17 Pierre-Marie de Rodat + + * gnat.dg/specs/debug1.ads: Update the expected number of + DW_AT_artificial attribute in compiler output. + +2015-12-17 Jakub Jelinek + + PR tree-optimization/68835 + * gcc.dg/pr68835-1.c: New test. + * gcc.dg/pr68835-2.c: New test. + +2015-12-17 Richard Biener + + PR tree-optimization/68951 + * gcc.dg/torture/pr68951.c: New testcase. + +2015-12-17 Rainer Orth + + PR target/67973 + * lib/target-supports.exp (check_effective_target_stabs): New proc. + * g++.dg/cpp0x/alias-decl-debug-0.C: Restrict to stabs targets. + * g++.dg/other/PR23205.C: Likewise. + * g++.dg/other/pr23205-2.C: Likewise. + * gcc.dg/20040813-1.c: Likewise. + * gcc.dg/darwin-20040809-2.c: Likewise. + * objc.dg/stabs-1.m: Likewise. + +2015-12-17 Andrew Burgess + + * gcc.target/arc/loop-hazard-1.c: New file. + +2015-12-17 Andrew Burgess + + * gcc.target/arc/jump-around-jump.c (rtc_set_time): Declare. + +2015-12-17 Thomas Preud'homme + + Revert: + 2015-12-14 Thomas Preud'homme + + PR testsuite/68629 + * lib/target-supports.exp (check_effective_target_cilkplus): Also + check that compiling with -fcilkplus does not give an error. + * c-c++-common/attr-simd-3.c: Require cilkplus effective target. + +2015-12-16 Patrick Palka + + PR c++/16333 + PR c++/41426 + PR c++/59879 + PR c++/66895 + * g++.dg/conversion/pr16333.C: New test. + * g++.dg/conversion/pr41426.C: New test. + * g++.dg/conversion/pr59879.C: New test. + * g++.dg/conversion/pr66895.C: New test. + +2015-12-16 Martin Sebor + + PR c/68868 + * gcc.dg/atomic/stdatomic-init.c: New test. + +2015-12-15 Michael Meissner + + PR target/68805 + * gcc.target/powerpc/pr68805.c: New test. + +2015-12-16 Martin Sebor + + PR objc++/68932 + * obj-c++.dg/property/at-property-23.mm: Remove check for + an error message. + +2015-12-13 Jeff Law + + * gcc.dg/tree-ssa/pr68619-4.c: Change size of code bitfield. + +2015-12-16 David Malcolm + + * c-c++-common/conflict-markers-1.c: New testcase. + * c-c++-common/conflict-markers-2.c: Likewise. + * c-c++-common/conflict-markers-3.c: Likewise. + * c-c++-common/conflict-markers-4.c: Likewise. + * c-c++-common/conflict-markers-5.c: Likewise. + * c-c++-common/conflict-markers-6.c: Likewise. + * c-c++-common/conflict-markers-7.c: Likewise. + * c-c++-common/conflict-markers-8.c: Likewise. + * c-c++-common/conflict-markers-9.c: Likewise. + * c-c++-common/conflict-markers-10.c: Likewise. + * c-c++-common/conflict-markers-11.c: Likewise. + * g++.dg/conflict-markers-1.C: Likewise. + +2015-12-16 David Malcolm + + * gcc.dg/cast-function-1.c (bar): Update column numbers. + * gcc.dg/diagnostic-range-bad-called-object.c: New test case. + +2015-12-16 David Malcolm + + * gcc.dg/diagnostic-range-static-assert.c: New test case. + +2015-12-16 Marek Polacek + + PR c/64637 + * gcc.dg/pr64637.c: New test. + +2015-12-16 Nathan Sidwell + + * gcc.dg/sibcall-9.c: Xfail for nvptx. + +2015-12-16 Richard Biener + + PR tree-optimization/68870 + * gcc.dg/torture/pr68870.c: New testcase. + +2015-12-16 Tom de Vries + + * g++.dg/ipa/devirt-37.C: Update for new fre2 pass. + * g++.dg/ipa/devirt-40.C: Same. + * g++.dg/tree-ssa/pr61034.C: Same. + * gcc.dg/ipa/ipa-pta-1.c: Update for new pta1 pass. + * gcc.dg/ipa/ipa-pta-10.c: Same. + * gcc.dg/ipa/ipa-pta-11.c: Same. + * gcc.dg/ipa/ipa-pta-14.c: Same. + * gcc.dg/ipa/ipa-pta-16.c: Same. + * gcc.dg/ipa/ipa-pta-2.c: Same. + * gcc.dg/ipa/ipa-pta-5.c: Same. + * gcc.dg/ipa/ipa-pta-6.c: Same. + * gcc.dg/torture/ipa-pta-1.c: Same. + * gcc.dg/ipa/ipa-pta-13.c: Update for new fre2 and pta1 pass. + * gcc.dg/ipa/ipa-pta-3.c: Same. + * gcc.dg/ipa/ipa-pta-4.c: Same. + +2015-12-16 Richard Biener + + PR testsuite/68915 + * gcc.dg/vect/pr46032.c: Use dg-additional-options. + +2015-12-16 Richard Biener + + PR testsuite/68916 + PR testsuite/68914 + * gcc.dg/vect/pr45752.c: Require vect_perm and adjust expected + dump. + * gcc.dg/vect/slp-perm-4.c: Likewise. + +2015-12-16 Matthew Wahab + + * lib/target-supports.exp (add_options_for_arm_v8_1a_neon): Update + comment. Use check_effective_target_arm_v8_1a_neon_ok to select + the command line options. + (check_effective_target_arm_v8_1a_neon_ok_nocache): Update initial + test to allow ARM targets. Select and record a working set of + command line options. + (check_effective_target_arm_v8_1a_neon_hw): Add tests for ARM + targets. + +2015-12-16 Kyrylo Tkachov + + PR target/68648 + * gcc.c-torture/execute/pr68648.c: New test. + +2015-12-16 Richard Biener + + PR tree-optimization/68892 + * gcc.dg/vect/bb-slp-pr68892.c: New testcase. + +2015-12-16 Jakub Jelinek + + PR rtl-optimization/65980 + * gcc.dg/pr65980.c: New test. + +2015-12-15 Martin Sebor + + PR c++/42121 + PR c++/68478 + PR c++/68613 + PR c++/68689 + PR c++/68710 + * g++.dg/compat/struct-layout-1_generate.c: Avoid generating + further fields after the first flexible array member. + * g++.dg/ext/flexary2.C: Expect a sole flexible array member + to be rejected. Add a test case exercising zero-length array. + * g++.dg/ext/flexary3.C: Expect a sole flexible array member + to be rejected. + * g++.dg/ext/flexary.h: New file. + * g++.dg/ext/flexary4.C: New file. + * g++.dg/ext/flexary5.C: New file. + * g++.dg/ext/flexary6.C: New file. + * g++.dg/ext/flexary7.C: New file. + * g++.dg/ext/flexary8.C: New file. + * g++.dg/other/dump-ada-spec-2.C: Adjust to reflect flexible + array members. + * g++.dg/parse/pr43765.C: Add a member to make a struct with + a flexible array member valid. Adjust expected error message. + * g++.dg/torture/pr64280.C: Expect a sole flexible array member + to be rejected. + * g++.dg/torture/pr64312.C: Add a member to make a struct with + a flexible array member valid. + * g++.dg/ubsan/object-size-1.C: Adjust expected diagnostic. + +2015-12-15 Marek Polacek + + PR c/68907 + * gcc.dg/pr68907.c: New test. + +2015-12-15 Alessandro Fanfarillo + + * gfortran.dg/coarray_critical_1.f90: New. + +2015-12-15 Martin Jambor + + PR ipa/68851 + * g++.dg/ipa/pr68851.C: New test. + +2015-12-15 Paolo Carlini + + PR c++/63506 + * g++.dg/cpp0x/pr63506-1.C: New. + * g++.dg/cpp0x/pr63506-2.C: Likewise. + +2015-12-15 Olivier Hainque + + * gcc.target/visium/block_move.c: Skip for -mcpu=gr5. + +2015-12-15 Jakub Jelinek + + PR tree-optimization/66688 + * gcc.dg/pr66688.c: New test. + +2015-12-15 Patrick Palka + + PR c++/21802 + PR c++/53223 + * g++.dg/cpp0x/pr53223.C: New test. + * g++.dg/lookup/pr21802.C: New test. + * g++.dg/lookup/two-stage4.C: Remove XFAIL. + +2015-12-14 Jerry DeLisle + + * gfortran.dg/quad_2.f90: Update test. + +2015-12-14 Steve Ellcey + + * gcc.dg/tree-ssa/ssa-fre-4.c: Remove mips*-*-* target. + * gcc.target/mips/ext-2.c: Update scan checks. + +2015-12-14 Nathan Sidwell + + * g++.dg/abi/nvptx-nrv1.C: New. + * g++.dg/abi/nvptx-ptrmem1.C: New. + * gcc.target/nvptx/abi-complex-arg.c: New. + * gcc.target/nvptx/abi-complex-ret.c: New. + * gcc.target/nvptx/abi-enum-arg.c: New. + * gcc.target/nvptx/abi-enum-ret.c: New. + * gcc.target/nvptx/abi-knr-arg.c: New. + * gcc.target/nvptx/abi-knr-ret.c: New. + * gcc.target/nvptx/abi-scalar-arg.c: New. + * gcc.target/nvptx/abi-scalar-ret.c: New. + * gcc.target/nvptx/abi-struct-arg.c: New. + * gcc.target/nvptx/abi-struct-ret.c: New. + * gcc.target/nvptx/abi-vararg-1.c: New. + * gcc.target/nvptx/abi-vararg-2.c: New. + * gcc.target/nvptx/abi-vect-arg.c: New. + * gcc.target/nvptx/abi-vect-ret.c: New. + +2015-12-14 Jakub Jelinek + + PR c/68833 + * c-c++-common/pr68833-1.c: New test. + * c-c++-common/pr68833-2.c: New test. + +2015-12-14 Richard Biener + + PR tree-optimization/68852 + * g++.dg/torture/pr68852.C: New testcase. + +2015-12-14 Alexander Monakov + + * gcc.dg/builtin-return-1.c: Correct effective-target test. + * gcc.dg/stack-usage-2.c: Use effective-target test. + +2015-12-14 Martin Jambor + + PR ipa/66616 + * g++.dg/ipa/pr66616.C: New test. + +2015-12-14 Jakub Jelinek + + PR rtl-optimization/68730 + * gcc.dg/pr68730.c: New test. + +2015-12-14 Thomas Preud'homme + + PR testsuite/68629 + * lib/target-supports.exp (check_effective_target_cilkplus): Also + check that compiling with -fcilkplus does not give an error. + * c-c++-common/attr-simd-3.c: Require cilkplus effective target. + +2015-12-13 David Edelsohn + + * gcc.dg/graphite/pr42729.c: XFAIL AIX. + +2015-12-13 Jeff Law + + * gcc.target/m68k/pr19201.c: New test. + + * gcc.target/m68k/pr63347.c: Remove #include add -w to + command line options. + * gcc.target/m68k/20090709-1.c: Adjust expected output. + +2015-12-12 David Edelsohn + + * g++.dg/opt/pr48549.C: XFAIL AIX. + * g++.dg/abi/anon1.C: XFAIL AIX. + * gcc.dg/graphite/pr42917.c: XFAIL AIX. + +2015-12-12 Tobias Burnus + + PR fortran/45859 + * gfortran.dg/coarray_args_2.f90: Remove dg-error. + +2015-12-12 David Edelsohn + + * gcc.target/powerpc/pr67808.c: Add -mlong-double-128 option. + * g++.dg/cpp1y/pr58708.C: Test appropriate value for size of + wchar_t. + +2015-12-12 Paolo Bonzini + + PR sanitizer/68418 + * gcc.dg/ubsan/c99-wrapv-shift-1.c, + gcc.dg/ubsan/c99-wrapv-shift-2.c: New testcases. + +2015-12-11 Jeff Law + + PR tree-optimization/68844 + * gcc.dg/tree-ssa/ssa-dom-thread-4.c: Update expected output. + +2015-12-11 Nathan Sidwell + + * gcc.dg/pr59605-1.c: Reduce iterations for nvptx. + +2015-12-11 Jan Beulich + + * gcc.c-torture/execute/stkalign.c: New. + +2015-12-11 Tsvetkova Alexandra + + * gcc.target/i386/mpx/memmove-1.c: New test. + * gcc.target/i386/mpx/memmove-2.c: New test. + +2015-12-11 Nathan Sidwell + + * gcc.target/nvptx/ary-init.c: Repair dg_final syntax. + * gcc.target/nvptx/decl-init.c: Likewise. Add TI case. + +2015-12-11 Martin Jambor + + PR ipa/68064 + * g++.dg/torture/pr68064.C: New test. + +2015-12-11 Dominik Vogt + + * gcc.target/s390/md/setmem_long-1.c: New test. + +2015-12-11 Dominik Vogt + + * gcc.target/s390/md/movstr-1.c: New test. + * gcc.target/s390/s390.exp: Add subdir md. + Do not run hotpatch tests twice. + +2015-12-11 Ilya Enkovich + + * gcc.dg/vect/vect-32-chars.c: New test. + +2015-12-11 Jan Hubicka + + PR ipa/61886 + * gcc.dg/lto/pr61886_0.c: New testcase + +2015-12-10 Jan Hubicka + + * gcc.c-torture/execute/20010122-1.c: Disable cloning. + +2015-12-10 Vladimir Makarov + + PR rtl-optimization/68691 + * gcc.target/i386/pr68691.c: New. + +2015-12-10 David Malcolm + + * lib/multiline.exp (_multiline_expected_outputs): Update comment. + (dg-end-multiline-output): Capture line numbers within + _multiline_expected_outputs. + (handle-multiline-outputs): Access global $testname_with_flags + and add it as a prefix to pass/fail results. Extract line numbers + from $_multiline_expected_outputs and print them within pass/fail + results, replacing the printing of $index. Consolidate the + string prefix shared between pass/fail into a new local ($title). + +2015-12-10 Jeff Law + + PR tree-optimization/68619 + * gcc.dg/tree-ssa/pr68619-1.c: New test. + * gcc.dg/tree-ssa/pr68619-2.c: New test. + * gcc.dg/tree-ssa/pr68619-3.c: New test. + * gcc.dg/tree-ssa/pr68619-4.c: New test. + * gcc.dg/tree-ssa/pr68619-5.c: New test. + +2015-12-10 Jakub Jelinek + + PR rtl-optimization/68376 + PR rtl-optimization/68670 + * gcc.c-torture/execute/pr68376-2.c (f5, f6, f7, f8): New + tests. + (main): Call them. + * gcc.dg/pr68670-1.c: New test. + * gcc.dg/pr68670-2.c: New test. + +2015-12-10 Marek Polacek + + PR c++/68348 + * g++.dg/cpp0x/pr68348.C: New test. + +2015-12-10 Eric Botcazou + + * gnat.dg/specs/elab4.ads: New test. + * gnat.dg/specs/elab4_proc.ad[sb]: New helper. + +2015-12-10 Eric Botcazou + + * gnat.dg/array25.adb: New test. + * gnat.dg/array25_pkg.ad[sb]: New helper. + +2015-12-10 Claudiu Zissulescu + + * lib/target-supports.exp (check_effective_target_arc_atomic): New + function. + (check_effective_target_sync_int_long): Add checks for ARC atomic + feature. + (check_effective_target_sync_char_short): Likewise. + +2015-12-10 Richard Biener + + PR tree-optimization/68817 + * gfortran.dg/pr68817.f90: New testcase. + +2015-12-10 Christophe Lyon + + Revert [testsuite][ARM target attributes] Fix effective_target tests + 2015-12-08 Christophe Lyon + + * lib/target-supports.exp + (check_effective_target_arm_vfp_ok_nocache): New. + (check_effective_target_arm_vfp_ok): Call the new + check_effective_target_arm_vfp_ok_nocache function. + (check_effective_target_arm_fp_ok_nocache): New. + (check_effective_target_arm_fp_ok): New. + (add_options_for_arm_fp): New. + (check_effective_target_arm_crypto_ok_nocache): Require + target_arm_v8_neon_ok instead of arm32. + (check_effective_target_arm_crypto_pragma_ok_nocache): New. + (check_effective_target_arm_crypto_pragma_ok): New. + (add_options_for_arm_vfp): New. + * gcc.target/arm/attr-crypto.c: Use arm_crypto_pragma_ok effective + target. Do not force -mfloat-abi=softfp, use arm_vfp effective + target instead. + * gcc.target/arm/attr-neon-builtin-fail.c: Do not force + -mfloat-abi=softfp, use arm_fp effective target instead. + * gcc.target/arm/attr-neon-fp16.c: Likewise. Remove arm_neon_ok + dependency. + * gcc.target/arm/attr-neon2.c: Do not force -mfloat-abi=softfp, + use arm_vfp effective target instead. + * gcc.target/arm/attr-neon3.c: Likewise. + +2015-12-10 Eric Botcazou + + * gnat.dg/specs/access1.ads: New test. + * gnat.dg/specs/access2.ads: Likewise. + +2015-12-10 Jakub Jelinek + + PR tree-optimization/68785 + * gcc.dg/pr68785.c: New test. + +2015-12-10 Richard Biener + + PR ipa/68331 + * gcc.dg/torture/ipa-pta-3.c: New testcase. + * g++.dg/ipa/ipa-pta-1.C: Likewise. + +2015-12-10 Richard Biener + + PR ipa/68721 + * gcc.dg/torture/pr68721.c: New testcase. + +2015-12-10 Richard Biener + + PR tree-optimization/68806 + * gcc.dg/torture/pr68806.c: New testcase. + +2015-12-08 Jan Hubicka + + PR ipa/61886 + PR middle-end/25140 + * gcc.c-torture/execute/alias-2.c: New testcase. + +2015-12-09 Tobias Burnus + Alessandro Fanfarillo + + * gfortran.dg/coarray_40.f90: New. + +2015-12-08 Jan Hubicka + + PR lto/68811 + * g++.dg/lto/pr68811_0.C: New testcase. + * g++.dg/lto/pr68811_1.C: New testcase. + +2015-12-09 Paolo Carlini + + PR c++/60218 + * g++.dg/ext/bases2.C: New. + +2015-12-09 Uros Bizjak + + * gcc.target/i386/sse4_1-roundps-1.c: Remove ASM_SUFFIX define. + * gcc.target/i386/sse4_1-roundps-2.c: Ditto. + * gcc.target/i386/sse4_1-roundps-3.c: Ditto. + * gcc.target/i386/sse4_1-roundsd-1.c: Ditto. + * gcc.target/i386/sse4_1-roundsd-2.c: Ditto. + * gcc.target/i386/sse4_1-roundsd-3.c: Ditto. + * gcc.target/i386/sse4_1-roundss-1.c: Ditto. + * gcc.target/i386/sse4_1-roundss-2.c: Ditto. + * gcc.target/i386/sse4_1-roundss-3.c: Ditto. + +2015-12-09 Alexander Monakov + + * gcc.c-torture/execute/980716-1.c: Avoid undefined behavior due to + passing terminating NULL as int rather than pointer. + +2015-12-09 Marek Polacek + + PR tree-optimization/66949 + * gcc.dg/torture/pr66949-1.c: New test. + * gcc.dg/torture/pr66949-2.c: New test. + +2015-12-09 James Greenhalgh + + PR rtl-optimization/67609 + * gcc.dg/torture/pr67609.c: New. + +2015-12-09 Richard Biener + + PR tree-optimization/68583 + * gcc.dg/tree-ssa/ifc-pr68583.c: New testcase. + * gcc.dg/vect/vect-72.c: Adjust. + * gcc.dg/vect/vect-cselim-2.c: Likewise. + * gcc.dg/vect/vect-strided-store-a-u8-i2.c: Likewise. + +2015-12-09 Richard Biener + + PR tree-optimization/68417 + * gcc.dg/vect/pr68417.c: New testcase. + +2015-12-09 Martin Liska + + * gcc.dg/ipa/pr68790.c: New test. + +2015-12-08 Jan Hubicka + + PR ipa/61886 + PR middle-end/25140 + * gcc.c-torture/execute/alias-3.c: New testcase. + +2015-12-08 Martin Sebor + + PR c++/68711 + * g++.dg/other/offsetof8.C: New test. + +2015-12-08 Nathan Sidwell + + * gcc.target/nvptx/trailing-init.c: New. + + * gcc.c-torture/compile/920723-1.c: Remove PTX skip. + * gcc.c-torture/compile/pr33855.c: Likewise. + * gcc.c-torture/execute/981019-1.c: Remove PTX -O2 skip. + +2015-12-08 Uros Bizjak + + PR target/68701 + * gcc.target/i386/pr68701-1.c: New test. + * gcc.target/i386/pr68701-2.c: Ditto. + +2015-12-08 Uros Bizjak + + * gcc.target/i386/sse4_1-round.h (do_round): Fix inline asm statements. + * gcc.target/i386/sse4_1-roundsd-4.c (do_round): Ditto. + * gcc.target/i386/sse4_1-roundss-4.c (do_round): Ditto. + +2015-12-08 Eric Botcazou + + * gcc.dg/sso-9.c (foo): Robustify trick. + +2015-12-08 David Malcolm + + * gcc.dg/plugin/diagnostic-test-expressions-1.c (test_alignof): + New test function. + +2015-12-08 David Malcolm + + PR c/68757 + * gcc.dg/plugin/diagnostic-test-expressions-1.c + (test_builtin_choose_expr): New test function. + (test_builtin_call_with_static_chain): Likewise. + (test_builtin_complex): Likewise. + (test_builtin_shuffle): Likewise. + +2015-12-08 Jiong Wang + + * gcc.target/aarch64/got_mem_hoist_1.c (dg-skip-if): Match big-endian + as well. + +2015-12-08 Marek Polacek + + PR c++/68116 + * g++.dg/cpp0x/pr68116.C: New test. + +2015-12-08 Kirill Yukhin + + * gfortran.dg/pr68627.f: Use '!ia32' instead' of 'lp64' in target + specifier. + +2015-12-08 Jakub Jelinek + + PR c/48088 + PR c/68657 + * c-c++-common/pr68657-1.c: New test. + * c-c++-common/pr68657-2.c: New test. + * c-c++-common/pr68657-3.c: New test. + * gcc.dg/cpp/warn-normalized-3.c: Use + -Werror=normalized=nfc instead of -Werror=normalized= + in dg-options. + +2015-12-08 Christophe Lyon + + * lib/target-supports.exp + (check_effective_target_arm_vfp_ok_nocache): New. + (check_effective_target_arm_vfp_ok): Call the new + check_effective_target_arm_vfp_ok_nocache function. + (check_effective_target_arm_fp_ok_nocache): New. + (check_effective_target_arm_fp_ok): New. + (add_options_for_arm_fp): New. + (check_effective_target_arm_crypto_ok_nocache): Require + target_arm_v8_neon_ok instead of arm32. + (check_effective_target_arm_crypto_pragma_ok_nocache): New. + (check_effective_target_arm_crypto_pragma_ok): New. + (add_options_for_arm_vfp): New. + * gcc.target/arm/attr-crypto.c: Use arm_crypto_pragma_ok effective + target. Do not force -mfloat-abi=softfp, use arm_vfp effective + target instead. + * gcc.target/arm/attr-neon-builtin-fail.c: Do not force + -mfloat-abi=softfp, use arm_fp effective target instead. + * gcc.target/arm/attr-neon-fp16.c: Likewise. Remove arm_neon_ok + dependency. + * gcc.target/arm/attr-neon2.c: Do not force -mfloat-abi=softfp, + use arm_vfp effective target instead. + * gcc.target/arm/attr-neon3.c: Likewise. + +2015-12-08 Kirill Yukhin + + * gfortran.dg/pr68627.f: Limit target to x86. + +2015-12-08 Andre Vieira + Joern Rennecke + + * gcc.dg/torture/stackalign/builtin-return-1.c: Add an + inline assembly read to make sure dummy is not optimized + away by LTO. + +2015-12-08 Ilya Enkovich + + PR tree-optimization/68766 + * gcc.dg/pr68766.c: New test. + +2015-12-07 Eric Botcazou + + * gcc.target/sparc/struct-ret-check.c: Rename to... + * gcc.target/sparc/struct-ret-check-1.c: ...this. + * gcc.target/sparc/struct-ret-check-2.c: New test. + +2015-12-07 Jakub Jelinek + + PR c++/68760 + * g++.dg/tree-ssa/pr68760.C: New test. + + PR middle-end/66726 + * g++.dg/tree-ssa/pr66726.c: Renamed to... + * g++.dg/tree-ssa/pr66726.C: ... this. + +2015-12-07 Steve Ellcey + + * gcc.target/mips/wrap-delay.c: New test. + +2015-12-07 Jason Merrill + + * lib/g++.exp: Also find -std list in GXX_TESTSUITE_STDS + environment variable. + +2015-12-07 Marek Polacek + + PR c/68668 + * gcc.dg/pr68668.c: New test. + +2015-12-07 Vladimir Makarov + + * gcc.target/i386/pr68349.c (strlen): Rename to my_strlen. + +2015-12-07 Nathan Sidwell + + * gcc.target/nvptx/abort.c: New. + +2015-12-07 David Malcolm + + * gcc.dg/diagnostic-ranges-1.c: New test file. + * gcc.dg/plugin/diagnostic-test-show-locus-bw.c + (test_percent_q_plus_d): New test function. + * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c + (test_show_locus): Rewrite test code using + rich_location::set_range. Add code to unit-test the "%q+D" + format code. + +2015-12-07 Martin Liska + + * g++.dg/ipa/pr66896.C: New test. + +2015-12-06 Dmitry Vyukov + + * gcc.dg/sancov/sancov.exp: Load asan-dg.exp. + * gcc.dg/sancov/asan.c: Don't run when asan is not available. + +2015-12-07 Nathan Sidwell + + * gcc.target/nvptx/decl-init.c: New. + +2015-12-07 Kirill Yukhin + + PR target/68627 + * gfortran.dg/pr68627.f: New test. + +2015-12-07 Kirill Yukhin + + PR target/68633 + * gcc.target/i386/pr68633.c: New test. + +2015-12-06 Victoria Stepanyan + + * gcc.target/i386/clzero.c: New. + * gcc.target/i386/sse-12.c: Add -mclzero. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Ditto. + * gcc.target/i386/sse-23.c: Ditto. + * g++.dg/other/i386-2.C: Ditto. + * g++.dg/other/i386-3.C: Ditto. + +2015-12-05 David Edelsohn + + * gcc.target/powerpc/recip-sqrtf.c: New test. + +2015-12-04 Aditya Kumar + Sebastian Pop + + * gcc.dg/graphite/id-29.c: New test. + +2015-12-04 Aditya Kumar + Sebastian Pop + + PR tree-optimization/68693 + * gfortran.dg/graphite/pr68693.f90: New test. + +2015-12-04 James Greenhalgh + + * gcc.c-torture/compile/20151204.c: New. + +2015-12-04 Nathan Sidwell + + * gcc.dg/vla-24.c: Requires alloca. + +2015-12-04 Vladimir Makarov + + PR rtl-optimization/68349 + * gcc.target/i386/pr68349.c: New test. + +2015-12-04 Nathan Sidwell + + * gcc.target/nvptx/ary-init.c: New. + +2015-12-04 David Malcolm + + * g++.dg/cpp0x/nsdmi-template14.C: Move dg-error directive. + * g++.dg/gomp/loop-1.C: Update dg-error locations. + * g++.dg/plugin/diagnostic-test-expressions-1.C: New file, adapted + from gcc.dg/plugin/diagnostic-test-expressions-1.c. + * g++.dg/plugin/plugin.exp (plugin_test_list): Add the above. + * g++.dg/template/crash55.C: Update dg-error directives. + * g++.dg/template/pseudodtor3.C: Update column numbers in dg-error + directives. + * g++.dg/template/pr64100.C: Update location of dg-error + directive. + * g++.dg/template/ref3.C: Add XFAIL (PR c++/68699). + * g++.dg/ubsan/pr63956.C: Update dg directives to reflect + improved location information. + * g++.dg/warn/pr35635.C (func3): Update location of a dg-warning. + * g++.dg/warn/Wconversion-real-integer2.C: Update location of + dg-warning; add a dg-message. + * obj-c++.dg/plugin/diagnostic-test-expressions-1.mm: New file, + based on objc.dg/plugin/diagnostic-test-expressions-1.m. + * obj-c++.dg/plugin/plugin.exp: New file, based on + objc.dg/plugin/plugin.exp. + +2015-12-04 Jakub Jelinek + + PR c/68656 + * gcc.target/i386/pr65044.c: Expect error on line 0 rather than + line 1. + * g++.dg/opt/pr34036.C: Expect warning on line 0 rather than line 1. + * gcc.dg/tree-ssa/pr23109.c: Likewise. + * gcc.dg/tree-ssa/recip-5.c: Likewise. + * gcc.dg/pr33007.c: Likewise. + +2015-12-04 Paolo Bonzini + + * c-c++-common/Wshift-overflow-1.c: Test shifting 1 out of the sign bit. + * c-c++-common/Wshift-overflow-2.c: Test shifting 1 out of the sign bit. + * c-c++-common/Wshift-overflow-3.c: Test shifting 1 out of the sign bit. + * c-c++-common/Wshift-overflow-4.c: Test shifting 1 out of the sign bit. + * c-c++-common/Wshift-overflow-6.c: Test shifting 1 out of the sign bit. + * c-c++-common/Wshift-overflow-7.c: Test shifting 1 out of the sign bit. + +2015-11-25 Nick Clifton + + * gcc.target/msp430/msp_abi_div_funcs.c: New test. + * gcc.target/msp430/mul_main.h: New test support file. + * gcc.target/msp430/mul_none.c: New test. + * gcc.target/msp430/mul_16bit.c: New test. + * gcc.target/msp430/mul_32bit.c: New test. + * gcc.target/msp430/mul_f5.c: New test. + +2015-12-04 Jakub Jelinek + + PR tree-optimization/68680 + * gcc.target/i386/pr68680.c: New test. + + PR tree-optimization/68671 + * gcc.dg/pr68671.c: New test. + +2015-12-02 Jeff Law + + * gcc.dg/tree-ssa/reassoc-43.c: New test. + +2015-12-04 Kyrylo Tkachov + + * gcc.target/aarch64/mgeneral-regs_4.c: New test. + +2015-12-04 Dominik Vogt + + * gcc.dg/Wframe-address.c: S/390 requires the -mbackchain option to + access arbitrary stack frames. + * gcc.dg/Wno-frame-address.c: Likewise. + +2015-12-04 Dominik Vogt + + * gcc.target/s390/asm-machine-1.c: Updated. + * gcc.target/s390/asm-machine-2.c: Updated. + * gcc.target/s390/asm-machine-3.c: Updated. + * gcc.target/s390/asm-machine-4.c: Updated. + +2015-12-04 Dominik Vogt + + * gcc.target/s390/asm-machine-1.c: New test. + * gcc.target/s390/asm-machine-2.c: New test. + * gcc.target/s390/asm-machine-3.c: New test. + * gcc.target/s390/asm-machine-4.c: New test. + * gcc.target/s390/target-attribute/tattr-1.c: New test. + * gcc.target/s390/target-attribute/tattr-2.c: New test. + * gcc.target/s390/target-attribute/tattr-3.c: New test. + * gcc.target/s390/target-attribute/tattr-4.c: New test. + * gcc.target/s390/target-attribute/tattr-5.c: New test. + * gcc.target/s390/target-attribute/tattr-6.c: New test. + * gcc.target/s390/target-attribute/tattr-7.c: New test. + * gcc.target/s390/target-attribute/tattr-8.c: New test. + * gcc.target/s390/target-attribute/tattr-9.c: New test. + * gcc.target/s390/target-attribute/tattr-10.c: New test. + * gcc.target/s390/target-attribute/tattr-11.c: New test. + * gcc.target/s390/target-attribute/tattr-12.c: New test. + * gcc.target/s390/target-attribute/tattr-13.c: New test. + * gcc.target/s390/target-attribute/tattr-14.c: New test. + * gcc.target/s390/target-attribute/tattr-15.c: New test. + * gcc.target/s390/target-attribute/tattr-16.c: New test. + * gcc.target/s390/target-attribute/tattr-17.c: New test. + * gcc.target/s390/target-attribute/tattr-18.c: New test. + * gcc.target/s390/target-attribute/tattr-19.c: New test. + * gcc.target/s390/target-attribute/tattr-arch-tune-1.c: New test. + * gcc.target/s390/target-attribute/tattr-arch-tune-2.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-1.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-2.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-3.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-4.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-5.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-6.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-7.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-8.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-9.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-10.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-11.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-12.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-13.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-14.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-15.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-16.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-17.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-18.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-19.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-20.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-21.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-22.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-23.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-24.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-25.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-26.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-27.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-28.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-29.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-30.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-31.c: New test. + * gcc.target/s390/target-attribute/tattr-m31-32.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-1.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-2.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-3.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-4.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-5.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-6.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-7.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-8.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-9.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-10.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-11.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-12.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-13.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-14.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-15.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-16.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-17.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-18.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-19.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-20.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-21.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-22.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-23.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-24.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-25.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-26.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-27.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-28.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-29.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-30.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-31.c: New test. + * gcc.target/s390/target-attribute/tattr-m64-32.c: New test. + * gcc.target/s390/target-attribute/tpragma-struct-vx-2.c: New test. + * gcc.target/s390/s390.exp (check_effective_target_target_attribute): + Add check whether target attribute is available. + Run test in target-attribute subdir. + * gcc.target/s390/s390-c++.exp + (check_effective_target_target_attribute): Likewise. + +2015-12-04 Kirill Yukhin + + * c-c++-common/attr-simd-4.c: New test. + * c-c++-common/attr-simd-5.c: New test. + +2015-12-04 Nathan Sidwell + + * gcc.dg/graphite/id-28.c: Requires pthreads. + +2015-12-04 Eric Botcazou + + * gcc.dg/vla-24.c: New test. + +2015-12-04 Eric Botcazou + + * gcc.target/aarch64/stack-checking.c: New test. + +2015-12-04 Richard Biener + + PR testsuite/68681 + * gcc.dg/vect/pr45752.c: Add --param tree-reassoc-width=1. + +2015-12-04 Eric Botcazou + + * gcc.dg/sso-9.c: New test. + +2015-12-04 Jakub Jelinek + + PR target/68655 + * gcc.dg/torture/vshuf-4.inc (TESTS): Add one extra test. + * gcc.dg/torture/vshuf-4.inc (TESTS): Add two extra tests. + +2015-12-03 Bernd Schmidt + + PR target/68472 + * gcc.target/i386/rop1.c: New test. + +2015-12-03 Nathan Sidwell + + * gcc.target/nvptx/decl.c: New. + * gcc.target/nvptx/uninit-decl.c: Robustify regexps. + +2015-12-03 Kyrylo Tkachov + + PR rtl-optimization/68624 + * gcc.c-torture/execute/pr68624.c: New test. + +2015-12-03 Richard Biener + + PR tree-optimization/66051 + * gcc.dg/vect/slp-42.c: New testcase. + +2015-12-02 Kirill Yukhin + + * gcc.target/i386/avx512vl-vextractf32x4-1.c: Fix scan pattern. + * gcc.target/i386/avx512vl-vextracti32x4-1.c: Fix scan pattern. + +2015-12-03 Richard Biener + + PR tree-optimization/67800 + PR tree-optimization/68333 + * gcc.target/i386/vect-pr67800.c: New testcase. + +2015-12-03 Richard Biener + + PR tree-optimization/68639 + * gfortran.fortran-torture/compile/pr68639.f90: New testcase. + +2015-12-02 Jan Hubicka + + PR ipa/68184 + * g++.dg/torture/pr68184.C: New testcase. + +2015-12-03 Jakub Jelinek + + PR preprocessor/57580 + * c-c++-common/cpp/pr57580.c: New test. + * c-c++-common/gomp/pr57580.c: New test. + +2015-12-02 Aditya Kumar + Sebastian Pop + + * gcc.dg/graphite/id-28.c: New. + +2015-12-02 Aditya Kumar + Sebastian Pop + + * gfortran.dg/graphite/id-26.f03: New. + +2015-12-02 Jason Merrill + + * lib/g++.exp: Handle --stds= option. + * lib/g++-dg.exp (g++-dg-runtest): Use it. + +2015-12-02 Tobias Burnus + Alessandro Fanfarillo + + * gfortran.dg/coarray/event_1.f90: New. + * gfortran.dg/coarray/event_2.f90: New. + +2015-12-02 Aditya Kumar + Sebastian Pop + + PR tree-optimization/68550 + * gfortran.dg/graphite/pr68550-1.f90: New. + * gfortran.dg/graphite/pr68550-2.f90: New. + +2015-12-02 Marek Polacek + + PR c/68513 + * gcc.dg/pr68513.c: New test. + +2015-12-02 Cesar Philippidis + + PR fortran/63861 + * gfortran.dg/goacc/array-reduction.f90: New test. + * gfortran.dg/goacc/assumed.f95: Update expected diagnostics. + * gfortran.dg/goacc/coarray.f95: Likewise. + * gfortran.dg/goacc/coarray_2.f90: Likewise. + * gfortran.dg/goacc/reduction-2.f95: Likewise. + * gfortran.dg/goacc/reduction.f95: Likewise. + +2015-12-02 Jakub Jelinek + + PR target/68647 + * gcc.target/i386/pr68647.c: New test. + +2015-12-02 Marek Polacek + + PR c++/68653 + * g++.dg/warn/nonnull3.C: New test. + +2015-12-02 Joseph Myers + + PR c/68162 + * gcc.dg/pr68162-1.c: New test. + +2015-12-02 Aditya Kumar + Sebastian Pop + + * gfortran.dg/graphite/run-id-3.f90: New. + +2015-12-02 David Sherwood + + * gcc.target/aarch64/fmaxmin.c: New test. + +2015-12-02 Thomas Schwinge + + * gfortran.dg/goacc/coarray.f95: XFAIL. + * gfortran.dg/goacc/coarray_2.f90: Adjust dg-excess-errors directive. + * gfortran.dg/goacc/host_data-tree.f95: Remove dg-prune-output + directive. + +2015-12-02 Thomas Schwinge + Julian Brown + James Norris + + * c-c++-common/goacc/host_data-5.c: New file. + * c-c++-common/goacc/host_data-6.c: Likewise. + +2015-12-02 Tom de Vries + + * c-c++-common/goacc/kernels-default-2.c: New test. + * c-c++-common/goacc/kernels-default.c: New test. + +2015-12-02 Tom de Vries + + * c-c++-common/goacc/kernels-alias-2.c: New test. + * c-c++-common/goacc/kernels-alias-3.c: New test. + * c-c++-common/goacc/kernels-alias-4.c: New test. + * c-c++-common/goacc/kernels-alias-5.c: New test. + * c-c++-common/goacc/kernels-alias-6.c: New test. + * c-c++-common/goacc/kernels-alias-7.c: New test. + * c-c++-common/goacc/kernels-alias-8.c: New test. + * c-c++-common/goacc/kernels-alias.c: New test. + +2015-12-02 Tom de Vries + + * c-c++-common/goacc/kernels-alias-ipa-pta-2.c: New test. + * c-c++-common/goacc/kernels-alias-ipa-pta-3.c: New test. + * c-c++-common/goacc/kernels-alias-ipa-pta.c: New test. + +2015-12-02 Richard Biener + + * gcc.dg/vect/vect-strided-a-u8-i8-gap7-big-array.c: Fix uninitialized + y guarding a call to abort (). + * gcc.dg/vect/vect-strided-a-u8-i8-gap7.c: Likewise. + * gcc.dg/vect/vect-strided-u8-i8-gap7-big-array.c: Likewise. + +2015-12-02 Marek Polacek + + PR middle-end/68570 + * gcc.dg/torture/pr68570.c: New test. + +2015-12-02 Richard Biener + + PR tree-optimization/68625 + * gcc.dg/torture/pr68625.c: New testcase. + +2015-12-02 Richard Sandiford + + * gcc.target/i386/pr68432-1.c: New test. + * gcc.target/i386/pr68432-2.c: Likewise. + * gcc.target/i386/pr68432-3.c: Likewise. + +2015-12-02 Andreas Krebbel + + * gcc.target/s390/zvector/vec-splat-2.c: New test. + +2015-12-02 Andreas Krebbel + + * gcc.target/s390/vector/vec-vrepi-1.c: New test. + +2015-12-02 Andreas Krebbel + + * gcc.target/s390/zvector/vec-splat-1.c: New test. + +2015-12-02 Andreas Krebbel + + * gcc.target/s390/bswap-1.c (foo64c, foo32a, foo32c): New functions. + * gcc.target/s390/bswaphi-1.c: New test. + +2015-12-02 Andreas Krebbel + + * lib/target-supports.exp: Add s390 and s390x to the list of long + long atomic targets. + +2015-12-02 Andreas Krebbel + + * gcc.dg/optimize-bswapdi-1.c: Force using -mzarch on s390 and + s390x to enable 64 bit bswap patterns. + * gcc.dg/optimize-bswapdi-2.c: Likewise. + * gcc.dg/optimize-bswapdi-3.c: Likewise. + * lib/target-supports.exp: Add a comment for s390. + +2015-12-02 Andreas Krebbel + + * gcc.dg/builtin-bswap-6a.c: Add -march=z900 for s390 and s390x in + order to make -m31 work. + * gcc.dg/optimize-bswapsi-1.c: Likewise. + * gcc.dg/optimize-bswapsi-2.c: Likewise. + +2015-12-02 Jakub Jelinek + + PR c/68533 + * gcc.dg/pr68533.c: New test. + +2015-12-01 Richard Sandiford + + PR tree-optimization/68577 + * gcc.dg/vect/pr68577.c: New test. + +2015-12-01 Nathan Sidwell + + * gcc.target/nvptx/uninit-decl.c: New. + +2015-12-01 Jan Hubicka + + * gcc.c-torture/execute/alias-1.c: New testcase. + +2015-12-01 Marek Polacek + + PR tree-optimization/64769 + * c-c++-common/gomp/pr64769.c: New test. + +2015-12-01 Bill Schmidt + + * gcc.target/powerpc/swaps-p8-22.c: New. + +2015-12-01 Marek Polacek + + PR tree-optimization/67916 + * gcc.dg/torture/pr67916.c: New test. + +2015-12-01 Marek Polacek + + PR middle-end/68582 + * c-c++-common/pr68582.c: New test. + +2015-12-01 Richard Sandiford + + PR tree-optimization/68474 + * gcc.dg/pr68474.c: New test. + +2015-12-01 Christian Bruel + + PR target/68617 + * gcc.target/arm/attr-unaligned-load-ice.c: New test. + +2015-12-01 Tom de Vries + + * gcc.dg/pr46032.c: Move to ... + * gcc.dg/vect/pr46032.c: here. Add dg-require-effective-target + vect_int. + * gcc.dg/pr46032-2.c: Move to ... + * gcc.dg/gomp/pr46032-2.c: ... here. + Drop dg-require-effective-target fopenmp. + * gcc.dg/pr46032-3.c: Move to ... + * gcc.dg/gomp/pr46032-3.c: ... here. + Drop dg-require-effective-target fopenmp. + +2015-12-01 Cesar Philippidis + + * gfortran.dg/goacc/gang-static.f95: Add tests for gang num arguments. + * gfortran.dg/goacc/loop-2.f95: Update expected diagnostics. + * gfortran.dg/goacc/loop-6.f95: Likewise. + * gfortran.dg/goacc/loop-7.f95: New test. + * gfortran.dg/goacc/reduction-2.f95: New test. + +2015-12-01 Richard Biener + + PR tree-optimization/68379 + * gcc.dg/torture/pr68379.c: New testcase. + * gfortran.dg/pr68379-1.f90: Likewise. + * gfortran.dg/pr68379-2.f: Likewise. + +2015-12-01 Christophe Lyon + + * gcc.dg/pr46032.c: Add dg-require-effective-target fopenmp. + * gcc.dg/pr46032-2.c: Likewise. + * gcc.dg/pr46032-3.c: Likewise. + +2015-12-01 Richard Biener + + PR ipa/68470 + * g++.dg/torture/pr68470.C: New testcase. + +2015-12-01 Ilya Enkovich + + PR middle-end/68595 + * gcc.dg/pr68595.c: New test. + +2015-12-01 Christian Bruel + + * gcc.target/arm/ftest-armv6-thumb.c: Remove NEED_ARM_FEATURE_UNALIGNED. + * gcc.target/arm/ftest-armv6k-thumb.c: Likewise. + * gcc.target/arm/ftest-armv6z-thumb.c: Likewise. + +2015-12-01 Bin Cheng + + PR tree-optimization/68529 + * gcc.dg/tree-ssa/pr68529-1.c: New test. + * gcc.dg/tree-ssa/pr68529-2.c: New test. + * gcc.dg/tree-ssa/pr68529-3.c: New test. + +2015-11-30 Jan Hubicka + + * gcc.dg/lto/alias-1_0.c: New testcase. + * gcc.dg/lto/alias-1_1.c: New testcase. + +2015-11-30 Aditya Kumar + Sebastian Pop + + PR tree-optimization/68565 + * gfortran.dg/graphite/pr68565.f90: New. + +2015-11-30 Aditya Kumar + Sebastian Pop + + * gcc.dg/graphite/pr35356-1.c: Adjust pattern. + +2015-11-30 Cesar Philippidis + Nathan Sidwell + + * gfortran.dg/goacc/routine-3.f90: New test. + * gfortran.dg/goacc/routine-4.f90: New test. + * gfortran.dg/goacc/routine-5.f90: New test. + * gfortran.dg/goacc/routine-6.f90: New test. + * gfortran.dg/goacc/subroutines: New test. + +2015-11-30 Tom de Vries + + * gcc.dg/pr46032-2.c: New test. + * gcc.dg/pr46032-3.c: New test. + +2015-11-30 Charles Baylis + + PR target/63870 + * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f16_indices_1.c (f_vld2_lane_f16): Remove xfails for arm targets. + * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f32_indices_1.c (f_vld2_lane_f32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f64_indices_1.c (f_vld2_lane_f64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_p8_indices_1.c (f_vld2_lane_p8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s16_indices_1.c (f_vld2_lane_s16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s32_indices_1.c (f_vld2_lane_s32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s64_indices_1.c (f_vld2_lane_s64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s8_indices_1.c (f_vld2_lane_s8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u16_indices_1.c (f_vld2_lane_u16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u32_indices_1.c (f_vld2_lane_u32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u64_indices_1.c (f_vld2_lane_u64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u8_indices_1.c (f_vld2_lane_u8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f16_indices_1.c (f_vld2q_lane_f16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f32_indices_1.c (f_vld2q_lane_f32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f64_indices_1.c (f_vld2q_lane_f64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_p8_indices_1.c (f_vld2q_lane_p8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s16_indices_1.c (f_vld2q_lane_s16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s32_indices_1.c (f_vld2q_lane_s32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s64_indices_1.c (f_vld2q_lane_s64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s8_indices_1.c (f_vld2q_lane_s8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u16_indices_1.c (f_vld2q_lane_u16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u32_indices_1.c (f_vld2q_lane_u32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u64_indices_1.c (f_vld2q_lane_u64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u8_indices_1.c (f_vld2q_lane_u8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f16_indices_1.c (f_vld3_lane_f16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f32_indices_1.c (f_vld3_lane_f32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f64_indices_1.c (f_vld3_lane_f64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_p8_indices_1.c (f_vld3_lane_p8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s16_indices_1.c (f_vld3_lane_s16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s32_indices_1.c (f_vld3_lane_s32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s64_indices_1.c (f_vld3_lane_s64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s8_indices_1.c (f_vld3_lane_s8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u16_indices_1.c (f_vld3_lane_u16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u32_indices_1.c (f_vld3_lane_u32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u64_indices_1.c (f_vld3_lane_u64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u8_indices_1.c (f_vld3_lane_u8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f16_indices_1.c (f_vld3q_lane_f16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f32_indices_1.c (f_vld3q_lane_f32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f64_indices_1.c (f_vld3q_lane_f64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_p8_indices_1.c (f_vld3q_lane_p8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s16_indices_1.c (f_vld3q_lane_s16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s32_indices_1.c (f_vld3q_lane_s32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s64_indices_1.c (f_vld3q_lane_s64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s8_indices_1.c (f_vld3q_lane_s8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u16_indices_1.c (f_vld3q_lane_u16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u32_indices_1.c (f_vld3q_lane_u32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u64_indices_1.c (f_vld3q_lane_u64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u8_indices_1.c (f_vld3q_lane_u8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f16_indices_1.c (f_vld4_lane_f16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f32_indices_1.c (f_vld4_lane_f32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f64_indices_1.c (f_vld4_lane_f64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_p8_indices_1.c (f_vld4_lane_p8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s16_indices_1.c (f_vld4_lane_s16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s32_indices_1.c (f_vld4_lane_s32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s64_indices_1.c (f_vld4_lane_s64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s8_indices_1.c (f_vld4_lane_s8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u16_indices_1.c (f_vld4_lane_u16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u32_indices_1.c (f_vld4_lane_u32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u64_indices_1.c (f_vld4_lane_u64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u8_indices_1.c (f_vld4_lane_u8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f16_indices_1.c (f_vld4q_lane_f16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f32_indices_1.c (f_vld4q_lane_f32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f64_indices_1.c (f_vld4q_lane_f64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_p8_indices_1.c (f_vld4q_lane_p8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s16_indices_1.c (f_vld4q_lane_s16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s32_indices_1.c (f_vld4q_lane_s32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s64_indices_1.c (f_vld4q_lane_s64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s8_indices_1.c (f_vld4q_lane_s8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u16_indices_1.c (f_vld4q_lane_u16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u32_indices_1.c (f_vld4q_lane_u32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u64_indices_1.c (f_vld4q_lane_u64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u8_indices_1.c (f_vld4q_lane_u8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f16_indices_1.c (f_vst2_lane_f16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f32_indices_1.c (f_vst2_lane_f32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f64_indices_1.c (f_vst2_lane_f64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_p8_indices_1.c (f_vst2_lane_p8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s16_indices_1.c (f_vst2_lane_s16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s32_indices_1.c (f_vst2_lane_s32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s64_indices_1.c (f_vst2_lane_s64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s8_indices_1.c (f_vst2_lane_s8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u16_indices_1.c (f_vst2_lane_u16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u32_indices_1.c (f_vst2_lane_u32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u64_indices_1.c (f_vst2_lane_u64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u8_indices_1.c (f_vst2_lane_u8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f16_indices_1.c (f_vst2q_lane_f16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f32_indices_1.c (f_vst2q_lane_f32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f64_indices_1.c (f_vst2q_lane_f64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_p8_indices_1.c (f_vst2q_lane_p8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s16_indices_1.c (f_vst2q_lane_s16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s32_indices_1.c (f_vst2q_lane_s32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s64_indices_1.c (f_vst2q_lane_s64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s8_indices_1.c (f_vst2q_lane_s8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u16_indices_1.c (f_vst2q_lane_u16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u32_indices_1.c (f_vst2q_lane_u32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u64_indices_1.c (f_vst2q_lane_u64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u8_indices_1.c (f_vst2q_lane_u8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f16_indices_1.c (f_vst3_lane_f16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f32_indices_1.c (f_vst3_lane_f32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f64_indices_1.c (f_vst3_lane_f64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_p8_indices_1.c (f_vst3_lane_p8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s16_indices_1.c (f_vst3_lane_s16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s32_indices_1.c (f_vst3_lane_s32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s64_indices_1.c (f_vst3_lane_s64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s8_indices_1.c (f_vst3_lane_s8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u16_indices_1.c (f_vst3_lane_u16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u32_indices_1.c (f_vst3_lane_u32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u64_indices_1.c (f_vst3_lane_u64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u8_indices_1.c (f_vst3_lane_u8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f16_indices_1.c (f_vst3q_lane_f16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f32_indices_1.c (f_vst3q_lane_f32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f64_indices_1.c (f_vst3q_lane_f64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_p8_indices_1.c (f_vst3q_lane_p8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s16_indices_1.c (f_vst3q_lane_s16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s32_indices_1.c (f_vst3q_lane_s32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s64_indices_1.c (f_vst3q_lane_s64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s8_indices_1.c (f_vst3q_lane_s8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u16_indices_1.c (f_vst3q_lane_u16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u32_indices_1.c (f_vst3q_lane_u32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u64_indices_1.c (f_vst3q_lane_u64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u8_indices_1.c (f_vst3q_lane_u8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f16_indices_1.c (f_vst4_lane_f16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f32_indices_1.c (f_vst4_lane_f32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f64_indices_1.c (f_vst4_lane_f64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_p8_indices_1.c (f_vst4_lane_p8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s16_indices_1.c (f_vst4_lane_s16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s32_indices_1.c (f_vst4_lane_s32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s64_indices_1.c (f_vst4_lane_s64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s8_indices_1.c (f_vst4_lane_s8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u16_indices_1.c (f_vst4_lane_u16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u32_indices_1.c (f_vst4_lane_u32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u64_indices_1.c (f_vst4_lane_u64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u8_indices_1.c (f_vst4_lane_u8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f16_indices_1.c (f_vst4q_lane_f16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f32_indices_1.c (f_vst4q_lane_f32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f64_indices_1.c (f_vst4q_lane_f64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_p8_indices_1.c (f_vst4q_lane_p8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s16_indices_1.c (f_vst4q_lane_s16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s32_indices_1.c (f_vst4q_lane_s32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s64_indices_1.c (f_vst4q_lane_s64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s8_indices_1.c (f_vst4q_lane_s8): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u16_indices_1.c (f_vst4q_lane_u16): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u32_indices_1.c (f_vst4q_lane_u32): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u64_indices_1.c (f_vst4q_lane_u64): Ditto. + * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u8_indices_1.c (f_vst4q_lane_u8): Ditto. + +2015-11-30 Tom de Vries + + PR tree-optimization/46032 + * gcc.dg/pr46032.c: New test. + +2015-11-30 Richard Biener + + PR tree-optimization/68592 + * gfortran.dg/pr68592.f: New testcase. + +2015-11-30 Paul Thomas + + PR fortran/68534 + * gfortran.dg/submodule_13.f08: New test. + +2015-11-30 Andreas Krebbel + + * gcc.target/s390/load-relative-check.c: Add scan patterns for + -m31. + +2015-11-30 Andreas Krebbel + + * gcc.target/s390/load-relative-check.c: Add -mzarch. + +2015-11-30 Eric Botcazou + + * gcc.dg/dump-ada-spec-1.c: Move to... + * c-c++-common/dump-ada-spec-1.c: ...here. + * c-c++-common/dump-ada-spec-2.c: New test. + +2015-11-30 Eric Botcazou + + * gnat.dg/loop_optimization22.ad[sb]: New test. + +2015-11-30 Eric Botcazou + + * gnat.dg/specs/rep_clause5.ads: New test. + +2015-11-29 Jan Hubicka + + PR c/67106 + * gcc.c-torture/compile/pr67106.c: New testcase. + +2015-11-29 Jan Hubicka + + PR c/67581 + * g++.dg/torture/pr67581.C: New testcase. + +2015-11-27 Richard Biener + + PR tree-optimization/68559 + * gcc.dg/vect/slp-perm-4.c: Adjust again. + * gcc.dg/vect/pr45752.c: Likewise. + +2015-11-27 Jakub Jelinek + + PR rtl-optimization/68250 + * gcc.c-torture/execute/pr68250.c: New test. + +2015-11-27 Marek Polacek + + * gcc.dg/pr63568.c: Convert to GIMPLE. + +2015-11-27 Kyrylo Tkachov + + PR rtl-optimization/68506 + * gcc.c-torture/execute/pr68506.c: New test. + +2015-11-27 Jakub Jelinek + + PR c/63326 + * gcc.dg/gomp/barrier-2.c (f2): Expect another error after label. + * c-c++-common/gomp/pr63326.c: New test. + +2015-11-27 Richard Biener + + PR tree-optimization/68553 + * gcc.dg/vect/pr45752.c: Adjust. + * gcc.dg/vect/slp-perm-4.c: Likewise. + +2015-11-26 Martin Sebor + + * g++.dg/init/new45.C (cookie_size): New constant set to a value + appropriate for the target. + (operator new[]): Use it. + +2015-11-26 Paolo Carlini + + PR c++/67238 + * g++.dg/cpp0x/pr67238.C: New. + +2015-11-26 Martin Sebor + + * g++.dg/pr67876.C: Remove duplicate content. + +2015-11-26 Andreas Arnez + + * g++.dg/guality/pr67192.C: New test. + +2015-11-26 Matthew Wahab + + * gcc.target/aarch64/advsimd-intrinsics/vqrdmlXh_lane.inc: New file, + support code for vqrdml{as}h_lane tests. + * gcc.target/aarch64/advsimd-intrinsics/vqrdmlah_lane.c: New. + * gcc.target/aarch64/advsimd-intrinsics/vqrdmlsh_lane.c: New. + +2015-11-26 Matthew Wahab + + * gcc.target/aarch64/advsimd-intrinsics/vqrdmlXh.inc: New file, + support code for vqrdml{as}h tests. + * gcc.target/aarch64/advsimd-intrinsics/vqrdmlah.c: New. + * gcc.target/aarch64/advsimd-intrinsics/vqrdmlsh.c: New. + +2015-11-26 Matthew Wahab + + * lib/target-supports.exp (add_options_for_arm_v8_1a_neon): New. + (check_effective_target_arm_arch_FUNC_ok) + (add_options_for_arm_arch_FUNC) + (check_effective_target_arm_arch_FUNC_multilib): Add "armv8.1-a" + to the list to be generated. + (check_effective_target_arm_v8_1a_neon_ok_nocache): New. + (check_effective_target_arm_v8_1a_neon_ok): New. + (check_effective_target_arm_v8_1a_neon_hw): New. + +2015-11-26 Nathan Sidwell + + * gcc.target/nvptx/proto-1.c: Adjust expected asm. + +2015-11-26 Richard Biener + + PR testsuite/68555 + * gcc.dg/vect/bb-slp-10.c: Adjust pattern, use target selector + and not XFAIL. + +2015-11-26 Richard Biener + + PR testsuite/68554 + * gcc.dg/vect/bb-slp-subgroups-2.c: Require vect_perm. + +2015-11-26 Paolo Carlini + + PR c++/67249 + * g++.dg/concepts/pr67249.C: New. + +2015-11-26 Richard Biener + + PR testsuite/66799 + * gcc.dg/vect/pr20122.c (main): Do not align Kernel, do not + vectorize init loop and adjust expected outcome. + +2015-11-26 Richard Biener + + PR testsuite/67203 + * g++.dg/tree-ssa/pr61034.C: Make expected optimization result + dependent on PUSH_ARGS_REVERSED. Drop optimization level and + also monitor final optimization result. + +2015-11-26 Jakub Jelinek + + PR rtl-optimization/68249 + PR rtl-optimization/68321 + * gcc.c-torture/execute/pr68249.c: New test. + * gcc.c-torture/execute/pr68321.c: New test. + +2015-11-26 Ilya Enkovich + + PR target/68416 + * gcc.target/i386/mpx/pr68416.c: New test. + +2015-11-26 Paolo Carlini + + PR c++/67313 + * g++.dg/cpp0x/no-weak1.C: New. + +2015-11-26 Jakub Jelinek + + PR tree-optimization/68128 + * gcc.dg/gomp/pr68128-1.c: New test. + * gcc.dg/gomp/pr68128-2.c: New test. + +2015-11-26 Kyrylo Tkachov + + PR rtl-optimization/67226 + * gcc.c-torture/execute/pr67226.c: New test. + +2015-11-26 Jakub Jelinek + + PR c++/68508 + * g++.dg/ubsan/pr68508.C: New test. + +2015-11-25 Martin Sebor + + PR c++/67876 + * g++.dg/pr67876.C: New test. + +2015-11-25 Aditya Kumar + Sebastian Pop + + PR tree-optimization/68453 + * gfortran.dg/graphite/pr68453.f90: New. + +2015-11-25 Martin Sebor + + PR c/66516 + * g++.dg/addr_builtin-1.C: New test (left out of initial commit). + * gcc.dg/addr_builtin-1.c: Same. + +2015-11-25 Michael Meissner + + * gcc.target/powerpc/dform-1.c: New test. + * gcc.target/powerpc/dform-2.c: Likewise. + +2015-11-23 Jan Hubicka + + * gfortran.dg/lto/bind_c-6_0.f90: New testcase. + * gfortran.dg/lto/bind_c-6_1.c: New testcase. + * g++.dg/lto/20100603-1_0.C: Add -Wno-lto-type-mismatch. + +2015-11-25 Tom de Vries + + * g++.dg/tree-ssa/copyprop-1.C: Update after adding new dce1. + * gcc.dg/pr23911.c: Same. + * gcc.dg/tree-ssa/20030709-2.c: Same. + * gcc.dg/tree-ssa/20030731-2.c: Same. + * gcc.dg/tree-ssa/20040729-1.c: Same. + * gcc.dg/tree-ssa/cfgcleanup-1.c: Same. + * gcc.dg/tree-ssa/loop-36.c: Same. + * gcc.dg/tree-ssa/pr21086.c: Same. + * gcc.dg/tree-ssa/ssa-dce-1.c: Same. + * gcc.dg/tree-ssa/ssa-dce-2.c: Same. + * gcc.dg/vect/pr26359.c: Same. + * c-c++-common/restrict-2.c: Update after adding new lim1. + * c-c++-common/restrict-4.c: Same. + * g++.dg/tree-ssa/pr33615.C: Same. + * g++.dg/tree-ssa/restrict1.C: Same. + * gcc.dg/tm/pub-safety-1.c: Same. + * gcc.dg/tm/reg-promotion.c: Same. + * gcc.dg/tree-ssa/20050314-1.c: Same. + * gcc.dg/tree-ssa/loop-32.c: Same. + * gcc.dg/tree-ssa/loop-33.c: Same. + * gcc.dg/tree-ssa/loop-34.c: Same. + * gcc.dg/tree-ssa/loop-35.c: Same. + * gcc.dg/tree-ssa/loop-7.c: Same. + * gcc.dg/tree-ssa/pr23109.c: Same. + * gcc.dg/tree-ssa/restrict-3.c: Same. + * gcc.dg/tree-ssa/restrict-5.c: Same. + * gcc.dg/tree-ssa/ssa-lim-1.c: Same. + * gcc.dg/tree-ssa/ssa-lim-10.c: Same. + * gcc.dg/tree-ssa/ssa-lim-11.c: Same. + * gcc.dg/tree-ssa/ssa-lim-12.c: Same. + * gcc.dg/tree-ssa/ssa-lim-2.c: Same. + * gcc.dg/tree-ssa/ssa-lim-3.c: Same. + * gcc.dg/tree-ssa/ssa-lim-6.c: Same. + * gcc.dg/tree-ssa/ssa-lim-7.c: Same. + * gcc.dg/tree-ssa/ssa-lim-8.c: Same. + * gcc.dg/tree-ssa/ssa-lim-9.c: Same. + * gcc.dg/tree-ssa/structopt-1.c: Same. + * gfortran.dg/pr32921.f: Same. + * g++.dg/tree-ssa/pr19637.C: Update after adding new dom1. + * g++.dg/tree-ssa/pr61009.C: Same. + * g++.dg/tree-ssa/ssa-dom.C: Same. + * gcc.dg/pr20115-1.c: Same. + * gcc.dg/tree-prof/20050826-2.c: Same. + * gcc.dg/tree-prof/cmpsf-1.c: Same. + * gcc.dg/tree-ssa/20030821-1.c: Same. + * gcc.dg/tree-ssa/20030922-2.c: Same. + * gcc.dg/tree-ssa/20031022-1.c: Same. + * gcc.dg/tree-ssa/20040615-1.c: Same. + * gcc.dg/tree-ssa/20040624-1.c: Same. + * gcc.dg/tree-ssa/pr21417.c: Same. + * gcc.dg/tree-ssa/pr61607.c: Same. + * gcc.dg/tree-ssa/slsr-27.c: Same. + * gcc.dg/tree-ssa/slsr-28.c: Same. + * gcc.dg/tree-ssa/slsr-29.c: Same. + * gcc.dg/tree-ssa/ssa-dom-branch-1.c: Same. + * gcc.dg/tree-ssa/ssa-dom-cse-3.c: Same. + * gcc.dg/tree-ssa/ssa-dom-thread-1.c: Same. + * gcc.dg/tree-ssa/ssa-dom-thread-2a.c: Same. + * gcc.dg/tree-ssa/ssa-dom-thread-2b.c: Same. + * gcc.dg/tree-ssa/ssa-dom-thread-2c.c: Same. + * gcc.dg/tree-ssa/ssa-dom-thread-2d.c: Same. + * gcc.dg/tree-ssa/ssa-dom-thread-2e.c: Same. + * gcc.dg/tree-ssa/ssa-dom-thread-2f.c: Same. + * gcc.dg/tree-ssa/ssa-dom-thread-4.c: Same. + * gcc.dg/tree-ssa/ssa-dom-thread-5.c: Same. + * gcc.dg/tree-ssa/ssa-dom-thread-6.c: Same. + * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Same. + * gcc.dg/tree-ssa/ssa-thread-12.c: Same. + * gcc.dg/tree-ssa/vrp47.c: Same. + * gcc.dg/tree-ssa/copy-headers.c: Update after adding ch1. + * gcc.dg/tree-ssa/foldconst-2.c: Same. + * gcc.dg/tree-ssa/loop-40.c: Same. + * gcc.dg/gomp/notify-new-function-3.c: Update after adding ompexpssa1. + +2015-11-25 Paolo Carlini + + * g++.dg/cpp0x/constexpr-array13.C: Fix. + +2015-11-25 David Edelsohn + + * gfortran.dg/nint_p7.f90: New testcase. + +2015-11-25 Markus Trippelsdorf + Paolo Carlini + + PR c++/68087 + * g++.dg/cpp0x/constexpr-array13.C: New. + +2015-11-25 Ilmir Usmanov + Cesar Philippidis + + PR fortran/63858 + * goacc/omp-fixed.f: New test. + * goacc/omp.f95: Add check for mis-matched omp and acc continuations. + +2015-11-25 Richard Biener + + PR middle-end/68528 + * gcc.dg/torture/pr68528.c: New testcase. + +2015-11-25 Paolo Carlini + + PR c++/58910 + * g++.dg/cpp0x/constexpr-tuple2.C: New. + +2015-11-25 Kyrylo Tkachov + + PR rtl-optimization/68435 + * gcc.dg/pr68435.c: New test. + +2015-11-25 Richard Biener + + PR tree-optimization/68517 + * gcc.dg/torture/pr68517.c: New testcase. + +2015-11-25 Jakub Jelinek + + PR target/67089 + * gcc.dg/pr67089-1.c: New test. + * gcc.dg/pr67089-2.c: New test. + * gcc.dg/pr67089-3.c: New test. + * gcc.dg/pr67089-4.c: New test. + * gcc.dg/pr67089-5.c: New test. + * gcc.dg/pr67089-6.c: New test. + * gcc.dg/pr67089-7.c: New test. + +2015-11-25 Richard Biener + + PR tree-optimization/68502 + * gcc.dg/vect/pr68502-1.c: New testcase. + * gcc.dg/vect/pr68502-2.c: Likewise. + +2015-11-24 Michael Collison + + * gcc.target/aarch64/saddw-1.c: New test. + * gcc.target/aarch64/saddw-2.c: New test. + * gcc.target/aarch64/uaddw-1.c: New test. + * gcc.target/aarch64/uaddw-2.c: New test. + * gcc.target/aarch64/uaddw-3.c: New test. + * lib/target-support.exp + (check_effective_target_vect_widen_sum_hi_to_si_pattern): + Add aarch64 to list of support targets. + +2015-11-24 Steve Ellcey + + * gcc.target/mips/frame-header-4.c: New test. + +2015-11-24 Steven G. Kargl + + PR fortran/68486 + * gfortran.dg/simplify_cshift_3.f90 + +2015-11-24 Paolo Carlini + + PR c++/68278 + * g++.dg/cpp1y/pr68278.C: New. + +2015-11-24 Paolo Carlini + + PR c++/68388 + * g++.dg/cpp1y/pr68388.C: New. + +2015-11-24 Aditya Kumar + Sebastian Pop + + PR tree-optimization/67984 + * gcc.dg/graphite/pr67984.c: New. + +2015-11-24 Michael Matz + + PR rtl-optimization/68392 + * g++.dg/pr68392.C: New test. + +2015-11-24 Nathan Sidwell + + * gcc.dg/sso/dump.h: Force IO to be putchar function call on nvptx. + +2015-11-24 Kyrylo Tkachov + + PR rtl-optimization/68381 + * gcc.c-torture/execute/pr68381.c: New test. + +2015-11-24 Kyrylo Tkachov + + * gcc.target/aarch64/cmpimm_branch_1.c: New test. + * gcc.target/aarch64/cmpimm_cset_1.c: Likewise. + +2015-11-24 Mikhail Maltsev + + PR target/68497 + * gcc.target/i386/pr68497.c: New test. + +2015-11-24 Bilyan Borisov + + * gcc.target/aarch64/advsimd-intrinsics/vmulx_lane_f32_indices_1.c: + New. + * gcc.target/aarch64/advsimd-intrinsics/vmulx_lane_f64_indices_1.c: + New. + * gcc.target/aarch64/advsimd-intrinsics/vmulx_laneq_f32_indices_1.c: + New. + * gcc.target/aarch64/advsimd-intrinsics/vmulx_laneq_f64_indices_1.c: + New. + * gcc.target/aarch64/advsimd-intrinsics/vmulxd_lane_f64_indices_1.c: + New. + * gcc.target/aarch64/advsimd-intrinsics/vmulxd_laneq_f64_indices_1.c: + New. + * gcc.target/aarch64/advsimd-intrinsics/vmulxq_lane_f32_indices_1.c: + New. + * gcc.target/aarch64/advsimd-intrinsics/vmulxq_lane_f64_indices_1.c: + New. + * gcc.target/aarch64/advsimd-intrinsics/vmulxq_laneq_f32_indices_1.c: + New. + * gcc.target/aarch64/advsimd-intrinsics/vmulxq_laneq_f64_indices_1.c: + New. + * gcc.target/aarch64/advsimd-intrinsics/vmulxs_lane_f32_indices_1.c: + New. + * gcc.target/aarch64/advsimd-intrinsics/vmulxs_laneq_f32_indices_1.c: + New. + +2015-11-24 Kyrylo Tkachov + + PR middle-end/68375 + * gcc.dg/pr68375.c: New test. + +2015-11-24 Jakub Jelinek + + PR target/68483 + * gcc.target/i386/pr68483-1.c: New test. + * gcc.target/i386/pr68483-2.c: New test. + +2015-11-24 Ilya Enkovich + + PR c/68337 + * gcc.target/i386/mpx/pr68337-1.c: New test. + * gcc.target/i386/mpx/pr68337-2.c: New test. + +2015-11-24 Kyrylo Tkachov + + PR rtl-optimization/68194 + PR rtl-optimization/68328 + PR rtl-optimization/68185 + * gcc.c-torture/execute/pr68185.c: New test. + * gcc.c-torture/execute/pr68328.c: Likewise. + +2015-11-23 Jan Hubicka + + * gcc.c-torture/execute/lto-tbaa-1.c: New testcase. + +2015-11-23 David Malcolm + + PR objc/68438 + * objc.dg/plugin: New subdirectory. + * objc.dg/plugin/diagnostic-test-expressions-1.m: New test file. + * objc.dg/plugin/plugin.exp: New file, based on + gcc.dg/plugin/plugin.exp. + +2015-11-23 Aditya Kumar + Sebastian Pop + + PR tree-optimization/68493 + * gcc.dg/graphite/pr68493.c: New. + +2015-11-23 Aditya Kumar + Sebastian Pop + + PR tree-optimization/68279 + * gfortran.dg/graphite/pr68279.f90: New. + +2015-11-23 Marek Polacek + + PR tree-optimization/68455 + * gcc.dg/tree-ssa/pr68455.c: New test. + +2015-11-23 Richard Biener + + PR tree-optimization/68465 + * gcc.dg/tree-ssa/ssa-fre-52.c: New testcase. + +2015-11-23 Kyrylo Tkachov + + PR target/68363 + * gcc.target/aarch64/pr68363_1.c: New test. + +2015-11-23 Bilyan Borisov + + * gcc.target/aarch64/simd/vmulx.x: New. + * gcc.target/aarch64/simd/vmulx_f64_2.c: Likewise. + * gcc.target/aarch64/simd/vmulxd_f64_2.c: Likewise. + * gcc.target/aarch64/simd/vmulxs_f32_2.c: Likewise. + +2015-11-23 Igor Zamyatin + + PR c++/68001 + * g++.dg/cilk-plus/CK/pr68001.cc: New test. + +2015-11-23 Richard Biener + Jiong Wang + + PR tree-optimization/68317 + PR tree-optimization/68326 + * gcc.dg/pr68317.c: New testcase. + +2015-11-23 Ilya Enkovich + + PR tree-optimization/68327 + * gcc.dg/pr68327.c: New test. + +2015-11-23 Tom de Vries + + PR tree-optimization/68460 + * gcc.dg/autopar/pr68460.c: New test. + +2015-11-23 Maxim Ostapenko + + * c-c++-common/asan/halt_on_error-1.c: New test. + * c-c++-common/asan/halt_on_error-2.c: Likewise. + +2015-11-23 Richard Biener + + PR tree-optimization/68482 + * gcc.dg/vect/pr68482.c: New testcase. + +2015-11-23 Richard Biener + + PR tree-optimization/68445 + * gcc.dg/vect/pr68445.c: New testcase. + +2015-11-23 Robin Dapp + + * gcc.target/s390/load-relative-check.c: New test to check + generation of load relative instructions. + +2015-11-22 Jerry DeLisle + + * gfortran.dg/fmt_t_8.f90: New test. + +2015-11-23 Kugan Vivekanandarajah + + PR target/68390 + * gcc/testsuite/gcc.c-torture/execute/pr68390.c: New test. + +2015-11-22 Jerry DeLisle + + * gfortran.dg/fmt_g0_1.f08: Update test. Leading zero. + +2015-11-22 Steven G. Kargl + + PR fortran/68486 + * gfortran.dg/simplify_cshift_2.f90: New test. + +2015-11-22 James Norris + Cesar Philippidis + + * gfortran.dg/goacc/declare-1.f95: Update test. + * gfortran.dg/goacc/declare-2.f95: New test. + +2015-11-22 Bilyan Borisov + + * gcc.target/aarch64/simd/vmulx_lane_f32_1.c: New. + * gcc.target/aarch64/simd/vmulx_lane_f64_1.c: New. + * gcc.target/aarch64/simd/vmulx_laneq_f32_1.c: New. + * gcc.target/aarch64/simd/vmulx_laneq_f64_1.c: New. + * gcc.target/aarch64/simd/vmulxq_lane_f32_1.c: New. + * gcc.target/aarch64/simd/vmulxq_lane_f64_1.c: New. + * gcc.target/aarch64/simd/vmulxq_laneq_f32_1.c: New. + * gcc.target/aarch64/simd/vmulxq_laneq_f64_1.c: New. + * gcc.target/aarch64/simd/vmulxs_lane_f32_1.c: New. + * gcc.target/aarch64/simd/vmulxs_laneq_f32_1.c: New. + * gcc.target/aarch64/simd/vmulxd_lane_f64_1.c: New. + * gcc.target/aarch64/simd/vmulxd_laneq_f64_1.c: New. + +2015-11-21 Steven G. Kargl + + * gfortran.dg/simplify_cshift_1.f90: New test. + +2015-11-21 Nathan Sidwell + + * gcc.dg/atomic-generic.c: Include . + +2015-11-21 David Edelsohn + + * gfortran.dg/submodule_6.f08: Add dg-require-effective-target lto. + +2015-11-21 Uros Bizjak + + * g++.dg/init/vbase1.C: Also run on i?86-*-*. + +2015-11-21 Jakub Jelinek + + PR debug/66432 + * gcc.dg/debug/pr66432.c: New test. + +2015-11-20 Ian Lance Taylor + + PR go/66406 + * go.test/go-test.exp (go-gc-tests): Skip nilptr.go if PIE. + +2015-11-20 Mike Stump + + * g++.dg/init/vbase1.C: Only run on x86_64-*-* as this testcase + isn't portable. + +2015-11-20 David Malcolm + + PR 62314 + * gcc.dg/fixits.c: New file. + * gcc.dg/plugin/diagnostic-test-show-locus-ascii-bw.c + (test_fixit_insert): New. + (test_fixit_remove): New. + (test_fixit_replace): New. + * gcc.dg/plugin/diagnostic-test-show-locus-ascii-color.c + (test_fixit_insert): New. + (test_fixit_remove): New. + (test_fixit_replace): New. + * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c + (test_show_locus): Add tests of rendering fixit hints. + +2015-11-20 Jakub Jelinek + + PR middle-end/68339 + * gcc.dg/vect/pr68339.c: New test. + +2015-11-20 Kyrylo Tkachov + + * gcc.target/arm/armv6-unaligned-load-ice.c: New test. + +2015-11-20 Paul Thomas + + PR fortran/68237 + * gfortran.dg/submodule_12.f90: New test + + PR fortran/66762 + * gfortran.dg/submodule_6.f08: Add compile option -flto. + +2015-11-20 Andre Vieira + + * lib/target-supports.exp + (check_effective_target_arm_neon_ok_nocache): Add check + for M profile. + +2015-11-20 Tom de Vries + + PR tree-optimization/68373 + * gcc.dg/autopar/pr68373.c: New test. + +2015-11-20 Jakub Jelinek + + PR c++/67354 + * g++.dg/abi/mangle67.C: New test. + +2015-11-20 Andreas Krebbel + + * gcc.target/s390/bswap-1.c: New test. + +2015-11-20 Dominik Vogt + + * gcc.target/s390/pfpo.c: New test. + +2015-11-20 Kirill Yukhin + + * c-c++-common/attr-simd-3.c: Put xfail (PR68158) on dg-error. + * c-c++-common/attr-simd.c: Limit scan of dump to x86_64/i?86. + +2015-11-19 David Malcolm + + * g++.dg/spellcheck-fields.C: New file. + +2015-11-19 Aditya Kumar + Sebastian Pop + + PR tree-optimization/68428 + * gcc.dg/graphite/pr68428.c: New. + +2015-11-19 Aditya Kumar + Sebastian Pop + + PR tree-optimization/68335 + * gfortran.dg/graphite/pr68335.f90: New. + +2015-11-19 Nathan Sidwell + + * lib/target-supports.exp (check_weak_available): Add nvptx-*-*. + * gcc.dg/attr-weakref-1.c: Skip for nvptx-*-* + * gcc.dg/special/weak-2.c: Likewise. + * gcc.dg/weak/weak-12.c: Likewise. + * gcc.dg/weak/weak-15.c: Likewise. + * gcc.dg/weak/weak-16.c: Likewise. + * gcc.dg/weak/weak-1.c: Likewise. + * gcc.dg/weak/weak-2.c: Likewise. + * gcc.dg/weak/weak-4.c: Likewise. + * gcc.dg/torture/pr53922.c: Likewise. + * gcc.dg/torture/pr60092.c: Likewise. + +2015-11-19 Marek Polacek + + PR c/68412 + * gcc.dg/pr68412-2.c: New test. + * gcc.dg/pr68412.c: New test. + +2015-11-19 Senthil Kumar Selvaraj + + * gcc.dg/tree-ssa/vrp98.c: New testcase. + * gcc.target/avr/uint8-single-reg.c: New testcase. + +2015-11-19 Jakub Jelinek + + PR c++/67409 + * g++.dg/eh/goto3.C: New test. + +2015-11-19 Marek Polacek + + PR tree-optimization/68431 + * gcc.dg/tree-ssa/pr68431.c: New test. + +2015-11-19 Jakub Jelinek + + PR rtl-optimization/68376 + * gcc.c-torture/execute/pr68376-1.c: New test. + * gcc.c-torture/execute/pr68376-2.c: New test. + + PR target/67770 + * gcc.target/i386/pr67770.c: New test. + +2015-11-18 Jeff Law + + PR tree-optimization/68198 + * gcc.dg/tree-ssa/pr66752-3.c: Update expected output for VRP1. + * gcc.dg/tree-ssa/pr68198.c: New test. + +2015-11-18 Steven G. Kargl + + PR fortran/59910 + * gfortran.dg/pr59910.f90: New test. + +2015-11-18 Steven G. Kargl + + PR fortran/43996 + * gfortran.dg/pr43996.f90: New test. + +2015-11-18 Joseph Myers + + PR c/65083 + * gcc.dg/atomic/stdatomic-fence-2.c, + gcc.dg/atomic/stdatomic-flag-2.c: New tests. + +2015-11-18 Eric Botcazou + + * gnat.dg/loop_optimization19.adb: New test. + * gnat.dg/loop_optimization20.adb: Likewise. + * gnat.dg/loop_optimization21.ad[sb]: Likewise. + +2015-11-18 Eric Botcazou + + * gnat.dg/opt52.adb: New test. + +2015-11-18 Nathan Sidwell + + * gcc.dg/goacc/nvptx-sese-1.c: New. + +2015-11-18 Eric Botcazou + + * gnat.dg/renaming7.adb: New test. + * gnat.dg/renaming7_pkg.ads: New helper. + +2015-11-18 Ajit Agarwal + + PR tree-optimization/68402 + * gcc.dg/tree-ssa/split-path-1.c: Fix the testcase + to avoid undefined behaviour. + +2015-11-18 Jakub Jelinek + + PR tree-optimization/68157 + * g++.dg/opt/pr68157.C: New test. + +2015-11-18 Richard Biener + + PR tree-optimization/67790 + * gcc.dg/vect/pr67790.c: New testcase. + +2015-11-17 David Edelsohn + + * g++.dg/cpp1y/pr58708.C: Define wfoo based on sizeof wchar_t. + +2015-11-17 David Malcolm + + * gcc.dg/plugin/diagnostic-test-expressions-1.c (vector): New macro. + (test_braced_init): New function. + (test_statement_expression): New function. + (test_address_of_label): New function. + (test_transaction_expressions): New function. + (test_keywords): New function. + (test_builtin_va_arg): New function. + (test_builtin_offsetof): New function. + * lib/multiline.exp (_build_multiline_regex): Escape braces. + +2015-11-17 Martin Sebor + + PR c++/68308 + * g++.dg/init/new46.C: New test. + +2015-11-17 Dominique d'Humieres + + PR fortran/65751 + * gfortran.dg/unlimited_polymorphic_2.f03: Update test. + +2015-11-17 Ilya Enkovich + + PR middle-end/68134 + * gcc.dg/pr68134.c: New test. + +2015-11-17 Kyrylo Tkachov + + PR target/68143 + * gcc.c-torture/execute/pr68143_1.c: New test. + +2015-11-17 Uros Bizjak + + * gcc.dg/torture/pr68264.c: Use dg-add-options ieee. + +2015-11-17 Venkataramanan Kumar + + * gcc.dg/tree-ssa/ifc-8.c: New test. + +2015-11-16 Marek Polacek + + PR c++/68362 + * g++.dg/delayedfold/switch-1.C: New test. + +2015-11-16 Steven G. Kargl + + PR fortran/58027 + PR fortran/60993 + * gfortran.dg/pr58027.f90: New test. + +2015-11-16 Kirill Yukhin + + * c-c++-common/attr-simd.c: New test. + * c-c++-common/attr-simd-2.c: New test. + * c-c++-common/attr-simd-3.c: New test. + +2015-11-16 Alan Lawrence + + * gcc.target/aarch64/vclz.c: Correctly place INHIB_OPTIMIZATION. + +2015-11-16 Christian Bruel + + * lib/target-supports.exp (check_effective_target_arm_neon_ok_nocache): + Check __ARM_NEON__ instead of "arm_neon.h. + * gcc.target/arm/attr-neon3.c: New test. + * gcc.target/arm/attr-neon-fp16.c: Likewise + +2015-11-16 Christian Bruel + + PR target/65837 + * gcc.target/arm/lto/pr65837_0.c + * gcc.target/arm/attr-neon2.c + * gcc.target/arm/attr-neon.c + * gcc.target/arm/attr-neon-builtin-fail.c + * gcc.target/arm/attr-crypto.c + +2015-11-16 Richard Biener + + * gcc.dg/vect/bb-slp-32.c: Adjust testcase. + +2015-11-15 Paul Thomas + + PR fortran/50221 + * gfortran.dg/deferred_character_1.f90: New test. + * gfortran.dg/deferred_character_4.f90: New test for comment + #4 of the PR. + + PR fortran/68216 + * gfortran.dg/deferred_character_2.f90: New test. + + PR fortran/67674 + * gfortran.dg/deferred_character_3.f90: New test. + + PR fortran/63932 + * gfortran.dg/deferred_character_5.f90: New test. + + PR fortran/66408 + * gfortran.dg/deferred_character_6.f90: New test. + + PR fortran/49954 + * gfortran.dg/deferred_character_7.f90: New test. + +2015-11-14 Steven G. Kargl + + PR fortran/67803 + * gfortran.dg/pr67803.f90: New test. + +2015-11-14 David Edelsohn + + * g++.dg/cpp/ucn-1.C: Fix typo. + +2015-11-13 David Edelsohn + + * g++.dg/init/vbase1.C: XFAIL powerpc*-*-*. + * g++.dg/cpp/ucn-1.C: Expect error for dollar sign identifier on AIX. + +2015-11-13 Ajit Agarwal + Jeff Law + + * gcc.dg/tree-ssa/split-path-1.c: New test. + +2015-11-13 Nathan Sidwell + + * c-c++-common/goacc/loop-auto-1.c: New. + + * lib/target-supports.exp (check_effective_target_offload_nvptx): New. + * gcc.dg/goacc/nvptx-merged-loop.c: New. + +2015-11-13 Steven G. Kargl + + PR fortran/68319 + * gfortran.dg/pr68319.f90: New test. + +2015-11-13 Michael Meissner + + * gcc.target/powerpc/float128-hw.c: New test for IEEE 128-bit + hardware floating point support. + + * gcc.target/powerpc/direct-move-vector.c: New test for 128-bit + vector direct move instructions. + + * gcc.target/powerpc/maddld.c: New test. + +2015-11-13 Uros Bizjak + + * gcc.dg/pr68306.c (dg-additional-options): Add i?86-*-* target. + * gcc.dg/pr68306-2.c (dg-additional-options): Ditto. + * gcc.dg/pr68306-3.c (dg-additional-options): Ditto. + +2015-11-13 David Malcolm + + * gcc.dg/diagnostic-token-ranges.c: New file. + * gcc.dg/diagnostic-tree-expr-ranges-2.c: New file. + * gcc.dg/plugin/diagnostic-test-expressions-1.c: New file. + * gcc.dg/plugin/diagnostic-test-show-trees-1.c: New file. + * gcc.dg/plugin/diagnostic_plugin_show_trees.c: New file. + * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c (get_loc): Add + line_table param when calling + linemap_position_for_line_and_column. + (test_show_locus): Pass line_table to rich_location ctors. + (plugin_init): Remove setting of global_dc->colorize_source_p. + * gcc.dg/plugin/diagnostic_plugin_test_tree_expression_range.c: + New file. + * gcc.dg/plugin/plugin.exp (plugin_test_list): Add + diagnostic_plugin_test_tree_expression_range.c, + diagnostic-test-expressions-1.c, diagnostic_plugin_show_trees.c, + and diagnostic-test-show-trees-1.c. + +2015-11-13 Alan Lawrence + + PR tree-optimization/67682 + * gcc.dg/vect/bb-slp-7.c (main1): Make subgroups non-isomorphic. + * gcc.dg/vect/bb-slp-subgroups-1.c: New. + * gcc.dg/vect/bb-slp-subgroups-2.c: New. + * gcc.dg/vect/bb-slp-subgroups-3.c: New. + +2015-11-13 Kyrylo Tkachov + + * gcc.target/aarch64/umaddl_combine_1.c: New test. + +2015-11-13 Richard Sandiford + + PR tree-optimization/68264 + * gcc.dg/torture/pr68264.c: New test. + +2015-11-13 Marek Polacek + + PR c/68320 + * gcc.dg/pr68320.c: New test. + +2015-11-13 Nathan Sidwell + + * c-c++-common/goacc/data-default-1.c: Correct expected diagnostic. + +2015-11-13 Richard Biener + + PR tree-optimization/68306 + * gcc.dg/pr68306.c: Adjust. + * gcc.dg/pr68306-2.c: New testcase. + * gcc.dg/pr68306-3.c: Likewise. + +2015-11-13 Ilya Enkovich + + * g++.dg/vect/simd-bool-comparison-1.cc: New test. + * g++.dg/vect/simd-bool-comparison-2.cc: New test. + +2015-11-13 Dominique d'Humieres + + PR fortran/47266 + * gfortran.dg/module_private_2.f90: New test. + +2015-11-13 Dominique d'Humieres + + PR fortran/47266 + * gfortran.dg/warn_unused_function_2.f90: New test. + +2015-11-13 Christophe Lyon + + Revert [ARM] Remove neon-testgen.ml and generated tests. + 2015-11-12 Christophe Lyon + + * gcc.target/arm/neon/vRaddhns16.c: Remove. + * gcc.target/arm/neon/vRaddhns32.c: Remove. + * gcc.target/arm/neon/vRaddhns64.c: Remove. + * gcc.target/arm/neon/vRaddhnu16.c: Remove. + * gcc.target/arm/neon/vRaddhnu32.c: Remove. + * gcc.target/arm/neon/vRaddhnu64.c: Remove. + * gcc.target/arm/neon/vRhaddQs16.c: Remove. + * gcc.target/arm/neon/vRhaddQs32.c: Remove. + * gcc.target/arm/neon/vRhaddQs8.c: Remove. + * gcc.target/arm/neon/vRhaddQu16.c: Remove. + * gcc.target/arm/neon/vRhaddQu32.c: Remove. + * gcc.target/arm/neon/vRhaddQu8.c: Remove. + * gcc.target/arm/neon/vRhadds16.c: Remove. + * gcc.target/arm/neon/vRhadds32.c: Remove. + * gcc.target/arm/neon/vRhadds8.c: Remove. + * gcc.target/arm/neon/vRhaddu16.c: Remove. + * gcc.target/arm/neon/vRhaddu32.c: Remove. + * gcc.target/arm/neon/vRhaddu8.c: Remove. + * gcc.target/arm/neon/vRshlQs16.c: Remove. + * gcc.target/arm/neon/vRshlQs32.c: Remove. + * gcc.target/arm/neon/vRshlQs64.c: Remove. + * gcc.target/arm/neon/vRshlQs8.c: Remove. + * gcc.target/arm/neon/vRshlQu16.c: Remove. + * gcc.target/arm/neon/vRshlQu32.c: Remove. + * gcc.target/arm/neon/vRshlQu64.c: Remove. + * gcc.target/arm/neon/vRshlQu8.c: Remove. + * gcc.target/arm/neon/vRshls16.c: Remove. + * gcc.target/arm/neon/vRshls32.c: Remove. + * gcc.target/arm/neon/vRshls64.c: Remove. + * gcc.target/arm/neon/vRshls8.c: Remove. + * gcc.target/arm/neon/vRshlu16.c: Remove. + * gcc.target/arm/neon/vRshlu32.c: Remove. + * gcc.target/arm/neon/vRshlu64.c: Remove. + * gcc.target/arm/neon/vRshlu8.c: Remove. + * gcc.target/arm/neon/vRshrQ_ns16.c: Remove. + * gcc.target/arm/neon/vRshrQ_ns32.c: Remove. + * gcc.target/arm/neon/vRshrQ_ns64.c: Remove. + * gcc.target/arm/neon/vRshrQ_ns8.c: Remove. + * gcc.target/arm/neon/vRshrQ_nu16.c: Remove. + * gcc.target/arm/neon/vRshrQ_nu32.c: Remove. + * gcc.target/arm/neon/vRshrQ_nu64.c: Remove. + * gcc.target/arm/neon/vRshrQ_nu8.c: Remove. + * gcc.target/arm/neon/vRshr_ns16.c: Remove. + * gcc.target/arm/neon/vRshr_ns32.c: Remove. + * gcc.target/arm/neon/vRshr_ns64.c: Remove. + * gcc.target/arm/neon/vRshr_ns8.c: Remove. + * gcc.target/arm/neon/vRshr_nu16.c: Remove. + * gcc.target/arm/neon/vRshr_nu32.c: Remove. + * gcc.target/arm/neon/vRshr_nu64.c: Remove. + * gcc.target/arm/neon/vRshr_nu8.c: Remove. + * gcc.target/arm/neon/vRshrn_ns16.c: Remove. + * gcc.target/arm/neon/vRshrn_ns32.c: Remove. + * gcc.target/arm/neon/vRshrn_ns64.c: Remove. + * gcc.target/arm/neon/vRshrn_nu16.c: Remove. + * gcc.target/arm/neon/vRshrn_nu32.c: Remove. + * gcc.target/arm/neon/vRshrn_nu64.c: Remove. + * gcc.target/arm/neon/vRsraQ_ns16.c: Remove. + * gcc.target/arm/neon/vRsraQ_ns32.c: Remove. + * gcc.target/arm/neon/vRsraQ_ns64.c: Remove. + * gcc.target/arm/neon/vRsraQ_ns8.c: Remove. + * gcc.target/arm/neon/vRsraQ_nu16.c: Remove. + * gcc.target/arm/neon/vRsraQ_nu32.c: Remove. + * gcc.target/arm/neon/vRsraQ_nu64.c: Remove. + * gcc.target/arm/neon/vRsraQ_nu8.c: Remove. + * gcc.target/arm/neon/vRsra_ns16.c: Remove. + * gcc.target/arm/neon/vRsra_ns32.c: Remove. + * gcc.target/arm/neon/vRsra_ns64.c: Remove. + * gcc.target/arm/neon/vRsra_ns8.c: Remove. + * gcc.target/arm/neon/vRsra_nu16.c: Remove. + * gcc.target/arm/neon/vRsra_nu32.c: Remove. + * gcc.target/arm/neon/vRsra_nu64.c: Remove. + * gcc.target/arm/neon/vRsra_nu8.c: Remove. + * gcc.target/arm/neon/vRsubhns16.c: Remove. + * gcc.target/arm/neon/vRsubhns32.c: Remove. + * gcc.target/arm/neon/vRsubhns64.c: Remove. + * gcc.target/arm/neon/vRsubhnu16.c: Remove. + * gcc.target/arm/neon/vRsubhnu32.c: Remove. + * gcc.target/arm/neon/vRsubhnu64.c: Remove. + * gcc.target/arm/neon/vabaQs16.c: Remove. + * gcc.target/arm/neon/vabaQs32.c: Remove. + * gcc.target/arm/neon/vabaQs8.c: Remove. + * gcc.target/arm/neon/vabaQu16.c: Remove. + * gcc.target/arm/neon/vabaQu32.c: Remove. + * gcc.target/arm/neon/vabaQu8.c: Remove. + * gcc.target/arm/neon/vabals16.c: Remove. + * gcc.target/arm/neon/vabals32.c: Remove. + * gcc.target/arm/neon/vabals8.c: Remove. + * gcc.target/arm/neon/vabalu16.c: Remove. + * gcc.target/arm/neon/vabalu32.c: Remove. + * gcc.target/arm/neon/vabalu8.c: Remove. + * gcc.target/arm/neon/vabas16.c: Remove. + * gcc.target/arm/neon/vabas32.c: Remove. + * gcc.target/arm/neon/vabas8.c: Remove. + * gcc.target/arm/neon/vabau16.c: Remove. + * gcc.target/arm/neon/vabau32.c: Remove. + * gcc.target/arm/neon/vabau8.c: Remove. + * gcc.target/arm/neon/vabdQf32.c: Remove. + * gcc.target/arm/neon/vabdQs16.c: Remove. + * gcc.target/arm/neon/vabdQs32.c: Remove. + * gcc.target/arm/neon/vabdQs8.c: Remove. + * gcc.target/arm/neon/vabdQu16.c: Remove. + * gcc.target/arm/neon/vabdQu32.c: Remove. + * gcc.target/arm/neon/vabdQu8.c: Remove. + * gcc.target/arm/neon/vabdf32.c: Remove. + * gcc.target/arm/neon/vabdls16.c: Remove. + * gcc.target/arm/neon/vabdls32.c: Remove. + * gcc.target/arm/neon/vabdls8.c: Remove. + * gcc.target/arm/neon/vabdlu16.c: Remove. + * gcc.target/arm/neon/vabdlu32.c: Remove. + * gcc.target/arm/neon/vabdlu8.c: Remove. + * gcc.target/arm/neon/vabds16.c: Remove. + * gcc.target/arm/neon/vabds32.c: Remove. + * gcc.target/arm/neon/vabds8.c: Remove. + * gcc.target/arm/neon/vabdu16.c: Remove. + * gcc.target/arm/neon/vabdu32.c: Remove. + * gcc.target/arm/neon/vabdu8.c: Remove. + * gcc.target/arm/neon/vabsQf32.c: Remove. + * gcc.target/arm/neon/vabsQs16.c: Remove. + * gcc.target/arm/neon/vabsQs32.c: Remove. + * gcc.target/arm/neon/vabsQs8.c: Remove. + * gcc.target/arm/neon/vabsf32.c: Remove. + * gcc.target/arm/neon/vabss16.c: Remove. + * gcc.target/arm/neon/vabss32.c: Remove. + * gcc.target/arm/neon/vabss8.c: Remove. + * gcc.target/arm/neon/vaddQf32.c: Remove. + * gcc.target/arm/neon/vaddQs16.c: Remove. + * gcc.target/arm/neon/vaddQs32.c: Remove. + * gcc.target/arm/neon/vaddQs64.c: Remove. + * gcc.target/arm/neon/vaddQs8.c: Remove. + * gcc.target/arm/neon/vaddQu16.c: Remove. + * gcc.target/arm/neon/vaddQu32.c: Remove. + * gcc.target/arm/neon/vaddQu64.c: Remove. + * gcc.target/arm/neon/vaddQu8.c: Remove. + * gcc.target/arm/neon/vaddf32.c: Remove. + * gcc.target/arm/neon/vaddhns16.c: Remove. + * gcc.target/arm/neon/vaddhns32.c: Remove. + * gcc.target/arm/neon/vaddhns64.c: Remove. + * gcc.target/arm/neon/vaddhnu16.c: Remove. + * gcc.target/arm/neon/vaddhnu32.c: Remove. + * gcc.target/arm/neon/vaddhnu64.c: Remove. + * gcc.target/arm/neon/vaddls16.c: Remove. + * gcc.target/arm/neon/vaddls32.c: Remove. + * gcc.target/arm/neon/vaddls8.c: Remove. + * gcc.target/arm/neon/vaddlu16.c: Remove. + * gcc.target/arm/neon/vaddlu32.c: Remove. + * gcc.target/arm/neon/vaddlu8.c: Remove. + * gcc.target/arm/neon/vadds16.c: Remove. + * gcc.target/arm/neon/vadds32.c: Remove. + * gcc.target/arm/neon/vadds64.c: Remove. + * gcc.target/arm/neon/vadds8.c: Remove. + * gcc.target/arm/neon/vaddu16.c: Remove. + * gcc.target/arm/neon/vaddu32.c: Remove. + * gcc.target/arm/neon/vaddu64.c: Remove. + * gcc.target/arm/neon/vaddu8.c: Remove. + * gcc.target/arm/neon/vaddws16.c: Remove. + * gcc.target/arm/neon/vaddws32.c: Remove. + * gcc.target/arm/neon/vaddws8.c: Remove. + * gcc.target/arm/neon/vaddwu16.c: Remove. + * gcc.target/arm/neon/vaddwu32.c: Remove. + * gcc.target/arm/neon/vaddwu8.c: Remove. + * gcc.target/arm/neon/vandQs16.c: Remove. + * gcc.target/arm/neon/vandQs32.c: Remove. + * gcc.target/arm/neon/vandQs64.c: Remove. + * gcc.target/arm/neon/vandQs8.c: Remove. + * gcc.target/arm/neon/vandQu16.c: Remove. + * gcc.target/arm/neon/vandQu32.c: Remove. + * gcc.target/arm/neon/vandQu64.c: Remove. + * gcc.target/arm/neon/vandQu8.c: Remove. + * gcc.target/arm/neon/vands16.c: Remove. + * gcc.target/arm/neon/vands32.c: Remove. + * gcc.target/arm/neon/vands64.c: Remove. + * gcc.target/arm/neon/vands8.c: Remove. + * gcc.target/arm/neon/vandu16.c: Remove. + * gcc.target/arm/neon/vandu32.c: Remove. + * gcc.target/arm/neon/vandu64.c: Remove. + * gcc.target/arm/neon/vandu8.c: Remove. + * gcc.target/arm/neon/vbicQs16.c: Remove. + * gcc.target/arm/neon/vbicQs32.c: Remove. + * gcc.target/arm/neon/vbicQs64.c: Remove. + * gcc.target/arm/neon/vbicQs8.c: Remove. + * gcc.target/arm/neon/vbicQu16.c: Remove. + * gcc.target/arm/neon/vbicQu32.c: Remove. + * gcc.target/arm/neon/vbicQu64.c: Remove. + * gcc.target/arm/neon/vbicQu8.c: Remove. + * gcc.target/arm/neon/vbics16.c: Remove. + * gcc.target/arm/neon/vbics32.c: Remove. + * gcc.target/arm/neon/vbics64.c: Remove. + * gcc.target/arm/neon/vbics8.c: Remove. + * gcc.target/arm/neon/vbicu16.c: Remove. + * gcc.target/arm/neon/vbicu32.c: Remove. + * gcc.target/arm/neon/vbicu64.c: Remove. + * gcc.target/arm/neon/vbicu8.c: Remove. + * gcc.target/arm/neon/vbslQf32.c: Remove. + * gcc.target/arm/neon/vbslQp16.c: Remove. + * gcc.target/arm/neon/vbslQp64.c: Remove. + * gcc.target/arm/neon/vbslQp8.c: Remove. + * gcc.target/arm/neon/vbslQs16.c: Remove. + * gcc.target/arm/neon/vbslQs32.c: Remove. + * gcc.target/arm/neon/vbslQs64.c: Remove. + * gcc.target/arm/neon/vbslQs8.c: Remove. + * gcc.target/arm/neon/vbslQu16.c: Remove. + * gcc.target/arm/neon/vbslQu32.c: Remove. + * gcc.target/arm/neon/vbslQu64.c: Remove. + * gcc.target/arm/neon/vbslQu8.c: Remove. + * gcc.target/arm/neon/vbslf32.c: Remove. + * gcc.target/arm/neon/vbslp16.c: Remove. + * gcc.target/arm/neon/vbslp64.c: Remove. + * gcc.target/arm/neon/vbslp8.c: Remove. + * gcc.target/arm/neon/vbsls16.c: Remove. + * gcc.target/arm/neon/vbsls32.c: Remove. + * gcc.target/arm/neon/vbsls64.c: Remove. + * gcc.target/arm/neon/vbsls8.c: Remove. + * gcc.target/arm/neon/vbslu16.c: Remove. + * gcc.target/arm/neon/vbslu32.c: Remove. + * gcc.target/arm/neon/vbslu64.c: Remove. + * gcc.target/arm/neon/vbslu8.c: Remove. + * gcc.target/arm/neon/vcageQf32.c: Remove. + * gcc.target/arm/neon/vcagef32.c: Remove. + * gcc.target/arm/neon/vcagtQf32.c: Remove. + * gcc.target/arm/neon/vcagtf32.c: Remove. + * gcc.target/arm/neon/vcaleQf32.c: Remove. + * gcc.target/arm/neon/vcalef32.c: Remove. + * gcc.target/arm/neon/vcaltQf32.c: Remove. + * gcc.target/arm/neon/vcaltf32.c: Remove. + * gcc.target/arm/neon/vceqQf32.c: Remove. + * gcc.target/arm/neon/vceqQp8.c: Remove. + * gcc.target/arm/neon/vceqQs16.c: Remove. + * gcc.target/arm/neon/vceqQs32.c: Remove. + * gcc.target/arm/neon/vceqQs8.c: Remove. + * gcc.target/arm/neon/vceqQu16.c: Remove. + * gcc.target/arm/neon/vceqQu32.c: Remove. + * gcc.target/arm/neon/vceqQu8.c: Remove. + * gcc.target/arm/neon/vceqf32.c: Remove. + * gcc.target/arm/neon/vceqp8.c: Remove. + * gcc.target/arm/neon/vceqs16.c: Remove. + * gcc.target/arm/neon/vceqs32.c: Remove. + * gcc.target/arm/neon/vceqs8.c: Remove. + * gcc.target/arm/neon/vcequ16.c: Remove. + * gcc.target/arm/neon/vcequ32.c: Remove. + * gcc.target/arm/neon/vcequ8.c: Remove. + * gcc.target/arm/neon/vcgeQf32.c: Remove. + * gcc.target/arm/neon/vcgeQs16.c: Remove. + * gcc.target/arm/neon/vcgeQs32.c: Remove. + * gcc.target/arm/neon/vcgeQs8.c: Remove. + * gcc.target/arm/neon/vcgeQu16.c: Remove. + * gcc.target/arm/neon/vcgeQu32.c: Remove. + * gcc.target/arm/neon/vcgeQu8.c: Remove. + * gcc.target/arm/neon/vcgef32.c: Remove. + * gcc.target/arm/neon/vcges16.c: Remove. + * gcc.target/arm/neon/vcges32.c: Remove. + * gcc.target/arm/neon/vcges8.c: Remove. + * gcc.target/arm/neon/vcgeu16.c: Remove. + * gcc.target/arm/neon/vcgeu32.c: Remove. + * gcc.target/arm/neon/vcgeu8.c: Remove. + * gcc.target/arm/neon/vcgtQf32.c: Remove. + * gcc.target/arm/neon/vcgtQs16.c: Remove. + * gcc.target/arm/neon/vcgtQs32.c: Remove. + * gcc.target/arm/neon/vcgtQs8.c: Remove. + * gcc.target/arm/neon/vcgtQu16.c: Remove. + * gcc.target/arm/neon/vcgtQu32.c: Remove. + * gcc.target/arm/neon/vcgtQu8.c: Remove. + * gcc.target/arm/neon/vcgtf32.c: Remove. + * gcc.target/arm/neon/vcgts16.c: Remove. + * gcc.target/arm/neon/vcgts32.c: Remove. + * gcc.target/arm/neon/vcgts8.c: Remove. + * gcc.target/arm/neon/vcgtu16.c: Remove. + * gcc.target/arm/neon/vcgtu32.c: Remove. + * gcc.target/arm/neon/vcgtu8.c: Remove. + * gcc.target/arm/neon/vcleQf32.c: Remove. + * gcc.target/arm/neon/vcleQs16.c: Remove. + * gcc.target/arm/neon/vcleQs32.c: Remove. + * gcc.target/arm/neon/vcleQs8.c: Remove. + * gcc.target/arm/neon/vcleQu16.c: Remove. + * gcc.target/arm/neon/vcleQu32.c: Remove. + * gcc.target/arm/neon/vcleQu8.c: Remove. + * gcc.target/arm/neon/vclef32.c: Remove. + * gcc.target/arm/neon/vcles16.c: Remove. + * gcc.target/arm/neon/vcles32.c: Remove. + * gcc.target/arm/neon/vcles8.c: Remove. + * gcc.target/arm/neon/vcleu16.c: Remove. + * gcc.target/arm/neon/vcleu32.c: Remove. + * gcc.target/arm/neon/vcleu8.c: Remove. + * gcc.target/arm/neon/vclsQs16.c: Remove. + * gcc.target/arm/neon/vclsQs32.c: Remove. + * gcc.target/arm/neon/vclsQs8.c: Remove. + * gcc.target/arm/neon/vclss16.c: Remove. + * gcc.target/arm/neon/vclss32.c: Remove. + * gcc.target/arm/neon/vclss8.c: Remove. + * gcc.target/arm/neon/vcltQf32.c: Remove. + * gcc.target/arm/neon/vcltQs16.c: Remove. + * gcc.target/arm/neon/vcltQs32.c: Remove. + * gcc.target/arm/neon/vcltQs8.c: Remove. + * gcc.target/arm/neon/vcltQu16.c: Remove. + * gcc.target/arm/neon/vcltQu32.c: Remove. + * gcc.target/arm/neon/vcltQu8.c: Remove. + * gcc.target/arm/neon/vcltf32.c: Remove. + * gcc.target/arm/neon/vclts16.c: Remove. + * gcc.target/arm/neon/vclts32.c: Remove. + * gcc.target/arm/neon/vclts8.c: Remove. + * gcc.target/arm/neon/vcltu16.c: Remove. + * gcc.target/arm/neon/vcltu32.c: Remove. + * gcc.target/arm/neon/vcltu8.c: Remove. + * gcc.target/arm/neon/vclzQs16.c: Remove. + * gcc.target/arm/neon/vclzQs32.c: Remove. + * gcc.target/arm/neon/vclzQs8.c: Remove. + * gcc.target/arm/neon/vclzQu16.c: Remove. + * gcc.target/arm/neon/vclzQu32.c: Remove. + * gcc.target/arm/neon/vclzQu8.c: Remove. + * gcc.target/arm/neon/vclzs16.c: Remove. + * gcc.target/arm/neon/vclzs32.c: Remove. + * gcc.target/arm/neon/vclzs8.c: Remove. + * gcc.target/arm/neon/vclzu16.c: Remove. + * gcc.target/arm/neon/vclzu32.c: Remove. + * gcc.target/arm/neon/vclzu8.c: Remove. + * gcc.target/arm/neon/vcntQp8.c: Remove. + * gcc.target/arm/neon/vcntQs8.c: Remove. + * gcc.target/arm/neon/vcntQu8.c: Remove. + * gcc.target/arm/neon/vcntp8.c: Remove. + * gcc.target/arm/neon/vcnts8.c: Remove. + * gcc.target/arm/neon/vcntu8.c: Remove. + * gcc.target/arm/neon/vcombinef32.c: Remove. + * gcc.target/arm/neon/vcombinep16.c: Remove. + * gcc.target/arm/neon/vcombinep64.c: Remove. + * gcc.target/arm/neon/vcombinep8.c: Remove. + * gcc.target/arm/neon/vcombines16.c: Remove. + * gcc.target/arm/neon/vcombines32.c: Remove. + * gcc.target/arm/neon/vcombines64.c: Remove. + * gcc.target/arm/neon/vcombines8.c: Remove. + * gcc.target/arm/neon/vcombineu16.c: Remove. + * gcc.target/arm/neon/vcombineu32.c: Remove. + * gcc.target/arm/neon/vcombineu64.c: Remove. + * gcc.target/arm/neon/vcombineu8.c: Remove. + * gcc.target/arm/neon/vcreatef32.c: Remove. + * gcc.target/arm/neon/vcreatep16.c: Remove. + * gcc.target/arm/neon/vcreatep64.c: Remove. + * gcc.target/arm/neon/vcreatep8.c: Remove. + * gcc.target/arm/neon/vcreates16.c: Remove. + * gcc.target/arm/neon/vcreates32.c: Remove. + * gcc.target/arm/neon/vcreates64.c: Remove. + * gcc.target/arm/neon/vcreates8.c: Remove. + * gcc.target/arm/neon/vcreateu16.c: Remove. + * gcc.target/arm/neon/vcreateu32.c: Remove. + * gcc.target/arm/neon/vcreateu64.c: Remove. + * gcc.target/arm/neon/vcreateu8.c: Remove. + * gcc.target/arm/neon/vcvtQ_nf32_s32.c: Remove. + * gcc.target/arm/neon/vcvtQ_nf32_u32.c: Remove. + * gcc.target/arm/neon/vcvtQ_ns32_f32.c: Remove. + * gcc.target/arm/neon/vcvtQ_nu32_f32.c: Remove. + * gcc.target/arm/neon/vcvtQf32_s32.c: Remove. + * gcc.target/arm/neon/vcvtQf32_u32.c: Remove. + * gcc.target/arm/neon/vcvtQs32_f32.c: Remove. + * gcc.target/arm/neon/vcvtQu32_f32.c: Remove. + * gcc.target/arm/neon/vcvt_nf32_s32.c: Remove. + * gcc.target/arm/neon/vcvt_nf32_u32.c: Remove. + * gcc.target/arm/neon/vcvt_ns32_f32.c: Remove. + * gcc.target/arm/neon/vcvt_nu32_f32.c: Remove. + * gcc.target/arm/neon/vcvtf16_f32.c: Remove. + * gcc.target/arm/neon/vcvtf32_f16.c: Remove. + * gcc.target/arm/neon/vcvtf32_s32.c: Remove. + * gcc.target/arm/neon/vcvtf32_u32.c: Remove. + * gcc.target/arm/neon/vcvts32_f32.c: Remove. + * gcc.target/arm/neon/vcvtu32_f32.c: Remove. + * gcc.target/arm/neon/vdupQ_lanef32.c: Remove. + * gcc.target/arm/neon/vdupQ_lanep16.c: Remove. + * gcc.target/arm/neon/vdupQ_lanep64.c: Remove. + * gcc.target/arm/neon/vdupQ_lanep8.c: Remove. + * gcc.target/arm/neon/vdupQ_lanes16.c: Remove. + * gcc.target/arm/neon/vdupQ_lanes32.c: Remove. + * gcc.target/arm/neon/vdupQ_lanes64.c: Remove. + * gcc.target/arm/neon/vdupQ_lanes8.c: Remove. + * gcc.target/arm/neon/vdupQ_laneu16.c: Remove. + * gcc.target/arm/neon/vdupQ_laneu32.c: Remove. + * gcc.target/arm/neon/vdupQ_laneu64.c: Remove. + * gcc.target/arm/neon/vdupQ_laneu8.c: Remove. + * gcc.target/arm/neon/vdupQ_nf32.c: Remove. + * gcc.target/arm/neon/vdupQ_np16.c: Remove. + * gcc.target/arm/neon/vdupQ_np64.c: Remove. + * gcc.target/arm/neon/vdupQ_np8.c: Remove. + * gcc.target/arm/neon/vdupQ_ns16.c: Remove. + * gcc.target/arm/neon/vdupQ_ns32.c: Remove. + * gcc.target/arm/neon/vdupQ_ns64.c: Remove. + * gcc.target/arm/neon/vdupQ_ns8.c: Remove. + * gcc.target/arm/neon/vdupQ_nu16.c: Remove. + * gcc.target/arm/neon/vdupQ_nu32.c: Remove. + * gcc.target/arm/neon/vdupQ_nu64.c: Remove. + * gcc.target/arm/neon/vdupQ_nu8.c: Remove. + * gcc.target/arm/neon/vdup_lanef32.c: Remove. + * gcc.target/arm/neon/vdup_lanep16.c: Remove. + * gcc.target/arm/neon/vdup_lanep64.c: Remove. + * gcc.target/arm/neon/vdup_lanep8.c: Remove. + * gcc.target/arm/neon/vdup_lanes16.c: Remove. + * gcc.target/arm/neon/vdup_lanes32.c: Remove. + * gcc.target/arm/neon/vdup_lanes64.c: Remove. + * gcc.target/arm/neon/vdup_lanes8.c: Remove. + * gcc.target/arm/neon/vdup_laneu16.c: Remove. + * gcc.target/arm/neon/vdup_laneu32.c: Remove. + * gcc.target/arm/neon/vdup_laneu64.c: Remove. + * gcc.target/arm/neon/vdup_laneu8.c: Remove. + * gcc.target/arm/neon/vdup_nf32.c: Remove. + * gcc.target/arm/neon/vdup_np16.c: Remove. + * gcc.target/arm/neon/vdup_np64.c: Remove. + * gcc.target/arm/neon/vdup_np8.c: Remove. + * gcc.target/arm/neon/vdup_ns16.c: Remove. + * gcc.target/arm/neon/vdup_ns32.c: Remove. + * gcc.target/arm/neon/vdup_ns64.c: Remove. + * gcc.target/arm/neon/vdup_ns8.c: Remove. + * gcc.target/arm/neon/vdup_nu16.c: Remove. + * gcc.target/arm/neon/vdup_nu32.c: Remove. + * gcc.target/arm/neon/vdup_nu64.c: Remove. + * gcc.target/arm/neon/vdup_nu8.c: Remove. + * gcc.target/arm/neon/veorQs16.c: Remove. + * gcc.target/arm/neon/veorQs32.c: Remove. + * gcc.target/arm/neon/veorQs64.c: Remove. + * gcc.target/arm/neon/veorQs8.c: Remove. + * gcc.target/arm/neon/veorQu16.c: Remove. + * gcc.target/arm/neon/veorQu32.c: Remove. + * gcc.target/arm/neon/veorQu64.c: Remove. + * gcc.target/arm/neon/veorQu8.c: Remove. + * gcc.target/arm/neon/veors16.c: Remove. + * gcc.target/arm/neon/veors32.c: Remove. + * gcc.target/arm/neon/veors64.c: Remove. + * gcc.target/arm/neon/veors8.c: Remove. + * gcc.target/arm/neon/veoru16.c: Remove. + * gcc.target/arm/neon/veoru32.c: Remove. + * gcc.target/arm/neon/veoru64.c: Remove. + * gcc.target/arm/neon/veoru8.c: Remove. + * gcc.target/arm/neon/vextQf32.c: Remove. + * gcc.target/arm/neon/vextQp16.c: Remove. + * gcc.target/arm/neon/vextQp64.c: Remove. + * gcc.target/arm/neon/vextQp8.c: Remove. + * gcc.target/arm/neon/vextQs16.c: Remove. + * gcc.target/arm/neon/vextQs32.c: Remove. + * gcc.target/arm/neon/vextQs64.c: Remove. + * gcc.target/arm/neon/vextQs8.c: Remove. + * gcc.target/arm/neon/vextQu16.c: Remove. + * gcc.target/arm/neon/vextQu32.c: Remove. + * gcc.target/arm/neon/vextQu64.c: Remove. + * gcc.target/arm/neon/vextQu8.c: Remove. + * gcc.target/arm/neon/vextf32.c: Remove. + * gcc.target/arm/neon/vextp16.c: Remove. + * gcc.target/arm/neon/vextp64.c: Remove. + * gcc.target/arm/neon/vextp8.c: Remove. + * gcc.target/arm/neon/vexts16.c: Remove. + * gcc.target/arm/neon/vexts32.c: Remove. + * gcc.target/arm/neon/vexts64.c: Remove. + * gcc.target/arm/neon/vexts8.c: Remove. + * gcc.target/arm/neon/vextu16.c: Remove. + * gcc.target/arm/neon/vextu32.c: Remove. + * gcc.target/arm/neon/vextu64.c: Remove. + * gcc.target/arm/neon/vextu8.c: Remove. + * gcc.target/arm/neon/vfmaQf32.c: Remove. + * gcc.target/arm/neon/vfmaf32.c: Remove. + * gcc.target/arm/neon/vfmsQf32.c: Remove. + * gcc.target/arm/neon/vfmsf32.c: Remove. + * gcc.target/arm/neon/vgetQ_lanef32.c: Remove. + * gcc.target/arm/neon/vgetQ_lanep16.c: Remove. + * gcc.target/arm/neon/vgetQ_lanep8.c: Remove. + * gcc.target/arm/neon/vgetQ_lanes16.c: Remove. + * gcc.target/arm/neon/vgetQ_lanes32.c: Remove. + * gcc.target/arm/neon/vgetQ_lanes64.c: Remove. + * gcc.target/arm/neon/vgetQ_lanes8.c: Remove. + * gcc.target/arm/neon/vgetQ_laneu16.c: Remove. + * gcc.target/arm/neon/vgetQ_laneu32.c: Remove. + * gcc.target/arm/neon/vgetQ_laneu64.c: Remove. + * gcc.target/arm/neon/vgetQ_laneu8.c: Remove. + * gcc.target/arm/neon/vget_highf32.c: Remove. + * gcc.target/arm/neon/vget_highp16.c: Remove. + * gcc.target/arm/neon/vget_highp64.c: Remove. + * gcc.target/arm/neon/vget_highp8.c: Remove. + * gcc.target/arm/neon/vget_highs16.c: Remove. + * gcc.target/arm/neon/vget_highs32.c: Remove. + * gcc.target/arm/neon/vget_highs64.c: Remove. + * gcc.target/arm/neon/vget_highs8.c: Remove. + * gcc.target/arm/neon/vget_highu16.c: Remove. + * gcc.target/arm/neon/vget_highu32.c: Remove. + * gcc.target/arm/neon/vget_highu64.c: Remove. + * gcc.target/arm/neon/vget_highu8.c: Remove. + * gcc.target/arm/neon/vget_lanef32.c: Remove. + * gcc.target/arm/neon/vget_lanep16.c: Remove. + * gcc.target/arm/neon/vget_lanep8.c: Remove. + * gcc.target/arm/neon/vget_lanes16.c: Remove. + * gcc.target/arm/neon/vget_lanes32.c: Remove. + * gcc.target/arm/neon/vget_lanes64.c: Remove. + * gcc.target/arm/neon/vget_lanes8.c: Remove. + * gcc.target/arm/neon/vget_laneu16.c: Remove. + * gcc.target/arm/neon/vget_laneu32.c: Remove. + * gcc.target/arm/neon/vget_laneu64.c: Remove. + * gcc.target/arm/neon/vget_laneu8.c: Remove. + * gcc.target/arm/neon/vget_lowf32.c: Remove. + * gcc.target/arm/neon/vget_lowp16.c: Remove. + * gcc.target/arm/neon/vget_lowp64.c: Remove. + * gcc.target/arm/neon/vget_lowp8.c: Remove. + * gcc.target/arm/neon/vget_lows16.c: Remove. + * gcc.target/arm/neon/vget_lows32.c: Remove. + * gcc.target/arm/neon/vget_lows64.c: Remove. + * gcc.target/arm/neon/vget_lows8.c: Remove. + * gcc.target/arm/neon/vget_lowu16.c: Remove. + * gcc.target/arm/neon/vget_lowu32.c: Remove. + * gcc.target/arm/neon/vget_lowu64.c: Remove. + * gcc.target/arm/neon/vget_lowu8.c: Remove. + * gcc.target/arm/neon/vhaddQs16.c: Remove. + * gcc.target/arm/neon/vhaddQs32.c: Remove. + * gcc.target/arm/neon/vhaddQs8.c: Remove. + * gcc.target/arm/neon/vhaddQu16.c: Remove. + * gcc.target/arm/neon/vhaddQu32.c: Remove. + * gcc.target/arm/neon/vhaddQu8.c: Remove. + * gcc.target/arm/neon/vhadds16.c: Remove. + * gcc.target/arm/neon/vhadds32.c: Remove. + * gcc.target/arm/neon/vhadds8.c: Remove. + * gcc.target/arm/neon/vhaddu16.c: Remove. + * gcc.target/arm/neon/vhaddu32.c: Remove. + * gcc.target/arm/neon/vhaddu8.c: Remove. + * gcc.target/arm/neon/vhsubQs16.c: Remove. + * gcc.target/arm/neon/vhsubQs32.c: Remove. + * gcc.target/arm/neon/vhsubQs8.c: Remove. + * gcc.target/arm/neon/vhsubQu16.c: Remove. + * gcc.target/arm/neon/vhsubQu32.c: Remove. + * gcc.target/arm/neon/vhsubQu8.c: Remove. + * gcc.target/arm/neon/vhsubs16.c: Remove. + * gcc.target/arm/neon/vhsubs32.c: Remove. + * gcc.target/arm/neon/vhsubs8.c: Remove. + * gcc.target/arm/neon/vhsubu16.c: Remove. + * gcc.target/arm/neon/vhsubu32.c: Remove. + * gcc.target/arm/neon/vhsubu8.c: Remove. + * gcc.target/arm/neon/vld1Q_dupf32.c: Remove. + * gcc.target/arm/neon/vld1Q_dupp16.c: Remove. + * gcc.target/arm/neon/vld1Q_dupp64.c: Remove. + * gcc.target/arm/neon/vld1Q_dupp8.c: Remove. + * gcc.target/arm/neon/vld1Q_dups16.c: Remove. + * gcc.target/arm/neon/vld1Q_dups32.c: Remove. + * gcc.target/arm/neon/vld1Q_dups64.c: Remove. + * gcc.target/arm/neon/vld1Q_dups8.c: Remove. + * gcc.target/arm/neon/vld1Q_dupu16.c: Remove. + * gcc.target/arm/neon/vld1Q_dupu32.c: Remove. + * gcc.target/arm/neon/vld1Q_dupu64.c: Remove. + * gcc.target/arm/neon/vld1Q_dupu8.c: Remove. + * gcc.target/arm/neon/vld1Q_lanef32.c: Remove. + * gcc.target/arm/neon/vld1Q_lanep16.c: Remove. + * gcc.target/arm/neon/vld1Q_lanep64.c: Remove. + * gcc.target/arm/neon/vld1Q_lanep8.c: Remove. + * gcc.target/arm/neon/vld1Q_lanes16.c: Remove. + * gcc.target/arm/neon/vld1Q_lanes32.c: Remove. + * gcc.target/arm/neon/vld1Q_lanes64.c: Remove. + * gcc.target/arm/neon/vld1Q_lanes8.c: Remove. + * gcc.target/arm/neon/vld1Q_laneu16.c: Remove. + * gcc.target/arm/neon/vld1Q_laneu32.c: Remove. + * gcc.target/arm/neon/vld1Q_laneu64.c: Remove. + * gcc.target/arm/neon/vld1Q_laneu8.c: Remove. + * gcc.target/arm/neon/vld1Qf32.c: Remove. + * gcc.target/arm/neon/vld1Qp16.c: Remove. + * gcc.target/arm/neon/vld1Qp64.c: Remove. + * gcc.target/arm/neon/vld1Qp8.c: Remove. + * gcc.target/arm/neon/vld1Qs16.c: Remove. + * gcc.target/arm/neon/vld1Qs32.c: Remove. + * gcc.target/arm/neon/vld1Qs64.c: Remove. + * gcc.target/arm/neon/vld1Qs8.c: Remove. + * gcc.target/arm/neon/vld1Qu16.c: Remove. + * gcc.target/arm/neon/vld1Qu32.c: Remove. + * gcc.target/arm/neon/vld1Qu64.c: Remove. + * gcc.target/arm/neon/vld1Qu8.c: Remove. + * gcc.target/arm/neon/vld1_dupf32.c: Remove. + * gcc.target/arm/neon/vld1_dupp16.c: Remove. + * gcc.target/arm/neon/vld1_dupp64.c: Remove. + * gcc.target/arm/neon/vld1_dupp8.c: Remove. + * gcc.target/arm/neon/vld1_dups16.c: Remove. + * gcc.target/arm/neon/vld1_dups32.c: Remove. + * gcc.target/arm/neon/vld1_dups64.c: Remove. + * gcc.target/arm/neon/vld1_dups8.c: Remove. + * gcc.target/arm/neon/vld1_dupu16.c: Remove. + * gcc.target/arm/neon/vld1_dupu32.c: Remove. + * gcc.target/arm/neon/vld1_dupu64.c: Remove. + * gcc.target/arm/neon/vld1_dupu8.c: Remove. + * gcc.target/arm/neon/vld1_lanef32.c: Remove. + * gcc.target/arm/neon/vld1_lanep16.c: Remove. + * gcc.target/arm/neon/vld1_lanep64.c: Remove. + * gcc.target/arm/neon/vld1_lanep8.c: Remove. + * gcc.target/arm/neon/vld1_lanes16.c: Remove. + * gcc.target/arm/neon/vld1_lanes32.c: Remove. + * gcc.target/arm/neon/vld1_lanes64.c: Remove. + * gcc.target/arm/neon/vld1_lanes8.c: Remove. + * gcc.target/arm/neon/vld1_laneu16.c: Remove. + * gcc.target/arm/neon/vld1_laneu32.c: Remove. + * gcc.target/arm/neon/vld1_laneu64.c: Remove. + * gcc.target/arm/neon/vld1_laneu8.c: Remove. + * gcc.target/arm/neon/vld1f32.c: Remove. + * gcc.target/arm/neon/vld1p16.c: Remove. + * gcc.target/arm/neon/vld1p64.c: Remove. + * gcc.target/arm/neon/vld1p8.c: Remove. + * gcc.target/arm/neon/vld1s16.c: Remove. + * gcc.target/arm/neon/vld1s32.c: Remove. + * gcc.target/arm/neon/vld1s64.c: Remove. + * gcc.target/arm/neon/vld1s8.c: Remove. + * gcc.target/arm/neon/vld1u16.c: Remove. + * gcc.target/arm/neon/vld1u32.c: Remove. + * gcc.target/arm/neon/vld1u64.c: Remove. + * gcc.target/arm/neon/vld1u8.c: Remove. + * gcc.target/arm/neon/vld2Q_lanef32.c: Remove. + * gcc.target/arm/neon/vld2Q_lanep16.c: Remove. + * gcc.target/arm/neon/vld2Q_lanes16.c: Remove. + * gcc.target/arm/neon/vld2Q_lanes32.c: Remove. + * gcc.target/arm/neon/vld2Q_laneu16.c: Remove. + * gcc.target/arm/neon/vld2Q_laneu32.c: Remove. + * gcc.target/arm/neon/vld2Qf32.c: Remove. + * gcc.target/arm/neon/vld2Qp16.c: Remove. + * gcc.target/arm/neon/vld2Qp8.c: Remove. + * gcc.target/arm/neon/vld2Qs16.c: Remove. + * gcc.target/arm/neon/vld2Qs32.c: Remove. + * gcc.target/arm/neon/vld2Qs8.c: Remove. + * gcc.target/arm/neon/vld2Qu16.c: Remove. + * gcc.target/arm/neon/vld2Qu32.c: Remove. + * gcc.target/arm/neon/vld2Qu8.c: Remove. + * gcc.target/arm/neon/vld2_dupf32.c: Remove. + * gcc.target/arm/neon/vld2_dupp16.c: Remove. + * gcc.target/arm/neon/vld2_dupp64.c: Remove. + * gcc.target/arm/neon/vld2_dupp8.c: Remove. + * gcc.target/arm/neon/vld2_dups16.c: Remove. + * gcc.target/arm/neon/vld2_dups32.c: Remove. + * gcc.target/arm/neon/vld2_dups64.c: Remove. + * gcc.target/arm/neon/vld2_dups8.c: Remove. + * gcc.target/arm/neon/vld2_dupu16.c: Remove. + * gcc.target/arm/neon/vld2_dupu32.c: Remove. + * gcc.target/arm/neon/vld2_dupu64.c: Remove. + * gcc.target/arm/neon/vld2_dupu8.c: Remove. + * gcc.target/arm/neon/vld2_lanef32.c: Remove. + * gcc.target/arm/neon/vld2_lanep16.c: Remove. + * gcc.target/arm/neon/vld2_lanep8.c: Remove. + * gcc.target/arm/neon/vld2_lanes16.c: Remove. + * gcc.target/arm/neon/vld2_lanes32.c: Remove. + * gcc.target/arm/neon/vld2_lanes8.c: Remove. + * gcc.target/arm/neon/vld2_laneu16.c: Remove. + * gcc.target/arm/neon/vld2_laneu32.c: Remove. + * gcc.target/arm/neon/vld2_laneu8.c: Remove. + * gcc.target/arm/neon/vld2f32.c: Remove. + * gcc.target/arm/neon/vld2p16.c: Remove. + * gcc.target/arm/neon/vld2p64.c: Remove. + * gcc.target/arm/neon/vld2p8.c: Remove. + * gcc.target/arm/neon/vld2s16.c: Remove. + * gcc.target/arm/neon/vld2s32.c: Remove. + * gcc.target/arm/neon/vld2s64.c: Remove. + * gcc.target/arm/neon/vld2s8.c: Remove. + * gcc.target/arm/neon/vld2u16.c: Remove. + * gcc.target/arm/neon/vld2u32.c: Remove. + * gcc.target/arm/neon/vld2u64.c: Remove. + * gcc.target/arm/neon/vld2u8.c: Remove. + * gcc.target/arm/neon/vld3Q_lanef32.c: Remove. + * gcc.target/arm/neon/vld3Q_lanep16.c: Remove. + * gcc.target/arm/neon/vld3Q_lanes16.c: Remove. + * gcc.target/arm/neon/vld3Q_lanes32.c: Remove. + * gcc.target/arm/neon/vld3Q_laneu16.c: Remove. + * gcc.target/arm/neon/vld3Q_laneu32.c: Remove. + * gcc.target/arm/neon/vld3Qf32.c: Remove. + * gcc.target/arm/neon/vld3Qp16.c: Remove. + * gcc.target/arm/neon/vld3Qp8.c: Remove. + * gcc.target/arm/neon/vld3Qs16.c: Remove. + * gcc.target/arm/neon/vld3Qs32.c: Remove. + * gcc.target/arm/neon/vld3Qs8.c: Remove. + * gcc.target/arm/neon/vld3Qu16.c: Remove. + * gcc.target/arm/neon/vld3Qu32.c: Remove. + * gcc.target/arm/neon/vld3Qu8.c: Remove. + * gcc.target/arm/neon/vld3_dupf32.c: Remove. + * gcc.target/arm/neon/vld3_dupp16.c: Remove. + * gcc.target/arm/neon/vld3_dupp64.c: Remove. + * gcc.target/arm/neon/vld3_dupp8.c: Remove. + * gcc.target/arm/neon/vld3_dups16.c: Remove. + * gcc.target/arm/neon/vld3_dups32.c: Remove. + * gcc.target/arm/neon/vld3_dups64.c: Remove. + * gcc.target/arm/neon/vld3_dups8.c: Remove. + * gcc.target/arm/neon/vld3_dupu16.c: Remove. + * gcc.target/arm/neon/vld3_dupu32.c: Remove. + * gcc.target/arm/neon/vld3_dupu64.c: Remove. + * gcc.target/arm/neon/vld3_dupu8.c: Remove. + * gcc.target/arm/neon/vld3_lanef32.c: Remove. + * gcc.target/arm/neon/vld3_lanep16.c: Remove. + * gcc.target/arm/neon/vld3_lanep8.c: Remove. + * gcc.target/arm/neon/vld3_lanes16.c: Remove. + * gcc.target/arm/neon/vld3_lanes32.c: Remove. + * gcc.target/arm/neon/vld3_lanes8.c: Remove. + * gcc.target/arm/neon/vld3_laneu16.c: Remove. + * gcc.target/arm/neon/vld3_laneu32.c: Remove. + * gcc.target/arm/neon/vld3_laneu8.c: Remove. + * gcc.target/arm/neon/vld3f32.c: Remove. + * gcc.target/arm/neon/vld3p16.c: Remove. + * gcc.target/arm/neon/vld3p64.c: Remove. + * gcc.target/arm/neon/vld3p8.c: Remove. + * gcc.target/arm/neon/vld3s16.c: Remove. + * gcc.target/arm/neon/vld3s32.c: Remove. + * gcc.target/arm/neon/vld3s64.c: Remove. + * gcc.target/arm/neon/vld3s8.c: Remove. + * gcc.target/arm/neon/vld3u16.c: Remove. + * gcc.target/arm/neon/vld3u32.c: Remove. + * gcc.target/arm/neon/vld3u64.c: Remove. + * gcc.target/arm/neon/vld3u8.c: Remove. + * gcc.target/arm/neon/vld4Q_lanef32.c: Remove. + * gcc.target/arm/neon/vld4Q_lanep16.c: Remove. + * gcc.target/arm/neon/vld4Q_lanes16.c: Remove. + * gcc.target/arm/neon/vld4Q_lanes32.c: Remove. + * gcc.target/arm/neon/vld4Q_laneu16.c: Remove. + * gcc.target/arm/neon/vld4Q_laneu32.c: Remove. + * gcc.target/arm/neon/vld4Qf32.c: Remove. + * gcc.target/arm/neon/vld4Qp16.c: Remove. + * gcc.target/arm/neon/vld4Qp8.c: Remove. + * gcc.target/arm/neon/vld4Qs16.c: Remove. + * gcc.target/arm/neon/vld4Qs32.c: Remove. + * gcc.target/arm/neon/vld4Qs8.c: Remove. + * gcc.target/arm/neon/vld4Qu16.c: Remove. + * gcc.target/arm/neon/vld4Qu32.c: Remove. + * gcc.target/arm/neon/vld4Qu8.c: Remove. + * gcc.target/arm/neon/vld4_dupf32.c: Remove. + * gcc.target/arm/neon/vld4_dupp16.c: Remove. + * gcc.target/arm/neon/vld4_dupp64.c: Remove. + * gcc.target/arm/neon/vld4_dupp8.c: Remove. + * gcc.target/arm/neon/vld4_dups16.c: Remove. + * gcc.target/arm/neon/vld4_dups32.c: Remove. + * gcc.target/arm/neon/vld4_dups64.c: Remove. + * gcc.target/arm/neon/vld4_dups8.c: Remove. + * gcc.target/arm/neon/vld4_dupu16.c: Remove. + * gcc.target/arm/neon/vld4_dupu32.c: Remove. + * gcc.target/arm/neon/vld4_dupu64.c: Remove. + * gcc.target/arm/neon/vld4_dupu8.c: Remove. + * gcc.target/arm/neon/vld4_lanef32.c: Remove. + * gcc.target/arm/neon/vld4_lanep16.c: Remove. + * gcc.target/arm/neon/vld4_lanep8.c: Remove. + * gcc.target/arm/neon/vld4_lanes16.c: Remove. + * gcc.target/arm/neon/vld4_lanes32.c: Remove. + * gcc.target/arm/neon/vld4_lanes8.c: Remove. + * gcc.target/arm/neon/vld4_laneu16.c: Remove. + * gcc.target/arm/neon/vld4_laneu32.c: Remove. + * gcc.target/arm/neon/vld4_laneu8.c: Remove. + * gcc.target/arm/neon/vld4f32.c: Remove. + * gcc.target/arm/neon/vld4p16.c: Remove. + * gcc.target/arm/neon/vld4p64.c: Remove. + * gcc.target/arm/neon/vld4p8.c: Remove. + * gcc.target/arm/neon/vld4s16.c: Remove. + * gcc.target/arm/neon/vld4s32.c: Remove. + * gcc.target/arm/neon/vld4s64.c: Remove. + * gcc.target/arm/neon/vld4s8.c: Remove. + * gcc.target/arm/neon/vld4u16.c: Remove. + * gcc.target/arm/neon/vld4u32.c: Remove. + * gcc.target/arm/neon/vld4u64.c: Remove. + * gcc.target/arm/neon/vld4u8.c: Remove. + * gcc.target/arm/neon/vmaxQf32.c: Remove. + * gcc.target/arm/neon/vmaxQs16.c: Remove. + * gcc.target/arm/neon/vmaxQs32.c: Remove. + * gcc.target/arm/neon/vmaxQs8.c: Remove. + * gcc.target/arm/neon/vmaxQu16.c: Remove. + * gcc.target/arm/neon/vmaxQu32.c: Remove. + * gcc.target/arm/neon/vmaxQu8.c: Remove. + * gcc.target/arm/neon/vmaxf32.c: Remove. + * gcc.target/arm/neon/vmaxs16.c: Remove. + * gcc.target/arm/neon/vmaxs32.c: Remove. + * gcc.target/arm/neon/vmaxs8.c: Remove. + * gcc.target/arm/neon/vmaxu16.c: Remove. + * gcc.target/arm/neon/vmaxu32.c: Remove. + * gcc.target/arm/neon/vmaxu8.c: Remove. + * gcc.target/arm/neon/vminQf32.c: Remove. + * gcc.target/arm/neon/vminQs16.c: Remove. + * gcc.target/arm/neon/vminQs32.c: Remove. + * gcc.target/arm/neon/vminQs8.c: Remove. + * gcc.target/arm/neon/vminQu16.c: Remove. + * gcc.target/arm/neon/vminQu32.c: Remove. + * gcc.target/arm/neon/vminQu8.c: Remove. + * gcc.target/arm/neon/vminf32.c: Remove. + * gcc.target/arm/neon/vmins16.c: Remove. + * gcc.target/arm/neon/vmins32.c: Remove. + * gcc.target/arm/neon/vmins8.c: Remove. + * gcc.target/arm/neon/vminu16.c: Remove. + * gcc.target/arm/neon/vminu32.c: Remove. + * gcc.target/arm/neon/vminu8.c: Remove. + * gcc.target/arm/neon/vmlaQ_lanef32.c: Remove. + * gcc.target/arm/neon/vmlaQ_lanes16.c: Remove. + * gcc.target/arm/neon/vmlaQ_lanes32.c: Remove. + * gcc.target/arm/neon/vmlaQ_laneu16.c: Remove. + * gcc.target/arm/neon/vmlaQ_laneu32.c: Remove. + * gcc.target/arm/neon/vmlaQ_nf32.c: Remove. + * gcc.target/arm/neon/vmlaQ_ns16.c: Remove. + * gcc.target/arm/neon/vmlaQ_ns32.c: Remove. + * gcc.target/arm/neon/vmlaQ_nu16.c: Remove. + * gcc.target/arm/neon/vmlaQ_nu32.c: Remove. + * gcc.target/arm/neon/vmlaQf32.c: Remove. + * gcc.target/arm/neon/vmlaQs16.c: Remove. + * gcc.target/arm/neon/vmlaQs32.c: Remove. + * gcc.target/arm/neon/vmlaQs8.c: Remove. + * gcc.target/arm/neon/vmlaQu16.c: Remove. + * gcc.target/arm/neon/vmlaQu32.c: Remove. + * gcc.target/arm/neon/vmlaQu8.c: Remove. + * gcc.target/arm/neon/vmla_lanef32.c: Remove. + * gcc.target/arm/neon/vmla_lanes16.c: Remove. + * gcc.target/arm/neon/vmla_lanes32.c: Remove. + * gcc.target/arm/neon/vmla_laneu16.c: Remove. + * gcc.target/arm/neon/vmla_laneu32.c: Remove. + * gcc.target/arm/neon/vmla_nf32.c: Remove. + * gcc.target/arm/neon/vmla_ns16.c: Remove. + * gcc.target/arm/neon/vmla_ns32.c: Remove. + * gcc.target/arm/neon/vmla_nu16.c: Remove. + * gcc.target/arm/neon/vmla_nu32.c: Remove. + * gcc.target/arm/neon/vmlaf32.c: Remove. + * gcc.target/arm/neon/vmlal_lanes16.c: Remove. + * gcc.target/arm/neon/vmlal_lanes32.c: Remove. + * gcc.target/arm/neon/vmlal_laneu16.c: Remove. + * gcc.target/arm/neon/vmlal_laneu32.c: Remove. + * gcc.target/arm/neon/vmlal_ns16.c: Remove. + * gcc.target/arm/neon/vmlal_ns32.c: Remove. + * gcc.target/arm/neon/vmlal_nu16.c: Remove. + * gcc.target/arm/neon/vmlal_nu32.c: Remove. + * gcc.target/arm/neon/vmlals16.c: Remove. + * gcc.target/arm/neon/vmlals32.c: Remove. + * gcc.target/arm/neon/vmlals8.c: Remove. + * gcc.target/arm/neon/vmlalu16.c: Remove. + * gcc.target/arm/neon/vmlalu32.c: Remove. + * gcc.target/arm/neon/vmlalu8.c: Remove. + * gcc.target/arm/neon/vmlas16.c: Remove. + * gcc.target/arm/neon/vmlas32.c: Remove. + * gcc.target/arm/neon/vmlas8.c: Remove. + * gcc.target/arm/neon/vmlau16.c: Remove. + * gcc.target/arm/neon/vmlau32.c: Remove. + * gcc.target/arm/neon/vmlau8.c: Remove. + * gcc.target/arm/neon/vmlsQ_lanef32.c: Remove. + * gcc.target/arm/neon/vmlsQ_lanes16.c: Remove. + * gcc.target/arm/neon/vmlsQ_lanes32.c: Remove. + * gcc.target/arm/neon/vmlsQ_laneu16.c: Remove. + * gcc.target/arm/neon/vmlsQ_laneu32.c: Remove. + * gcc.target/arm/neon/vmlsQ_nf32.c: Remove. + * gcc.target/arm/neon/vmlsQ_ns16.c: Remove. + * gcc.target/arm/neon/vmlsQ_ns32.c: Remove. + * gcc.target/arm/neon/vmlsQ_nu16.c: Remove. + * gcc.target/arm/neon/vmlsQ_nu32.c: Remove. + * gcc.target/arm/neon/vmlsQf32.c: Remove. + * gcc.target/arm/neon/vmlsQs16.c: Remove. + * gcc.target/arm/neon/vmlsQs32.c: Remove. + * gcc.target/arm/neon/vmlsQs8.c: Remove. + * gcc.target/arm/neon/vmlsQu16.c: Remove. + * gcc.target/arm/neon/vmlsQu32.c: Remove. + * gcc.target/arm/neon/vmlsQu8.c: Remove. + * gcc.target/arm/neon/vmls_lanef32.c: Remove. + * gcc.target/arm/neon/vmls_lanes16.c: Remove. + * gcc.target/arm/neon/vmls_lanes32.c: Remove. + * gcc.target/arm/neon/vmls_laneu16.c: Remove. + * gcc.target/arm/neon/vmls_laneu32.c: Remove. + * gcc.target/arm/neon/vmls_nf32.c: Remove. + * gcc.target/arm/neon/vmls_ns16.c: Remove. + * gcc.target/arm/neon/vmls_ns32.c: Remove. + * gcc.target/arm/neon/vmls_nu16.c: Remove. + * gcc.target/arm/neon/vmls_nu32.c: Remove. + * gcc.target/arm/neon/vmlsf32.c: Remove. + * gcc.target/arm/neon/vmlsl_lanes16.c: Remove. + * gcc.target/arm/neon/vmlsl_lanes32.c: Remove. + * gcc.target/arm/neon/vmlsl_laneu16.c: Remove. + * gcc.target/arm/neon/vmlsl_laneu32.c: Remove. + * gcc.target/arm/neon/vmlsl_ns16.c: Remove. + * gcc.target/arm/neon/vmlsl_ns32.c: Remove. + * gcc.target/arm/neon/vmlsl_nu16.c: Remove. + * gcc.target/arm/neon/vmlsl_nu32.c: Remove. + * gcc.target/arm/neon/vmlsls16.c: Remove. + * gcc.target/arm/neon/vmlsls32.c: Remove. + * gcc.target/arm/neon/vmlsls8.c: Remove. + * gcc.target/arm/neon/vmlslu16.c: Remove. + * gcc.target/arm/neon/vmlslu32.c: Remove. + * gcc.target/arm/neon/vmlslu8.c: Remove. + * gcc.target/arm/neon/vmlss16.c: Remove. + * gcc.target/arm/neon/vmlss32.c: Remove. + * gcc.target/arm/neon/vmlss8.c: Remove. + * gcc.target/arm/neon/vmlsu16.c: Remove. + * gcc.target/arm/neon/vmlsu32.c: Remove. + * gcc.target/arm/neon/vmlsu8.c: Remove. + * gcc.target/arm/neon/vmovQ_nf32.c: Remove. + * gcc.target/arm/neon/vmovQ_np16.c: Remove. + * gcc.target/arm/neon/vmovQ_np8.c: Remove. + * gcc.target/arm/neon/vmovQ_ns16.c: Remove. + * gcc.target/arm/neon/vmovQ_ns32.c: Remove. + * gcc.target/arm/neon/vmovQ_ns64.c: Remove. + * gcc.target/arm/neon/vmovQ_ns8.c: Remove. + * gcc.target/arm/neon/vmovQ_nu16.c: Remove. + * gcc.target/arm/neon/vmovQ_nu32.c: Remove. + * gcc.target/arm/neon/vmovQ_nu64.c: Remove. + * gcc.target/arm/neon/vmovQ_nu8.c: Remove. + * gcc.target/arm/neon/vmov_nf32.c: Remove. + * gcc.target/arm/neon/vmov_np16.c: Remove. + * gcc.target/arm/neon/vmov_np8.c: Remove. + * gcc.target/arm/neon/vmov_ns16.c: Remove. + * gcc.target/arm/neon/vmov_ns32.c: Remove. + * gcc.target/arm/neon/vmov_ns64.c: Remove. + * gcc.target/arm/neon/vmov_ns8.c: Remove. + * gcc.target/arm/neon/vmov_nu16.c: Remove. + * gcc.target/arm/neon/vmov_nu32.c: Remove. + * gcc.target/arm/neon/vmov_nu64.c: Remove. + * gcc.target/arm/neon/vmov_nu8.c: Remove. + * gcc.target/arm/neon/vmovls16.c: Remove. + * gcc.target/arm/neon/vmovls32.c: Remove. + * gcc.target/arm/neon/vmovls8.c: Remove. + * gcc.target/arm/neon/vmovlu16.c: Remove. + * gcc.target/arm/neon/vmovlu32.c: Remove. + * gcc.target/arm/neon/vmovlu8.c: Remove. + * gcc.target/arm/neon/vmovns16.c: Remove. + * gcc.target/arm/neon/vmovns32.c: Remove. + * gcc.target/arm/neon/vmovns64.c: Remove. + * gcc.target/arm/neon/vmovnu16.c: Remove. + * gcc.target/arm/neon/vmovnu32.c: Remove. + * gcc.target/arm/neon/vmovnu64.c: Remove. + * gcc.target/arm/neon/vmulQ_lanef32.c: Remove. + * gcc.target/arm/neon/vmulQ_lanes16.c: Remove. + * gcc.target/arm/neon/vmulQ_lanes32.c: Remove. + * gcc.target/arm/neon/vmulQ_laneu16.c: Remove. + * gcc.target/arm/neon/vmulQ_laneu32.c: Remove. + * gcc.target/arm/neon/vmulQ_nf32.c: Remove. + * gcc.target/arm/neon/vmulQ_ns16.c: Remove. + * gcc.target/arm/neon/vmulQ_ns32.c: Remove. + * gcc.target/arm/neon/vmulQ_nu16.c: Remove. + * gcc.target/arm/neon/vmulQ_nu32.c: Remove. + * gcc.target/arm/neon/vmulQf32.c: Remove. + * gcc.target/arm/neon/vmulQp8.c: Remove. + * gcc.target/arm/neon/vmulQs16.c: Remove. + * gcc.target/arm/neon/vmulQs32.c: Remove. + * gcc.target/arm/neon/vmulQs8.c: Remove. + * gcc.target/arm/neon/vmulQu16.c: Remove. + * gcc.target/arm/neon/vmulQu32.c: Remove. + * gcc.target/arm/neon/vmulQu8.c: Remove. + * gcc.target/arm/neon/vmul_lanef32.c: Remove. + * gcc.target/arm/neon/vmul_lanes16.c: Remove. + * gcc.target/arm/neon/vmul_lanes32.c: Remove. + * gcc.target/arm/neon/vmul_laneu16.c: Remove. + * gcc.target/arm/neon/vmul_laneu32.c: Remove. + * gcc.target/arm/neon/vmul_nf32.c: Remove. + * gcc.target/arm/neon/vmul_ns16.c: Remove. + * gcc.target/arm/neon/vmul_ns32.c: Remove. + * gcc.target/arm/neon/vmul_nu16.c: Remove. + * gcc.target/arm/neon/vmul_nu32.c: Remove. + * gcc.target/arm/neon/vmulf32.c: Remove. + * gcc.target/arm/neon/vmull_lanes16.c: Remove. + * gcc.target/arm/neon/vmull_lanes32.c: Remove. + * gcc.target/arm/neon/vmull_laneu16.c: Remove. + * gcc.target/arm/neon/vmull_laneu32.c: Remove. + * gcc.target/arm/neon/vmull_ns16.c: Remove. + * gcc.target/arm/neon/vmull_ns32.c: Remove. + * gcc.target/arm/neon/vmull_nu16.c: Remove. + * gcc.target/arm/neon/vmull_nu32.c: Remove. + * gcc.target/arm/neon/vmullp8.c: Remove. + * gcc.target/arm/neon/vmulls16.c: Remove. + * gcc.target/arm/neon/vmulls32.c: Remove. + * gcc.target/arm/neon/vmulls8.c: Remove. + * gcc.target/arm/neon/vmullu16.c: Remove. + * gcc.target/arm/neon/vmullu32.c: Remove. + * gcc.target/arm/neon/vmullu8.c: Remove. + * gcc.target/arm/neon/vmulp8.c: Remove. + * gcc.target/arm/neon/vmuls16.c: Remove. + * gcc.target/arm/neon/vmuls32.c: Remove. + * gcc.target/arm/neon/vmuls8.c: Remove. + * gcc.target/arm/neon/vmulu16.c: Remove. + * gcc.target/arm/neon/vmulu32.c: Remove. + * gcc.target/arm/neon/vmulu8.c: Remove. + * gcc.target/arm/neon/vmvnQp8.c: Remove. + * gcc.target/arm/neon/vmvnQs16.c: Remove. + * gcc.target/arm/neon/vmvnQs32.c: Remove. + * gcc.target/arm/neon/vmvnQs8.c: Remove. + * gcc.target/arm/neon/vmvnQu16.c: Remove. + * gcc.target/arm/neon/vmvnQu32.c: Remove. + * gcc.target/arm/neon/vmvnQu8.c: Remove. + * gcc.target/arm/neon/vmvnp8.c: Remove. + * gcc.target/arm/neon/vmvns16.c: Remove. + * gcc.target/arm/neon/vmvns32.c: Remove. + * gcc.target/arm/neon/vmvns8.c: Remove. + * gcc.target/arm/neon/vmvnu16.c: Remove. + * gcc.target/arm/neon/vmvnu32.c: Remove. + * gcc.target/arm/neon/vmvnu8.c: Remove. + * gcc.target/arm/neon/vnegQf32.c: Remove. + * gcc.target/arm/neon/vnegQs16.c: Remove. + * gcc.target/arm/neon/vnegQs32.c: Remove. + * gcc.target/arm/neon/vnegQs8.c: Remove. + * gcc.target/arm/neon/vnegf32.c: Remove. + * gcc.target/arm/neon/vnegs16.c: Remove. + * gcc.target/arm/neon/vnegs32.c: Remove. + * gcc.target/arm/neon/vnegs8.c: Remove. + * gcc.target/arm/neon/vornQs16.c: Remove. + * gcc.target/arm/neon/vornQs32.c: Remove. + * gcc.target/arm/neon/vornQs64.c: Remove. + * gcc.target/arm/neon/vornQs8.c: Remove. + * gcc.target/arm/neon/vornQu16.c: Remove. + * gcc.target/arm/neon/vornQu32.c: Remove. + * gcc.target/arm/neon/vornQu64.c: Remove. + * gcc.target/arm/neon/vornQu8.c: Remove. + * gcc.target/arm/neon/vorns16.c: Remove. + * gcc.target/arm/neon/vorns32.c: Remove. + * gcc.target/arm/neon/vorns64.c: Remove. + * gcc.target/arm/neon/vorns8.c: Remove. + * gcc.target/arm/neon/vornu16.c: Remove. + * gcc.target/arm/neon/vornu32.c: Remove. + * gcc.target/arm/neon/vornu64.c: Remove. + * gcc.target/arm/neon/vornu8.c: Remove. + * gcc.target/arm/neon/vorrQs16.c: Remove. + * gcc.target/arm/neon/vorrQs32.c: Remove. + * gcc.target/arm/neon/vorrQs64.c: Remove. + * gcc.target/arm/neon/vorrQs8.c: Remove. + * gcc.target/arm/neon/vorrQu16.c: Remove. + * gcc.target/arm/neon/vorrQu32.c: Remove. + * gcc.target/arm/neon/vorrQu64.c: Remove. + * gcc.target/arm/neon/vorrQu8.c: Remove. + * gcc.target/arm/neon/vorrs16.c: Remove. + * gcc.target/arm/neon/vorrs32.c: Remove. + * gcc.target/arm/neon/vorrs64.c: Remove. + * gcc.target/arm/neon/vorrs8.c: Remove. + * gcc.target/arm/neon/vorru16.c: Remove. + * gcc.target/arm/neon/vorru32.c: Remove. + * gcc.target/arm/neon/vorru64.c: Remove. + * gcc.target/arm/neon/vorru8.c: Remove. + * gcc.target/arm/neon/vpadalQs16.c: Remove. + * gcc.target/arm/neon/vpadalQs32.c: Remove. + * gcc.target/arm/neon/vpadalQs8.c: Remove. + * gcc.target/arm/neon/vpadalQu16.c: Remove. + * gcc.target/arm/neon/vpadalQu32.c: Remove. + * gcc.target/arm/neon/vpadalQu8.c: Remove. + * gcc.target/arm/neon/vpadals16.c: Remove. + * gcc.target/arm/neon/vpadals32.c: Remove. + * gcc.target/arm/neon/vpadals8.c: Remove. + * gcc.target/arm/neon/vpadalu16.c: Remove. + * gcc.target/arm/neon/vpadalu32.c: Remove. + * gcc.target/arm/neon/vpadalu8.c: Remove. + * gcc.target/arm/neon/vpaddf32.c: Remove. + * gcc.target/arm/neon/vpaddlQs16.c: Remove. + * gcc.target/arm/neon/vpaddlQs32.c: Remove. + * gcc.target/arm/neon/vpaddlQs8.c: Remove. + * gcc.target/arm/neon/vpaddlQu16.c: Remove. + * gcc.target/arm/neon/vpaddlQu32.c: Remove. + * gcc.target/arm/neon/vpaddlQu8.c: Remove. + * gcc.target/arm/neon/vpaddls16.c: Remove. + * gcc.target/arm/neon/vpaddls32.c: Remove. + * gcc.target/arm/neon/vpaddls8.c: Remove. + * gcc.target/arm/neon/vpaddlu16.c: Remove. + * gcc.target/arm/neon/vpaddlu32.c: Remove. + * gcc.target/arm/neon/vpaddlu8.c: Remove. + * gcc.target/arm/neon/vpadds16.c: Remove. + * gcc.target/arm/neon/vpadds32.c: Remove. + * gcc.target/arm/neon/vpadds8.c: Remove. + * gcc.target/arm/neon/vpaddu16.c: Remove. + * gcc.target/arm/neon/vpaddu32.c: Remove. + * gcc.target/arm/neon/vpaddu8.c: Remove. + * gcc.target/arm/neon/vpmaxf32.c: Remove. + * gcc.target/arm/neon/vpmaxs16.c: Remove. + * gcc.target/arm/neon/vpmaxs32.c: Remove. + * gcc.target/arm/neon/vpmaxs8.c: Remove. + * gcc.target/arm/neon/vpmaxu16.c: Remove. + * gcc.target/arm/neon/vpmaxu32.c: Remove. + * gcc.target/arm/neon/vpmaxu8.c: Remove. + * gcc.target/arm/neon/vpminf32.c: Remove. + * gcc.target/arm/neon/vpmins16.c: Remove. + * gcc.target/arm/neon/vpmins32.c: Remove. + * gcc.target/arm/neon/vpmins8.c: Remove. + * gcc.target/arm/neon/vpminu16.c: Remove. + * gcc.target/arm/neon/vpminu32.c: Remove. + * gcc.target/arm/neon/vpminu8.c: Remove. + * gcc.target/arm/neon/vqRdmulhQ_lanes16.c: Remove. + * gcc.target/arm/neon/vqRdmulhQ_lanes32.c: Remove. + * gcc.target/arm/neon/vqRdmulhQ_ns16.c: Remove. + * gcc.target/arm/neon/vqRdmulhQ_ns32.c: Remove. + * gcc.target/arm/neon/vqRdmulhQs16.c: Remove. + * gcc.target/arm/neon/vqRdmulhQs32.c: Remove. + * gcc.target/arm/neon/vqRdmulh_lanes16.c: Remove. + * gcc.target/arm/neon/vqRdmulh_lanes32.c: Remove. + * gcc.target/arm/neon/vqRdmulh_ns16.c: Remove. + * gcc.target/arm/neon/vqRdmulh_ns32.c: Remove. + * gcc.target/arm/neon/vqRdmulhs16.c: Remove. + * gcc.target/arm/neon/vqRdmulhs32.c: Remove. + * gcc.target/arm/neon/vqRshlQs16.c: Remove. + * gcc.target/arm/neon/vqRshlQs32.c: Remove. + * gcc.target/arm/neon/vqRshlQs64.c: Remove. + * gcc.target/arm/neon/vqRshlQs8.c: Remove. + * gcc.target/arm/neon/vqRshlQu16.c: Remove. + * gcc.target/arm/neon/vqRshlQu32.c: Remove. + * gcc.target/arm/neon/vqRshlQu64.c: Remove. + * gcc.target/arm/neon/vqRshlQu8.c: Remove. + * gcc.target/arm/neon/vqRshls16.c: Remove. + * gcc.target/arm/neon/vqRshls32.c: Remove. + * gcc.target/arm/neon/vqRshls64.c: Remove. + * gcc.target/arm/neon/vqRshls8.c: Remove. + * gcc.target/arm/neon/vqRshlu16.c: Remove. + * gcc.target/arm/neon/vqRshlu32.c: Remove. + * gcc.target/arm/neon/vqRshlu64.c: Remove. + * gcc.target/arm/neon/vqRshlu8.c: Remove. + * gcc.target/arm/neon/vqRshrn_ns16.c: Remove. + * gcc.target/arm/neon/vqRshrn_ns32.c: Remove. + * gcc.target/arm/neon/vqRshrn_ns64.c: Remove. + * gcc.target/arm/neon/vqRshrn_nu16.c: Remove. + * gcc.target/arm/neon/vqRshrn_nu32.c: Remove. + * gcc.target/arm/neon/vqRshrn_nu64.c: Remove. + * gcc.target/arm/neon/vqRshrun_ns16.c: Remove. + * gcc.target/arm/neon/vqRshrun_ns32.c: Remove. + * gcc.target/arm/neon/vqRshrun_ns64.c: Remove. + * gcc.target/arm/neon/vqabsQs16.c: Remove. + * gcc.target/arm/neon/vqabsQs32.c: Remove. + * gcc.target/arm/neon/vqabsQs8.c: Remove. + * gcc.target/arm/neon/vqabss16.c: Remove. + * gcc.target/arm/neon/vqabss32.c: Remove. + * gcc.target/arm/neon/vqabss8.c: Remove. + * gcc.target/arm/neon/vqaddQs16.c: Remove. + * gcc.target/arm/neon/vqaddQs32.c: Remove. + * gcc.target/arm/neon/vqaddQs64.c: Remove. + * gcc.target/arm/neon/vqaddQs8.c: Remove. + * gcc.target/arm/neon/vqaddQu16.c: Remove. + * gcc.target/arm/neon/vqaddQu32.c: Remove. + * gcc.target/arm/neon/vqaddQu64.c: Remove. + * gcc.target/arm/neon/vqaddQu8.c: Remove. + * gcc.target/arm/neon/vqadds16.c: Remove. + * gcc.target/arm/neon/vqadds32.c: Remove. + * gcc.target/arm/neon/vqadds64.c: Remove. + * gcc.target/arm/neon/vqadds8.c: Remove. + * gcc.target/arm/neon/vqaddu16.c: Remove. + * gcc.target/arm/neon/vqaddu32.c: Remove. + * gcc.target/arm/neon/vqaddu64.c: Remove. + * gcc.target/arm/neon/vqaddu8.c: Remove. + * gcc.target/arm/neon/vqdmlal_lanes16.c: Remove. + * gcc.target/arm/neon/vqdmlal_lanes32.c: Remove. + * gcc.target/arm/neon/vqdmlal_ns16.c: Remove. + * gcc.target/arm/neon/vqdmlal_ns32.c: Remove. + * gcc.target/arm/neon/vqdmlals16.c: Remove. + * gcc.target/arm/neon/vqdmlals32.c: Remove. + * gcc.target/arm/neon/vqdmlsl_lanes16.c: Remove. + * gcc.target/arm/neon/vqdmlsl_lanes32.c: Remove. + * gcc.target/arm/neon/vqdmlsl_ns16.c: Remove. + * gcc.target/arm/neon/vqdmlsl_ns32.c: Remove. + * gcc.target/arm/neon/vqdmlsls16.c: Remove. + * gcc.target/arm/neon/vqdmlsls32.c: Remove. + * gcc.target/arm/neon/vqdmulhQ_lanes16.c: Remove. + * gcc.target/arm/neon/vqdmulhQ_lanes32.c: Remove. + * gcc.target/arm/neon/vqdmulhQ_ns16.c: Remove. + * gcc.target/arm/neon/vqdmulhQ_ns32.c: Remove. + * gcc.target/arm/neon/vqdmulhQs16.c: Remove. + * gcc.target/arm/neon/vqdmulhQs32.c: Remove. + * gcc.target/arm/neon/vqdmulh_lanes16.c: Remove. + * gcc.target/arm/neon/vqdmulh_lanes32.c: Remove. + * gcc.target/arm/neon/vqdmulh_ns16.c: Remove. + * gcc.target/arm/neon/vqdmulh_ns32.c: Remove. + * gcc.target/arm/neon/vqdmulhs16.c: Remove. + * gcc.target/arm/neon/vqdmulhs32.c: Remove. + * gcc.target/arm/neon/vqdmull_lanes16.c: Remove. + * gcc.target/arm/neon/vqdmull_lanes32.c: Remove. + * gcc.target/arm/neon/vqdmull_ns16.c: Remove. + * gcc.target/arm/neon/vqdmull_ns32.c: Remove. + * gcc.target/arm/neon/vqdmulls16.c: Remove. + * gcc.target/arm/neon/vqdmulls32.c: Remove. + * gcc.target/arm/neon/vqmovns16.c: Remove. + * gcc.target/arm/neon/vqmovns32.c: Remove. + * gcc.target/arm/neon/vqmovns64.c: Remove. + * gcc.target/arm/neon/vqmovnu16.c: Remove. + * gcc.target/arm/neon/vqmovnu32.c: Remove. + * gcc.target/arm/neon/vqmovnu64.c: Remove. + * gcc.target/arm/neon/vqmovuns16.c: Remove. + * gcc.target/arm/neon/vqmovuns32.c: Remove. + * gcc.target/arm/neon/vqmovuns64.c: Remove. + * gcc.target/arm/neon/vqnegQs16.c: Remove. + * gcc.target/arm/neon/vqnegQs32.c: Remove. + * gcc.target/arm/neon/vqnegQs8.c: Remove. + * gcc.target/arm/neon/vqnegs16.c: Remove. + * gcc.target/arm/neon/vqnegs32.c: Remove. + * gcc.target/arm/neon/vqnegs8.c: Remove. + * gcc.target/arm/neon/vqshlQ_ns16.c: Remove. + * gcc.target/arm/neon/vqshlQ_ns32.c: Remove. + * gcc.target/arm/neon/vqshlQ_ns64.c: Remove. + * gcc.target/arm/neon/vqshlQ_ns8.c: Remove. + * gcc.target/arm/neon/vqshlQ_nu16.c: Remove. + * gcc.target/arm/neon/vqshlQ_nu32.c: Remove. + * gcc.target/arm/neon/vqshlQ_nu64.c: Remove. + * gcc.target/arm/neon/vqshlQ_nu8.c: Remove. + * gcc.target/arm/neon/vqshlQs16.c: Remove. + * gcc.target/arm/neon/vqshlQs32.c: Remove. + * gcc.target/arm/neon/vqshlQs64.c: Remove. + * gcc.target/arm/neon/vqshlQs8.c: Remove. + * gcc.target/arm/neon/vqshlQu16.c: Remove. + * gcc.target/arm/neon/vqshlQu32.c: Remove. + * gcc.target/arm/neon/vqshlQu64.c: Remove. + * gcc.target/arm/neon/vqshlQu8.c: Remove. + * gcc.target/arm/neon/vqshl_ns16.c: Remove. + * gcc.target/arm/neon/vqshl_ns32.c: Remove. + * gcc.target/arm/neon/vqshl_ns64.c: Remove. + * gcc.target/arm/neon/vqshl_ns8.c: Remove. + * gcc.target/arm/neon/vqshl_nu16.c: Remove. + * gcc.target/arm/neon/vqshl_nu32.c: Remove. + * gcc.target/arm/neon/vqshl_nu64.c: Remove. + * gcc.target/arm/neon/vqshl_nu8.c: Remove. + * gcc.target/arm/neon/vqshls16.c: Remove. + * gcc.target/arm/neon/vqshls32.c: Remove. + * gcc.target/arm/neon/vqshls64.c: Remove. + * gcc.target/arm/neon/vqshls8.c: Remove. + * gcc.target/arm/neon/vqshlu16.c: Remove. + * gcc.target/arm/neon/vqshlu32.c: Remove. + * gcc.target/arm/neon/vqshlu64.c: Remove. + * gcc.target/arm/neon/vqshlu8.c: Remove. + * gcc.target/arm/neon/vqshluQ_ns16.c: Remove. + * gcc.target/arm/neon/vqshluQ_ns32.c: Remove. + * gcc.target/arm/neon/vqshluQ_ns64.c: Remove. + * gcc.target/arm/neon/vqshluQ_ns8.c: Remove. + * gcc.target/arm/neon/vqshlu_ns16.c: Remove. + * gcc.target/arm/neon/vqshlu_ns32.c: Remove. + * gcc.target/arm/neon/vqshlu_ns64.c: Remove. + * gcc.target/arm/neon/vqshlu_ns8.c: Remove. + * gcc.target/arm/neon/vqshrn_ns16.c: Remove. + * gcc.target/arm/neon/vqshrn_ns32.c: Remove. + * gcc.target/arm/neon/vqshrn_ns64.c: Remove. + * gcc.target/arm/neon/vqshrn_nu16.c: Remove. + * gcc.target/arm/neon/vqshrn_nu32.c: Remove. + * gcc.target/arm/neon/vqshrn_nu64.c: Remove. + * gcc.target/arm/neon/vqshrun_ns16.c: Remove. + * gcc.target/arm/neon/vqshrun_ns32.c: Remove. + * gcc.target/arm/neon/vqshrun_ns64.c: Remove. + * gcc.target/arm/neon/vqsubQs16.c: Remove. + * gcc.target/arm/neon/vqsubQs32.c: Remove. + * gcc.target/arm/neon/vqsubQs64.c: Remove. + * gcc.target/arm/neon/vqsubQs8.c: Remove. + * gcc.target/arm/neon/vqsubQu16.c: Remove. + * gcc.target/arm/neon/vqsubQu32.c: Remove. + * gcc.target/arm/neon/vqsubQu64.c: Remove. + * gcc.target/arm/neon/vqsubQu8.c: Remove. + * gcc.target/arm/neon/vqsubs16.c: Remove. + * gcc.target/arm/neon/vqsubs32.c: Remove. + * gcc.target/arm/neon/vqsubs64.c: Remove. + * gcc.target/arm/neon/vqsubs8.c: Remove. + * gcc.target/arm/neon/vqsubu16.c: Remove. + * gcc.target/arm/neon/vqsubu32.c: Remove. + * gcc.target/arm/neon/vqsubu64.c: Remove. + * gcc.target/arm/neon/vqsubu8.c: Remove. + * gcc.target/arm/neon/vrecpeQf32.c: Remove. + * gcc.target/arm/neon/vrecpeQu32.c: Remove. + * gcc.target/arm/neon/vrecpef32.c: Remove. + * gcc.target/arm/neon/vrecpeu32.c: Remove. + * gcc.target/arm/neon/vrecpsQf32.c: Remove. + * gcc.target/arm/neon/vrecpsf32.c: Remove. + * gcc.target/arm/neon/vreinterpretQf32_p128.c: Remove. + * gcc.target/arm/neon/vreinterpretQf32_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretQf32_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretQf32_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretQf32_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretQf32_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretQf32_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretQf32_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretQf32_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretQf32_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretQf32_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretQf32_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretQp128_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretQp128_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretQp128_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretQp128_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretQp128_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretQp128_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretQp128_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretQp128_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretQp128_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretQp128_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretQp128_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretQp128_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretQp16_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretQp16_p128.c: Remove. + * gcc.target/arm/neon/vreinterpretQp16_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretQp16_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretQp16_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretQp16_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretQp16_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretQp16_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretQp16_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretQp16_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretQp16_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretQp16_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretQp64_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretQp64_p128.c: Remove. + * gcc.target/arm/neon/vreinterpretQp64_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretQp64_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretQp64_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretQp64_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretQp64_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretQp64_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretQp64_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretQp64_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretQp64_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretQp64_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretQp8_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretQp8_p128.c: Remove. + * gcc.target/arm/neon/vreinterpretQp8_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretQp8_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretQp8_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretQp8_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretQp8_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretQp8_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretQp8_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretQp8_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretQp8_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretQp8_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretQs16_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretQs16_p128.c: Remove. + * gcc.target/arm/neon/vreinterpretQs16_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretQs16_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretQs16_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretQs16_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretQs16_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretQs16_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretQs16_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretQs16_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretQs16_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretQs16_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretQs32_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretQs32_p128.c: Remove. + * gcc.target/arm/neon/vreinterpretQs32_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretQs32_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretQs32_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretQs32_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretQs32_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretQs32_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretQs32_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretQs32_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretQs32_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretQs32_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretQs64_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretQs64_p128.c: Remove. + * gcc.target/arm/neon/vreinterpretQs64_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretQs64_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretQs64_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretQs64_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretQs64_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretQs64_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretQs64_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretQs64_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretQs64_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretQs64_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretQs8_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretQs8_p128.c: Remove. + * gcc.target/arm/neon/vreinterpretQs8_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretQs8_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretQs8_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretQs8_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretQs8_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretQs8_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretQs8_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretQs8_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretQs8_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretQs8_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretQu16_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretQu16_p128.c: Remove. + * gcc.target/arm/neon/vreinterpretQu16_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretQu16_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretQu16_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretQu16_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretQu16_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretQu16_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretQu16_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretQu16_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretQu16_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretQu16_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretQu32_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretQu32_p128.c: Remove. + * gcc.target/arm/neon/vreinterpretQu32_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretQu32_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretQu32_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretQu32_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretQu32_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretQu32_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretQu32_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretQu32_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretQu32_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretQu32_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretQu64_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretQu64_p128.c: Remove. + * gcc.target/arm/neon/vreinterpretQu64_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretQu64_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretQu64_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretQu64_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretQu64_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretQu64_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretQu64_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretQu64_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretQu64_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretQu64_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretQu8_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretQu8_p128.c: Remove. + * gcc.target/arm/neon/vreinterpretQu8_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretQu8_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretQu8_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretQu8_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretQu8_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretQu8_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretQu8_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretQu8_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretQu8_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretQu8_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretf32_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretf32_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretf32_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretf32_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretf32_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretf32_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretf32_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretf32_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretf32_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretf32_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretf32_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretp16_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretp16_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretp16_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretp16_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretp16_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretp16_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretp16_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretp16_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretp16_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretp16_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretp16_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretp64_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretp64_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretp64_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretp64_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretp64_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretp64_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretp64_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretp64_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretp64_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretp64_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretp64_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretp8_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretp8_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretp8_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretp8_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretp8_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretp8_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretp8_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretp8_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretp8_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretp8_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretp8_u8.c: Remove. + * gcc.target/arm/neon/vreinterprets16_f32.c: Remove. + * gcc.target/arm/neon/vreinterprets16_p16.c: Remove. + * gcc.target/arm/neon/vreinterprets16_p64.c: Remove. + * gcc.target/arm/neon/vreinterprets16_p8.c: Remove. + * gcc.target/arm/neon/vreinterprets16_s32.c: Remove. + * gcc.target/arm/neon/vreinterprets16_s64.c: Remove. + * gcc.target/arm/neon/vreinterprets16_s8.c: Remove. + * gcc.target/arm/neon/vreinterprets16_u16.c: Remove. + * gcc.target/arm/neon/vreinterprets16_u32.c: Remove. + * gcc.target/arm/neon/vreinterprets16_u64.c: Remove. + * gcc.target/arm/neon/vreinterprets16_u8.c: Remove. + * gcc.target/arm/neon/vreinterprets32_f32.c: Remove. + * gcc.target/arm/neon/vreinterprets32_p16.c: Remove. + * gcc.target/arm/neon/vreinterprets32_p64.c: Remove. + * gcc.target/arm/neon/vreinterprets32_p8.c: Remove. + * gcc.target/arm/neon/vreinterprets32_s16.c: Remove. + * gcc.target/arm/neon/vreinterprets32_s64.c: Remove. + * gcc.target/arm/neon/vreinterprets32_s8.c: Remove. + * gcc.target/arm/neon/vreinterprets32_u16.c: Remove. + * gcc.target/arm/neon/vreinterprets32_u32.c: Remove. + * gcc.target/arm/neon/vreinterprets32_u64.c: Remove. + * gcc.target/arm/neon/vreinterprets32_u8.c: Remove. + * gcc.target/arm/neon/vreinterprets64_f32.c: Remove. + * gcc.target/arm/neon/vreinterprets64_p16.c: Remove. + * gcc.target/arm/neon/vreinterprets64_p64.c: Remove. + * gcc.target/arm/neon/vreinterprets64_p8.c: Remove. + * gcc.target/arm/neon/vreinterprets64_s16.c: Remove. + * gcc.target/arm/neon/vreinterprets64_s32.c: Remove. + * gcc.target/arm/neon/vreinterprets64_s8.c: Remove. + * gcc.target/arm/neon/vreinterprets64_u16.c: Remove. + * gcc.target/arm/neon/vreinterprets64_u32.c: Remove. + * gcc.target/arm/neon/vreinterprets64_u64.c: Remove. + * gcc.target/arm/neon/vreinterprets64_u8.c: Remove. + * gcc.target/arm/neon/vreinterprets8_f32.c: Remove. + * gcc.target/arm/neon/vreinterprets8_p16.c: Remove. + * gcc.target/arm/neon/vreinterprets8_p64.c: Remove. + * gcc.target/arm/neon/vreinterprets8_p8.c: Remove. + * gcc.target/arm/neon/vreinterprets8_s16.c: Remove. + * gcc.target/arm/neon/vreinterprets8_s32.c: Remove. + * gcc.target/arm/neon/vreinterprets8_s64.c: Remove. + * gcc.target/arm/neon/vreinterprets8_u16.c: Remove. + * gcc.target/arm/neon/vreinterprets8_u32.c: Remove. + * gcc.target/arm/neon/vreinterprets8_u64.c: Remove. + * gcc.target/arm/neon/vreinterprets8_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretu16_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretu16_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretu16_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretu16_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretu16_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretu16_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretu16_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretu16_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretu16_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretu16_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretu16_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretu32_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretu32_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretu32_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretu32_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretu32_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretu32_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretu32_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretu32_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretu32_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretu32_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretu32_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretu64_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretu64_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretu64_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretu64_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretu64_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretu64_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretu64_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretu64_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretu64_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretu64_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretu64_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretu8_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretu8_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretu8_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretu8_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretu8_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretu8_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretu8_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretu8_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretu8_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretu8_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretu8_u64.c: Remove. + * gcc.target/arm/neon/vrev16Qp8.c: Remove. + * gcc.target/arm/neon/vrev16Qs8.c: Remove. + * gcc.target/arm/neon/vrev16Qu8.c: Remove. + * gcc.target/arm/neon/vrev16p8.c: Remove. + * gcc.target/arm/neon/vrev16s8.c: Remove. + * gcc.target/arm/neon/vrev16u8.c: Remove. + * gcc.target/arm/neon/vrev32Qp16.c: Remove. + * gcc.target/arm/neon/vrev32Qp8.c: Remove. + * gcc.target/arm/neon/vrev32Qs16.c: Remove. + * gcc.target/arm/neon/vrev32Qs8.c: Remove. + * gcc.target/arm/neon/vrev32Qu16.c: Remove. + * gcc.target/arm/neon/vrev32Qu8.c: Remove. + * gcc.target/arm/neon/vrev32p16.c: Remove. + * gcc.target/arm/neon/vrev32p8.c: Remove. + * gcc.target/arm/neon/vrev32s16.c: Remove. + * gcc.target/arm/neon/vrev32s8.c: Remove. + * gcc.target/arm/neon/vrev32u16.c: Remove. + * gcc.target/arm/neon/vrev32u8.c: Remove. + * gcc.target/arm/neon/vrev64Qf32.c: Remove. + * gcc.target/arm/neon/vrev64Qp16.c: Remove. + * gcc.target/arm/neon/vrev64Qp8.c: Remove. + * gcc.target/arm/neon/vrev64Qs16.c: Remove. + * gcc.target/arm/neon/vrev64Qs32.c: Remove. + * gcc.target/arm/neon/vrev64Qs8.c: Remove. + * gcc.target/arm/neon/vrev64Qu16.c: Remove. + * gcc.target/arm/neon/vrev64Qu32.c: Remove. + * gcc.target/arm/neon/vrev64Qu8.c: Remove. + * gcc.target/arm/neon/vrev64f32.c: Remove. + * gcc.target/arm/neon/vrev64p16.c: Remove. + * gcc.target/arm/neon/vrev64p8.c: Remove. + * gcc.target/arm/neon/vrev64s16.c: Remove. + * gcc.target/arm/neon/vrev64s32.c: Remove. + * gcc.target/arm/neon/vrev64s8.c: Remove. + * gcc.target/arm/neon/vrev64u16.c: Remove. + * gcc.target/arm/neon/vrev64u32.c: Remove. + * gcc.target/arm/neon/vrev64u8.c: Remove. + * gcc.target/arm/neon/vrndaf32.c: Remove. + * gcc.target/arm/neon/vrndaqf32.c: Remove. + * gcc.target/arm/neon/vrndf32.c: Remove. + * gcc.target/arm/neon/vrndmf32.c: Remove. + * gcc.target/arm/neon/vrndmqf32.c: Remove. + * gcc.target/arm/neon/vrndnf32.c: Remove. + * gcc.target/arm/neon/vrndnqf32.c: Remove. + * gcc.target/arm/neon/vrndpf32.c: Remove. + * gcc.target/arm/neon/vrndpqf32.c: Remove. + * gcc.target/arm/neon/vrndqf32.c: Remove. + * gcc.target/arm/neon/vrsqrteQf32.c: Remove. + * gcc.target/arm/neon/vrsqrteQu32.c: Remove. + * gcc.target/arm/neon/vrsqrtef32.c: Remove. + * gcc.target/arm/neon/vrsqrteu32.c: Remove. + * gcc.target/arm/neon/vrsqrtsQf32.c: Remove. + * gcc.target/arm/neon/vrsqrtsf32.c: Remove. + * gcc.target/arm/neon/vsetQ_lanef32.c: Remove. + * gcc.target/arm/neon/vsetQ_lanep16.c: Remove. + * gcc.target/arm/neon/vsetQ_lanep8.c: Remove. + * gcc.target/arm/neon/vsetQ_lanes16.c: Remove. + * gcc.target/arm/neon/vsetQ_lanes32.c: Remove. + * gcc.target/arm/neon/vsetQ_lanes64.c: Remove. + * gcc.target/arm/neon/vsetQ_lanes8.c: Remove. + * gcc.target/arm/neon/vsetQ_laneu16.c: Remove. + * gcc.target/arm/neon/vsetQ_laneu32.c: Remove. + * gcc.target/arm/neon/vsetQ_laneu64.c: Remove. + * gcc.target/arm/neon/vsetQ_laneu8.c: Remove. + * gcc.target/arm/neon/vset_lanef32.c: Remove. + * gcc.target/arm/neon/vset_lanep16.c: Remove. + * gcc.target/arm/neon/vset_lanep8.c: Remove. + * gcc.target/arm/neon/vset_lanes16.c: Remove. + * gcc.target/arm/neon/vset_lanes32.c: Remove. + * gcc.target/arm/neon/vset_lanes64.c: Remove. + * gcc.target/arm/neon/vset_lanes8.c: Remove. + * gcc.target/arm/neon/vset_laneu16.c: Remove. + * gcc.target/arm/neon/vset_laneu32.c: Remove. + * gcc.target/arm/neon/vset_laneu64.c: Remove. + * gcc.target/arm/neon/vset_laneu8.c: Remove. + * gcc.target/arm/neon/vshlQ_ns16.c: Remove. + * gcc.target/arm/neon/vshlQ_ns32.c: Remove. + * gcc.target/arm/neon/vshlQ_ns64.c: Remove. + * gcc.target/arm/neon/vshlQ_ns8.c: Remove. + * gcc.target/arm/neon/vshlQ_nu16.c: Remove. + * gcc.target/arm/neon/vshlQ_nu32.c: Remove. + * gcc.target/arm/neon/vshlQ_nu64.c: Remove. + * gcc.target/arm/neon/vshlQ_nu8.c: Remove. + * gcc.target/arm/neon/vshlQs16.c: Remove. + * gcc.target/arm/neon/vshlQs32.c: Remove. + * gcc.target/arm/neon/vshlQs64.c: Remove. + * gcc.target/arm/neon/vshlQs8.c: Remove. + * gcc.target/arm/neon/vshlQu16.c: Remove. + * gcc.target/arm/neon/vshlQu32.c: Remove. + * gcc.target/arm/neon/vshlQu64.c: Remove. + * gcc.target/arm/neon/vshlQu8.c: Remove. + * gcc.target/arm/neon/vshl_ns16.c: Remove. + * gcc.target/arm/neon/vshl_ns32.c: Remove. + * gcc.target/arm/neon/vshl_ns64.c: Remove. + * gcc.target/arm/neon/vshl_ns8.c: Remove. + * gcc.target/arm/neon/vshl_nu16.c: Remove. + * gcc.target/arm/neon/vshl_nu32.c: Remove. + * gcc.target/arm/neon/vshl_nu64.c: Remove. + * gcc.target/arm/neon/vshl_nu8.c: Remove. + * gcc.target/arm/neon/vshll_ns16.c: Remove. + * gcc.target/arm/neon/vshll_ns32.c: Remove. + * gcc.target/arm/neon/vshll_ns8.c: Remove. + * gcc.target/arm/neon/vshll_nu16.c: Remove. + * gcc.target/arm/neon/vshll_nu32.c: Remove. + * gcc.target/arm/neon/vshll_nu8.c: Remove. + * gcc.target/arm/neon/vshls16.c: Remove. + * gcc.target/arm/neon/vshls32.c: Remove. + * gcc.target/arm/neon/vshls64.c: Remove. + * gcc.target/arm/neon/vshls8.c: Remove. + * gcc.target/arm/neon/vshlu16.c: Remove. + * gcc.target/arm/neon/vshlu32.c: Remove. + * gcc.target/arm/neon/vshlu64.c: Remove. + * gcc.target/arm/neon/vshlu8.c: Remove. + * gcc.target/arm/neon/vshrQ_ns16.c: Remove. + * gcc.target/arm/neon/vshrQ_ns32.c: Remove. + * gcc.target/arm/neon/vshrQ_ns64.c: Remove. + * gcc.target/arm/neon/vshrQ_ns8.c: Remove. + * gcc.target/arm/neon/vshrQ_nu16.c: Remove. + * gcc.target/arm/neon/vshrQ_nu32.c: Remove. + * gcc.target/arm/neon/vshrQ_nu64.c: Remove. + * gcc.target/arm/neon/vshrQ_nu8.c: Remove. + * gcc.target/arm/neon/vshr_ns16.c: Remove. + * gcc.target/arm/neon/vshr_ns32.c: Remove. + * gcc.target/arm/neon/vshr_ns64.c: Remove. + * gcc.target/arm/neon/vshr_ns8.c: Remove. + * gcc.target/arm/neon/vshr_nu16.c: Remove. + * gcc.target/arm/neon/vshr_nu32.c: Remove. + * gcc.target/arm/neon/vshr_nu64.c: Remove. + * gcc.target/arm/neon/vshr_nu8.c: Remove. + * gcc.target/arm/neon/vshrn_ns16.c: Remove. + * gcc.target/arm/neon/vshrn_ns32.c: Remove. + * gcc.target/arm/neon/vshrn_ns64.c: Remove. + * gcc.target/arm/neon/vshrn_nu16.c: Remove. + * gcc.target/arm/neon/vshrn_nu32.c: Remove. + * gcc.target/arm/neon/vshrn_nu64.c: Remove. + * gcc.target/arm/neon/vsliQ_np16.c: Remove. + * gcc.target/arm/neon/vsliQ_np64.c: Remove. + * gcc.target/arm/neon/vsliQ_np8.c: Remove. + * gcc.target/arm/neon/vsliQ_ns16.c: Remove. + * gcc.target/arm/neon/vsliQ_ns32.c: Remove. + * gcc.target/arm/neon/vsliQ_ns64.c: Remove. + * gcc.target/arm/neon/vsliQ_ns8.c: Remove. + * gcc.target/arm/neon/vsliQ_nu16.c: Remove. + * gcc.target/arm/neon/vsliQ_nu32.c: Remove. + * gcc.target/arm/neon/vsliQ_nu64.c: Remove. + * gcc.target/arm/neon/vsliQ_nu8.c: Remove. + * gcc.target/arm/neon/vsli_np16.c: Remove. + * gcc.target/arm/neon/vsli_np64.c: Remove. + * gcc.target/arm/neon/vsli_np8.c: Remove. + * gcc.target/arm/neon/vsli_ns16.c: Remove. + * gcc.target/arm/neon/vsli_ns32.c: Remove. + * gcc.target/arm/neon/vsli_ns64.c: Remove. + * gcc.target/arm/neon/vsli_ns8.c: Remove. + * gcc.target/arm/neon/vsli_nu16.c: Remove. + * gcc.target/arm/neon/vsli_nu32.c: Remove. + * gcc.target/arm/neon/vsli_nu64.c: Remove. + * gcc.target/arm/neon/vsli_nu8.c: Remove. + * gcc.target/arm/neon/vsraQ_ns16.c: Remove. + * gcc.target/arm/neon/vsraQ_ns32.c: Remove. + * gcc.target/arm/neon/vsraQ_ns64.c: Remove. + * gcc.target/arm/neon/vsraQ_ns8.c: Remove. + * gcc.target/arm/neon/vsraQ_nu16.c: Remove. + * gcc.target/arm/neon/vsraQ_nu32.c: Remove. + * gcc.target/arm/neon/vsraQ_nu64.c: Remove. + * gcc.target/arm/neon/vsraQ_nu8.c: Remove. + * gcc.target/arm/neon/vsra_ns16.c: Remove. + * gcc.target/arm/neon/vsra_ns32.c: Remove. + * gcc.target/arm/neon/vsra_ns64.c: Remove. + * gcc.target/arm/neon/vsra_ns8.c: Remove. + * gcc.target/arm/neon/vsra_nu16.c: Remove. + * gcc.target/arm/neon/vsra_nu32.c: Remove. + * gcc.target/arm/neon/vsra_nu64.c: Remove. + * gcc.target/arm/neon/vsra_nu8.c: Remove. + * gcc.target/arm/neon/vsriQ_np16.c: Remove. + * gcc.target/arm/neon/vsriQ_np64.c: Remove. + * gcc.target/arm/neon/vsriQ_np8.c: Remove. + * gcc.target/arm/neon/vsriQ_ns16.c: Remove. + * gcc.target/arm/neon/vsriQ_ns32.c: Remove. + * gcc.target/arm/neon/vsriQ_ns64.c: Remove. + * gcc.target/arm/neon/vsriQ_ns8.c: Remove. + * gcc.target/arm/neon/vsriQ_nu16.c: Remove. + * gcc.target/arm/neon/vsriQ_nu32.c: Remove. + * gcc.target/arm/neon/vsriQ_nu64.c: Remove. + * gcc.target/arm/neon/vsriQ_nu8.c: Remove. + * gcc.target/arm/neon/vsri_np16.c: Remove. + * gcc.target/arm/neon/vsri_np64.c: Remove. + * gcc.target/arm/neon/vsri_np8.c: Remove. + * gcc.target/arm/neon/vsri_ns16.c: Remove. + * gcc.target/arm/neon/vsri_ns32.c: Remove. + * gcc.target/arm/neon/vsri_ns64.c: Remove. + * gcc.target/arm/neon/vsri_ns8.c: Remove. + * gcc.target/arm/neon/vsri_nu16.c: Remove. + * gcc.target/arm/neon/vsri_nu32.c: Remove. + * gcc.target/arm/neon/vsri_nu64.c: Remove. + * gcc.target/arm/neon/vsri_nu8.c: Remove. + * gcc.target/arm/neon/vst1Q_lanef32.c: Remove. + * gcc.target/arm/neon/vst1Q_lanep16.c: Remove. + * gcc.target/arm/neon/vst1Q_lanep64.c: Remove. + * gcc.target/arm/neon/vst1Q_lanep8.c: Remove. + * gcc.target/arm/neon/vst1Q_lanes16.c: Remove. + * gcc.target/arm/neon/vst1Q_lanes32.c: Remove. + * gcc.target/arm/neon/vst1Q_lanes64.c: Remove. + * gcc.target/arm/neon/vst1Q_lanes8.c: Remove. + * gcc.target/arm/neon/vst1Q_laneu16.c: Remove. + * gcc.target/arm/neon/vst1Q_laneu32.c: Remove. + * gcc.target/arm/neon/vst1Q_laneu64.c: Remove. + * gcc.target/arm/neon/vst1Q_laneu8.c: Remove. + * gcc.target/arm/neon/vst1Qf32.c: Remove. + * gcc.target/arm/neon/vst1Qp16.c: Remove. + * gcc.target/arm/neon/vst1Qp64.c: Remove. + * gcc.target/arm/neon/vst1Qp8.c: Remove. + * gcc.target/arm/neon/vst1Qs16.c: Remove. + * gcc.target/arm/neon/vst1Qs32.c: Remove. + * gcc.target/arm/neon/vst1Qs64.c: Remove. + * gcc.target/arm/neon/vst1Qs8.c: Remove. + * gcc.target/arm/neon/vst1Qu16.c: Remove. + * gcc.target/arm/neon/vst1Qu32.c: Remove. + * gcc.target/arm/neon/vst1Qu64.c: Remove. + * gcc.target/arm/neon/vst1Qu8.c: Remove. + * gcc.target/arm/neon/vst1_lanef32.c: Remove. + * gcc.target/arm/neon/vst1_lanep16.c: Remove. + * gcc.target/arm/neon/vst1_lanep64.c: Remove. + * gcc.target/arm/neon/vst1_lanep8.c: Remove. + * gcc.target/arm/neon/vst1_lanes16.c: Remove. + * gcc.target/arm/neon/vst1_lanes32.c: Remove. + * gcc.target/arm/neon/vst1_lanes64.c: Remove. + * gcc.target/arm/neon/vst1_lanes8.c: Remove. + * gcc.target/arm/neon/vst1_laneu16.c: Remove. + * gcc.target/arm/neon/vst1_laneu32.c: Remove. + * gcc.target/arm/neon/vst1_laneu64.c: Remove. + * gcc.target/arm/neon/vst1_laneu8.c: Remove. + * gcc.target/arm/neon/vst1f32.c: Remove. + * gcc.target/arm/neon/vst1p16.c: Remove. + * gcc.target/arm/neon/vst1p64.c: Remove. + * gcc.target/arm/neon/vst1p8.c: Remove. + * gcc.target/arm/neon/vst1s16.c: Remove. + * gcc.target/arm/neon/vst1s32.c: Remove. + * gcc.target/arm/neon/vst1s64.c: Remove. + * gcc.target/arm/neon/vst1s8.c: Remove. + * gcc.target/arm/neon/vst1u16.c: Remove. + * gcc.target/arm/neon/vst1u32.c: Remove. + * gcc.target/arm/neon/vst1u64.c: Remove. + * gcc.target/arm/neon/vst1u8.c: Remove. + * gcc.target/arm/neon/vst2Q_lanef32.c: Remove. + * gcc.target/arm/neon/vst2Q_lanep16.c: Remove. + * gcc.target/arm/neon/vst2Q_lanes16.c: Remove. + * gcc.target/arm/neon/vst2Q_lanes32.c: Remove. + * gcc.target/arm/neon/vst2Q_laneu16.c: Remove. + * gcc.target/arm/neon/vst2Q_laneu32.c: Remove. + * gcc.target/arm/neon/vst2Qf32.c: Remove. + * gcc.target/arm/neon/vst2Qp16.c: Remove. + * gcc.target/arm/neon/vst2Qp8.c: Remove. + * gcc.target/arm/neon/vst2Qs16.c: Remove. + * gcc.target/arm/neon/vst2Qs32.c: Remove. + * gcc.target/arm/neon/vst2Qs8.c: Remove. + * gcc.target/arm/neon/vst2Qu16.c: Remove. + * gcc.target/arm/neon/vst2Qu32.c: Remove. + * gcc.target/arm/neon/vst2Qu8.c: Remove. + * gcc.target/arm/neon/vst2_lanef32.c: Remove. + * gcc.target/arm/neon/vst2_lanep16.c: Remove. + * gcc.target/arm/neon/vst2_lanep8.c: Remove. + * gcc.target/arm/neon/vst2_lanes16.c: Remove. + * gcc.target/arm/neon/vst2_lanes32.c: Remove. + * gcc.target/arm/neon/vst2_lanes8.c: Remove. + * gcc.target/arm/neon/vst2_laneu16.c: Remove. + * gcc.target/arm/neon/vst2_laneu32.c: Remove. + * gcc.target/arm/neon/vst2_laneu8.c: Remove. + * gcc.target/arm/neon/vst2f32.c: Remove. + * gcc.target/arm/neon/vst2p16.c: Remove. + * gcc.target/arm/neon/vst2p64.c: Remove. + * gcc.target/arm/neon/vst2p8.c: Remove. + * gcc.target/arm/neon/vst2s16.c: Remove. + * gcc.target/arm/neon/vst2s32.c: Remove. + * gcc.target/arm/neon/vst2s64.c: Remove. + * gcc.target/arm/neon/vst2s8.c: Remove. + * gcc.target/arm/neon/vst2u16.c: Remove. + * gcc.target/arm/neon/vst2u32.c: Remove. + * gcc.target/arm/neon/vst2u64.c: Remove. + * gcc.target/arm/neon/vst2u8.c: Remove. + * gcc.target/arm/neon/vst3Q_lanef32.c: Remove. + * gcc.target/arm/neon/vst3Q_lanep16.c: Remove. + * gcc.target/arm/neon/vst3Q_lanes16.c: Remove. + * gcc.target/arm/neon/vst3Q_lanes32.c: Remove. + * gcc.target/arm/neon/vst3Q_laneu16.c: Remove. + * gcc.target/arm/neon/vst3Q_laneu32.c: Remove. + * gcc.target/arm/neon/vst3Qf32.c: Remove. + * gcc.target/arm/neon/vst3Qp16.c: Remove. + * gcc.target/arm/neon/vst3Qp8.c: Remove. + * gcc.target/arm/neon/vst3Qs16.c: Remove. + * gcc.target/arm/neon/vst3Qs32.c: Remove. + * gcc.target/arm/neon/vst3Qs8.c: Remove. + * gcc.target/arm/neon/vst3Qu16.c: Remove. + * gcc.target/arm/neon/vst3Qu32.c: Remove. + * gcc.target/arm/neon/vst3Qu8.c: Remove. + * gcc.target/arm/neon/vst3_lanef32.c: Remove. + * gcc.target/arm/neon/vst3_lanep16.c: Remove. + * gcc.target/arm/neon/vst3_lanep8.c: Remove. + * gcc.target/arm/neon/vst3_lanes16.c: Remove. + * gcc.target/arm/neon/vst3_lanes32.c: Remove. + * gcc.target/arm/neon/vst3_lanes8.c: Remove. + * gcc.target/arm/neon/vst3_laneu16.c: Remove. + * gcc.target/arm/neon/vst3_laneu32.c: Remove. + * gcc.target/arm/neon/vst3_laneu8.c: Remove. + * gcc.target/arm/neon/vst3f32.c: Remove. + * gcc.target/arm/neon/vst3p16.c: Remove. + * gcc.target/arm/neon/vst3p64.c: Remove. + * gcc.target/arm/neon/vst3p8.c: Remove. + * gcc.target/arm/neon/vst3s16.c: Remove. + * gcc.target/arm/neon/vst3s32.c: Remove. + * gcc.target/arm/neon/vst3s64.c: Remove. + * gcc.target/arm/neon/vst3s8.c: Remove. + * gcc.target/arm/neon/vst3u16.c: Remove. + * gcc.target/arm/neon/vst3u32.c: Remove. + * gcc.target/arm/neon/vst3u64.c: Remove. + * gcc.target/arm/neon/vst3u8.c: Remove. + * gcc.target/arm/neon/vst4Q_lanef32.c: Remove. + * gcc.target/arm/neon/vst4Q_lanep16.c: Remove. + * gcc.target/arm/neon/vst4Q_lanes16.c: Remove. + * gcc.target/arm/neon/vst4Q_lanes32.c: Remove. + * gcc.target/arm/neon/vst4Q_laneu16.c: Remove. + * gcc.target/arm/neon/vst4Q_laneu32.c: Remove. + * gcc.target/arm/neon/vst4Qf32.c: Remove. + * gcc.target/arm/neon/vst4Qp16.c: Remove. + * gcc.target/arm/neon/vst4Qp8.c: Remove. + * gcc.target/arm/neon/vst4Qs16.c: Remove. + * gcc.target/arm/neon/vst4Qs32.c: Remove. + * gcc.target/arm/neon/vst4Qs8.c: Remove. + * gcc.target/arm/neon/vst4Qu16.c: Remove. + * gcc.target/arm/neon/vst4Qu32.c: Remove. + * gcc.target/arm/neon/vst4Qu8.c: Remove. + * gcc.target/arm/neon/vst4_lanef32.c: Remove. + * gcc.target/arm/neon/vst4_lanep16.c: Remove. + * gcc.target/arm/neon/vst4_lanep8.c: Remove. + * gcc.target/arm/neon/vst4_lanes16.c: Remove. + * gcc.target/arm/neon/vst4_lanes32.c: Remove. + * gcc.target/arm/neon/vst4_lanes8.c: Remove. + * gcc.target/arm/neon/vst4_laneu16.c: Remove. + * gcc.target/arm/neon/vst4_laneu32.c: Remove. + * gcc.target/arm/neon/vst4_laneu8.c: Remove. + * gcc.target/arm/neon/vst4f32.c: Remove. + * gcc.target/arm/neon/vst4p16.c: Remove. + * gcc.target/arm/neon/vst4p64.c: Remove. + * gcc.target/arm/neon/vst4p8.c: Remove. + * gcc.target/arm/neon/vst4s16.c: Remove. + * gcc.target/arm/neon/vst4s32.c: Remove. + * gcc.target/arm/neon/vst4s64.c: Remove. + * gcc.target/arm/neon/vst4s8.c: Remove. + * gcc.target/arm/neon/vst4u16.c: Remove. + * gcc.target/arm/neon/vst4u32.c: Remove. + * gcc.target/arm/neon/vst4u64.c: Remove. + * gcc.target/arm/neon/vst4u8.c: Remove. + * gcc.target/arm/neon/vsubQf32.c: Remove. + * gcc.target/arm/neon/vsubQs16.c: Remove. + * gcc.target/arm/neon/vsubQs32.c: Remove. + * gcc.target/arm/neon/vsubQs64.c: Remove. + * gcc.target/arm/neon/vsubQs8.c: Remove. + * gcc.target/arm/neon/vsubQu16.c: Remove. + * gcc.target/arm/neon/vsubQu32.c: Remove. + * gcc.target/arm/neon/vsubQu64.c: Remove. + * gcc.target/arm/neon/vsubQu8.c: Remove. + * gcc.target/arm/neon/vsubf32.c: Remove. + * gcc.target/arm/neon/vsubhns16.c: Remove. + * gcc.target/arm/neon/vsubhns32.c: Remove. + * gcc.target/arm/neon/vsubhns64.c: Remove. + * gcc.target/arm/neon/vsubhnu16.c: Remove. + * gcc.target/arm/neon/vsubhnu32.c: Remove. + * gcc.target/arm/neon/vsubhnu64.c: Remove. + * gcc.target/arm/neon/vsubls16.c: Remove. + * gcc.target/arm/neon/vsubls32.c: Remove. + * gcc.target/arm/neon/vsubls8.c: Remove. + * gcc.target/arm/neon/vsublu16.c: Remove. + * gcc.target/arm/neon/vsublu32.c: Remove. + * gcc.target/arm/neon/vsublu8.c: Remove. + * gcc.target/arm/neon/vsubs16.c: Remove. + * gcc.target/arm/neon/vsubs32.c: Remove. + * gcc.target/arm/neon/vsubs64.c: Remove. + * gcc.target/arm/neon/vsubs8.c: Remove. + * gcc.target/arm/neon/vsubu16.c: Remove. + * gcc.target/arm/neon/vsubu32.c: Remove. + * gcc.target/arm/neon/vsubu64.c: Remove. + * gcc.target/arm/neon/vsubu8.c: Remove. + * gcc.target/arm/neon/vsubws16.c: Remove. + * gcc.target/arm/neon/vsubws32.c: Remove. + * gcc.target/arm/neon/vsubws8.c: Remove. + * gcc.target/arm/neon/vsubwu16.c: Remove. + * gcc.target/arm/neon/vsubwu32.c: Remove. + * gcc.target/arm/neon/vsubwu8.c: Remove. + * gcc.target/arm/neon/vtbl1p8.c: Remove. + * gcc.target/arm/neon/vtbl1s8.c: Remove. + * gcc.target/arm/neon/vtbl1u8.c: Remove. + * gcc.target/arm/neon/vtbl2p8.c: Remove. + * gcc.target/arm/neon/vtbl2s8.c: Remove. + * gcc.target/arm/neon/vtbl2u8.c: Remove. + * gcc.target/arm/neon/vtbl3p8.c: Remove. + * gcc.target/arm/neon/vtbl3s8.c: Remove. + * gcc.target/arm/neon/vtbl3u8.c: Remove. + * gcc.target/arm/neon/vtbl4p8.c: Remove. + * gcc.target/arm/neon/vtbl4s8.c: Remove. + * gcc.target/arm/neon/vtbl4u8.c: Remove. + * gcc.target/arm/neon/vtbx1p8.c: Remove. + * gcc.target/arm/neon/vtbx1s8.c: Remove. + * gcc.target/arm/neon/vtbx1u8.c: Remove. + * gcc.target/arm/neon/vtbx2p8.c: Remove. + * gcc.target/arm/neon/vtbx2s8.c: Remove. + * gcc.target/arm/neon/vtbx2u8.c: Remove. + * gcc.target/arm/neon/vtbx3p8.c: Remove. + * gcc.target/arm/neon/vtbx3s8.c: Remove. + * gcc.target/arm/neon/vtbx3u8.c: Remove. + * gcc.target/arm/neon/vtbx4p8.c: Remove. + * gcc.target/arm/neon/vtbx4s8.c: Remove. + * gcc.target/arm/neon/vtbx4u8.c: Remove. + * gcc.target/arm/neon/vtrnQf32.c: Remove. + * gcc.target/arm/neon/vtrnQp16.c: Remove. + * gcc.target/arm/neon/vtrnQp8.c: Remove. + * gcc.target/arm/neon/vtrnQs16.c: Remove. + * gcc.target/arm/neon/vtrnQs32.c: Remove. + * gcc.target/arm/neon/vtrnQs8.c: Remove. + * gcc.target/arm/neon/vtrnQu16.c: Remove. + * gcc.target/arm/neon/vtrnQu32.c: Remove. + * gcc.target/arm/neon/vtrnQu8.c: Remove. + * gcc.target/arm/neon/vtrnf32.c: Remove. + * gcc.target/arm/neon/vtrnp16.c: Remove. + * gcc.target/arm/neon/vtrnp8.c: Remove. + * gcc.target/arm/neon/vtrns16.c: Remove. + * gcc.target/arm/neon/vtrns32.c: Remove. + * gcc.target/arm/neon/vtrns8.c: Remove. + * gcc.target/arm/neon/vtrnu16.c: Remove. + * gcc.target/arm/neon/vtrnu32.c: Remove. + * gcc.target/arm/neon/vtrnu8.c: Remove. + * gcc.target/arm/neon/vtstQp8.c: Remove. + * gcc.target/arm/neon/vtstQs16.c: Remove. + * gcc.target/arm/neon/vtstQs32.c: Remove. + * gcc.target/arm/neon/vtstQs8.c: Remove. + * gcc.target/arm/neon/vtstQu16.c: Remove. + * gcc.target/arm/neon/vtstQu32.c: Remove. + * gcc.target/arm/neon/vtstQu8.c: Remove. + * gcc.target/arm/neon/vtstp8.c: Remove. + * gcc.target/arm/neon/vtsts16.c: Remove. + * gcc.target/arm/neon/vtsts32.c: Remove. + * gcc.target/arm/neon/vtsts8.c: Remove. + * gcc.target/arm/neon/vtstu16.c: Remove. + * gcc.target/arm/neon/vtstu32.c: Remove. + * gcc.target/arm/neon/vtstu8.c: Remove. + * gcc.target/arm/neon/vuzpQf32.c: Remove. + * gcc.target/arm/neon/vuzpQp16.c: Remove. + * gcc.target/arm/neon/vuzpQp8.c: Remove. + * gcc.target/arm/neon/vuzpQs16.c: Remove. + * gcc.target/arm/neon/vuzpQs32.c: Remove. + * gcc.target/arm/neon/vuzpQs8.c: Remove. + * gcc.target/arm/neon/vuzpQu16.c: Remove. + * gcc.target/arm/neon/vuzpQu32.c: Remove. + * gcc.target/arm/neon/vuzpQu8.c: Remove. + * gcc.target/arm/neon/vuzpf32.c: Remove. + * gcc.target/arm/neon/vuzpp16.c: Remove. + * gcc.target/arm/neon/vuzpp8.c: Remove. + * gcc.target/arm/neon/vuzps16.c: Remove. + * gcc.target/arm/neon/vuzps32.c: Remove. + * gcc.target/arm/neon/vuzps8.c: Remove. + * gcc.target/arm/neon/vuzpu16.c: Remove. + * gcc.target/arm/neon/vuzpu32.c: Remove. + * gcc.target/arm/neon/vuzpu8.c: Remove. + * gcc.target/arm/neon/vzipQf32.c: Remove. + * gcc.target/arm/neon/vzipQp16.c: Remove. + * gcc.target/arm/neon/vzipQp8.c: Remove. + * gcc.target/arm/neon/vzipQs16.c: Remove. + * gcc.target/arm/neon/vzipQs32.c: Remove. + * gcc.target/arm/neon/vzipQs8.c: Remove. + * gcc.target/arm/neon/vzipQu16.c: Remove. + * gcc.target/arm/neon/vzipQu32.c: Remove. + * gcc.target/arm/neon/vzipQu8.c: Remove. + * gcc.target/arm/neon/vzipf32.c: Remove. + * gcc.target/arm/neon/vzipp16.c: Remove. + * gcc.target/arm/neon/vzipp8.c: Remove. + * gcc.target/arm/neon/vzips16.c: Remove. + * gcc.target/arm/neon/vzips32.c: Remove. + * gcc.target/arm/neon/vzips8.c: Remove. + * gcc.target/arm/neon/vzipu16.c: Remove. + * gcc.target/arm/neon/vzipu32.c: Remove. + * gcc.target/arm/neon/vzipu8.c: Remove. + +2015-11-13 Ilya Enkovich + + * g++.dg/vect/simd-mask-store-bool.cc: New test. + +2015-11-13 David Malcolm + + PR driver/67613 + * gcc/testsuite/gcc.dg/spellcheck-options-1.c: New file. + * gcc/testsuite/gcc.dg/spellcheck-options-2.c: New file. + +2015-11-13 David Malcolm + + * gcc.dg/plugin/levenshtein-test-1.c: New file. + * gcc.dg/plugin/levenshtein_plugin.c: New file. + * gcc.dg/plugin/plugin.exp (plugin_test_list): Add + levenshtein_plugin.c. + * gcc.dg/spellcheck-fields.c: New file. + +2015-11-12 Steven G. Kargl + + PR fortran/68318 + * gfortran.dg/pr68318_1.f90: New test. + * gfortran.dg/pr68318_2.f90: Ditto. + +2015-11-12 James Norris + Joseph Myers + + * c-c++-common/goacc/declare-1.c: New test. + * c-c++-common/goacc/declare-2.c: Likewise. + +2015-11-12 Christophe Lyon + + [ARM] Remove neon-testgen.ml and generated tests. + + * gcc.target/arm/neon/vRaddhns16.c: Remove. + * gcc.target/arm/neon/vRaddhns32.c: Remove. + * gcc.target/arm/neon/vRaddhns64.c: Remove. + * gcc.target/arm/neon/vRaddhnu16.c: Remove. + * gcc.target/arm/neon/vRaddhnu32.c: Remove. + * gcc.target/arm/neon/vRaddhnu64.c: Remove. + * gcc.target/arm/neon/vRhaddQs16.c: Remove. + * gcc.target/arm/neon/vRhaddQs32.c: Remove. + * gcc.target/arm/neon/vRhaddQs8.c: Remove. + * gcc.target/arm/neon/vRhaddQu16.c: Remove. + * gcc.target/arm/neon/vRhaddQu32.c: Remove. + * gcc.target/arm/neon/vRhaddQu8.c: Remove. + * gcc.target/arm/neon/vRhadds16.c: Remove. + * gcc.target/arm/neon/vRhadds32.c: Remove. + * gcc.target/arm/neon/vRhadds8.c: Remove. + * gcc.target/arm/neon/vRhaddu16.c: Remove. + * gcc.target/arm/neon/vRhaddu32.c: Remove. + * gcc.target/arm/neon/vRhaddu8.c: Remove. + * gcc.target/arm/neon/vRshlQs16.c: Remove. + * gcc.target/arm/neon/vRshlQs32.c: Remove. + * gcc.target/arm/neon/vRshlQs64.c: Remove. + * gcc.target/arm/neon/vRshlQs8.c: Remove. + * gcc.target/arm/neon/vRshlQu16.c: Remove. + * gcc.target/arm/neon/vRshlQu32.c: Remove. + * gcc.target/arm/neon/vRshlQu64.c: Remove. + * gcc.target/arm/neon/vRshlQu8.c: Remove. + * gcc.target/arm/neon/vRshls16.c: Remove. + * gcc.target/arm/neon/vRshls32.c: Remove. + * gcc.target/arm/neon/vRshls64.c: Remove. + * gcc.target/arm/neon/vRshls8.c: Remove. + * gcc.target/arm/neon/vRshlu16.c: Remove. + * gcc.target/arm/neon/vRshlu32.c: Remove. + * gcc.target/arm/neon/vRshlu64.c: Remove. + * gcc.target/arm/neon/vRshlu8.c: Remove. + * gcc.target/arm/neon/vRshrQ_ns16.c: Remove. + * gcc.target/arm/neon/vRshrQ_ns32.c: Remove. + * gcc.target/arm/neon/vRshrQ_ns64.c: Remove. + * gcc.target/arm/neon/vRshrQ_ns8.c: Remove. + * gcc.target/arm/neon/vRshrQ_nu16.c: Remove. + * gcc.target/arm/neon/vRshrQ_nu32.c: Remove. + * gcc.target/arm/neon/vRshrQ_nu64.c: Remove. + * gcc.target/arm/neon/vRshrQ_nu8.c: Remove. + * gcc.target/arm/neon/vRshr_ns16.c: Remove. + * gcc.target/arm/neon/vRshr_ns32.c: Remove. + * gcc.target/arm/neon/vRshr_ns64.c: Remove. + * gcc.target/arm/neon/vRshr_ns8.c: Remove. + * gcc.target/arm/neon/vRshr_nu16.c: Remove. + * gcc.target/arm/neon/vRshr_nu32.c: Remove. + * gcc.target/arm/neon/vRshr_nu64.c: Remove. + * gcc.target/arm/neon/vRshr_nu8.c: Remove. + * gcc.target/arm/neon/vRshrn_ns16.c: Remove. + * gcc.target/arm/neon/vRshrn_ns32.c: Remove. + * gcc.target/arm/neon/vRshrn_ns64.c: Remove. + * gcc.target/arm/neon/vRshrn_nu16.c: Remove. + * gcc.target/arm/neon/vRshrn_nu32.c: Remove. + * gcc.target/arm/neon/vRshrn_nu64.c: Remove. + * gcc.target/arm/neon/vRsraQ_ns16.c: Remove. + * gcc.target/arm/neon/vRsraQ_ns32.c: Remove. + * gcc.target/arm/neon/vRsraQ_ns64.c: Remove. + * gcc.target/arm/neon/vRsraQ_ns8.c: Remove. + * gcc.target/arm/neon/vRsraQ_nu16.c: Remove. + * gcc.target/arm/neon/vRsraQ_nu32.c: Remove. + * gcc.target/arm/neon/vRsraQ_nu64.c: Remove. + * gcc.target/arm/neon/vRsraQ_nu8.c: Remove. + * gcc.target/arm/neon/vRsra_ns16.c: Remove. + * gcc.target/arm/neon/vRsra_ns32.c: Remove. + * gcc.target/arm/neon/vRsra_ns64.c: Remove. + * gcc.target/arm/neon/vRsra_ns8.c: Remove. + * gcc.target/arm/neon/vRsra_nu16.c: Remove. + * gcc.target/arm/neon/vRsra_nu32.c: Remove. + * gcc.target/arm/neon/vRsra_nu64.c: Remove. + * gcc.target/arm/neon/vRsra_nu8.c: Remove. + * gcc.target/arm/neon/vRsubhns16.c: Remove. + * gcc.target/arm/neon/vRsubhns32.c: Remove. + * gcc.target/arm/neon/vRsubhns64.c: Remove. + * gcc.target/arm/neon/vRsubhnu16.c: Remove. + * gcc.target/arm/neon/vRsubhnu32.c: Remove. + * gcc.target/arm/neon/vRsubhnu64.c: Remove. + * gcc.target/arm/neon/vabaQs16.c: Remove. + * gcc.target/arm/neon/vabaQs32.c: Remove. + * gcc.target/arm/neon/vabaQs8.c: Remove. + * gcc.target/arm/neon/vabaQu16.c: Remove. + * gcc.target/arm/neon/vabaQu32.c: Remove. + * gcc.target/arm/neon/vabaQu8.c: Remove. + * gcc.target/arm/neon/vabals16.c: Remove. + * gcc.target/arm/neon/vabals32.c: Remove. + * gcc.target/arm/neon/vabals8.c: Remove. + * gcc.target/arm/neon/vabalu16.c: Remove. + * gcc.target/arm/neon/vabalu32.c: Remove. + * gcc.target/arm/neon/vabalu8.c: Remove. + * gcc.target/arm/neon/vabas16.c: Remove. + * gcc.target/arm/neon/vabas32.c: Remove. + * gcc.target/arm/neon/vabas8.c: Remove. + * gcc.target/arm/neon/vabau16.c: Remove. + * gcc.target/arm/neon/vabau32.c: Remove. + * gcc.target/arm/neon/vabau8.c: Remove. + * gcc.target/arm/neon/vabdQf32.c: Remove. + * gcc.target/arm/neon/vabdQs16.c: Remove. + * gcc.target/arm/neon/vabdQs32.c: Remove. + * gcc.target/arm/neon/vabdQs8.c: Remove. + * gcc.target/arm/neon/vabdQu16.c: Remove. + * gcc.target/arm/neon/vabdQu32.c: Remove. + * gcc.target/arm/neon/vabdQu8.c: Remove. + * gcc.target/arm/neon/vabdf32.c: Remove. + * gcc.target/arm/neon/vabdls16.c: Remove. + * gcc.target/arm/neon/vabdls32.c: Remove. + * gcc.target/arm/neon/vabdls8.c: Remove. + * gcc.target/arm/neon/vabdlu16.c: Remove. + * gcc.target/arm/neon/vabdlu32.c: Remove. + * gcc.target/arm/neon/vabdlu8.c: Remove. + * gcc.target/arm/neon/vabds16.c: Remove. + * gcc.target/arm/neon/vabds32.c: Remove. + * gcc.target/arm/neon/vabds8.c: Remove. + * gcc.target/arm/neon/vabdu16.c: Remove. + * gcc.target/arm/neon/vabdu32.c: Remove. + * gcc.target/arm/neon/vabdu8.c: Remove. + * gcc.target/arm/neon/vabsQf32.c: Remove. + * gcc.target/arm/neon/vabsQs16.c: Remove. + * gcc.target/arm/neon/vabsQs32.c: Remove. + * gcc.target/arm/neon/vabsQs8.c: Remove. + * gcc.target/arm/neon/vabsf32.c: Remove. + * gcc.target/arm/neon/vabss16.c: Remove. + * gcc.target/arm/neon/vabss32.c: Remove. + * gcc.target/arm/neon/vabss8.c: Remove. + * gcc.target/arm/neon/vaddQf32.c: Remove. + * gcc.target/arm/neon/vaddQs16.c: Remove. + * gcc.target/arm/neon/vaddQs32.c: Remove. + * gcc.target/arm/neon/vaddQs64.c: Remove. + * gcc.target/arm/neon/vaddQs8.c: Remove. + * gcc.target/arm/neon/vaddQu16.c: Remove. + * gcc.target/arm/neon/vaddQu32.c: Remove. + * gcc.target/arm/neon/vaddQu64.c: Remove. + * gcc.target/arm/neon/vaddQu8.c: Remove. + * gcc.target/arm/neon/vaddf32.c: Remove. + * gcc.target/arm/neon/vaddhns16.c: Remove. + * gcc.target/arm/neon/vaddhns32.c: Remove. + * gcc.target/arm/neon/vaddhns64.c: Remove. + * gcc.target/arm/neon/vaddhnu16.c: Remove. + * gcc.target/arm/neon/vaddhnu32.c: Remove. + * gcc.target/arm/neon/vaddhnu64.c: Remove. + * gcc.target/arm/neon/vaddls16.c: Remove. + * gcc.target/arm/neon/vaddls32.c: Remove. + * gcc.target/arm/neon/vaddls8.c: Remove. + * gcc.target/arm/neon/vaddlu16.c: Remove. + * gcc.target/arm/neon/vaddlu32.c: Remove. + * gcc.target/arm/neon/vaddlu8.c: Remove. + * gcc.target/arm/neon/vadds16.c: Remove. + * gcc.target/arm/neon/vadds32.c: Remove. + * gcc.target/arm/neon/vadds64.c: Remove. + * gcc.target/arm/neon/vadds8.c: Remove. + * gcc.target/arm/neon/vaddu16.c: Remove. + * gcc.target/arm/neon/vaddu32.c: Remove. + * gcc.target/arm/neon/vaddu64.c: Remove. + * gcc.target/arm/neon/vaddu8.c: Remove. + * gcc.target/arm/neon/vaddws16.c: Remove. + * gcc.target/arm/neon/vaddws32.c: Remove. + * gcc.target/arm/neon/vaddws8.c: Remove. + * gcc.target/arm/neon/vaddwu16.c: Remove. + * gcc.target/arm/neon/vaddwu32.c: Remove. + * gcc.target/arm/neon/vaddwu8.c: Remove. + * gcc.target/arm/neon/vandQs16.c: Remove. + * gcc.target/arm/neon/vandQs32.c: Remove. + * gcc.target/arm/neon/vandQs64.c: Remove. + * gcc.target/arm/neon/vandQs8.c: Remove. + * gcc.target/arm/neon/vandQu16.c: Remove. + * gcc.target/arm/neon/vandQu32.c: Remove. + * gcc.target/arm/neon/vandQu64.c: Remove. + * gcc.target/arm/neon/vandQu8.c: Remove. + * gcc.target/arm/neon/vands16.c: Remove. + * gcc.target/arm/neon/vands32.c: Remove. + * gcc.target/arm/neon/vands64.c: Remove. + * gcc.target/arm/neon/vands8.c: Remove. + * gcc.target/arm/neon/vandu16.c: Remove. + * gcc.target/arm/neon/vandu32.c: Remove. + * gcc.target/arm/neon/vandu64.c: Remove. + * gcc.target/arm/neon/vandu8.c: Remove. + * gcc.target/arm/neon/vbicQs16.c: Remove. + * gcc.target/arm/neon/vbicQs32.c: Remove. + * gcc.target/arm/neon/vbicQs64.c: Remove. + * gcc.target/arm/neon/vbicQs8.c: Remove. + * gcc.target/arm/neon/vbicQu16.c: Remove. + * gcc.target/arm/neon/vbicQu32.c: Remove. + * gcc.target/arm/neon/vbicQu64.c: Remove. + * gcc.target/arm/neon/vbicQu8.c: Remove. + * gcc.target/arm/neon/vbics16.c: Remove. + * gcc.target/arm/neon/vbics32.c: Remove. + * gcc.target/arm/neon/vbics64.c: Remove. + * gcc.target/arm/neon/vbics8.c: Remove. + * gcc.target/arm/neon/vbicu16.c: Remove. + * gcc.target/arm/neon/vbicu32.c: Remove. + * gcc.target/arm/neon/vbicu64.c: Remove. + * gcc.target/arm/neon/vbicu8.c: Remove. + * gcc.target/arm/neon/vbslQf32.c: Remove. + * gcc.target/arm/neon/vbslQp16.c: Remove. + * gcc.target/arm/neon/vbslQp64.c: Remove. + * gcc.target/arm/neon/vbslQp8.c: Remove. + * gcc.target/arm/neon/vbslQs16.c: Remove. + * gcc.target/arm/neon/vbslQs32.c: Remove. + * gcc.target/arm/neon/vbslQs64.c: Remove. + * gcc.target/arm/neon/vbslQs8.c: Remove. + * gcc.target/arm/neon/vbslQu16.c: Remove. + * gcc.target/arm/neon/vbslQu32.c: Remove. + * gcc.target/arm/neon/vbslQu64.c: Remove. + * gcc.target/arm/neon/vbslQu8.c: Remove. + * gcc.target/arm/neon/vbslf32.c: Remove. + * gcc.target/arm/neon/vbslp16.c: Remove. + * gcc.target/arm/neon/vbslp64.c: Remove. + * gcc.target/arm/neon/vbslp8.c: Remove. + * gcc.target/arm/neon/vbsls16.c: Remove. + * gcc.target/arm/neon/vbsls32.c: Remove. + * gcc.target/arm/neon/vbsls64.c: Remove. + * gcc.target/arm/neon/vbsls8.c: Remove. + * gcc.target/arm/neon/vbslu16.c: Remove. + * gcc.target/arm/neon/vbslu32.c: Remove. + * gcc.target/arm/neon/vbslu64.c: Remove. + * gcc.target/arm/neon/vbslu8.c: Remove. + * gcc.target/arm/neon/vcageQf32.c: Remove. + * gcc.target/arm/neon/vcagef32.c: Remove. + * gcc.target/arm/neon/vcagtQf32.c: Remove. + * gcc.target/arm/neon/vcagtf32.c: Remove. + * gcc.target/arm/neon/vcaleQf32.c: Remove. + * gcc.target/arm/neon/vcalef32.c: Remove. + * gcc.target/arm/neon/vcaltQf32.c: Remove. + * gcc.target/arm/neon/vcaltf32.c: Remove. + * gcc.target/arm/neon/vceqQf32.c: Remove. + * gcc.target/arm/neon/vceqQp8.c: Remove. + * gcc.target/arm/neon/vceqQs16.c: Remove. + * gcc.target/arm/neon/vceqQs32.c: Remove. + * gcc.target/arm/neon/vceqQs8.c: Remove. + * gcc.target/arm/neon/vceqQu16.c: Remove. + * gcc.target/arm/neon/vceqQu32.c: Remove. + * gcc.target/arm/neon/vceqQu8.c: Remove. + * gcc.target/arm/neon/vceqf32.c: Remove. + * gcc.target/arm/neon/vceqp8.c: Remove. + * gcc.target/arm/neon/vceqs16.c: Remove. + * gcc.target/arm/neon/vceqs32.c: Remove. + * gcc.target/arm/neon/vceqs8.c: Remove. + * gcc.target/arm/neon/vcequ16.c: Remove. + * gcc.target/arm/neon/vcequ32.c: Remove. + * gcc.target/arm/neon/vcequ8.c: Remove. + * gcc.target/arm/neon/vcgeQf32.c: Remove. + * gcc.target/arm/neon/vcgeQs16.c: Remove. + * gcc.target/arm/neon/vcgeQs32.c: Remove. + * gcc.target/arm/neon/vcgeQs8.c: Remove. + * gcc.target/arm/neon/vcgeQu16.c: Remove. + * gcc.target/arm/neon/vcgeQu32.c: Remove. + * gcc.target/arm/neon/vcgeQu8.c: Remove. + * gcc.target/arm/neon/vcgef32.c: Remove. + * gcc.target/arm/neon/vcges16.c: Remove. + * gcc.target/arm/neon/vcges32.c: Remove. + * gcc.target/arm/neon/vcges8.c: Remove. + * gcc.target/arm/neon/vcgeu16.c: Remove. + * gcc.target/arm/neon/vcgeu32.c: Remove. + * gcc.target/arm/neon/vcgeu8.c: Remove. + * gcc.target/arm/neon/vcgtQf32.c: Remove. + * gcc.target/arm/neon/vcgtQs16.c: Remove. + * gcc.target/arm/neon/vcgtQs32.c: Remove. + * gcc.target/arm/neon/vcgtQs8.c: Remove. + * gcc.target/arm/neon/vcgtQu16.c: Remove. + * gcc.target/arm/neon/vcgtQu32.c: Remove. + * gcc.target/arm/neon/vcgtQu8.c: Remove. + * gcc.target/arm/neon/vcgtf32.c: Remove. + * gcc.target/arm/neon/vcgts16.c: Remove. + * gcc.target/arm/neon/vcgts32.c: Remove. + * gcc.target/arm/neon/vcgts8.c: Remove. + * gcc.target/arm/neon/vcgtu16.c: Remove. + * gcc.target/arm/neon/vcgtu32.c: Remove. + * gcc.target/arm/neon/vcgtu8.c: Remove. + * gcc.target/arm/neon/vcleQf32.c: Remove. + * gcc.target/arm/neon/vcleQs16.c: Remove. + * gcc.target/arm/neon/vcleQs32.c: Remove. + * gcc.target/arm/neon/vcleQs8.c: Remove. + * gcc.target/arm/neon/vcleQu16.c: Remove. + * gcc.target/arm/neon/vcleQu32.c: Remove. + * gcc.target/arm/neon/vcleQu8.c: Remove. + * gcc.target/arm/neon/vclef32.c: Remove. + * gcc.target/arm/neon/vcles16.c: Remove. + * gcc.target/arm/neon/vcles32.c: Remove. + * gcc.target/arm/neon/vcles8.c: Remove. + * gcc.target/arm/neon/vcleu16.c: Remove. + * gcc.target/arm/neon/vcleu32.c: Remove. + * gcc.target/arm/neon/vcleu8.c: Remove. + * gcc.target/arm/neon/vclsQs16.c: Remove. + * gcc.target/arm/neon/vclsQs32.c: Remove. + * gcc.target/arm/neon/vclsQs8.c: Remove. + * gcc.target/arm/neon/vclss16.c: Remove. + * gcc.target/arm/neon/vclss32.c: Remove. + * gcc.target/arm/neon/vclss8.c: Remove. + * gcc.target/arm/neon/vcltQf32.c: Remove. + * gcc.target/arm/neon/vcltQs16.c: Remove. + * gcc.target/arm/neon/vcltQs32.c: Remove. + * gcc.target/arm/neon/vcltQs8.c: Remove. + * gcc.target/arm/neon/vcltQu16.c: Remove. + * gcc.target/arm/neon/vcltQu32.c: Remove. + * gcc.target/arm/neon/vcltQu8.c: Remove. + * gcc.target/arm/neon/vcltf32.c: Remove. + * gcc.target/arm/neon/vclts16.c: Remove. + * gcc.target/arm/neon/vclts32.c: Remove. + * gcc.target/arm/neon/vclts8.c: Remove. + * gcc.target/arm/neon/vcltu16.c: Remove. + * gcc.target/arm/neon/vcltu32.c: Remove. + * gcc.target/arm/neon/vcltu8.c: Remove. + * gcc.target/arm/neon/vclzQs16.c: Remove. + * gcc.target/arm/neon/vclzQs32.c: Remove. + * gcc.target/arm/neon/vclzQs8.c: Remove. + * gcc.target/arm/neon/vclzQu16.c: Remove. + * gcc.target/arm/neon/vclzQu32.c: Remove. + * gcc.target/arm/neon/vclzQu8.c: Remove. + * gcc.target/arm/neon/vclzs16.c: Remove. + * gcc.target/arm/neon/vclzs32.c: Remove. + * gcc.target/arm/neon/vclzs8.c: Remove. + * gcc.target/arm/neon/vclzu16.c: Remove. + * gcc.target/arm/neon/vclzu32.c: Remove. + * gcc.target/arm/neon/vclzu8.c: Remove. + * gcc.target/arm/neon/vcntQp8.c: Remove. + * gcc.target/arm/neon/vcntQs8.c: Remove. + * gcc.target/arm/neon/vcntQu8.c: Remove. + * gcc.target/arm/neon/vcntp8.c: Remove. + * gcc.target/arm/neon/vcnts8.c: Remove. + * gcc.target/arm/neon/vcntu8.c: Remove. + * gcc.target/arm/neon/vcombinef32.c: Remove. + * gcc.target/arm/neon/vcombinep16.c: Remove. + * gcc.target/arm/neon/vcombinep64.c: Remove. + * gcc.target/arm/neon/vcombinep8.c: Remove. + * gcc.target/arm/neon/vcombines16.c: Remove. + * gcc.target/arm/neon/vcombines32.c: Remove. + * gcc.target/arm/neon/vcombines64.c: Remove. + * gcc.target/arm/neon/vcombines8.c: Remove. + * gcc.target/arm/neon/vcombineu16.c: Remove. + * gcc.target/arm/neon/vcombineu32.c: Remove. + * gcc.target/arm/neon/vcombineu64.c: Remove. + * gcc.target/arm/neon/vcombineu8.c: Remove. + * gcc.target/arm/neon/vcreatef32.c: Remove. + * gcc.target/arm/neon/vcreatep16.c: Remove. + * gcc.target/arm/neon/vcreatep64.c: Remove. + * gcc.target/arm/neon/vcreatep8.c: Remove. + * gcc.target/arm/neon/vcreates16.c: Remove. + * gcc.target/arm/neon/vcreates32.c: Remove. + * gcc.target/arm/neon/vcreates64.c: Remove. + * gcc.target/arm/neon/vcreates8.c: Remove. + * gcc.target/arm/neon/vcreateu16.c: Remove. + * gcc.target/arm/neon/vcreateu32.c: Remove. + * gcc.target/arm/neon/vcreateu64.c: Remove. + * gcc.target/arm/neon/vcreateu8.c: Remove. + * gcc.target/arm/neon/vcvtQ_nf32_s32.c: Remove. + * gcc.target/arm/neon/vcvtQ_nf32_u32.c: Remove. + * gcc.target/arm/neon/vcvtQ_ns32_f32.c: Remove. + * gcc.target/arm/neon/vcvtQ_nu32_f32.c: Remove. + * gcc.target/arm/neon/vcvtQf32_s32.c: Remove. + * gcc.target/arm/neon/vcvtQf32_u32.c: Remove. + * gcc.target/arm/neon/vcvtQs32_f32.c: Remove. + * gcc.target/arm/neon/vcvtQu32_f32.c: Remove. + * gcc.target/arm/neon/vcvt_nf32_s32.c: Remove. + * gcc.target/arm/neon/vcvt_nf32_u32.c: Remove. + * gcc.target/arm/neon/vcvt_ns32_f32.c: Remove. + * gcc.target/arm/neon/vcvt_nu32_f32.c: Remove. + * gcc.target/arm/neon/vcvtf16_f32.c: Remove. + * gcc.target/arm/neon/vcvtf32_f16.c: Remove. + * gcc.target/arm/neon/vcvtf32_s32.c: Remove. + * gcc.target/arm/neon/vcvtf32_u32.c: Remove. + * gcc.target/arm/neon/vcvts32_f32.c: Remove. + * gcc.target/arm/neon/vcvtu32_f32.c: Remove. + * gcc.target/arm/neon/vdupQ_lanef32.c: Remove. + * gcc.target/arm/neon/vdupQ_lanep16.c: Remove. + * gcc.target/arm/neon/vdupQ_lanep64.c: Remove. + * gcc.target/arm/neon/vdupQ_lanep8.c: Remove. + * gcc.target/arm/neon/vdupQ_lanes16.c: Remove. + * gcc.target/arm/neon/vdupQ_lanes32.c: Remove. + * gcc.target/arm/neon/vdupQ_lanes64.c: Remove. + * gcc.target/arm/neon/vdupQ_lanes8.c: Remove. + * gcc.target/arm/neon/vdupQ_laneu16.c: Remove. + * gcc.target/arm/neon/vdupQ_laneu32.c: Remove. + * gcc.target/arm/neon/vdupQ_laneu64.c: Remove. + * gcc.target/arm/neon/vdupQ_laneu8.c: Remove. + * gcc.target/arm/neon/vdupQ_nf32.c: Remove. + * gcc.target/arm/neon/vdupQ_np16.c: Remove. + * gcc.target/arm/neon/vdupQ_np64.c: Remove. + * gcc.target/arm/neon/vdupQ_np8.c: Remove. + * gcc.target/arm/neon/vdupQ_ns16.c: Remove. + * gcc.target/arm/neon/vdupQ_ns32.c: Remove. + * gcc.target/arm/neon/vdupQ_ns64.c: Remove. + * gcc.target/arm/neon/vdupQ_ns8.c: Remove. + * gcc.target/arm/neon/vdupQ_nu16.c: Remove. + * gcc.target/arm/neon/vdupQ_nu32.c: Remove. + * gcc.target/arm/neon/vdupQ_nu64.c: Remove. + * gcc.target/arm/neon/vdupQ_nu8.c: Remove. + * gcc.target/arm/neon/vdup_lanef32.c: Remove. + * gcc.target/arm/neon/vdup_lanep16.c: Remove. + * gcc.target/arm/neon/vdup_lanep64.c: Remove. + * gcc.target/arm/neon/vdup_lanep8.c: Remove. + * gcc.target/arm/neon/vdup_lanes16.c: Remove. + * gcc.target/arm/neon/vdup_lanes32.c: Remove. + * gcc.target/arm/neon/vdup_lanes64.c: Remove. + * gcc.target/arm/neon/vdup_lanes8.c: Remove. + * gcc.target/arm/neon/vdup_laneu16.c: Remove. + * gcc.target/arm/neon/vdup_laneu32.c: Remove. + * gcc.target/arm/neon/vdup_laneu64.c: Remove. + * gcc.target/arm/neon/vdup_laneu8.c: Remove. + * gcc.target/arm/neon/vdup_nf32.c: Remove. + * gcc.target/arm/neon/vdup_np16.c: Remove. + * gcc.target/arm/neon/vdup_np64.c: Remove. + * gcc.target/arm/neon/vdup_np8.c: Remove. + * gcc.target/arm/neon/vdup_ns16.c: Remove. + * gcc.target/arm/neon/vdup_ns32.c: Remove. + * gcc.target/arm/neon/vdup_ns64.c: Remove. + * gcc.target/arm/neon/vdup_ns8.c: Remove. + * gcc.target/arm/neon/vdup_nu16.c: Remove. + * gcc.target/arm/neon/vdup_nu32.c: Remove. + * gcc.target/arm/neon/vdup_nu64.c: Remove. + * gcc.target/arm/neon/vdup_nu8.c: Remove. + * gcc.target/arm/neon/veorQs16.c: Remove. + * gcc.target/arm/neon/veorQs32.c: Remove. + * gcc.target/arm/neon/veorQs64.c: Remove. + * gcc.target/arm/neon/veorQs8.c: Remove. + * gcc.target/arm/neon/veorQu16.c: Remove. + * gcc.target/arm/neon/veorQu32.c: Remove. + * gcc.target/arm/neon/veorQu64.c: Remove. + * gcc.target/arm/neon/veorQu8.c: Remove. + * gcc.target/arm/neon/veors16.c: Remove. + * gcc.target/arm/neon/veors32.c: Remove. + * gcc.target/arm/neon/veors64.c: Remove. + * gcc.target/arm/neon/veors8.c: Remove. + * gcc.target/arm/neon/veoru16.c: Remove. + * gcc.target/arm/neon/veoru32.c: Remove. + * gcc.target/arm/neon/veoru64.c: Remove. + * gcc.target/arm/neon/veoru8.c: Remove. + * gcc.target/arm/neon/vextQf32.c: Remove. + * gcc.target/arm/neon/vextQp16.c: Remove. + * gcc.target/arm/neon/vextQp64.c: Remove. + * gcc.target/arm/neon/vextQp8.c: Remove. + * gcc.target/arm/neon/vextQs16.c: Remove. + * gcc.target/arm/neon/vextQs32.c: Remove. + * gcc.target/arm/neon/vextQs64.c: Remove. + * gcc.target/arm/neon/vextQs8.c: Remove. + * gcc.target/arm/neon/vextQu16.c: Remove. + * gcc.target/arm/neon/vextQu32.c: Remove. + * gcc.target/arm/neon/vextQu64.c: Remove. + * gcc.target/arm/neon/vextQu8.c: Remove. + * gcc.target/arm/neon/vextf32.c: Remove. + * gcc.target/arm/neon/vextp16.c: Remove. + * gcc.target/arm/neon/vextp64.c: Remove. + * gcc.target/arm/neon/vextp8.c: Remove. + * gcc.target/arm/neon/vexts16.c: Remove. + * gcc.target/arm/neon/vexts32.c: Remove. + * gcc.target/arm/neon/vexts64.c: Remove. + * gcc.target/arm/neon/vexts8.c: Remove. + * gcc.target/arm/neon/vextu16.c: Remove. + * gcc.target/arm/neon/vextu32.c: Remove. + * gcc.target/arm/neon/vextu64.c: Remove. + * gcc.target/arm/neon/vextu8.c: Remove. + * gcc.target/arm/neon/vfmaQf32.c: Remove. + * gcc.target/arm/neon/vfmaf32.c: Remove. + * gcc.target/arm/neon/vfmsQf32.c: Remove. + * gcc.target/arm/neon/vfmsf32.c: Remove. + * gcc.target/arm/neon/vgetQ_lanef32.c: Remove. + * gcc.target/arm/neon/vgetQ_lanep16.c: Remove. + * gcc.target/arm/neon/vgetQ_lanep8.c: Remove. + * gcc.target/arm/neon/vgetQ_lanes16.c: Remove. + * gcc.target/arm/neon/vgetQ_lanes32.c: Remove. + * gcc.target/arm/neon/vgetQ_lanes64.c: Remove. + * gcc.target/arm/neon/vgetQ_lanes8.c: Remove. + * gcc.target/arm/neon/vgetQ_laneu16.c: Remove. + * gcc.target/arm/neon/vgetQ_laneu32.c: Remove. + * gcc.target/arm/neon/vgetQ_laneu64.c: Remove. + * gcc.target/arm/neon/vgetQ_laneu8.c: Remove. + * gcc.target/arm/neon/vget_highf32.c: Remove. + * gcc.target/arm/neon/vget_highp16.c: Remove. + * gcc.target/arm/neon/vget_highp64.c: Remove. + * gcc.target/arm/neon/vget_highp8.c: Remove. + * gcc.target/arm/neon/vget_highs16.c: Remove. + * gcc.target/arm/neon/vget_highs32.c: Remove. + * gcc.target/arm/neon/vget_highs64.c: Remove. + * gcc.target/arm/neon/vget_highs8.c: Remove. + * gcc.target/arm/neon/vget_highu16.c: Remove. + * gcc.target/arm/neon/vget_highu32.c: Remove. + * gcc.target/arm/neon/vget_highu64.c: Remove. + * gcc.target/arm/neon/vget_highu8.c: Remove. + * gcc.target/arm/neon/vget_lanef32.c: Remove. + * gcc.target/arm/neon/vget_lanep16.c: Remove. + * gcc.target/arm/neon/vget_lanep8.c: Remove. + * gcc.target/arm/neon/vget_lanes16.c: Remove. + * gcc.target/arm/neon/vget_lanes32.c: Remove. + * gcc.target/arm/neon/vget_lanes64.c: Remove. + * gcc.target/arm/neon/vget_lanes8.c: Remove. + * gcc.target/arm/neon/vget_laneu16.c: Remove. + * gcc.target/arm/neon/vget_laneu32.c: Remove. + * gcc.target/arm/neon/vget_laneu64.c: Remove. + * gcc.target/arm/neon/vget_laneu8.c: Remove. + * gcc.target/arm/neon/vget_lowf32.c: Remove. + * gcc.target/arm/neon/vget_lowp16.c: Remove. + * gcc.target/arm/neon/vget_lowp64.c: Remove. + * gcc.target/arm/neon/vget_lowp8.c: Remove. + * gcc.target/arm/neon/vget_lows16.c: Remove. + * gcc.target/arm/neon/vget_lows32.c: Remove. + * gcc.target/arm/neon/vget_lows64.c: Remove. + * gcc.target/arm/neon/vget_lows8.c: Remove. + * gcc.target/arm/neon/vget_lowu16.c: Remove. + * gcc.target/arm/neon/vget_lowu32.c: Remove. + * gcc.target/arm/neon/vget_lowu64.c: Remove. + * gcc.target/arm/neon/vget_lowu8.c: Remove. + * gcc.target/arm/neon/vhaddQs16.c: Remove. + * gcc.target/arm/neon/vhaddQs32.c: Remove. + * gcc.target/arm/neon/vhaddQs8.c: Remove. + * gcc.target/arm/neon/vhaddQu16.c: Remove. + * gcc.target/arm/neon/vhaddQu32.c: Remove. + * gcc.target/arm/neon/vhaddQu8.c: Remove. + * gcc.target/arm/neon/vhadds16.c: Remove. + * gcc.target/arm/neon/vhadds32.c: Remove. + * gcc.target/arm/neon/vhadds8.c: Remove. + * gcc.target/arm/neon/vhaddu16.c: Remove. + * gcc.target/arm/neon/vhaddu32.c: Remove. + * gcc.target/arm/neon/vhaddu8.c: Remove. + * gcc.target/arm/neon/vhsubQs16.c: Remove. + * gcc.target/arm/neon/vhsubQs32.c: Remove. + * gcc.target/arm/neon/vhsubQs8.c: Remove. + * gcc.target/arm/neon/vhsubQu16.c: Remove. + * gcc.target/arm/neon/vhsubQu32.c: Remove. + * gcc.target/arm/neon/vhsubQu8.c: Remove. + * gcc.target/arm/neon/vhsubs16.c: Remove. + * gcc.target/arm/neon/vhsubs32.c: Remove. + * gcc.target/arm/neon/vhsubs8.c: Remove. + * gcc.target/arm/neon/vhsubu16.c: Remove. + * gcc.target/arm/neon/vhsubu32.c: Remove. + * gcc.target/arm/neon/vhsubu8.c: Remove. + * gcc.target/arm/neon/vld1Q_dupf32.c: Remove. + * gcc.target/arm/neon/vld1Q_dupp16.c: Remove. + * gcc.target/arm/neon/vld1Q_dupp64.c: Remove. + * gcc.target/arm/neon/vld1Q_dupp8.c: Remove. + * gcc.target/arm/neon/vld1Q_dups16.c: Remove. + * gcc.target/arm/neon/vld1Q_dups32.c: Remove. + * gcc.target/arm/neon/vld1Q_dups64.c: Remove. + * gcc.target/arm/neon/vld1Q_dups8.c: Remove. + * gcc.target/arm/neon/vld1Q_dupu16.c: Remove. + * gcc.target/arm/neon/vld1Q_dupu32.c: Remove. + * gcc.target/arm/neon/vld1Q_dupu64.c: Remove. + * gcc.target/arm/neon/vld1Q_dupu8.c: Remove. + * gcc.target/arm/neon/vld1Q_lanef32.c: Remove. + * gcc.target/arm/neon/vld1Q_lanep16.c: Remove. + * gcc.target/arm/neon/vld1Q_lanep64.c: Remove. + * gcc.target/arm/neon/vld1Q_lanep8.c: Remove. + * gcc.target/arm/neon/vld1Q_lanes16.c: Remove. + * gcc.target/arm/neon/vld1Q_lanes32.c: Remove. + * gcc.target/arm/neon/vld1Q_lanes64.c: Remove. + * gcc.target/arm/neon/vld1Q_lanes8.c: Remove. + * gcc.target/arm/neon/vld1Q_laneu16.c: Remove. + * gcc.target/arm/neon/vld1Q_laneu32.c: Remove. + * gcc.target/arm/neon/vld1Q_laneu64.c: Remove. + * gcc.target/arm/neon/vld1Q_laneu8.c: Remove. + * gcc.target/arm/neon/vld1Qf32.c: Remove. + * gcc.target/arm/neon/vld1Qp16.c: Remove. + * gcc.target/arm/neon/vld1Qp64.c: Remove. + * gcc.target/arm/neon/vld1Qp8.c: Remove. + * gcc.target/arm/neon/vld1Qs16.c: Remove. + * gcc.target/arm/neon/vld1Qs32.c: Remove. + * gcc.target/arm/neon/vld1Qs64.c: Remove. + * gcc.target/arm/neon/vld1Qs8.c: Remove. + * gcc.target/arm/neon/vld1Qu16.c: Remove. + * gcc.target/arm/neon/vld1Qu32.c: Remove. + * gcc.target/arm/neon/vld1Qu64.c: Remove. + * gcc.target/arm/neon/vld1Qu8.c: Remove. + * gcc.target/arm/neon/vld1_dupf32.c: Remove. + * gcc.target/arm/neon/vld1_dupp16.c: Remove. + * gcc.target/arm/neon/vld1_dupp64.c: Remove. + * gcc.target/arm/neon/vld1_dupp8.c: Remove. + * gcc.target/arm/neon/vld1_dups16.c: Remove. + * gcc.target/arm/neon/vld1_dups32.c: Remove. + * gcc.target/arm/neon/vld1_dups64.c: Remove. + * gcc.target/arm/neon/vld1_dups8.c: Remove. + * gcc.target/arm/neon/vld1_dupu16.c: Remove. + * gcc.target/arm/neon/vld1_dupu32.c: Remove. + * gcc.target/arm/neon/vld1_dupu64.c: Remove. + * gcc.target/arm/neon/vld1_dupu8.c: Remove. + * gcc.target/arm/neon/vld1_lanef32.c: Remove. + * gcc.target/arm/neon/vld1_lanep16.c: Remove. + * gcc.target/arm/neon/vld1_lanep64.c: Remove. + * gcc.target/arm/neon/vld1_lanep8.c: Remove. + * gcc.target/arm/neon/vld1_lanes16.c: Remove. + * gcc.target/arm/neon/vld1_lanes32.c: Remove. + * gcc.target/arm/neon/vld1_lanes64.c: Remove. + * gcc.target/arm/neon/vld1_lanes8.c: Remove. + * gcc.target/arm/neon/vld1_laneu16.c: Remove. + * gcc.target/arm/neon/vld1_laneu32.c: Remove. + * gcc.target/arm/neon/vld1_laneu64.c: Remove. + * gcc.target/arm/neon/vld1_laneu8.c: Remove. + * gcc.target/arm/neon/vld1f32.c: Remove. + * gcc.target/arm/neon/vld1p16.c: Remove. + * gcc.target/arm/neon/vld1p64.c: Remove. + * gcc.target/arm/neon/vld1p8.c: Remove. + * gcc.target/arm/neon/vld1s16.c: Remove. + * gcc.target/arm/neon/vld1s32.c: Remove. + * gcc.target/arm/neon/vld1s64.c: Remove. + * gcc.target/arm/neon/vld1s8.c: Remove. + * gcc.target/arm/neon/vld1u16.c: Remove. + * gcc.target/arm/neon/vld1u32.c: Remove. + * gcc.target/arm/neon/vld1u64.c: Remove. + * gcc.target/arm/neon/vld1u8.c: Remove. + * gcc.target/arm/neon/vld2Q_lanef32.c: Remove. + * gcc.target/arm/neon/vld2Q_lanep16.c: Remove. + * gcc.target/arm/neon/vld2Q_lanes16.c: Remove. + * gcc.target/arm/neon/vld2Q_lanes32.c: Remove. + * gcc.target/arm/neon/vld2Q_laneu16.c: Remove. + * gcc.target/arm/neon/vld2Q_laneu32.c: Remove. + * gcc.target/arm/neon/vld2Qf32.c: Remove. + * gcc.target/arm/neon/vld2Qp16.c: Remove. + * gcc.target/arm/neon/vld2Qp8.c: Remove. + * gcc.target/arm/neon/vld2Qs16.c: Remove. + * gcc.target/arm/neon/vld2Qs32.c: Remove. + * gcc.target/arm/neon/vld2Qs8.c: Remove. + * gcc.target/arm/neon/vld2Qu16.c: Remove. + * gcc.target/arm/neon/vld2Qu32.c: Remove. + * gcc.target/arm/neon/vld2Qu8.c: Remove. + * gcc.target/arm/neon/vld2_dupf32.c: Remove. + * gcc.target/arm/neon/vld2_dupp16.c: Remove. + * gcc.target/arm/neon/vld2_dupp64.c: Remove. + * gcc.target/arm/neon/vld2_dupp8.c: Remove. + * gcc.target/arm/neon/vld2_dups16.c: Remove. + * gcc.target/arm/neon/vld2_dups32.c: Remove. + * gcc.target/arm/neon/vld2_dups64.c: Remove. + * gcc.target/arm/neon/vld2_dups8.c: Remove. + * gcc.target/arm/neon/vld2_dupu16.c: Remove. + * gcc.target/arm/neon/vld2_dupu32.c: Remove. + * gcc.target/arm/neon/vld2_dupu64.c: Remove. + * gcc.target/arm/neon/vld2_dupu8.c: Remove. + * gcc.target/arm/neon/vld2_lanef32.c: Remove. + * gcc.target/arm/neon/vld2_lanep16.c: Remove. + * gcc.target/arm/neon/vld2_lanep8.c: Remove. + * gcc.target/arm/neon/vld2_lanes16.c: Remove. + * gcc.target/arm/neon/vld2_lanes32.c: Remove. + * gcc.target/arm/neon/vld2_lanes8.c: Remove. + * gcc.target/arm/neon/vld2_laneu16.c: Remove. + * gcc.target/arm/neon/vld2_laneu32.c: Remove. + * gcc.target/arm/neon/vld2_laneu8.c: Remove. + * gcc.target/arm/neon/vld2f32.c: Remove. + * gcc.target/arm/neon/vld2p16.c: Remove. + * gcc.target/arm/neon/vld2p64.c: Remove. + * gcc.target/arm/neon/vld2p8.c: Remove. + * gcc.target/arm/neon/vld2s16.c: Remove. + * gcc.target/arm/neon/vld2s32.c: Remove. + * gcc.target/arm/neon/vld2s64.c: Remove. + * gcc.target/arm/neon/vld2s8.c: Remove. + * gcc.target/arm/neon/vld2u16.c: Remove. + * gcc.target/arm/neon/vld2u32.c: Remove. + * gcc.target/arm/neon/vld2u64.c: Remove. + * gcc.target/arm/neon/vld2u8.c: Remove. + * gcc.target/arm/neon/vld3Q_lanef32.c: Remove. + * gcc.target/arm/neon/vld3Q_lanep16.c: Remove. + * gcc.target/arm/neon/vld3Q_lanes16.c: Remove. + * gcc.target/arm/neon/vld3Q_lanes32.c: Remove. + * gcc.target/arm/neon/vld3Q_laneu16.c: Remove. + * gcc.target/arm/neon/vld3Q_laneu32.c: Remove. + * gcc.target/arm/neon/vld3Qf32.c: Remove. + * gcc.target/arm/neon/vld3Qp16.c: Remove. + * gcc.target/arm/neon/vld3Qp8.c: Remove. + * gcc.target/arm/neon/vld3Qs16.c: Remove. + * gcc.target/arm/neon/vld3Qs32.c: Remove. + * gcc.target/arm/neon/vld3Qs8.c: Remove. + * gcc.target/arm/neon/vld3Qu16.c: Remove. + * gcc.target/arm/neon/vld3Qu32.c: Remove. + * gcc.target/arm/neon/vld3Qu8.c: Remove. + * gcc.target/arm/neon/vld3_dupf32.c: Remove. + * gcc.target/arm/neon/vld3_dupp16.c: Remove. + * gcc.target/arm/neon/vld3_dupp64.c: Remove. + * gcc.target/arm/neon/vld3_dupp8.c: Remove. + * gcc.target/arm/neon/vld3_dups16.c: Remove. + * gcc.target/arm/neon/vld3_dups32.c: Remove. + * gcc.target/arm/neon/vld3_dups64.c: Remove. + * gcc.target/arm/neon/vld3_dups8.c: Remove. + * gcc.target/arm/neon/vld3_dupu16.c: Remove. + * gcc.target/arm/neon/vld3_dupu32.c: Remove. + * gcc.target/arm/neon/vld3_dupu64.c: Remove. + * gcc.target/arm/neon/vld3_dupu8.c: Remove. + * gcc.target/arm/neon/vld3_lanef32.c: Remove. + * gcc.target/arm/neon/vld3_lanep16.c: Remove. + * gcc.target/arm/neon/vld3_lanep8.c: Remove. + * gcc.target/arm/neon/vld3_lanes16.c: Remove. + * gcc.target/arm/neon/vld3_lanes32.c: Remove. + * gcc.target/arm/neon/vld3_lanes8.c: Remove. + * gcc.target/arm/neon/vld3_laneu16.c: Remove. + * gcc.target/arm/neon/vld3_laneu32.c: Remove. + * gcc.target/arm/neon/vld3_laneu8.c: Remove. + * gcc.target/arm/neon/vld3f32.c: Remove. + * gcc.target/arm/neon/vld3p16.c: Remove. + * gcc.target/arm/neon/vld3p64.c: Remove. + * gcc.target/arm/neon/vld3p8.c: Remove. + * gcc.target/arm/neon/vld3s16.c: Remove. + * gcc.target/arm/neon/vld3s32.c: Remove. + * gcc.target/arm/neon/vld3s64.c: Remove. + * gcc.target/arm/neon/vld3s8.c: Remove. + * gcc.target/arm/neon/vld3u16.c: Remove. + * gcc.target/arm/neon/vld3u32.c: Remove. + * gcc.target/arm/neon/vld3u64.c: Remove. + * gcc.target/arm/neon/vld3u8.c: Remove. + * gcc.target/arm/neon/vld4Q_lanef32.c: Remove. + * gcc.target/arm/neon/vld4Q_lanep16.c: Remove. + * gcc.target/arm/neon/vld4Q_lanes16.c: Remove. + * gcc.target/arm/neon/vld4Q_lanes32.c: Remove. + * gcc.target/arm/neon/vld4Q_laneu16.c: Remove. + * gcc.target/arm/neon/vld4Q_laneu32.c: Remove. + * gcc.target/arm/neon/vld4Qf32.c: Remove. + * gcc.target/arm/neon/vld4Qp16.c: Remove. + * gcc.target/arm/neon/vld4Qp8.c: Remove. + * gcc.target/arm/neon/vld4Qs16.c: Remove. + * gcc.target/arm/neon/vld4Qs32.c: Remove. + * gcc.target/arm/neon/vld4Qs8.c: Remove. + * gcc.target/arm/neon/vld4Qu16.c: Remove. + * gcc.target/arm/neon/vld4Qu32.c: Remove. + * gcc.target/arm/neon/vld4Qu8.c: Remove. + * gcc.target/arm/neon/vld4_dupf32.c: Remove. + * gcc.target/arm/neon/vld4_dupp16.c: Remove. + * gcc.target/arm/neon/vld4_dupp64.c: Remove. + * gcc.target/arm/neon/vld4_dupp8.c: Remove. + * gcc.target/arm/neon/vld4_dups16.c: Remove. + * gcc.target/arm/neon/vld4_dups32.c: Remove. + * gcc.target/arm/neon/vld4_dups64.c: Remove. + * gcc.target/arm/neon/vld4_dups8.c: Remove. + * gcc.target/arm/neon/vld4_dupu16.c: Remove. + * gcc.target/arm/neon/vld4_dupu32.c: Remove. + * gcc.target/arm/neon/vld4_dupu64.c: Remove. + * gcc.target/arm/neon/vld4_dupu8.c: Remove. + * gcc.target/arm/neon/vld4_lanef32.c: Remove. + * gcc.target/arm/neon/vld4_lanep16.c: Remove. + * gcc.target/arm/neon/vld4_lanep8.c: Remove. + * gcc.target/arm/neon/vld4_lanes16.c: Remove. + * gcc.target/arm/neon/vld4_lanes32.c: Remove. + * gcc.target/arm/neon/vld4_lanes8.c: Remove. + * gcc.target/arm/neon/vld4_laneu16.c: Remove. + * gcc.target/arm/neon/vld4_laneu32.c: Remove. + * gcc.target/arm/neon/vld4_laneu8.c: Remove. + * gcc.target/arm/neon/vld4f32.c: Remove. + * gcc.target/arm/neon/vld4p16.c: Remove. + * gcc.target/arm/neon/vld4p64.c: Remove. + * gcc.target/arm/neon/vld4p8.c: Remove. + * gcc.target/arm/neon/vld4s16.c: Remove. + * gcc.target/arm/neon/vld4s32.c: Remove. + * gcc.target/arm/neon/vld4s64.c: Remove. + * gcc.target/arm/neon/vld4s8.c: Remove. + * gcc.target/arm/neon/vld4u16.c: Remove. + * gcc.target/arm/neon/vld4u32.c: Remove. + * gcc.target/arm/neon/vld4u64.c: Remove. + * gcc.target/arm/neon/vld4u8.c: Remove. + * gcc.target/arm/neon/vmaxQf32.c: Remove. + * gcc.target/arm/neon/vmaxQs16.c: Remove. + * gcc.target/arm/neon/vmaxQs32.c: Remove. + * gcc.target/arm/neon/vmaxQs8.c: Remove. + * gcc.target/arm/neon/vmaxQu16.c: Remove. + * gcc.target/arm/neon/vmaxQu32.c: Remove. + * gcc.target/arm/neon/vmaxQu8.c: Remove. + * gcc.target/arm/neon/vmaxf32.c: Remove. + * gcc.target/arm/neon/vmaxs16.c: Remove. + * gcc.target/arm/neon/vmaxs32.c: Remove. + * gcc.target/arm/neon/vmaxs8.c: Remove. + * gcc.target/arm/neon/vmaxu16.c: Remove. + * gcc.target/arm/neon/vmaxu32.c: Remove. + * gcc.target/arm/neon/vmaxu8.c: Remove. + * gcc.target/arm/neon/vminQf32.c: Remove. + * gcc.target/arm/neon/vminQs16.c: Remove. + * gcc.target/arm/neon/vminQs32.c: Remove. + * gcc.target/arm/neon/vminQs8.c: Remove. + * gcc.target/arm/neon/vminQu16.c: Remove. + * gcc.target/arm/neon/vminQu32.c: Remove. + * gcc.target/arm/neon/vminQu8.c: Remove. + * gcc.target/arm/neon/vminf32.c: Remove. + * gcc.target/arm/neon/vmins16.c: Remove. + * gcc.target/arm/neon/vmins32.c: Remove. + * gcc.target/arm/neon/vmins8.c: Remove. + * gcc.target/arm/neon/vminu16.c: Remove. + * gcc.target/arm/neon/vminu32.c: Remove. + * gcc.target/arm/neon/vminu8.c: Remove. + * gcc.target/arm/neon/vmlaQ_lanef32.c: Remove. + * gcc.target/arm/neon/vmlaQ_lanes16.c: Remove. + * gcc.target/arm/neon/vmlaQ_lanes32.c: Remove. + * gcc.target/arm/neon/vmlaQ_laneu16.c: Remove. + * gcc.target/arm/neon/vmlaQ_laneu32.c: Remove. + * gcc.target/arm/neon/vmlaQ_nf32.c: Remove. + * gcc.target/arm/neon/vmlaQ_ns16.c: Remove. + * gcc.target/arm/neon/vmlaQ_ns32.c: Remove. + * gcc.target/arm/neon/vmlaQ_nu16.c: Remove. + * gcc.target/arm/neon/vmlaQ_nu32.c: Remove. + * gcc.target/arm/neon/vmlaQf32.c: Remove. + * gcc.target/arm/neon/vmlaQs16.c: Remove. + * gcc.target/arm/neon/vmlaQs32.c: Remove. + * gcc.target/arm/neon/vmlaQs8.c: Remove. + * gcc.target/arm/neon/vmlaQu16.c: Remove. + * gcc.target/arm/neon/vmlaQu32.c: Remove. + * gcc.target/arm/neon/vmlaQu8.c: Remove. + * gcc.target/arm/neon/vmla_lanef32.c: Remove. + * gcc.target/arm/neon/vmla_lanes16.c: Remove. + * gcc.target/arm/neon/vmla_lanes32.c: Remove. + * gcc.target/arm/neon/vmla_laneu16.c: Remove. + * gcc.target/arm/neon/vmla_laneu32.c: Remove. + * gcc.target/arm/neon/vmla_nf32.c: Remove. + * gcc.target/arm/neon/vmla_ns16.c: Remove. + * gcc.target/arm/neon/vmla_ns32.c: Remove. + * gcc.target/arm/neon/vmla_nu16.c: Remove. + * gcc.target/arm/neon/vmla_nu32.c: Remove. + * gcc.target/arm/neon/vmlaf32.c: Remove. + * gcc.target/arm/neon/vmlal_lanes16.c: Remove. + * gcc.target/arm/neon/vmlal_lanes32.c: Remove. + * gcc.target/arm/neon/vmlal_laneu16.c: Remove. + * gcc.target/arm/neon/vmlal_laneu32.c: Remove. + * gcc.target/arm/neon/vmlal_ns16.c: Remove. + * gcc.target/arm/neon/vmlal_ns32.c: Remove. + * gcc.target/arm/neon/vmlal_nu16.c: Remove. + * gcc.target/arm/neon/vmlal_nu32.c: Remove. + * gcc.target/arm/neon/vmlals16.c: Remove. + * gcc.target/arm/neon/vmlals32.c: Remove. + * gcc.target/arm/neon/vmlals8.c: Remove. + * gcc.target/arm/neon/vmlalu16.c: Remove. + * gcc.target/arm/neon/vmlalu32.c: Remove. + * gcc.target/arm/neon/vmlalu8.c: Remove. + * gcc.target/arm/neon/vmlas16.c: Remove. + * gcc.target/arm/neon/vmlas32.c: Remove. + * gcc.target/arm/neon/vmlas8.c: Remove. + * gcc.target/arm/neon/vmlau16.c: Remove. + * gcc.target/arm/neon/vmlau32.c: Remove. + * gcc.target/arm/neon/vmlau8.c: Remove. + * gcc.target/arm/neon/vmlsQ_lanef32.c: Remove. + * gcc.target/arm/neon/vmlsQ_lanes16.c: Remove. + * gcc.target/arm/neon/vmlsQ_lanes32.c: Remove. + * gcc.target/arm/neon/vmlsQ_laneu16.c: Remove. + * gcc.target/arm/neon/vmlsQ_laneu32.c: Remove. + * gcc.target/arm/neon/vmlsQ_nf32.c: Remove. + * gcc.target/arm/neon/vmlsQ_ns16.c: Remove. + * gcc.target/arm/neon/vmlsQ_ns32.c: Remove. + * gcc.target/arm/neon/vmlsQ_nu16.c: Remove. + * gcc.target/arm/neon/vmlsQ_nu32.c: Remove. + * gcc.target/arm/neon/vmlsQf32.c: Remove. + * gcc.target/arm/neon/vmlsQs16.c: Remove. + * gcc.target/arm/neon/vmlsQs32.c: Remove. + * gcc.target/arm/neon/vmlsQs8.c: Remove. + * gcc.target/arm/neon/vmlsQu16.c: Remove. + * gcc.target/arm/neon/vmlsQu32.c: Remove. + * gcc.target/arm/neon/vmlsQu8.c: Remove. + * gcc.target/arm/neon/vmls_lanef32.c: Remove. + * gcc.target/arm/neon/vmls_lanes16.c: Remove. + * gcc.target/arm/neon/vmls_lanes32.c: Remove. + * gcc.target/arm/neon/vmls_laneu16.c: Remove. + * gcc.target/arm/neon/vmls_laneu32.c: Remove. + * gcc.target/arm/neon/vmls_nf32.c: Remove. + * gcc.target/arm/neon/vmls_ns16.c: Remove. + * gcc.target/arm/neon/vmls_ns32.c: Remove. + * gcc.target/arm/neon/vmls_nu16.c: Remove. + * gcc.target/arm/neon/vmls_nu32.c: Remove. + * gcc.target/arm/neon/vmlsf32.c: Remove. + * gcc.target/arm/neon/vmlsl_lanes16.c: Remove. + * gcc.target/arm/neon/vmlsl_lanes32.c: Remove. + * gcc.target/arm/neon/vmlsl_laneu16.c: Remove. + * gcc.target/arm/neon/vmlsl_laneu32.c: Remove. + * gcc.target/arm/neon/vmlsl_ns16.c: Remove. + * gcc.target/arm/neon/vmlsl_ns32.c: Remove. + * gcc.target/arm/neon/vmlsl_nu16.c: Remove. + * gcc.target/arm/neon/vmlsl_nu32.c: Remove. + * gcc.target/arm/neon/vmlsls16.c: Remove. + * gcc.target/arm/neon/vmlsls32.c: Remove. + * gcc.target/arm/neon/vmlsls8.c: Remove. + * gcc.target/arm/neon/vmlslu16.c: Remove. + * gcc.target/arm/neon/vmlslu32.c: Remove. + * gcc.target/arm/neon/vmlslu8.c: Remove. + * gcc.target/arm/neon/vmlss16.c: Remove. + * gcc.target/arm/neon/vmlss32.c: Remove. + * gcc.target/arm/neon/vmlss8.c: Remove. + * gcc.target/arm/neon/vmlsu16.c: Remove. + * gcc.target/arm/neon/vmlsu32.c: Remove. + * gcc.target/arm/neon/vmlsu8.c: Remove. + * gcc.target/arm/neon/vmovQ_nf32.c: Remove. + * gcc.target/arm/neon/vmovQ_np16.c: Remove. + * gcc.target/arm/neon/vmovQ_np8.c: Remove. + * gcc.target/arm/neon/vmovQ_ns16.c: Remove. + * gcc.target/arm/neon/vmovQ_ns32.c: Remove. + * gcc.target/arm/neon/vmovQ_ns64.c: Remove. + * gcc.target/arm/neon/vmovQ_ns8.c: Remove. + * gcc.target/arm/neon/vmovQ_nu16.c: Remove. + * gcc.target/arm/neon/vmovQ_nu32.c: Remove. + * gcc.target/arm/neon/vmovQ_nu64.c: Remove. + * gcc.target/arm/neon/vmovQ_nu8.c: Remove. + * gcc.target/arm/neon/vmov_nf32.c: Remove. + * gcc.target/arm/neon/vmov_np16.c: Remove. + * gcc.target/arm/neon/vmov_np8.c: Remove. + * gcc.target/arm/neon/vmov_ns16.c: Remove. + * gcc.target/arm/neon/vmov_ns32.c: Remove. + * gcc.target/arm/neon/vmov_ns64.c: Remove. + * gcc.target/arm/neon/vmov_ns8.c: Remove. + * gcc.target/arm/neon/vmov_nu16.c: Remove. + * gcc.target/arm/neon/vmov_nu32.c: Remove. + * gcc.target/arm/neon/vmov_nu64.c: Remove. + * gcc.target/arm/neon/vmov_nu8.c: Remove. + * gcc.target/arm/neon/vmovls16.c: Remove. + * gcc.target/arm/neon/vmovls32.c: Remove. + * gcc.target/arm/neon/vmovls8.c: Remove. + * gcc.target/arm/neon/vmovlu16.c: Remove. + * gcc.target/arm/neon/vmovlu32.c: Remove. + * gcc.target/arm/neon/vmovlu8.c: Remove. + * gcc.target/arm/neon/vmovns16.c: Remove. + * gcc.target/arm/neon/vmovns32.c: Remove. + * gcc.target/arm/neon/vmovns64.c: Remove. + * gcc.target/arm/neon/vmovnu16.c: Remove. + * gcc.target/arm/neon/vmovnu32.c: Remove. + * gcc.target/arm/neon/vmovnu64.c: Remove. + * gcc.target/arm/neon/vmulQ_lanef32.c: Remove. + * gcc.target/arm/neon/vmulQ_lanes16.c: Remove. + * gcc.target/arm/neon/vmulQ_lanes32.c: Remove. + * gcc.target/arm/neon/vmulQ_laneu16.c: Remove. + * gcc.target/arm/neon/vmulQ_laneu32.c: Remove. + * gcc.target/arm/neon/vmulQ_nf32.c: Remove. + * gcc.target/arm/neon/vmulQ_ns16.c: Remove. + * gcc.target/arm/neon/vmulQ_ns32.c: Remove. + * gcc.target/arm/neon/vmulQ_nu16.c: Remove. + * gcc.target/arm/neon/vmulQ_nu32.c: Remove. + * gcc.target/arm/neon/vmulQf32.c: Remove. + * gcc.target/arm/neon/vmulQp8.c: Remove. + * gcc.target/arm/neon/vmulQs16.c: Remove. + * gcc.target/arm/neon/vmulQs32.c: Remove. + * gcc.target/arm/neon/vmulQs8.c: Remove. + * gcc.target/arm/neon/vmulQu16.c: Remove. + * gcc.target/arm/neon/vmulQu32.c: Remove. + * gcc.target/arm/neon/vmulQu8.c: Remove. + * gcc.target/arm/neon/vmul_lanef32.c: Remove. + * gcc.target/arm/neon/vmul_lanes16.c: Remove. + * gcc.target/arm/neon/vmul_lanes32.c: Remove. + * gcc.target/arm/neon/vmul_laneu16.c: Remove. + * gcc.target/arm/neon/vmul_laneu32.c: Remove. + * gcc.target/arm/neon/vmul_nf32.c: Remove. + * gcc.target/arm/neon/vmul_ns16.c: Remove. + * gcc.target/arm/neon/vmul_ns32.c: Remove. + * gcc.target/arm/neon/vmul_nu16.c: Remove. + * gcc.target/arm/neon/vmul_nu32.c: Remove. + * gcc.target/arm/neon/vmulf32.c: Remove. + * gcc.target/arm/neon/vmull_lanes16.c: Remove. + * gcc.target/arm/neon/vmull_lanes32.c: Remove. + * gcc.target/arm/neon/vmull_laneu16.c: Remove. + * gcc.target/arm/neon/vmull_laneu32.c: Remove. + * gcc.target/arm/neon/vmull_ns16.c: Remove. + * gcc.target/arm/neon/vmull_ns32.c: Remove. + * gcc.target/arm/neon/vmull_nu16.c: Remove. + * gcc.target/arm/neon/vmull_nu32.c: Remove. + * gcc.target/arm/neon/vmullp8.c: Remove. + * gcc.target/arm/neon/vmulls16.c: Remove. + * gcc.target/arm/neon/vmulls32.c: Remove. + * gcc.target/arm/neon/vmulls8.c: Remove. + * gcc.target/arm/neon/vmullu16.c: Remove. + * gcc.target/arm/neon/vmullu32.c: Remove. + * gcc.target/arm/neon/vmullu8.c: Remove. + * gcc.target/arm/neon/vmulp8.c: Remove. + * gcc.target/arm/neon/vmuls16.c: Remove. + * gcc.target/arm/neon/vmuls32.c: Remove. + * gcc.target/arm/neon/vmuls8.c: Remove. + * gcc.target/arm/neon/vmulu16.c: Remove. + * gcc.target/arm/neon/vmulu32.c: Remove. + * gcc.target/arm/neon/vmulu8.c: Remove. + * gcc.target/arm/neon/vmvnQp8.c: Remove. + * gcc.target/arm/neon/vmvnQs16.c: Remove. + * gcc.target/arm/neon/vmvnQs32.c: Remove. + * gcc.target/arm/neon/vmvnQs8.c: Remove. + * gcc.target/arm/neon/vmvnQu16.c: Remove. + * gcc.target/arm/neon/vmvnQu32.c: Remove. + * gcc.target/arm/neon/vmvnQu8.c: Remove. + * gcc.target/arm/neon/vmvnp8.c: Remove. + * gcc.target/arm/neon/vmvns16.c: Remove. + * gcc.target/arm/neon/vmvns32.c: Remove. + * gcc.target/arm/neon/vmvns8.c: Remove. + * gcc.target/arm/neon/vmvnu16.c: Remove. + * gcc.target/arm/neon/vmvnu32.c: Remove. + * gcc.target/arm/neon/vmvnu8.c: Remove. + * gcc.target/arm/neon/vnegQf32.c: Remove. + * gcc.target/arm/neon/vnegQs16.c: Remove. + * gcc.target/arm/neon/vnegQs32.c: Remove. + * gcc.target/arm/neon/vnegQs8.c: Remove. + * gcc.target/arm/neon/vnegf32.c: Remove. + * gcc.target/arm/neon/vnegs16.c: Remove. + * gcc.target/arm/neon/vnegs32.c: Remove. + * gcc.target/arm/neon/vnegs8.c: Remove. + * gcc.target/arm/neon/vornQs16.c: Remove. + * gcc.target/arm/neon/vornQs32.c: Remove. + * gcc.target/arm/neon/vornQs64.c: Remove. + * gcc.target/arm/neon/vornQs8.c: Remove. + * gcc.target/arm/neon/vornQu16.c: Remove. + * gcc.target/arm/neon/vornQu32.c: Remove. + * gcc.target/arm/neon/vornQu64.c: Remove. + * gcc.target/arm/neon/vornQu8.c: Remove. + * gcc.target/arm/neon/vorns16.c: Remove. + * gcc.target/arm/neon/vorns32.c: Remove. + * gcc.target/arm/neon/vorns64.c: Remove. + * gcc.target/arm/neon/vorns8.c: Remove. + * gcc.target/arm/neon/vornu16.c: Remove. + * gcc.target/arm/neon/vornu32.c: Remove. + * gcc.target/arm/neon/vornu64.c: Remove. + * gcc.target/arm/neon/vornu8.c: Remove. + * gcc.target/arm/neon/vorrQs16.c: Remove. + * gcc.target/arm/neon/vorrQs32.c: Remove. + * gcc.target/arm/neon/vorrQs64.c: Remove. + * gcc.target/arm/neon/vorrQs8.c: Remove. + * gcc.target/arm/neon/vorrQu16.c: Remove. + * gcc.target/arm/neon/vorrQu32.c: Remove. + * gcc.target/arm/neon/vorrQu64.c: Remove. + * gcc.target/arm/neon/vorrQu8.c: Remove. + * gcc.target/arm/neon/vorrs16.c: Remove. + * gcc.target/arm/neon/vorrs32.c: Remove. + * gcc.target/arm/neon/vorrs64.c: Remove. + * gcc.target/arm/neon/vorrs8.c: Remove. + * gcc.target/arm/neon/vorru16.c: Remove. + * gcc.target/arm/neon/vorru32.c: Remove. + * gcc.target/arm/neon/vorru64.c: Remove. + * gcc.target/arm/neon/vorru8.c: Remove. + * gcc.target/arm/neon/vpadalQs16.c: Remove. + * gcc.target/arm/neon/vpadalQs32.c: Remove. + * gcc.target/arm/neon/vpadalQs8.c: Remove. + * gcc.target/arm/neon/vpadalQu16.c: Remove. + * gcc.target/arm/neon/vpadalQu32.c: Remove. + * gcc.target/arm/neon/vpadalQu8.c: Remove. + * gcc.target/arm/neon/vpadals16.c: Remove. + * gcc.target/arm/neon/vpadals32.c: Remove. + * gcc.target/arm/neon/vpadals8.c: Remove. + * gcc.target/arm/neon/vpadalu16.c: Remove. + * gcc.target/arm/neon/vpadalu32.c: Remove. + * gcc.target/arm/neon/vpadalu8.c: Remove. + * gcc.target/arm/neon/vpaddf32.c: Remove. + * gcc.target/arm/neon/vpaddlQs16.c: Remove. + * gcc.target/arm/neon/vpaddlQs32.c: Remove. + * gcc.target/arm/neon/vpaddlQs8.c: Remove. + * gcc.target/arm/neon/vpaddlQu16.c: Remove. + * gcc.target/arm/neon/vpaddlQu32.c: Remove. + * gcc.target/arm/neon/vpaddlQu8.c: Remove. + * gcc.target/arm/neon/vpaddls16.c: Remove. + * gcc.target/arm/neon/vpaddls32.c: Remove. + * gcc.target/arm/neon/vpaddls8.c: Remove. + * gcc.target/arm/neon/vpaddlu16.c: Remove. + * gcc.target/arm/neon/vpaddlu32.c: Remove. + * gcc.target/arm/neon/vpaddlu8.c: Remove. + * gcc.target/arm/neon/vpadds16.c: Remove. + * gcc.target/arm/neon/vpadds32.c: Remove. + * gcc.target/arm/neon/vpadds8.c: Remove. + * gcc.target/arm/neon/vpaddu16.c: Remove. + * gcc.target/arm/neon/vpaddu32.c: Remove. + * gcc.target/arm/neon/vpaddu8.c: Remove. + * gcc.target/arm/neon/vpmaxf32.c: Remove. + * gcc.target/arm/neon/vpmaxs16.c: Remove. + * gcc.target/arm/neon/vpmaxs32.c: Remove. + * gcc.target/arm/neon/vpmaxs8.c: Remove. + * gcc.target/arm/neon/vpmaxu16.c: Remove. + * gcc.target/arm/neon/vpmaxu32.c: Remove. + * gcc.target/arm/neon/vpmaxu8.c: Remove. + * gcc.target/arm/neon/vpminf32.c: Remove. + * gcc.target/arm/neon/vpmins16.c: Remove. + * gcc.target/arm/neon/vpmins32.c: Remove. + * gcc.target/arm/neon/vpmins8.c: Remove. + * gcc.target/arm/neon/vpminu16.c: Remove. + * gcc.target/arm/neon/vpminu32.c: Remove. + * gcc.target/arm/neon/vpminu8.c: Remove. + * gcc.target/arm/neon/vqRdmulhQ_lanes16.c: Remove. + * gcc.target/arm/neon/vqRdmulhQ_lanes32.c: Remove. + * gcc.target/arm/neon/vqRdmulhQ_ns16.c: Remove. + * gcc.target/arm/neon/vqRdmulhQ_ns32.c: Remove. + * gcc.target/arm/neon/vqRdmulhQs16.c: Remove. + * gcc.target/arm/neon/vqRdmulhQs32.c: Remove. + * gcc.target/arm/neon/vqRdmulh_lanes16.c: Remove. + * gcc.target/arm/neon/vqRdmulh_lanes32.c: Remove. + * gcc.target/arm/neon/vqRdmulh_ns16.c: Remove. + * gcc.target/arm/neon/vqRdmulh_ns32.c: Remove. + * gcc.target/arm/neon/vqRdmulhs16.c: Remove. + * gcc.target/arm/neon/vqRdmulhs32.c: Remove. + * gcc.target/arm/neon/vqRshlQs16.c: Remove. + * gcc.target/arm/neon/vqRshlQs32.c: Remove. + * gcc.target/arm/neon/vqRshlQs64.c: Remove. + * gcc.target/arm/neon/vqRshlQs8.c: Remove. + * gcc.target/arm/neon/vqRshlQu16.c: Remove. + * gcc.target/arm/neon/vqRshlQu32.c: Remove. + * gcc.target/arm/neon/vqRshlQu64.c: Remove. + * gcc.target/arm/neon/vqRshlQu8.c: Remove. + * gcc.target/arm/neon/vqRshls16.c: Remove. + * gcc.target/arm/neon/vqRshls32.c: Remove. + * gcc.target/arm/neon/vqRshls64.c: Remove. + * gcc.target/arm/neon/vqRshls8.c: Remove. + * gcc.target/arm/neon/vqRshlu16.c: Remove. + * gcc.target/arm/neon/vqRshlu32.c: Remove. + * gcc.target/arm/neon/vqRshlu64.c: Remove. + * gcc.target/arm/neon/vqRshlu8.c: Remove. + * gcc.target/arm/neon/vqRshrn_ns16.c: Remove. + * gcc.target/arm/neon/vqRshrn_ns32.c: Remove. + * gcc.target/arm/neon/vqRshrn_ns64.c: Remove. + * gcc.target/arm/neon/vqRshrn_nu16.c: Remove. + * gcc.target/arm/neon/vqRshrn_nu32.c: Remove. + * gcc.target/arm/neon/vqRshrn_nu64.c: Remove. + * gcc.target/arm/neon/vqRshrun_ns16.c: Remove. + * gcc.target/arm/neon/vqRshrun_ns32.c: Remove. + * gcc.target/arm/neon/vqRshrun_ns64.c: Remove. + * gcc.target/arm/neon/vqabsQs16.c: Remove. + * gcc.target/arm/neon/vqabsQs32.c: Remove. + * gcc.target/arm/neon/vqabsQs8.c: Remove. + * gcc.target/arm/neon/vqabss16.c: Remove. + * gcc.target/arm/neon/vqabss32.c: Remove. + * gcc.target/arm/neon/vqabss8.c: Remove. + * gcc.target/arm/neon/vqaddQs16.c: Remove. + * gcc.target/arm/neon/vqaddQs32.c: Remove. + * gcc.target/arm/neon/vqaddQs64.c: Remove. + * gcc.target/arm/neon/vqaddQs8.c: Remove. + * gcc.target/arm/neon/vqaddQu16.c: Remove. + * gcc.target/arm/neon/vqaddQu32.c: Remove. + * gcc.target/arm/neon/vqaddQu64.c: Remove. + * gcc.target/arm/neon/vqaddQu8.c: Remove. + * gcc.target/arm/neon/vqadds16.c: Remove. + * gcc.target/arm/neon/vqadds32.c: Remove. + * gcc.target/arm/neon/vqadds64.c: Remove. + * gcc.target/arm/neon/vqadds8.c: Remove. + * gcc.target/arm/neon/vqaddu16.c: Remove. + * gcc.target/arm/neon/vqaddu32.c: Remove. + * gcc.target/arm/neon/vqaddu64.c: Remove. + * gcc.target/arm/neon/vqaddu8.c: Remove. + * gcc.target/arm/neon/vqdmlal_lanes16.c: Remove. + * gcc.target/arm/neon/vqdmlal_lanes32.c: Remove. + * gcc.target/arm/neon/vqdmlal_ns16.c: Remove. + * gcc.target/arm/neon/vqdmlal_ns32.c: Remove. + * gcc.target/arm/neon/vqdmlals16.c: Remove. + * gcc.target/arm/neon/vqdmlals32.c: Remove. + * gcc.target/arm/neon/vqdmlsl_lanes16.c: Remove. + * gcc.target/arm/neon/vqdmlsl_lanes32.c: Remove. + * gcc.target/arm/neon/vqdmlsl_ns16.c: Remove. + * gcc.target/arm/neon/vqdmlsl_ns32.c: Remove. + * gcc.target/arm/neon/vqdmlsls16.c: Remove. + * gcc.target/arm/neon/vqdmlsls32.c: Remove. + * gcc.target/arm/neon/vqdmulhQ_lanes16.c: Remove. + * gcc.target/arm/neon/vqdmulhQ_lanes32.c: Remove. + * gcc.target/arm/neon/vqdmulhQ_ns16.c: Remove. + * gcc.target/arm/neon/vqdmulhQ_ns32.c: Remove. + * gcc.target/arm/neon/vqdmulhQs16.c: Remove. + * gcc.target/arm/neon/vqdmulhQs32.c: Remove. + * gcc.target/arm/neon/vqdmulh_lanes16.c: Remove. + * gcc.target/arm/neon/vqdmulh_lanes32.c: Remove. + * gcc.target/arm/neon/vqdmulh_ns16.c: Remove. + * gcc.target/arm/neon/vqdmulh_ns32.c: Remove. + * gcc.target/arm/neon/vqdmulhs16.c: Remove. + * gcc.target/arm/neon/vqdmulhs32.c: Remove. + * gcc.target/arm/neon/vqdmull_lanes16.c: Remove. + * gcc.target/arm/neon/vqdmull_lanes32.c: Remove. + * gcc.target/arm/neon/vqdmull_ns16.c: Remove. + * gcc.target/arm/neon/vqdmull_ns32.c: Remove. + * gcc.target/arm/neon/vqdmulls16.c: Remove. + * gcc.target/arm/neon/vqdmulls32.c: Remove. + * gcc.target/arm/neon/vqmovns16.c: Remove. + * gcc.target/arm/neon/vqmovns32.c: Remove. + * gcc.target/arm/neon/vqmovns64.c: Remove. + * gcc.target/arm/neon/vqmovnu16.c: Remove. + * gcc.target/arm/neon/vqmovnu32.c: Remove. + * gcc.target/arm/neon/vqmovnu64.c: Remove. + * gcc.target/arm/neon/vqmovuns16.c: Remove. + * gcc.target/arm/neon/vqmovuns32.c: Remove. + * gcc.target/arm/neon/vqmovuns64.c: Remove. + * gcc.target/arm/neon/vqnegQs16.c: Remove. + * gcc.target/arm/neon/vqnegQs32.c: Remove. + * gcc.target/arm/neon/vqnegQs8.c: Remove. + * gcc.target/arm/neon/vqnegs16.c: Remove. + * gcc.target/arm/neon/vqnegs32.c: Remove. + * gcc.target/arm/neon/vqnegs8.c: Remove. + * gcc.target/arm/neon/vqshlQ_ns16.c: Remove. + * gcc.target/arm/neon/vqshlQ_ns32.c: Remove. + * gcc.target/arm/neon/vqshlQ_ns64.c: Remove. + * gcc.target/arm/neon/vqshlQ_ns8.c: Remove. + * gcc.target/arm/neon/vqshlQ_nu16.c: Remove. + * gcc.target/arm/neon/vqshlQ_nu32.c: Remove. + * gcc.target/arm/neon/vqshlQ_nu64.c: Remove. + * gcc.target/arm/neon/vqshlQ_nu8.c: Remove. + * gcc.target/arm/neon/vqshlQs16.c: Remove. + * gcc.target/arm/neon/vqshlQs32.c: Remove. + * gcc.target/arm/neon/vqshlQs64.c: Remove. + * gcc.target/arm/neon/vqshlQs8.c: Remove. + * gcc.target/arm/neon/vqshlQu16.c: Remove. + * gcc.target/arm/neon/vqshlQu32.c: Remove. + * gcc.target/arm/neon/vqshlQu64.c: Remove. + * gcc.target/arm/neon/vqshlQu8.c: Remove. + * gcc.target/arm/neon/vqshl_ns16.c: Remove. + * gcc.target/arm/neon/vqshl_ns32.c: Remove. + * gcc.target/arm/neon/vqshl_ns64.c: Remove. + * gcc.target/arm/neon/vqshl_ns8.c: Remove. + * gcc.target/arm/neon/vqshl_nu16.c: Remove. + * gcc.target/arm/neon/vqshl_nu32.c: Remove. + * gcc.target/arm/neon/vqshl_nu64.c: Remove. + * gcc.target/arm/neon/vqshl_nu8.c: Remove. + * gcc.target/arm/neon/vqshls16.c: Remove. + * gcc.target/arm/neon/vqshls32.c: Remove. + * gcc.target/arm/neon/vqshls64.c: Remove. + * gcc.target/arm/neon/vqshls8.c: Remove. + * gcc.target/arm/neon/vqshlu16.c: Remove. + * gcc.target/arm/neon/vqshlu32.c: Remove. + * gcc.target/arm/neon/vqshlu64.c: Remove. + * gcc.target/arm/neon/vqshlu8.c: Remove. + * gcc.target/arm/neon/vqshluQ_ns16.c: Remove. + * gcc.target/arm/neon/vqshluQ_ns32.c: Remove. + * gcc.target/arm/neon/vqshluQ_ns64.c: Remove. + * gcc.target/arm/neon/vqshluQ_ns8.c: Remove. + * gcc.target/arm/neon/vqshlu_ns16.c: Remove. + * gcc.target/arm/neon/vqshlu_ns32.c: Remove. + * gcc.target/arm/neon/vqshlu_ns64.c: Remove. + * gcc.target/arm/neon/vqshlu_ns8.c: Remove. + * gcc.target/arm/neon/vqshrn_ns16.c: Remove. + * gcc.target/arm/neon/vqshrn_ns32.c: Remove. + * gcc.target/arm/neon/vqshrn_ns64.c: Remove. + * gcc.target/arm/neon/vqshrn_nu16.c: Remove. + * gcc.target/arm/neon/vqshrn_nu32.c: Remove. + * gcc.target/arm/neon/vqshrn_nu64.c: Remove. + * gcc.target/arm/neon/vqshrun_ns16.c: Remove. + * gcc.target/arm/neon/vqshrun_ns32.c: Remove. + * gcc.target/arm/neon/vqshrun_ns64.c: Remove. + * gcc.target/arm/neon/vqsubQs16.c: Remove. + * gcc.target/arm/neon/vqsubQs32.c: Remove. + * gcc.target/arm/neon/vqsubQs64.c: Remove. + * gcc.target/arm/neon/vqsubQs8.c: Remove. + * gcc.target/arm/neon/vqsubQu16.c: Remove. + * gcc.target/arm/neon/vqsubQu32.c: Remove. + * gcc.target/arm/neon/vqsubQu64.c: Remove. + * gcc.target/arm/neon/vqsubQu8.c: Remove. + * gcc.target/arm/neon/vqsubs16.c: Remove. + * gcc.target/arm/neon/vqsubs32.c: Remove. + * gcc.target/arm/neon/vqsubs64.c: Remove. + * gcc.target/arm/neon/vqsubs8.c: Remove. + * gcc.target/arm/neon/vqsubu16.c: Remove. + * gcc.target/arm/neon/vqsubu32.c: Remove. + * gcc.target/arm/neon/vqsubu64.c: Remove. + * gcc.target/arm/neon/vqsubu8.c: Remove. + * gcc.target/arm/neon/vrecpeQf32.c: Remove. + * gcc.target/arm/neon/vrecpeQu32.c: Remove. + * gcc.target/arm/neon/vrecpef32.c: Remove. + * gcc.target/arm/neon/vrecpeu32.c: Remove. + * gcc.target/arm/neon/vrecpsQf32.c: Remove. + * gcc.target/arm/neon/vrecpsf32.c: Remove. + * gcc.target/arm/neon/vreinterpretQf32_p128.c: Remove. + * gcc.target/arm/neon/vreinterpretQf32_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretQf32_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretQf32_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretQf32_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretQf32_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretQf32_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretQf32_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretQf32_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretQf32_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretQf32_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretQf32_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretQp128_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretQp128_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretQp128_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretQp128_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretQp128_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretQp128_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretQp128_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretQp128_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretQp128_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretQp128_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretQp128_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretQp128_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretQp16_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretQp16_p128.c: Remove. + * gcc.target/arm/neon/vreinterpretQp16_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretQp16_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretQp16_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretQp16_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretQp16_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretQp16_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretQp16_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretQp16_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretQp16_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretQp16_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretQp64_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretQp64_p128.c: Remove. + * gcc.target/arm/neon/vreinterpretQp64_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretQp64_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretQp64_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretQp64_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretQp64_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretQp64_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretQp64_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretQp64_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretQp64_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretQp64_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretQp8_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretQp8_p128.c: Remove. + * gcc.target/arm/neon/vreinterpretQp8_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretQp8_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretQp8_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretQp8_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretQp8_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretQp8_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretQp8_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretQp8_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretQp8_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretQp8_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretQs16_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretQs16_p128.c: Remove. + * gcc.target/arm/neon/vreinterpretQs16_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretQs16_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretQs16_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretQs16_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretQs16_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretQs16_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretQs16_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretQs16_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretQs16_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretQs16_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretQs32_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretQs32_p128.c: Remove. + * gcc.target/arm/neon/vreinterpretQs32_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretQs32_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretQs32_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretQs32_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretQs32_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretQs32_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretQs32_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretQs32_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretQs32_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretQs32_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretQs64_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretQs64_p128.c: Remove. + * gcc.target/arm/neon/vreinterpretQs64_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretQs64_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretQs64_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretQs64_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretQs64_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretQs64_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretQs64_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretQs64_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretQs64_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretQs64_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretQs8_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretQs8_p128.c: Remove. + * gcc.target/arm/neon/vreinterpretQs8_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretQs8_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretQs8_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretQs8_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretQs8_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretQs8_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretQs8_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretQs8_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretQs8_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretQs8_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretQu16_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretQu16_p128.c: Remove. + * gcc.target/arm/neon/vreinterpretQu16_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretQu16_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretQu16_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretQu16_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretQu16_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretQu16_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretQu16_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretQu16_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretQu16_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretQu16_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretQu32_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretQu32_p128.c: Remove. + * gcc.target/arm/neon/vreinterpretQu32_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretQu32_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretQu32_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretQu32_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretQu32_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretQu32_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretQu32_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretQu32_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretQu32_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretQu32_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretQu64_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretQu64_p128.c: Remove. + * gcc.target/arm/neon/vreinterpretQu64_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretQu64_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretQu64_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretQu64_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretQu64_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretQu64_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretQu64_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretQu64_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretQu64_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretQu64_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretQu8_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretQu8_p128.c: Remove. + * gcc.target/arm/neon/vreinterpretQu8_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretQu8_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretQu8_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretQu8_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretQu8_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretQu8_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretQu8_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretQu8_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretQu8_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretQu8_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretf32_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretf32_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretf32_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretf32_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretf32_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretf32_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretf32_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretf32_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretf32_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretf32_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretf32_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretp16_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretp16_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretp16_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretp16_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretp16_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretp16_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretp16_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretp16_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretp16_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretp16_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretp16_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretp64_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretp64_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretp64_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretp64_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretp64_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretp64_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretp64_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretp64_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretp64_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretp64_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretp64_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretp8_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretp8_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretp8_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretp8_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretp8_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretp8_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretp8_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretp8_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretp8_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretp8_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretp8_u8.c: Remove. + * gcc.target/arm/neon/vreinterprets16_f32.c: Remove. + * gcc.target/arm/neon/vreinterprets16_p16.c: Remove. + * gcc.target/arm/neon/vreinterprets16_p64.c: Remove. + * gcc.target/arm/neon/vreinterprets16_p8.c: Remove. + * gcc.target/arm/neon/vreinterprets16_s32.c: Remove. + * gcc.target/arm/neon/vreinterprets16_s64.c: Remove. + * gcc.target/arm/neon/vreinterprets16_s8.c: Remove. + * gcc.target/arm/neon/vreinterprets16_u16.c: Remove. + * gcc.target/arm/neon/vreinterprets16_u32.c: Remove. + * gcc.target/arm/neon/vreinterprets16_u64.c: Remove. + * gcc.target/arm/neon/vreinterprets16_u8.c: Remove. + * gcc.target/arm/neon/vreinterprets32_f32.c: Remove. + * gcc.target/arm/neon/vreinterprets32_p16.c: Remove. + * gcc.target/arm/neon/vreinterprets32_p64.c: Remove. + * gcc.target/arm/neon/vreinterprets32_p8.c: Remove. + * gcc.target/arm/neon/vreinterprets32_s16.c: Remove. + * gcc.target/arm/neon/vreinterprets32_s64.c: Remove. + * gcc.target/arm/neon/vreinterprets32_s8.c: Remove. + * gcc.target/arm/neon/vreinterprets32_u16.c: Remove. + * gcc.target/arm/neon/vreinterprets32_u32.c: Remove. + * gcc.target/arm/neon/vreinterprets32_u64.c: Remove. + * gcc.target/arm/neon/vreinterprets32_u8.c: Remove. + * gcc.target/arm/neon/vreinterprets64_f32.c: Remove. + * gcc.target/arm/neon/vreinterprets64_p16.c: Remove. + * gcc.target/arm/neon/vreinterprets64_p64.c: Remove. + * gcc.target/arm/neon/vreinterprets64_p8.c: Remove. + * gcc.target/arm/neon/vreinterprets64_s16.c: Remove. + * gcc.target/arm/neon/vreinterprets64_s32.c: Remove. + * gcc.target/arm/neon/vreinterprets64_s8.c: Remove. + * gcc.target/arm/neon/vreinterprets64_u16.c: Remove. + * gcc.target/arm/neon/vreinterprets64_u32.c: Remove. + * gcc.target/arm/neon/vreinterprets64_u64.c: Remove. + * gcc.target/arm/neon/vreinterprets64_u8.c: Remove. + * gcc.target/arm/neon/vreinterprets8_f32.c: Remove. + * gcc.target/arm/neon/vreinterprets8_p16.c: Remove. + * gcc.target/arm/neon/vreinterprets8_p64.c: Remove. + * gcc.target/arm/neon/vreinterprets8_p8.c: Remove. + * gcc.target/arm/neon/vreinterprets8_s16.c: Remove. + * gcc.target/arm/neon/vreinterprets8_s32.c: Remove. + * gcc.target/arm/neon/vreinterprets8_s64.c: Remove. + * gcc.target/arm/neon/vreinterprets8_u16.c: Remove. + * gcc.target/arm/neon/vreinterprets8_u32.c: Remove. + * gcc.target/arm/neon/vreinterprets8_u64.c: Remove. + * gcc.target/arm/neon/vreinterprets8_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretu16_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretu16_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretu16_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretu16_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretu16_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretu16_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretu16_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretu16_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretu16_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretu16_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretu16_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretu32_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretu32_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretu32_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretu32_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretu32_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretu32_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretu32_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretu32_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretu32_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretu32_u64.c: Remove. + * gcc.target/arm/neon/vreinterpretu32_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretu64_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretu64_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretu64_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretu64_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretu64_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretu64_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretu64_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretu64_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretu64_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretu64_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretu64_u8.c: Remove. + * gcc.target/arm/neon/vreinterpretu8_f32.c: Remove. + * gcc.target/arm/neon/vreinterpretu8_p16.c: Remove. + * gcc.target/arm/neon/vreinterpretu8_p64.c: Remove. + * gcc.target/arm/neon/vreinterpretu8_p8.c: Remove. + * gcc.target/arm/neon/vreinterpretu8_s16.c: Remove. + * gcc.target/arm/neon/vreinterpretu8_s32.c: Remove. + * gcc.target/arm/neon/vreinterpretu8_s64.c: Remove. + * gcc.target/arm/neon/vreinterpretu8_s8.c: Remove. + * gcc.target/arm/neon/vreinterpretu8_u16.c: Remove. + * gcc.target/arm/neon/vreinterpretu8_u32.c: Remove. + * gcc.target/arm/neon/vreinterpretu8_u64.c: Remove. + * gcc.target/arm/neon/vrev16Qp8.c: Remove. + * gcc.target/arm/neon/vrev16Qs8.c: Remove. + * gcc.target/arm/neon/vrev16Qu8.c: Remove. + * gcc.target/arm/neon/vrev16p8.c: Remove. + * gcc.target/arm/neon/vrev16s8.c: Remove. + * gcc.target/arm/neon/vrev16u8.c: Remove. + * gcc.target/arm/neon/vrev32Qp16.c: Remove. + * gcc.target/arm/neon/vrev32Qp8.c: Remove. + * gcc.target/arm/neon/vrev32Qs16.c: Remove. + * gcc.target/arm/neon/vrev32Qs8.c: Remove. + * gcc.target/arm/neon/vrev32Qu16.c: Remove. + * gcc.target/arm/neon/vrev32Qu8.c: Remove. + * gcc.target/arm/neon/vrev32p16.c: Remove. + * gcc.target/arm/neon/vrev32p8.c: Remove. + * gcc.target/arm/neon/vrev32s16.c: Remove. + * gcc.target/arm/neon/vrev32s8.c: Remove. + * gcc.target/arm/neon/vrev32u16.c: Remove. + * gcc.target/arm/neon/vrev32u8.c: Remove. + * gcc.target/arm/neon/vrev64Qf32.c: Remove. + * gcc.target/arm/neon/vrev64Qp16.c: Remove. + * gcc.target/arm/neon/vrev64Qp8.c: Remove. + * gcc.target/arm/neon/vrev64Qs16.c: Remove. + * gcc.target/arm/neon/vrev64Qs32.c: Remove. + * gcc.target/arm/neon/vrev64Qs8.c: Remove. + * gcc.target/arm/neon/vrev64Qu16.c: Remove. + * gcc.target/arm/neon/vrev64Qu32.c: Remove. + * gcc.target/arm/neon/vrev64Qu8.c: Remove. + * gcc.target/arm/neon/vrev64f32.c: Remove. + * gcc.target/arm/neon/vrev64p16.c: Remove. + * gcc.target/arm/neon/vrev64p8.c: Remove. + * gcc.target/arm/neon/vrev64s16.c: Remove. + * gcc.target/arm/neon/vrev64s32.c: Remove. + * gcc.target/arm/neon/vrev64s8.c: Remove. + * gcc.target/arm/neon/vrev64u16.c: Remove. + * gcc.target/arm/neon/vrev64u32.c: Remove. + * gcc.target/arm/neon/vrev64u8.c: Remove. + * gcc.target/arm/neon/vrndaf32.c: Remove. + * gcc.target/arm/neon/vrndaqf32.c: Remove. + * gcc.target/arm/neon/vrndf32.c: Remove. + * gcc.target/arm/neon/vrndmf32.c: Remove. + * gcc.target/arm/neon/vrndmqf32.c: Remove. + * gcc.target/arm/neon/vrndnf32.c: Remove. + * gcc.target/arm/neon/vrndnqf32.c: Remove. + * gcc.target/arm/neon/vrndpf32.c: Remove. + * gcc.target/arm/neon/vrndpqf32.c: Remove. + * gcc.target/arm/neon/vrndqf32.c: Remove. + * gcc.target/arm/neon/vrsqrteQf32.c: Remove. + * gcc.target/arm/neon/vrsqrteQu32.c: Remove. + * gcc.target/arm/neon/vrsqrtef32.c: Remove. + * gcc.target/arm/neon/vrsqrteu32.c: Remove. + * gcc.target/arm/neon/vrsqrtsQf32.c: Remove. + * gcc.target/arm/neon/vrsqrtsf32.c: Remove. + * gcc.target/arm/neon/vsetQ_lanef32.c: Remove. + * gcc.target/arm/neon/vsetQ_lanep16.c: Remove. + * gcc.target/arm/neon/vsetQ_lanep8.c: Remove. + * gcc.target/arm/neon/vsetQ_lanes16.c: Remove. + * gcc.target/arm/neon/vsetQ_lanes32.c: Remove. + * gcc.target/arm/neon/vsetQ_lanes64.c: Remove. + * gcc.target/arm/neon/vsetQ_lanes8.c: Remove. + * gcc.target/arm/neon/vsetQ_laneu16.c: Remove. + * gcc.target/arm/neon/vsetQ_laneu32.c: Remove. + * gcc.target/arm/neon/vsetQ_laneu64.c: Remove. + * gcc.target/arm/neon/vsetQ_laneu8.c: Remove. + * gcc.target/arm/neon/vset_lanef32.c: Remove. + * gcc.target/arm/neon/vset_lanep16.c: Remove. + * gcc.target/arm/neon/vset_lanep8.c: Remove. + * gcc.target/arm/neon/vset_lanes16.c: Remove. + * gcc.target/arm/neon/vset_lanes32.c: Remove. + * gcc.target/arm/neon/vset_lanes64.c: Remove. + * gcc.target/arm/neon/vset_lanes8.c: Remove. + * gcc.target/arm/neon/vset_laneu16.c: Remove. + * gcc.target/arm/neon/vset_laneu32.c: Remove. + * gcc.target/arm/neon/vset_laneu64.c: Remove. + * gcc.target/arm/neon/vset_laneu8.c: Remove. + * gcc.target/arm/neon/vshlQ_ns16.c: Remove. + * gcc.target/arm/neon/vshlQ_ns32.c: Remove. + * gcc.target/arm/neon/vshlQ_ns64.c: Remove. + * gcc.target/arm/neon/vshlQ_ns8.c: Remove. + * gcc.target/arm/neon/vshlQ_nu16.c: Remove. + * gcc.target/arm/neon/vshlQ_nu32.c: Remove. + * gcc.target/arm/neon/vshlQ_nu64.c: Remove. + * gcc.target/arm/neon/vshlQ_nu8.c: Remove. + * gcc.target/arm/neon/vshlQs16.c: Remove. + * gcc.target/arm/neon/vshlQs32.c: Remove. + * gcc.target/arm/neon/vshlQs64.c: Remove. + * gcc.target/arm/neon/vshlQs8.c: Remove. + * gcc.target/arm/neon/vshlQu16.c: Remove. + * gcc.target/arm/neon/vshlQu32.c: Remove. + * gcc.target/arm/neon/vshlQu64.c: Remove. + * gcc.target/arm/neon/vshlQu8.c: Remove. + * gcc.target/arm/neon/vshl_ns16.c: Remove. + * gcc.target/arm/neon/vshl_ns32.c: Remove. + * gcc.target/arm/neon/vshl_ns64.c: Remove. + * gcc.target/arm/neon/vshl_ns8.c: Remove. + * gcc.target/arm/neon/vshl_nu16.c: Remove. + * gcc.target/arm/neon/vshl_nu32.c: Remove. + * gcc.target/arm/neon/vshl_nu64.c: Remove. + * gcc.target/arm/neon/vshl_nu8.c: Remove. + * gcc.target/arm/neon/vshll_ns16.c: Remove. + * gcc.target/arm/neon/vshll_ns32.c: Remove. + * gcc.target/arm/neon/vshll_ns8.c: Remove. + * gcc.target/arm/neon/vshll_nu16.c: Remove. + * gcc.target/arm/neon/vshll_nu32.c: Remove. + * gcc.target/arm/neon/vshll_nu8.c: Remove. + * gcc.target/arm/neon/vshls16.c: Remove. + * gcc.target/arm/neon/vshls32.c: Remove. + * gcc.target/arm/neon/vshls64.c: Remove. + * gcc.target/arm/neon/vshls8.c: Remove. + * gcc.target/arm/neon/vshlu16.c: Remove. + * gcc.target/arm/neon/vshlu32.c: Remove. + * gcc.target/arm/neon/vshlu64.c: Remove. + * gcc.target/arm/neon/vshlu8.c: Remove. + * gcc.target/arm/neon/vshrQ_ns16.c: Remove. + * gcc.target/arm/neon/vshrQ_ns32.c: Remove. + * gcc.target/arm/neon/vshrQ_ns64.c: Remove. + * gcc.target/arm/neon/vshrQ_ns8.c: Remove. + * gcc.target/arm/neon/vshrQ_nu16.c: Remove. + * gcc.target/arm/neon/vshrQ_nu32.c: Remove. + * gcc.target/arm/neon/vshrQ_nu64.c: Remove. + * gcc.target/arm/neon/vshrQ_nu8.c: Remove. + * gcc.target/arm/neon/vshr_ns16.c: Remove. + * gcc.target/arm/neon/vshr_ns32.c: Remove. + * gcc.target/arm/neon/vshr_ns64.c: Remove. + * gcc.target/arm/neon/vshr_ns8.c: Remove. + * gcc.target/arm/neon/vshr_nu16.c: Remove. + * gcc.target/arm/neon/vshr_nu32.c: Remove. + * gcc.target/arm/neon/vshr_nu64.c: Remove. + * gcc.target/arm/neon/vshr_nu8.c: Remove. + * gcc.target/arm/neon/vshrn_ns16.c: Remove. + * gcc.target/arm/neon/vshrn_ns32.c: Remove. + * gcc.target/arm/neon/vshrn_ns64.c: Remove. + * gcc.target/arm/neon/vshrn_nu16.c: Remove. + * gcc.target/arm/neon/vshrn_nu32.c: Remove. + * gcc.target/arm/neon/vshrn_nu64.c: Remove. + * gcc.target/arm/neon/vsliQ_np16.c: Remove. + * gcc.target/arm/neon/vsliQ_np64.c: Remove. + * gcc.target/arm/neon/vsliQ_np8.c: Remove. + * gcc.target/arm/neon/vsliQ_ns16.c: Remove. + * gcc.target/arm/neon/vsliQ_ns32.c: Remove. + * gcc.target/arm/neon/vsliQ_ns64.c: Remove. + * gcc.target/arm/neon/vsliQ_ns8.c: Remove. + * gcc.target/arm/neon/vsliQ_nu16.c: Remove. + * gcc.target/arm/neon/vsliQ_nu32.c: Remove. + * gcc.target/arm/neon/vsliQ_nu64.c: Remove. + * gcc.target/arm/neon/vsliQ_nu8.c: Remove. + * gcc.target/arm/neon/vsli_np16.c: Remove. + * gcc.target/arm/neon/vsli_np64.c: Remove. + * gcc.target/arm/neon/vsli_np8.c: Remove. + * gcc.target/arm/neon/vsli_ns16.c: Remove. + * gcc.target/arm/neon/vsli_ns32.c: Remove. + * gcc.target/arm/neon/vsli_ns64.c: Remove. + * gcc.target/arm/neon/vsli_ns8.c: Remove. + * gcc.target/arm/neon/vsli_nu16.c: Remove. + * gcc.target/arm/neon/vsli_nu32.c: Remove. + * gcc.target/arm/neon/vsli_nu64.c: Remove. + * gcc.target/arm/neon/vsli_nu8.c: Remove. + * gcc.target/arm/neon/vsraQ_ns16.c: Remove. + * gcc.target/arm/neon/vsraQ_ns32.c: Remove. + * gcc.target/arm/neon/vsraQ_ns64.c: Remove. + * gcc.target/arm/neon/vsraQ_ns8.c: Remove. + * gcc.target/arm/neon/vsraQ_nu16.c: Remove. + * gcc.target/arm/neon/vsraQ_nu32.c: Remove. + * gcc.target/arm/neon/vsraQ_nu64.c: Remove. + * gcc.target/arm/neon/vsraQ_nu8.c: Remove. + * gcc.target/arm/neon/vsra_ns16.c: Remove. + * gcc.target/arm/neon/vsra_ns32.c: Remove. + * gcc.target/arm/neon/vsra_ns64.c: Remove. + * gcc.target/arm/neon/vsra_ns8.c: Remove. + * gcc.target/arm/neon/vsra_nu16.c: Remove. + * gcc.target/arm/neon/vsra_nu32.c: Remove. + * gcc.target/arm/neon/vsra_nu64.c: Remove. + * gcc.target/arm/neon/vsra_nu8.c: Remove. + * gcc.target/arm/neon/vsriQ_np16.c: Remove. + * gcc.target/arm/neon/vsriQ_np64.c: Remove. + * gcc.target/arm/neon/vsriQ_np8.c: Remove. + * gcc.target/arm/neon/vsriQ_ns16.c: Remove. + * gcc.target/arm/neon/vsriQ_ns32.c: Remove. + * gcc.target/arm/neon/vsriQ_ns64.c: Remove. + * gcc.target/arm/neon/vsriQ_ns8.c: Remove. + * gcc.target/arm/neon/vsriQ_nu16.c: Remove. + * gcc.target/arm/neon/vsriQ_nu32.c: Remove. + * gcc.target/arm/neon/vsriQ_nu64.c: Remove. + * gcc.target/arm/neon/vsriQ_nu8.c: Remove. + * gcc.target/arm/neon/vsri_np16.c: Remove. + * gcc.target/arm/neon/vsri_np64.c: Remove. + * gcc.target/arm/neon/vsri_np8.c: Remove. + * gcc.target/arm/neon/vsri_ns16.c: Remove. + * gcc.target/arm/neon/vsri_ns32.c: Remove. + * gcc.target/arm/neon/vsri_ns64.c: Remove. + * gcc.target/arm/neon/vsri_ns8.c: Remove. + * gcc.target/arm/neon/vsri_nu16.c: Remove. + * gcc.target/arm/neon/vsri_nu32.c: Remove. + * gcc.target/arm/neon/vsri_nu64.c: Remove. + * gcc.target/arm/neon/vsri_nu8.c: Remove. + * gcc.target/arm/neon/vst1Q_lanef32.c: Remove. + * gcc.target/arm/neon/vst1Q_lanep16.c: Remove. + * gcc.target/arm/neon/vst1Q_lanep64.c: Remove. + * gcc.target/arm/neon/vst1Q_lanep8.c: Remove. + * gcc.target/arm/neon/vst1Q_lanes16.c: Remove. + * gcc.target/arm/neon/vst1Q_lanes32.c: Remove. + * gcc.target/arm/neon/vst1Q_lanes64.c: Remove. + * gcc.target/arm/neon/vst1Q_lanes8.c: Remove. + * gcc.target/arm/neon/vst1Q_laneu16.c: Remove. + * gcc.target/arm/neon/vst1Q_laneu32.c: Remove. + * gcc.target/arm/neon/vst1Q_laneu64.c: Remove. + * gcc.target/arm/neon/vst1Q_laneu8.c: Remove. + * gcc.target/arm/neon/vst1Qf32.c: Remove. + * gcc.target/arm/neon/vst1Qp16.c: Remove. + * gcc.target/arm/neon/vst1Qp64.c: Remove. + * gcc.target/arm/neon/vst1Qp8.c: Remove. + * gcc.target/arm/neon/vst1Qs16.c: Remove. + * gcc.target/arm/neon/vst1Qs32.c: Remove. + * gcc.target/arm/neon/vst1Qs64.c: Remove. + * gcc.target/arm/neon/vst1Qs8.c: Remove. + * gcc.target/arm/neon/vst1Qu16.c: Remove. + * gcc.target/arm/neon/vst1Qu32.c: Remove. + * gcc.target/arm/neon/vst1Qu64.c: Remove. + * gcc.target/arm/neon/vst1Qu8.c: Remove. + * gcc.target/arm/neon/vst1_lanef32.c: Remove. + * gcc.target/arm/neon/vst1_lanep16.c: Remove. + * gcc.target/arm/neon/vst1_lanep64.c: Remove. + * gcc.target/arm/neon/vst1_lanep8.c: Remove. + * gcc.target/arm/neon/vst1_lanes16.c: Remove. + * gcc.target/arm/neon/vst1_lanes32.c: Remove. + * gcc.target/arm/neon/vst1_lanes64.c: Remove. + * gcc.target/arm/neon/vst1_lanes8.c: Remove. + * gcc.target/arm/neon/vst1_laneu16.c: Remove. + * gcc.target/arm/neon/vst1_laneu32.c: Remove. + * gcc.target/arm/neon/vst1_laneu64.c: Remove. + * gcc.target/arm/neon/vst1_laneu8.c: Remove. + * gcc.target/arm/neon/vst1f32.c: Remove. + * gcc.target/arm/neon/vst1p16.c: Remove. + * gcc.target/arm/neon/vst1p64.c: Remove. + * gcc.target/arm/neon/vst1p8.c: Remove. + * gcc.target/arm/neon/vst1s16.c: Remove. + * gcc.target/arm/neon/vst1s32.c: Remove. + * gcc.target/arm/neon/vst1s64.c: Remove. + * gcc.target/arm/neon/vst1s8.c: Remove. + * gcc.target/arm/neon/vst1u16.c: Remove. + * gcc.target/arm/neon/vst1u32.c: Remove. + * gcc.target/arm/neon/vst1u64.c: Remove. + * gcc.target/arm/neon/vst1u8.c: Remove. + * gcc.target/arm/neon/vst2Q_lanef32.c: Remove. + * gcc.target/arm/neon/vst2Q_lanep16.c: Remove. + * gcc.target/arm/neon/vst2Q_lanes16.c: Remove. + * gcc.target/arm/neon/vst2Q_lanes32.c: Remove. + * gcc.target/arm/neon/vst2Q_laneu16.c: Remove. + * gcc.target/arm/neon/vst2Q_laneu32.c: Remove. + * gcc.target/arm/neon/vst2Qf32.c: Remove. + * gcc.target/arm/neon/vst2Qp16.c: Remove. + * gcc.target/arm/neon/vst2Qp8.c: Remove. + * gcc.target/arm/neon/vst2Qs16.c: Remove. + * gcc.target/arm/neon/vst2Qs32.c: Remove. + * gcc.target/arm/neon/vst2Qs8.c: Remove. + * gcc.target/arm/neon/vst2Qu16.c: Remove. + * gcc.target/arm/neon/vst2Qu32.c: Remove. + * gcc.target/arm/neon/vst2Qu8.c: Remove. + * gcc.target/arm/neon/vst2_lanef32.c: Remove. + * gcc.target/arm/neon/vst2_lanep16.c: Remove. + * gcc.target/arm/neon/vst2_lanep8.c: Remove. + * gcc.target/arm/neon/vst2_lanes16.c: Remove. + * gcc.target/arm/neon/vst2_lanes32.c: Remove. + * gcc.target/arm/neon/vst2_lanes8.c: Remove. + * gcc.target/arm/neon/vst2_laneu16.c: Remove. + * gcc.target/arm/neon/vst2_laneu32.c: Remove. + * gcc.target/arm/neon/vst2_laneu8.c: Remove. + * gcc.target/arm/neon/vst2f32.c: Remove. + * gcc.target/arm/neon/vst2p16.c: Remove. + * gcc.target/arm/neon/vst2p64.c: Remove. + * gcc.target/arm/neon/vst2p8.c: Remove. + * gcc.target/arm/neon/vst2s16.c: Remove. + * gcc.target/arm/neon/vst2s32.c: Remove. + * gcc.target/arm/neon/vst2s64.c: Remove. + * gcc.target/arm/neon/vst2s8.c: Remove. + * gcc.target/arm/neon/vst2u16.c: Remove. + * gcc.target/arm/neon/vst2u32.c: Remove. + * gcc.target/arm/neon/vst2u64.c: Remove. + * gcc.target/arm/neon/vst2u8.c: Remove. + * gcc.target/arm/neon/vst3Q_lanef32.c: Remove. + * gcc.target/arm/neon/vst3Q_lanep16.c: Remove. + * gcc.target/arm/neon/vst3Q_lanes16.c: Remove. + * gcc.target/arm/neon/vst3Q_lanes32.c: Remove. + * gcc.target/arm/neon/vst3Q_laneu16.c: Remove. + * gcc.target/arm/neon/vst3Q_laneu32.c: Remove. + * gcc.target/arm/neon/vst3Qf32.c: Remove. + * gcc.target/arm/neon/vst3Qp16.c: Remove. + * gcc.target/arm/neon/vst3Qp8.c: Remove. + * gcc.target/arm/neon/vst3Qs16.c: Remove. + * gcc.target/arm/neon/vst3Qs32.c: Remove. + * gcc.target/arm/neon/vst3Qs8.c: Remove. + * gcc.target/arm/neon/vst3Qu16.c: Remove. + * gcc.target/arm/neon/vst3Qu32.c: Remove. + * gcc.target/arm/neon/vst3Qu8.c: Remove. + * gcc.target/arm/neon/vst3_lanef32.c: Remove. + * gcc.target/arm/neon/vst3_lanep16.c: Remove. + * gcc.target/arm/neon/vst3_lanep8.c: Remove. + * gcc.target/arm/neon/vst3_lanes16.c: Remove. + * gcc.target/arm/neon/vst3_lanes32.c: Remove. + * gcc.target/arm/neon/vst3_lanes8.c: Remove. + * gcc.target/arm/neon/vst3_laneu16.c: Remove. + * gcc.target/arm/neon/vst3_laneu32.c: Remove. + * gcc.target/arm/neon/vst3_laneu8.c: Remove. + * gcc.target/arm/neon/vst3f32.c: Remove. + * gcc.target/arm/neon/vst3p16.c: Remove. + * gcc.target/arm/neon/vst3p64.c: Remove. + * gcc.target/arm/neon/vst3p8.c: Remove. + * gcc.target/arm/neon/vst3s16.c: Remove. + * gcc.target/arm/neon/vst3s32.c: Remove. + * gcc.target/arm/neon/vst3s64.c: Remove. + * gcc.target/arm/neon/vst3s8.c: Remove. + * gcc.target/arm/neon/vst3u16.c: Remove. + * gcc.target/arm/neon/vst3u32.c: Remove. + * gcc.target/arm/neon/vst3u64.c: Remove. + * gcc.target/arm/neon/vst3u8.c: Remove. + * gcc.target/arm/neon/vst4Q_lanef32.c: Remove. + * gcc.target/arm/neon/vst4Q_lanep16.c: Remove. + * gcc.target/arm/neon/vst4Q_lanes16.c: Remove. + * gcc.target/arm/neon/vst4Q_lanes32.c: Remove. + * gcc.target/arm/neon/vst4Q_laneu16.c: Remove. + * gcc.target/arm/neon/vst4Q_laneu32.c: Remove. + * gcc.target/arm/neon/vst4Qf32.c: Remove. + * gcc.target/arm/neon/vst4Qp16.c: Remove. + * gcc.target/arm/neon/vst4Qp8.c: Remove. + * gcc.target/arm/neon/vst4Qs16.c: Remove. + * gcc.target/arm/neon/vst4Qs32.c: Remove. + * gcc.target/arm/neon/vst4Qs8.c: Remove. + * gcc.target/arm/neon/vst4Qu16.c: Remove. + * gcc.target/arm/neon/vst4Qu32.c: Remove. + * gcc.target/arm/neon/vst4Qu8.c: Remove. + * gcc.target/arm/neon/vst4_lanef32.c: Remove. + * gcc.target/arm/neon/vst4_lanep16.c: Remove. + * gcc.target/arm/neon/vst4_lanep8.c: Remove. + * gcc.target/arm/neon/vst4_lanes16.c: Remove. + * gcc.target/arm/neon/vst4_lanes32.c: Remove. + * gcc.target/arm/neon/vst4_lanes8.c: Remove. + * gcc.target/arm/neon/vst4_laneu16.c: Remove. + * gcc.target/arm/neon/vst4_laneu32.c: Remove. + * gcc.target/arm/neon/vst4_laneu8.c: Remove. + * gcc.target/arm/neon/vst4f32.c: Remove. + * gcc.target/arm/neon/vst4p16.c: Remove. + * gcc.target/arm/neon/vst4p64.c: Remove. + * gcc.target/arm/neon/vst4p8.c: Remove. + * gcc.target/arm/neon/vst4s16.c: Remove. + * gcc.target/arm/neon/vst4s32.c: Remove. + * gcc.target/arm/neon/vst4s64.c: Remove. + * gcc.target/arm/neon/vst4s8.c: Remove. + * gcc.target/arm/neon/vst4u16.c: Remove. + * gcc.target/arm/neon/vst4u32.c: Remove. + * gcc.target/arm/neon/vst4u64.c: Remove. + * gcc.target/arm/neon/vst4u8.c: Remove. + * gcc.target/arm/neon/vsubQf32.c: Remove. + * gcc.target/arm/neon/vsubQs16.c: Remove. + * gcc.target/arm/neon/vsubQs32.c: Remove. + * gcc.target/arm/neon/vsubQs64.c: Remove. + * gcc.target/arm/neon/vsubQs8.c: Remove. + * gcc.target/arm/neon/vsubQu16.c: Remove. + * gcc.target/arm/neon/vsubQu32.c: Remove. + * gcc.target/arm/neon/vsubQu64.c: Remove. + * gcc.target/arm/neon/vsubQu8.c: Remove. + * gcc.target/arm/neon/vsubf32.c: Remove. + * gcc.target/arm/neon/vsubhns16.c: Remove. + * gcc.target/arm/neon/vsubhns32.c: Remove. + * gcc.target/arm/neon/vsubhns64.c: Remove. + * gcc.target/arm/neon/vsubhnu16.c: Remove. + * gcc.target/arm/neon/vsubhnu32.c: Remove. + * gcc.target/arm/neon/vsubhnu64.c: Remove. + * gcc.target/arm/neon/vsubls16.c: Remove. + * gcc.target/arm/neon/vsubls32.c: Remove. + * gcc.target/arm/neon/vsubls8.c: Remove. + * gcc.target/arm/neon/vsublu16.c: Remove. + * gcc.target/arm/neon/vsublu32.c: Remove. + * gcc.target/arm/neon/vsublu8.c: Remove. + * gcc.target/arm/neon/vsubs16.c: Remove. + * gcc.target/arm/neon/vsubs32.c: Remove. + * gcc.target/arm/neon/vsubs64.c: Remove. + * gcc.target/arm/neon/vsubs8.c: Remove. + * gcc.target/arm/neon/vsubu16.c: Remove. + * gcc.target/arm/neon/vsubu32.c: Remove. + * gcc.target/arm/neon/vsubu64.c: Remove. + * gcc.target/arm/neon/vsubu8.c: Remove. + * gcc.target/arm/neon/vsubws16.c: Remove. + * gcc.target/arm/neon/vsubws32.c: Remove. + * gcc.target/arm/neon/vsubws8.c: Remove. + * gcc.target/arm/neon/vsubwu16.c: Remove. + * gcc.target/arm/neon/vsubwu32.c: Remove. + * gcc.target/arm/neon/vsubwu8.c: Remove. + * gcc.target/arm/neon/vtbl1p8.c: Remove. + * gcc.target/arm/neon/vtbl1s8.c: Remove. + * gcc.target/arm/neon/vtbl1u8.c: Remove. + * gcc.target/arm/neon/vtbl2p8.c: Remove. + * gcc.target/arm/neon/vtbl2s8.c: Remove. + * gcc.target/arm/neon/vtbl2u8.c: Remove. + * gcc.target/arm/neon/vtbl3p8.c: Remove. + * gcc.target/arm/neon/vtbl3s8.c: Remove. + * gcc.target/arm/neon/vtbl3u8.c: Remove. + * gcc.target/arm/neon/vtbl4p8.c: Remove. + * gcc.target/arm/neon/vtbl4s8.c: Remove. + * gcc.target/arm/neon/vtbl4u8.c: Remove. + * gcc.target/arm/neon/vtbx1p8.c: Remove. + * gcc.target/arm/neon/vtbx1s8.c: Remove. + * gcc.target/arm/neon/vtbx1u8.c: Remove. + * gcc.target/arm/neon/vtbx2p8.c: Remove. + * gcc.target/arm/neon/vtbx2s8.c: Remove. + * gcc.target/arm/neon/vtbx2u8.c: Remove. + * gcc.target/arm/neon/vtbx3p8.c: Remove. + * gcc.target/arm/neon/vtbx3s8.c: Remove. + * gcc.target/arm/neon/vtbx3u8.c: Remove. + * gcc.target/arm/neon/vtbx4p8.c: Remove. + * gcc.target/arm/neon/vtbx4s8.c: Remove. + * gcc.target/arm/neon/vtbx4u8.c: Remove. + * gcc.target/arm/neon/vtrnQf32.c: Remove. + * gcc.target/arm/neon/vtrnQp16.c: Remove. + * gcc.target/arm/neon/vtrnQp8.c: Remove. + * gcc.target/arm/neon/vtrnQs16.c: Remove. + * gcc.target/arm/neon/vtrnQs32.c: Remove. + * gcc.target/arm/neon/vtrnQs8.c: Remove. + * gcc.target/arm/neon/vtrnQu16.c: Remove. + * gcc.target/arm/neon/vtrnQu32.c: Remove. + * gcc.target/arm/neon/vtrnQu8.c: Remove. + * gcc.target/arm/neon/vtrnf32.c: Remove. + * gcc.target/arm/neon/vtrnp16.c: Remove. + * gcc.target/arm/neon/vtrnp8.c: Remove. + * gcc.target/arm/neon/vtrns16.c: Remove. + * gcc.target/arm/neon/vtrns32.c: Remove. + * gcc.target/arm/neon/vtrns8.c: Remove. + * gcc.target/arm/neon/vtrnu16.c: Remove. + * gcc.target/arm/neon/vtrnu32.c: Remove. + * gcc.target/arm/neon/vtrnu8.c: Remove. + * gcc.target/arm/neon/vtstQp8.c: Remove. + * gcc.target/arm/neon/vtstQs16.c: Remove. + * gcc.target/arm/neon/vtstQs32.c: Remove. + * gcc.target/arm/neon/vtstQs8.c: Remove. + * gcc.target/arm/neon/vtstQu16.c: Remove. + * gcc.target/arm/neon/vtstQu32.c: Remove. + * gcc.target/arm/neon/vtstQu8.c: Remove. + * gcc.target/arm/neon/vtstp8.c: Remove. + * gcc.target/arm/neon/vtsts16.c: Remove. + * gcc.target/arm/neon/vtsts32.c: Remove. + * gcc.target/arm/neon/vtsts8.c: Remove. + * gcc.target/arm/neon/vtstu16.c: Remove. + * gcc.target/arm/neon/vtstu32.c: Remove. + * gcc.target/arm/neon/vtstu8.c: Remove. + * gcc.target/arm/neon/vuzpQf32.c: Remove. + * gcc.target/arm/neon/vuzpQp16.c: Remove. + * gcc.target/arm/neon/vuzpQp8.c: Remove. + * gcc.target/arm/neon/vuzpQs16.c: Remove. + * gcc.target/arm/neon/vuzpQs32.c: Remove. + * gcc.target/arm/neon/vuzpQs8.c: Remove. + * gcc.target/arm/neon/vuzpQu16.c: Remove. + * gcc.target/arm/neon/vuzpQu32.c: Remove. + * gcc.target/arm/neon/vuzpQu8.c: Remove. + * gcc.target/arm/neon/vuzpf32.c: Remove. + * gcc.target/arm/neon/vuzpp16.c: Remove. + * gcc.target/arm/neon/vuzpp8.c: Remove. + * gcc.target/arm/neon/vuzps16.c: Remove. + * gcc.target/arm/neon/vuzps32.c: Remove. + * gcc.target/arm/neon/vuzps8.c: Remove. + * gcc.target/arm/neon/vuzpu16.c: Remove. + * gcc.target/arm/neon/vuzpu32.c: Remove. + * gcc.target/arm/neon/vuzpu8.c: Remove. + * gcc.target/arm/neon/vzipQf32.c: Remove. + * gcc.target/arm/neon/vzipQp16.c: Remove. + * gcc.target/arm/neon/vzipQp8.c: Remove. + * gcc.target/arm/neon/vzipQs16.c: Remove. + * gcc.target/arm/neon/vzipQs32.c: Remove. + * gcc.target/arm/neon/vzipQs8.c: Remove. + * gcc.target/arm/neon/vzipQu16.c: Remove. + * gcc.target/arm/neon/vzipQu32.c: Remove. + * gcc.target/arm/neon/vzipQu8.c: Remove. + * gcc.target/arm/neon/vzipf32.c: Remove. + * gcc.target/arm/neon/vzipp16.c: Remove. + * gcc.target/arm/neon/vzipp8.c: Remove. + * gcc.target/arm/neon/vzips16.c: Remove. + * gcc.target/arm/neon/vzips32.c: Remove. + * gcc.target/arm/neon/vzips8.c: Remove. + * gcc.target/arm/neon/vzipu16.c: Remove. + * gcc.target/arm/neon/vzipu32.c: Remove. + * gcc.target/arm/neon/vzipu8.c: Remove. + + +2015-11-12 Marek Polacek + + PR c/67784 + * gcc.dg/pr67784-1.c: New test. + * gcc.dg/pr67784-2.c: New test. + +2015-11-12 Martin Liska + + * gcc.dg/ipa/pr68035.c: New test. + +2015-11-12 Richard Biener + + PR tree-optimization/68306 + * gcc.dg/pr68306.c: New testcase. + +2015-11-12 Ville Voutilainen + + Implement D0013R2, logical type traits. + + * g++.dg/cpp0x/Wattributes1.C: Adjust. + +2015-11-12 Nathan Sidwell + + * c-c++-common/goacc/data-default-1.c: New. + +2015-11-12 David Edelsohn + + * gcc.target/powerpc/pr67789.c: Skip on AIX and Darwin. + +2015-11-12 Ilya Enkovich + + PR tree-optimization/68305 + * gcc.dg/vect/pr68305.c: New test. + +2015-11-12 Eric Botcazou + + * gcc.target/i386/pr67265-2.c: New test. + +2015-11-12 Ilya Enkovich + + * gcc.dg/pr68286.c: New test. + +2015-11-12 Christian Bruel + + * gcc.target/arm/mmx-1.c: Adjust for unified asm. + +2015-11-12 Uros Bizjak + + * gcc.target/i386/sse-1.c (swizzle): Assume that a is + aligned to 64 bits. + +2015-11-11 David Edelsohn + + * gcc.dg/pr65521.c: Fail on AIX. + +2015-11-11 Sebastian Pop + + * gcc.dg/graphite/fuse-1.c: Adjust pattern. Remove dg-do. + * gcc.dg/graphite/fuse-2.c: Same. + * gcc.dg/graphite/graphite.exp (opt_files): Add fuse-*.c and + isl-ast-gen-*.c files. + * gcc.dg/graphite/isl-ast-gen-blocks-1.c: Remove dg-do and dg-options. + * gcc.dg/graphite/isl-ast-gen-blocks-2.c: Same. + * gcc.dg/graphite/isl-ast-gen-blocks-3.c: Same. + * gcc.dg/graphite/isl-ast-gen-blocks-4.c: Same. + * gcc.dg/graphite/isl-ast-gen-if-1.c: Same. + * gcc.dg/graphite/isl-ast-gen-if-2.c: Same. + * gcc.dg/graphite/isl-ast-gen-single-loop-1.c: Same. + * gcc.dg/graphite/isl-ast-gen-single-loop-2.c: Same. + * gcc.dg/graphite/isl-ast-gen-single-loop-3.c: Same. + * gcc.dg/graphite/isl-ast-gen-user-1.c: Same. + * gcc.dg/graphite/isl-codegen-loop-dumping.c: Remove. + +2015-11-11 Marek Polacek + + PR c/68107 + PR c++/68266 + * c-c++-common/pr68107.c: New test. + * g++.dg/init/new38.C (large_array_char): Adjust dg-error. + (large_array_char_template): Likewise. + * g++.dg/init/new44.C: Adjust dg-error. + +2015-11-11 Nathan Sidwell + + * gfortran.dg/goacc/private-3.f95: Remove xfail. + * gfortran.dg/goacc/combined_loop.f90: Remove xfail. + +2015-11-11 Eric Botcazou + + * gcc.target/i386/pr67265.c: New test. + +2015-11-11 Segher Boessenkool + + * gcc.target/powerpc/20050603-3.c: Don't restrict to ilp32. Do more + tests for the expected generated code. + +2015-11-11 Simon Dardis + + * gcc.target/mips/split-ds-sequence.c: New test. + +2015-11-11 Julia Koval + + * g++.dg/ext/mv16.C: New functions. + +2015-11-11 Richard Biener + Jiong Wang + + * gcc.dg/tree-ssa/pr68234.c: New testcase. + +2015-11-10 Ilya Enkovich + + * gcc.target/i386/mask-pack.c: New test. + * gcc.target/i386/mask-unpack.c: New test. + +2015-11-10 Ilya Enkovich + + * gcc.target/i386/avx2-vec-mask-bit-not.c: New test. + +2015-11-10 Ilya Enkovich + + * gcc.dg/vect/slp-cond-5.c: New test. + +2015-11-10 Richard Biener + + PR tree-optimization/68240 + * gcc.dg/torture/pr68240.c: New testcase. + +2015-11-10 Richard Biener + + PR tree-optimization/56118 + * gcc.target/i386/pr56118.c: New testcase. + +2015-11-10 Kyrylo Tkachov + + * gcc.target/aarch64/cond_op_imm_1.c: New test. + +2015-11-10 Eric Botcazou + + * gfortran.dg/pr68251.f90: New test. + +2015-11-09 Cesar Philippidis + + * c-c++-common/goacc/routine-5.c: Enable c++ tests. + +2015-11-09 Martin Sebor + + * init/new45.C: New test to verify that operator new is invoked + with or without overhead for a cookie. + + PR c++/67927 + * init/new44.C: New test for placement new expressions for arrays + with excessive number of elements. + + PR c++/67913 + * init/new43.C: New test for placement new expressions for arrays + with negative number of elements. + + * other/new-size-type.C: Expect array new expression with + an excessive number of elements to be rejected. + +2015-11-09 Nathan Sidwell + + * c-c++-common/goacc/routine-1.c: New. + * c-c++-common/goacc/routine-2.c: New. + * c-c++-common/goacc/routine-3.c: New. + * c-c++-common/goacc/routine-4.c: New. + * c-c++-common/goacc/routine-5.c: New. + +2015-11-09 Eric Botcazou + + * gcc.target/sparc/sparc-ret.c: Rename to... + * gcc.target/sparc/sparc-ret-1.c: ...this. + * gcc.target/sparc/sparc-ret-2.c: New test. + +2015-11-09 Michael Meissner + + * lib/target-supports.exp (check_p8vector_hw_available): Split + long line. + (check_vsx_hw_available): Likewise. + (check_p9vector_hw_available): Add new checks for ISA 3.0 hardware + support and for PowerPC float128 support. + (check_p9modulo_hw_available): Likewise. + (check_ppc_float128_sw_available): Likewise. + (check_ppc_float128_hw_available): Likewise. + (check_effective_target_powerpc_p9vector_ok): Likewise. + (check_effective_target_powerpc_p9modulo_ok): Likewise. + (check_effective_target_powerpc_float128_sw_ok): Likewise. + (check_effective_target_powerpc_float128_hw_ok): Likewise. + (is-effective-target): Add new PowerPc targets. + (is-effective-target-keyword): Likewise. + (check_vect_support_and_set_flags): If we have ISA 3.0 vector + instructions, use it. + + * gcc.target/powerpc/mod-1.c: New test for ISA 3.0 instructions. + * gcc.target/powerpc/mod-2.c: Likewise. + * gcc.target/powerpc/ctz-1.c: Likewise. + * gcc.target/powerpc/ctz-2.c: Likewise. + * gcc.target/powerpc/extswsli-1.c: Likewise. + * gcc.target/powerpc/extswsli-2.c: Likewise. + * gcc.target/powerpc/extswsli-3.c: Likewise. + + * gcc.target/powerpc/fusion.c (fusion_vector): Move to fusion2.c + and allow the test on PowerPC LE. + * gcc.target/powerpc/fusion2.c (fusion_vector): Likewise. + * gcc.target/powerpc/fusion3.c: New file, test power9 fusion. + + * gcc.target/powerpc/float128-call.c: Use powerpc_float128_sw_ok + check instead of powerpc_vsx_ok. + * gcc.target/powerpc/float128-mix.c: Likewise. + +2015-11-09 Eric Botcazou + + * gcc.dg/sso/*.c: Robustify dg-output directives. + +2015-11-09 Eric Botcazou + + * g++.dg/ubsan/pr68259.C: New test. + +2015-11-09 Uros Bizjak + + * g++.dg/cilk-plus/CK/pr66326.cc: Do not include cilk.h. + (main): Use _Cilk_spawn instead of cilk_spawn. + +2015-11-09 Thomas Schwinge + + * gcc.target/i386/addr-space-3.c: Fix quoting in dg-final + scan-assembler directive. + +2015-11-09 Kyrylo Tkachov + + PR target/68129 + * gcc.dg/pr68129_1.c: New test. + +2015-11-09 Andreas Arnez + + PR debug/67192 + * gcc.dg/guality/pr67192.c (f3, f4): New functions. + (main): Invoke them. + +2015-11-09 Andreas Arnez + + PR debug/67192 + * gcc.dg/guality/pr67192.c: New test. + +2015-11-09 Richard Biener + + PR tree-optimization/68248 + * gcc.dg/torture/pr68248.c: New testcase. + +2015-11-09 Richard Biener + + PR tree-optimization/56118 + * gcc.dg/vect/no-tree-sra-bb-slp-pr50730.c: Adjust. + +2015-11-09 Thomas Preud'homme + + * gcc.target/arm/thumb2-slow-flash-data.c: Add missing typespec for + labelref and check use of constant pool by looking for .word and + similar directives. + +2015-11-09 Igor Zamyatin + + PR target/66326 + * g++.dg/cilk-plus/CK/pr66326.cc: New test. + +2015-11-09 Richard Henderson + + * gcc.target/i386/addr-space-1.c: New test. + * gcc.target/i386/addr-space-2.c: New test. + * gcc.target/i386/addr-space-3.c: New test. + +2015-11-08 Steven g. Kargl + + PR fortran/68053 + * gfortran.dg/pr68053.f90: New test. + +2015-11-06 Jan Hubicka + + * g++.dg/lto/pr68057_0.C: Fix testcase. + +2015-11-08 Joost VandeVondele + + * gfortran.dg/PR67518.f90: move from here... + * gfortran.dg/graphite/PR67518.f90: to here. + * gfortran.dg/PR53852.f90: move from here... + * gfortran.dg/graphite/PR53852.f90: to here. + +2015-11-08 Eric Botcazou + + * gcc.dg/sso-1.c: New test. + * gcc.dg/sso-2.c: Likewise. + * gcc.dg/sso-3.c: Likewise. + * gcc.dg/sso-4.c: Likewise. + * gcc.dg/sso-5.c: Likewise. + * gcc.dg/sso-6.c: Likewise. + * gcc.dg/sso-7.c: Likewise. + * gcc.dg/sso-8.c: Likewise. + * gcc.dg/sso: New directory. + * gcc.target/i386/movbe-3.c: New test. + * gnat.dg/sso1.adb: Likewise. + * gnat.dg/sso2.ad[sb]: Likewise. + * gnat.dg/sso3.adb: Likewise. + * gnat.dg/sso4.adb: Likewise. + * gnat.dg/sso5.adb: Likewise. + * gnat.dg/sso6.adb: Likewise. + * gnat.dg/sso7.adb: Likewise. + * gnat.dg/specs/sso1.ads: Likewise. + * gnat.dg/specs/sso2.ads: Likewise. + * gnat.dg/sso: New directory. + +2015-11-08 Andre Vehreschild + + PR fortran/68218 + * gfortran.dg/allocate_with_arrayspec_1.f90: New test. + +2015-11-08 Steven G. Kargl + + PR fortran/68224 + * gfortran.dg/pr68224.f90: New test. + +2015-11-08 Paul Thomas + + PR fortran/68196 + * gfortran.dg/proc_ptr_47.f90: New test. + + PR fortran/66465 + * gfortran.dg/pr66465.f90: New test. + +2015-11-07 John David Anglin + + * gcc.dg/Wno-frame-address.c: Skip on hppa*-*-*. + +2015-11-07 Steven G. Kargl + + PR fortran/68153 + * gfortran.dg/pr68153.f90: New test. + +2015-11-07 Steven G. Kargl + + PR fortran/68151 + * gfortran.dg/pr68151.f90: New test. + +2015-11-07 Richard Sandiford + + PR tree-optimization/68235 + * gcc.dg/lto/20110201-1_0.c: Add -fno-math-errno. + +2015-11-06 Jeff Law + + * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Adjust to look for + realized jump threads. + * gcc.dg/tree-ssa-pr66752-3.c: Look in vrp1 dump for jump + threads rather than dom1 dump. + +2015-11-06 Michael Collison + + Revert: + 2015-08-01 Michael Collison + + * gcc.target/arm/mincmp.c: New test. + +2015-11-06 Dominique d'Humieres + + PR fortran/54224 + * gfortran.dg/warn_unused_function_2.f90: Add two new + "defined but not used" subroutines. + +2015-11-06 Jakub Jelinek + + * gcc.dg/gomp/ordered-2.c (f1): Expect an extra error. + * g++.dg/gomp/ordered-2.C (f1): Likewise. + * gfortran.dg/goacc/parallel-kernels-regions.f95: Adjust + expected diagnostics for the addition of quotes. + * gfortran.dg/gomp/target3.f90: Likewise. + * c-c++-common/goacc/nesting-fail-1.c: Likewise. + * c-c++-common/goacc-gomp/nesting-fail-1.c: Likewise. + * c-c++-common/gomp/doacross-1.c: Likewise. + * c-c++-common/gomp/nesting-warn-1.c: Likewise. + * c-c++-common/gomp/cancel-1.c (f2): Add some new tests. + Adjust expected diagnostics wording. + * c-c++-common/gomp/clauses-4.c (foo): Likewise. + Don't expect error on ordered threads simd when in for simd. + * c-c++-common/gomp/nesting-2.c: New test. + * c-c++-common/gomp/ordered-3.c (foo): Add some new tests. + * c-c++-common/gomp/ordered-4.c: New test. + +2015-11-06 Mike Stump + + * gcc.dg/pragma-diag-5.c: Make test cases unique. + +2015-11-06 Aditya Kumar + Sebastian Pop + + * gcc.dg/graphite/fuse-1.c: New. + * gcc.dg/graphite/fuse-2.c: New. + * gcc.dg/graphite/interchange-13.c: Remove bogus check. + +2015-11-06 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vqtbX.c: New test. + +2015-11-06 David Malcolm + + * gcc.dg/plugin/diagnostic-test-show-locus-bw.c: New file. + * gcc.dg/plugin/diagnostic-test-show-locus-color.c: New file. + * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c: New file. + * gcc.dg/plugin/plugin.exp (plugin_test_list): Add the above. + * lib/gcc-dg.exp: Load multiline.exp. + +2015-11-06 Ramana Radhakrishnan + + * gcc.target/arm/combine-movs.c: Adjust for unified asm. + * gcc.target/arm/interrupt-1.c: Likewise. + * gcc.target/arm/interrupt-2.c: Likewise. + * gcc.target/arm/unaligned-memcpy-4.c: Likewise. + +2015-11-06 Benedikt Huber + Philipp Tomsich + + * gcc.target/aarch64/rsqrt_asm_check_common.h: Common + macros for assembly checks. + * gcc.target/aarch64/rsqrt_asm_check_negative_1.c: Make sure + frsqrts and frsqrte are not emitted. + * gcc.target/aarch64/rsqrt_asm_check_1.c: Make sure + frsqrts and frsqrte are emitted. + * gcc.target/aarch64/rsqrt_1.c: Functional tests for rsqrt. + +2015-11-06 Thomas Schwinge + + * gfortran.dg/goacc/combined_loop.f90: XFAIL. + +2015-11-06 Jan Hubicka + + PR ipa/68057 + PR ipa/68220 + * g++.dg/lto/pr68057_0.C: New testcase. + * g++.dg/lto/pr68057_1.C: New testcase. + * g++.dg/torture/pr68220.C: New testcase. + +2015-11-06 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vtbX.c: Fix typos in + comment. + +2015-11-06 Ilya Enkovich + + PR tree-optimization/68145 + * g++.dg/vect/pr68145.cc: New test. + +2015-11-06 Kyrylo Tkachov + + PR target/68088 + * gcc.dg/pr68088_1.c: New test. + +2015-11-06 Richard Biener + + * gcc.dg/vect/bb-slp-38.c: New testcase. + +2015-11-06 Thomas Schwinge + + * gfortran.dg/goacc/private-3.f95: XFAIL. + +2015-11-06 Joost VandeVondele + + PR middle-end/53852 + PR middle-end/67518 + * gfortran.dg/PR67518.f90: New test. + * gfortran.dg/PR53852.f90: New test. + +2015-11-05 Cesar Philippidis + Tom de Vries + Nathan Sidwell + Thomas Schwinge + + * c-c++-common/goacc/combined-directives.c: New test. + * c-c++-common/goacc/loop-clauses.c: New test. + * c-c++-common/goacc/tile.c: New test. + * c-c++-common/goacc/loop-shape.c: Add test for pointer variable + as gang static arguments. + * c-c++-common/goacc/update-1.c: Adjust expected error message. + * g++.dg/goacc/template.C: New test. + * gfortran.dg/goacc/combined-directives.f90: New test. + * gfortran.dg/goacc/default.f95: New test. + * gfortran.dg/goacc/default_none.f95: New test. + * gfortran.dg/goacc/firstprivate-1.f95: New test. + * gfortran.dg/goacc/gang-static.f95: New test. + * gfortran.dg/goacc/kernels-loop-inner.f95: New test. + * gfortran.dg/goacc/kernels-loops-adjacent.f95: New test. + * gfortran.dg/goacc/list.f95: Update test. + * gfortran.dg/goacc/loop-2.f95: Likewise. + * gfortran.dg/goacc/loop-4.f95: New test. + * gfortran.dg/goacc/loop-5.f95: New test. + * gfortran.dg/goacc/loop-6.f95: New test. + * gfortran.dg/goacc/loop-tree-1.f90: Update test. + * gfortran.dg/goacc/multi-clause.f90: New test. + * gfortran.dg/goacc/parallel-tree.f95: Update test. + * gfortran.dg/goacc/update.f95: New test. + +2015-11-05 Martin Sebor + + PR c++/67942 + * g++.dg/warn/Wplacement-new-size.C: Exercise placement new + invocations where the size of the destination buffer object + or its type (or both) is unknown. + +2015-11-05 Martin Sebor + + PR c++/67942 + * g++.dg/warn/Wplacement-new-size.C: New test. + +2015-11-05 Alan Lawrence + + * gcc.dg/pr68112.c: New. + * gcc.dg/vect/vect-strided-shift-1.c: New. + +2015-11-05 Marek Polacek + + PR c/68090 + * gcc.dg/pr68090.c: New test. + +2015-11-05 James Greenhalgh + + * gcc.dg/ifcvt-4.c: New. + +2015-11-05 Paolo Carlini + + PR c++/67846 + * g++.dg/cpp0x/lambda/lambda-ice15.C: New. + +2015-11-05 Jakub Jelinek + + * c-c++-common/gomp/clauses-2.c (foo): Adjust for diagnostics + of variables in both data sharing and mapping clauses and for + structure element based array sections being mapped rather than + privatized. + * c-c++-common/gomp/declare-target-2.c: Add various new tests. Adjust + expected diagnostics wording in one case. + * c-c++-common/gomp/distribute-1.c: New test. + * c-c++-common/gomp/element-1.c: New test. + * c-c++-common/gomp/pr61486-2.c: Add #pragma omp declare target + and #pragma omp end declare target pair around the function. + Change s from a parameter to a file scope variable. + * c-c++-common/gomp/pr67521.c: Add dg-error directives. + * c-c++-common/gomp/reduction-1.c (foo): Don't expect diagnostics + on non-zero low-bound in reduction array sections. Add further + tests. + * c-c++-common/gomp/schedule-modifiers-1.c: New test. + * c-c++-common/gomp/target-teams-1.c: New test. + * gcc.dg/gomp/declare-simd-1.c: Add scan-assembler-times directives + for expected mangling on x86_64/i?86. + * gcc.dg/gomp/declare-simd-3.c: New test. + * gcc.dg/gomp/declare-simd-4.c: New test. + * gcc.dg/gomp/for-20.c: New test. + * gcc.dg/gomp/for-21.c: New test. + * gcc.dg/gomp/for-22.c: New test. + * gcc.dg/gomp/for-23.c: New test. + * gcc.dg/gomp/for-24.c: New test. + * gcc.dg/gomp/linear-1.c: New test. + * gcc.dg/gomp/loop-1.c: New test. + * g++.dg/gomp/atomic-17.C: New test. + * g++.dg/gomp/clause-1.C (T::test): Don't expect error on + non-static data member in shared clause. Add single construct. + * g++.dg/gomp/declare-simd-1.C: Add dg-options. Add + scan-assembler-times directives for expected mangling on x86_64/i?86. + * g++.dg/gomp/declare-simd-3.C: Likewise. + * g++.dg/gomp/declare-simd-4.C: New test. + * g++.dg/gomp/declare-simd-5.C: New test. + * g++.dg/gomp/declare-target-1.C: New test. + * g++.dg/gomp/linear-2.C: New test. + * g++.dg/gomp/loop-1.C: New test. + * g++.dg/gomp/loop-2.C: New test. + * g++.dg/gomp/loop-3.C: New test. + * g++.dg/gomp/member-2.C (B::m2, B::m4): Don't expect error on + non-static data member in shared clause. + * g++.dg/gomp/member-3.C: New test. + * g++.dg/gomp/member-4.C: New test. + * g++.dg/gomp/pr38639.C (foo): Adjust dg-error. + (bar): Remove dg-message. + * g++.dg/gomp/target-teams-1.C: New test. + +2015-11-05 Richard Biener + + * gcc.dg/tree-ssa/loadpre2.c: Avoid undefined behavior due to + uninitialized variables. + * gcc.dg/tree-ssa/loadpre21.c: Likewise. + * gcc.dg/tree-ssa/loadpre22.c: Likewise. + * gcc.dg/tree-ssa/loadpre23.c: Likewise. + * gcc.dg/tree-ssa/loadpre24.c: Likewise. + * gcc.dg/tree-ssa/loadpre25.c: Likewise. + * gcc.dg/tree-ssa/loadpre4.c: Likewise. + * gcc.dg/ipa/inlinehint-2.c: Likewise. + * gcc.dg/ipa/pure-const-2.c: Likewise. + * gcc.dg/tree-ssa/loop-1.c: Likewise. + * gcc.dg/tree-ssa/loop-23.c: Likewise. + * gcc.dg/tree-ssa/pr22051-2.c: Likewise. + * gcc.dg/tree-ssa/ssa-pre-3.c: Likewise. + * gcc.dg/tree-ssa/ssa-sccvn-3.c: Likewise. + * gcc.dg/vect/pr30858.c: Likewise. + * gcc.dg/vect/pr33866.c: Likewise. + * gcc.dg/vect/pr37027.c: Likewise. + * c-c++-common/ubsan/null-10.c: Likewise. + * gcc.target/i386/incoming-8.c: Likewise. + +2015-11-04 Eric Botcazou + + * gnat.dg/slice9.adb: New test. + +2015-11-04 Nathan Sidwell + + * gfortran.dg/goacc/reduction-2.f95: Delete. + +2015-11-04 Tom de Vries + + PR tree-optimization/67742 + * gcc.dg/tree-ssa/restrict-7.c: New test. + * gcc.dg/tree-ssa/restrict-8.c: New test. + +2015-11-03 Martin Sebor + + PR c++-common/67882 + * c-c++-common/builtin-offsetof-2.c: New test. + +2015-11-03 Dominique d'Humieres + + PR fortran/67982 + * gfortran.dg/warn_unused_function_3.f90: New test. + +2015-11-03 Eric Botcazou + + * gnat.dg/discr45.adb: Only compile the test. + +2015-11-03 Evgeny Stupachenko + + * g++.dg/ext/mvc4.C: Add dg-require-ifunc condition. + * gcc.target/i386/mvc5.c: Ditto. + * gcc.target/i386/mvc7.c: Add dg-require-ifunc condition and checks on + resolver. + +2015-11-03 Thomas Schwinge + + * c-c++-common/goacc-gomp/nesting-fail-1.c: Move "atomic" tests + from here to... + * c-c++-common/goacc-gomp/nesting-1.c: ... here, and expect them + to succeed. + +2015-11-03 Bilyan Borisov + + * gcc/testsuite/gcc.target/aarch64/simd/vmulx_f32_1.c: New. + * gcc/testsuite/gcc.target/aarch64/simd/vmulx_f64_1.c: New. + * gcc/testsuite/gcc.target/aarch64/simd/vmulxq_f32_1.c: New. + * gcc/testsuite/gcc.target/aarch64/simd/vmulxq_f64_1.c: New. + * gcc/testsuite/gcc.target/aarch64/simd/vmulxs_f32_1.c: New. + * gcc/testsuite/gcc.target/aarch64/simd/vmulxd_f64_1.c: New. + +2015-11-03 Alan Lawrence + + * gcc.target/aarch64/fp16/set_zero_1.c: New. + +2015-11-03 Uros Bizjak + + * gcc.dg/mvc1.c: Move to ... + * gcc.target/i386/mvc1.c: ... here. Require ifunc. + * gcc.dg/mvc2.c: Move to ... + * gcc.target/i386/mvc2.c: ... here. + * gcc.dg/mvc3.c: Move to ... + * gcc.target/i386/mvc3.c: ... here. + * gcc.dg/mvc4.c: Move to ... + * gcc.target/i386/mvc4.c: ... here. Require ifunc. + * gcc.dg/mvc5.c: Move to ... + * gcc.target/i386/mvc5.c: ... here. + * gcc.dg/mvc6.c: Move to ... + * gcc.target/i386/mvc6.c: ... here. + * gcc.dg/mvc7.c: Move to ... + * gcc.target/i386/mvc7.c: ... here. + + * g++.dg/ext/mvc1.C: Require ifunc. + +2015-11-02 Alexandre Oliva + + PR tree-optimization/68083 + * gcc.dg/torture/pr68083.c: New. From Zhendong Su. + +2015-11-02 Jeff Law + + * gcc.dg/tree-ssa/ssa-thread-11.c: Verify that we do not have + irreducible loops in the CFG. + +2015-11-02 Alan Lawrence + + Revert: + 2015-10-27 Alan Lawrence + + * gcc.dg/vect/vect-strided-shift-1.c: New. + +2015-11-01 Kyrylo Tkachov + + PR target/67929 + * gcc.target/arm/pr67929_1.c: Move to... + * gcc.c-torture/execute/pr67929_1.c: ... Here. + Remove arm-specific directives. Add noclone, noinline + attributes. + +2015-11-01 Jeff Law + + * gcc.dg/tree-ssa/ssa-thread-11.c: Update target selector. + +2015-11-01 Uros Bizjak + + * gcc.target/i386/pr67609-2.c: Include sse2-check.h. + (sse2_test): Rename from main. Do not return 0. + +2015-11-01 David Edelsohn + + * gfortran.dg/debug/pr46756.f: Remove XFAIL for AIX. + * gfortran.dg/proc_ptr_39.f90: Require visibility. + * gfortran.dg/read_dir.f90: XFAIL AIX. + +2015-10-31 Ville Voutilainen + + Remove the implementation of N3994, terse range-for loops. + * g++.dg/cpp1z/range-for1.C: Remove. + +2015-10-31 Eric Botcazou + + * gnat.dg/discr45.adb: New test. + +2015-10-31 Tom de Vries + + * gfortran.dg/assumed_type_2.f90: Update test. + * gfortran.dg/no_arg_check_2.f90: Same. + +2015-10-30 Cesar Philippidis + + * gfortran.dg/gomp/intentin1.f90: Adjust copyprivate warning. + +2015-10-30 Steven G. Kargl + + PR fortran/46588 + * gfortran.dg/pr46588.f90: New test. + +2015-10-30 Evgeny Stupachenko + + * gcc.dg/mvc1.c: New test for multiple targets cloning. + * gcc.dg/mvc2.c: Ditto. + * gcc.dg/mvc3.c: Ditto. + * gcc.dg/mvc4.c: Ditto. + * gcc.dg/mvc5.c: Ditto. + * gcc.dg/mvc6.c: Ditto. + * gcc.dg/mvc7.c: Ditto. + * g++.dg/ext/mvc1.C: Ditto. + * g++.dg/ext/mvc2.C: Ditto. + * g++.dg/ext/mvc3.C: Ditto. + * g++.dg/ext/mvc4.C: Ditto. + +2015-10-30 Steven G. Kargl + + PR fortran/51993 + * gfortran.dg/pr51993.f90: New test. + +2015-10-30 Vladimir Makarov + + PR rtl-optimization/68106 + * gcc.target/aarch64/pr68106.c: New. + +2015-10-30 Steven G. Kargl + + PR fortran/36192 + * gfortran.dg/pr36192_1.f90: New test. + +2015-10-30 Steven G. Kargl + + PR fortran/68154 + *gfortran.dg/pr68154.f90 + +2015-10-29 Nathan Sidwell + + * c-c++-common/goacc/acc_on_device-2-off.c: Delete. + * c-c++-common/goacc/acc_on_device-2.c: Delete. + +2015-10-29 Richard Sandiford + + * gcc.dg/torture/builtin-convert-1.c: Require c99_runtime. + +2015-10-29 Michael Meissner + + * gcc.target/powerpc/float128-call.c: New test for -mfloat128 on + PowerPC. + * gcc.target/powerpc/float128-mix.c: Likewise. + +2015-10-29 Steven G. Kargl + + PR fortran/68054 + * gfortran.dg/pr68054.f90: New test. + +2015-10-29 Steven G. Kargl + + PR fortran/67885 + * gfortran.dg/pr67885.f90: New test. + +2015-10-29 Jeff Law + + PR tree-optimization/67892 + * gcc.dg/tree-ssa/pr21417: Update expected output. + * gcc.dg/tree-ssa/ssa-dom-thread-2b.c: Likewise. + +2015-10-29 Richard Biener + + PR middle-end/68142 + * c-c++-common/ubsan/pr68142.c: New testcase. + +2015-10-29 Paolo Carlini + + PR c++/67845 + * g++.dg/other/cv_func4.C: New. + +2015-10-29 Richard Biener + + PR middle-end/56956 + * c-c++-common/ubsan/pr56956.c: New testcase. + +2015-10-28 Eric Botcazou + + * gnat.dg/discr44.adb: New test. + +2015-10-28 Jim Wilson + + PR debug/66068 + * gcc.dg/debug/pr66068.c: New test. + +2015-01-28 Paul Thomas + + PR fortran/67933 + * gfortran.dg/allocate_with_source_15.f03: Correct trivial + array bounds error at line 25. + +2015-10-28 Catherine Moore + + * 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. + +2015-10-28 Senthil Kumar Selvaraj + + PR target/67839 + * gcc.target/avr/pr67839.c: New test. + +2015-10-28 Richard Biener + + * gcc.dg/tree-ssa/operand-equal-2.c: Adjust. + +2015-10-28 Tom de Vries + + * gcc.dg/tree-ssa/pta-callused.c: Update to scan for CALLUSED(id). + +2015-10-28 Richard Biener + + PR ipa/67600 + * g++.dg/torture/pr67600.C: Remove preprocessed headers in favor + of #includes. + +2015-10-28 Richard Biener + + PR tree-optimization/65962 + * gcc.dg/vect/vect-62.c: Adjust. + +2015-10-28 Richard Biener + + PR middle-end/68067 + * gcc.dg/torture/pr68067-1.c: New testcase. + * gcc.dg/torture/pr68067-2.c: Likewise. + +2015-10-28 Segher Boessenkool + + * gcc.target/powerpc/p8vector-builtin-8.c: Add "target int128". + +2015-10-28 Segher Boessenkool + + * 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. + +2015-10-27 Cesar Philippidis + + * c-c++-common/goacc/loop-shape.c: New test. + +2015-10-27 Nathan Sidwell + Cesar Philippidis + + * g++.dg/gomp/pr33372-1.C: Adjust diagnostic. + * g++.dg/gomp/pr33372-3.C: Likewise. + +2015-10-27 Richard Henderson + + PR rtl-opt/67609 + * gcc.target/i386/pr67609-2.c: New test. + +2015-10-27 Kyrylo Tkachov + + PR target/68102 + * gcc.target/aarch64/pr68102_1.c: New test. + +2015-01-27 Paul Thomas + + PR fortran/67933 + * gfortran.dg/allocate_with_source_15.f03: New test + +2015-10-27 Thomas Schwinge + James Norris + + PR fortran/63865 + * gfortran.dg/goacc/coarray.f95: Expect the OpenACC cache + directive to work. + * gfortran.dg/goacc/loop-1.f95: Likewise. + * gfortran.dg/goacc/cache-1.f95: Likewise, and extend testing. + * gfortran.dg/goacc/cray.f95: Likewise. + * gfortran.dg/goacc/parameter.f95: Likewise. + +2015-10-27 Steven G. Kargl + + PR fortran/68108 + * gfortran.dg/pr67805_2.f90: New test. + +2015-10-27 Abderrazek Zaafrani + Aditya Kumar + + * gcc.dg/graphite/block-0.c: Changed to match pattern. + * gcc.dg/graphite/interchange-1.c: Same. + * gcc.dg/graphite/interchange-10.c: Same. + * gcc.dg/graphite/interchange-11.c: Same. + * gcc.dg/graphite/interchange-13.c: Same. + * gcc.dg/graphite/interchange-3.c: Same. + * gcc.dg/graphite/interchange-4.c: Same. + * gcc.dg/graphite/interchange-7.c: Same. + * gcc.dg/graphite/interchange-9.c: Same. + * gcc.dg/graphite/uns-interchange-9.c: Same. + * gfortran.dg/graphite/interchange-3.f90: Same. + +2015-10-27 H.J. Lu + + PR target/67215 + * gcc.target/i386/pr67215-1.c: New test. + * gcc.target/i386/pr67215-2.c: Likewise. + * gcc.target/i386/pr67215-3.c: Likewise. + +2015-10-27 Richard Biener + + PR tree-optimization/68104 + * gcc.dg/torture/pr68104.c: New testcase. + +2015-10-27 Alan Lawrence + + * gcc.dg/vect/vect-strided-shift-1.c: New. + +2015-10-27 Kyrylo Tkachov + + PR target/67929 + * gcc.target/arm/pr67929_1.c: New test. + +2015-10-27 Richard Sandiford + + * gcc.dg/torture/builtin-ldexp-1.c: Skip at -O9, + +2015-10-27 Richard Sandiford + + PR tree-optimization/68097 + * gcc.dg/torture/builtin-nonneg-1.c: Skip at -O0. Add + --param max-ssa-name-query-depth=3 to dg-options. + +2015-10-27 Richard Sandiford + + * gcc.dg/torture/builtin-sqrt-cmp-1.c: New test. + +2015-10-27 Richard Sandiford + + * gcc.dg/builtins-52.c: Add -O to dg-options. + +2015-10-27 Richard Sandiford + + * gcc.dg/torture/builtin-math-1.c: Skip at -O0. + +2015-10-27 Thomas Schwinge + + PR c/64765 + PR c/64880 + * c-c++-common/goacc/loop-1.c: Don't skip for C++. Don't prune + sorry message. + (PR64765): New function. + * gfortran.dg/goacc/coarray_2.f90: XFAIL. + * gfortran.dg/goacc/combined_loop.f90: Extend. Don't prune + sorry message. + * gfortran.dg/goacc/cray.f95: Refine prune directive. + * gfortran.dg/goacc/parameter.f95: Likewise. + +2015-10-26 Louis Krupp + + PR fortran/66056 + * gfortran.dg/empty_label_typedecl.f90: New test. + +2015-10-26 Steven G. Kargl + + PR fortran/36192 + * gfortran.dg/pr36192.f90: New test. + +2015-10-26 Eric Botcazou + + * gcc.dg/atomic-noinline.c: Change test on __atomic_is_lock_free. + * gcc.dg/atomic-noinline-aux.c: Adjust accordingly. + * gnat.dg/opt51.adb: New test. + * gnat.dg/opt51_pkg.ads: New helper. + +2015-10-26 Simon Dardis + + * gcc.target/mips/ds-schedule-1.c: New. + * gcc.target/mips/ds-schedule-2.c: New. + +2015-10-26 Jeff Law + + PR tree-optimization/68013 + * gcc.c-torture/compile/pr68013.c: New test. + +2015-10-26 Richard Biener + Dominik Vogt + + PR middle-end/67443 + * gcc.target/s390/pr67443.c: New testcase. + +2015-10-26 Christophe Lyon + + * gfortran.dg/chmod_1.f90: Add suffix to the temporary filename to + make it unique per testcase. + * gfortran.dg/chmod_2.f90: Likewise. + * gfortran.dg/chmod_3.f90: Likewise. + * gfortran.dg/direct_io_8.f90: Likewise. + * gfortran.dg/f2003_inquire_1.f03: Likewise. + * gfortran.dg/f2003_io_1.f03: Likewise. + * gfortran.dg/f2003_io_2.f03: Likewise. + * gfortran.dg/f2003_io_8.f03: Likewise. + * gfortran.dg/inquire_size.f90: Likewise. + * gfortran.dg/namelist_66.f90: Likewise. + * gfortran.dg/namelist_82.f90: Likewise. + * gfortran.dg/namelist_87.f90: Likewise. + * gfortran.dg/open_negative_unit_1.f90: Likewise. + * gfortran.dg/open_new.f90: Likewise. + * gfortran.dg/stat_1.f90: Likewise. + * gfortran.dg/stat_2.f90: Likewise. + * gfortran.dg/streamio_15.f90: Likewise. + * gfortran.dg/unf_read_corrupted_1.f90: Likewise. + +2015-10-26 Kyrylo Tkachov + + PR middle-end/67989 + * g++.dg/pr67989.C: New test. + +2015-10-26 Maxim Kuvyrkov + + * gfortran.dg/streamio_4.f90, gfortran.dg/streamio_5.f90, + * gfortran.dg/streamio_6.f90, gfortran.dg/streamio_7.f90, + * gfortran.dg/streamio_10.f90, gfortran.dg/streamio_12.f90: Add + suffix to the temporary filename to make it unique per testcase. + +2015-10-26 Richard Sandiford + + * gcc.dg/torture/builtin-minmax-1.c: Don't run at -O0. + +2015-01-25 Paul Thomas + + PR fortran/67171 + * gfortran.dg/allocate_with_source_12.f03: New test + + PR fortran/61819 + * gfortran.dg/allocate_with_source_13.f03: New test + + PR fortran/61830 + * gfortran.dg/allocate_with_source_14.f03: New test + +2015-10-25 John David Anglin + + * g++.dg/Wno-frame-address.C: Skip on hppa*-*-*. + +2015-10-25 Uros Bizjak + + PR target/68084 + * gcc.target/i386/pr68084.c: New test. + +2015-10-25 Andre Vehreschild + + PR fortran/66927 + PR fortran/67044 + * gfortran.dg/allocate_with_source_10.f08: New test. + * gfortran.dg/allocate_with_source_11.f08: New test. + * gfortran.dg/class_array_15.f03: Changed count of expected + _builtin_frees to 11. One step of temporaries is spared, therefore + the allocatable component of that temporary is not to be freeed. + +2015-10-24 Steven G. Kargl + + PR fortran/68055 + * gfortran.dg/pr68055.f90: New case. + +2015-10-24 Steven G. Kargl + + PR fortran/67805 + * gfortran.dg/pr67805.f90: New testcase. + * gfortran.dg/array_constructor_26.f03: Update testcase. + * gfortran.dg/array_constructor_27.f03: Ditto. + * gfortran.dg/char_type_len_2.f90: Ditto. + * gfortran.dg/pr67802.f90: Ditto. + * gfortran.dg/used_before_typed_3.f90: Ditto. + +2015-10-23 Jan Hubicka + + PR ipa/pr67600 + * g++.dg/torture/pr67600.C: New testcase. + +2015-10-23 Ilya Enkovich + + * g++.dg/pr68062.C: New test. + +2015-10-23 Jeff Law + + PR tree-optimization/67830 + * gcc.dg/pr67830.c: New test. + +2015-10-23 Jan Hubicka + + * gcc.dg/tree-ssa/operand-equal-2.c: New testcase. + +2015-10-23 Steve Ellcey + Andrew Pinski + + PR rtl-optimization/67736 + * gcc.dg/torture/pr67736.c: New test. + * gcc.dg/combine-subregs.c: New test. + +2015-10-23 Alan Hayward + + PR tree-optimization/65947 + * lib/target-supports.exp + (check_effective_target_vect_max_reduc): Add. + * gcc.dg/vect/pr65947-1.c: New test. + * gcc.dg/vect/pr65947-2.c: New test. + * gcc.dg/vect/pr65947-3.c: New test. + * gcc.dg/vect/pr65947-4.c: New test. + * gcc.dg/vect/pr65947-5.c: New test. + * gcc.dg/vect/pr65947-6.c: New test. + * gcc.dg/vect/pr65947-7.c: New test. + * gcc.dg/vect/pr65947-8.c: New test. + * gcc.dg/vect/pr65947-9.c: New test. + * gcc.dg/vect/pr65947-10.c: New test. + * gcc.dg/vect/pr65947-11.c: New test. + +2015-10-23 Richard Sandiford + + * gcc.c-torture/execute/20030125-1.c (floor, floorf, sin, sinf): + Make weak rather than noinline. + * gcc.dg/builtins-57.c: Compile with -O. + * gcc.dg/torture/builtin-integral-1.c: Skip for -O0. + +2015-10-23 Tom de Vries + + * gcc.dg/tree-ssa/restrict-4.c: Add -fno-ipa-icf to dg-options. + +2015-10-23 Maxim Ostapenko + + PR sanitizer/68042 + * c-c++-common/asan/memcmp-1.c: Adjust test to pass on Darwin. + * c-c++-common/asan/sanity-check-pure-c-1.c: Likewise. + +2015-10-22 Martin Sebor + + PR driver/68043 + * gcc.misc-tests/help.exp: Verify that option descriptions + end in periods. + * lib/options.exp (check_for_options): Use the regexp --line option. + Print unexpected match on failure. + +2015-10-22 Uros Bizjak + + * gcc.target/i386/pr67985-3.c (dg-options): Add -mfpmath=sse. + +2015-10-22 Paolo Carlini + + PR c++/67838 + * g++.dg/cpp1y/var-templ46.C: New. + +2015-10-22 Richard Biener + + PR tree-optimization/58497 + * gcc.dg/tree-ssa/vector-5.c: New testcase. + +2015-10-22 Richard Biener + + PR tree-optimization/19049 + PR tree-optimization/65962 + * gcc.dg/vect/vect-strided-store-pr65962.c: New testcase. + * gcc.dg/vect/vect-63.c: Adjust. + * gcc.dg/vect/vect-70.c: Likewise. + * gcc.dg/vect/vect-strided-u8-i2-gap.c: Likewise. + * gcc.dg/vect/vect-strided-a-u8-i2-gap.c: Likewise. + * gfortran.dg/vect/pr19049.f90: Likewise. + * gfortran.dg/vect/vect-8.f90: Likewise. + +2015-10-22 Richard Biener + + PR middle-end/68046 + PR middle-end/61893 + * gcc.dg/torture/ftrapv-2.c: New testcase. + +2015-10-22 Andreas Krebbel + + PR target/68015 + * gcc.target/s390/pr68015.c: New test. + +2015-10-22 Andre Vieira + + PR testsuite/67948 + * gcc.target/arm/xor-and.c: Adjust test to check for eor + instead of orr. + +2015-10-22 Jiong Wang + Ramana Radhakrishnan + + PR target/63304 + * gcc.target/aarch64/pr63304_1.c: New test. + +2015-10-21 Paolo Carlini + + PR c++/66781 + * g++.dg/parse/enum13.C: New. + +2015-10-21 Paolo Carlini + + PR c++/67847 + * g++.dg/parse/enum12.C: New. + +2015-10-21 Martin Sebor + + PR driver/68043 + * gcc.misc-tests/help.exp: Adjust. + * lib/options.exp (check_for_options): Add detail to output. + +2015-10-21 Steven G. Kargl + + PR fortran/67939 + * gfortran.dg/pr67939.f90: New test. + +2015-10-21 Aditya Kumar + Sebastian Pop + + * gcc.dg/graphite/scop-11.c: Update pattern. + +2015-10-11 Jan Hubicka + + PR ipa/67056 + * g++.dg/ipa/pr67056.C: New testcase. + +2015-10-11 Jan Hubicka + + * gcc.dg/tree-ssa/operand-equal-1.c: Verify that empty constructors + are matched. + +2015-10-21 Richard Sandiford + + * gcc.dg/lto/20110201-1_0.c: Restrict to sqrt_insn targets. + Add associated options for arm*-*-*. + (sqrt): Remove dummy definition. + +2015-10-21 Richard Sandiford + + * gcc.dg/torture/builtin-symmetric-1.c: Don't run at -O0. + +2015-10-21 Richard Sandiford + + * gcc.dg/tree-ssa/backprop-1.c, gcc.dg/tree-ssa/backprop-2.c, + gcc.dg/tree-ssa/backprop-3.c, gcc.dg/tree-ssa/backprop-4.c, + gcc.dg/tree-ssa/backprop-5.c, gcc.dg/tree-ssa/backprop-6.c: New tests. + +2015-10-21 Alan Lawrence + + * gcc.dg/tree-ssa/sra-12.c: Enable test on all targets; add --param + sra-max-scalarization-size-Ospeed. + +2015-10-21 Marek Polacek + + + PR c/68024 + * gcc.dg/pr68024.c: New test. + +2015-10-21 Nathan Sidwell + + * c-c++-common/goacc/clauses-fail.c: Adjust errors. + * c-c++-common/goacc/sb-1.c: Adjust errors. + * c-c++-common/goacc/sb-3.c: Adjust errors. + * c-c++-common/goacc/loop-1.c: Adjust errors. + * c-c++-common/goacc/nesting-1.c: Adjust errors. + * c-c++-common/goacc-gomp/nesting-fail-1.c: Adjust errors. + * c-c++-common/goacc-gomp/nesting-1.c: Adjust errors. + +2015-10-21 Ilya Enkovich + + * g++.dg/ext/vector22.C: Allow VEC_COND_EXPR. + +2015-10-21 Ilya Enkovich + + * gcc.dg/lto/simd-function_0.c: New test. + +2015-10-21 Uros Bizjak + + PR target/68018 + * gcc.target/i386/pr68018.c: New test. + +2015-10-21 Richard Biener + + PR middle-end/68031 + * gcc.dg/torture/pr68031.c: New testcase. + +2015-10-21 Richard Biener + + PR tree-optimization/68026 + * gcc.dg/tree-ssa/ssa-ccp-39.c: New testcase. + +2015-10-21 Maxim Ostapenko + + * c-c++-common/ubsan/float-cast-overflow-10.c: Adjust test. + * c-c++-common/ubsan/float-cast-overflow-8.c: Likewise. + * c-c++-common/ubsan/float-cast-overflow-9.c: Likewise. + * g++.dg/asan/default-options-1.C: Likewise. + +2015-10-20 Kyrylo Tkachov + + * gcc.target/aarch64/stp_vec_64_1.c: New test. + * gcc.target/aarch64/ldp_vec_64_1.c: Likewise. + +2015-10-20 Alan Lawrence + + * lib/target-supports.exp (check_effective_target_vect64): Add AArch64. + +2015-10-20 Marek Polacek + + PR c/67964 + * gcc.dg/pr67964.c: New test. + +2015-10-20 Vladimir Makarov + + PR rtl-optimization/67609 + * gcc.target/i386/pr67609.c: New. + +2015-10-20 Kyrylo Tkachov + + * gcc.target/aarch64/fmul_fcvt_1.c: Add multiply-by-32 cases. + +2015-10-20 Kyrylo Tkachov + + * gcc.target/aarch64/fmul_fcvt_1.c: New test. + * gcc.target/aarch64/fmul_fcvt_2.c: Likewise. + +2015-10-20 H.J. Lu + + PR target/66810 + * gcc.target/i386/pr66810.c: New test. + +2015-10-20 H.J. Lu + + PR target/67963 + PR target/67985 + * gcc.target/i386/pr67963-1.c: New test. + * gcc.target/i386/pr67963-2.c: Likewise. + * gcc.target/i386/pr67963-3.c: Likewise. + * gcc.target/i386/pr67985-1.c: Likewise. + * gcc.target/i386/pr67985-2.c: Likewise. + * gcc.target/i386/pr67985-3.c: Likewise. + +2015-10-20 Alan Lawrence + + * gcc.target/aarch64/vdiv_f.c: Use __builtin_nan. + +2015-10-20 Richard Biener + + PR tree-optimization/68017 + * gcc.dg/torture/pr68017.c: New testcase. + +2015-10-20 Szabolcs Nagy + + PR target/66912 + * gcc.target/aarch64/pr66912.c: New. + * gcc.target/arm/pr66912.c: New. + +2015-10-19 Steven G. Kargl + + * gfortran.dg/pr67900.f90: New tests. + +2015-10-19 Pierre-Marie de Rodat + + * gnat.dg/opt50.adb: New test. + * gnat.dg/opt50_pkg.adb: New helper. + * gnat.dg/opt50_pkg.ads: New helper. + +2015-10-19 Steven G. Kargl + + PR fortran/68019 + * gfortran.dg/pr68019.f90: new test. + +2015-10-19 Richard Biener + + PR tree-optimization/67975 + * gcc.dg/tree-ssa/ssa-fre-50.c: New testcase. + +2015-10-19 Richard Biener + + * gcc.dg/torture/builtin-cproj-1.c: Skip for -O0. + +2015-10-19 H.J. Lu + + PR target/67995 + * gcc.target/i386/pr67995-1.c: New test. + * gcc.target/i386/pr67995-2.c: Likewise. + * gcc.target/i386/pr67995-3.c: Likewise. + +2015-10-19 Joost VandeVondele + + PR middle-end/68002 + * gcc.dg/PR68002.c: New test. + +2015-10-19 Richard Sandiford + + * gcc.dg/builtins-20.c: Remove undefined behavior. + +2015-10-18 Mikael Morin + + PR fortran/67758 + * gfortran.dg/common_25.f90: New file. + +2015-10-18 Paul Thomas + + PR fortran/67177 + * gfortran.dg/move_alloc_15.f90: New test + * gfortran.dg/move_alloc_16.f90: New test + + PR fortran/67977 + * gfortran.dg/deferred_character_assignment_1.f90: New test + +2015-10-17 Steven G. Kargl + + PR fortran/67987 + * gfortran.df/pr67987.f90: New test. + * gfortran.dg/char_length_2.f90: Update testcase. + +2015-10-16 H.J. Lu + + * gcc.target/i386/iamcu/test_basic_returning.c + (def_test_returning_type): Use union to check float return bits. + +2015-10-16 H.J. Lu + + * gcc.target/i386/iamcu/test_basic_64bit_returning.c (main): + Replace printf with __builtin_printf. + +2015-10-16 H.J. Lu + + * gcc.target/i386/iamcu/test_passing_unions.c (main): Properly + initialize u5. + +2015-10-16 Eric Botcazou + + PR middle-end/67966 + * gnat.dg/pack21.adb: New test. + * gnat.dg/pack22.adb: Likewise. + * gnat.dg/pack22_pkg.ad[sb]: New helper. + +2015-10-16 Christian Bruel + + PR target/67745 + * gcc.target/arm/no-align.c: New test. + * gcc.target/arm/attr-align1.c: New test. + * gcc.target/arm/attr-align2.c: New test. + * gcc.target/arm/attr-align3.c: New test. + +2015-10-11 Jan Hubicka + + * gcc.c-torture/compile/icfmatch.c: Add testcase + +2015-10-16 Paolo Carlini + + PR c++/67926 + * g++.dg/cpp1z/fold-ice1.C: New. + +2015-10-16 Michael Collison + Andrew Pinski + + * gcc.dg/tree-ssa/minmax-loopend.c: New test. + +2015-10-15 Marek Polacek + + * gcc.dg/tree-ssa/reassoc-42.c: New test. + +2015-10-15 Marek Polacek + + PR tree-optimization/67953 + * gcc.dg/fold-minus-6.c (fn4): Change the type of A to + unsigned. + * gcc.dg/torture/pr67953.c: New test. + +2015-10-14 Jeff Law + + * gcc.dg/tree-ssa/ssa-dom-thread-2.c: Deleted. The six functions + contained within have their own file/test now. + * gcc.dg/tree-ssa/ssa-dom-thread-2a.c: New test extracted from + ssa-dom-thread-2.c. Tighten expected output slightly and comment + expectations a bit more. + * gcc.dg/tree-ssa/ssa-dom-thread-2b.c: Likewise. + * gcc.dg/tree-ssa/ssa-dom-thread-2c.c: Likewise. + * gcc.dg/tree-ssa/ssa-dom-thread-2d.c: Likewise. + * gcc.dg/tree-ssa/ssa-dom-thread-2e.c: Likewise. + * gcc.dg/tree-ssa/ssa-dom-thread-2f.c: Likewise. + + PR testsuite/67959 + * gcc.dg/tree-ssa/ssa-thread-13.c: Avoid bitfield assumptions. + +2015-10-14 Marek Polacek + + * gcc.dg/tree-ssa/reassoc-39.c: Use -g. Adjust dg-final. + (f6): New. + (f7): New. + (f8): New. + (f9): New. + (f10): New. + (f11): New. + (f12): New. + (f13): New. + +2015-10-14 Richard Biener + + PR tree-optimization/67915 + * gcc.dg/torture/pr67915.c: New testcase. + +2015-10-14 Marek Polacek + + PR tree-optimization/67815 + * gcc.dg/tree-ssa/reassoc-39.c: New test. + * gcc.dg/tree-ssa/reassoc-40.c: New test. + * gcc.dg/tree-ssa/reassoc-41.c: New test. + +2015-10-14 Dominik Vogt + + * gcc.dg/pragma-pop_options-1.c: New test. + +2015-10-13 Jakub Jelinek + Aldy Hernandez + + * c-c++-common/gomp/cancel-1.c (f2): Add map clause to target data. + * c-c++-common/gomp/clauses-1.c: New test. + * c-c++-common/gomp/clauses-2.c: New test. + * c-c++-common/gomp/clauses-3.c: New test. + * c-c++-common/gomp/clauses-4.c: New test. + * c-c++-common/gomp/declare-target-1.c: New test. + * c-c++-common/gomp/declare-target-2.c: New test. + * c-c++-common/gomp/depend-3.c: New test. + * c-c++-common/gomp/depend-4.c: New test. + * c-c++-common/gomp/doacross-1.c: New test. + * c-c++-common/gomp/if-1.c: New test. + * c-c++-common/gomp/if-2.c: New test. + * c-c++-common/gomp/linear-1.c: New test. + * c-c++-common/gomp/map-2.c: New test. + * c-c++-common/gomp/map-3.c: New test. + * c-c++-common/gomp/nesting-1.c (f_omp_parallel, + f_omp_target_data): Add map clause to target data. + * c-c++-common/gomp/nesting-warn-1.c (f_omp_target): Likewise. + * c-c++-common/gomp/ordered-1.c: New test. + * c-c++-common/gomp/ordered-2.c: New test. + * c-c++-common/gomp/ordered-3.c: New test. + * c-c++-common/gomp/pr61486-1.c (foo): Remove linear clause + on non-iterator. + * c-c++-common/gomp/pr61486-2.c (test, test2): Remove ordered + clause and ordered construct where no longer allowed. + * c-c++-common/gomp/priority-1.c: New test. + * c-c++-common/gomp/reduction-1.c: New test. + * c-c++-common/gomp/schedule-simd-1.c: New test. + * c-c++-common/gomp/sink-1.c: New test. + * c-c++-common/gomp/sink-2.c: New test. + * c-c++-common/gomp/sink-3.c: New test. + * c-c++-common/gomp/sink-4.c: New test. + * c-c++-common/gomp/udr-1.c: New test. + * c-c++-common/taskloop-1.c: New test. + * c-c++-common/cpp/openmp-define-3.c: Adjust for the new + value of _OPENMP macro. + * c-c++-common/cilk-plus/PS/body.c (foo): Adjust expected diagnostics. + * c-c++-common/goacc-gomp/nesting-fail-1.c (f_acc_parallel, + f_acc_kernels, f_acc_data, f_acc_loop): Add map clause to target data. + * gcc.dg/gomp/clause-1.c: + * gcc.dg/gomp/reduction-1.c: New test. + * gcc.dg/gomp/sink-fold-1.c: New test. + * gcc.dg/gomp/sink-fold-2.c: New test. + * gcc.dg/gomp/sink-fold-3.c: New test. + * gcc.dg/vect/vect-simd-clone-15.c: New test. + * g++.dg/gomp/clause-1.C (T::test): Remove dg-error on privatization + of non-static data members. + * g++.dg/gomp/clause-3.C (foo): Remove one dg-error directive. + Add some linear clause tests. + * g++.dg/gomp/declare-simd-3.C: New test. + * g++.dg/gomp/linear-1.C: New test. + * g++.dg/gomp/member-1.C: New test. + * g++.dg/gomp/member-2.C: New test. + * g++.dg/gomp/pr66571-2.C: New test. + * g++.dg/gomp/pr67504.C (foo): Add test for ordered clause with + dependent argument. + * g++.dg/gomp/pr67522.C (foo): Add test for invalid array section + in reduction clause. + * g++.dg/gomp/reference-1.C: New test. + * g++.dg/gomp/sink-1.C: New test. + * g++.dg/gomp/sink-2.C: New test. + * g++.dg/gomp/sink-3.C: New test. + * g++.dg/gomp/task-1.C: Remove both dg-error directives. + * g++.dg/gomp/this-1.C: New test. + * g++.dg/gomp/this-2.C: New test. + * g++.dg/vect/simd-clone-2.cc: New test. + * g++.dg/vect/simd-clone-2.h: New test. + * g++.dg/vect/simd-clone-3.cc: New test. + * g++.dg/vect/simd-clone-4.cc: New test. + * g++.dg/vect/simd-clone-4.h: New test. + * g++.dg/vect/simd-clone-5.cc: New test. + +2015-10-13 Christophe Lyon + + * gcc.target/aarch64/table-intrinsics.c: Fix regexp + after r228716 (Fix vtbl[34] and vtbx4). + +2015-10-13 Yuri Rumyantsev + + PR tree-optimization/67909, 67947 + * gcc.dg/torture/pr67947.c: New test. + +2015-10-13 Jeff Law + + * gcc.dg/tree-ssa/ssa-thread-13.c: New test. + +2015-10-12 Jeff Law + + * gcc.dg/tree-ssa/ssa-thread-12.c: New test. + * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Update expected output. + * gcc.dg/tree-ssa/ssa-thread-11.c: Renamed from + ssa-dom-thread-11.c. + + * gcc.dg/tree-ssa/ssa-dom-thread-11.c: New test. + +2015-10-12 Ville Voutilainen + + PR c++/58566 + * g++.dg/cpp0x/lambda/lambda-58566.C: New. + +2015-10-10 Jan Hubicka + + * gfortran.dg/lto/bind_c-2_0.f90: New testcase. + * gfortran.dg/lto/bind_c-2_1.c: New testcase. + * gfortran.dg/lto/bind_c-3_0.f90: New testcase. + * gfortran.dg/lto/bind_c-3_1.c: New testcase. + * gfortran.dg/lto/bind_c-4_0.f90: New testcase. + * gfortran.dg/lto/bind_c-4_1.c: New testcase. + * gfortran.dg/lto/bind_c-5_0.f90: New testcase. + * gfortran.dg/lto/bind_c-5_1.c: New testcase. + +2015-10-09 Steve Ellcey + + * gcc.target/mips/mips.exp (mips_option_groups): Add -mframe-header-opt + and -mno-frame-header-opt options. + * gcc.target/mips/frame-header-1.c: New file. + * gcc.target/mips/frame-header-2.c: New file. + * gcc.target/mips/frame-header-3.c: New file. + +2015-10-09 Andre Vieira + Hale Wang + + * gcc.dg/tree-ssa/forwprop-33.c: New. + +2015-10-09 Alexander Fomin + + PR target/67895 + * gcc.target/i386/avx512dq-vrangepd-1.c: Adjust assembly regexp. + * gcc.target/i386/avx512dq-vrangeps-1.c: Likewise. + * gcc.target/i386/avx512dq-vrangesd-1.c: Likewise. + * gcc.target/i386/avx512dq-vrangess-1.c: Likewise. + * gcc.target/i386/avx512f-vcvtsi2sd64-1.c: Likewise. + * gcc.target/i386/avx512f-vcvtsi2ss-1.c: Likewise. + * gcc.target/i386/avx512f-vcvtsi2ss64-1.c: Likewise. + * gcc.target/i386/avx512f-vcvtusi2sd64-1.c: Likewise. + * gcc.target/i386/avx512f-vcvtusi2ss-1.c: Likewise. + * gcc.target/i386/avx512f-vcvtusi2ss64-1.c: Likewise. + +2015-10-09 David Malcolm + + * lib/multiline.exp: New file. + * lib/prune.exp: Load multiline.exp. + (prune_gcc_output): Call into multiline.exp to handle any + multiline output directives. + * lib/libgo.exp: Load multiline.exp before prune.exp, using + load_gcc_lib. + +2015-10-09 Martin Jambor + + PR tree-optimization/67794 + * gcc.dg/ipa/ipa-sra-10.c: New test. + * gcc.dg/torture/pr67794.c: Likewise. + +2015-10-09 Alexandre Oliva + + PR rtl-optimization/67828 + * gcc.dg/torture/pr67828.c: New. + +2015-10-09 Ramana Radhakrishnan + + PR target/67366 + * lib/target-supports.exp (check_effective_target_non_strict_align): + Adjust for arm*-*-*. + * gcc.target/arm/pr67366.c: New test. + +2015-10-09 Richard Biener + + PR tree-optimization/67891 + * gcc.dg/tree-ssa/pr67891.c: New testcase. + +2015-10-08 Richard Sandiford + + * gcc.dg/builtins-47.c: Test the optimized dump instead. + +2015-10-08 Yuri Rumyantsev + + * gcc.dg/vect/vect-outer-simd-3.c: New test. + +2015-10-08 Yuri Rumyantsev + + * gcc.dg/loop-unswitch-2.c: New test. + * gcc.dg/loop-unswitch-3.c: Likewise. + * gcc.dg/loop-unswitch-4.c: Likewise. + +2015-10-08 Tom de Vries + + * gcc.dg/dse.c: Only dump in dse1 pass. + * gcc.dg/tree-ssa/pr30375.c: Same. + +2015-10-07 Uros Bizjak + + PR target/66697 + * gcc.target/i386/20060512-1.c: Remove ia32 requirement. + (PUSH, POP): New defines. + (sse2_test): Use PUSH and POP to misalign runtime stack. + * gcc.target/i386/20060512-2.c: Remove ia32 requirement. + +2015-10-07 James Norris + + * lib/atomic-dg.exp (atomic_link_flags): Move flag setting + to atomic_init. (atomic_init): Restrict flags usage. + +2015-10-07 Andre Vehreschild + + PR fortran/65889 + * gfortran.dg/sizeof_5.f90: New test. + +2015-10-06 Jeff Law + + * gcc.c-torture/compile/pr67816.c: New test. + +2015-10-07 Kugan Vivekanandarajah + + * gcc.target/aarch64/get_lane_f16_1.c: New test. + +2015-10-06 Louis Krupp + + PR fortran/65766 + * gfortran.dg/substr_alloc_string_comp_1.f90: New. + +2015-10-06 Marek Polacek + + PR c++/67863 + * c-c++-common/Wtautological-compare-4.c: New test. + +2015-10-05 Michael Meissner + Peter Bergner + + PR target/67808 + * gcc.target/powerpc/pr67808.c: New test. + +2015-10-06 Nick Clifton + + * gcc.target/msp430: New directory. + * gcc.target/msp430/msp430.exp: New file. Runs MSP430 specific + tests. + * gcc.target/msp430/data-attributes.c: New file. Checks the + noinit and persistent data attributes. + +2015-10-06 Kirill Yukhin + + * gcc.target/i386/builtin_target.c: Fix AVX-512VBMI detection. + +2015-10-06 Richard Biener + + PR tree-optimization/67859 + * gcc.dg/torture/pr67859.c: New testcase. + +2015-10-05 Kirill Yukhin + + * gcc.target/i386/builtin_target.c: Add check for AES and PCLMUL. + +2015-10-05 Paolo Carlini + + PR c++/53856 + * g++.dg/template/defarg19.C: New. + * g++.dg/template/defarg20.C: Likewise. + +2015-10-05 Aditya Kumar + Sebastian Pop + + * gcc.dg/graphite/scop-sor.c: Un-xfail. + +2015-10-05 Aditya Kumar + Sebastian Pop + + * gcc.dg/graphite/scop-sor.c: Xfail. + +2015-10-05 Martin Jambor + Jan Hubicka + + * gcc.dg/ipa/propalign-4.c: New test. + * gcc.dg/ipa/propalign-5.c: Likewise. + +2015-10-05 Marek Polacek + + PR tree-optimization/67821 + * gcc.dg/torture/pr67821-2.c: New test. + * gcc.dg/torture/pr67821.c: New test. + +2015-10-05 Kirill Yukhin + + * gcc.target/i386/builtin_target.c: Add check for "skylake-avx512". + +2015-10-05 Christian Bruel + + * gcc.target/arm/attr_thumb-static2.c: Cleanup directives. + +2015-10-05 Ramana Radhakrishnan + + * gcc.target/aarch64/advsimd-intrinsics/vcvt_f16.c (TEST_MSG): Fix typo. + (exec_vcvt): Add comments. + +2015-10-04 Uros Bizjak + + PR rtl-optimization/67447 + * gcc.target/i386/pr67447.c: New test. + +2015-10-04 Uros Bizjak + + * gcc.target/i386/vect-pack-trunc-1.c: Require avx512bw + effective target. + * gcc.target/i386/vect-pack-trunc-2.c: Ditto. + * gcc.target/i386/vect-perm-even-1.c: Ditto. + * gcc.target/i386/vect-perm-odd-1.c: Ditto. + * gcc.target/i386/vect-unpack-1.c: Ditto. + * gcc.target/i386/vect-unpack-2.c: Ditto. + +2015-10-04 Mikael Morin + + PR fortran/67758 + * gfortran.dg/common_24.f: New. + +2015-10-03 Bernd Edlinger + + * gcc.target/arm/pr67756.c: Fixed warnings. + +2015-10-02 Marek Polacek + + PR c/67730 + * gcc.dg/pr67730-1.c: New test. + * gcc.dg/pr67730-2.c: New test. + * gcc.dg/pr67730.h: New test. + +2015-10-02 Marek Polacek + + * c-c++-common/Wduplicated-cond-2.c: Skip until PR67819 is resolved. + +2015-10-02 Sebastian Pop + + PR tree-optimization/67754 + * gfortran.dg/graphite/block-1.f90: Adjust pattern. + * gfortran.dg/graphite/block-2.f: Same. + +2015-10-02 Sebastian Pop + + * gcc.dg/graphite/scop-23.c: New. + +2015-10-02 Kirill Yukhin + + * gcc.target/i386/builtin_target.c: Handle "avx512ifma" + and "avx512vbmi". + +2015-10-02 Vladimir Makarov + + PR rtl-optimization/67756 + * gcc.target/arm/pr67756.c: New. + +2015-10-02 Jiong Wang + + * gcc.target/aarch64/tlsle12_tiny_1.c: New testcase for tiny model. + * gcc.target/aarch64/tlsle24_tiny_1.c: Likewise. + * gcc.target/aarch64/tlsle_sizeadj_tiny_1.c: TLS size truncation test + for tiny model. + * gcc.target/aarch64/tlsle_sizeadj_small_1.c: TLS size truncation test + for small model. + +2015-10-02 Kirill Yukhin + + * gcc.target/i386/vect-pack-trunc-1.c: New test. + * gcc.target/i386/vect-pack-trunc-2.c: Ditto. + * gcc.target/i386/vect-perm-even-1.c: Ditto. + * gcc.target/i386/vect-perm-odd-1.c: Ditto. + * gcc.target/i386/vect-unpack-1.c: Ditto. + * gcc.target/i386/vect-unpack-2.c: Ditto. + +2015-10-02 Marek Polacek + + PR c/64249 + * c-c++-common/Wduplicated-cond-1.c: New test. + * c-c++-common/Wduplicated-cond-2.c: New test. + * c-c++-common/Wduplicated-cond-3.c: New test. + * c-c++-common/Wduplicated-cond-4.c: New test. + * c-c++-common/Wmisleading-indentation.c (fn_37): Avoid + -Wduplicated-cond warning. + +2015-10-02 Renlin Li + + * gcc.target/aarch64/csneg-1.c: Update. + +2015-10-02 Renlin Li + + PR target/66776 + * gcc.target/aarch64/pr66776.c: New. + +2015-10-02 Eric Botcazou + + * gnat.dg/warn13.adb: New test. + +2015-10-02 Eric Botcazou + + * gnat.dg/vect15.ad[sb]: New test. + * gnat.dg/vect16.ad[sb]: Likewise. + * gnat.dg/vect17.ad[sb]: Likewise. + * gnat.dg/vect18.ad[sb]: Likewise. + +2015-10-02 Kyrylo Tkachov + + PR rtl-optimization/67786 + PR rtl-optimization/67787 + * gcc.dg/pr67786.c: New test. + * gcc.dg/pr67787.c: Likewise. + +2015-10-02 James Greenhalgh + + * gcc.target/aarch64/vect_combine_zeroes_1.c: New. + +2015-10-02 Kai Tietz + + PR target/51726 + * g++.dg/ext/selectany2.C: Allow uninitialized variable case. + +2015-10-01 Louis Krupp + + PR fortran/62242 + PR fortran/52332 + * gfortran.dg/string_array_constructor_1.f90: New. + * gfortran.dg/string_array_constructor_2.f90: New. + * gfortran.dg/string_array_constructor_3.f90: New. + +2015-10-01 Segher Boessenkool + + PR target/67788 + PR target/67789 + * gcc.target/powerpc/pr67789.c: New testcase. + +2015-10-01 Steven G. Kargl + + PR fortran.67802 + * gfortran.dg/pr67802.f90: New test. + +2015-10-01 Steven G. Kargl + + PR fortran/66979 + gfortran.dg/pr66979.f90: new test. + +2015-10-01 Steven G. Kargl + + PR fortran/67616 + * gfortran.dg/pr67616.f90: New test. + +2015-10-01 Ville Voutilainen + + PR c++/54430 + * g++.dg/cpp0x/range-for30.C: New. + +2015-10-01 Marek Polacek + + PR c/65345 + * gcc.dg/atomic/pr65345-4.c: New test. + * gcc.dg/pr65345-3.c: New test. + +2015-10-01 Marek Polacek + + PR tree-optimization/67769 + * gcc.dg/torture/pr67769.c: New test. + +2015-10-01 Uros Bizjak + + * gcc.dg/lto/pr55113_0.c: Skip on all x86 targets. + +2015-10-01 Oleg Endo + + PR target/54236 + * gcc.target/sh/pr54236-6.c: Fix assembler-not string. + +2015-10-01 Uros Bizjak + + * gcc.target/i386/pr65105-1.c: Require sse2 effective target. + (main): Rename to sse2_test. Abort if count != 5. + (dg-options): Add -save-temps. Use "-msse2 -mtune=slm" instead + of -march=slm. + * gcc.target/i386/pr46865-2.c (dg-options): Remove -save-temps. + +2015-10-01 Richard Biener + + * gcc.dg/tree-ssa/ssa-fre-7.c: Adjust. + * gcc.dg/tree-ssa/ssa-fre-8.c: Likewise. + +2015-09-30 Jeff Law + + * gcc.dg/tree-ssa/ssa-dom-branch-1.c: New test. + +2015-09-30 Bernd Edlinger + + PR rtl-optimization/67037 + * gcc.c-torture/execute/pr67037.c: New test. + +2015-09-30 Ulrich Weigand + + * lib/target-supports.exp (check_effective_target_sync_int_128): + Return 1 on spu-*-* targets. + (check_effective_target_sync_int_128_runtime): Likewise. + (check_effective_target_sync_long_long): Likewise. + (check_effective_target_sync_long_long_runtime): Likewise. + (check_effective_target_sync_int_long): Likewise. + (check_effective_target_sync_char_short): Likewise. + +2015-09-30 Ilya Enkovich + + * gcc.target/i386/pr67761.c: New test. + +2015-09-30 Marek Polacek + + PR c/67730 + * gcc.dg/pr67730.c: New test. + +2015-09-30 Marek Polacek + + PR tree-optimization/67690 + * gcc.dg/torture/pr67690.c: New test. + +2015-09-30 Christophe Lyon + + * g++.dg/cpp0x/stdint.C: Move dg-require-effective-target after dg-do. + * g++.dg/gomp/tls-wrap4.C: Likewise. + * gcc.dg/atomic-op-optimize.c: Likewise. + * gcc.dg/pr54087.c: Likewise. + * gcc.dg/tls/section-2.c: Likewise. + * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c: Likewise. + * gcc.dg/vect/costmodel/ppc/costmodel-pr37194.c: Likewise. + * gcc.dg/vect/trapv-vect-reduc-4.c: Likewise. + * gcc.target/arm/divzero.c: Likewise. + * gcc.target/arm/sibcall-2.c: Likewise. + * gcc.target/arm/thumb1-Os-mult.c: Likewise. + * gcc.target/arm/thumb1-load-64bit-constant-1.c: Likewise. + * gcc.target/arm/thumb1-load-64bit-constant-2.c: Likewise. + * gcc.target/arm/thumb1-load-64bit-constant-3.c: Likewise. + * gcc.target/arm/volatile-bitfields-1.c: Likewise. + * gcc.target/arm/volatile-bitfields-2.c: Likewise. + * gcc.target/arm/volatile-bitfields-3.c: Likewise. + * gcc.target/arm/volatile-bitfields-4.c: Likewise. + * gfortran.dg/default_format_2.f90: Likewise. + * gfortran.dg/default_format_denormal_2.f90: Likewise. + +2015-09-29 Jonathan Roelofs + + * gcc.dg/debug/pr65771.c: Use tls_runtime instead of tls. + +2015-09-29 Steven G. Kargl + + * gfortran.dg/ieee/ieee_4.f90: xfail on i386-*-freebsd* + * gfortran.dg/round_4.f90: ditto. + +2015-09-29 Richard Biener + + PR tree-optimization/67170 + * gfortran.dg/pr67170.f90: New testcase. + +2015-09-29 Richard Biener + + PR tree-optimization/67741 + * gcc.dg/torture/pr67741.c: New testcase. + +2015-09-29 Uros Bizjak + + * gcc.dg/tg-tests.h (foo_1) [UNSAFE]: Also check if f and ld are + non-zero for __builtin_signbit tests. + +2015-09-29 Ilya Enkovich + + PR target/65105 + * gcc.target/i386/pr65105-1.c: New. + * gcc.target/i386/pr65105-2.c: New. + * gcc.target/i386/pr65105-3.c: New. + * gcc.target/i386/pr65105-4.C: New. + * gcc.dg/lower-subreg-1.c: Add -mno-stv options for ia32. + +2015-09-28 Segher Boessenkool + + * gcc.dg/asm-4.c: Use braced words for the regular expressions. + +2015-09-28 Paul Thomas + + PR fortran/40054 + PR fortran/63921 + * gfortran.dg/fmt_tab_1.f90: Change from run to compile and set + standard as legacy. + * gfortran.dg/fmt_tab_2.f90: Add extra tab error. + * gfortran.dg/function_types_3.f90: Change error message to + "Type inaccessible...." + * gfortran.dg/ptr_func_assign_1.f08: New test. + * gfortran.dg/ptr_func_assign_2.f08: New test. + +2015-09-25 Mikael Morin + + PR fortran/40054 + PR fortran/63921 + * gfortran.dg/ptr_func_assign_3.f08: New test. + * gfortran.dg/ptr_func_assign_4.f08: New test. + +2015-09-28 Aditya Kumar + Sebastian Pop + + * gcc.dg/graphite/run-id-pr67700-1.c: New test case. + * gcc.dg/graphite/block-1.c: Modified to match the pattern. + * gcc.dg/graphite/block-3.c: Same. + * gcc.dg/graphite/block-4.c: Same. + * gcc.dg/graphite/block-5.c: Same. + * gcc.dg/graphite/block-6.c: Same. + * gcc.dg/graphite/block-7.c: Same. + * gcc.dg/graphite/block-8.c: Same. + * gcc.dg/graphite/block-pr47654.c: Same. + * gcc.dg/graphite/interchange-0.c: Same. + * gcc.dg/graphite/interchange-1.c: Same. + * gcc.dg/graphite/interchange-10.c: Same. + * gcc.dg/graphite/interchange-11.c: Same. + * gcc.dg/graphite/interchange-12.c: Same. + * gcc.dg/graphite/interchange-13.c: Same. + * gcc.dg/graphite/interchange-14.c: Same. + * gcc.dg/graphite/interchange-15.c: Same. + * gcc.dg/graphite/interchange-3.c: Same. + * gcc.dg/graphite/interchange-4.c: Same. + * gcc.dg/graphite/interchange-5.c: Same. + * gcc.dg/graphite/interchange-6.c: Same. + * gcc.dg/graphite/interchange-7.c: Same. + * gcc.dg/graphite/interchange-8.c: Same. + * gcc.dg/graphite/interchange-9.c: Same. + * gcc.dg/graphite/interchange-mvt.c: Same. + * gcc.dg/graphite/pr35356-1.c: Same. + * gcc.dg/graphite/pr35356-3.c: Same. + * gcc.dg/graphite/pr37485.c: Same. + * gcc.dg/graphite/scop-1.c: Same. + * gcc.dg/graphite/scop-11.c: Same. + * gcc.dg/graphite/scop-5.c: Same. + * gcc.dg/graphite/uns-block-1.c: Same. + * gcc.dg/graphite/uns-interchange-9.c: Same. + * gfortran.dg/graphite/block-1.f90: Same. + * gfortran.dg/graphite/interchange-3.f90: Same. + * gfortran.dg/graphite/pr14741.f90: Same. + * gfortran.dg/graphite/block-2.f: Same. + +2015-09-28 Aditya Kumar + Sebastian Pop + + PR tree-optimization/67700 + * gcc.dg/graphite/run-id-pr67700.c: New. + +2015-09-28 Oleg Endo + + PR target/54236 + * gcc.target/sh/pr54236-1.c (test_09, test_10, test_11): New. + * gcc.target/sh/pr59533-1.c (test_23, test_24, test_25, test_26, + test_27): New. + * gcc.target/sh/pr54236-5.c: New. + * gcc.target/sh/pr54236-6.c: New. + +2015-09-28 Kyrylo Tkachov + + PR rtl-optimization/67456 + PR rtl-optimization/67464 + PR rtl-optimization/67465 + * gcc.dg/pr67465.c: New test. + +2015-09-28 Tom de Vries + + PR tree-optimization/62171 + * gcc.dg/vect/pr62171.c: New test. + +2015-09-27 David Edelsohn + + * g++.dg/debug/dwarf2/pr44641.C: Revert line number change. Remove + skip on AIX. XFAIL individual line tests. + +2015-09-27 Alexandre Oliva + + PR rtl-optimization/64164 + PR tree-optimization/67312 + * gcc.dg/pr67312.c: New. From Zdenek Sojka. + * gcc.target/i386/stackalign/return-4.c: Add -O. + +2015-09-27 David Edelsohn + + * g++.dg/debug/dwarf2/pr44641.C: Add one to expected line numbers. + +2015-09-26 Mikael Morin + + PR fortran/67721 + * gfortran.dg/alloc_comp_deep_copy_3.f03: New. + +2015-09-26 David Edelsohn + + * gcc.dg/pr64935-1.c: XFAIL on AIX. + * gcc.dg/pr64935-2.c: XFAIL on AIX. + * gcc.dg/debug/dwarf2/dwarf2-macro2.c: XFAIL Start new file on AIX. + * gcc.dg/debug/dwarf2/dwarf2-macro2.c: XFAIL At line number on AIX. + * gcc.dg/debug/dwarf2/global-used-types.c: XFAIL ascii on AIX. + * gcc.dg/debug/dwarf2/noreturn-function-keyword.c: XFAIL + DW_AT_noreturn on AIX. + * gcc.dg/debug/dwarf2/noreturn-function-attribute.c: XFAIL + DW_AT_noreturn on AIX. + * gcc.dg/debug/dwarf2/lang-c89.c: XFAIL DW_AT_language on AIX. + * gcc.dg/debug/dwarf2/stacked-qualified-types-3.c: XFAIL DW_TAG on AIX. + * g++.dg/debug/dwarf2/deleted-member-function.C: XFAIL + DW_AT_GNU_deleted on AIX. + * g++.dg/debug/dwarf2/noreturn-function.C: XFAIL DW_AT_noreturn on AIX. + * g++.dg/debug/dwarf2/template-params-6.C: XFAIL ascii on AIX. + * g++.dg/debug/dwarf2/dwarf4-nested.C: XFAIL ascii on AIX. + * g++.dg/debug/dwarf2/pubnames-2.C: Skip on AIX. + * g++.dg/debug/dwarf2/pr44641.C: Skip on AIX. + * g++.dg/debug/dwarf2/pr46527.C: XFAIL on AIX. + * g++.dg/debug/dwarf2/imported-decl-2.C: XFAIL ascii on AIX. + * g++.dg/debug/dwarf2/namespace-1.C: XFAIL ascii on AIX. + * g++.dg/debug/dwarf2/global-used-types-1.C: XFAIL ascii on AIX. + * g++.dg/debug/dwarf2/lambda1.C: XFAIL ascii on AIX. + * g++.dg/debug/dwarf2/pubnames-3.C: Skip on AIX. + * g++.dg/debug/dwarf2/pr61433.C: XFAIL on AIX. + * g++.dg/debug/dwarf2/nested-4.C: XFAIL on AIX. + * g++.dg/debug/dwarf2/template-func-params-6.C: XFAIL ascii on AIX. + * g++.dg/debug/dwarf2/lineno-simple1.C: XFAIL on AIX. + +2015-09-25 Steven G. Kargl + + PR fortran/67614 + * gfortran.dg/pr67614.f90: New test. + +2015-09-25 Steven G. Kargl + + PR fortran/67525 + * gfortran.dg/pr67525.f90: New test. + +2015-09-25 Mikael Morin + + PR fortran/55603 + * gfortran.dg/allocatable_function_9.f90: New. + +2015-09-25 Oleg Endo + + PR target/67675 + * gcc.target/sh/pr67675.c: New. + +2015-09-25 Richard Sandiford + + * gcc.target/aarch64/fpcr_fpsr_1.c: New file. + +2015-09-25 H.J. Lu + + * gcc.target/i386/pr66749.c (dg-options): Replace + -mtune=lakemount with -mtune=lakemont. + * gcc.target/i386/pr66821.c (dg-options): Likewise. + * gcc.target/i386/pr67329.c (dg-options): Likewise. + +2015-09-25 Marek Polacek + + * c-c++-common/ubsan/bounds-11.c: New test. + * c-c++-common/ubsan/bounds-12.c: New test. + +2015-09-25 Marek Polacek + + PR sanitizer/64906 + * c-c++-common/ubsan/pr64906.c: New test. + +2015-09-24 H.J. Lu + + * gcc.target/i386/pr66749.c (dg-options): Replace -mtune=iamcu + with -mtune=lakemount. + * gcc.target/i386/pr66821.c (dg-options): Likewise. + * gcc.target/i386/pr67329.c (dg-options): Likewise. + +2015-09-24 Manuel López-Ibáñez + + PR driver/67640 + * gcc.dg/Werror-13.c: New test. + +2015-09-24 Szabolcs Nagy + + * gcc.target/aarch64/target_attr_10.c (foo): Use dg-message for note. + +2015-09-24 Richard Biener + + PR lto/67699 + * g++.dg/pr67699.C: New testcase. + +2015-09-24 Richard Earnshaw + + PR libgcc/67624 + * gcc.target/arm/fp16-inf.c: New test. + +2015-09-24 Kirill Yukhin + + * gcc.target/i386/avx512vbmi-check.h (main): Fix register + name while checking for AVX-512VBMI presence. + +2015-09-24 Rainer Orth + + * lib/target-supports.exp (check_effective_target_pie): Check for + PIE support on Solaris 11.x and 12. + +2015-09-24 Richard Biener + + * g++.dg/tree-ssa/restrict3.C: New testcase. + +2015-09-24 Richard Biener + + PR tree-optimization/48885 + * gcc.dg/tree-ssa/restrict-6.c: New testcase. + +2015-09-24 Patrick Palka + + * c-c++-common/Wmisleading-indentation.c: Augment test. + +2015-09-23 Ville Voutilainen + + Fix small typos in the coding rule enforcement warnings. + * g++.dg/diagnostic/disable.C: Replace 'namepace' + with 'namespace'. + +2015-09-23 Richard Biener + + PR middle-end/67662 + * gcc.dg/ubsan/pr67662.c: New testcase. + +2015-09-23 Manuel López-Ibáñez + + PR c/49655 + * gcc.dg/pragma-diag-6.c: New test. + +2015-09-23 James Greenhalgh + + * gcc.target/aarch64/advsimd-intrinsics/vcvt_high_1.c: New. + +2015-09-23 Richard Biener + + * g++.dg/tree-ssa/restrict2.C: Un-XFAIL testcase. + +2015-09-22 Patrick Palka + + * c-c++-common/Wmisleading-indentation.c: Augment test. + +2015-09-22 Nathan Sidwell + + * g++.dg/diagostic/disable.C: New. + +2015-09-22 Tom de Vries + + PR tree-optimization/67671 + * g++.dg/pr67671.C: New test. + +2015-09-22 Alexander Fomin + + PR target/67480 + * gcc.target/i386/pr67480.c: New test. + +2015-09-22 Kirill Yukhin + + * gcc.target/i386/funcspec-5.c: Test avx512vl, avx512bw, + avx512dq, avx512cd, avx512er, avx512pf and skylake-avx512. + * gcc.target/i386/builtin_target.c: Test avx512vl, avx512bw, + avx512dq, avx512cd, avx512er and avx512pf. + +2015-09-22 Matthew Wahab + + * gcc.target/aarch64/atomic-inst-ldadd.c: Add tests for + update-fetch operations. + * gcc.target/aarch64/atomic-inst-ldlogic.c: Likewise. + +2015-09-22 Matthew Wahab + + * gcc.target/aarch64/atomic-inst-ldadd.c: New. + * gcc.target/aarch64/atomic-inst-ldlogic.c: New. + +2015-09-22 Matthew Wahab + + * gcc.target/aarch64/atomic-inst-ops.inc: (TEST_MODEL): New. + (TEST_ONE): New. + * gcc.target/aarch64/atomic-inst-swap.c: New. + +2015-09-22 Manuel López-Ibáñez + + * gcc.target/i386/inline_error.c (int bar): Use dg-message for note. + * gcc.target/i386/pr57756.c (static __inline int caller): Likewise. + * gcc.target/i386/pr59789.c (f1): Likewise. + * gcc.target/i386/intrinsics_5.c (__m128i foo): Likewise. + * gcc.target/i386/intrinsics_6.c: Likewise. + * gcc.dg/winline-5.c (int t): Likewise. + * gcc.dg/winline-9.c (t): Likewise. + * gcc.dg/always_inline2.c (q): Likewise. + * gcc.dg/winline-2.c (inline int t): Likewise. + * gcc.dg/winline-6.c: Likewise. + * gcc.dg/winline-10.c (void g): Likewise. + * gcc.dg/pr49243.c (void parse): Likewise. + * gcc.dg/always_inline3.c (q2): Likewise. + * gcc.dg/winline-3.c: Likewise. + * gcc.dg/winline-7.c (inline void *t): Likewise. + +2015-09-22 Tom de Vries + + PR tree-optimization/67666 + * g++.dg/pr67666.C: New test. + +2015-09-21 Steven G. Kargl + + PR fortran/67615 + * gfortran.dg/pr67615.f90: new test. + +2015-09-21 Jeff Law + + * gcc.target/h8300/andsi3_ashift_n_lower.c: New test. + +2015-09-21 Ville Voutilainen + + Complete the implementation of N4230, Nested namespace definition. + * g++.dg/cpp1y/feat-cxx11-neg.C: Add tests for C++17 namespace + attributes and nested namespace definitions. + * g++.dg/cpp1y/feat-cxx98-neg.C: Likewise. + * g++.dg/cpp1z/feat-cxx1z.C: Likewise. + * g++.dg/cpp1y/feat-cxx14-neg.C: New. + * g++.dg/cpp1z/namespace-attribs.C: Likewise. + * g++.dg/cpp1z/nested-namespace-def1.C: Add tests for attributes + appearing before the namespace identifier. + +2015-09-21 Manuel López-Ibáñez + + PR c/66415 + * gcc.dg/cpp/pr66415-1.c: Test column number. + +2015-09-21 Richard Biener + + * g++.dg/ext/attr-alias-3.C: Add -g. + +2015-09-21 Richard Biener + + PR debug/67664 + * g++.dg/debug/dwarf2/pr67764.C: New testcase. + +2015-09-21 Oleg Endo + + PR target/64345 + * gcc.target/sh/pr64345-1.c: Adjust expected insn counts for SH2A. + +2015-09-21 Manuel López-Ibáñez + + * gcc.dg/pragma-diag-5.c: Fix excess warning. + +2015-09-21 Manuel López-Ibáñez + + PR middle-end/60832 + * gcc.dg/pr53265.c: Update. + +2015-09-21 Eric Botcazou + + * gcc.target/arm/stack-checking.c: Skip for Thumb1. + +2015-09-21 Oleg Endo + + PR target/59478 + * gcc.target/sh/pr59478.c: New. + +2015-09-21 Oleg Endo + + PR target/67126 + * gcc.target/sh/pr51244-12.c: Adjust testcase. + * gcc.target/sh/pr54236-2.c: Likewise. + +2015-09-20 Oleg Endo + + * gcc.target/sh/pr43417.c: Move target independent test to ... + * gcc.c-torture/compile/pr43417.c: ... here. + +2015-09-20 Oleg Endo + + * gcc.target/sh/sh.exp (check_effective_target_sh4a, + check_effective_target_big_endian, check_effective_target_little_endian, + check_effective_target_any_fpu, check_effective_target_double_fpu, + check_effective_target_use_single_only_fpu, + check_effective_target_default_single_fpu, + check_effective_target_no_fpu, check_effective_target_has_xf_regs, + check_effective_target_has_fsca, check_effective_target_has_fsrra, + check_effective_target_has_fpchg, check_effective_target_has_dyn_shift, + check_effective_target_fmovd_enabled, + check_effective_target_has_privileged, check_effective_target_has_pref, + check_effective_target_banked_r0r7_isr, + check_effective_target_stack_save_isr): New effective target checks. + * gcc.target/sh/pr51244-16.c: Merge into pr51244-15.c. + * gcc.target/sh/pr51244-20-sh2a.c: Merge into pr51244-20.c. + * gcc.target/sh/pr51244-3.c: Merge into pr51244-2.c + * gcc.target/sh/pr54089-5.c: Merge into pr54089-4.c. + * gcc.target/sh/20080410-1.c: Use new effective target checks. + * gcc.target/sh/attr-isr-nosave_low_regs.c: Likewise. + * gcc.target/sh/attr-isr.c: Likewise. + * gcc.target/sh/fpul-usage-1.c: Likewise. + * gcc.target/sh/hiconst.c: Likewise. + * gcc.target/sh/mfmovd.c: Likewise. + * gcc.target/sh/pr21255-3.c: Likewise. + * gcc.target/sh/pr33135-1.c: Likewise. + * gcc.target/sh/pr33135-2.c: Likewise. + * gcc.target/sh/pr33135-3.c: Likewise. + * gcc.target/sh/pr33135-4.c: Likewise. + * gcc.target/sh/pr39423-2.c: Likewise. + * gcc.target/sh/pr49880-4.c: Likewise. + * gcc.target/sh/pr49880-5.c: Likewise. + * gcc.target/sh/pr50749-sf-postinc-1.c: Likewise. + * gcc.target/sh/pr50749-sf-postinc-2.c: Likewise. + * gcc.target/sh/pr50749-sf-postinc-3.c: Likewise. + * gcc.target/sh/pr50749-sf-postinc-4.c: Likewise. + * gcc.target/sh/pr50749-sf-predec-1.c: Likewise. + * gcc.target/sh/pr50749-sf-predec-2.c: Likewise. + * gcc.target/sh/pr50749-sf-predec-3.c: Likewise. + * gcc.target/sh/pr50749-sf-predec-4.c: Likewise. + * gcc.target/sh/pr50751-2.c: Likewise. + * gcc.target/sh/pr50751-3.c: Likewise. + * gcc.target/sh/pr50751-5.c: Likewise. + * gcc.target/sh/pr50751-6.c: Likewise. + * gcc.target/sh/pr50751-8.c: Likewise. + * gcc.target/sh/pr51244-15.c: Likewise. + * gcc.target/sh/pr51244-2.c: Likewise. + * gcc.target/sh/pr51244-20.c: Likewise. + * gcc.target/sh/pr51244-6.c: Likewise. + * gcc.target/sh/pr52483-4.c: Likewise. + * gcc.target/sh/pr53511-1.c: Likewise. + * gcc.target/sh/pr53512-1.c: Likewise. + * gcc.target/sh/pr53512-2.c: Likewise. + * gcc.target/sh/pr53512-3.c: Likewise. + * gcc.target/sh/pr53512-4.c: Likewise. + * gcc.target/sh/pr53513-1.c: Likewise. + * gcc.target/sh/pr54089-2.c: Likewise. + * gcc.target/sh/pr54089-3.c: Likewise. + * gcc.target/sh/pr54089-4.c: Likewise. + * gcc.target/sh/pr54602-2.c: Likewise. + * gcc.target/sh/pr54602-3.c: Likewise. + * gcc.target/sh/pr54602-4.c: Likewise. + * gcc.target/sh/pr54680.c: Likewise. + * gcc.target/sh/pr55303-1.c: Likewise. + * gcc.target/sh/pr55303-2.c: Likewise. + * gcc.target/sh/pr55303-3.c: Likewise. + * gcc.target/sh/pr56547-1.c: Likewise. + * gcc.target/sh/pr56547-2.c: Likewise. + * gcc.target/sh/pr61195.c: Likewise. + * gcc.target/sh/pr61996.c: Likewise. + * gcc.target/sh/pr6526.c: Likewise. + * gcc.target/sh/pragma-isr-nosave_low_regs.c: Likewise. + * gcc.target/sh/pragma-isr-trapa2.c: Likewise. + * gcc.target/sh/prefetch.c: Likewise. + * gcc.target/sh/rte-delay-slot.c: Likewise. + * gcc.target/sh/sh2a-band.c: Likewise. + * gcc.target/sh/sh2a-bclr.c: Likewise. + * gcc.target/sh/sh2a-bclrmem.c: Likewise. + * gcc.target/sh/sh2a-bld.c: Likewise. + * gcc.target/sh/sh2a-bor.c: Likewise. + * gcc.target/sh/sh2a-bset.c: Likewise. + * gcc.target/sh/sh2a-bsetmem.c: Likewise. + * gcc.target/sh/sh2a-bxor.c: Likewise. + * gcc.target/sh/sh2a-jsrn.c: Likewise. + * gcc.target/sh/sh2a-movi20s.c: Likewise. + * gcc.target/sh/sh2a-movrt.c: Likewise. + * gcc.target/sh/sh2a-resbank.c: Likewise. + * gcc.target/sh/sh2a-rtsn.c: Likewise. + * gcc.target/sh/sh2a-tbr-jump.c: Likewise. + * gcc.target/sh/sh4a-bitmovua.c: Likewise. + * gcc.target/sh/sh4a-cosf.c: Likewise. + * gcc.target/sh/sh4a-fsrra.c: Likewise. + * gcc.target/sh/sh4a-memmovua.c: Likewise. + * gcc.target/sh/sh4a-sincosf.c: Likewise. + * gcc.target/sh/sh4a-sinf.c: Likewise. + +2015-09-20 Jeff Law + + PR tree-optimization/47679 + * g++.dg/warn/Wuninitialized-6.C: New test. + +2015-09-18 Ville Voutilainen + + Implement nested namespace definitions. + * g++.dg/cpp1z/nested-namespace-def1.C: New. + * g++.dg/cpp1z/nested-namespace-def2.C: Likewise. + * g++.dg/cpp1z/nested-namespace-def3.C: Likewise. + * g++.dg/lookup/name-clash5.C: Adjust. + * g++.dg/lookup/name-clash6.C: Likewise. + +2015-09-18 Manuel López-Ibáñez + + * gcc.dg/pragma-diag-5.c: New test. + +2015-09-18 Uros Bizjak + + PR middle-end/67619 + * gcc.dg/torture/pr67619.c: New test. + * lib/target-supports.exp (check_effective_target_builtin_eh_return): + New procedure. + +2015-09-18 Alan Lawrence + + PR tree-optimization/67283 + * gcc.dg/tree-ssa/sra-15.c: New. + * gcc.dg/tree-ssa/sra-16.c: New. + +2015-09-17 Bernd Edlinger + + PR sanitizer/64078 + * c-c++-common/ubsan/object-size-9.c (s): Add alignment attribute. + (f2, f3): Make the function static. + * c-c++-common/ubsan/object-size-10.c (a, b): Add alignment attribute. + +2015-09-17 Christian Bruel + + * gcc.target/arm/attr_thumb-static2.c: New test. + +2015-09-17 Eric Botcazou + + * gnat.dg/overflow_sum3.adb: New test. + +2015-09-17 Eric Botcazou + + * gcc.target/arm/stack-checking.c: New test. + +2015-09-17 Paul Thomas + + PR fortran/52846 + * gfortran.dg/public_private_module_5.f90: Add module procedure + trigger_smod to ensure that the smod file is written. + +2015-09-17 James Greenhalgh + + * gcc.target/aarch64/copysign_1.c: New. + * gcc.target/aarch64/copysign_2.c: New. + +2015-09-17 Bin Cheng + + * gcc.dg/tree-ssa/loop-bound-2.c: New test. + * gcc.dg/tree-ssa/loop-bound-4.c: New test. + * gcc.dg/tree-ssa/loop-bound-6.c: New test. + +2015-09-16 John Marino + + * gfortran.dg/read_dir.f90: XFAIL this testcase on DragonFly. + +2015-09-16 Richard Biener + + PR middle-end/67253 + * gcc.dg/torture/pr67253.c: New testcase. + +2015-09-16 Richard Biener + + PR middle-end/67271 + * gcc.dg/pr67271.c: New testcase. + +2015-09-16 Eric Botcazou + + * gnat.dg/opt49.adb: New test. + +2015-09-16 Richard Biener + + PR middle-end/67442 + * gcc.dg/torture/pr67442.c: New testcase. + +2015-09-15 Eric Botcazou + + * gnat.dg/array24.adb: New test. + * gnat.dg/blocklocs.adb: Delete. + +2015-09-15 Marek Polacek + + PR c/67580 + * gcc.dg/pr67580.c: New test. + +2015-09-15 Richard Biener + + PR tree-optimization/67470 + * gcc.dg/torture/pr67470.c: New testcase. + +2015-09-15 Alan Lawrence + + * gcc.target/aarch64/vect_int32x2x4_1.c: New. + +2015-09-15 Richard Biener + + PR middle-end/67563 + * gcc.dg/pr67563.c: New testcase. + +2015-09-14 Manuel López-Ibáñez + + PR fortran/67460 + * gfortran.dg/pr67460.f90: New test. + +2015-09-14 Uros Bizjak + + * gcc.dg/gomp/dump-new-function-3.c (dg-final): Also scan for $loopfn. + * gcc.dg/gomp/notify-new-function-3.c (dg-final): Ditto. + +2015-09-14 Paolo Carlini + + PR c++/51911 + * g++.dg/cpp0x/new-auto1.C: New. + +2015-09-11 Mark Wielaard + + PR c/28901 + * g++.dg/warn/unused-variable-1.C: New test. + * g++.dg/warn/unused-variable-2.C: Likewise. + * gcc.dg/unused-4.c: Adjust warning for static const. + * gcc.dg/unused-variable-1.c: New test. + * gcc.dg/unused-variable-2.c: Likewise. + +2015-09-13 David Edelsohn + + * gfortran.dg/private_type_3.f90: Require visibility. + * gfortran.dg/module_variable_2.f90: Same. + * gfortran.dg/nested_forall_1.f: Same. + * gfortran.dg/elemental_dependency_4.f90: Same. + * gfortran.dg/bind_c_usage_25.f90: Same. + * gfortran.dg/access_spec_1.f90: Same. + * gfortran.dg/public_private_module_2.f90: Same. + * gfortran.dg/host_assoc_variable_1.f90: Same. + * gfortran.dg/public_private_module_6.f90: Same. + * gfortran.dg/module_variable_1.f90: Same. + * gfortran.dg/pr37286.f90: Same. + * gfortran.dg/internal_pack_7.f90: Same. + * gfortran.dg/submodule_10.f08: Same. + * gfortran.dg/allocatable_function_8.f90: Same. + * gfortran.dg/merge_init_expr_2.f90: Same. + * gfortran.dg/class_37.f03: Same. + * gfortran.dg/vect/fast-math-vect-8.f90: Same. + * gfortran.dg/typebound_call_20.f03: Same. + * gfortran.dg/proc_ptr_result_3.f90: Same. + * gfortran.dg/pr32535.f90: Same. + * gfortran.dg/typebound_proc_19.f90: Same. + * gfortran.dg/initialization_10.f90: Same. + * gfortran.dg/bind_c_usage_8.f03: Same. + * gfortran.dg/pr61335.f90: Same. + * gfortran.dg/elemental_dependency_5.f90: Same. + * gfortran.dg/proc_ptr_3.f90: Same. + * gfortran.dg/debug/pr46756.f: XFAIL on AIX. + +2015-09-13 Eric Botcazou + + * gcc.dg/torture/type-generic-1.c: Pass -DUNSAFE for Visium. + * gcc.dg/Wno-frame-address.c: Skip for Visium. + * gcc.dg/loop-8.c: Likewise. + +2015-09-12 Eric Botcazou + + PR ada/66965 + * gnat.dg/specs/addr1.ads: Remove. + +2015-09-11 Rainer Orth + + * gcc.dg/pie-link.c: Add -pie to dg-options. + +2015-09-11 Alex Velenko + + * gcc.target/arm/pr63210.c (dg-skip-if): Skip armv4t. + (dg-additional-options): Add -march=armv5t if arm_arch_v5t_ok. + +2015-09-10 Bill Schmidt + + * gcc.target/powerpc/swaps-p8-20.c: New test. + * gcc.target/powerpc/swaps-p8-21.c: New test. + +2015-09-10 Steven G. Kargl + + PR fortran/67526 + * gfortran.dg/pr67526.f90: New test. + +2015-09-10 Paolo Carlini + + PR c++/67318 + * g++.dg/cpp0x/variadic166.C: New. + +2015-09-09 Mark Wielaard + + * c-c++-common/nonnull-1.c: New test. + +2015-09-10 Paul Thomas + + PR fortran/66993 + * gfortran.dg/submodule_11.f08: New test. + +2015-09-10 Oleg Endo + + PR target/67506 + * gcc.c-torture/compile/pr67506.c: New test. + +2015-09-10 Andreas Krebbel + + * gcc.target/s390/vector/vec-genbytemask-1.c: Add check for V1TI + initialization with a byte mask. No change expected here. + * gcc.target/s390/vector/vec-genmask-1.c: Fix whitespace. + * gcc.target/s390/vector/vec-genmask-2.c: Add check for V1TI + initialization with contigious bitmask. Literal pool is expectd + to be used here. + +2015-09-10 Kyrylo Tkachov + + PR target/67439 + * gcc.target/arm/pr67439_1.c: New test. + +2015-09-10 Jiong Wang + + * gcc.target/aarch64/pic-small.c (dg-skip-if): Skip tiny and large code + model. + +2015-09-10 Jakub Jelinek + + PR c++/67523 + * g++.dg/gomp/pr67523.C: New test. + + PR c++/67522 + * g++.dg/gomp/pr67522.C: New test. + + PR middle-end/67521 + * c-c++-common/gomp/pr67521.c: New test. + + PR middle-end/67517 + * c-c++-common/gomp/pr67517.c: New test. + + PR c++/67514 + * g++.dg/gomp/pr67514.C: New test. + + PR c++/67511 + * g++.dg/gomp/pr67511.C: New test. + + PR c/67502 + * c-c++-common/gomp/pr67502.c: New test. + +2015-09-09 Marek Polacek + + PR middle-end/67512 + * gcc.dg/pr67512.c: New test. + +2015-09-09 Paolo Carlini + + PR c++/53184 + * g++.dg/warn/Wsubobject-linkage-1.C: New. + * g++.dg/warn/Wsubobject-linkage-2.C: Likewise. + * g++.dg/warn/Wsubobject-linkage-3.C: Likewise. + * g++.dg/warn/Wsubobject-linkage-4.C: Likewise. + +2015-09-09 Kyrylo Tkachov + + * gcc.target/aarch64/mod_2.x: New file. + * gcc.target/aarch64/mod_256.x: Likewise. + * gcc.target/arm/mod_2.c: New test. + * gcc.target/arm/mod_256.c: Likewise. + * gcc.target/aarch64/mod_2.c: Likewise. + * gcc.target/aarch64/mod_256.c: Likewise. + +2015-09-09 Jakub Jelinek + + PR c++/67504 + * g++.dg/gomp/pr67504.C: New test. + + PR c/67501 + * c-c++-common/gomp/pr67501.c: New test. + + PR c/67500 + * gcc.dg/gomp/pr67500.c: New test. + + PR c/67495 + * gcc.dg/gomp/pr67495.c: New test. + +2015-09-09 Aditya Kumar + Sebastian Pop + + PR tree-optimization/53852 + * gcc.dg/graphite/uns-interchange-12.c: Adjust pattern to pass with + both isl-0.12 and isl-0.15. + * gcc.dg/graphite/uns-interchange-14.c: Same. + * gcc.dg/graphite/uns-interchange-15.c: Same. + * gcc.dg/graphite/uns-interchange-mvt.c: Same. + +2015-09-08 Aditya Kumar + Sebastian Pop + + * gcc.dg/graphite/block-0.c: Modifed test case to match current output. + * gcc.dg/graphite/block-1.c: Same. + * gcc.dg/graphite/block-5.c: Same. + * gcc.dg/graphite/block-6.c: Same. + * gcc.dg/graphite/interchange-1.c: Same. + * gcc.dg/graphite/interchange-10.c: Same. + * gcc.dg/graphite/interchange-11.c: Same. + * gcc.dg/graphite/interchange-13.c: Same. + * gcc.dg/graphite/interchange-14.c: Same. + * gcc.dg/graphite/interchange-3.c: Same. + * gcc.dg/graphite/interchange-4.c: Same. + * gcc.dg/graphite/interchange-7.c: Same. + * gcc.dg/graphite/interchange-8.c: Same. + * gcc.dg/graphite/interchange-9.c: Same. + * gcc.dg/graphite/isl-codegen-loop-dumping.c: Same. + * gcc.dg/graphite/pr35356-1.c (foo): Same. + * gcc.dg/graphite/pr37485.c: Same. + * gcc.dg/graphite/scop-0.c (int toto): Same. + * gcc.dg/graphite/scop-1.c: Same. + * gcc.dg/graphite/scop-10.c: Same. + * gcc.dg/graphite/scop-11.c: Same. + * gcc.dg/graphite/scop-12.c: Same. + * gcc.dg/graphite/scop-13.c: Same. + * gcc.dg/graphite/scop-16.c: Same. + * gcc.dg/graphite/scop-17.c: Same. + * gcc.dg/graphite/scop-18.c: Same. + * gcc.dg/graphite/scop-2.c: Same. + * gcc.dg/graphite/scop-21.c (int test): Same. + * gcc.dg/graphite/scop-22.c (void foo): Same. + * gcc.dg/graphite/scop-4.c: Same. + * gcc.dg/graphite/scop-5.c: Same. + * gcc.dg/graphite/scop-6.c: Same. + * gcc.dg/graphite/scop-7.c: Same. + * gcc.dg/graphite/scop-8.c: Same. + * gcc.dg/graphite/scop-9.c: Same. + * gcc.dg/graphite/scop-mvt.c (void mvt): Introduced dependency so that + data-refs remain inside the inner loop. + * gcc.dg/graphite/uns-block-1.c: Modifed test case to match o/p. + * gcc.dg/graphite/uns-interchange-14.c: Same. + * gcc.dg/graphite/uns-interchange-9.c: Same. + * gfortran.dg/graphite/interchange-3.f90 + +2015-09-08 Alan Lawrence + + PR target/63870 + * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f16_indices_1.c: New. + * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f16_indices_1.c: New. + * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f16_indices_1.c: New. + * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f16_indices_1.c: New. + * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f16_indices_1.c: New. + * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f16_indices_1.c: New. + * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f16_indices_1.c: New. + * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f16_indices_1.c: New. + * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f16_indices_1.c: New. + * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f16_indices_1.c: New. + * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f16_indices_1.c: New. + * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f16_indices_1.c: New. + +2015-09-08 Alan Lawrence + + * gcc.target/aarch64/advsimd-intrinsics/vcvt_f16.c: New. + * lib/target-supports.exp + (check_effective_target_arm_neon_fp16_hw): New. + +2015-09-08 Alan Lawrence + + * gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp: + Set additional_flags for neon-fp16 if supported, else fallback to neon. + + * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h + (hfloat16_t): New. + (result, expected, clean_results, DECL_VARIABLE_64BITS_VARIANTS, + DECL_VARIABLE_128BITS_VARIANTS): Add float16x4_t and float16x8_t cases + if supported. + (CHECK_RESULTS): Redefine using CHECK_RESULTS_NAMED. + (CHECK_RESULTS_NAMED): Move body to CHECK_RESULTS_NAMED_NO_FP16; + redefine in terms of CHECK_RESULTS_NAMED_NO_FP16 with float16 variants + when those are supported. + (CHECK_RESULTS_NAMED_NO_FP16, CHECK_RESULTS_NO_FP16): New. + (vdup_n_f16): New. + + * gcc.target/aarch64/advsimd-intrinsics/compute-ref-data.h (buffer, + buffer_pad, buffer_dup, buffer_dup_pad): Add float16x4 and float16x8_t + cases if supported. + + * gcc.target/aarch64/advsimd-intrinsics/vbsl.c (exec_vbsl): + Use CHECK_RESULTS_NO_FP16 in place of CHECK_RESULTS. + * gcc.target/aarch64/advsimd-intrinsics/vdup-vmov.c (exec_vdup_vmov): + Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vdup_lane.c (exec_vdup_lane): + Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vext.c (exec_vext): Likewise. + + * gcc.target/aarch64/advsimd-intrinsics/vcombine.c (expected): + Add float16x8_t case. + (main, exec_vcombine): test float16x4_t -> float16x8_t, if supported. + * gcc.target/aarch64/advsimd-intrinsics/vcreate.c (expected, + main, exec_vcreate): Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vget_high (expected, + exec_vget_high): Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vget_low.c (expected, + exec_vget_low): Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vld1.c (expected, exec_vld1): + Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vld1_dup.c (expected, + exec_vld1_dup): Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vld1_lane.c (expected, + exec_vld1_lane): Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vldX.c (expected, exec_vldX): + Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vldX_dup.c (expected, + exec_vldX_dup): Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vldX_lane.c (expected, + exec_vldX_lane): Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vset_lane.c (expected, + exec_vset_lane): Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vst1_lane.c (expected, + exec_vst1_lane): Likewise. + +2015-09-08 Alan Lawrence + + * gcc.target/aarch64/vget_high_1.c: Add float16x8->float16x4 case. + * gcc.target/aarch64/vget_low_1.c: Likewise. + +2015-09-08 Alan Lawrence + + * gcc.target/aarch64/vldN_1.c: Add float16x4_t and float16x8_t cases. + * gcc.target/aarch64/vldN_dup_1.c: Likewise. + * gcc.target/aarch64/vldN_lane_1.c: Likewise. + (main): update orig_data to avoid float16 NaN on bigendian. + +2015-09-08 Alan Lawrence + + * g++.dg/abi/mangle-neon-aarch64.C: Add cases for float16x4_t and + float16x8_t. + * gcc.target/aarch64/vset_lane_1.c: Likewise. + * gcc.target/aarch64/vld1-vst1_1.c: Likewise. + * gcc.target/aarch64/vld1_lane.c: Likewise. + +2015-09-08 Paolo Carlini + + PR c++/67369 + * g++.dg/cpp1y/lambda-generic-ice4.C: New. + +2015-09-07 Marek Polacek + + PR inline-asm/67448 + * gcc.dg/asm-10.c: New test. + +2015-09-04 Jakub Jelinek + + PR middle-end/67452 + * gcc.dg/lto/pr67452_0.c: New test. + +2015-09-02 Senthil Kumar Selvaraj + + PR target/65210 + * gcc.target/avr/pr65210.c: New test. + +2015-09-04 H.J. Lu + + PR testsuite/67450 + * lib/target-supports.exp (check_cached_effective_target): + Apppend $prop to et_prop_list only if needed. + +2015-09-04 Marek Polacek + + PR sanitizer/67279 + * gcc.dg/ubsan/pr67279.c: New test. + +2015-09-04 Andrey Turetskiy + Petr Murzin + Kirill Yukhin + + * gcc.target/i386/avx512f-scatter-1.c: New. + * gcc.target/i386/avx512f-scatter-2.c: Ditto. + * gcc.target/i386/avx512f-scatter-3.c: Ditto. + +2015-09-04 Janne Blomqvist + + * gfortran.dg/read_dir.f90: Delete empty directory when closing + rather than calling rmdir, cleanup if open fails. + +2015-09-03 Bill Schmidt + + * gcc.target/powerpc/vec-mult-char-1.c: New test. + * gcc.target/powerpc/vec-mult-char-2.c: New test. + * lib/target-supports.exp (check_effective_target_vect_char_mult): + Return true for PowerPC targets that implement Altivec. + +2015-09-03 Renlin Li + + * gcc.target/aarch64/arm_align_max_pwr.c: Make it a compile test case, + check the assembly. + * gcc.target/aarch64/arm_align_max_stack_pwr.c: Likewise. + +2015-09-03 Bill Schmidt + + * gcc.target/powerpc/vec-shift.c: New test. + +2015-09-03 Tom de Vries + + PR tree-optimization/65637 + * gcc.dg/autopar/reduc-4.c: New test. + +2015-09-03 Tom de Vries + + PR tree-optimization/65637 + * gcc.dg/autopar/pr46099-2.c: New test. + +2015-09-03 Naveen H.S + + PR middle-end/67351 + * g++.dg/pr67351.C: New test. + +2015-09-03 Richard Biener + + PR ipa/66705 + * g++.dg/lto/pr66705_0.C: New testcase. + +2015-09-02 Balaji V. Iyer + + PR middle-end/60586 + * c-c++-common/cilk-plus/CK/pr60586.c: New file. + * g++.dg/cilk-plus/CK/pr60586.cc: Likewise. + +2015-09-02 Marek Polacek + + PR c/67432 + * gcc.dg/pr67432.c: New test. + +2015-09-02 Christophe Lyon + + * lib/target-supports.exp (clear_effective_target_cache): New. + (check_cached_effective_target): Update et_prop_list. + * lib/asan-dg.exp (asan_finish): Call clear_effective_target_cache. + * g++.dg/compat/compat.exp: Likewise. + * g++.dg/compat/struct-layout-1.exp: Likewise. + * lib/asan-dg.exp: Likewise. + * lib/atomic-dg.exp: Likewise. + * lib/cilk-plus-dg.exp: Likewise. + * lib/clearcap.exp: Likewise. + * lib/mpx-dg.exp: Likewise. + * lib/tsan-dg.exp: Likewise. + * lib/ubsan-dg.exp: Likewise. + +2015-09-01 Kenneth Zadeck + + * gcc.c-torture/execute/ieee/20000320-1.c Fixed misplaced test case. + +2015-09-01 Matthew Fortune + Andrew Bennett + + * gcc.target/mips/mips.exp (mips-dg-options): Handle the + dependencies between ISA level and compact-branches. + * gcc.target/mips/branch-10.c: Update expected output to allow + compact forms of b/bal. + * gcc.target/mips/branch-11.c: Likewise. + * gcc.target/mips/branch-12.c: Likewise. + * gcc.target/mips/branch-13.c: Likewise. + * gcc.target/mips/branch-3.c: Likewise. + * gcc.target/mips/branch-4.c: Likewise. + * gcc.target/mips/branch-5.c: Likewise. + * gcc.target/mips/branch-6.c: Likewise. + * gcc.target/mips/branch-7.c: Likewise. + * gcc.target/mips/branch-8.c: Likewise. + * gcc.target/mips/branch-9.c: Likewise. + * gcc.target/mips/branch-cost-1.c: Likewise. + * gcc.target/mips/call-1.c: Likewise. + * gcc.target/mips/call-2.c: Likewise. + * gcc.target/mips/call-3.c: Likewise. + * gcc.target/mips/call-4.c: Likewise. + * gcc.target/mips/call-5.c: Likewise. + * gcc.target/mips/call-6.c: Likewise. + * gcc.target/mips/lazy-binding-1.c: Likewise. + * gcc.target/mips/near-far-1.c: Likewise. + * gcc.target/mips/near-far-2.c: Likewise. + * gcc.target/mips/near-far-3.c: Likewise. + * gcc.target/mips/near-far-4.c: Likewise. + * gcc.target/mips/umips-branch-3.c: Ensure the test is + run with compact branches allowed. + * gcc.target/mips/compact-branches-1.c: New file. + * gcc.target/mips/compact-branches-2.c: Likewise. + * gcc.target/mips/compact-branches-3.c: Likewise. + * gcc.target/mips/compact-branches-4.c: Likewise. + * gcc.target/mips/compact-branches-5.c: Likewise. + * gcc.target/mips/compact-branches-6.c: Likewise. + * gcc.target/mips/compact-branches-7.c: Likewise. + +2015-09-01 Steven G. Kargl + + * gfortran.dg/read_dir.f90: XFAIL this testcase on FreeBSD. + Clean-up a created directory if testcase fails. + +2015-09-01 Ilya Enkovich + + PR target/67405 + * g++.dg/pr67405.C: New test. + +2015-09-01 Rainer Orth + + * gcc.dg/vect/no-scevccp-outer-11.c: Don't xfail scan-tree-dump-times. + +2015-09-01 Kyrylo Tkachov + + * gcc.dg/ifcvt-1.c: New test. + * gcc.dg/ifcvt-2.c: Likewise. + * gcc.dg/ifcvt-3.c: Likewise. + +2015-09-01 Rainer Orth + + PR libfortran/67412 + * gfortran.dg/execute_command_line_2.f90: XFAIL execution on + *-*-solaris2.10. + +2015-09-01 Kyrylo Tkachov + + * gcc.target/aarch64/target_attr_crypto_ice_2.c: New test. + +2015-09-01 Paolo Carlini + + PR c++/61753 + * g++.dg/other/pr61753.C: New. + +2015-08-31 Marc Glisse + + * gcc.dg/tree-ssa/cmp-1.c: New file. + +2015-08-31 Marc Glisse + + * gcc.dg/tree-ssa/complex-7.c: New file. + +2015-08-30 Bill Schmidt + + * gcc.target/powerpc/swaps-p8-19.c: New test. + +2015-08-29 Jerry DeLisle + + PR fortran/67367 + * gfortran.dg/read_dir.f90: New test. May fail on some platforms. + +2015-08-29 Tom de Vries + + PR tree-optimization/46193 + * gcc.dg/autopar/pr46193.c: New test. + +2015-08-28 Nathan Sidwell + + * gcc.dg/compat/struct-layout-1_generate.c: Simply + use exit code for failure. + + * gcc.dg/torture/matrix-1.c: Use plain printf. + * gcc.dg/torture/matrix-2.c: Likewise. + * gcc.dg/torture/matrix-5.c: Likewise. + * gcc.dg/torture/matrix-6.c: Likewise. + * gcc.dg/torture/transpose-1.c: Likewise. + * gcc.dg/torture/transpose-2.c: Likewise. + * gcc.dg/torture/transpose-3.c: Likewise. + * gcc.dg/torture/transpose-4.c: Likewise. + * gcc.dg/torture/transpose-5.c: Likewise. + * gcc.dg/torture/transpose-6.c: Likewise. + +2015-08-28 Jeff Law + + PR lto/66752 + * gcc.dg/tree-ssa/pr66752-2.c: New test. + * gcc.dg/torture/pr66752-1.c: New test + * g++.dg/torture/pr66752-2.C: New test. + +2015-08-28 Alan Lawrence + Revert: + 2015-08-27 Alan Lawrence + + * gcc.dg/tree-ssa/sra-15.c: New. + +2015-08-28 Andrew Bennett + + * gcc.target/mips/madd-8.c: Add lo register to clobber list. + * gcc.target/mips/msub-8.c: Ditto + +2015-08-27 Bill Schmidt + + * lib/target-supports.exp (check-effective_target_vect_double): + Enable for Power targets with VSX hardware available. + * gfortran.dg/vect/O3-pr49957.f: Replace vect_no_align with + vect_no_align && { ! vect_hw_misalign }. + +2015-08-27 Sebastian Pop + + * gcc.dg/graphite/graphite.exp (interchange_files, block_files): + Replaced by opt_files, compile with -floop-nest-optimize. + * g++.dg/graphite/graphite.exp: Same. + * gfortran.dg/graphite/graphite.exp: Same. + * gcc.dg/graphite/block-0.c: Adjust pattern. + * gcc.dg/graphite/block-1.c: Same. + * gcc.dg/graphite/block-3.c: Same. + * gcc.dg/graphite/block-4.c: Same. + * gcc.dg/graphite/block-5.c: Same. + * gcc.dg/graphite/block-6.c: Same. + * gcc.dg/graphite/block-7.c: Same. + * gcc.dg/graphite/block-8.c: Same. + * gcc.dg/graphite/block-pr47654.c: Same. + * gcc.dg/graphite/interchange-0.c: Same. + * gcc.dg/graphite/interchange-1.c: Same. + * gcc.dg/graphite/interchange-10.c: Same. + * gcc.dg/graphite/interchange-11.c: Same. + * gcc.dg/graphite/interchange-12.c: Same. + * gcc.dg/graphite/interchange-13.c: Same. + * gcc.dg/graphite/interchange-14.c: Same. + * gcc.dg/graphite/interchange-15.c: Same. + * gcc.dg/graphite/interchange-3.c: Same. + * gcc.dg/graphite/interchange-4.c: Same. + * gcc.dg/graphite/interchange-5.c: Same. + * gcc.dg/graphite/interchange-6.c: Same. + * gcc.dg/graphite/interchange-7.c: Same. + * gcc.dg/graphite/interchange-8.c: Same. + * gcc.dg/graphite/interchange-9.c: Same. + * gcc.dg/graphite/interchange-mvt.c: Same. + * gcc.dg/graphite/pr37485.c: Same. + * gcc.dg/graphite/uns-block-1.c: Same. + * gcc.dg/graphite/uns-interchange-12.c: Same. + * gcc.dg/graphite/uns-interchange-14.c: Same. + * gcc.dg/graphite/uns-interchange-15.c: Same. + * gcc.dg/graphite/uns-interchange-9.c: Same. + * gcc.dg/graphite/uns-interchange-mvt.c: Same. + * gfortran.dg/graphite/interchange-3.f90: Same. + +2015-08-27 Uros Bizjak + + PR target/67317 + * gcc.target/i386/pr67317-1.c: New test. + * gcc.target/i386/pr67317-2.c: Ditto. + * gcc.target/i386/pr67317-3.c: Ditto. + * gcc.target/i386/pr67317-4.c: Ditto. + * gcc.target/i386/adx-addcarryx32-1.c: Also scan for adcl. + * gcc.target/i386/adx-addcarryx32-2.c: Also scan for adcq. + +2015-08-27 Pat Haugen + + * gcc.target/powerpc/vec-shr.c: New. + +2015-08-27 Marek Polacek + + PR middle-end/67005 + * gcc.dg/torture/pr67005.c: New test. + +2015-08-27 Alan Lawrence + + * gcc.dg/tree-ssa/sra-15.c: New. + +2015-08-27 Andre Vieira + + * gcc.target/aarch64/long_branch_1.c: New test. + +2015-08-27 Dominik Vogt + + * gcc.target/s390/20150826-1.c: New test. + +2015-08-26 Renlin Li + + * gcc.target/aarch64/combine_bfi_1.c: New testcase. + +2015-08-26 Jiong Wang + + * gcc.target/aarch64/tlsie_tiny_1.c: New testcase. + +2015-08-26 Jiong Wang + + * gcc.target/aarch64/tlsle_1.x: Rename to tls_1.x + * gcc.target/aarch64/aarch64/tlsle12_1.c: Update source file name. + * gcc.target/aarch64/aarch64/tlsle24_1.c: Likewise. + * gcc.target/aarch64/aarch64/tlsle32_1.c: Likewise. + +2015-08-26 Jiong Wang + + * lib/target-supports.exp (check_effective_target_aarch64_tlsle32): + New test directive. + * gcc.target/aarch64/tlsle_1.x: New test source. + * gcc.target/aarch64/tlsle12_1.c: New testcase. + * gcc.target/aarch64/tlsle24_1.c: Likewise. + * gcc.target/aarch64/tlsle32_1.c: Likewise. + +2015-08-26 Francois-Xavier Coudert + + PR fortran/29600 + * gfortran.dg/shape_8.f90: New test. + +2015-08-25 Marek Polacek + + PR middle-end/67330 + * gcc.dg/weak/weak-18.c: New test. + +2015-08-25 David Malcolm + + * jit.dg/test-error-pr63969-missing-driver.c: Add call to + gcc_jit_context_set_bool_use_external_driver. + +2015-08-25 Nathan Sidwell + + * gcc.c-torture/execute/builtins/20010124-1.x: New. + + * gcc.dg/20001117-1.c: Needs return_address. + * gcc.dg/20020415-1.c: Needs alloca. + * gcc.dg/graphite/id-pr44676.c: Needs profiling. + * gcc.dg/graphite/pr60979.c: Needs nonlocal_goto + * gcc.dg/pr63186.c: Needs label_values. + * gcc.dg/torture/pr33848.c: Likwise. + + * lib/target-supports.exp (check_effective_target_fopenacc, + check_effective_target_fopenmp): Disable for nvptx. + * gcc.dg/graphite/run-id-pr47653.c: Disable for nvptx. + * gcc.dg/stack-usage-1.c: Likewise. + * gcc.dg/stack-usage-2.c: Likewise. + * gcc.dg/unused-5.c: Likewise. + * gcc.dg/unwind-1.c: Likewise. + +2015-08-25 Christian Bruel + + * gcc.dg/Wno-frame-address.c: Skip for ARM. + * g++.dg/Wno-frame-address.C: Ditto. + +2015-08-24 Michael Meissner + + PR target/67211 + * g++.dg/pr67211.C: New test. + +2015-08-24 Louis Krupp + + PR fortran/62536 + PR fortran/66175 + * gfortran.dg/block_end_error_1.f90: New test. + * gfortran.dg/blocks_nested_incomplete_1.f90: New test. + +2015-08-24 H.J. Lu + + PR target/66821 + * gcc.target/i386/pr66821.c: New test. + +2015-08-24 H.J. Lu + + PR target/67329 + * gcc.target/i386/pr67329.c: New test. + +2015-08-24 Nathan Sidwell + + * gcc.dg/pr49551.c: Needs -fdata-sections. + + * gcc.dg/pr64935-2.c: Needs scheduling. + + * gcc.dg/torture/pr66101.c: Needs nonlocal goto. + * gcc.dg/torture/pr63738.c: Likewise. + * gcc.dg/torture/pr64728.c: Likewise. + * gcc.dg/pr63748.c: Likewise. + * gcc.dg/20020312-2.c: Likewise. + + * gcc.dg/torture/pr66123.c: Needs label_values. + + * gcc.dg/torture/pr41261.c: Needs profiling. + * gcc.dg/pr26570.c: Likewise. + * gcc.dg/pr61776.c: Likewise. + * gcc.dg/tree-ssa/ssa-lim-11.c: Likewise. + * gcc.dg/gomp/pr34610.c: Likewise. + * gcc.dg/pr54121.c: Likewise. + * gcc.dg/20050325-1.c: Likewise. + * gcc.dg/pr66899.c: Likewise. + * gcc.dg/pr48770.c: Likewise. + * gcc.dg/pr24225.c: Likewise. + + * gcc.dg/pr27531-1.c: Needs io. + * gcc.dg/pr44606.c: Likewise. + + * gcc.dg/tree-ssa/nonzero-1.c: Needs weak. + + * gcc.dg/pr51990.c: Needs alloca. + + * gcc.misc-tests/options.exp: Disable profiling check for nvptx. + +2015-08-24 Tom de Vries + + PR tree-optimization/65468 + * gcc.dg/gomp/static-chunk-size-one.c: New test. + +2015-08-23 Francois-Xavier Coudert + + PR libfortran/54572 + * gfortran.dg/backtrace_1.f90: New test. + +2015-08-23 Francois-Xavier Coudert + + PR libfortran/62296 + * gfortran.dg/execute_command_line_2.f90: New test. + +2015-08-23 Tom de Vries + + * gcc.dg/vect/trapv-vect-reduc-4.c: Use vect_no_int_min_max. + * gcc.dg/vect/costmodel/i386/costmodel-vect-reduc-1char.c: Rename + vect_no_int_max to vect_no_int_min_max. + * gcc.dg/vect/costmodel/ppc/costmodel-vect-reduc-1char.c: Same. + * gcc.dg/vect/costmodel/x86_64/costmodel-vect-reduc-1char.c: Same. + * gcc.dg/vect/no-scevccp-noreassoc-slp-reduc-7.c: Same. + * gcc.dg/vect/slp-reduc-4.c: Same. + * gcc.dg/vect/slp-reduc-5.c: Same. + * gcc.dg/vect/vect-125.c: Same. + * gcc.dg/vect/vect-13.c: Same. + * gcc.dg/vect/vect-double-reduc-3.c: Same. + * gcc.dg/vect/vect-reduc-1.c: Same. + * gcc.dg/vect/vect-reduc-1char-big-array.c: Same. + * gcc.dg/vect/vect-reduc-1char.c:Same. + * gcc.dg/vect/vect-reduc-1short.c: Same. + * gcc.dg/vect/vect-reduc-2.c: Same. + * gcc.dg/vect/wrapv-vect-reduc-2char.c: Same. + * gcc.dg/vect/wrapv-vect-reduc-2short.c: Same. + * lib/target-supports.exp: Same. + +2015-08-22 Paolo Carlini + + PR c++/63693 + * g++.dg/cpp0x/decltype63.C: New. + +2015-08-22 Nathan Sidwell + + * c-c++-common/Wsizeof-pointer-memaccess1.c: Require alloca. + * c-c++-common/Wsizeof-pointer-memaccess2.c: Likewise. + * c-c++-common/Wunused-var-8.c: Likewise. + * c-c++-common/gomp/pr61486-2.c: Likewise. + * c-c++-common/Wunused-var-6.c: Likewise. + * c-c++-common/goacc/reduction-1.c: Likewise. + * c-c++-common/goacc/reduction-2.c: Likewise. + * c-c++-common/goacc/reduction-3.c: Likewise. + * c-c++-common/goacc/reduction-4.c: Likewise. + * gcc.dg/builtins-64.c: Likewise. + * gcc.dg/pr59523.c: Likewise. + * gcc.dg/tree-ssa/20080530.c: Likewise. + * gcc.dg/tree-ssa/pr23848-2.c: Likewise. + * gcc.dg/tree-ssa/pr23848-4.c: Likewise. + * gcc.dg/tree-ssa/pr23848-1.c: Likewise. + * gcc.dg/tree-ssa/pr23848-3.c: Likewise. + * gcc.dg/tree-ssa/20030807-2.c: Likewise. + * gcc.dg/pr59011.c: Likewise. + * gcc.dg/uninit-9.c: Likewise. + * gcc.dg/pr61561.c: Likewise. + * gcc.dg/vla-4.c: Likewise. + * gcc.dg/20101010-1.c: Likewise. + * gcc.dg/pr49120.c: Likewise. + * gcc.dg/20030331-2.c: Likewise. + * gcc.dg/compat/struct-by-value-22_main.c: Likewise. + * gcc.dg/pr25682.c: Likewise. + * gcc.dg/guality/guality.c: Likewise. + * gcc.dg/pr27301.c: Likewise. + * gcc.dg/uninit-9-O0.c: Likewise. + * gcc.dg/fold-alloca-1.c: Likewise. + * gcc.dg/pr41470.c: Likewise. + * gcc.dg/pr51491-2.c: Likewise. + * gcc.dg/winline-7.c: Likewise. + * gcc.dg/vla-2.c: Likewise. + * gcc.dg/pr50764.c: Likewise. + * gcc.dg/c99-vla-1.c: Likewise. + * gcc.dg/pr33238.c: Likewise. + * gcc.dg/c99-const-expr-13.c: Likewise. + * gcc.dg/builtin-return-1.c: Likewise. + * gcc.dg/vla-3.c: Likewise. + * gcc.dg/20020415-1.c: Likewise. + * gcc.dg/Wsizeof-pointer-memaccess1.c: Likewise. + * gcc.dg/shrink-wrap-alloca.c: Likewise. + * gcc.dg/Wstrict-aliasing-bogus-vla-1.c: Likewise. + * gcc.dg/torture/calleesave-sse.c: Likewise. + * gcc.dg/torture/Wsizeof-pointer-memaccess1.c: Likewise. + * gcc.dg/gomp/vla-2.c: Likewise. + * gcc.dg/gomp/vla-3.c: Likewise. + * gcc.dg/gomp/vla-4.c: Likewise. + * gcc.dg/gomp/pr30494.c: Likewise. + * gcc.dg/gomp/vla-5.c: Likewise. + * gcc.dg/pr51990-2.c: Likewise. + * gcc.dg/vla-22.c: Likewise. + +2015-08-22 Manuel López-Ibáñez + + * gcc.dg/cpp/multiline-2.c: Add column numbers. + * gcc.dg/dollar.c: Likewise. + * gcc.dg/pragma-message.c: Likewise. + * g++.dg/cpp1y/digit-sep-neg.C: Likewise. + * c-c++-common/raw-string-14.c: Likewise. + +2015-08-21 Patrick Palka + + * g++.old-deja/g++.jason/overload.C: Adjust to preserve original + property that instantiation here is a compile-time error. + +2015-08-21 Paolo Carlini + + * g++.dg/other/pr67065.C: Extend. + +2015-08-21 Nathan Sidwell + + * lib/target-supports.exp (check_effective_target_freestanding): nvptx + is freestanding. + (check_effective_target_global_constructor): New. + * lib/gcc.exp (gcc_target_compile): Set SIGNAL_SUPPRESS if needed. + * gcc.dg/debug/debug.exp: Skip for nvptx. + * gcc.dg/debug/dwarf2/dwarf2.exp: Likewise. + + * gcc.c-torture/execute/981019-1.c: Ptx assembler bug. + * gcc.c-torture/compile/limits-externdecl.c: Likewise. + * gcc.c-torture/compile/pr33855.c: Likewise. + * gcc.c-torture/compile/920723-1.c: Likewise. + * gcc.c-torture/compile/pr35468.c: Ptx assembler objects to + writing a const. + * gcc.c-torture/compile/mangle-1.c: Ptx assembler objects to . in + label. + * gcc.c-torture/compile/callind.c: Ptx assembler objects to label + 'call'. + + * gcc.c-torture/execute/ieee/mul-subnormal-single-1.c: Make main + prototype normal. + * gcc.c-torture/execute/switch-1.c: Likewise. + + * gcc.c-torture/execute/pr34456.c: Require not freestanding + * gcc.c-torture/execute/printf-1.c: Likewise. + * gcc.c-torture/execute/printf-chk-1.c: Likewise. + * gcc.c-torture/execute/fprintf-1.c: Likewise. + * gcc.c-torture/execute/fprintf-chk-1.c: Likewise. + * gcc.c-torture/execute/vprintf-1.c: Likewise. + * gcc.c-torture/execute/vprintf-chk-1.c: Likewise. + * gcc.c-torture/execute/vfprintf-1.c: Likewise. + * gcc.c-torture/execute/vfprintf-chk-1.c: Likewise. + * gcc.c-torture/execute/builtins/fputs.x: Likewise. + * gcc.c-torture/execute/gofast.c: Likewise. + * gcc.c-torture/execute/complex-6.c: Likewise. + + * gcc.c-torture/execute/builtins/memcpy-chk.x: Require nonlocal goto. + * gcc.c-torture/execute/builtins/memmove-chk.x: Likewise. + * gcc.c-torture/execute/builtins/mempcpy-chk.x: Likewise. + * gcc.c-torture/execute/builtins/memset-chk.x: Likewise. + * gcc.c-torture/execute/builtins/snprintf-chk.x: Likewise. + * gcc.c-torture/execute/builtins/sprintf-chk.x: Likewise. + * gcc.c-torture/execute/builtins/stpcpy-chk.x: Likewise. + * gcc.c-torture/execute/builtins/stpncpy-chk.x: Likewise. + * gcc.c-torture/execute/builtins/strcat-chk.x: Likewise. + * gcc.c-torture/execute/builtins/strcpy-chk.x: Likewise. + * gcc.c-torture/execute/builtins/strncat-chk.x: Likewise. + * gcc.c-torture/execute/builtins/strncpy-chk.x: Likewise. + * gcc.c-torture/execute/builtins/vsnprintf-chk.x: Likewise. + * gcc.c-torture/execute/builtins/vsprintf-chk.x: Likewise. + * gcc.c-torture/execute/builtins/pr23484-chk.x: Likewise. + * gcc.dg/setjmp-1.c: Likewise. + * gcc.dg/cleanup-5.c: Likewise. + * gcc.dg/cleanup-12.c: Likewise. + * gcc.dg/cleanup-13.c: Likewise. + + * gcc.dg/constructor-1.c: Require global ctor. + + * gcc.dg/fork-instrumentation.c: Require profiling. + * gcc.dg/20030107-1.c: Likewise. + * gcc.dg/20030702-1.c: Likewise. + + * gcc.dg/cpp/lexstrng.c: Avoid IO unless debugging. + * gcc.dg/cpp/paste2.c: Likewise. + * gcc.dg/cpp/strify3.c: Likewise. + * gcc.dg/cpp/strify4.c: Likewise. + * gcc.dg/cpp/lexnum.c: Likewise. + * gcc.dg/cpp/digraphs.c: Likewise. + * gcc.dg/cpp/macro1.c: Likewise. + +2015-08-21 Dominik Vogt + + * gcc.target/s390/zvector/vec-load_bndry-1.c: New test. + +2015-08-21 Dominik Vogt + + * lib/gcc-dg.exp: Add extra options for db-final to the command line + only once. + +2015-08-20 Bill Schmidt + + * gcc.target/powerpc/altivec-35.c (foo): Add tests for vec_madd. + * gcc.target/powerpc/p8vector-builtin-8.c (foo): Add tests for + vec_vpmsum_be and vec_shasigma_be. + +2015-08-20 Alan Lawrence + + * lib/target-supports.exp + (check_effective_target_arm_neon_fp16_ok_nocache): Add flag variants + with -mfp16-format=ieee. + +2015-08-20 Paolo Carlini + + PR c++/67065 + * g++.dg/other/pr67065.C: New. + +2015-08-20 Simon Dardis + + * gcc.target/mips/inline-memcpy-1.c: Test for inline expansion of + memcpy. + * gcc.target/mips/inline-memcpy-2.c: Ditto. + * gcc.target/mips/inline-memcpy-3.c: Ditto. + * gcc.target/mips/inline-memcpy-4.c: Ditto. + * gcc.target/mips/inline-memcpy-5.c: Ditto. + +2015-08-19 Jiong Wang + + * gcc.dg/wide_shift_64_1.c: New testcase. + * gcc.dg/wide_shift_128_1.c: Likewise. + * gcc.target/aarch64/ashlti3_1.c: Likewise. + +2015-08-19 Magnus Granberg + + * lib/target-supports.exp + (check_effective_target_fstack_protector_enabled): New test. + * gcc.target/i386/ssp-default.c: New test. + +2015-08-19 Mikael Morin + + PR fortran/66929 + * gfortran.dg/generic_31.f90: New. + +2015-08-19 Marek Polacek + + PR middle-end/67133 + * g++.dg/torture/pr67133.C: New test. + +2015-08-18 Bill Schmidt + + * gcc.target/powerpc/altivec-35.c: New test. + * gcc.target/powerpc/p8vector-builtin-8.c: New test. + * gcc.target/powerpc/vsx-vector-7.c: New test. + +2015-08-18 Francois-Xavier Coudert + + PR middle-end/36757 + * gcc.dg/builtins-error.c: Add checks for __builtin_signbit. + * gcc.dg/tg-tests.h: Add checks for __builtin_signbit. + +2015-08-18 Richard Sandiford + + PR rtl-optimization/67218 + * gcc.c-torture/execute/ieee/pr67218.c, + gcc.target/aarch64/fcvt_int_float_double1.c, + gcc.target/aarch64/fcvt_int_float_double2.c, + gcc.target/aarch64/fcvt_int_float_double3.c, + gcc.target/aarch64/fcvt_int_float_double4.c, + gcc.target/aarch64/fcvt_uint_float_double1.c, + gcc.target/aarch64/fcvt_uint_float_double2.c, + gcc.target/aarch64/fcvt_uint_float_double3.c, + gcc.target/aarch64/fcvt_uint_float_double4.c: New tests. + +2015-08-18 Matthew Wahab + + * gcc.target/aarch64/atomic-comp-swap-release-acquire.c: Adjust + dg-options to disable LSE extensions. + * gcc.target/aarch64/atomic-op-acq_rel.c: Likewise. + * gcc.target/aarch64/atomic-op-acquire.c: Likewise. + * gcc.target/aarch64/atomic-op-char.c: Likewise. + * gcc.target/aarch64/atomic-op-consume.c: Likewise. + * gcc.target/aarch64/atomic-op-imm.c: Likewise. + * gcc.target/aarch64/atomic-op-int.c: Likewise. + * gcc.target/aarch64/atomic-op-long.c: Likewise. + * gcc.target/aarch64/atomic-op-relaxed.c: Likewise. + * gcc.target/aarch64/atomic-op-seq_cst.c: Likewise. + * gcc.target/aarch64/atomic-op-release.c: Likewise. + * gcc.target/aarch64/atomic-op-short.c: Likewise. + * gcc.target/aarch64/sync-comp-swap.c: Likewise. + * gcc.target/aarch64/sync-op-acquire.c: Likewise. + * gcc.target/aarch64/sync-op-full.c: Likewise. + * gcc.target/aarch64/sync-op-release.c: Likewise. + +2015-08-18 Paolo Carlini + + PR c++/67160 + * g++.dg/cpp1z/feat-cxx1z.C: New. + +2015-08-18 Marek Polacek + + PR middle-end/67222 + * gcc.dg/torture/pr67222.c: New test. + +2015-08-18 Robert Suchanek + + * gcc.target/mips/interrupt_handler-bug-1.c: New test. + +2015-08-18 Bin Cheng + + * gcc.dg/tree-ssa/loop-bound-1.c: New test. + * gcc.dg/tree-ssa/loop-bound-3.c: New test. + * gcc.dg/tree-ssa/loop-bound-5.c: New test. + +2015-08-17 Matthew Fortune + + * gcc.target/mips/mips.exp (mips-dg-options): Redefine isa + which is used in later code. + +2015-08-17 Paolo Carlini + + PR c++/67216 + * g++.dg/cpp0x/nullptr34.C: New. + * g++.dg/warn/Wconversion2.C: Adjust. + * g++.dg/warn/Wnull-conversion-1.C: Likewise. + * g++.old-deja/g++.other/null3.C: Likewise. + + * g++.dg/cpp0x/pr51313.C: Adjust. + +2015-08-17 Richard Biener + + PR tree-optimization/67221 + * gcc.dg/torture/pr67221.c: New testcase. + +2015-08-17 Mike Stump + Kyrylo Tkachov + + * gcc.target/arm/memcpy-aligned-1.c: New test. + +2015-08-16 Francois-Xavier Coudert + + PR fortran/54656 + * gfortran.dg/norm_4.f90: Rename to... + * gfortran.dg/norm2_4.f90: this. + * gfortran.dg/norm2_5.f90: New test. + +2015-08-14 Alexandre Oliva + + * gcc.dg/guality/pr54200.c: Add -fno-tree-coalesce-vars. + * gcc.dg/ssp-1.c: Make counter a register. + * gcc.dg/ssp-2.c: Likewise. + * gcc.dg/torture/parm-coalesce.c: New. + +2015-08-14 Marek Polacek + + PR middle-end/67133 + * gcc.dg/torture/pr67133.c: New test. + +2015-08-14 Matthew Wahab + Matthias Klose + + PR target/67143 + * gcc.c-torture/compile/pr67143.c: New + * gcc.target/aarch64/atomic-op-imm.c + (atomic_fetch_add_negative_RELAXED): New. + (atomic_fetch_sub_negative_ACQUIRE): New. + +2015-08-14 Kyrylo Tkachov + + * gcc.target/aarch64/target_attr_5.c: Add static modifier to bar. + * gcc.target/aarch64/target_attr_8.c: Likewise. + * gcc.target/aarch64/target_attr_14.c: Likewise. + +2015-08-14 Kyrylo Tkachov + + * gcc.target/aarch64/target_attr_1.c: Make test compile-only. + +2015-08-14 Yuri Rumyantsev + + * gcc.target/i386/builtin_target.c: Add skylake check. + +2015-08-13 Jeff Law + + * gcc.dg/pr66314.c: Moved from here to .. + * gcc.dg/asan/pr66314.c: Here. Use -fno-sanitize=all + to clear all sanitizers before -fsanitize=kernel-address. + +2015-08-13 Kyrylo Tkachov + + * gcc.target/aarch64/cinc_common_1.c: New test. + +2015-08-13 Paolo Carlini + + PR c++/53421 + * g++.dg/ext/attribute-may-alias-1.C: New. + * g++.dg/ext/attribute-may-alias-2.C: Likewise. + +2015-08-13 Matthew Wahab + + * gcc.target/aarch64/atomic-inst-cas.c: New. + * gcc.target/aarch64/atomic-inst-ops.inc: New. + +2015-08-13 Andreas Schwab + + * gcc.dg/tree-ssa/vrp33.c: Add -fno-tree-fre. + +2015-08-13 Paolo Carlini + + PR c++/62164 + * g++.dg/torture/pr62164.C: New. + +2015-08-13 Richard Biener + + PR tree-optimization/67191 + * gcc.dg/torture/pr67191.c: New testcase. + * g++.dg/torture/pr67191.C: Likewise. + +2015-08-13 Richard Biener + + PR tree-optimization/66502 + PR tree-optimization/67167 + * gcc.dg/tree-ssa/ssa-fre-46.c: New testcase. + +2015-08-12 Paolo Carlini + + PR c++/53330 + * g++.dg/init/new42.C: New. + +2015-08-12 Michael Meissner + + PR target/67071 + * gcc.target/powerpc/pr67071-1.c: New file to test PR 67071 new + vector constants. + * gcc.target/powerpc/pr67071-2.c: Likewise. + * gcc.target/powerpc/pr67071-3.c: Likewise. + +2015-08-12 Marek Polacek + + PR c++/55095 + * c-c++-common/Wshift-overflow-6.c: New test. + * c-c++-common/Wshift-overflow-7.c: New test. + * g++.dg/cpp1y/left-shift-2.C: New test. + +2015-08-12 Paolo Carlini + + PR c++/52742 + * g++.dg/cpp0x/pr52742.C: New. + +2015-08-12 H.J. Lu + + * gcc.target/i386/builtin_target.c (check_intel_cpu_model): + Check Knights Landing support. + +2015-08-12 Paolo Carlini + + PR c++/47461 + * g++.dg/warn/Wunused-result-1.C: New. + +2015-08-12 Richard Biener + + * gcc.dg/tree-ssa/ssa-fre-47.c: New testcase. + * gcc.dg/tree-ssa/ssa-fre-48.c: Likewise. + * gcc.dg/tree-ssa/ssa-fre-49.c: Likewise. + * g++.dg/tree-ssa/pr61034.C: Adjust. + * gcc.dg/fold-compare-2.c: Likewise. + * gcc.dg/pr50763.c: Likewise. + * gcc.dg/predict-3.c: Likewise. + * gcc.dg/tree-ssa/20030709-2.c: Likewise. + * gcc.dg/tree-ssa/pr19831-3.c: Likewise. + * gcc.dg/tree-ssa/pr20657.c: Likewise. + * gcc.dg/tree-ssa/pr21001.c: Likewise. + * gcc.dg/tree-ssa/pr37508.c: Likewise. + * gcc.dg/tree-ssa/vrp04.c: Likewise. + * gcc.dg/tree-ssa/vrp07.c: Likewise. + * gcc.dg/tree-ssa/vrp09.c: Likewise. + * gcc.dg/tree-ssa/vrp16.c: Likewise. + * gcc.dg/tree-ssa/vrp20.c: Likewise. + * gcc.dg/tree-ssa/vrp25.c: Likewise. + * gcc.dg/tree-ssa/vrp87.c: Likewise. + +2015-08-12 Nathan Sidwell + + * gcc.dg/vrp-min-max-1.c: New. + * gcc.dg/vrp-min-max-2.c: New. + +2015-08-12 Richard Biener + + * gcc.dg/tree-ssa/ssa-fre-43.c: Adjust. + +2015-08-12 Tom de Vries + + PR testsuite/67175 + * gcc.dg/vect/trapv-vect-reduc-4.c: Add reduction detection scan. + Handle absence of vector min/max for sparc. + +2015-08-11 Uros Bizjak + + PR target/66954 + * g++.dg/ext/mv25.C: New test. + +2015-08-11 Yuri Rumyantsev + + * gcc.target/i386/avx2-vect-shift.c: New test. + +2015-08-11 Manuel López-Ibáñez + + PR c/66098 + PR c/66711 + * gcc.dg/pragma-diag-3.c: New test. + * gcc.dg/pragma-diag-4.c: New test. + +2015-08-11 Nathan Sidwell + + * c-c++-common/dfp/operator-comma.c: Call init function. + * c-c++-common/dfp/convert-dfp-2.c: New test. + +2015-08-10 H.J. Lu + + * gcc.target/i386/builtin_target.c (check_intel_cpu_model): + Treat model == 0x4f as Broadwell. + +2015-08-10 Francois-Xavier Coudert + + PR libfortran/67140 + * gfortran.dg/pr67140.f90: New test. + +2015-08-10 Thomas Schwinge + + PR libgomp/65742 + PR middle-end/66332 + * c-c++-common/goacc/acc_on_device-2.c: Remove XFAIL for C. + +2015-08-10 Uros Bizjak + + PR fortran/64022 + * gfortran.dg/ieee/large_4.f90: New test. + +2015-08-08 Bud Davis + + PR fortran/59746 + * gfortran.dg/common_22.f90: New. + +2015-08-08 Segher Boessenkool + + PR rtl-optimization/67028 + * gcc.dg/pr67028.c: New testcase. + +2015-08-07 H.J. Lu + + PR rtl-optimization/67029 + * gcc.dg/pr67029.c: New test. + +2015-08-07 Francois-Xavier Coudert + + PR fortran/64104 + * gfortran.dg/ieee/ieee_8.f90: New test. + +2015-08-07 Jiong Wang + + * gcc.target/aarch64/noplt_1.c: Check branch type instead of relocation + modifers. + * gcc.target/aarch64/noplt_2.c: Likewise. + * gcc.target/aarch64/noplt_3.c: Likewise. + +2015-08-06 David Malcolm + + * jit.dg/test-benchmark.c (main): Record all elapsed times at each + optimization level, and print a summary at the end. + +2015-08-06 Jiong Wang + + * gcc.target/aarch64/tlsdesc_hoist.c: New testcase. + +2015-08-06 Jiong Wang + + * gcc.target/aarch64/noplt_3.c: New testcase. + +2015-08-06 Jiong Wang + + * gcc.target/aarch64/noplt_1.c: New testcase. + * gcc.target/aarch64/noplt_2.c: Likewise. + +2015-08-06 Venkataramanan Kumar + + * gcc.dg/vect/vect-mult-pattern-1.c: New test. + * gcc.dg/vect/vect-mult-pattern-2.c: New test. + +2015-08-06 Andreas Krebbel + + * gcc.target/s390/dwarfregtable-1.c: New test. + * gcc.target/s390/dwarfregtable-2.c: New test. + * gcc.target/s390/dwarfregtable-3.c: New test. + +2015-08-06 Andreas Krebbel + + * gcc.target/s390/htm-builtins-z13-1.c: New test. + +2015-08-06 Francois-Xavier Coudert + + PR fortran/64022 + * gfortran.dg/ieee/large_2.f90: New test. + * gfortran.dg/ieee/large_3.F90: New test. + +2015-08-06 Francois-Xavier Coudert + + PR fortran/64022 + * gfortran.dg/ieee/large_1.f90: Adjust test. + +2015-08-05 Manuel López-Ibáñez + Jeff Law + + PR c/16351 + * gcc.dg/tree-ssa/isolate-2.c: Close comment. + * gcc.dg/tree-ssa/isolate-4.c: Likewise. + * gcc.dg/tree-ssa/wnull-dereference.c: New test. + * gcc.dg/tree-ssa/isolate-1.c: Test warnings with -Wnull-dereference. + * gcc.dg/tree-ssa/isolate-3.c: Likewise. + * gcc.dg/tree-ssa/isolate-5.c: Likewise. + +2015-08-05 Francois-Xavier Coudert + + PR middle-end/66311 + * gfortran.dg/pr66311.f90: New file. + +2015-08-05 Richard Biener + + PR tree-optimization/67121 + * gcc.dg/torture/pr67121.c: New testcase. + +2015-08-05 Nick Clifton + + * gcc.target/rl78: New directory. + * gcc.target/rl78/rl78.exp: New file: Test driver. + * gcc.target/rl78/test_addm3.c: New file: Test adds. + +2015-08-05 Richard Biener + + PR middle-end/67120 + * gcc.dg/torture/pr67120.c: New testcase. + +2015-08-05 Paul Thomas + + PR fortran/52846 + + * lib/fortran-modules.exp: Call cleanup-submodules from + cleanup-modules. + * gfortran.dg/public_private_module_2.f90: Add two XFAILS to + cover the cases where private entities are no longer optimized + away. + * gfortran.dg/public_private_module_6.f90: Add an XFAIL for the + same reason. + * gfortran.dg/submodule_1.f08: Change cleanup module names. + * gfortran.dg/submodule_5.f08: The same. + * gfortran.dg/submodule_9.f08: The same. + * gfortran.dg/submodule_10.f08: New test. + +2015-08-05 Paolo Carlini + + PR c++/66595 + * g++.dg/cpp1y/var-templ35.C: New. + +2015-08-05 Richard Biener + + PR tree-optimization/67055 + * g++.dg/torture/pr67055.C: New testcase. + +2015-08-05 Richard Biener + + PR tree-optimization/67109 + * gcc.dg/torture/pr67109.c: New testcase. + * gcc.dg/vect/vect-119.c: Adjust. + +2015-08-05 Richard Biener + + PR middle-end/67107 + * gcc.dg/pr67107.c: New testcase. + +2015-08-04 Paolo Carlini + + PR c++/66197 + * g++.dg/cpp1z/abbrev2.C: New. + +2015-08-04 Paolo Carlini + + * g++.dg/cpp1z/static_assert-nomsg.C: Fix DejaGnu directive. + +2015-08-04 Paolo Carlini + + PR c++/66392 + * g++.dg/init/explicit4.C: New. + +2015-08-04 Bill Schmidt + + * gcc.target/powerpc/vec-cmp-sel.c: Avoid test failure on machines + without VSX an Power8 vector support. + +2015-08-04 Richard Biener + + * gcc.dg/tree-ssa/ssa-ccp-38.c: New testcase. + +2015-08-04 H.J. Lu + + PR target/67110 + * gcc.target/i386/iamcu/abi-iamcu.exp (additional_flags): Add + -fno-pie -no-pie. + +2015-08-04 Paolo Carlini + + PR c++/66427 + * g++.dg/cpp1y/var-templ34.C: New. + +2015-08-04 Kyrylo Tkachov + + * gcc.target/aarch64/pragma_cpp_predefs_1.c: New test. + * gcc.target/aarch64/target_attr_1.c: Likewise. + * gcc.target/aarch64/target_attr_2.c: Likewise. + * gcc.target/aarch64/target_attr_3.c: Likewise. + * gcc.target/aarch64/target_attr_4.c: Likewise. + * gcc.target/aarch64/target_attr_5.c: Likewise. + * gcc.target/aarch64/target_attr_6.c: Likewise. + * gcc.target/aarch64/target_attr_7.c: Likewise. + * gcc.target/aarch64/target_attr_8.c: Likewise. + * gcc.target/aarch64/target_attr_9.c: Likewise. + * gcc.target/aarch64/target_attr_10.c: Likewise. + * gcc.target/aarch64/target_attr_11.c: Likewise. + * gcc.target/aarch64/target_attr_12.c: Likewise. + * gcc.target/aarch64/target_attr_13.c: Likewise. + * gcc.target/aarch64/target_attr_14.c: Likewise. + * gcc.target/aarch64/target_attr_15.c: Likewise. + +2015-08-04 Kyrylo Tkachov + + * gcc.target/aarch64/target_attr_crypto_ice_1.c: New test. + +2015-08-04 Kyrylo Tkachov + + * gcc.target/aarch64/arm_neon-nosimd-error.c: Delete. + +2015-08-04 Kyrylo Tkachov + + * gcc.target/aarch64/cpu-diagnostics-3.c: Update expected error + message. + +2015-08-04 Francois-Xavier Coudert + + PR fortran/64022 + * gfortran.dg/ieee/ieee_7.f90: Adjust test. + * gfortran.dg/ieee/large_1.f90: New test. + +2015-08-04 Thomas Preud'homme + + PR tree-optimization/67043 + * gcc.dg/pr67043.c: New test. + +2015-08-03 Peter Bergner + + * gcc.target/powerpc/htm-tabort-no-r0.c: New test. + +2015-08-03 David Malcolm + + * jit.dg/test-benchmark.c (test_jit): Add param "timer" and use + it to push/pop timing items. + (main): For each optimization level, create a gcc_jit_timer, and + time all of the iteration within that level cumulatively. + * jit.dg/test-error-gcc_jit_timer_pop-mismatch.c: New test case. + * jit.dg/test-error-gcc_jit_timer_pop-too-many.c: New test case. + +2015-08-03 Alexander Basov + + PR middle-end/64744 + PR middle-end/48470 + PR middle-end/43404 + * gcc.target/arm/pr43404.c : New testcase. + * gcc.target/arm/pr48470.c : New testcase. + * gcc.target/arm/pr64744-1.c : New testcase. + * gcc.target/arm/pr64744-2.c : New testcase. + +2015-08-03 H.J. Lu + + PR tree-optimization/67077 + * gcc.dg/pr67077.c: New test. + +2015-08-03 Jeff Law + + PR middle-end/66314 + PR gcov-profile/66899 + * gcc.dg/pr66899.c: New test. + * gcc.dg/pr66314.c: New test. + +2015-08-03 Marek Polacek + + PR c/67088 + * gcc.dg/pr67088.c: New test. + +2015-08-03 Szabolcs Nagy + + PR target/66731 + * gcc.target/arm/vnmul-1.c: New. + * gcc.target/arm/vnmul-2.c: New. + * gcc.target/arm/vnmul-3.c: New. + * gcc.target/arm/vnmul-4.c: New. + +2015-08-03 Mikael Morin + + PR fortran/64921 + * gfortran.dg/class_allocate_20.f90: New. + +2015-08-03 Kyrylo Tkachov + + * gcc.target/aarch64/csel_bfx_1.c: New test. + * gcc.target/aarch64/csel_imms_inc_1.c: Likewise. + +2015-08-02 Martin Sebor + + * g++.dg/Wframe-address-in-Wall.C: New test. + * g++.dg/Wframe-address.C: New test. + * g++.dg/Wno-frame-address.C: New test. + * gcc.dg/Wframe-address-in-Wall.c: New test. + * gcc.dg/Wframe-address.c: New test. + * gcc.dg/Wno-frame-address.c: New test. + +2015-08-02 Patrick Palka + + * c-c++-common/Wmisleading-indentation.c: Add more tests. + +2015-08-01 Michael Collison + + * gcc.target/arm/mincmp.c: New test. + +2015-08-01 Paul Thomas + + PR fortran/67091 + * gfortran.dg/associated_target_6.f03: New test + +2015-08-01 Tom de Vries + + * gcc.dg/autopar/reduc-2char.c (init_arrays): Mark with attribute + optimize ("-ftree-parallelize-loops=0"). + Add successful scans for 2 detected reductions. Add xfail scans for 3 + detected reductions. + * gcc.dg/autopar/reduc-2short.c: Same. + * gcc.dg/autopar/reduc-8.c (init_arrays): Mark with attribute + optimize ("-ftree-parallelize-loops=0"). Add successful scans for 2 + detected reductions. + * gcc.dg/vect/trapv-vect-reduc-4.c: Update scan to match vectorized min + and max reductions. + +2015-07-31 Marek Polacek + + PR sanitizer/66977 + * g++.dg/ubsan/pr66977.C: New test. + +2015-07-30 Marek Polacek + + * c-c++-common/Wtautological-compare-3.c: New test. + +2015-07-29 Alan Lawrence + + * gcc.target/aarch64/vld1_lane.c (main): Remove unused test data. + (CHECK): Pass address of scalar, rather than array. + +2015-07-29 Alan Lawrence + + * gcc.target/aarch64/vld1-vst1_1.c: Add missing float32x4_t case. + +2015-07-29 Alan Lawrence + + * gcc.target/aarch64/fp16/fp16.exp: New. + * gcc.target/aarch64/fp16/f16_convs_1.c: New. + * gcc.target/aarch64/fp16/f16_convs_2.c: New. + +2015-07-29 Alan Lawrence + + * gcc.target/aarch64/f16_movs_1.c: New test. + +2015-07-28 Tom de Vries + + * gcc.dg/autopar/uns-outer-4.c: Remove xfail on scan for parallelizing + outer loop. + +2015-07-28 Luis Felipe Strano Moraes + Manuel López-Ibáñez + + * gcc.dg/parm-incomplete-1.c: Update. + * gcc.dg/pr18809-1.c: Update. + * gcc.dg/pr27953.c: Update. + * gcc.dg/vla-11.c: Update. + +2015-07-27 Marek Polacek + + * c-c++-common/Wtautological-compare-2.c: Remove unused line. + +2015-07-27 Tom de Vries + + * gcc.dg/autopar/outer-4.c (parloop): Remove superfluous noinline + attribute. Update comment. + (main): Remove. + Add scan for not parallelizing inner loop. + * gcc.dg/autopar/uns-outer-4.c (parloop): Remove superfluous noinline + attribute. + (main): Remove. + +2015-07-27 Marek Polacek + + PR bootstrap/67030 + * c-c++-common/Wtautological-compare-2.c: New test. + +2015-07-27 H.J. Lu + + PR target/66232 + * gcc.target/i386/pr66232-6.c: New tests. + * gcc.target/i386/pr66232-7.c: Likewise. + * gcc.target/i386/pr66232-8.c: Likewise. + * gcc.target/i386/pr66232-9.c: Likewise. + +2015-07-27 Marek Polacek + + PR c++/66555 + PR c/54979 + * c-c++-common/Wtautological-compare-1.c: New test. + +2015-07-26 Patrick Palka + + PR c++/18969 + * g++.dg/template/pr18969.C: New test. + * g++.dg/template/pr18969-2.C: New test. + * g++.old-deja/g++.jason/overload.C: Remove return value in + template function returning void. + +2015-07-26 Uros Bizjak + + * gcc.target/alpha/pr66140.c (lpfc_bg_setup_bpl): Use unsigned + immediates to avoid shift-overflow warnings. + +2015-07-25 Patrick Palka + + PR c++/66857 + * g++.dg/init/pr66857.C: New test. + +2015-07-25 Uros Bizjak + + PR target/66648 + * gcc.target/i386/pr66648.c: New test. + +2015-07-25 Tom de Vries + + * gcc.dg/graphite/graphite.exp: Include uns-*.c files in + interchange_files and block_files variables. + * gcc.dg/graphite/uns-block-1.c (main): Change signed into unsigned + arithmetic. + * gcc.dg/graphite/uns-interchange-12.c: Same. + * gcc.dg/graphite/uns-interchange-14.c: Same. + * gcc.dg/graphite/uns-interchange-15.c: Same. + * gcc.dg/graphite/uns-interchange-9.c (foo): Same. + * gcc.dg/graphite/uns-interchange-mvt.c: Same. + +2015-07-25 Jeff Law + + Revert: + PR lto/66752 + * gcc.dg/tree-ssa/pr66752-2.c: New test. + * gcc.dg/torture/pr66752-1.c: New test + * g++.dg/torture/pr66752-2.C: New test. + +2015-07-25 David Edelsohn + + Revert: + 2015-07-23 Alexandre Oliva + + PR rtl-optimization/64164 + * gcc.dg/guality/pr54200.c: Add -fno-tree-coalesce-vars. + * gcc.dg/ssp-1.c: Make counter a register. + * gcc.dg/ssp-2.c: Likewise. + * gcc.dg/torture/parm-coalesce.c: New. + +2015-07-24 Tom de Vries + + * gcc.dg/graphite/block-1.c: Xfail scan. + * gcc.dg/graphite/interchange-12.c: Same. + * gcc.dg/graphite/interchange-14.c: Same. + * gcc.dg/graphite/interchange-15.c: Same. + * gcc.dg/graphite/interchange-9.c: Same. + * gcc.dg/graphite/interchange-mvt.c: Same. + * gcc.dg/graphite/uns-block-1.c: New test. + * gcc.dg/graphite/uns-interchange-12.c: New test. + * gcc.dg/graphite/uns-interchange-14.c: New test. + * gcc.dg/graphite/uns-interchange-15.c: New test. + * gcc.dg/graphite/uns-interchange-9.c: New test. + * gcc.dg/graphite/uns-interchange-mvt.c: New test. + +2015-07-24 Manuel López-Ibáñez + + PR c++/64079 + * c-c++-common/Wunused-function-1.c: New. + +2015-07-24 Tom de Vries + + * gcc.dg/parloops-exit-first-loop-alt-2.c: Use debug print for + alternative exit-first loop transform. + * gcc.dg/parloops-exit-first-loop-alt-3.c: Same. + * gcc.dg/parloops-exit-first-loop-alt-4.c: Same. + * gcc.dg/parloops-exit-first-loop-alt-5.c: Same. + * gcc.dg/parloops-exit-first-loop-alt-6.c: Same. + * gcc.dg/parloops-exit-first-loop-alt-7.c: Same. + * gcc.dg/parloops-exit-first-loop-alt-pr66652.c: Same. + * gcc.dg/parloops-exit-first-loop-alt.c: Same. + * gfortran.dg/parloops-exit-first-loop-alt-2.f95: Same. + * gfortran.dg/parloops-exit-first-loop-alt.f95: Same. + +2015-07-24 Ilya Enkovich + + PR ipa/66566 + * gcc.target/i386/mpx/pr66566.c: New test. + +2015-07-24 H.J. Lu + + PR bootstrap/66978 + * gcc.target/i386/pr66978.c: New test. + +2015-07-24 Andreas Krebbel + + * gcc.target/s390/gpr2fprsavecfi.c: New test. + +2015-07-24 Andreas Krebbel + + * gcc.target/s390/insv-1.c: New test. + * gcc.target/s390/insv-2.c: New test. + * gcc.target/s390/insv-3.c: New test. + +2015-07-24 Tom de Vries + + * gcc.dg/autopar/uns-outer-4.c: Remove loopfn xfail. + +2015-07-24 Naveen H.S + + PR middle-end/25530 + * gcc.dg/pr25530.c: New test. + +2015-07-24 Naveen H.S + + PR middle-end/25529 + * gcc.dg/pr25529.c: New test. + +2015-07-23 Kugan Vivekanandarajah + + * gcc.target/arm/reg_equal_test.c: New test. + +2015-07-23 Jeff Law + + PR lto/66752 + * gcc.dg/tree-ssa/pr66752-2.c: New test. + * gcc.dg/torture/pr66752-1.c: New test + * g++.dg/torture/pr66752-2.C: New test. + +2015-07-23 Marek Polacek + + PR c++/66572 + * g++.dg/warn/Wlogical-op-2.C: New test. + +2015-07-23 Alexandre Oliva + + PR rtl-optimization/64164 + * gcc.dg/guality/pr54200.c: Add -fno-tree-coalesce-vars. + * gcc.dg/ssp-1.c: Make counter a register. + * gcc.dg/ssp-2.c: Likewise. + * gcc.dg/torture/parm-coalesce.c: New. + +2015-07-23 Marek Polacek + + PR sanitizer/66908 + * c-c++-common/ubsan/pr66908.c: New test. + +2015-07-23 Tom de Vries + + * gcc.dg/autopar/outer-4.c: Add xfail. + * gcc.dg/autopar/outer-5.c: Same. + * gcc.dg/autopar/outer-6.c: Same. + * gcc.dg/autopar/reduc-2.c: Same. + * gcc.dg/autopar/reduc-2char.c: Same. + * gcc.dg/autopar/reduc-2short.c: Same. + * gcc.dg/autopar/reduc-8.c: Same. + * gcc.dg/autopar/uns-outer-4.c: New test. + * gcc.dg/autopar/uns-outer-5.c: New test. + * gcc.dg/autopar/uns-outer-6.c: New test. + +2015-07-23 Richard Biener + + PR tree-optimization/66952 + * gcc.dg/torture/pr66952.c: Use signed char. + +2015-07-23 Yuri Rumyantsev + + PR tree-optimization/66926,66951 + * gcc.dg/vect/pr66951.c: New test. + +2015-07-23 Paolo Carlini + + PR c++/52987 + * g++.dg/parse/error57.C: New. + * g++.dg/expr/string-2.C: Update. + +2015-07-23 Richard Biener + + PR tree-optimization/66945 + * gcc.dg/torture/pr66945.c: New testcase. + +2015-07-22 Uros Bizjak + + PR target/66954 + * g++.dg/ext/mv24.C: New test. + +2015-07-22 Marek Polacek + + * gcc.dg/vmx/unpack.c: Use dg-additional-options rather than + dg-options. + +2015-07-22 Mikael Morin + + PR fortran/61831 + PR fortran/66929 + * gfortran.dg/generic_30.f90: New. + +2015-07-22 Richard Biener + + PR tree-optimization/66952 + * gcc.dg/torture/pr66952.c: New testcase. + +2015-07-22 Charles Baylis + + * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_p8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s16_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u16_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_p8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s16_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u16_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_p8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s16_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u16_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_p8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s16_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u16_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_p8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s16_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u16_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_p8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s16_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u16_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_p8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s16_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u16_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_p8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s16_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u16_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_p8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s16_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u16_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_p8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s16_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u16_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_p8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s16_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u16_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_p8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s16_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s8_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u16_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u32_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u64_indices_1.c: New + test. + * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u8_indices_1.c: New + test. + +2015-07-21 Paolo Carlini + + * g++.dg/template/crash81.C: Update. + +2015-07-21 Vladimir Makarov + + PR ipa/66424. + * gcc.target/i386/pr66424.c: New. + +2015-07-21 Alex Velenko + + * gcc.target/arm/thumb-bitfld1.c (foo): Add explicit return type. + +2015-07-21 Mikael Morin + + PR fortran/61831 + * gfortran.dg/derived_constructor_comps_6.f90: Fix dg directive. + Drop address sanitization. + +2015-07-21 Alex Velenko + + * gcc.target/arm/split-live-ranges-for-shrink-wrap.c (dg-skip-if): + Skip -march=armv4t. + (dg-additional-options): Set armv5t flag. + +2015-07-21 Marek Polacek + + * gcc.dg/vmx/unpack-be-order.c: Use -Wno-shift-overflow. + * gcc.dg/vmx/unpack.c: Likewise. + * gcc.target/powerpc/quad-atomic.c: Likewise. + +2015-07-20 Uros Bizjak + + * gcc.target/i386/asm-flag-5.c (f_ll): New. + +2015-07-20 Jiong Wang + + * gcc.target/aarch64/got_mem_hoist.c (dg-skip-if): Skip tiny and large + model. + +2015-07-20 Marek Polacek + + PR c++/55095 + * c-c++-common/Wshift-overflow-1.c: New test. + * c-c++-common/Wshift-overflow-2.c: New test. + * c-c++-common/Wshift-overflow-3.c: New test. + * c-c++-common/Wshift-overflow-4.c: New test. + * c-c++-common/Wshift-overflow-5.c: New test. + * g++.dg/cpp1y/left-shift-1.C: New test. + * gcc.dg/c90-left-shift-2.c: New test. + * gcc.dg/c90-left-shift-3.c: New test. + * gcc.dg/c99-left-shift-2.c: New test. + * gcc.dg/c99-left-shift-3.c: New test. + * gcc.dg/pr40501.c: Use -Wno-shift-overflow. + * gcc.c-torture/execute/pr40386.c: Likewise. + * gcc.dg/vect/pr33373.c: Likewise. + * gcc.dg/vect/vect-shift-2-big-array.c: Likewise. + * gcc.dg/vect/vect-shift-2.c: Likewise. + +2015-07-20 Kyrylo Tkachov + + * gcc.target/aarch64/neg_abs_1.c: New test. + +2015-07-18 Uros Bizjak + + PR target/66922 + * gcc.target/i386/pr66922.c: New test. + +2015-07-18 Sebastian Pop + + PR middle-end/46851 + PR middle-end/60340 + * gcc.dg/tree-ssa/pr42327.c: Removed. + * g++.dg/other/pr35011.C: Removed. + +2015-07-17 H.J. Lu + + PR target/66906 + * gcc.target/i386/pr66906.c: New test. + +2015-07-17 Mikael Morin + + * gfortran.dg/coarray_collectives_16.f90: Fix pattern + as follow-up to r225930. + +2015-07-17 Paul Thomas + + PR fortran/52846 + * lib/fortran-modules.exp (proc cleanup-submodules): New + procedure. + * gfortran.dg/submodule_1.f08: Change extension and clean up + the submodule files. + * gfortran.dg/submodule_2.f08: ditto + * gfortran.dg/submodule_6.f08: ditto + * gfortran.dg/submodule_7.f08: ditto + * gfortran.dg/submodule_8.f08: New test + * gfortran.dg/submodule_9.f08: New test + +2015-07-17 Aditya Kumar + Sebastian Pop + + PR middle-end/61929 + * gcc.dg/graphite/pr61929.c: New. + +2015-07-17 Marek Polacek + + * gcc.dg/fold-minus-7.c: New test. + +2015-07-17 Alessandro Fanfarillo + + * gfortran.dg/co_reduce_1.f90: New file. + +2015-07-17 H.J. Lu + + PR target/66824 + * gcc.target/i386/pr66824.c: + +2015-07-17 Andre Vehreschild + + PR fortran/66035 + * gfortran.dg/structure_constructor_13.f03: New test. + +2015-07-17 Mikael Morin + + PR fortran/61831 + * gfortran.dg/alloc_comp_auto_array_3.f90: Count the number + of generated while loops in the tree dump. + * gfortran.dg/derived_constructor_comps_6.f90: New file. + +2015-07-17 Yuri Rumyantsev + + * gcc.dg/vect/vect-outer-simd-2.c: New test. + +2015-07-17 Uros Bizjak + + PR target/66891 + * gcc.target/i386/pr66891.c: New test. + +2015-07-16 Kyrylo Tkachov + + * gcc.target/arm/no-volatile-in-it.c: Skip if -mcpu is overriden. + +2015-07-16 Vladimir Makarov + + PR rtl-optimization/66626 + * gcc.target/i386/pr66626-2.c: New. + +2015-07-16 Richard Biener + + PR tree-optimization/66894 + * gcc.dg/torture/pr66894.c: New testcase. + +2015-07-16 Richard Biener + + * gcc.dg/tree-ssa/pr21031.c: Adjust. + +2015-07-16 Uros Bizjak + + PR target/66866 + * g++.dg/pr66866.C: New test. + +2015-07-15 Bill Schmidt + + * gcc.target/powerpc/vec-cmp-sel.c: New test. + +2015-07-15 Richard Biener + + * lib/objc-torture.exp (OBJC_TORTURE_OPTIONS): Remove + { -O3 -fomit-frame-pointer }, + { -O3 -fomit-frame-pointer -funroll-loops } and + { -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions } + in favor of + { -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer + -finline-functions } + +2015-07-15 Robert Suchanek + + * gcc.target/mips/interrupt_handler-5.c: New test. + +2015-07-15 Matthew Fortune + Robert Suchanek + + * gcc.target/mips/interrupt_handler-4.c: New test. + +2015-07-15 Ilya Enkovich + + PR testsuite/66734 + * gcc.dg/lto/lto.exp: Initialize MPX. + +2015-07-15 Kyrylo Tkachov + + * gcc.target/arm/scd42-1.c: Add -mfloat-abi=softfp and appropriate + dg-skip-if. + * gcc.target/arm/scd42-3.c: Likewise. + +2015-07-15 Andrew Bennett + + * gcc.target/mips/mips.exp (mips-dg-options): Allow the post-arch + code to be run when the pre-arch code increases the isa_rev to + mips32r6 or greater. + +2015-07-15 Richard Biener + + * lib/c-torture.exp (C_TORTURE_OPTIONS): Remove + { -O3 -fomit-frame-pointer }, + { -O3 -fomit-frame-pointer -funroll-loops } and + { -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions } + in favor of + { -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer + -finline-functions } + * lib/gcc-dg.exp (DG_TORTURE_OPTIONS): Likewise. + * gcc.c-torture/execute/builtins/builtins.exp: Add -fno-tracer + to additional_flags. + +2015-07-15 Uros Bizjak + + PR rtl-optimization/66838 + * gcc.target/i386/pr66838.c: New test. + +2015-07-14 Patrick Palka + + PR c++/66850 + * g++.dg/template/pr66850.C: New test. + +2015-07-14 Sandra Loosemore + Cesar Philippidis + Chung-Lin Tang + + * gcc.target/nios2/nios2-flushd.c: New. + * gcc.target/nios2/nios2-rdprs.c: New. + * gcc.target/nios2/r2-atomic.c: New. + * gcc.target/nios2/r2-eni.c: New. + * gcc.target/nios2/r2-wrpie.c: New. + +2015-07-14 Sandra Loosemore + Cesar Philippidis + Chung-Lin Tang + + * gcc.target/nios2/cdx-ldstwm-1.c: New. + * gcc.target/nios2/cdx-ldstwm-2.c: New. + +2015-07-14 Sandra Loosemore + Cesar Philippidis + Chung-Lin Tang + + * gcc.target/nios2/andci.c: New. + * gcc.target/nios2/bmx.c: New. + * gcc.target/nios2/cdx-add.c: New. + * gcc.target/nios2/cdx-branch.c: New. + * gcc.target/nios2/cdx-callret.c: New. + * gcc.target/nios2/cdx-loadstore.c: New. + * gcc.target/nios2/cdx-logical.c: New. + * gcc.target/nios2/cdx-mov.c: New. + * gcc.target/nios2/cdx-shift.c: New. + * gcc.target/nios2/cdx-sub.c: New. + * gcc.target/nios2/nios2-trap-insn.c: Adjust pattern. + +2015-07-14 Andrea Azzarone + + PR c++/65071 + * g++.dg/cpp0x/vt-65071.C: New. + +2015-07-14 Sandra Loosemore + Cesar Philippidis + Chung-Lin Tang + + * gcc.target/nios2/r2-io-range.c: New. + * gcc.target/nios2/r2-stio-1.c: New. + * gcc.target/nios2/r2-stio-2.c: New. + * gcc.target/nios2/nios2-ldxio.c: New. + * gcc.target/nios2/nios2-stxio.c: Change to assemble test instead + of just compile. Add more tests. + +2015-07-14 Steven G. Kargl + + gfortran.dg/pr66864.f90: New test. + +2015-07-14 Vladimir Makarov + + PR rtl-optimization/66626 + * gcc.target/i386/pr66626.c: New. + +2015-07-14 Sandra Loosemore + + * gcc.target/nios2/nios2-stack-check-1.c: Adjust patterns. + * gcc.target/nios2/nios2-stack-check-2.c: Likewise. + * gcc.target/nios2/nios2-stack-check-3.c: New test case. + +2015-07-14 Paolo Carlini + + * g++.dg/template/crash81.C: Adjust for error + inform change. + * g++.dg/template/pr58878.C: Likewise. + * g++.dg/template/shadow1.C: Likewise. + * g++.dg/template/shadow2.C: Likewise. + * g++.old-deja/g++.benjamin/tem03.C: Likewise. + * g++.old-deja/g++.benjamin/tem04.C: Likewise. + * g++.old-deja/g++.brendan/crash7.C: Likewise. + * g++.old-deja/g++.pt/shadow2.C: Likewise. + +2015-07-14 Richard Biener + + PR tree-optimization/66863 + * gcc.dg/torture/pr66863.c: New testcase. + +2015-07-13 Patrick Palka + + PR c++/65186 + * g++.dg/template/pr65186.C: New test. + +2015-07-13 Mantas Mikaitis + + * gcc.target/arm/macro_defs0.c: Add directive to skip + test if -marm is present. + * gcc.target/arm/macro_defs1.c: Likewise. + +2015-07-13 Kyrylo Tkachov + + * gcc.target/aarch64/adds3.c: Adjust for more aggressive + if-conversion.. + * gcc.target/aarch64/adds1.c: Likewise. + * gcc.target/aarch64/ands_1.c: Likewise. + * gcc.target/aarch64/bics_1.c: Likewise. + * gcc.target/aarch64/subs1.c: Likewise. + * gcc.target/aarch64/subs3.c: Likewise. + +2015-07-13 Andre Vehreschild + + PR fortran/64589 + * gfortran.dg/pr64589.f90: New test. + +2015-07-13 Renlin Li + + PR rtl/66556 + * gcc.c-torture/execute/pr66556.c: New. + +2015-07-12 Aldy Hernandez + + * gcc.dg/20020219-1.c: Fix double word typos. + * gcc.dg/20020919-1.c: Same. + +2015-07-12 Kugan Vivekanandarajah + Jeff Law + + PR middle-end/66726 + * g++.dg/tree-ssa/pr66726.c: New test. + * gcc.dg/tree-ssa/pr66726-2.c: New test. + * gcc.dg/tree-ssa/pr66726.c: New test. + +2015-07-11 Paolo Carlini + + PR c++/58734 + * g++.dg/cpp0x/variadic-ttp2.C: New. + +2015-07-10 Patrick Palka + + PR c++/30044 + * g++.dg/cpp0x/auto46.C: New test. + * g++.dg/template/pr30044.C: New test. + * g++.dg/template/shadow2.C: New test. + * g++.dg/template/error55.C: New test. + * g++.dg/template/crash83.C: Accept any error string. + * g++.dg/cpp0x/variadic18.C: Adjust to avoid shadowing template + parameters. + * g++.dg/cpp0x/variadic19.C: Likewise + * g++.dg/template/canon-type-13.C: Likewise. + * g++.old-deja/g++.pt/ttp42.C: Likewise. + * g++.dg/torture/20070621-1.C: Likewise. + +2015-07-10 Paolo Carlini + + PR c++/54521 + * g++.dg/init/explicit3.C: New. + +2015-07-10 H.J. Lu + + PR target/66819 + * gcc.target/i386/pr66819-1.c: New test. + * gcc.target/i386/pr66819-2.c: Likewise. + * gcc.target/i386/pr66819-3.c: Likewise. + * gcc.target/i386/pr66819-4.c: Likewise. + * gcc.target/i386/pr66819-5.c: Likewise. + +2015-07-10 Uros Bizjak + + PR target/66703 + * gcc.target/i386/readeflags-1.c (readeflags_test): Declare with + __attribute__((noinline, noclone)). Change "x" to "volatile char" + type to prevent possible flag-clobbering zero-extensions. + * gcc.target/i386/pr66703.c: New test. + +2015-07-10 Paolo Carlini + + PR c++/60842 + * g++.dg/cpp0x/nsdmi-template15.C: New. + +2015-07-10 Jiong Wang + + * gcc.target/aarch64/got_mem_hoist_1.c: New test. + +2015-07-10 Christophe Lyon + + * gcc.target/arm/attr_thumb.c: Skip if Thumb is not supported. + * gcc.target/arm/flip-thumb.c: Likewise. + +2015-07-10 Uros Bizjak + + PR target/66813 + * gcc.target/i386/pr66813.c: New test. + +2015-07-10 Jakub Jelinek + + PR middle-end/66820 + * gcc.dg/gomp/pr66820.c: New test. + +2015-07-10 Paolo Carlini + + PR c++/65592 + * g++.dg/cpp0x/scoped_enum6.C: New. + +2015-07-10 Tom de Vries + + * gfortran.dg/parloops-exit-first-loop-alt-2.f95: New test. + * gfortran.dg/parloops-exit-first-loop-alt.f95: New test. + +2015-07-10 Richard Biener + + PR tree-optimization/66823 + * gcc.dg/vect/pr61194.c: Remove -ftree-loop-if-convert-stores + which should not be necessary. XFAIL. + +2015-07-09 Paolo Carlini + + PR c++/64848 + * g++.dg/cpp0x/lambda/lambda-ice14.C: New. + +2015-07-09 Jakub Jelinek + + PR middle-end/66633 + * gcc.dg/gomp/pr66633-1.c: New test. + * gcc.dg/gomp/pr66633-2.c: New test. + * gcc.dg/gomp/pr66633-3.c: New test. + * gcc.dg/gomp/pr66633-4.c: New test. + +2015-07-09 John Marino + + * lib/target-supports.exp (check_effective_target_pie): + Add *-*-dragonfly* + +2015-07-09 Uros Bizjak + + PR target/66814 + * gcc.target/i386/pr66814.c: New test. + +2015-07-09 Szabolcs Nagy + + PR target/66731 + * gcc.target/aarch64/fnmul-1.c: Fix whitespace. + * gcc.target/aarch64/fnmul-2.c: Likewise. + * gcc.target/aarch64/fnmul-3.c: Likewise. + * gcc.target/aarch64/fnmul-4.c: Likewise. + +2015-07-09 Paolo Carlini + + PR c++/65790 + * g++.dg/cpp0x/vt-65790.C: New. + +2015-07-09 H.J. Lu + + PR target/66818 + * gcc.target/i386/pr66818.c: New test. + +2015-07-09 H.J. Lu + + PR target/66817 + * gcc.target/i386/pr66817.c: New test. + +2015-07-09 Marek Polacek + + PR tree-optimization/66718 + * gcc.dg/vect/vect-126.c: New test. + +2015-07-08 Carlos Sánchez de La Lama + + * g++.dg/debug/dwarf2/*.C: generate dwarf-2 debug information + even when dwarf-2 is not the default. + +2015-07-08 Jeff Law + + PR testsuite/66796 + * gcc.target/hppa/shadd-1.c: Avoid the read-modify-write so as + to have a single memory reference. + +2015-07-08 Eric Botcazou + + * g++.dg/other/dump-ada-spec-9.C: New test. + +2015-07-08 Jakub Jelinek + + * g++.dg/vect/vect.exp: Run also simd* tests. + * gcc.dg/vect/tree-vect.h (abort, exit): For C++ use extern "C". + (check_vect): Fix up get_cpuid call for C++. + * g++.dg/vect/simd-clone-1.cc: New test. + +2015-07-08 H.J. Lu + + * gcc.target/i386/pr37870.c (dg-options): Add -mlong-double-80. + +2015-07-08 H.J. Lu + + * gcc.target/i386/readeflags-1.c (abort): New prototype. + * gcc.target/i386/writeeflags-1.c (abort): Likewise. + +2015-07-08 H.J. Lu + + PR target/66806 + * gcc.target/i386/pr66806.c: New test. + +2015-07-08 Paolo Carlini + + PR c++/66421 + * g++.dg/cpp0x/auto45.C: New. + +2015-07-08 Vladimir Makarov + + PR middle-end/66334 + * gcc.target/i386/pr66334.c: New. + +2015-07-08 David Malcolm + + * jit.dg/test-error-gcc_jit_block_end_with_switch-NULL-case.c: Fix + comments. + +2015-07-08 David Malcolm + + PR jit/66783 + * jit.dg/test-error-gcc_jit_context_new_field-opaque-struct.c + (verify_code): Update expected error message. + * jit.dg/test-error-gcc_jit_context_new_global-opaque-struct.c + (verify_code): Likewise. + * jit.dg/test-error-gcc_jit_function_new_local-opaque-struct.c + (verify_code): Likewise. + +2015-07-08 Richard Biener + + PR tree-optimization/66793 + * gcc.dg/torture/pr66793.c: New testcase. + +2015-07-08 Richard Biener + + PR tree-optimization/66794 + * gcc.dg/torture/pr66794.c: New testcase. + +2015-07-08 Marek Polacek + + PR c++/66748 + * g++.dg/abi/abi-tag15.C: New test. + +2015-07-08 Andrew Bennett + + * gcc.target/mips/branch-2.c: Change NOMIPS16 to NOCOMPRESSION. + * gcc.target/mips/branch-3.c: Ditto + * gcc.target/mips/branch-4.c: Ditto. + * gcc.target/mips/branch-5.c: Ditto. + * gcc.target/mips/branch-6.c: Ditto. + * gcc.target/mips/branch-7.c: Ditto. + * gcc.target/mips/branch-8.c: Ditto. + * gcc.target/mips/branch-9.c: Ditto. + * gcc.target/mips/branch-10.c: Ditto. + * gcc.target/mips/branch-11.c: Ditto. + * gcc.target/mips/branch-12.c: Ditto. + * gcc.target/mips/branch-13.c: Ditto. + * gcc.target/mips/umips-branch-5.c: New file. + * gcc.target/mips/umips-branch-6.c: New file. + * gcc.target/mips/umips-branch-7.c: New file. + * gcc.target/mips/umips-branch-8.c: New file. + * gcc.target/mips/umips-branch-9.c: New file. + * gcc.target/mips/umips-branch-10.c: New file. + * gcc.target/mips/umips-branch-11.c: New file. + * gcc.target/mips/umips-branch-12.c: New file. + * gcc.target/mips/umips-branch-13.c: New file. + * gcc.target/mips/umips-branch-14.c: New file. + * gcc.target/mips/umips-branch-15.c: New file. + * gcc.target/mips/umips-branch-16.c: New file. + * gcc.target/mips/branch-helper.h (OCCUPY_0x10000): New define. + (OCCUPY_0xfffc): New define. + +2015-07-08 Renlin Li + + * gcc.target/arm/unsigned-float.c: Different options for hf toolchain. + +2015-07-08 Andrew Bennett + + * gcc.target/mips/stack-1.c: Do not build the testcase for micromips. + +2015-07-07 Uros Bizjak + + * gcc.target/i386/bt-3.c: New test. + * gcc.target/i386/bt-4.c: Ditto. + +2015-07-07 Eric Botcazou + + * g++.dg/other/dump-ada-spec-8.C: New test. + +2015-07-07 David Malcolm + + PR jit/66783 + * jit.dg/test-error-gcc_jit_context_new_field-opaque-struct.c: New + test case. + * jit.dg/test-error-gcc_jit_context_new_global-opaque-struct.c: + New test case. + * jit.dg/test-error-gcc_jit_function_new_local-opaque-struct.c: + New test case. + * jit.dg/test-error-mismatching-types-in-call.c (create_code): + Avoid using an opaque struct for local "f". + +2015-07-07 David Malcolm + + PR jit/66779 + * jit.dg/all-non-failing-tests.h: Add test-pr66779.c. + * jit.dg/test-pr66779.c: New testcase. + +2015-07-07 Andrew Bennett + + * gcc.target/mips/no-smartmips-lwxs.c: Change NOMIPS16 to + NOCOMPRESSION. + +2015-07-07 Richard Biener + + * gcc.dg/vect/vect-over-widen-3-big-array.c: Adjust. + +2015-07-07 Andrew Bennett + + * gcc.target/mips/call-1.c: Allow testcase to match the jrc instruction. + * gcc.target/mips/call-5.c: Ditto. + * gcc.target/mips/call-6.c: Ditto. + +2015-07-07 Prathamesh Kulkarni + + * gcc.dg/dx-test.c: New test-case. + +2015-07-07 Andre Vehreschild + + PR fortran/66578 + * gfortran.dg/allocate_with_source_9.f08: New test. + +2015-07-07 Christian Bruel + + PR target/52144 + * gcc.target/arm/flip-thumb.c: Fix scan. + * gcc.target/arm/attr_thumb.c: Test for all targets. Fix scan. + * gcc.target/arm/attr_arm.c: Test for all targets. Fix scan. + * gcc.target/arm/attr_thumb-static.c: Test for all targets. + Fix return value. + +2015-07-06 Jakub Jelinek + + PR target/65956 + * gcc.c-torture/execute/pr65956.c: New test. + +2015-07-06 Alan Lawrence + + * gcc.target/arm/aapcs/align1.c: New. + * gcc.target/arm/aapcs/align_rec1.c: New. + * gcc.target/arm/aapcs/align2.c: New. + * gcc.target/arm/aapcs/align_rec2.c: New. + * gcc.target/arm/aapcs/align3.c: New. + * gcc.target/arm/aapcs/align_rec3.c: New. + * gcc.target/arm/aapcs/align4.c: New. + * gcc.target/arm/aapcs/align_rec4.c: New. + * gcc.target/arm/aapcs/align_vararg1.c: New. + * gcc.target/arm/aapcs/align_vararg2.c: New. + +2015-07-06 Steven G. Kargl + + * gfortran.dg/iomsg_2.f90: New test. + +2015-07-06 H.J. Lu + + PR target/66749 + * gcc.target/i386/pr66749.c: New test. + +2015-07-06 Richard Biener + + PR tree-optimization/66772 + * gcc.dg/torture/pr66772-1.c: New testcase. + * gcc.dg/torture/pr66772-2.c: Likewise. + +2015-07-06 Andrew Bennett + + * gcc.target/mips/near-far-3.c: Allow the call to near_func to use + the jals instruction. + +2015-07-06 H.J. Lu + + PR target/53383 + * gcc.target/i386/pr53383-1.c: New file. + * gcc.target/i386/pr53383-2.c: Likewise. + * gcc.target/i386/pr53383-3.c: Likewise. + +2015-07-06 Szabolcs Nagy + + * gcc.target/aarch64/fnmul-1.c: New. + * gcc.target/aarch64/fnmul-2.c: New. + * gcc.target/aarch64/fnmul-3.c: New. + * gcc.target/aarch64/fnmul-4.c: New. + +2015-07-06 Richard Biener + + PR middle-end/66759 + * gcc.dg/torture/pr66759.c: New testcase. + +2015-07-06 Andre Vehreschild + + PR fortran/58586 + * gfortran.dg/alloc_comp_class_3.f03: New test. + * gfortran.dg/alloc_comp_class_4.f03: New test. + +2015-07-06 Eric Botcazou + + * gcc.c-torture/execute/pr66757.c: New test. + +2015-07-06 Bin Cheng + + PR tree-optimization/66720 + * gcc.dg/vect/pr48052.c: Use dg-require-effective-target vect_int_mult. + +2015-07-05 Chung-Lin Tang + Sandra Loosemore + + * gcc.target/nios2/gprel-offset.c: New test. + +2015-07-04 Steven G. Kargl + + PR fortran/66725 + * gfortran.dg/pr66725.f90: New test. + +2015-07-03 Jason Merrill + + * gcc.dg/plugin/wide-int_plugin.c (test_double_int_round_udiv): + Avoid narrowing error. + +2015-07-03 Segher Boessenkool + + PR rtl-optimization/66706 + * gcc.target/powerpc/shift-int.c: New testcase. + +2015-07-03 H.J. Lu + + PR target/66746. + * gcc.target/i386/pr66746.c: New file. + +2015-07-03 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vget_lane.c: New testcase. + +2015-07-03 James Greenhalgh + + PR tree-optimization/66119 + * g++.dg/opt/pr66119.C: New. + +2015-07-02 Paul Thomas + + PR fortran/52846 + * gfortran.dg/submodule_1.f90: New test + * gfortran.dg/submodule_2.f90: New test + * gfortran.dg/submodule_3.f90: New test + * gfortran.dg/submodule_4.f90: New test + * gfortran.dg/submodule_5.f90: New test + * gfortran.dg/submodule_6.f90: New test + * gfortran.dg/submodule_7.f90: New test + +2015-07-02 Paolo Carlini + + PR preprocessor/53690 + * g++.dg/cpp/pr53690.C: New. + +2015-07-02 Bill Schmidt + + * gcc.target/powerpc/vec-cmp.c: New test. + +2015-07-02 Steven G. Kargl + + PR fortran/56520 + * gfortran.dg/pr56520.f90: New test. + +2015-07-02 Steven G. Kargl + + PR fortran/66545 + * gfortran.dg/pr66545_1.f90: New test. + * gfortran.dg/pr66545_2.f90: New test. + +2015-07-02 Alan Lawrence + + * gcc.dg/vect/vect-strided-a-u16-i4.c (main1): Narrow scope of x,y,z,w. + * gcc.dg/vect/vect-ifcvt-11.c: New testcase. + +2015-07-02 Richard Biener + + PR testsuite/66719 + * gcc.dg/vect/bb-slp-32.c: Re-add XFAIL for targets not supporting + unaligned loads. + +2015-07-02 Richard Biener + + * gcc.dg/tree-ssa/ssa-dom-cse-4.c: New testcase. + +2015-07-01 H.J. Lu + + * gcc.target/i386/mpx/pr66568.c (exit): New prototype. + +2015-07-01 Jason Merrill + + * lib/target-supports.exp (cxx_default): Set to C++14. + +2015-07-01 Tom de Vries + + PR testsuite/66723 + * gcc.target/i386/vararg-loc.c: Use scan-rtl-dump instead of + scan-assembler. + +2015-07-01 Thomas Koenig + + * gfortran.dg/warn_conversion_8.f90: New test. + +2015-07-01 Bernd Edlinger + + PR rtl-optimization/61047 + * gcc.c-torture/execute/20150611-1.c: New testcase. + +2015-07-01 David Malcolm + + PR jit/66700 + * jit.dg/all-non-failing-tests.h: Add + test-pr66700-observing-write-through-ptr.c. + * jit.dg/test-pr66700-observing-write-through-ptr.c: New testcase. + +2015-07-01 David Malcolm + + * jit.dg/test-accessing-union.c: Add comments for use by + gcc/jit/docs/topics/types.rst. + +2015-07-01 Matthew Wahab + + * gcc.target/arm/armv8-sync-comp-swap.c: Replace + 'do-require-effective-target' with 'dg-require-effective-target'. + * gcc.target/arm/armv8-sync-op-full.c: Likewise. + * gcc.target/arm/armv8-sync-op-release.c: Likewise. + * gcc.target/arm/armv8-sync-op-acquire.c: Likewise. Also, replace + 'stlex' with 'strex' as the expected output. + +2015-07-01 Paolo Carlini + + PR c++/60365 + * g++.dg/cpp0x/gen-attrs-60.C: New. + * g++.dg/cpp1y/attr-deprecated-2.C: Likewise. + +2015-07-01 Jiong Wang + + * lib/target-supports.exp (check_effective_target_aarch64_small_fpic): + New function. + * gcc.target/aarch64/pic-small.c: Restrict this test under + check_effective_target_aarch64_small_fpic. + +2015-07-01 Eric Botcazou + + * gfortran.dg/gomp/pr66633.f90: New test. + +2015-07-01 Patrick Palka + + PR c++/66686 + * g++.dg/template/pr66686.C: New test. + +2015-06-30 Eric Botcazou + + * gnat.dg/lto17.ad[sb]: New test. + +2015-06-30 David Malcolm + + * jit.dg/all-non-failing-tests.h: Add test-switch.c. + * jit.dg/test-error-gcc_jit_block_end_with_switch-NULL-case.c: New + testcase. + * jit.dg/test-error-gcc_jit_block_end_with_switch-mismatching-case-type.c: + New testcase. + * jit.dg/test-error-gcc_jit_block_end_with_switch-overlapping-ranges.c: + New testcase. + * jit.dg/test-error-gcc_jit_context_new_case-non-const-label.c: + New testcase. + * jit.dg/test-error-gcc_jit_context_new_case-non-integer-type.c: + New testcase. + * jit.dg/test-error-gcc_jit_context_new_case-reversed-endpoints.c: + New testcase. + * jit.dg/test-switch.c: New testcase. + * jit.dg/test-switch.cc: New testcase. + +2015-06-30 David Malcolm + + PR jit/66546 + * jit.dg/all-non-failing-tests.h: Add note about + test-validly-unreachable-block.c. + * jit.dg/test-validly-unreachable-block.c: New file. + +2015-06-30 David Malcolm + + PR jit/66628 + * jit.dg/all-non-failing-tests.h: Add note about + test-extra-options.c. + * jit.dg/test-extra-options.c: New testcase. + +2015-06-30 Vladimir Makarov + + PR debug/66691 + * gcc.target/i386/pr66691.c: New. + +2015-06-30 H.J. Lu + + * gcc.target/i386/iamcu/abi-iamcu.exp: New file. + * gcc.target/i386/iamcu/args.h: Likewise. + * gcc.target/i386/iamcu/asm-support.S: Likewise. + * gcc.target/i386/iamcu/defines.h: Likewise. + * gcc.target/i386/iamcu/macros.h: Likewise. + * gcc.target/i386/iamcu/test_3_element_struct_and_unions.c: Likewise. + * gcc.target/i386/iamcu/test_basic_64bit_returning.c: Likewise. + * gcc.target/i386/iamcu/test_basic_alignment.c: Likewise. + * gcc.target/i386/iamcu/test_basic_array_size_and_align.c: Likewise. + * gcc.target/i386/iamcu/test_basic_returning.c: Likewise. + * gcc.target/i386/iamcu/test_basic_sizes.c: Likewise. + * gcc.target/i386/iamcu/test_basic_struct_size_and_align.c: Likewise. + * gcc.target/i386/iamcu/test_basic_union_size_and_align.c: Likewise. + * gcc.target/i386/iamcu/test_bitfields.c: Likewise. + * gcc.target/i386/iamcu/test_complex_returning.c: Likewise. + * gcc.target/i386/iamcu/test_passing_floats.c: Likewise. + * gcc.target/i386/iamcu/test_passing_integers.c: Likewise. + * gcc.target/i386/iamcu/test_passing_structs.c: Likewise. + * gcc.target/i386/iamcu/test_passing_structs_and_unions.c: Likewise. + * gcc.target/i386/iamcu/test_passing_unions.c: Likewise. + * gcc.target/i386/iamcu/test_struct_returning.c: Likewise. + * gcc.target/i386/iamcu/test_varargs.c: Likewise. + +2015-06-30 Marek Polacek + + * gcc.dg/fold-minus-6.c: New test. + + * gcc.dg/fold-ior-3.c: New test. + +2015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net> + + Implement N4197 - Adding u8 character literals + * g++.dg/cpp1z/utf8.C: New. + * g++.dg/cpp1z/utf8-neg.C: New. + * g++.dg/cpp1z/udlit-utf8char.C: New. + +2015-06-30 Marek Polacek + + * gcc.dg/fold-ior-2.c (fn4): Swap operands. + +2015-06-30 Tom de Vries + + * gcc.dg/parloops-exit-first-loop-alt-5.c: New test. + * gcc.dg/parloops-exit-first-loop-alt-6.c: New test. + * gcc.dg/parloops-exit-first-loop-alt-7.c: New test. + * gcc.dg/parloops-exit-first-loop-alt.c: Update comment. + +2015-06-30 Marek Polacek + + * gcc.dg/fold-ior-2.c: New test. + +2015-06-30 Tom de Vries + + PR tree-optimization/66652 + * gcc.dg/parloops-exit-first-loop-alt-pr66652.c: New test. + * gcc.dg/parloops-exit-first-loop-alt-3.c (f): Rewrite using restrict + pointers. + * gcc.dg/parloops-exit-first-loop-alt.c: Same. + +2015-06-29 Paolo Carlini + + PR c++/65977 + * g++.dg/cpp0x/constexpr-friend-3.C: New. + * g++.dg/cpp0x/constexpr-friend-2.C: Adjust. + +2015-06-29 Manuel López-Ibáñez + + PR fortran/66605 + * gfortran.dg/wunused-parameter.f90: New test. + +2015-06-29 Richard Henderson + + * gcc.target/i386/asm-flag-1.c: New. + * gcc.target/i386/asm-flag-2.c: New. + * gcc.target/i386/asm-flag-3.c: New. + * gcc.target/i386/asm-flag-4.c: New. + * gcc.target/i386/asm-flag-5.c: New. + +2015-06-29 Marek Polacek + + PR c/66322 + * c-c++-common/pr60439.c: Add dg-prune-output and add switch cases. + * c-c++-common/pr66322.c: New test. + * g++.dg/eh/scope1.C: Remove dg-warning. + +2015-06-29 Richard Biener + + PR tree-optimization/66677 + * gcc.dg/vect/pr66677.c: New testcase. + +2015-06-29 Kugan Vivekanandarajah + + PR middle-end/64130 + * gcc.dg/tree-ssa/pr64130.c: New test. + +2015-06-26 Jiong Wang + + * gcc.target/aarch64/pic-small.c: New testcase. + +2015-06-26 Richard Biener + + * gcc.dg/tree-ssa/forwprop-25.c: Adjust. + +2015-06-26 Marek Polacek + + * gcc.dg/fold-and-1.c: New test. + * gcc.dg/fold-and-2.c: New test. + +2015-06-26 Eric Botcazou + + * gnat.dg/warn11.adb: Add missing dg directive. + * gnat.dg/warn12.adb: New test. + * gnat.dg/warn12_pkg.ads: New helper. + +2015-06-26 Richard Biener + + * gfortran.dg/reassoc_3.f90: Adjust. + +2015-06-26 Uros Bizjak + + PR target/66412 + * gcc.target/i386/pr66412.c: New test. + +2015-06-25 Richard Biener + + * gcc.dg/tree-ssa/pr52631.c: Disable forwprop. + +2015-06-25 Richard Sandiford + + * gcc.target/aarch64/vect-add-sub-cond.c: New test. + +2015-06-25 Richard Biener + + * gfortran.dg/vect/vect-9.f90: New testcase. + +2015-06-25 Nick Clifton + + * gcc.dg/stack-usage-1.c: Add SIZE values for V850, MN10300, + H8300 and M32R targets. + +2015-06-24 Manuel López-Ibáñez + + PR fortran/66528 + * gfortran.dg/maxerrors.f90: New test. + +2015-06-08 DJ Delorie + + * gcc.dg/torture/pr66345.c: Fix assumption about size_t type. + +2015-06-24 Alan Lawrence + + * gcc.target/aarch64/mgeneral-regs_3.c: New. + +2015-06-24 Alan Lawrence + + * gcc.target/aarch64/mgeneral-regs_1.c: New file. + * gcc.target/aarch64/mgeneral-regs_2.c: New file. + * gcc.target/aarch64/nofp_1.c: New file. + +2015-06-24 Edward Smith-Rowland <3dw4rd@verizon.net> + + Implement N3928 - Extending static_assert + * g++.dg/cpp0x/static_assert8.C: Adjust. + * g++.dg/cpp0x/static_assert12.C: New. + * g++.dg/cpp0x/static_assert13.C: New. + * g++.dg/cpp1y/static_assert1.C: New. + * g++.dg/cpp1y/static_assert2.C: New. + * g++.dg/cpp1z/static_assert-nomsg.C: New. + +2015-06-24 Adam Butcher + + PR c++/65750 + * g++.dg/cpp0x/trailing11.C: New. + +2015-06-24 Ramana Radhakrishnan + + * gcc.target/arm/fixed_float_conversion.c: Skip for inappropriate + multilibs. + * gcc.target/arm/memset-inline-10.c: Likewise. + * gcc.target/arm/pr58784.c: Likewise. + * gcc.target/arm/pr59985.C: Likewise. + * gcc.target/arm/vfp-1.c: Likewise and test only for the non fma cases. + +2015-06-24 Renlin Li + + * gcc.target/aarch64/arm_align_max_pwr.c: New. + * gcc.target/aarch64/arm_align_max_stack_pwr.c: New. + +2015-06-24 Patrick Palka + + Revert: + 2015-06-23 Patrick Palka + + PR c++/30044 + * g++.dg/cpp0x/auto45.C: New test. + * g++.dg/template/pr30044.C: New test. + * g++.dg/template/crash83.C: Accept any error string. + * g++.dg/cpp0x/variadic18.C: Adjust to not shadow template + parameters. + * g++.dg/cpp0x/variadic18.C: Likewise + * g++.dg/template/canon-type-13.C: Likewise. + * g++.old-deja/g++.pt/ttp42.C: Likewise. + +2015-06-24 Paolo Carlini + + PR c++/65811 + * g++.dg/other/linkage2.C: New. + +2015-06-24 Ramana Radhakrishnan + + PR target/63408 + * gcc.target/arm/pr63408.c: New test. + +2015-06-24 James Greenhalgh + + * lib/c-torture.exp: Don't call check_effective_target_lto + before setting up environment correctly. + * lib/gcc-dg.exp: Likewise, and protect + gcc_force_conventional_output. + +2015-06-24 Andreas Krebbel + + PR rtl-optimization/66306 + * gcc.target/s390/pr66306.c: New test. + +2015-06-24 Andreas Krebbel + + * gcc.target/s390/vector/vec-abi-1.c: Add gnu attribute check. + * gcc.target/s390/vector/vec-abi-attr-1.c: New test. + * gcc.target/s390/vector/vec-abi-attr-2.c: New test. + * gcc.target/s390/vector/vec-abi-attr-3.c: New test. + * gcc.target/s390/vector/vec-abi-attr-4.c: New test. + * gcc.target/s390/vector/vec-abi-attr-5.c: New test. + * gcc.target/s390/vector/vec-abi-attr-6.c: New test. + +2015-06-23 Chen Gang + + PR target/65803 + * gcc.c-torture/pr65803.c: New test. + +2015-06-23 Patrick Palka + + PR c++/30044 + * g++.dg/cpp0x/auto45.C: New test. + * g++.dg/template/pr30044.C: New test. + * g++.dg/template/crash83.C: Accept any error string. + * g++.dg/cpp0x/variadic18.C: Adjust to not shadow template + parameters. + * g++.dg/cpp0x/variadic18.C: Likewise + * g++.dg/template/canon-type-13.C: Likewise. + * g++.old-deja/g++.pt/ttp42.C: Likewise. + +2015-06-23 Marek Polacek + + * c-c++-common/Wlogical-op-3.c: New test. + +2015-06-23 Paolo Carlini + + PR c++/66254 + * g++.dg/cpp0x/scoped_enum5.C: New. + +2015-06-23 Richard Biener + + PR tree-optimization/66636 + * gcc.dg/vect/pr66636.c: New testcase. + +2015-06-23 Marek Polacek + + * gcc.dg/fold-minus-4.c: New test. + * gcc.dg/fold-minus-5.c: New test. + * c-c++-common/ubsan/overflow-add-5.c: New test. + +2015-06-23 James Greenhalgh + + Add missing testcase from r224672. + 2015-06-19 James Greenhalgh + + * gcc.target/vax/bswapdi-1.c: New. + +2015-06-23 Andre Vehreschild + + PR fortran/64674 + * gfortran.dg/associate_18.f08: New test. + +2015-06-23 Uros Bizjak + + PR target/66560 + * gcc.target/i386/pr66560-1.c: New test. + * gcc.target/i386/pr66560-2.c: Ditto. + * gcc.target/i386/pr66560-3.c: Ditto. + * gcc.target/i386/pr66560-4.c: Ditto. + +2015-06-23 Thomas Schwinge + + * gcc.target/nvptx/nvptx.exp: New file. + * gcc.target/nvptx/proto-1.c: Likewise. + +2015-06-23 Bin Cheng + + PR tree-optimization/66449 + * gcc.dg/vect/pr66449.c: New test. + +2015-06-22 Pierre-Marie de Rodat + + * g++.dg/other/dump-ada-spec-5.C: New test. + * g++.dg/other/dump-ada-spec-6.C: Likewise. + * g++.dg/other/dump-ada-spec-7.C: Likewise. + +2015-06-22 Paolo Carlini + + * g++.dg/inherit/pure1.C: Test location too. + +2015-06-22 Marek Polacek + + * gcc.dg/fold-ior-1.c: New test. + * gcc.dg/fold-minus-2.c: New test. + * gcc.dg/fold-minus-3.c: New test. + * gcc.dg/fold-plus-1.c: New test. + * gcc.dg/fold-plus-2.c: New test. + * gcc.dg/fold-xor-4.c: New test. + * gcc.dg/fold-xor-5.c: New test. + +2015-06-22 Bill Schmidt + + PR target/65914 + * g++.dg/torture/pr65914.C: New. + +2015-06-22 Richard Biener + + * lib/c-torture.exp: Set LTO_TORTURE_OPTIONS conditional on + not existing TORTURE_OPTIONS only. + * lib/gcc-dg.exp: Likewise. + +2015-06-22 Christian Bruel + + PR target/52144 + * gcc.target/arm/flip-thumb.c: New test. + +2015-06-22 Jan Hubicka + Martin Liska + + PR ipa/65908 + * g++.dg/ipa/pr65908.C: New testcase. + +2015-06-20 Mikhail Maltsev + + PR c++/65882 + * g++.dg/diagnostic/inhibit-warn-1.C: New test. + * g++.dg/diagnostic/inhibit-warn-2.C: New test. + +2015-06-19 Eric Botcazou + + * gnat.dg/specs/debug1.ads: Adjust. + +2015-06-19 Jim Wilson + + * gcc.target/aarch64/fmovd-zero-mem.c: New. + * gcc.target/aarch64/fmovd-zero-reg.c: New. + * gcc.target/aarch64/fmovf-zero-mem.c: New. + * gcc.target/aarch64/fmovf-zero-reg.c: New. + * gcc.target/aarch64/fmovld-zero-mem.c: New. + * gcc.target/aarch64/fmovld-zero-mem.c: New. + * gcc.target/aarch64/fmovd-zero.c: Delete. + * gcc.target/aarch64/fmovf-zero.c: Delete. + +2015-06-19 James Greenhalgh + + * gcc.target/vax/bswapdi-1.c: New. + +2015-06-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vtst.c: New file. + +2015-06-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vtbX.c: New file. + +2015-06-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vstX_lane.c: New file. + +2015-06-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vst1_lane.c: New file. + +2015-06-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vsra_n.c: New file. + +2015-06-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vshrn_n.c: New file. + +2015-06-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vshl_n.c: New file. + +2015-06-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vshll_n.c: New file. + +2015-06-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vset_lane.c: New file. + +2015-06-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vrsra_n.c: New file. + +2015-06-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vrsqrts.c: New file. + +2015-06-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vrsqrte.c: New file. + +2015-06-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vrshrn_n.c: New file. + +2015-06-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vrshr_n.c: New file. + +2015-06-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vshr_n.c: New file. + +2015-06-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vrshl.c: New file. + +2015-06-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vrev.c: New file. + +2015-06-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vreinterpret.c: New file. + +2015-06-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vrecps.c: New file. + +2015-06-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h + (_ARM_FPSCR): Add FZ field. + (clean_results): Force FZ=1 on AArch64. + * gcc.target/aarch64/advsimd-intrinsics/vrecpe.c: New file. + +2015-06-19 Christophe Lyon + + * gcc.target/aarch64/pr62308.c: New test. + +2015-06-19 Mikael Morin + + PR fortran/66549 + * gfortran.dg/gomp/omp_parallel_1.f90: New file. + +2015-06-19 Ilya Enkovich + + * gcc.target/i386/mpx/pr66581.c: New test. + +2015-06-18 Uros Bizjak + + * gcc.target/i386/cmov9.c: New test. + +2015-06-18 Richard Biener + + * g++.dg/other/const4.C: New testcase. + +2015-06-18 Michael Matz + + PR middle-end/66253 + * gcc.dg/vect/pr66253.c: New testcase. + +2015-06-18 Ilya Enkovich + + PR target/66569 + * gcc.target/i386/mpx/chkp-vararg.c: New test. + +2015-06-18 Ilya Enkovich + + PR middle-end/66568 + * gcc.target/i386/mpx/pr66568.c: New test. + +2015-06-18 Ilya Enkovich + + PR middle-end/66567 + * gcc.target/i386/mpx/pr66567.c: New test. + +2015-06-18 Richard Biener + + PR tree-optimization/66510 + * gcc.dg/vect/slp-perm-12.c: New testcase. + +2015-06-17 Uros Bizjak + + * gcc.target/i386/noplt-1.c (dg-do): Fix target selector. + * gcc.target/i386/noplt-2.c (dg-do): Ditto. + * gcc.target/i386/noplt-3.c (dg-do): Ditto. + * gcc.target/i386/noplt-4.c (dg-do): Ditto. + +2015-06-17 Jakub Jelinek + + PR c++/66571 + * g++.dg/gomp/pr66571-1.C: New test. + + PR middle-end/66429 + * c-c++-common/gomp/pr66429.c: New test. + +2015-06-17 David Malcolm + + * jit.dg/test-error-accessing-field-in-other-struct.c: Rename to... + * jit.dg/test-error-gcc_jit_rvalue_dereference_field-wrong-struct.c: + ...this. + * jit.dg/test-error-gcc_jit_lvalue_access_field-wrong-struct.c: + New testcase. + * jit.dg/test-error-gcc_jit_rvalue_access_field-wrong-struct.c: + New testcase. + +2015-06-17 Uros Bizjak + + PR testsuite/65944 + * g++.dg/lto/pr65276_0.C: Add std2::exception::~exception() function. + +2015-06-17 Robert Suchanek + + * gcc.target/mips/pr65862-1.c: New test. + * gcc.target/mips/pr65862-2.c: Likewise. + +2015-06-17 Uros Bizjak + + * gcc.target/i386/pr54592.c: Remove dg-require-effective-target. + * gcc.target/i386/pr52252-atom.c: Ditto. + * gcc.target/i386/vect-div-1.c: Ditto. + * gcc.target/i386/rotate-5.c: Ditto. + * gcc.target/i386/pr50202.c: Ditto. + * gcc.target/i386/pr37843-3.c: Ditto. + * gcc.target/i386/avx2-vect-aggressive-1.c: Ditto. + * gcc.target/i386/pr53397-1.c: Ditto. + * gcc.target/i386/pr55934.c: Ditto. + * gcc.target/i386/pr37843-4.c: Ditto. + * gcc.target/i386/pr60451.c: Ditto. + * gcc.target/i386/pr53397-2.c: Ditto. + * gcc.target/i386/vectorize1.c: Ditto. + * gcc.target/i386/extract-insert-combining.c: Ditto. + * gcc.target/i386/pr53759.c: Ditto. + * gcc.target/i386/pr52252-core.c: Ditto. + * gcc.target/i386/rotate-3.c: Ditto. + * gcc.target/i386/sse-20.c: Ditto. + * gcc.target/i386/rotate-4.c: Ditto. + * gcc.target/i386/pr61403.c: Ditto. + * gcc.target/i386/pr60205-2.c: Add dg-do compile directive. + * gcc.target/i386/pr60901.c: Ditto. + * gcc.target/i386/pr59794-7.c: Ditto. + * gcc.target/i386/pr62208.c: Ditto. + * gcc.target/i386/pr53416.c: Ditto. + * gcc.target/i386/asm-dialect-1.c: Ditto. + * gcc.target/i386/pr50038.c: Ditto. + * gcc.target/i386/47698.c: Ditto. + * gcc.target/i386/avx512vl-vpmuludq-1.c: Ditto. + * gcc.target/i386/pr59794-2.c: Ditto. + * gcc.target/i386/pr59794-3.c: Ditto. + * gcc.target/i386/pr39058.c: Ditto. + * gcc.target/i386/pr60205-1.c: Ditto. + * gcc.target/i386/fma4-256-nmsubXX.c: Add dg-do run directive. + * gcc.target/i386/sse2-movq-2.c: Ditto. + +2015-06-17 Richard Biener + + PR tree-optimization/66251 + * gfortran.fortran-torture/compile/pr66251-2.f90: New testcase. + +2015-06-16 Paolo Carlini + + PR c++/59682 + * g++.dg/parse/new-placement1.C: New. + +2015-06-16 David Malcolm + + * jit.dg/all-non-failing-tests.h: Add test-compound-assignment.c. + * jit.dg/test-compound-assignment.c: New testcase. + +2015-06-16 David Malcolm + + PR jit/66539 + * jit.dg/all-non-failing-tests.h: Add test-debug-strings.c + to "testcases" array. + +2015-06-16 David Malcolm + + PR jit/66539 + * jit.dg/all-non-failing-tests.h: Add test-debug-strings.c. + * jit.dg/test-debug-strings.c: New test case. + * jit.dg/test-quadratic.c (make_calc_discriminant): Verify that + the discriminant has a sane debug string. + +2015-06-16 Uros Bizjak + + PR target/56766 + * gcc.target/i386/pr56766-1.c: New test. + * gcc.target/i386/pr56766-2.c: Ditto. + +2015-06-16 Steve Ellcey + + * gcc.target/mips/loongson-shift-count-truncated-1.c: + Skip on mips*-mti-linux* and mips*-img-linux* targets. + * gcc.target/mips/loongson-simd.c: Ditto. + +2015-06-16 Richard Biener + + * gcc.target/i386/recip-vec-sqrtf-avx.c: Disable unrolling. + +2015-06-16 James Greenhalgh + + * gcc.target/arm/pr65647.c: Do not override -mfloat-abi directives + passed by the testsuite driver. + +2015-06-16 Richard Biener + + * gcc.dg/vect/slp-perm-11.c: New testcase. + +2015-06-16 Christophe Lyon + + * gcc.target/arm/thumb-ifcvt.c: Add -mno-restrict-it to + dg-options. + +2015-06-16 James Greenhalgh + + * gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp: + Reinstate calls to torture-init and torture-finalize. + +2015-06-16 Kyrylo Tkachov + + * gcc.target/arm/attr_thumb.c: Add -mno-restrict-it to dg-options. + +2015-06-15 Nathan Sidwell + + PR c++/58583 + * g++.dg/cpp0x/nsdmi-template14.C: New test. + +2015-06-15 Paolo Carlini + + PR c++/51048 + * g++.dg/cpp0x/local-type1.C: New. + +2015-06-15 Andre Vehreschild + + PR fortran/44672 + PR fortran/45440 + PR fortran/57307 + * gfortran.dg/allocate_with_source_3.f90: Removed check for + unimplemented error. + * gfortran.dg/allocate_with_source_7.f08: New test. + * gfortran.dg/allocate_with_source_8.f08: New test. + +2015-06-13 Patrick Palka + + PR c++/65168 + * g++.dg/warn/Walways-true-3.C: New test. + +2015-06-13 Tom de Vries + + * gcc.dg/parloops-exit-first-loop-alt-4.c: New test. + +2015-06-13 Tom de Vries + + * gcc.dg/parloops-exit-first-loop-alt-2.c: Add comment. + (main): Remove superfluous attributes. + * gcc.dg/parloops-exit-first-loop-alt-3.c: Same. + * gcc.dg/parloops-exit-first-loop-alt.c: Same. + +2015-06-12 Venkataramanan Kumar + + * gcc.target/i386/monitorx.c: New. + * gcc.target/i386/sse-12.c: Add -mmwaitx. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Ditto. + * gcc.target/i386/sse-23.c: Ditto. + * g++.dg/other/i386-2.C: Ditto. + * g++.dg/other/i386-3.C: Ditto. + +2015-06-11 Steve Ellcey + + * gcc.dg/tree-prof/stringop-2.c: Fix ifdef __mips. + +2015-06-11 Paul Thomas + + PR fortran/66079 + * gfortran.dg/allocatable_scalar_13.f90: New test + +2015-06-11 Marek Polacek + + * gcc.dg/fold-xor-3.c: New test. + +2015-06-11 Kyrylo Tkachov + + * gcc.target/arm/short-it-ifcvt-1.c: New test. + * gcc.target/arm/short-it-ifcvt-2.c: Likewise. + +2015-06-11 Christian Bruel + + PR target/52144 + * gcc.target/arm/pragma_attribute.c: New test. + +2015-06-10 Uros Bizjak + + * g++.dg/abi/mangle-regparm.C (dg-options): Add -save-temps. + +2015-06-10 Uros Bizjak + + PR target/66473 + * gcc.target/i386/pr66473.c: New test. + +2015-06-10 Jakub Jelinek + + PR target/66470 + * gcc.dg/tls/pr66470.c: New test. + * gcc.target/i386/pr66470.c: New test. + +2015-06-10 Christian Bruel + + PR target/52144 + * gcc.target/arm/attr_arm.c: New test + * gcc.target/arm/attr_arm-err.c: New test + * gcc.target/arm/attr_thumb.c: New test + * gcc.target/arm/attr_thumb-static.c: New test + +2015-06-10 Ramana Radhakrishnan + + PR target/66200 + PR target/66428 + PR c++/66192 + * g++.dg/abi/aarch64_guard1.C: Adjust test. + +2015-06-10 James Greenhalgh + + * gcc.target/arm/pr65710.c: Do not override -mfloat-abi directives + passed by the testsuite driver. + +2015-06-09 Alexandre Oliva + + Revert: + 2015-06-09 Alexandre Oliva + * gcc.dg/guality/pr54200.c: Add -fno-tree-coalesce-vars. + * gcc.dg/ssp-1.c: Make counter a register. + * gcc.dg/ssp-2.c: Likewise. + * gcc.dg/torture/parm-coalesce.c: New. + +2015-06-09 Tom de Vries + + * gcc.target/i386/vararg-loc.c: New test. + +2015-06-09 Paolo Carlini + + PR c++/65815 + * g++.dg/cpp0x/nsdmi-aggr1.C: New. + * g++.dg/cpp0x/mem-init-aggr1.C: Likewise. + +2015-06-09 Marek Polacek + + PR tree-optimization/66299 + * gcc.dg/pr66299-1.c: New test. + * gcc.dg/pr66299-2.c: New test. + * gcc.dg/pr66299-3.c: New test. + +2015-06-09 James Greenhalgh + + * g++.dg/ext/pr57735.C: Do not override -mfloat-abi directives + passed by the testsuite driver. + +2015-06-09 Richard Biener + + PR middle-end/66423 + * gcc.dg/fold-modpow2.c: New testcase. + +2015-06-09 Richard Biener + + PR tree-optimization/66419 + * gcc.dg/vect/bb-slp-37.c: New testcase. + +2015-06-09 Shiva Chen + + * gcc.target/arm/stl-cond.c: New test. + +2015-06-09 Richard Biener + + PR middle-end/66413 + * gcc.dg/torture/pr66413.c: New testcase. + +2015-06-09 Alexandre Oliva + + * gcc.dg/guality/pr54200.c: Add -fno-tree-coalesce-vars. + * gcc.dg/ssp-1.c: Make counter a register. + * gcc.dg/ssp-2.c: Likewise. + * gcc.dg/torture/parm-coalesce.c: New. + +2015-06-08 Jan Hubicka + + * gfortran.dg/lto/bind_c-2b_0.f90: New testcase. + * gfortran.dg/lto/bind_c-2b_1.c: New testcase. + +2015-06-08 Tom de Vries + + PR rtl-optimization/66444 + * gcc.dg/pr66444.c: New test. + +2015-06-08 Steven G. Kargl + + PR fortran/66245 + * gfortran.dg/class_is_1.f90: New test. + * gfortran.dg/type_is_1.f90: Ditto. + +2015-06-08 Marek Polacek + + PR c/66415 + * gcc.dg/cpp/pr66415-1.c: New test. + * gcc.dg/cpp/pr66415-2.c: New test. + +2015-06-08 Richard Biener + + PR tree-optimization/66422 + * gcc.dg/Warray-bounds-16.c: New testcase. + +2015-06-08 Richard Biener + + * gcc.dg/vect/slp-perm-10.c: New testcase. + * gcc.dg/vect/slp-23.c: Adjust. + * gcc.dg/torture/pr53366-2.c: Also verify cross-iteration + vector pointer update. + +2015-06-08 Marek Polacek + + PR sanitizer/66452 + * g++.dg/ubsan/pr66452.C: New test. + +2015-06-08 Tom de Vries + + PR tree-optimization/66436 + * gcc.dg/gomp/dump-new-function-2.c: New test. + * gcc.dg/gomp/dump-new-function-3.c: Same. + * gcc.dg/gomp/dump-new-function.c: Same. + +2015-06-08 Tom de Vries + + PR tree-optimization/66435 + * gcc.dg/gomp/notify-new-function-2.c: New test. + * gcc.dg/gomp/notify-new-function-3.c: Same. + * gcc.dg/gomp/notify-new-function.c: Same. + +2015-06-06 Jan Hubicka + + * gfortran.dg/lto/bind_c-1_0.f90: New testcase. + * gfortran.dg/lto/bind_c-1_1.c: New testcase. + * gcc.dg/lto/c-compatible-types_0.c: Rename to ... + * gcc.dg/lto/c-compatible-types-1_0.c: this one; fix template + * gcc.dg/lto/c-compatible-types_1.c: Rename to ... + * gcc.dg/lto/c-compatible-types-1_1.c: this one; harden for + -fshort-enum. + +2015-06-06 Thomas Koenig + + PR fortran/47659 + * gfortran.dg/array_constructor_type_17.f03: Adjust error message. + * gfortran.dg/warn_conversion.f90: Add warning for change in value + for assignment. + * gfortran.dg/warn_conversion_3.f90: Add warnings. + * gfortran.dg/warn_conversion_5.f90: New test. + * gfortran.dg/warn_conversion_6.f90: New test. + * gfortran.dg/warn_conversion_7.f90: New test. + +2015-06-05 Steven G. Kargl + + PR fortran/66347 + * gfortran.dg/blockdata_9.f: New test. + +2015-06-05 Thomas Koenig + + PR fortran/66385 + * gfortran.dg/forall_17.f90: New test. + +2015-06-05 Aldy Hernandez + + * g++.dg/cpp0x/pr57101.C: Add warning. + * g++.dg/debug/dwarf2/dwarf4-typedef.C: Same. + * g++.dg/ext/visibility/anon7.C: Same. + * g++.dg/ipa/pr63587-2.C: Same. + * g++.dg/opt/dump1.C: Same. + * g++.dg/opt/pr59622-3.C: Same. + * g++.dg/opt/pr59622.C: Same. + * g++.dg/torture/pr46383.C: Same. + * gcc.dg/dfp/pragma-float-const-decimal64-8.c: Same. + * g++.dg/debug/dwarf2/auto1.C: Adjust for early dwarf. + * g++.dg/lto/pr65549_0.C: Add { } to used but never defined + functions. + * gfortran.dg/intent_out_8.f90: Same. + * gfortran.dg/warn_target_lifetime_3.f90: Same. + +2015-06-05 Steven G. Kargl + + PR fortran/66377 + gfortran.dg/equiv_9.f90: New test. + + +2015-06-05 Tom de Vries + + merge from gomp4 branch: + 2015-05-28 Tom de Vries + + PR tree-optimization/65443 + * gcc.dg/parloops-exit-first-loop-alt-2.c: New test. + * gcc.dg/parloops-exit-first-loop-alt-3.c: New test. + * gcc.dg/parloops-exit-first-loop-alt.c: New test. + +2015-06-05 Nathan Sidwell + + PR c++/52595 + * g++,dg/cpp0x/nsdmi-defer5.C: Add template case. + +2015-06-05 Kugan Vivekanandarajah + + * gcc.target/arm/neon-reload-class.c: Remove movw and movt. + +2015-06-04 Paolo Carlini + + * obj-c++.dg/tls/diag-5.mm: Adjust per r224097. + +2015-06-04 Sriraman Tallam + + * gcc.target/i386/noplt-1.c: New test. + * gcc.target/i386/noplt-2.c: New test. + * gcc.target/i386/noplt-3.c: New test. + * gcc.target/i386/noplt-4.c: New test. + +2015-06-04 Thomas Koenig + + PR fortran/58749 + * gfortran.dg/adjustl_1.f90: New test. + +2015-06-04 Jan Hubicka + + * gcc.dg/lto/c-compatible-types_0.c: New testcase. + * gcc.dg/lto/c-compatible-types_1.c: New testcase. + +2015-06-03 Jan Hubicka + + * lto.c (iterative_hash_canonical_type, + gimple_register_canonical_type): only hash main variants of types + +2015-06-04 Sandra Loosemore + + * gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp: + Move set of dg-do-what-default after early return. + +2015-06-04 Marek Polacek + + PR c/66341 + * gcc.dg/lvalue-8.c: New test. + +2015-06-03 Manuel López-Ibáñez + Paolo Carlini + + PR c++/66130 + * g++.dg/other/pr66130.C: New. + * g++.dg/cpp0x/pr66130.C: Likewise. + +2015-06-03 Paolo Carlini + + * g++.dg/cpp0x/decl-loc1.C: New. + * g++.dg/cpp0x/constexpr-neg1.C: Adjust. + * g++.dg/cpp0x/constexpr-object1.C: Likewise. + * g++.dg/init/ctor8.C: Likewise. + * g++.dg/parse/semicolon4.C: Likewise. + +2015-06-03 Marek Polacek + + PR sanitizer/66190 + * g++.dg/ubsan/static-init-1.C: New test. + * g++.dg/ubsan/static-init-2.C: New test. + * g++.dg/ubsan/static-init-3.C: New test. + +2015-06-03 Uros Bizjak + + PR target/66275 + * gcc.target/i386/pr66275.c: New test. + +2015-06-03 Prathamesh Kulkarni + + * gcc.dg/Wcxx-compat-22.c: New testcase. + * c-c++-common/Wsizeof-pointer-memaccess1.c: Pass -Wno-c++-compat. + * c-c++-common/Wsizeof-pointer-memaccess2.c: Likewise. + * c-c++-common/pr58346-1.c: Likewise. + * c-c++-common/transparent-union-1.c: Likewise. + +2015-06-02 Andres Tiraboschi + + * g++.dg/plugin/plugin.exp: Add def-plugin-test.C. + * g++.dg/plugin/def_plugin.c: New file. + * g++.dg/plugin/def-plugin-test.C: New file. + +2015-06-03 Richard Biener + + * gcc.dg/vect/bb-slp-36.c: New testcase. + +2015-06-03 Ilya Enkovich + + * gcc.dg/lto/chkp-removed-alias_0.c: New. + +2015-06-03 Ilya Enkovich + + * gcc.dg/lto/chkp-privatize-1_0.c: New. + * gcc.dg/lto/chkp-privatize-1_1.c: New. + * gcc.dg/lto/chkp-privatize-2_0.c: New. + * gcc.dg/lto/chkp-privatize-2_1.c: New. + +2015-06-03 Marek Polacek + + PR c/64223 + PR c/29358 + * gcc.dg/pr64223-1.c: New test. + * gcc.dg/pr64223-2.c: New test. + +2015-06-03 Richard Biener + + PR tree-optimization/63916 + * gcc.dg/tree-ssa/ssa-fre-45.c: New testcase. + +2015-06-03 Richard Biener + + PR tree-optimization/66375 + * gcc.dg/torture/pr66375.c: New testcase. + +2015-06-03 Bin Cheng + + * gcc.dg/tree-ssa/pr65447.c: Increase searching number. + +2015-06-02 Kugan Vivekanandarajah + + PR target/65768 + * gcc.target/arm/maskdata.c: Remove -fno-gcse. + +2015-06-02 Steven G. Kargl + + PR fortran/66380 + * gfortran.dg/reshape_7.f90: New test. + +2015-06-02 David Malcolm + + PR c/66220: + * c-c++-common/Wmisleading-indentation.c (fn_35): New. + (fn_36): New. + +2015-06-02 Prathamesh Kulkarni + + PR c/49551 + * gcc.dg/pr49551.c: New testcase. + +2015-06-02 Richard Biener + + PR debug/65549 + * g++.dg/lto/pr65549_0.C: New testcase. + +2015-06-02 Thomas Schwinge + + PR libgomp/65742 + PR middle-end/66332 + * c-c++-common/goacc/acc_on_device-2.c: XFAIL for C, too. + +2015-06-02 Uros Bizjak + + * g++.dg/abi/mangle-regparm.C (dg-do): Fix x86_32 target selector. + +2015-06-02 Paolo Carlini + + PR c++/61683 + * g++.dg/cpp0x/decltype-mem-initializer1.C: New. + +2015-06-02 Bin Cheng + + PR tree-optimization/48052 + * gcc.dg/tree-ssa/scev-8.c: New. + * gcc.dg/tree-ssa/scev-9.c: New. + * gcc.dg/tree-ssa/scev-10.c: New. + * gcc.dg/vect/pr48052.c: New. + +2015-06-02 Eric Botcazou + + * gcc.dg/vect/vec-scal-opt.c: Adjust regexp. + +2015-06-02 Uros Bizjak + + * gcc.dg/vect/vect-outer-simd-1.c: Remove cleanup-tree-dump directive. + +2015-06-02 Marek Polacek + + PR middle-end/66345 + * gcc.dg/torture/pr66345.c: New test. + +2015-06-02 Richard Biener + + PR tree-optimization/65961 + * gcc.dg/torture/pr65961.c: New testcase. + +2015-06-02 Bin Cheng + + PR tree-optimization/52563 + PR tree-optimization/62173 + * gcc.dg/tree-ssa/scev-3.c: Remove xfail. + * gcc.dg/tree-ssa/scev-4.c: Ditto. + +2015-06-01 Eric Botcazou + + * gnat.dg/specs/varsize_return2.ads: New test. + * gnat.dg/specs/varsize_return2_pkg.ad[sb]: New helper. + +2015-06-01 Yuri Rumyantsev + + * gcc.dg/vect/vect-outer-simd-1.c: New test. + +2015-06-01 Matthew Wahab + + PR target/65697 + * gcc.target/aarch64/sync-comp-swap.c: New. + * gcc.target/aarch64/sync-comp-swap.x: New. + * gcc.target/aarch64/sync-op-acquire.c: New. + * gcc.target/aarch64/sync-op-acquire.x: New. + * gcc.target/aarch64/sync-op-full.c: New. + * gcc.target/aarch64/sync-op-full.x: New. + * gcc.target/aarch64/sync-op-release.c: New. + * gcc.target/aarch64/sync-op-release.x: New. + +2015-06-01 Alex Velenko + + * gcc.target/arm/thumb-ltu.c (foo): Predefined. + (bar): Predefined. + +2015-06-01 Richard Biener + + PR tree-optimization/66349 + PR tree-optimization/66352 + PR tree-optimization/66357 + * gcc.dg/torture/pr66357.c: New testcase. + * gcc.dg/torture/pr66349.c: Likewise. + * gfortran.fortran-torture/compile/pr66352.f90: Likewise. + +2015-06-01 Richard Biener + + Revert + 2015-05-29 Richard Biener + + PR tree-optimization/66314 + * gcc.dg/asan/pr66314.c: New testcase. + +2015-06-01 Richard Biener + + * gcc.dg/ipa/ipa-pta-1.c: Adjust. + +2015-06-01 Jakub Jelinek + + * gcc.target/s390/hotpatch-compile-15.c: Remove dg-prune-output + directives. + (hp3, hp4): Add inline keyword. + * gcc.target/s390/hotpatch-19.c: Remove dg-prune-output directive. + (hp2): Add inline keyword. + * gcc.target/s390/hotpatch-19.c: Remove dg-prune-output directives. + (hp2): Add inline keyword. + +2015-06-01 Ilya Enkovich + + PR target/65527 + * gcc.target/i386/mpx/chkp-fix-calls-1.c: New. + * gcc.target/i386/mpx/chkp-fix-calls-2.c: New. + * gcc.target/i386/mpx/chkp-fix-calls-3.c: New. + * gcc.target/i386/mpx/chkp-fix-calls-4.c: New. + +2015-06-01 Alan Lawrence + + * gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp: Pass + wildcard to gcc-dg-runtest; remove loop and unnecessary initialization. + +2015-06-01 Richard Biener + + PR tree-optimization/66280 + * g++.dg/torture/pr66280.C: New testcase. + * g++.dg/torture/pr66280-2.C: Likewise. + +2015-06-01 Eric Botcazou + + * gnat.dg/addr9_1.adb: New test. + * gnat.dg/addr9_2.adb: Likewise. + * gnat.dg/addr9_3.adb: Likewise. + * gnat.dg/addr9_4.adb: Likewise. + +2015-05-31 Eric Botcazou + + * g++.dg/other/dump-ada-spec-4.C: New test. + +2015-05-30 H.J. Lu + + * gcc.dg/alias-8.c: Fix dg-warning. + +2015-05-30 Jan Hubicka + + * gcc.dg/alias-8.c: Do not xfail. + * gcc.dg/pr62167.c: Prevent FRE. + * gcc.dg/alias-14.c: New testcase. + +2015-05-29 Christophe Lyon + + * gcc.target/arm/simd/vextp64_1.c: Close comment on final line. + +2015-05-29 Dominik Vogt + + PR target/66215 + * gcc.target/s390/hotpatch-1.c: Remove optimization options from + dg-options. + * gcc.target/s390/hotpatch-10.c: Likewise. + * gcc.target/s390/hotpatch-11.c: Likewise. + * gcc.target/s390/hotpatch-12.c: Likewise. + * gcc.target/s390/hotpatch-17.c: Likewise. + * gcc.target/s390/hotpatch-18.c: Likewise. + * gcc.target/s390/hotpatch-20.c: Likewise. + * gcc.target/s390/hotpatch-21.c: Likewise. + * gcc.target/s390/hotpatch-22.c: Likewise. + * gcc.target/s390/hotpatch-23.c: Likewise. + * gcc.target/s390/hotpatch-24.c: Likewise. + * gcc.target/s390/hotpatch-2.c: Likewise. Adjust scan-assembler + to check for the exact nops too. + * gcc.target/s390/hotpatch-3.c: Likewise. + * gcc.target/s390/hotpatch-4.c: Likewise. + * gcc.target/s390/hotpatch-5.c: Likewise. + * gcc.target/s390/hotpatch-6.c: Likewise. + * gcc.target/s390/hotpatch-7.c: Likewise. + * gcc.target/s390/hotpatch-8.c: Likewise. + * gcc.target/s390/hotpatch-9.c: Likewise. + * gcc.target/s390/hotpatch-14.c: Likewise. + * gcc.target/s390/hotpatch-15.c: Likewise. + * gcc.target/s390/hotpatch-16.c: Likewise. + * gcc.target/s390/hotpatch-19.c: Likewise. + * gcc.target/s390/hotpatch-25.c: Likewise. Remove + scan-assembler-times counting number of .align directives. + * gcc.target/s390/hotpatch-13.c: Remove optimization options from + dg-options. Remove scan-assembler-times counting number of .align + directives. + * gcc.target/s390/hotpatch-26.c: New file. + * gcc.target/s390/hotpatch-27.c: New file. + * gcc.target/s390/hotpatch-28.c: New file. + * gcc.target/s390/s390.exp: Run hotpatch-*.c tests as torture tests + using -Os -O0 -O1 -O2 -O3 options. + +2015-05-29 Kyrylo Tkachov + + * gcc.target/aarch64/vdup_lane_2.c: Close comment on final line. + +2015-05-29 Jakub Jelinek + + PR tree-optimization/66142 + * gcc.dg/vect/pr66142.c: New test. + +2015-05-29 Richard Biener + + PR tree-optimization/66314 + * gcc.dg/asan/pr66314.c: New testcase. + +2015-05-29 Bernhard Reutner-Fischer + + * lib/gcc-dg.exp (cleanup-ipa-dump, cleanup-rtl-dump, + cleanup-tree-dump, cleanup-dump, cleanup-saved-temps): Remove. + Adjust all callers. + (schedule-cleanups, dg-keep-saved-temps): New proc. + (gcc-dg-test-1): Schedule cleanups. + * lib/profopt.exp (profopt-execute): Likewise. + * g++.dg/cdce3.C: Adjust expected line numbers. + * gcc.dg/cdce1.c: Likewise. + * gcc.dg/cdce2.c: Likewise. + * gcc.dg/strlenopt-22.c: Fix comment delimiter. + * gcc.dg/strlenopt-24.c: Likewise. + * gcc.dg/tree-ssa/vrp26.c: Likewise. + * gcc.dg/tree-ssa/vrp28.c: Likewise. + * obj-c++.dg/encode-2.mm: Likewise. + +2015-05-28 DJ Delorie + + * gcc.c-torture/execute/pr65369.c: Don't assume int is 32 bits. + +2015-05-28 Eric Botcazou + + * gnat.dg/discr43.adb: New test. + +2015-05-28 Eric Botcazou + + * gnat.dg/varsize_temp.adb: Rename into... + * gnat.dg/varsize1.adb: ...this. + * gnat.dg/varsize_copy.ad[sb]: Rename into... + * gnat.dg/varsize2.ad[sb]: ...this. + * gnat.dg/varsize3_1.adb: New test. + * gnat.dg/varsize3_2.adb: Likewise. + * gnat.dg/varsize3_3.adb: Likewise. + * gnat.dg/varsize3_4.adb: Likewise. + * gnat.dg/varsize3_5.adb: Likewise. + * gnat.dg/varsize3_6.adb: Likewise. + * gnat.dg/varsize3_pkg1.ads: New helper. + * gnat.dg/varsize3_pkg2.ads: Likewise. + * gnat.dg/varsize3_pkg3.ads: Likewise. + +2015-05-28 Richard Biener + + * gcc.dg/vect/slp-reduc-sad.c: New testcase. + +2015-05-28 Richard Biener + + PR tree-optimization/66142 + * gcc.dg/tree-ssa/ssa-fre-44.c: Fixup. + +2015-05-28 Lawrence Velázquez + + PR target/63810 + * gcc.dg/darwin-minversion-3.c: Update testcase. + * gcc.dg/darwin-minversion-4.c: Ditto. + * gcc.dg/darwin-minversion-5.c: New testcase. + * gcc.dg/darwin-minversion-6.c: Ditto. + * gcc.dg/darwin-minversion-7.c: Ditto. + * gcc.dg/darwin-minversion-8.c: Ditto. + * gcc.dg/darwin-minversion-9.c: Ditto. + * gcc.dg/darwin-minversion-10.c: Ditto. + * gcc.dg/darwin-minversion-11.c: Ditto. + * gcc.dg/darwin-minversion-12.c: Ditto. + +2015-05-28 Thomas Preud'homme + + PR rtl-optimization/66168 + * gcc.c-torture/compile/pr66168.c: New test. + +2015-05-27 Jeff Law + + PR target/39726 + * gcc.dg/target/m68k/pr39726-1.c: New test. + +2015-05-27 Nathan Sidwell + + PR c++/66270 + * g++.dg/ext/alias-canon3.C: New. + +2015-05-27 Richard Biener + + PR tree-optimization/66272 + Revert parts of + 2014-08-15 Richard Biener + + PR tree-optimization/62031 + * gcc.dg/torture/pr66272.c: New testcase. + +2015-05-27 Richard Biener + + * gcc.dg/vect/slp-reduc-7.c: New testcase. + +2015-05-27 Honggyu Kim + + PR target/65358 + * gcc.dg/pr65358.c: New test. + +2015-05-27 Andre Vehreschild + + PR fortran/65548 + * gfortran.dg/allocate_with_source_5.f90: Correct errorneous + semantic. + * gfortran.dg/allocate_with_source_6.f90: New test. + +2015-05-26 Eric Botcazou + + * gnat.dg/atomic7_1.adb: New test. + * gnat.dg/atomic7_2.adb: Likewise. + * gnat.dg/atomic7_pkg1.ads: New helper. + * gnat.dg/atomic7_pkg2.ad[sb]: Likewise. + +2015-05-26 Michael Matz + + PR middle-end/66251 + * gcc.dg/vect/pr66251.c: New test. + +2015-05-26 Richard Biener + + PR tree-optimization/66142 + * gcc.dg/tree-ssa/ssa-fre-44.c: New testcase. + +2015-05-26 Paul Thomas + + PR fortran/66082 + * gfortran.dg/allocatable_scalar_13.f90: New test + +2015-05-25 Eric Botcazou + + * gnat.dg/warn11.adb: New test. + * gnat.dg/specs/alignment2.ads: Add dg-warning directive. + +2015-05-25 Eric Botcazou + + * gnat.dg/vfa1_1.adb: New test. + * gnat.dg/vfa1_2.adb: Likewise. + * gnat.dg/vfa1_3.adb: Likewise. + * gnat.dg/vfa1_4.adb: Likewise. + * gnat.dg/vfa1_pkg.ads: New helper. + +2015-05-25 Alexander Monakov + + * gcc.target/i386/pr66232-1.c: Adjust scan pattern. + * gcc.target/i386/pr66232-3.c: Likewise. + +2015-05-25 Uros Bizjak + + PR target/66274 + * gcc.target/i386/pr66274.c: New test. + +2015-05-25 Eric Botcazou + + * gnat.dg/renaming6.ad[sb]: New test. + +2015-05-25 Andreas Tobler + + * gcc.target/i386/pr64317.c: Use 'dg-require-effective-target ia32' + and 'dg-require-effective-target pie'. + +2015-05-23 Nathan Sidwell + + PR c++/66243 + * g++.dg/cpp0x/pr66243.C: New. + +2015-05-24 Jan Hubicka + + PR lto/66180 + * g++.dg/lto/pr66180_0.C: New testcase. + * g++.dg/lto/pr66180_1.C: New testcase. + +2015-05-24 Mikael Morin + + PR fortran/66257 + * typebound_call_27.f90: New file. + +2015-05-23 Nathan Sidwell + + PR c++/65936 + * g++.dg/template/pr65936.C: New. + +2015-05-22 Marc Glisse + + PR tree-optimization/63387 + * gcc.dg/pr63387-2.c: New testcase. + +2015-05-22 Marc Glisse + + * gcc.dg/simd-1.c: Update to the new message. + +2015-05-22 Marc Glisse + + * gcc.dg/nand.c: New testcase. + +2015-05-22 Sandra Loosemore + + * gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp: + Set dg-do-what-default to compile only on ARM targets without + arm_neon_hw execution support. Remove redundant c-torture-execute + in loop over test cases. + +2015-05-22 Kyrylo Tkachov + + PR target/65491 + * gcc.target/aarch64/pr65491_1.c: New test. + * gcc.target/aarch64/aapcs64/type-def.h (vlf1_t): New typedef. + * gcc.target/aarch64/aapcs64/func-ret-1.c: Add test for vlf1_t. + +2015-05-22 Paolo Carlini + + PR c++/65598 + * g++.dg/cpp0x/explicit9.C: New. + * g++.dg/cpp0x/explicit8.C: Check the locations too. + +2015-05-22 Richard Biener + + PR tree-optimization/66251 + * gfortran.fortran-torture/compile/pr66251.f90: New testcase. + +2015-05-22 Marek Polacek + + PR c/47043 + * c-c++-common/attributes-enum-1.c: New test. + * c-c++-common/attributes-enum-2.c: New test. + * g++.dg/cpp0x/attributes-enum-1.C: New test. + * g++.dg/cpp1y/attributes-enum-1.C: New test. + +2015-05-21 Sandra Loosemore + + * gcc.target/arm/simd/simd.exp: Skip all tests if no arm_neon_ok + effective target support. If no arm_neon_hw support, do not attempt + to execute the tests; only compile them. + * gcc.target/arm/simd/vextf32_1.c: Remove explicit "dg-do run" + and "dg-require-effective-target arm_neon_ok". + * gcc.target/arm/simd/vextp16_1.c: Likewise. + * gcc.target/arm/simd/vextp64_1.c: Likewise. + * gcc.target/arm/simd/vextp8_1.c: Likewise. + * gcc.target/arm/simd/vextQf32_1.c: Likewise. + * gcc.target/arm/simd/vextQp16_1.c: Likewise. + * gcc.target/arm/simd/vextQp64_1.c: Likewise. + * gcc.target/arm/simd/vextQp8_1.c: Likewise. + * gcc.target/arm/simd/vextQs16_1.c: Likewise. + * gcc.target/arm/simd/vextQs32_1.c: Likewise. + * gcc.target/arm/simd/vextQs64_1.c: Likewise. + * gcc.target/arm/simd/vextQs8_1.c: Likewise. + * gcc.target/arm/simd/vextQu16_1.c: Likewise. + * gcc.target/arm/simd/vextQu32_1.c: Likewise. + * gcc.target/arm/simd/vextQu64_1.c: Likewise. + * gcc.target/arm/simd/vextQu8_1.c: Likewise. + * gcc.target/arm/simd/vexts16_1.c: Likewise. + * gcc.target/arm/simd/vexts32_1.c: Likewise. + * gcc.target/arm/simd/vexts64_1.c: Likewise. + * gcc.target/arm/simd/vexts8_1.c: Likewise. + * gcc.target/arm/simd/vextu16_1.c: Likewise. + * gcc.target/arm/simd/vextu32_1.c: Likewise. + * gcc.target/arm/simd/vextu64_1.c: Likewise. + * gcc.target/arm/simd/vextu8_1.c: Likewise. + * gcc.target/arm/simd/vrev16p8_1.c: Likewise. + * gcc.target/arm/simd/vrev16qp8_1.c: Likewise. + * gcc.target/arm/simd/vrev16qs8_1.c: Likewise. + * gcc.target/arm/simd/vrev16qu8_1.c: Likewise. + * gcc.target/arm/simd/vrev16s8_1.c: Likewise. + * gcc.target/arm/simd/vrev16u8_1.c: Likewise. + * gcc.target/arm/simd/vrev32p16_1.c: Likewise. + * gcc.target/arm/simd/vrev32p8_1.c: Likewise. + * gcc.target/arm/simd/vrev32qp16_1.c: Likewise. + * gcc.target/arm/simd/vrev32qp8_1.c: Likewise. + * gcc.target/arm/simd/vrev32qs16_1.c: Likewise. + * gcc.target/arm/simd/vrev32qs8_1.c: Likewise. + * gcc.target/arm/simd/vrev32qu16_1.c: Likewise. + * gcc.target/arm/simd/vrev32qu8_1.c: Likewise. + * gcc.target/arm/simd/vrev32s16_1.c: Likewise. + * gcc.target/arm/simd/vrev32s8_1.c: Likewise. + * gcc.target/arm/simd/vrev32u16_1.c: Likewise. + * gcc.target/arm/simd/vrev32u8_1.c: Likewise. + * gcc.target/arm/simd/vrev64f32_1.c: Likewise. + * gcc.target/arm/simd/vrev64p16_1.c: Likewise. + * gcc.target/arm/simd/vrev64p8_1.c: Likewise. + * gcc.target/arm/simd/vrev64qf32_1.c: Likewise. + * gcc.target/arm/simd/vrev64qp16_1.c: Likewise. + * gcc.target/arm/simd/vrev64qp8_1.c: Likewise. + * gcc.target/arm/simd/vrev64qs16_1.c: Likewise. + * gcc.target/arm/simd/vrev64qs32_1.c: Likewise. + * gcc.target/arm/simd/vrev64qs8_1.c: Likewise. + * gcc.target/arm/simd/vrev64qu16_1.c: Likewise. + * gcc.target/arm/simd/vrev64qu32_1.c: Likewise. + * gcc.target/arm/simd/vrev64qu8_1.c: Likewise. + * gcc.target/arm/simd/vrev64s16_1.c: Likewise. + * gcc.target/arm/simd/vrev64s32_1.c: Likewise. + * gcc.target/arm/simd/vrev64s8_1.c: Likewise. + * gcc.target/arm/simd/vrev64u16_1.c: Likewise. + * gcc.target/arm/simd/vrev64u32_1.c: Likewise. + * gcc.target/arm/simd/vrev64u8_1.c: Likewise. + * gcc.target/arm/simd/vtrnf32_1.c: Likewise. + * gcc.target/arm/simd/vtrnp16_1.c: Likewise. + * gcc.target/arm/simd/vtrnp8_1.c: Likewise. + * gcc.target/arm/simd/vtrnqf32_1.c: Likewise. + * gcc.target/arm/simd/vtrnqp16_1.c: Likewise. + * gcc.target/arm/simd/vtrnqp8_1.c: Likewise. + * gcc.target/arm/simd/vtrnqs16_1.c: Likewise. + * gcc.target/arm/simd/vtrnqs32_1.c: Likewise. + * gcc.target/arm/simd/vtrnqs8_1.c: Likewise. + * gcc.target/arm/simd/vtrnqu16_1.c: Likewise. + * gcc.target/arm/simd/vtrnqu32_1.c: Likewise. + * gcc.target/arm/simd/vtrnqu8_1.c: Likewise. + * gcc.target/arm/simd/vtrns16_1.c: Likewise. + * gcc.target/arm/simd/vtrns32_1.c: Likewise. + * gcc.target/arm/simd/vtrns8_1.c: Likewise. + * gcc.target/arm/simd/vtrnu16_1.c: Likewise. + * gcc.target/arm/simd/vtrnu32_1.c: Likewise. + * gcc.target/arm/simd/vtrnu8_1.c: Likewise. + * gcc.target/arm/simd/vuzpf32_1.c: Likewise. + * gcc.target/arm/simd/vuzpp16_1.c: Likewise. + * gcc.target/arm/simd/vuzpp8_1.c: Likewise. + * gcc.target/arm/simd/vuzpqf32_1.c: Likewise. + * gcc.target/arm/simd/vuzpqp16_1.c: Likewise. + * gcc.target/arm/simd/vuzpqp8_1.c: Likewise. + * gcc.target/arm/simd/vuzpqs16_1.c: Likewise. + * gcc.target/arm/simd/vuzpqs32_1.c: Likewise. + * gcc.target/arm/simd/vuzpqs8_1.c: Likewise. + * gcc.target/arm/simd/vuzpqu16_1.c: Likewise. + * gcc.target/arm/simd/vuzpqu32_1.c: Likewise. + * gcc.target/arm/simd/vuzpqu8_1.c: Likewise. + * gcc.target/arm/simd/vuzps16_1.c: Likewise. + * gcc.target/arm/simd/vuzps32_1.c: Likewise. + * gcc.target/arm/simd/vuzps8_1.c: Likewise. + * gcc.target/arm/simd/vuzpu16_1.c: Likewise. + * gcc.target/arm/simd/vuzpu32_1.c: Likewise. + * gcc.target/arm/simd/vuzpu8_1.c: Likewise. + * gcc.target/arm/simd/vzipf32_1.c: Likewise. + * gcc.target/arm/simd/vzipp16_1.c: Likewise. + * gcc.target/arm/simd/vzipp8_1.c: Likewise. + * gcc.target/arm/simd/vzipqf32_1.c: Likewise. + * gcc.target/arm/simd/vzipqp16_1.c: Likewise. + * gcc.target/arm/simd/vzipqp8_1.c: Likewise. + * gcc.target/arm/simd/vzipqs16_1.c: Likewise. + * gcc.target/arm/simd/vzipqs32_1.c: Likewise. + * gcc.target/arm/simd/vzipqs8_1.c: Likewise. + * gcc.target/arm/simd/vzipqu16_1.c: Likewise. + * gcc.target/arm/simd/vzipqu32_1.c: Likewise. + * gcc.target/arm/simd/vzipqu8_1.c: Likewise. + * gcc.target/arm/simd/vzips16_1.c: Likewise. + * gcc.target/arm/simd/vzips32_1.c: Likewise. + * gcc.target/arm/simd/vzips8_1.c: Likewise. + * gcc.target/arm/simd/vzipu16_1.c: Likewise. + * gcc.target/arm/simd/vzipu32_1.c: Likewise. + * gcc.target/arm/simd/vzipu8_1.c: Likewise. + +2015-05-21 Sandra Loosemore + + * gcc.dg/vect/bb-slp-pr65935.c: Remove explicit "dg-do run". + * gcc.dg/vect/pr59354.c: Likewise. + * gcc.dg/vect/pr64252.c: Likewise. + * gcc.dg/vect/pr64404.c: Likewise. + * gcc.dg/vect/pr64493.c: Likewise. + * gcc.dg/vect/pr64495.c: Likewise. + * gcc.dg/vect/pr64844.c: Likewise. + * gcc.dg/vect/pr65518.c: Likewise. + * gcc.dg/vect/vect-aggressive-1.c: Likewise. + +2015-05-21 Paolo Carlini + + PR c++/66210 + * g++.dg/cpp1y/var-templ28.C: New. + +2015-05-21 H.J. Lu + + PR target/66232 + * gcc.target/i386/pr66232-1.c: New test. + * gcc.target/i386/pr66232-2.c: Likewise. + * gcc.target/i386/pr66232-3.c: Likewise. + * gcc.target/i386/pr66232-4.c: Likewise. + * gcc.target/i386/pr66232-5.c: Likewise. + +2015-05-21 Nathan Sidwell + + * g++.dg/cpp1y/pr60943.C: New. + +2015-05-21 Jakub Jelinek + + PR tree-optimization/66233 + * gcc.c-torture/execute/pr66233.c: New test. + +2015-05-21 Thomas Koenig + + PR fortran/66176 + * gfortran.dg/inline_matmul_11.f90: New test. + +2015-05-21 Andreas Tobler + + * gcc.target/i386/pr32219-1.c: Use 'dg-require-effective-target pie' + instead of listing several targets on its own. + * gcc.target/i386/pr32219-2.c: Likewise. + * gcc.target/i386/pr32219-3.c: Likewise. + * gcc.target/i386/pr32219-4.c: Likewise. + * gcc.target/i386/pr32219-5.c: Likewise. + * gcc.target/i386/pr32219-6.c: Likewise + * gcc.target/i386/pr32219-7.c: Likewise. + * gcc.target/i386/pr32219-8.c: Likewise. + * gcc.target/i386/pr39013-1.c: Likewise. + * gcc.target/i386/pr39013-2.c: Likewise. + * gcc.target/i386/pr64317.c: Likewise. + +2015-05-21 Jeff Law + + * gcc.target/hppa/shadd-3.c: New test. + * gcc.target/hppa/shadd-4.c: New test. + +2015-05-21 Michael Matz + + * gcc.dg/vect/vect-strided-store.c: New test. + * gfortran.dg/vect/fast-math-pr37021.f90: Adjust. + * gfortran.dg/vect/fast-math-rnflow-trs2a2.f90: Adjust. + +2015-05-21 Kyrylo Tkachov + + * lib/target-supports.exp (check_effective_target_sqrt_insn): New check. + * gcc.dg/pow-sqrt-synth-1.c: New test. + * gcc.target/aarch64/pow-sqrt-synth-1.c: Delete. + +2015-05-21 Richard Biener + + PR c++/66211 + * g++.dg/conversion/pr66211.C: New testcase. + * gcc.dg/tree-ssa/forwprop-18.c: Adjust. + +2015-05-21 Jeff Law + + * gcc.target/hppa/shadd-2.c: New test. + +2015-05-21 Oleg Endo + + PR target/54236 + * gcc.target/sh/pr54236-2.c: Fix typo in comment. + +2015-05-21 Ramana Radhakrishnan + + PR target/65937 + * gcc.target/arm/pr26702.c: Adjust target selector. + +2015-05-21 Ilya Enkovich + + PR middle-end/66221 + * gcc.dg/lto/pr66221_0.c: New test. + * gcc.dg/lto/pr66221_1.c: New test. + +2015-05-21 Manuel López-Ibáñez + + PR c/52952 + * gcc.dg/redecl-4.c: Update column numbers. + * gcc.dg/format/bitfld-1.c: Likewise. + * gcc.dg/format/attr-2.c: Likewise. + * gcc.dg/format/attr-6.c: Likewise. + * gcc.dg/format/attr-7.c (baz): Likewise. + * gcc.dg/format/asm_fprintf-1.c: Likewise. + * gcc.dg/format/attr-4.c: Likewise. + * gcc.dg/format/branch-1.c: Likewise. + * gcc.dg/format/c90-printf-1.c: Likewise. Add tests for column + locations within strings with embedded escape sequences. + +2015-05-20 Jeff Law + + * gcc.target/hppa/hppa.exp: New target test driver. + * gcc.target/hppa/shadd-1.c: New test. + +2015-05-20 Alex Velenko + + * gcc.target/arm/thumb1-far-jump-2.c (r4): Added int in definition. + +2015-05-20 David Malcolm + + * c-c++-common/Wmisleading-indentation.c (fn_32): New. + (fn_33_k_and_r_style): New. + (fn_33_stroustrup_style): New. + (fn_33_allman_style): New. + (fn_33_whitesmiths_style): New. + (fn_33_horstmann_style): New. + (fn_33_ratliff_banner_style): New. + (fn_33_lisp_style): New. + (fn_34_indent_dash_gnu): New. + (fn_34_indent_dash_kr): New. + (fn_34_indent_dash_orig): New. + (fn_34_indent_linux_style): New. + +2015-05-20 Andre Vehreschild + + PR fortran/65548 + * gfortran.dg/allocate_with_source_5.f90: Extend test. + +2015-05-20 Bin Cheng + + PR tree-optimization/65447 + * gcc.dg/tree-ssa/pr65447.c: New test. + +2015-05-19 Nathan sidwell + + * g++.dg/cpp0x/pr65954.C: New. + +2015-05-20 Oleg Endo + + * gcc.target/sh/pr64366.c: Remove -m4 -ml from dg-options. + +2015-05-19 Andreas Krebbel + + * lib/target-supports.exp: Vector do not always have natural + alignment on s390*. + +2015-05-19 David Sherwood + + * gcc.dg/loop-invariant.c: New testcase. + +2015-05-19 Andreas Krebbel + + * lib/target-supports.exp: Vector do not always have natural + alignment on s390*. + +2015-05-19 Andreas Krebbel + + * gcc.dg/tree-ssa/gen-vect-11b.c: Disable vector instructions on + s390*. + * gcc.dg/tree-ssa/gen-vect-11c.c: Likewise. + +2015-05-19 Andreas Krebbel + + * gcc.target/s390/zvector/vec-dbl-math-compile-1.c: New test. + * gcc.target/s390/zvector/vec-genbytemask-1.c: New test. + * gcc.target/s390/zvector/vec-genmask-1.c: New test. + * gcc.target/s390/zvector/vec-lcbb-1.c: New test. + * gcc.target/s390/zvector/vec-overloading-1.c: New test. + * gcc.target/s390/zvector/vec-overloading-2.c: New test. + * gcc.target/s390/zvector/vec-overloading-3.c: New test. + * gcc.target/s390/zvector/vec-overloading-4.c: New test. + * gcc.target/s390/zvector/vec-test-mask-1.c: New test. + * gcc.target/s390/zvector/vec-elem-1.c: New test. + +2015-05-19 Andreas Krebbel + + * gcc.target/s390/vector/vec-scalar-cmp-1.c: New test. + +2015-05-19 Andreas Krebbel + + * gcc.target/s390/s390.exp + (check_effective_target_vector): New check. + * gcc.target/s390/vector/vec-abi-1.c: New test. + * gcc.target/s390/vector/vec-abi-2.c: New test. + * gcc.target/s390/vector/vec-abi-3.c: New test. + * gcc.target/s390/vector/vec-abi-4.c: New test. + * gcc.target/s390/vector/vec-abi-align-1.c: New test. + * gcc.target/s390/vector/vec-abi-single-1.c: New test. + * gcc.target/s390/vector/vec-abi-single-2.c: New test. + * gcc.target/s390/vector/vec-abi-struct-1.c: New test. + * gcc.target/s390/vector/vec-abi-vararg-1.c: New test. + * gcc.target/s390/vector/vec-abi-vararg-2.c: New test. + * gcc.target/s390/vector/vec-clobber-1.c: New test. + * gcc.target/s390/vector/vec-cmp-1.c: New test. + * gcc.target/s390/vector/vec-cmp-2.c: New test. + * gcc.target/s390/vector/vec-dbl-math-compile-1.c: New test. + * gcc.target/s390/vector/vec-genbytemask-1.c: New test. + * gcc.target/s390/vector/vec-genbytemask-2.c: New test. + * gcc.target/s390/vector/vec-genmask-1.c: New test. + * gcc.target/s390/vector/vec-genmask-2.c: New test. + * gcc.target/s390/vector/vec-init-1.c: New test. + * gcc.target/s390/vector/vec-int-math-compile-1.c: New test. + * gcc.target/s390/vector/vec-shift-1.c: New test. + * gcc.target/s390/vector/vec-sub-1.c: New test. + +2015-05-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vqshrun_n.c: New file. + +2015-05-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vqshrn_n.c: New file. + +2015-05-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vqshlu_n.c: New file. + +2015-05-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vqshl_n.c: New file. + +2015-05-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vqshl.c: New file. + +2015-05-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vqrshrun_n.c: New file. + +2015-05-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vqrshrn_n.c: New file. + +2015-05-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vqrshl.c: New file. + +2015-05-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vqrdmulh_n.c: New file. + +2015-05-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vqrdmulh_lane.c: New file. + +2015-05-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vqrdmulh.c: New file. + +2015-05-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vqmovun.c: New file. + +2015-05-19 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vqmovn.c: New file. + +2015-05-19 Jakub Jelinek + + PR tree-optimization/66187 + * gcc.c-torture/execute/pr66187.c: New test. + * gcc.dg/pr66187-1.c: New test. + * gcc.dg/pr66187-2.c: New test. + +2015-05-19 Rainer Orth + + * gcc.dg/vect/bb-slp-35.c: Adjust. + +2015-05-19 Richard Biener + + PR tree-optimization/66165 + * gcc.dg/torture/pr66165.c: New testcase. + + PR tree-optimization/66185 + * gcc.dg/torture/pr66185.c: New testcase. + +2015-05-19 Oleg Endo + + PR target/54236 + * gcc.target/sh/pr54236-2.c: Adjust expected insn counts. + +2015-05-19 Sameera Deshpande + + * gcc.target/mips/p5600-bonding.c : New file. + +2015-05-18 Steven G. Kargl + + PR fortran/66106 + * gfortran.dg/interface_operator_1.f90: New tests. + +2015-05-18 Steven G. Kargl + + PR fortran/66057 + * gfortran.dg/generic_29.f90: New tests. + +2015-05-18 Steven G. Kargl + + PR fortran/66043 + * gfortran.dg/storage_size_6.f90: New tests. + +2015-05-18 Steven G. Kargl + + PR fortran/66045 + * gfortran.dg/null1.f90: New test. + +2015-05-18 Steven G. Kargl + + PR fortran/66044 + * gfortran.dg/entry_21.f90: New test. + +2015-05-18 Steven G. Kargl + + PR fortran/66043 + * gfortran.dg/storage_size_6.f90: New tests. + +2015-05-18 Steven G. Kargl + + PR fortran/66040 + * gfortran.dg/misplaced_statement.f90: New test. + +2015-05-18 Steven G. Kargl + + PR fortran/66039 + * gfortran.dg/filepos1.f90: New test + +2015-05-18 Steven G. Kargl + + PR fortran/64925 + * gfortran.dg/pr64925.f90: New test. + +2015-05-18 Steven G. Kargl + + * gfortran.dg/lto/pr41521_0.f90: Move INTERFACE statement in program + unit. + * gfortran.dg/lto/pr41576_1.f90: Ditto. + +2015-05-12 Andreas Tobler + + * lib/target-supports.exp (check_effective_target_pie): Add *-*-freebsd* + to the family of pie capable targets. + +2015-05-18 Alex Velenko + + * gcc.target/arm/bics_1.c : New testcase. + * gcc.target/arm/bics_2.c : New testcase. + * gcc.target/arm/bics_3.c : New testcase. + * gcc.target/arm/bics_4.c : New testcase. + +2015-05-18 Robert Suchanek + + * gcc.target/mips/umips-attr.c: New test. + +2015-05-17 Uros Bizjak + + * gcc.dg/20150120-1.c (dg-final): Cleanup original tree dump. + * gcc.dg/20150120-2.c (dg-final): Ditto. + * gcc.dg/20150120-2.c (dg-final): Ditto. + * gfortran.dg/inline_matmul_1.f90 (dg-final): Ditto. + +2015-05-17 Uros Bizjak + + PR target/66174 + * gcc.target/i386/pr66174.c: New test. + +2015-05-17 Thomas Koenig + + PR fortran/37131 + * gfortran.dg/matmul_bounds_6.f90: New test. + * gfortran.dg/matmul_bounds_7.f90: New test. + +2015-05-16 Jan Hubicka + + * gfortran.dg/lto/20091028-2_1.c: Fix return value. + * gfortran.dg/lto/pr41576_1.f90: Add interface. + * gfortran.dg/lto/pr41521_0.f90: Disable lto-type-mismatch + * gfortran.dg/lto/pr60635_0.f90: Disable lto-type-mismatch. + * gfortran.dg/lto/20091028-1_1.c: Fix return type. + * gcc.dg/lto/20120723_0.c: Disbale lto-type-mismatch. + +2015-05-16 Jerry DeLisle + + PR fortran/65903 + * gfortran.dg/continuation_13.f90: Update test. + * gfortran.dg/pr65903.f90: New test. + +2015-05-16 Thomas Koenig + + PR fortran/66113 + * gfortran.dg/block_14.f90: New test. + +2015-05-16 Manuel López-Ibáñez + + PR fortran/44054 + * lib/gfortran-dg.exp: Update regex to handle two locations for + the same diagnostic without caret. + * gfortran.dg/badline.f: Test also that line numbers are correct + before and after "left but not entered" warning. + +2015-05-16 Kugan Vivekanandarajah + Zhenqiang Chen + + PR target/65768 + * gcc.target/arm/maskdata.c: New test. + +2015-05-16 Mikael Morin + + PR fortran/65792 + * gfortran.dg/derived_constructor_components_5: New test + +2015-05-16 Uros Bizjak + + PR target/66140 + * gcc.target/alpha/pr66140.c: New test. + +2015-05-15 Mikhail Maltsev + + PR c/48956 + * gcc.dg/Wconversion-complex-c99.c: New test. + * gcc.dg/Wconversion-complex-gnu.c: New test. + +2015-05-15 Marc Glisse + + PR tree-optimization/64454 + * gcc.dg/modmod.c: New testcase. + +2015-05-15 Ilya Enkovich + + * gcc.dg/lto/chkp-wrap-asm-name_0.c: New. + +2015-05-15 Ilya Enkovich + + PR middle-end/66134 + * gcc.target/i386/mpx/pr66134.c: New test. + +2015-05-14 Rohit Arul Raj + + * gcc.target/powerpc/pr60158.c: New test. + +2015-05-14 Alexander Monakov + + * gcc.target/i386/sibcall-7.c: New test. + * gcc.target/i386/sibcall-8.c: New test. + +2015-05-14 Wilco Dijkstra + + * gcc.target/aarch64/abs_1.c (abs64): Update test for new abs expansion. + (abs64_in_dreg): Likewise. + +2015-05-14 Marek Polacek + + PR c/66066 + PR c/66127 + * gcc.dg/pr14649-1.c: Add -Wpedantic. + * gcc.dg/pr19984.c: Likewise. + * gcc.dg/pr66066-1.c: New test. + * gcc.dg/pr66066-2.c: New test. + * gcc.dg/pr66066-3.c: New test. + +2015-05-13 Kyrylo Tkachov + + * gcc.target/aarch64/pow-sqrt-synth-1.c: New test. + * gcc.dg/pow-sqrt.x: New file. + * gcc.dg/pow-sqrt-1.c: New test. + * gcc.dg/pow-sqrt-2.c: Likewise. + * gcc.dg/pow-sqrt-3.c: Likewise. + +2015-05-13 Richard Biener + + PR tree-optimization/66123 + * gcc.dg/torture/pr66123.c: New testcase. + +2015-05-13 Richard Biener + + PR middle-end/66110 + * gcc.dg/alias-2.c: Adjust. + * gcc.dg/tree-ssa/ssa-dse-17.c: New testcase. + +2015-05-13 Ilya Enkovich + + PR target/65103 + * gcc.target/i386/pr65103-3.c: New. + +2015-05-13 Martin Liska + + * g++.dg/ipa/pr65557.C: Remove unnecessary dump flag. + +2015-05-13 Jakub Jelinek + + PR target/66112 + * gcc.target/i386/pr66112-2.c: New test. + + PR target/66112 + * gcc.target/i386/pr66112-1.c: New test. + +2015-05-13 Ilya Enkovich + + PR target/66048 + * gcc.target/i386/mpx/pr66048.cc: New. + +2015-05-13 Thomas Preud'homme + + PR rtl-optimization/64616 + * gcc.dg/loop-8.c: New test. + * gcc.dg/loop-9.c: New test. + +2015-05-12 Jan Hubicka + + PR target/pr66047.c + * gcc.target/i386/pr66047.c: New testcase. + +2015-05-12 Jan Hubicka + + PR ipa/65873 + * gcc.c-torture/compile/pr65873.c: New testcase. + +2015-05-12 Thomas Koenig + + PR fortran/66111 + * gfortran.dg/inline_matmul_10.f90: New test. + +2015-05-12 David Malcolm + + * c-c++-common/Wmisleading-indentation.c: New testcase. + * c-c++-common/Wmisleading-indentation-2.c: New testcase. + * c-c++-common/Wmisleading-indentation-2.md: New file. + +2015-05-12 Sandra Loosemore + + * gcc.target/nios2/nios2-trap-insn.c: Expect "trap" instead of + "break". + * gcc.target/nios2/nios2-stack-check-1.c: Likewise. + +2015-05-12 Richard Biener + + PR tree-optimization/66101 + * gcc.dg/torture/pr66101.c: New testcase. + +2015-05-12 Richard Biener + + PR tree-optimization/37021 + * gcc.target/i386/vect-addsub.c: New testcase. + +2015-05-12 Alexander Monakov + + * gcc.target/i386/pr65753.c: Use -O2 instead of -O. + +2015-05-12 Tom de Vries + + PR tree-optimization/66010 + * gcc.dg/tree-ssa/stdarg-2.c: Undo scan xfails for f15. + +2015-05-12 Paolo Carlini + + PR c++/65133 + * g++.dg/cpp0x/trailing10.C: New. + +2015-05-12 Richard Biener + + * gcc.dg/vect/bb-slp-35.c: New testcase. + +2015-05-11 Mikael Morin + + PR fortran/66100 + * gfortran.dg/bound_simplification_6.f90: New. + +2015-05-11 Steve Ellcey + + * gcc.target/mips/branch-1.c: Pass argument to bar(). + +2015-05-11 Alexander Monakov + + PR target/65753 + * gcc.target/i386/pr65753.c: New test. + +2015-05-11 Richard Sandiford + + PR rtl-optimization/66076 + * gcc.dg/torture/pr66076.c: New test. + +2015-05-10 Thomas Koenig + + PR fortran/66041 + * gfortran.dg/inline_matmul_7.f90: New test. + * gfortran.dg/inline_matmul_8.f90: New test. + * gfortran.dg/inline_matmul_9.f90: New test. + +2015-05-10 Mikael Morin + + * gfortran.dg/bound_simplification_5.f90: New. + +2015-05-09 Jason Merrill + + * lib/target-supports.exp (cxx_default): New global. + (check_effective_target_c++11_only) + (check_effective_target_c++14_only) + (check_effective_target_c++98_only) + (check_effective_target_c++1z_only): Check it. + +2015-05-09 Marc Glisse + + PR tree-optimization/64454 + * gcc.dg/tree-ssa/vrp97.c: New file. + * gcc.dg/vect/slp-perm-7.c: Update. + +2015-05-09 Andre Vehreschild + + PR fortran/65894 + * gfortran.dg/elemental_subroutine_11.f90: New test. + +2015-05-08 Richard Biener + + PR tree-optimization/66036 + * gcc.dg/vect/slp-41.c: New testcase. + +2015-05-08 Mikael Morin + + * gfortran.dg/elemental_optional_args_7.f90: New. + +2015-05-08 Alan Lawrence + + * gcc.target/aarch64/singleton_intrinsics_1.c: Generalize regex to + allow cmlt or sshr. + +2015-05-08 Marek Polacek + + PR c/64918 + * gcc.dg/Woverride-init-side-effects-1.c: New test. + * gcc.dg/Woverride-init-side-effects-2.c: New test. + +2015-05-07 Marek Polacek + + PR c/65179 + * c-c++-common/Wshift-negative-value-1.c: New test. + * c-c++-common/Wshift-negative-value-2.c: New test. + * c-c++-common/Wshift-negative-value-3.c: New test. + * c-c++-common/Wshift-negative-value-4.c: New test. + * c-c++-common/Wshift-negative-value-5.c: New test. + * c-c++-common/Wshift-negative-value-6.c: New test. + * gcc.dg/c90-left-shift-1.c: New test. + * gcc.dg/c99-const-expr-7.c: Add dg-error. + * gcc.dg/c99-left-shift-1.c: New test. + +2015-05-07 Segher Boessenkool + + PR middle-end/192 + PR middle-end/54303 + * gcc.dg/fdata-sections-2.c: New file. + +2015-05-07 Marek Polacek + + PR testsuite/66046 + * c-c++-common/ubsan/align-6.c: Don't match trailing newlines in the + last dg-output. + * c-c++-common/ubsan/align-7.c: Likewise. + * c-c++-common/ubsan/bounds-8.c: Likewise. + * c-c++-common/ubsan/float-cast-overflow-9.c: Likewise. + * c-c++-common/ubsan/load-bool-enum.c: Likewise. + * c-c++-common/ubsan/null-1.c: Likewise. + * c-c++-common/ubsan/null-10.c: Likewise. + * c-c++-common/ubsan/null-11.c: Likewise. + * c-c++-common/ubsan/null-2.c: Likewise. + * c-c++-common/ubsan/null-3.c: Likewise. + * c-c++-common/ubsan/null-4.c: Likewise. + * c-c++-common/ubsan/null-5.c: Likewise. + * c-c++-common/ubsan/null-6.c: Likewise. + * c-c++-common/ubsan/null-7.c: Likewise. + * c-c++-common/ubsan/null-8.c: Likewise. + * c-c++-common/ubsan/null-9.c: Likewise. + * c-c++-common/ubsan/object-size-1.c: Likewise. + * c-c++-common/ubsan/object-size-10.c: Likewise. + * c-c++-common/ubsan/object-size-4.c: Likewise. + * c-c++-common/ubsan/object-size-5.c: Likewise. + * c-c++-common/ubsan/object-size-7.c: Likewise. + * c-c++-common/ubsan/object-size-8.c: Likewise. + * c-c++-common/ubsan/object-size-9.c: Likewise. + * c-c++-common/ubsan/overflow-add-2.c: Likewise. + * c-c++-common/ubsan/overflow-int128.c: Likewise. + * c-c++-common/ubsan/overflow-mul-2.c: Likewise. + * c-c++-common/ubsan/overflow-mul-4.c: Likewise. + * c-c++-common/ubsan/overflow-negate-1.c: Likewise. + * c-c++-common/ubsan/overflow-negate-3.c: Likewise. + * c-c++-common/ubsan/overflow-sub-2.c: Likewise. + * c-c++-common/ubsan/overflow-sub-4.c: Likewise. + * c-c++-common/ubsan/pr59333.c: Likewise. + * c-c++-common/ubsan/pr59667.c: Likewise. + * c-c++-common/ubsan/pr60613-2.c: Likewise. + * c-c++-common/ubsan/pr60636.c: Likewise. + * c-c++-common/ubsan/pr63802.c: Likewise. + * c-c++-common/ubsan/recovery-1.c: Likewise. + * c-c++-common/ubsan/recovery-3.c: Likewise. + * c-c++-common/ubsan/shift-1.c: Likewise. + * c-c++-common/ubsan/shift-2.c: Likewise. + * c-c++-common/ubsan/shift-4.c: Likewise. + * c-c++-common/ubsan/shift-7.c: Likewise. + * c-c++-common/ubsan/undefined-2.c: Likewise. + * c-c++-common/ubsan/vla-1.c: Likewise. + * g++.dg/ubsan/null-1.C: Likewise. + * g++.dg/ubsan/null-3.C: Likewise. + * g++.dg/ubsan/null-4.C: Likewise. + * g++.dg/ubsan/vptr-8.C: Likewise. + * g++.dg/ubsan/vptr-9.C: Likewise. + * gcc.dg/ubsan/bounds-2.c: Likewise. + * gcc.dg/ubsan/object-size-9.c: Likewise. + +2015-05-07 Jeff Law + + * gcc.dg/tree-ssa/shorten-1.c: New test. + +2015-05-07 Richard Biener + + PR tree-optimization/66002 + * gcc.dg/vect/vect-125.c: New testcase. + +2015-05-07 Marek Polacek + Martin Uecker + + * c-c++-common/ubsan/bounds-10.c: New test. + +2015-05-06 David Malcolm + + * jit.dg/harness.h (set_options): Wrap with + #ifndef TEST_ESCHEWS_SET_OPTIONS. + * jit.dg/jit.exp (is_testcase_meant_to_generate_a_reproducer): + Special-case test-benchmark.c as a negative. + * jit.dg/test-benchmark.c: New file. + +2015-05-06 Yvan Roux + + PR target/64208 + * gcc.target/arm/pr64208.c: New test. + +2015-05-06 Alan Modra + + PR target/66020 + * gcc.target/powerpc/ppc64-abi-2.c (my_mcount): Rewrite. + (gparms): Make volatile. + +2015-05-06 Richard Biener + + PR tree-optimization/62283 + * gcc.dg/vect/bb-slp-32.c: Remove XFAIL. + +2015-05-06 Christian Bruel + + PR target/66015 + * gcc.target/aarch64/iinline-attr-1.c: New test. + +2015-05-06 Richard Biener + + * gcc.dg/vect/bb-slp-34.c: New testcase. + +2015-05-06 Richard Biener + + PR tree-optimization/62283 + * gcc.dg/vect/bb-slp-14.c: Adjust. + +2015-05-05 Uros Bizjak + + PR target/65990 + * gcc.target/i386/pr65990.c: New test. + +2015-05-05 Ilya Tocar + + PR target/65915 + * gcc.target/i386/pr65915.c: New. + +2015-05-05 Tom de Vries + + * gcc.dg/tree-ssa/stdarg-2.c: Xfail f15 scans which test for presence of + 'va_list escapes 0'. + +2015-05-05 Tom de Vries + + * gcc.dg/tree-ssa/stdarg-2.c: Undo incorrect fix in f15 scans committed + in r222173. + +2015-05-05 Yvan Roux + + * gcc.target/arm/pr65067.c: Require Thumb2 effective target. + * gcc.target/arm/pr65924.c: Likewise. + +2015-05-05 Uros Bizjak + + PR target/65871 + * gcc.target/i386/pr65871-3.c: New test. + +2015-05-04 Jeff Law + + Revert: + 2015-05-04 Jeff Law + * gcc.dg/tree-ssa/shorten-1.c: New test. + +2015-05-04 Paolo Carlini + Jakub Jelinek + + PR c++/66007 + * g++.dg/cpp0x/Wnarrowing4.C: New. + +2015-05-04 Sandra Loosemore + + * lib/target-supports.exp + (check_effective_target_keeps_null_pointer_checks): Clarify that + this is for targets that disable -fdelete-null-pointer-checks, + not default it to off. + * gcc.dg/ipa/ipa-pta-14.c: Make dependence on + -fdelete-null-pointer-checks explicit. + * gcc.dg/tree-ssa/20030730-1.c: Likewise. + * gcc.dg/tree-ssa/20030730-2.c: Likewise. + * gcc.dg/tree-ssa/isolate-1.c: Likewise. + * gcc.dg/tree-ssa/isolate-2.c: Likewise. + * gcc.dg/tree-ssa/isolate-3.c: Likewise. + * gcc.dg/tree-ssa/isolate-4.c: Likewise. + * gcc.dg/tree-ssa/isolate-5.c: Likewise. + * gcc.dg/tree-ssa/nonzero-1.c: Likewise. + * gcc.dg/tree-ssa/pr20318.c: Likewise. + * gcc.dg/tree-ssa/pr20701.c: Likewise. + * gcc.dg/tree-ssa/pr20702.c: Likewise. + * gcc.dg/tree-ssa/pr21086.c: Likewise. + * gcc.dg/tree-ssa/pr21090.c: Likewise. + * gcc.dg/tree-ssa/pr58480.c: Likewise. + * gcc.dg/tree-ssa/pta-escape-1.c: Likewise. + * gcc.dg/tree-ssa/pta-escape-2.c: Likewise. + * gcc.dg/tree-ssa/pta-escape-3.c: Likewise. + * gcc.dg/tree-ssa/ssa-vrp-thread-1.c: Likewise. + * gcc.dg/tree-ssa/unreachable.c: Likewise. + * gcc.dg/tree-ssa/vrp02.c: Likewise. + * gcc.dg/tree-ssa/vrp07.c: Likewise. + * gcc.dg/tree-ssa/vrp08.c: Likewise. + * gcc.dg/tree-ssa/vrp55.c: Likewise. + * g++.dg/cpp0x/static_assert9.C: Likewise. + * g++.dg/tree-ssa/nonzero-1.C: Likewise. + * g++.dg/tree-ssa/pr19476-1.C: Likewise. + * g++.dg/tree-ssa/pr19476-2.C: Likewise. + * g++.dg/tree-ssa/pr19476-5.C: Likewise. + * g++.dg/tree-ssa/pr26406.C: Likewise. + +2015-05-04 Jakub Jelinek + + PR tree-optimization/65984 + * c-c++-common/ubsan/pr65984.c: New test. + +2015-05-04 Jeff Law + + * gcc.dg/tree-ssa/shorten-1.c: New test. + +2015-05-04 Francois-Xavier Coudert + + PR fortran/44735 + * gfortran.dg/pr44735.f90: New test. + +2015-05-04 Richard Biener + + PR tree-optimization/65965 + * gcc.dg/vect/bb-slp-33.c: New testcase. + +2015-05-04 Richard Biener + + PR tree-optimization/65935 + * gcc.dg/vect/bb-slp-pr65935.c: New testcase. + +2015-05-03 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/binary_op.inc: Call CHECK + for each supported variant instead of CHECK_RESULTS. + * gcc.target/aarch64/advsimd-intrinsics/binary_sat_op.inc: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/unary_op.inc: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vXXXl.inc: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vXXXw.inc: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vsXi_n.inc: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vshuffle.inc: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vaba.c: Remove dummy + expected results for unsupported variants. Call CHECK for each + supported variant instead of CHECK_RESULTS. + * gcc.target/aarch64/advsimd-intrinsics/vabal.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vabd.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vabdl.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vcls.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vclz.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vcnt.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vcombine.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vcreate.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vget_high.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vget_low.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vldX.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vldX_dup.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vldX_lane.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vmul.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vshl.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vsli_n.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vsri_n.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vabs.c: Remove dummy + expected results for unsupported variants. + * gcc.target/aarch64/advsimd-intrinsics/vadd.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vaddl.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vaddw.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vand.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vbic.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vcage.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vcagt.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vcale.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vcalt.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vceq.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vcge.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vcgt.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vcle.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vclt.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/veor.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vneg.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vorn.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vorr.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vqabs.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vqadd.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vqneg.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vqsub.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vsub.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vsubl.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vsubw.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vtrn.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vuzp.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vzip.c: Likewise. + +2015-05-03 Thomas Koenig + + PR fortran/37131 + * gfortran.dg/bound_9.f90: Add pointer assignment. + +2015-05-01 Paolo Carlini + Prathamesh Kulharni + + PR c++/65858 + * g++.dg/cpp0x/Wnarrowing3.C: New. + +2015-05-01 Rasmus Villemoes + + * gcc.dg/20150120-1.c: New test. + * gcc.dg/20150120-2.c: New test. + * gcc.dg/20150120-3.c: New test. + +2015-05-01 David Edelsohn + + * gcc.dg/debug/pr65771.c: Add "dg-add-options tls". + +2015-05-01 Renlin Li + + * gcc.dg/pr65345-2.c: Add sync_int_long target selector. + +2015-05-01 Mikael Morin + + * gfortran.dg/bound_simplification_4.f90: New. + +2015-04-30 Bill Schmidt + + * gcc.target/powerpc/crypto-builtin-2.c: Replace powerpc_vsx_ok + with powerpc_p8vector_ok. + +2015-04-30 Thomas Koenig + + PR fortran/37131 + * gfortran.dg/coarray_lib_this_image_2.f90: Adjust + scan pattern. + * gfortran.dg/bound_9.f90: New test case. + +2015-04-30 Uros Bizjak + + * g++.dg/ipa/devirt-28a.C: Require LTO effective target. + * g++.dg/ext/sync-4.C (dg-additional-options): Use -march=pentium + for 32bit x86 targets. + * gcc.dg/pr36504.c (dg-additional-options): Use -march=i686 -msse + for 32bit x86 targets. + * gcc.dg/pr39455.c (dg-additional-options): Ditto. + * gcc.dg/pr45352-1.c (dg-additional-options): Ditto. + * gcc.dg/pr63914.c (dg-additional-options): Use -msse + for 32bit x86 targets. + +2015-04-30 Marek Polacek + + PR tree-optimization/63551 + * g++.dg/ipa/pr63551.C: New test. + +2015-04-30 Caroline Tice + + PR 65929 + * gcc.dg/tree-prof/cold_partition_label.c: Only check for cold + partition size on certain targets. + +2015-04-30 Renlin Li + + * gcc.target/aarch64/vect-reduc-or_1.c: New. + +2015-04-30 Marek Polacek + + * c-c++-common/Wbool-compare-3.c: New test. + + * gcc.dg/pr65901.c (foo): Adjust dg-error. + * gcc.c-torture/compile/pr48767.c (foo): Likewise. + +2015-04-30 Paolo Carlini + + PR c++/57610 + * g++.dg/init/ref22.C: New. + +2015-04-30 Marek Polacek + + * gcc.dg/init-bad-8.c: New test. + + * gcc.dg/incomplete-typedef-1.c: New test. + +2015-04-30 Paolo Carlini + + PR c++/59955 + * g++.dg/template/crash121.C: New. + +2015-04-29 Petar Jovanovic + + * gcc.target/mips/call-from-init.c: New test. + * gcc.target/mips/mips.exp: Add section_start to mips_option_groups. + +2015-04-29 Uros Bizjak + + PR target/65871 + * gcc.target/i386/pr65871-1.c: New test. + * gcc.target/i386/pr65871-2.c: Ditto. + +2015-04-29 Marek Polacek + + PR c/64610 + * c-c++-common/Wbool-compare-1.c (fn1): Remove a few lines. + * c-c++-common/Wbool-compare-2.c: New test. + +2015-04-29 Alan Lawrence + + PR target/65770 + * gcc.target/aarch64/vstN_lane_1.c: New file. + +2015-04-29 Paolo Carlini + + PR c++/64667 + * g++.dg/warn/Winit-self-3.C: New. + +2015-04-29 Uros Bizjak + + * gfortran.dg/namelist_87.f90: Use dg-add-options ieee. + +2015-04-29 Yvan Roux + + PR target/65924 + * gcc.target/arm/pr65924.c: New test. + +2015-04-29 Thomas Schwinge + + * g++.dg/gomp/tpl-target-update.C: New file. + +2015-04-29 Richard Biener + + PR tree-optimization/65917 + * gcc.dg/tree-ssa/20030922-2.c: Disable ifcombine and XFAIL. + +2015-04-29 Christian Bruel + + PR target/64835 + * gcc.dg/ipa/iinline-attr.c: New test. + * gcc.target/i386/iinline-attr-2.c: New test. + +2015-04-28 Andre Vehreschild + + * gfortran.dg/implicit_class_1.f90: Adding flag to check, if + segfault is fixed. + +2015-04-28 Bill Schmidt + + * gcc.dg/vect/vect-33.c: Remove spurious line. + +2015-04-28 Jan Hubicka + + * g++.dg/tree-ssa/pr61034.C: Add temporary; fix template. + +2015-04-28 Marek Polacek + + PR c/65901 + * gcc.c-torture/compile/pr48767.c (foo): Add dg-error. + * gcc.dg/pr65901.c: New test. + +2015-04-28 Richard Biener + + PR tree-optimization/62283 + * gfortran.dg/vect/pr62283-2.f: New testcase. + * gcc.dg/vect/bb-slp-14.c: Adjust. + +2015-04-28 Richard Biener + + PR tree-optimization/65851 + * g++.dg/torture/pr65851.C: New testcase. + +2015-04-27 Jeff Law + + PR tree-optimization/65217 + * gcc.target/i386/pr65217.c: Remove XFAIL. + +2015-04-27 Andre Vehreschild + + PR fortran/60322 + Add tests forgotten to svn-add. + * gfortran.dg/class_allocate_19.f03: New test. + * gfortran.dg/class_array_20.f03: New test. + * gfortran.dg/class_array_21.f03: New test. + * gfortran.dg/finalize_29.f08: New test. + +2015-04-27 Andre Vehreschild + + PR fortran/59678 + PR fortran/65841 + * gfortran.dg/alloc_comp_deep_copy_1.f03: New test. + * gfortran.dg/alloc_comp_deep_copy_2.f03: New test. + +2015-04-27 Caroline Tice + + * gcc.dg/tree-prof/cold_partition_label.c (main): Check for cold + partition size. + +2015-04-27 Peter Bergner + + PR target/64579 + * gcc.target/powerpc/htm-1.c: New test. + * gcc.target/powerpc/htm-builtin-1.c (__builtin_tabortdc): Only test + on 64-bit compiles. + (__builtin_tabortdci): Likewise. + (__builtin_tcheck): Remove operand. + * lib/target-supports.exp (check_htm_hw_available): New function. + +2015-04-27 Richard Biener + + * gcc.target/i386/pr65217.c: XFAIL. + +2015-04-27 Jakub Jelinek + + PR tree-optimization/65875 + * gcc.c-torture/compile/pr65875.c: New test. + +2015-04-25 Marek Polacek + + PR c/52085 + * gcc.dg/enum-incomplete-2.c: New test. + * gcc.dg/enum-mode-1.c: New test. + +2015-04-24 Michael Meissner + + PR target/65849 + * gcc.target/powerpc/pr65849-1.c: New test to verify being able to + set new options. + * gcc.target/powerpc/pr65849-2.c: Likewise. + +2015-04-24 Tom de Vries + + PR tree-optimization/65802 + * g++.dg/pr65802.C: Move to ... + * gcc.dg/pr65802.c: ... here. Add -fexceptions to dg-options. Include + stdarg.h. Rewrite for C. + (fn1): Use va_list and va_arg. Make variable args function. Add use of + va_start and va_end. Remove unnecessary inline asm. + +2015-04-24 Uros Bizjak + Wei Mi + + * gcc.target/i386/sse2-load-multi.c: New test. + * gcc.target/i386/sse2-store-multi.c: Ditto. + +2015-04-24 Marek Polacek + + PR c/65830 + * c-c++-common/pr65830.c: New test. + + PR c/63357 + * c-c++-common/Wlogical-op-1.c: New test. + +2015-04-24 Marek Polacek + + PR c/61534 + * c-c++-common/pr61534-1.c: New test. + +2015-04-24 Thomas Preud'homme + Steven Bosscher + + PR rtl-optimization/34503 + * gcc.target/arm/pr64616.c: New file. + +2015-04-24 Bin Cheng + + * gcc.target/arm/pr42172-1.c: Check str instead of ldr. + +2015-04-24 Terry Guo + + * gcc.target/arm/pr65710.c: Update the options. + +2015-04-23 H.J. Lu + + * gcc.target/i386/pr65523.c: Skip x32. + +2015-04-23 Kyrylo Tkachov + + * gcc.target/arm/neon/pr51534.c: Update vcg* scan-assembly patterns + to look for vcl* where appropriate. + +2015-04-23 Bill Schmidt + + * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c: Replace + vect_no_align with vect_no_align && { ! vect_hw_misalign }. + +2015-04-23 Kwok Cheung Yeung + + PR target/26702 + * gcc.target/arm/pr26702.c: New test. + +2015-04-23 Marek Polacek + + PR c/65345 + * gcc.dg/pr65345-1.c: New test. + * gcc.dg/pr65345-2.c: New test. + +2015-04-23 Bill Schmidt + + * gcc.target/powerpc/crypto-builtin-2.c: New. + +2015-04-23 Andre Vehreschild + + PR fortran/60322 + * gfortran.dg/class_allocate_19.f03: New test. + * gfortran.dg/class_array_20.f03: New test. + * gfortran.dg/class_array_21.f03: New test. + * gfortran.dg/finalize_10.f90: Corrected scan-trees. + * gfortran.dg/finalize_15.f90: Fixing comparision to model + initialization correctly. + * gfortran.dg/finalize_29.f08: New test. + +2015-04-22 Bill Schmidt + + * gcc.target/powerpc/swaps-p8-18.c: New test. + +2015-04-22 Bill Schmidt + + PR target/65456 + * gcc.dg/vect/bb-slp-24.c: Exclude test for POWER8. + * gcc.dg/vect/bb-slp-25.c: Likewise. + * gcc.dg/vect/bb-slp-29.c: Likewise. + * gcc.dg/vect/bb-slp-32.c: Replace vect_no_align with + vect_no_align && { ! vect_hw_misalign }. + * gcc.dg/vect/bb-slp-9.c: Likewise. + * gcc.dg/vect/costmodel/ppc/costmodel-slp-33.c: Exclude test for + vect_hw_misalign. + * gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c: Likewise. + * gcc.dg/vect/costmodel/ppc/costmodel-vect-76b.c: Adjust tests to + account for POWER8, where peeling for alignment is not needed. + * gcc.dg/vect/costmodel/ppc/costmodel-vect-outer-fir.c: Replace + vect_no_align with vect_no_align && { ! vect_hw_misalign }. + * gcc.dg.vect.if-cvt-stores-vect-ifcvt-18.c: Likewise. + * gcc.dg/vect/no-scevccp-outer-6-global.c: Likewise. + * gcc.dg/vect/no-scevccp-outer-6.c: Likewise. + * gcc.dg/vect/no-vfa-vect-43.c: Likewise. + * gcc.dg/vect/no-vfa-vect-57.c: Likewise. + * gcc.dg/vect/no-vfa-vect-61.c: Likewise. + * gcc.dg/vect/no-vfa-vect-depend-1.c: Likewise. + * gcc.dg/vect/no-vfa-vect-depend-2.c: Likewise. + * gcc.dg/vect/no-vfa-vect-depend-3.c: Likewise. + * gcc.dg/vect/pr16105.c: Likewise. + * gcc.dg/vect/pr20122.c: Likewise. + * gcc.dg/vect/pr33804.c: Likewise. + * gcc.dg/vect/pr33953.c: Likewise. + * gcc.dg/vect/pr56787.c: Likewise. + * gcc.dg/vect/pr58508.c: Likewise. + * gcc.dg/vect/slp-25.c: Likewise. + * gcc.dg/vect/vect-105-bit-array.c: Likewise. + * gcc.dg/vect/vect-105.c: Likewise. + * gcc.dg/vect/vect-27.c: Likewise. + * gcc.dg/vect/vect-29.c: Likewise. + * gcc.dg/vect/vect-33.c: Exclude unaligned access test for + POWER8. + * gcc.dg/vect/vect-42.c: Replace vect_no_align with vect_no_align + && { ! vect_hw_misalign }. + * gcc.dg/vect/vect-44.c: Likewise. + * gcc.dg/vect/vect-48.c: Likewise. + * gcc.dg/vect/vect-50.c: Likewise. + * gcc.dg/vect/vect-52.c: Likewise. + * gcc.dg/vect/vect-56.c: Likewise. + * gcc.dg/vect/vect-60.c: Likewise. + * gcc.dg/vect/vect-72.c: Likewise. + * gcc.dg/vect/vect-75-big-array.c: Likewise. + * gcc.dg/vect/vect-75.c: Likewise. + * gcc.dg/vect/vect-77-alignchecks.c: Likewise. + * gcc.dg/vect/vect-77-global.c: Likewise. + * gcc.dg/vect/vect-78-alignchecks.c: Likewise. + * gcc.dg/vect/vect-78-global.c: Likewise. + * gcc.dg/vect/vect-93.c: Likewise. + * gcc.dg/vect/vect-95.c: Likewise. + * gcc.dg/vect/vect-96.c: Likewise. + * gcc.dg/vect/vect-cond-1.c: Likewise. + * gcc.dg/vect/vect-cond-3.c: Likewise. + * gcc.dg/vect/vect-cond-4.c: Likewise. + * gcc.dg/vect/vect-cselim-1.c: Likewise. + * gcc.dg/vect/vect-multitypes-1.c: Likewise. + * gcc.dg/vect/vect-multitypes-3.c: Likewise. + * gcc.dg/vect/vect-multitypes-4.c: Likewise. + * gcc.dg/vect/vect-multitypes-6.c: Likewise. + * gcc.dg/vect/vect-nest-cycle-1.c: Likewise. + * gcc.dg/vect/vect-nest-cycle-2.c: Likewise. + * gcc.dg/vect/vect-outer-3a-big-array.c: Likewise. + * gcc.dg/vect/vect-outer-3a.c: Likewise. + * gcc.dg/vect/vect-outer-5.c: Likewise. + * gcc.dg/vect/vect-outer-fir-big-array.c: Likewise. + * gcc.dg/vect/vect-outer-fir-lb-big-array.c: Likewise. + * gcc.dg/vect/vect-outer-fir-lb.c: Likewise. + * gcc.dg/vect/vect-outer-fir.c: Likewise. + * gcc.dg/vect/vect-peel-3.c: Likewise. + * gcc.dg/vect/vect-peel-4.c: Likewise. + * gcc.dg/vect/vect-pre-interact.c: Likewise. + * gcc.target/powerpc/pr65456.c: New test. + * gcc.target/powerpc/vsx-vectorize-2.c: Exclude test for POWER8. + * gcc.target/powerpc/vsx-vectorize-4.c: Likewise. + * gcc.target/powerpc/vsx-vectorize-6.c: Likewise. + * gcc.target/powerpc/vsx-vectorize-7.c: Likewise. + * gfortran.dg/vect/vect-2.f90: Replace vect_no_align with + vect_no_align && { ! vect_hw_misalign }. + * gfortran.dg/vect/vect-3.f90: Likewise. + * gfortran.dg/vect/vect-4.f90: Likewise. + * gfortran.dg/vect/vect-5.f90: Likewise. + * lib/target-supports.exp (check_effective_target_vect_no_align): + Return 1 for POWER8. + (check_effective_target_vect_hw_misalign): Return 1 for POWER8. + +2015-04-22 Steven G. Kargl + + PR fortran/65429 + * gfortran.dg/pr65429.f90: New test. + +2015-04-22 Yury Gribov + + * c-c++-common/asan/user-section-1.c: New test. + * c-c++-common/asan/user-section-2.c: New test. + * c-c++-common/asan/user-section-3.c: New test. + +2015-04-22 Hale Wang + Terry Guo + + PR rtl-optimization/64818 + * gcc.target/arm/pr64818.c: New test. + +2015-04-21 Jan Hubicka + + PR ipa/65076 + * g++.dg/tree-ssa/pr61034.C: Update template. + * g++.dg/warn/Warray-bounds.C: Harden for DSE. + * gcc.dg/Warray-bounds-11.c: Likewise. + * gcc.dg/Warray-bounds.c: Likewise. + +2015-04-21 Jerry DeLisle + + PR libgfortran/65234 + * gfortran.dg/fmt_unlimited.f90: New test. + +2015-04-21 Andreas Tobler + + * gcc.target/i386/avx512bw-vpermi2w-2.c: Fix includes to use actual + headers. + * gcc.target/i386/avx512bw-vpermt2w-2.c: Likewise. + * gcc.target/i386/avx512bw-vpmaddubsw-2.c: Likewise. + * gcc.target/i386/avx512bw-vpmaddwd-2.c: Likewise. + * gcc.target/i386/avx512dq-vfpclasspd-2.c: Likewise. + * gcc.target/i386/avx512dq-vfpclassps-2.c: Likewise. + * gcc.target/i386/avx512vbmi-vpermi2b-2.c: Likewise. + * gcc.target/i386/avx512vbmi-vpermt2b-2.c: Likewise. + +2015-04-21 Jerry DeLisle + + PR libgfortran/56743 + * gfortran.dg/namelist_87.f90: New test. + +2015-04-21 Kyrylo Tkachov + + * gcc.target/aarch64/mult-synth_1.c: New test. + * gcc.target/aarch64/mult-synth_2.c: Likewise. + * gcc.target/aarch64/mult-synth_3.c: Likewise. + * gcc.target/aarch64/mult-synth_4.c: Likewise. + * gcc.target/aarch64/mult-synth_5.c: Likewise. + * gcc.target/aarch64/mult-synth_6.c: Likewise. + +2015-04-21 Richard Biener + + PR tree-optimization/65650 + * gcc.dg/tree-ssa/ssa-ccp-37.c: New testcase. + * gcc.dg/tree-ssa/forwprop-11.c: Adjust. + * gcc.dg/tree-ssa/ssa-fre-3.c: Likewise. + * gcc.dg/tree-ssa/ssa-fre-4.c: Likewise. + * gcc.dg/tree-ssa/ssa-fre-5.c: Likewise. + * gcc.dg/tree-ssa/ssa-fre-32.c: Likewise. + +2015-04-21 Tom de Vries + + PR tree-optimization/65802 + * g++.dg/pr65802.C: New test. + +2015-04-21 Bin Cheng + + PR testsuite/65767 + * g++.dg/lto/pr65276_0.C: Change namespace std to std2. + * g++.dg/lto/pr65276_1.C: Change namespace std to std2. + +2015-04-20 Paolo Carlini + + PR c++/65801 + * g++.dg/cpp0x/Wnarrowing2.C: New. + +2015-04-20 Jeff Law + + PR tree-optimization/65658 + * gcc.dg/pr65658.c: New test. + +2015-04-20 Alan Lawrence + + PR target/64134 + * gcc.target/aarch64/vec_init_1.c: New test. + +2015-04-20 Yvan Roux + + * gcc.target/arm/pr65729.c: Restrict to hard float ABI compliant + targets. + +2015-04-18 Martin Sebor + + * gfortran.dg/pr32627.f03 (strptr): Change size to match the number + of non-nul characters. + * gfortran.dg/substr_6.f90: Make the NUL character visible on stdout + +2015-04-17 Bill Schmidt + + PR target/65787 + * gcc.target/powerpc/pr65787.c: New. + +2015-04-17 Jakub Jelinek + + PR target/65689 + * gcc.target/aarch64/c-output-template-4.c: New test. + +2015-04-17 H.J. Lu + + PR target/65780 + * gcc.dg/pr65780-1.c: New test. + * gcc.dg/pr65780-2.c: Likewise. + * gcc.target/i386/pr32219-9.c: Likewise. + * gcc.target/i386/pr32219-1.c (xxx): Make it initialized common + symbol. + * gcc.target/i386/pr64317.c (c): Initialize. + +2015-04-17 H.J. Lu + + PR target/65612 + * g++.dg/ext/mv18.C: New test. + * g++.dg/ext/mv19.C: Likewise. + * g++.dg/ext/mv20.C: Likewise. + * g++.dg/ext/mv21.C: Likewise. + * g++.dg/ext/mv22.C: Likewise. + * g++.dg/ext/mv23.C: Likewise. + +2015-04-17 Patrick Palka + + PR c++/64527 + * g++.dg/init/pr64527.C: New test. + +2015-04-17 Tom de Vries + Michael Matz + + PR tree-optimization/64950 + * gcc.dg/tree-ssa/stdarg-2.c: Change f15 scan-tree-dump for target + x86_64-*-*. + +2015-04-17 Yury Gribov + + * c-c++-common/asan/user-section-1.c: New test. + +2015-04-17 Jakub Jelinek + + PR debug/65771 + * gcc.dg/debug/pr65771.c: New test. + +2015-04-16 H.J. Lu + + * gcc.target/i386/mpx/alloca-1-lbv.c (mpx_test): Replace + __buitlin_alloca with __builtin_alloca. + +2015-04-16 Alan Lawrence + + * gcc.target/aarch64/vldN_lane_1.c: Correct dup->lane in comments. + +2015-04-16 Richard Biener + + PR tree-optimization/64277 + * gcc.dg/Warray-bounds-14.c: New testcase. + * gcc.dg/Warray-bounds-15.c: Likewise. + * c-c++-common/ubsan/bounds-4.c: Disable -Warray-bounds. + * c-c++-common/ubsan/bounds-6.c: Likewise. + +2015-04-16 Renlin Li + + * gcc.target/aarch64/unsigned-unsignedfloat.c: New. + * gcc.target/arm/unsigned-float.c: New. + +2015-04-16 Richard Biener + + * gcc.dg/tree-ssa/ssa-ccp-36.c: New testcase. + * gcc.dg/tree-ssa/pr37508.c: Adjust. + * gfortran.dg/reassoc_6.f: Remove XFAIL. + +2015-04-15 Paolo Carlini + + * g++.dg/cpp0x/alias-decl-22.C: Adjust for error + inform change. + * g++.dg/cpp0x/decltype-call1.C: Likewise. + * g++.dg/cpp0x/defaulted21.C: Likewise. + * g++.dg/cpp0x/defaulted28.C: Likewise. + * g++.dg/cpp0x/defaulted47.C: Likewise. + * g++.dg/cpp0x/elision_neg.C: Likewise. + * g++.dg/cpp0x/fntmpdefarg3.C: Likewise. + * g++.dg/cpp0x/implicit-trivial1.C: Likewise. + * g++.dg/cpp0x/implicit1.C: Likewise. + * g++.dg/cpp0x/implicit9.C: Likewise. + * g++.dg/cpp0x/inh-ctor9.C: Likewise. + * g++.dg/cpp0x/range-for13.C: Likewise. + * g++.dg/gomp/clause-2.C: Likewise. + * g++.dg/gomp/udr-5.C: Likewise. + * g++.dg/inherit/access6.C: Likewise. + * g++.dg/lookup/duperr1.C: Likewise. + * g++.dg/lookup/friend2.C: Likewise. + * g++.dg/lookup/pr6936.C: Likewise. + * g++.dg/lookup/scoped1.C: Likewise. + * g++.dg/lookup/using26.C: Likewise. + * g++.dg/lookup/using38.C: Likewise. + * g++.dg/other/access2.C: Likewise. + * g++.dg/overload/defarg3.C: Likewise. + * g++.dg/overload/defarg6.C: Likewise. + * g++.dg/parse/access11.C: Likewise. + * g++.dg/parse/access2.C: Likewise. + * g++.dg/parse/access3.C: Likewise. + * g++.dg/parse/access4.C: Likewise. + * g++.dg/parse/access5.C: Likewise. + * g++.dg/parse/access6.C: Likewise. + * g++.dg/parse/access8.C: Likewise. + * g++.dg/parse/access9.C: Likewise. + * g++.dg/parse/crash40.C: Likewise. + * g++.dg/tc1/dr142.C: Likewise. + * g++.dg/tc1/dr166.C: Likewise. + * g++.dg/tc1/dr52.C: Likewise. + * g++.dg/template/access11.C: Likewise. + * g++.dg/template/access18.C: Likewise. + * g++.dg/template/access19.C: Likewise. + * g++.dg/template/access2.C: Likewise. + * g++.dg/template/access20.C: Likewise. + * g++.dg/template/access26.C: Likewise. + * g++.dg/template/access3.C: Likewise. + * g++.dg/template/access7.C: Likewise. + * g++.dg/template/conv12.C: Likewise. + * g++.dg/template/crash69.C: Likewise. + * g++.dg/template/friend31.C: Likewise. + * g++.dg/template/friend32.C: Likewise. + * g++.dg/template/memfriend15.C: Likewise. + * g++.dg/template/memfriend16.C: Likewise. + * g++.dg/template/memfriend17.C: Likewise. + * g++.dg/template/memfriend7.C: Likewise. + * g++.dg/template/pr32519.C: Likewise. + * g++.dg/template/qualttp21.C: Likewise. + * g++.dg/template/qualttp8.C: Likewise. + * g++.dg/template/ttp10.C: Likewise. + * g++.dg/template/typedef11.C: Likewise. + * g++.dg/template/typedef13.C: Likewise. + * g++.dg/template/typedef19.C: Likewise. + * g++.dg/template/typedef20.C: Likewise. + * g++.dg/template/typedef22.C: Likewise. + * g++.dg/template/using16.C: Likewise. + * g++.dg/template/virtual3.C: Likewise. + * g++.dg/ubsan/pr61272.C: Likewise. + * g++.old-deja/g++.bob/inherit2.C: Likewise. + * g++.old-deja/g++.brendan/crash11.C: Likewise. + * g++.old-deja/g++.brendan/enum6.C: Likewise. + * g++.old-deja/g++.brendan/visibility1.C: Likewise. + * g++.old-deja/g++.brendan/visibility10.C: Likewise. + * g++.old-deja/g++.brendan/visibility2.C: Likewise. + * g++.old-deja/g++.brendan/visibility6.C: Likewise. + * g++.old-deja/g++.brendan/visibility7.C: Likewise. + * g++.old-deja/g++.brendan/visibility8.C: Likewise. + * g++.old-deja/g++.brendan/visibility9.C: Likewise. + * g++.old-deja/g++.bugs/900428_03.C: Likewise. + * g++.old-deja/g++.jason/access17.C: Likewise. + * g++.old-deja/g++.jason/access18.C: Likewise. + * g++.old-deja/g++.jason/access22.C: Likewise. + * g++.old-deja/g++.jason/access23.C: Likewise. + * g++.old-deja/g++.jason/access8.C: Likewise. + * g++.old-deja/g++.jason/delete3.C: Likewise. + * g++.old-deja/g++.jason/report.C: Likewise. + * g++.old-deja/g++.law/access2.C: Likewise. + * g++.old-deja/g++.law/access3.C: Likewise. + * g++.old-deja/g++.law/access4.C: Likewise. + * g++.old-deja/g++.law/access5.C: Likewise. + * g++.old-deja/g++.law/arm12.C: Likewise. + * g++.old-deja/g++.law/arm14.C: Likewise. + * g++.old-deja/g++.law/ctors13.C: Likewise. + * g++.old-deja/g++.law/union2.C: Likewise. + * g++.old-deja/g++.law/visibility12.C: Likewise. + * g++.old-deja/g++.law/visibility15.C: Likewise. + * g++.old-deja/g++.law/visibility16.C: Likewise. + * g++.old-deja/g++.law/visibility17.C: Likewise. + * g++.old-deja/g++.law/visibility18.C: Likewise. + * g++.old-deja/g++.law/visibility19.C: Likewise. + * g++.old-deja/g++.law/visibility20.C: Likewise. + * g++.old-deja/g++.law/visibility21.C: Likewise. + * g++.old-deja/g++.law/visibility24.C: Likewise. + * g++.old-deja/g++.law/visibility4.C: Likewise. + * g++.old-deja/g++.law/visibility5.C: Likewise. + * g++.old-deja/g++.law/visibility6.C: Likewise. + * g++.old-deja/g++.law/visibility7.C: Likewise. + * g++.old-deja/g++.law/visibility8.C: Likewise. + * g++.old-deja/g++.law/visibility9.C: Likewise. + * g++.old-deja/g++.niklas/t135.C: Likewise. + * g++.old-deja/g++.oliva/delete1.C: Likewise. + * g++.old-deja/g++.oliva/partord1.C: Likewise. + * g++.old-deja/g++.other/access11.C: Likewise. + * g++.old-deja/g++.other/access4.C: Likewise. + * g++.old-deja/g++.other/access7.C: Likewise. + * g++.old-deja/g++.other/crash1.C: Likewise. + * g++.old-deja/g++.other/crash7.C: Likewise. + * g++.old-deja/g++.other/friend1.C: Likewise. + * g++.old-deja/g++.other/friend4.C: Likewise. + * g++.old-deja/g++.other/friend9.C: Likewise. + * g++.old-deja/g++.other/lineno1.C: Likewise. + * g++.old-deja/g++.other/using1.C: Likewise. + * g++.old-deja/g++.pt/enum14.C: Likewise. + * g++.old-deja/g++.pt/friend11.C: Likewise. + * g++.old-deja/g++.pt/friend21.C: Likewise. + * g++.old-deja/g++.pt/friend3.C: Likewise. + * g++.old-deja/g++.pt/inherit2.C: Likewise. + * g++.old-deja/g++.pt/memtemp74.C: Likewise. + * g++.old-deja/g++.pt/memtemp89.C: Likewise. + * g++.old-deja/g++.robertl/eb94.C: Likewise. + +2015-04-15 Jakub Jelinek + + PR ipa/65765 + * g++.dg/ipa/pr65765.C: New test. + +2015-04-15 Nick Clifton + + * gcc.target/rx/builtins.c: Disable RMPA test if string + instructions are not allowed. + +2015-04-15 Alan Modra + + * gcc.dg/pr65408.c: New. + +2015-04-14 Yvan Roux + + PR target/65729 + * gcc.target/arm/pr65729.c: New test. + +2015-04-14 Richard Biener + + PR tree-optimization/65758 + * gfortran.fortran-torture/compile/pr65758.f90: New testcase. + +2015-04-14 Yvan Roux + + PR target/65648 + * gcc.c-torture/execute/pr65648.c: New test. + +2015-04-14 Rainer Orth + + * gcc.target/i386/avx512dq-vfpclasspd-2.c (check_fp_class_dp): Use + __builtin_finite instead of finite. + * gcc.target/i386/avx512dq-vfpclassps-2.c (check_fp_class_sp): + Likewise. + +2015-04-14 Marc Glisse + + PR tree-optimization/63387 + * gcc.dg/pr63387.c: New testcase. + +2015-04-12 Jan Hubicka + + * g++.dg/tree-ssa/nonzero-3.C: New testcase. + +2015-04-13 Richard Biener + + PR tree-optimization/65204 + * gcc.dg/tree-ssa/ssa-ccp-35.c: New testcase. + +2015-04-13 Terry Guo + + PR target/65710 + * gcc.target/arm/pr65710.c: New. + +2015-04-12 Jakub Jelinek + + PR tree-optimization/65747 + * g++.dg/torture/pr65747.C: New test. + +2015-04-12 Jakub Jelinek + + PR c++/65736 + * g++.dg/cpp0x/pr65736.C: New test. + +2015-04-11 Jan Hubicka + Martin Liska + + PR ipa/65722 + * g++.dg/ipa/pr65722.C: New testcase. + +2015-04-11 Jakub Jelinek + + PR tree-optimization/65735 + * gcc.c-torture/compile/pr65735.c: New test. + +2015-04-11 H.J. Lu + + PR middle-end/65554 + * g++.dg/opt/pr65554.C: Use __SIZE_TYPE__ instead of unsigned long. + +2015-04-11 Jakub Jelinek + + PR target/65671 + * gcc.target/i386/pr65671.c: Require avx512vl effective target. + +2015-04-10 Yvan Roux + + PR target/65647 + * gcc.target/arm/pr65647-2.c: New. + +2015-04-10 Kyrylo Tkachov + + PR target/65694 + * g++.dg/torture/pr65694.C: New test. + +2015-04-10 Tobias Burnus + + * gfortran.dg/coarray_lock_6.f90: New. + * gfortran.dg/coarray_lock_7.f90: New. + * gfortran.dg/coarray/lock_2.f90: New. + +2015-04-10 Mikael Morin + + PR fortran/56674 + PR fortran/58813 + PR fortran/59016 + PR fortran/59024 + * gfortran.dg/used_types_27.f90: New. + +2015-04-09 Kirill Yukhin + + PR target/65671 + * gcc.target/i386/pr65671.c: New. + +2015-04-09 Jakub Jelinek + + PR tree-optimization/65709 + * c-c++-common/ubsan/align-9.c: New test. + +2013-04-09 Paul Thomas + + PR fortran/56852 + * gfortran.dg/pr56852.f90: New test. + +2015-04-09 Marek Polacek + Jakub Jelinek + + PR middle-end/65554 + * g++.dg/opt/pr65554.C: New test. + +2015-04-09 Jakub Jelinek + + PR c++/65690 + * c-c++-common/attr-aligned-1.c: New test. + +2015-04-09 Ilya Enkovich + + * gcc.target/i386/mpx/memmove-zero-length.c: New. + +2015-04-09 Kirill Yukhin + + PR target/65676 + * gcc.target/i386/sse-25.c: New. + +2015-04-09 Jakub Jelinek + + PR target/65693 + * gcc.target/i386/pr65693.c: New test. + +2015-04-08 Ilya Enkovich + + * gcc.dg/lto/chkp-static-bounds_0.c: New. + +2015-04-08 Ilya Enkovich + + * gcc.target/i386/mpx/chkp-thunk-comdat-3.c: New. + +2015-04-08 Ilya Enkovich + + * gcc.target/i386/thunk-retbnd.c: New. + +2015-04-08 Eric Botcazou + + * gnat.dg/opt48.adb: New test. + * gnat.dg/opt48_pkg1.ad[sb]: New helper. + * gnat.dg/opt48_pkg2.ad[sb]: Likewise. + +2015-04-07 Jan Hubicka + + PR ipa/65540 + * gcc.c-torture/compile/pr65540.c: New. + +2015-04-07 Alan Lawrence + + * gcc.target/aarch64/c-output-template-3.c: Add -O, remove + -Wno-pointer-arith. + +2015-04-07 Jakub Jelinek + + PR debug/65678 + * g++.dg/debug/pr65678.C: New test. + + PR middle-end/65680 + * gcc.c-torture/compile/pr65680.c: New test. + +2015-04-07 Andre Vehreschild + + PR fortran/65548 + * gfortran.dg/allocate_with_source_5.f90: New test. + +2015-04-07 Ilya Enkovich + + * gcc.target/i386/mpx/chkp-thunk-comdat-1.cc: New. + * gcc.target/i386/mpx/chkp-thunk-comdat-2.cc: New. + +2015-04-07 Bin Cheng + + * gcc.target/arm/pr65647.c: Add option "-mfloat-abi=soft". + +2015-04-06 Michael Meissner + + PR target/65614 + * gcc.target/powerpc/compress-float-ppc-pic.c: Run test on power5 + to get floating point compression. + * gcc.target/powerpc/compress-foat-ppc.c: Likewise. + +2015-04-06 Jakub Jelinek + + PR preprocessor/61977 + * gcc.dg/cpp/pr61977.c: New test. + +2015-04-06 Ilya Enkovich + + * gcc.dg/lto/chkp-ctor-merge_0.c: New. + +2015-04-04 Vladimir Makarov + + PR target/65647 + * gcc.target/arm/pr65647.c: New. + +2015-04-03 Jan Hubicka + + PR ipa/65655 + * g++.dg/torture/pr65655.C: New testcase. + +2015-04-03 Paolo Carlini + + PR c++/64085 + * g++.dg/cpp1y/lambda-init13.C: New. + +2015-04-03 Marek Polacek + + * g++.dg/cpp0x/pr57101.C: Use proper type for size_t. + +2015-04-02 Marek Polacek + + PR c++/65642 + * g++.dg/cpp0x/constexpr-fold1.C: New test. + * g++.dg/cpp0x/constexpr-fold2.C: New test. + +2015-04-02 Jakub Jelinek + + PR preprocessor/61977 + * gcc.target/powerpc/pr61977-1.c: New test. + * gcc.target/powerpc/pr61977-2.c: New test. + +2015-04-01 Paolo Carlini + + PR c++/56100 + * g++.dg/warn/Wshadow-8.C: New. + * g++.dg/warn/Wshadow-9.C: Likewise. + * g++.dg/warn/Wshadow-10.C: Likewise. + * g++.dg/warn/Wshadow-11.C: Likewise. + +2015-04-01 Bernd Edlinger + + * gcc.dg/pr23623.c: Added aligned attribute. + * gcc.dg/20141029-1.c: Likewise. + * gcc.dg/20150306-1.c: New test. + +2015-04-01 Marek Polacek + + PR c++/65554 + * g++.dg/cpp0x/initlist93.C: New test. + * g++.dg/cpp0x/initlist94.C: New test. + +2015-04-01 Max Ostapenko + + PR target/65624 + * gcc.target/aarch64/pr65624.c: New test. + +2015-03-31 Jan Hubicka + + * gcc.dg/ipa/inlinehint-4.c: New testcase. + +2015-03-31 Alex Velenko + + * gcc.target/arm/pr45701-1.c (history_expand_line_internal): Add an + extra variable to force stack alignment. + * gcc.target/arm/pr45701-2.c (history_expand_line_internal): Add an + extra variable to force stack alignment. + +2015-03-31 Marek Polacek + + PR c++/65390 + * g++.dg/template/pr65390.C: New test. + +2015-03-31 Martin Liska + + * g++.dg/ipa/pr65557.C: New test. + +2015-03-31 Dominik Vogt + + * gcc.target/s390/hotpatch-25.c: New test. + * gcc.target/s390/hotpatch-1.c: Update test. + * gcc.target/s390/hotpatch-10.c: Update test. + * gcc.target/s390/hotpatch-11.c: Update test. + * gcc.target/s390/hotpatch-12.c: Update test. + * gcc.target/s390/hotpatch-13.c: Update test. + * gcc.target/s390/hotpatch-14.c: Update test. + * gcc.target/s390/hotpatch-15.c: Update test. + * gcc.target/s390/hotpatch-16.c: Update test. + * gcc.target/s390/hotpatch-17.c: Update test. + * gcc.target/s390/hotpatch-18.c: Update test. + * gcc.target/s390/hotpatch-19.c: Update test. + * gcc.target/s390/hotpatch-2.c: Update test. + * gcc.target/s390/hotpatch-21.c: Update test. + * gcc.target/s390/hotpatch-22.c: Update test. + * gcc.target/s390/hotpatch-23.c: Update test. + * gcc.target/s390/hotpatch-24.c: Update test. + * gcc.target/s390/hotpatch-3.c: Update test. + * gcc.target/s390/hotpatch-4.c: Update test. + * gcc.target/s390/hotpatch-5.c: Update test. + * gcc.target/s390/hotpatch-6.c: Update test. + * gcc.target/s390/hotpatch-7.c: Update test. + * gcc.target/s390/hotpatch-8.c: Update test. + * gcc.target/s390/hotpatch-9.c: Update test. + * gcc.target/s390/hotpatch-compile-16.c: Update test. + +2015-03-31 Richard Biener + + PR middle-end/65626 + * g++.dg/torture/pr65626.C: New testcase. + +2015-03-31 Ilya Enkovich + + PR target/65531 + * gcc.target/i386/mpx/pr65531.cc: New. + +2015-03-31 Ilya Enkovich + + PR target/65602 + * gcc.target/i386/mpx/alloca-1-lbv.c (mpx_test): Use + __builtin_alloca instead of alloca. + * gcc.target/i386/mpx/alloca-1-nov.c (mpx_test): Likewise. + * gcc.target/i386/mpx/alloca-1-ubv.c (mpx_test): Likewise. + * lib/mpx-dg.exp (check_effective_target_mpx): Add wrapper + check. + +2015-03-30 Jakub Jelinek + + PR ipa/65610 + * g++.dg/ubsan/pr65610.C: New test. + +2015-03-30 Marek Polacek + + PR c++/65398 + * g++.dg/cpp0x/pr65398-2.C: New test. + +2015-03-30 Marek Polacek + + * c-c++-common/pr65556.c: Change the width of bit-fields. + +2015-03-27 Jan Hubicka + + PR ipa/65588 + * gcc.target/i386/pr65588.c: New testcase. + +2015-03-29 Thomas Koenig + + PR libgfortran/65563 + * gfortran.dg/open_errors_2.f90: New test. + +2015-03-28 Jerry DeLisle + + PR libgfortran/65596 + * gfortran.dg/namelist_86.f90: New test. + +2015-03-28 Andre Vehreschild + + * gfortran.dg/unlimited_polymorphic_24.f03: Fixing copyright + statement to reflect new ownership. + +2015-03-28 Paolo Carlini + + PR c++/42328 + * g++.dg/template/friend58.C: New. + * g++.dg/template/friend59.C: Likewise. + +2015-03-27 Tobias Burnus + + PR c/65586 + * g++.dg/gomp/openmp-simd-3.C: New. + * gcc.dg/gomp/openmp-simd-3.c: New. + +2015-03-27 H.J. Lu + + PR target/65248 + * gcc.target/i386/pr65248-1.c: New file. + * gcc.target/i386/pr65248-2.c: Likewise. + * gcc.target/i386/pr65248-3.c: Likewise. + * gcc.target/i386/pr65248-4.c: Likewise. + +2015-03-27 Jakub Jelinek + + PR target/65593 + * gcc.c-torture/compile/pr65593.c: New test. + +2015-03-27 Paolo Carlini + + PR c++/59329 + * g++.dg/cpp1y/constexpr-assert1.C: New. + +2015-03-27 Marek Polacek + + PR c++/65556 + * c-c++-common/pr65556.c: New test. + +2015-03-27 Jan Hubicka + + PR ipa/65600 + * g++.dg/torture/pr65600.C: New testcase. + +2015-03-27 Vladimir Makarov + + PR target/65407 + * gcc.target/i386/avx512f-kandnw-1.c: Add scanning kmovw. + +2015-03-27 Andre Vehreschild + + * gfortran.dg/unlimited_polymorphic_24.f03: Added copyright + statement and cleanup. Fixed typos. + +2015-03-26 Jan Hubicka + + PR middle-end/65595 + * gcc.c-torture/compile/pr65595.c: New testcase. + +2015-03-27 Marek Polacek + + PR sanitizer/65583 + * g++.dg/ubsan/pr65583.C: New test. + +2015-03-26 Jan Hubicka + + * gcc.c-torture/compile/20150327.c: New testcase. + +2015-03-26 Richard Biener + + PR middle-end/65555 + * g++.dg/torture/pr65555.C: New testcase. + +2015-03-26 Jakub Jelinek + + PR tree-optimization/64715 + * gcc.dg/builtin-object-size-15.c: New test. + * gcc.dg/pr64715-1.c: New test. + * gcc.dg/pr64715-2.c: New test. + +2015-03-26 Richard Biener + + PR middle-end/65519 + * gnat.dg/specs/opt2.ads: Fix testcase. + +2015-03-25 Martin Sebor + + PR testsuite/65526 + * lib/target-supports.exp (check_effective_target_arm32): Fail early + when target isn't arm*-*-*-*. + (check_effective_target_arm_nothumb): Likewise. + (check_effective_target_arm_little_endian): Likewise. + (check_effective_target_arm_vect_no_misalign): Likewise. + (check_effective_target_aarch64_little_endian): Fail early if target + isn't aarch64*-*-*. + +2015-03-25 Sebastian Pop + + PR tree-optimization/65177 + * gcc.dg/tree-ssa/ssa-dom-thread-10.c: New. + +2015-03-25 Uros Bizjak + + * gcc.target/i386/sse-13.c: Include x86intrin.h and adjust #defines. + * gcc.target/i386/sse-23.c: Do not explicitly include wmmintrin.h, + smmintrin.h and mm3dnow.h. + +2015-03-25 Marek Polacek + + PR c++/65558 + * g++.dg/cpp0x/pr65558.C: New test. + +2015-03-25 Marek Polacek + + PR c++/61670 + * g++.dg/template/pr61670.C: New test. + +2015-03-25 Paolo Carlini + + PR c++/54987 + * g++.dg/template/pr54987.C: New. + +2015-03-25 Richard Biener + + PR tree-optimization/62630 + * gcc.dg/graphite/vect-pr43423.c: XFAIL. + +2015-03-25 Ilya Enkovich + + PR target/65508 + * gcc.target/i386/mpx/pr65508.c: New. + +2015-03-25 Mikael Morin + + PR fortran/64952 + PR fortran/65532 + * gfortran.dg/data_initialized_3.f90: New. + +2015-03-25 Richard Biener + + PR middle-end/65519 + * gnat.dg/specs/opt2.ads: New testcase. + +2015-03-25 Bin Cheng + + * lib/target-supports.exp (arm_tune_string_ops_prefer_neon): New. + * gcc.target/arm/memset-inline-4.c: Skip for + arm_tune_string_ops_prefer_neon. + * gcc.target/arm/memset-inline-5.c: Ditto. + * gcc.target/arm/memset-inline-6.c: Ditto. + * gcc.target/arm/memset-inline-8.c: Ditto. + * gcc.target/arm/memset-inline-9.c: Ditto. + +2015-03-24 Paolo Carlini + + PR c++/58923 + * g++.dg/other/virtual3.C: New. + +2015-03-24 Paolo Carlini + + PR c++/60130 + * g++.dg/cpp0x/vt-60130.C: New. + +2015-03-24 Paolo Carlini + + PR c++/61971 + * g++.dg/warn/Warray-bounds-7.C: New. + +2015-03-24 Paolo Carlini + + PR c++/60067 + * g++.dg/template/defarg18.C: New. + +2015-03-24 Paolo Carlini + + PR c++/59988 + * g++.dg/cpp0x/vt-59988.C: New. + +2015-03-24 Jakub Jelinek + + PR tree-optimization/65533 + * gcc.dg/pr65533.c: New test. + +2015-03-24 Andre Vehreschild + + * gfortran.dg/allocate_alloc_opt_13.f90: Added tests for + source= and mold= expressions functionality. + * gfortran.dg/allocate_class_4.f90: New test. + * gfortran.dg/unlimited_polymorphic_20.f90: Added test whether + copying an unlimited polymorhpic object containing a char array + to another unlimited polymorphic object respects the _len + component. + * gfortran.dg/unlimited_polymorphic_22.f90: Extended to check + whether deferred length char array allocate works, unlimited + polymorphic object allocation from a string works and if + allocating an array of deferred length strings works. + * gfortran.dg/unlimited_polymorphic_24.f03: New test. + +2015-03-24 Paolo Carlini + + PR c++/65513 + * g++.dg/cpp0x/constexpr-array11.C: New. + +2015-03-24 Richard Biener + + PR middle-end/65517 + * gcc.dg/torture/pr65517.c: New testcase. + +2015-03-24 Tobias Burnus + + * gfortran.dg/coindexed_1.f90: Moved from + gfortran.dg/coarray/coindexed_3.f90; added dg-options. + +2015-03-23 Jakub Jelinek + + PR testsuite/65506 + * gcc.dg/pr29215.c: Dump and analyze ccp1 dump instead of + gimple dump. + + PR target/65523 + * gcc.target/i386/pr65523.c: New test. + + PR ipa/65475 + * g++.dg/lto/pr65475_0.C: Use dg-lto-options instead of + dg-options. + * g++.dg/lto/pr65475b_0.C: Likewise. + +2015-03-23 Oleg Endo + + PR target/65505 + * gcc.target/sh/torture/pr65505.c: New. + +2015-03-23 Martin Sebor + + PR testsuite/63175 + * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c: Scan + assembly for lvx in addition to lxv. + +2015-03-23 Jakub Jelinek + + PR target/65504 + * gfortran.dg/pr65504.f90: New test. + + PR ipa/65521 + * gcc.dg/pr65521.c: New test. + +2015-03-23 Richard Biener + + PR tree-optimization/65518 + * gcc.dg/vect/pr65518.c: New testcase. + +2015-03-23 Richard Biener + + PR tree-optimization/65494 + * gcc.dg/vect/pr65494.c: New testcase. + +2015-03-23 Jakub Jelinek + + PR preprocessor/65238 + * c-c++-common/cpp/pr65238-1.c: New test. + * gcc.dg/cpp/pr65238-2.c: New test. + * gcc.dg/cpp/trad/pr65238-3.c: New test. + * gcc.dg/cpp/trad/pr65238-4.c: New test. + +2015-03-23 Paul Thomas + Mikael Morin + + PR fortran/64952 + * gfortran.dg/elemental_dependency_4.f90: New. + * gfortran.dg/elemental_dependency_5.f90: New. + +2015-03-22 Jan Hubicka + + PR ipa/65475 + * g++.dg/lto/pr65475b_0.C: New testcase. + * g++.dg/lto/pr65475b_1.C: New testcase. + * g++.dg/lto/pr65475c_0.C: New testcase. + * g++.dg/lto/pr65475c_1.C: New testcase. + +2015-03-21 Tobias Burnus + + * gfortran.dg/coarray_38.f90: New. + * gfortran.dg/coarray_39.f90: New. + * gfortran.dg/coarray/coindexed_3.f90: Add dg-error, turn into + compile test. + +2015-03-20 Marek Polacek + + PR c++/65398 + * g++.dg/cpp0x/pr65398.C: New test. + +2015-03-20 Jan Hubicka + + PR ipa/65475 + * g++.dg/lto/pr65475_0.C: New testcase. + * g++.dg/lto/pr65475_1.C: New testcase. + +2015-03-20 Vladimir Makarov + + PR rtl-optimization/64366 + * gcc.target/sh/pr64366.c: New. + +2015-03-20 Paolo Carlini + + PR c++/48324 + * g++.dg/cpp0x/constexpr-48324.C: New. + +2015-03-20 Paolo Carlini + + PR c++/48453 + * g++.dg/cpp0x/pr48453.C: New. + +2015-03-20 Marek Polacek + + PR c++/65072 + * g++.dg/cpp0x/pr65072.C: New test. + +2015-03-20 Richard Biener + + PR middle-end/64715 + * gcc.dg/pr15347.c: Use -O. + * c-c++-common/pr19807-1.c: Likewise. + +2015-03-20 Eric Botcazou + + * gnat.dg/volatile13.ad[sb]: New test. + +2015-03-20 Uros Bizjak + + PR rtl-optimization/60851 + * gcc.target/i386/pr60851.c: New test. + +2015-03-19 Michael Meissner + + PR target/65240 + * g++.dg/pr65240.h: Add tests for PR 65240. + * g++.dg/pr65240-1.C: Likewise. + * g++.dg/pr65240-2.C: Likewise. + * g++.dg/pr65240-3.C: Likewise. + * g++.dg/pr65240-4.C: Likewise. + +2015-03-19 Vladimir Makarov + + PR rtl-optimization/63491 + * gcc.target/powerpc/pr63491.c: New. + +2015-03-19 Jakub Jelinek + + * g++.dg/ipa/pr65465.C: New test. + +2015-03-19 Paolo Carlini + + PR c++/52659 + * g++.dg/cpp0x/deleted11.C: New. + +2015-03-19 Jakub Jelinek + + PR sanitizer/65400 + * c-c++-common/tsan/pr65400-3.c: New test. + +2015-03-19 Paolo Carlini + + PR c++/59686 + * g++.dg/cpp0x/constexpr-59686.C: New. + +2015-03-19 Jakub Jelinek + + PR sanitizer/64265 + * g++.dg/tsan/pr64265.C: New test. + + PR sanitizer/65400 + * c-c++-common/tsan/pr65400-1.c: New test. + * c-c++-common/tsan/pr65400-2.c: New test. + +2015-03-18 Paolo Carlini + + PR c++/59816 + * g++.dg/cpp0x/pr59816.C: New. + +2015-03-18 Paul Thomas + + PR fortran/59198 + * gfortran.dg/proc_ptr_comp_45.f90: Make tests fuzzy. + +2015-03-18 Martin Liska + + PR ipa/65439 + * g++.dg/ipa/ipa-icf-4.C: Extend expected number of + equivalences either to 6 or 7. + +2015-03-18 Andrew Stubbs + + PR middle-end/64491 + Revert: + 2014-11-20 Andrew Stubbs + + * gcc.dg/undefined-loop-1.c: New file. + * gcc.dg/undefined-loop-2.c: New file. + + 2014-12-24 Andrew Stubbs + + PR testsuite/64032 + * gcc.dg/undefined-loop-2.c: Don't allow GCC to optimize away the + loop exits too early. + +2015-03-18 Jakub Jelinek + + PR tree-optimization/65450 + * gfortran.dg/pr65450.f90: New test. + + PR target/65078 + * gcc.target/i386/pr65078-1.c: New test. + * gcc.target/i386/pr65078-2.c: New test. + * gcc.target/i386/pr65078-3.c: New test. + * gcc.target/i386/pr65078-4.c: New test. + * gcc.target/i386/pr65078-5.c: New test. + * gcc.target/i386/pr65078-6.c: New test. + +2015-03-18 Paolo Carlini + + PR c++/65340 + * g++.dg/cpp1y/pr65340.C: New. + +2015-03-17 Jerry DeLisle + + PR fortran/64432 + * gfortran.dg/system_clock_3.f08: Adjust test. + +2015-03-17 Paul Thomas + + PR fortran/59198 + * gfortran.dg/proc_ptr_comp_44.f90: New test. + * gfortran.dg/proc_ptr_comp_45.f90: New test. + +2015-03-16 Jerry DeLisle + + PR fortran/64432 + * gfortran.dg/system_clock_3.f08: New test. + +2015-03-16 Edward Smith-Rowland <3dw4rd@verizon.net> + + PR c++/64626 + g++.dg/cpp1y/pr64626-1.C: New. + g++.dg/cpp1y/pr64626-2.C: New. + g++.dg/cpp1y/digit-sep-neg.C: Adjust errors and warnings. + +2015-03-16 Jakub Jelinek + + PR tree-optimization/65427 + * gcc.c-torture/execute/pr65427.c: New test. + +2015-03-16 Marek Polacek + + DR 1688 + PR c++/65327 + * g++.dg/cpp0x/constexpr-object1.C: Change dg-error to dg-bogus. + * g++.dg/cpp0x/pr65327.C: New test. + +2015-03-16 Max Ostapenko + + PR sanitizer/64820 + * c-c++-common/asan/pr64820.c: New test. + +2015-03-16 Andre Vehreschild + + * gfortran.dg/pointer_2.f90: New test. + +2015-03-16 Eric Botcazou + + * g++.dg/pr65049.C: New test. + +2015-03-16 Tom de Vries + + * gcc.target/i386/fuse-caller-save-rec.c: Add PR64895 xfail on scans. + * gcc.target/i386/fuse-caller-save-xmm.c: Same. + * gcc.target/i386/fuse-caller-save.c: Same. + +2015-03-16 Eric Botcazou + + * gnat.dg/loop_optimization18.ad[sb]: New test. + * gnat.dg/loop_optimization18_pkg.ads: New helper. + +2015-03-16 Alan Modra + + * gcc.target/powerpc/pr53199.c: Add extra functions. Revert + 2014-12-05 change. + +2015-03-15 John David Anglin + + * gcc.dg/torture/pr65270-1.c: Add -fno-common to dg-options on + hppa*-*-hpux*. + * gcc.dg/torture/pr65270-2.c: Likewise. + +2015-03-14 Mikael Morin + + PR fortran/61138 + * gfortran.dg/pointer_remapping_9.f90: New. + +2015-03-14 Jakub Jelinek + + PR tree-optimization/65369 + * gcc.c-torture/execute/pr65369.c: New test. + + PR tree-optimization/65418 + * gcc.c-torture/execute/pr65418-1.c: New test. + * gcc.c-torture/execute/pr65418-2.c: New test. + + PR rtl-optimization/65401 + * gcc.c-torture/execute/pr65401.c: New test. + +2015-03-13 Kyrylo Tkachov + + PR target/64600 + * gcc.target/arm/pr64600_1.c: New test. + +2015-03-12 Kyrylo Tkachov + + PR rtl-optimization/65235 + * gcc.target/aarch64/pr65235_1.c: New test. + +2015-03-12 Dominik Vogt + + * gcc.target/s390/hotpatch-21.c: New test for hotpatch alignment. + * gcc.target/s390/hotpatch-22.c: Likewise. + * gcc.target/s390/hotpatch-23.c: Likewise. + * gcc.target/s390/hotpatch-24.c: Likewise. + * gcc.target/s390/hotpatch-2.c: Also check hotpatch alignment. + * gcc.target/s390/hotpatch-1.c: Update expected output. + * gcc.target/s390/hotpatch-2.c: Likewise. + * gcc.target/s390/hotpatch-3.c: Likewise. + * gcc.target/s390/hotpatch-4.c: Likewise. + * gcc.target/s390/hotpatch-5.c: Likewise. + * gcc.target/s390/hotpatch-6.c: Likewise. + * gcc.target/s390/hotpatch-7.c: Likewise. + * gcc.target/s390/hotpatch-8.c: Likewise. + * gcc.target/s390/hotpatch-9.c: Likewise. + * gcc.target/s390/hotpatch-10.c: Likewise. + * gcc.target/s390/hotpatch-11.c: Likewise. + * gcc.target/s390/hotpatch-12.c: Likewise. + * gcc.target/s390/hotpatch-13.c: Likewise. + * gcc.target/s390/hotpatch-14.c: Likewise. + * gcc.target/s390/hotpatch-15.c: Likewise. + * gcc.target/s390/hotpatch-16.c: Likewise. + * gcc.target/s390/hotpatch-17.c: Likewise. + * gcc.target/s390/hotpatch-18.c: Likewise. + * gcc.target/s390/hotpatch-19.c: Likewise. + +2015-03-12 Ilya Enkovich + + PR target/65103 + * gcc.target/i386/pr65103-1.c: New. + +2015-03-12 Ilya Enkovich + + PR target/65044 + * gcc.target/i386/pr65044.c: New. + +2015-03-12 Tom de Vries + + PR rtl-optimization/64895 + * gcc.target/i386/fuse-caller-save-rec.c: Revert require nonpic target. + * gcc.target/i386/fuse-caller-save-xmm.c: Ditto. + * gcc.target/i386/fuse-caller-save.c: Ditto. + +2015-03-10 Jan Hubicka + + * gcc.dg/ipa/pr63569.c: Fix template. + +2015-03-11 Sandra Loosemore + + * g++.dg/ipa/pr64146.C: Require fpic support. + +2015-03-11 Janne Blomqvist + + PR libfortran/65200 + * gfortran.dg/open_errors.f90: Update checks for iomsg string. + * gfortran.dg/open_new_segv.f90: Fix error message pattern. + +2015-03-11 Jakub Jelinek + + * c-c++-common/asan/no-asan-check-glob.c: Add -ffat-lto-objects + to dg-options, fix up dg-skip-if. + +2015-03-11 Georg-Johann Lay + + PR target/65296 + * gcc.target/avr/tiny-memx: Use -mmcu instead of -march. + * gcc.target/avr/tiny-caller-save.c: Same. + +2015-03-11 Michael Meissner + + PR target/65242 + * g++.dg/pr65242.C: New test. + +2015-03-11 Marat Zakirov + + * c-c++-common/asan/no-asan-check-glob.c: New test. + +2015-03-10 Paolo Carlini + + PR c++/65370 + * g++.dg/other/default11.C: New. + * g++.dg/other/default12.C: Likewise. + +2015-03-10 Jakub Jelinek + + PR target/65368 + * gcc.target/i386/bmi2-bzhi-2.c: New test. + +2015-03-10 Paul Thomas + + PR fortran/65024 + * gfortran.dg/unlimited_polymorphic_23.f90: New test + +2015-03-10 Jakub Jelinek + + PR c++/65127 + * g++.dg/cpp0x/pr65127.C: New test. + +2015-03-10 Jan Hubicka + + * gcc.dg/ipa/PR64550.c: Update template. + +2015-03-10 Alessandro Fanfarillo + Tobias Burnus + + * gfortran.dg/coarray_sync_memory.f90: New. + +2015-03-10 Marek Polacek + + PR sanitizer/65367 + * c-c++-common/ubsan/pr65367.c: New test. + +2015-03-10 Ilya Enkovich + + * lib/mpx-dg.exp (mpx_link_flags): Set path to wrappers library. + * gcc.target/i386/mpx/calloc-1-lbv.c: New. + * gcc.target/i386/mpx/calloc-1-ubv.c: New. + * gcc.target/i386/mpx/calloc-1-nov.c: New. + * gcc.target/i386/mpx/malloc-1-lbv.c: New. + * gcc.target/i386/mpx/malloc-1-nov.c: New. + * gcc.target/i386/mpx/malloc-1-ubv.c: New. + * gcc.target/i386/mpx/realloc-1-lbv.c: New. + * gcc.target/i386/mpx/realloc-1-nov.c: New. + * gcc.target/i386/mpx/realloc-1-ubv.c: New. + * gcc.target/i386/mpx/realloc-2-lbv.c: New. + * gcc.target/i386/mpx/realloc-2-nov.c: New. + * gcc.target/i386/mpx/realloc-2-ubv.c: New. + +2015-03-10 Ilya Enkovich + + * lib/mpx-dg.exp (mpx_link_flags): New. + (mpx_init): New. + (mpx_finish): New. + * gcc.target/i386/mpx/alloca-1-lbv.c: New. + * gcc.target/i386/mpx/alloca-1-nov.c: New. + * gcc.target/i386/mpx/alloca-1-ubv.c: New. + * gcc.target/i386/mpx/arg-addr-1-lbv.c: New. + * gcc.target/i386/mpx/arg-addr-1-nov.c: New. + * gcc.target/i386/mpx/arg-addr-1-ubv.c: New. + * gcc.target/i386/mpx/bitfields-1-lbv.c: New. + * gcc.target/i386/mpx/bitfields-1-nov.c: New. + * gcc.target/i386/mpx/bitfields-1-ubv.c: New. + * gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-1-lbv.c: New. + * gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-1-nov.c: New. + * gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-1-ubv.c: New. + * gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-2.c: New. + * gcc.target/i386/mpx/builtin-bnd-chk-ptr-lbounds-1-lbv.c: New. + * gcc.target/i386/mpx/builtin-bnd-chk-ptr-lbounds-1-nov.c: New. + * gcc.target/i386/mpx/builtin-bnd-chk-ptr-lbounds-2.c: New. + * gcc.target/i386/mpx/builtin-bnd-chk-ptr-ubounds-1-nov.c: New. + * gcc.target/i386/mpx/builtin-bnd-chk-ptr-ubounds-1-ubv.c: New. + * gcc.target/i386/mpx/builtin-bnd-chk-ptr-ubounds-2.c: New. + * gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-1.c: New. + * gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-2-lbv.c: New. + * gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-2-nov.c: New. + * gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-2-ubv.c: New. + * gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-3.c: New. + * gcc.target/i386/mpx/builtin-bnd-get-ptr-lbound-1.c: New. + * gcc.target/i386/mpx/builtin-bnd-get-ptr-lbound-2.c: New. + * gcc.target/i386/mpx/builtin-bnd-get-ptr-ubound-1.c: New. + * gcc.target/i386/mpx/builtin-bnd-get-ptr-ubound-2.c: New. + * gcc.target/i386/mpx/builtin-bnd-init-ptr-bounds-1.c: New. + * gcc.target/i386/mpx/builtin-bnd-init-ptr-bounds-2-nov.c: New. + * gcc.target/i386/mpx/builtin-bnd-init-ptr-bounds-3.c: New. + * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-1.c: New. + * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-2-lbv.c: New. + * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-2-nov.c: New. + * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-2-ubv.c: New. + * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-3-lbv.c: New. + * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-3-nov.c: New. + * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-3-ubv.c: New. + * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-4.c: New. + * gcc.target/i386/mpx/builtin-bnd-null-ptr-bounds-1-bbv.c: New. + * gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-1.c: New. + * gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-2-lbv.c: New. + * gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-2-nov.c: New. + * gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-2-ubv.c: New. + * gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-3.c: New. + * gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-1-lbv.c: New. + * gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-1-nov.c: New. + * gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-1-ubv.c: New. + * gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-2.c: New. + * gcc.target/i386/mpx/fastcall-1-lbv.c: New. + * gcc.target/i386/mpx/fastcall-1-nov.c: New. + * gcc.target/i386/mpx/fastcall-1-ubv.c: New. + * gcc.target/i386/mpx/fastcall-2-lbv.c: New. + * gcc.target/i386/mpx/fastcall-2-nov.c: New. + * gcc.target/i386/mpx/fastcall-2-ubv.c: New. + * gcc.target/i386/mpx/field-addr-1-lbv.c: New. + * gcc.target/i386/mpx/field-addr-1-nov.c: New. + * gcc.target/i386/mpx/field-addr-1-ubv.c: New. + * gcc.target/i386/mpx/field-addr-10-lbv.c: New. + * gcc.target/i386/mpx/field-addr-10-nov.c: New. + * gcc.target/i386/mpx/field-addr-10-ubv.c: New. + * gcc.target/i386/mpx/field-addr-2-lbv.c: New. + * gcc.target/i386/mpx/field-addr-2-nov.c: New. + * gcc.target/i386/mpx/field-addr-2-ubv.c: New. + * gcc.target/i386/mpx/field-addr-3-lbv.c: New. + * gcc.target/i386/mpx/field-addr-3-nov.c: New. + * gcc.target/i386/mpx/field-addr-3-ubv.c: New. + * gcc.target/i386/mpx/field-addr-4-lbv.c: New. + * gcc.target/i386/mpx/field-addr-4-nov.c: New. + * gcc.target/i386/mpx/field-addr-4-ubv.c: New. + * gcc.target/i386/mpx/field-addr-5-lbv.c: New. + * gcc.target/i386/mpx/field-addr-5-nov.c: New. + * gcc.target/i386/mpx/field-addr-5-ubv.c: New. + * gcc.target/i386/mpx/field-addr-6-lbv.c: New. + * gcc.target/i386/mpx/field-addr-6-nov.c: New. + * gcc.target/i386/mpx/field-addr-6-ubv.c: New. + * gcc.target/i386/mpx/field-addr-7-lbv.c: New. + * gcc.target/i386/mpx/field-addr-7-nov.c: New. + * gcc.target/i386/mpx/field-addr-7-ubv.c: New. + * gcc.target/i386/mpx/field-addr-8-lbv.c: New. + * gcc.target/i386/mpx/field-addr-8-nov.c: New. + * gcc.target/i386/mpx/field-addr-8-ubv.c: New. + * gcc.target/i386/mpx/field-addr-9-lbv.c: New. + * gcc.target/i386/mpx/field-addr-9-nov.c: New. + * gcc.target/i386/mpx/field-addr-9-ubv.c: New. + * gcc.target/i386/mpx/frame-address-1-nov.c: New. + * gcc.target/i386/mpx/hard-reg-1-nov.c: New. + * gcc.target/i386/mpx/if-stmt-1-lbv.c: New. + * gcc.target/i386/mpx/if-stmt-1-nov.c: New. + * gcc.target/i386/mpx/if-stmt-1-ubv.c: New. + * gcc.target/i386/mpx/if-stmt-2-lbv.c: New. + * gcc.target/i386/mpx/if-stmt-2-nov.c: New. + * gcc.target/i386/mpx/if-stmt-2-ubv.c: New. + * gcc.target/i386/mpx/label-address-1.c: New. + * gcc.target/i386/mpx/legacy-1-nov.c: New. + * gcc.target/i386/mpx/macro.c: New. + * gcc.target/i386/mpx/mpx-check.h: New. + * gcc.target/i386/mpx/mpx.exp: New. + * gcc.target/i386/mpx/nested-function-1-lbv.c: New. + * gcc.target/i386/mpx/nested-function-1-nov.c: New. + * gcc.target/i386/mpx/nested-function-1-ubv.c: New. + * gcc.target/i386/mpx/pointer-arg-1-lbv.c: New. + * gcc.target/i386/mpx/pointer-arg-1-nov.c: New. + * gcc.target/i386/mpx/pointer-arg-1-ubv.c: New. + * gcc.target/i386/mpx/pointer-arg-2-lbv.c: New. + * gcc.target/i386/mpx/pointer-arg-2-nov.c: New. + * gcc.target/i386/mpx/pointer-arg-2-ubv.c: New. + * gcc.target/i386/mpx/pointer-arg-3-lbv.c: New. + * gcc.target/i386/mpx/pointer-arg-3-nov.c: New. + * gcc.target/i386/mpx/pointer-arg-3-ubv.c: New. + * gcc.target/i386/mpx/pointer-arg-4-lbv.c: New. + * gcc.target/i386/mpx/pointer-arg-4-nov.c: New. + * gcc.target/i386/mpx/pointer-arg-4-ubv.c: New. + * gcc.target/i386/mpx/pointer-arg-5-lbv.c: New. + * gcc.target/i386/mpx/pointer-arg-5-nov.c: New. + * gcc.target/i386/mpx/pointer-arg-5-ubv.c: New. + * gcc.target/i386/mpx/pointer-store-1-lbv.c: New. + * gcc.target/i386/mpx/pointer-store-1-nov.c: New. + * gcc.target/i386/mpx/pointer-store-1-ubv.c: New. + * gcc.target/i386/mpx/reference-1-lbv.c: New. + * gcc.target/i386/mpx/reference-1-nov.c: New. + * gcc.target/i386/mpx/reference-1-ubv.c: New. + * gcc.target/i386/mpx/reference-2-lbv.c: New. + * gcc.target/i386/mpx/reference-2-nov.c: New. + * gcc.target/i386/mpx/reference-2-ubv.c: New. + * gcc.target/i386/mpx/reference-3-lbv.c: New. + * gcc.target/i386/mpx/reference-3-nov.c: New. + * gcc.target/i386/mpx/reference-3-ubv.c: New. + * gcc.target/i386/mpx/reference-4-lbv.c: New. + * gcc.target/i386/mpx/reference-4-nov.c: New. + * gcc.target/i386/mpx/reference-4-ubv.c: New. + * gcc.target/i386/mpx/return-pointer-1-lbv.c: New. + * gcc.target/i386/mpx/return-pointer-1-nov.c: New. + * gcc.target/i386/mpx/return-pointer-1-ubv.c: New. + * gcc.target/i386/mpx/return-struct-1-lbv.c: New. + * gcc.target/i386/mpx/return-struct-1-nov.c: New. + * gcc.target/i386/mpx/return-struct-1-ubv.c: New. + * gcc.target/i386/mpx/return-struct-2-lbv.c: New. + * gcc.target/i386/mpx/return-struct-2-nov.c: New. + * gcc.target/i386/mpx/return-struct-2-ubv.c: New. + * gcc.target/i386/mpx/return-struct-3-lbv.c: New. + * gcc.target/i386/mpx/return-struct-3-nov.c: New. + * gcc.target/i386/mpx/return-struct-3-ubv.c: New. + * gcc.target/i386/mpx/return-struct-4-lbv.c: New. + * gcc.target/i386/mpx/return-struct-4-nov.c: New. + * gcc.target/i386/mpx/return-struct-4-ubv.c: New. + * gcc.target/i386/mpx/return-struct-5-lbv.c: New. + * gcc.target/i386/mpx/return-struct-5-nov.c: New. + * gcc.target/i386/mpx/return-struct-5-ubv.c: New. + * gcc.target/i386/mpx/return-struct-6-lbv.c: New. + * gcc.target/i386/mpx/return-struct-6-nov.c: New. + * gcc.target/i386/mpx/return-struct-6-ubv.c: New. + * gcc.target/i386/mpx/sincos-1-nov.c: New. + * gcc.target/i386/mpx/static-array-1-lbv.c: New. + * gcc.target/i386/mpx/static-array-1-nov.c: New. + * gcc.target/i386/mpx/static-array-1-ubv.c: New. + * gcc.target/i386/mpx/static-init-1-lbv.c: New. + * gcc.target/i386/mpx/static-init-1-nov.c: New. + * gcc.target/i386/mpx/static-init-1-ubv.c: New. + * gcc.target/i386/mpx/static-init-2-lbv.c: New. + * gcc.target/i386/mpx/static-init-2-nov.c: New. + * gcc.target/i386/mpx/static-init-2-ubv.c: New. + * gcc.target/i386/mpx/static-init-3-lbv.c: New. + * gcc.target/i386/mpx/static-init-3-nov.c: New. + * gcc.target/i386/mpx/static-init-3-ubv.c: New. + * gcc.target/i386/mpx/static-init-4-lbv.c: New. + * gcc.target/i386/mpx/static-init-4-nov.c: New. + * gcc.target/i386/mpx/static-init-4-ubv.c: New. + * gcc.target/i386/mpx/static-init-5-lbv.c: New. + * gcc.target/i386/mpx/static-init-5-nov.c: New. + * gcc.target/i386/mpx/static-init-5-ubv.c: New. + * gcc.target/i386/mpx/static-init-6-lbv.c: New. + * gcc.target/i386/mpx/static-init-6-nov.c: New. + * gcc.target/i386/mpx/static-init-6-ubv.c: New. + * gcc.target/i386/mpx/static-string-1-lbv.c: New. + * gcc.target/i386/mpx/static-string-1-nov.c: New. + * gcc.target/i386/mpx/static-string-1-ubv.c: New. + * gcc.target/i386/mpx/struct-arg-1-lbv.c: New. + * gcc.target/i386/mpx/struct-arg-1-nov.c: New. + * gcc.target/i386/mpx/struct-arg-1-ubv.c: New. + * gcc.target/i386/mpx/struct-arg-10-lbv.c: New. + * gcc.target/i386/mpx/struct-arg-10-nov.c: New. + * gcc.target/i386/mpx/struct-arg-10-ubv.c: New. + * gcc.target/i386/mpx/struct-arg-2-lbv.c: New. + * gcc.target/i386/mpx/struct-arg-2-nov.c: New. + * gcc.target/i386/mpx/struct-arg-2-ubv.c: New. + * gcc.target/i386/mpx/struct-arg-3-lbv.c: New. + * gcc.target/i386/mpx/struct-arg-3-nov.c: New. + * gcc.target/i386/mpx/struct-arg-3-ubv.c: New. + * gcc.target/i386/mpx/struct-arg-4-lbv.c: New. + * gcc.target/i386/mpx/struct-arg-4-nov.c: New. + * gcc.target/i386/mpx/struct-arg-4-ubv.c: New. + * gcc.target/i386/mpx/struct-arg-5-lbv.c: New. + * gcc.target/i386/mpx/struct-arg-5-nov.c: New. + * gcc.target/i386/mpx/struct-arg-5-ubv.c: New. + * gcc.target/i386/mpx/struct-arg-6-lbv.c: New. + * gcc.target/i386/mpx/struct-arg-6-nov.c: New. + * gcc.target/i386/mpx/struct-arg-6-ubv.c: New. + * gcc.target/i386/mpx/struct-arg-7-lbv.c: New. + * gcc.target/i386/mpx/struct-arg-7-nov.c: New. + * gcc.target/i386/mpx/struct-arg-7-ubv.c: New. + * gcc.target/i386/mpx/struct-arg-8-lbv.c: New. + * gcc.target/i386/mpx/struct-arg-8-nov.c: New. + * gcc.target/i386/mpx/struct-arg-8-ubv.c: New. + * gcc.target/i386/mpx/struct-arg-9-lbv.c: New. + * gcc.target/i386/mpx/struct-arg-9-nov.c: New. + * gcc.target/i386/mpx/struct-arg-9-ubv.c: New. + * gcc.target/i386/mpx/struct-copy-1-lbv.c: New. + * gcc.target/i386/mpx/struct-copy-1-nov.c: New. + * gcc.target/i386/mpx/struct-copy-1-ubv.c: New. + * gcc.target/i386/mpx/struct-copy-2-lbv.c: New. + * gcc.target/i386/mpx/struct-copy-2-nov.c: New. + * gcc.target/i386/mpx/struct-copy-2-ubv.c: New. + * gcc.target/i386/mpx/thread-local-var-1-lbv.c: New. + * gcc.target/i386/mpx/thread-local-var-1-nov.c: New. + * gcc.target/i386/mpx/thread-local-var-1-ubv.c: New. + * gcc.target/i386/mpx/union-arg-1-lbv.c: New. + * gcc.target/i386/mpx/union-arg-1-nov.c: New. + * gcc.target/i386/mpx/union-arg-1-ubv.c: New. + * gcc.target/i386/mpx/va-arg-pack-1-lbv.c: New. + * gcc.target/i386/mpx/va-arg-pack-1-nov.c: New. + * gcc.target/i386/mpx/va-arg-pack-1-ubv.c: New. + * gcc.target/i386/mpx/va-arg-pack-2-lbv.c: New. + * gcc.target/i386/mpx/va-arg-pack-2-nov.c: New. + * gcc.target/i386/mpx/va-arg-pack-2-ubv.c: New. + * gcc.target/i386/mpx/vararg-1-lbv.c: New. + * gcc.target/i386/mpx/vararg-1-nov.c: New. + * gcc.target/i386/mpx/vararg-1-ubv.c: New. + * gcc.target/i386/mpx/vararg-2-lbv.c: New. + * gcc.target/i386/mpx/vararg-2-nov.c: New. + * gcc.target/i386/mpx/vararg-2-ubv.c: New. + * gcc.target/i386/mpx/vararg-3-lbv.c: New. + * gcc.target/i386/mpx/vararg-3-nov.c: New. + * gcc.target/i386/mpx/vararg-3-ubv.c: New. + * gcc.target/i386/mpx/vararg-4-lbv.c: New. + * gcc.target/i386/mpx/vararg-4-nov.c: New. + * gcc.target/i386/mpx/vararg-4-ubv.c: New. + * gcc.target/i386/mpx/vararg-5-lbv.c: New. + * gcc.target/i386/mpx/vararg-5-nov.c: New. + * gcc.target/i386/mpx/vararg-5-ubv.c: New. + * gcc.target/i386/mpx/vararg-6-lbv.c: New. + * gcc.target/i386/mpx/vararg-6-nov.c: New. + * gcc.target/i386/mpx/vararg-6-ubv.c: New. + * gcc.target/i386/mpx/vararg-7-lbv.c: New. + * gcc.target/i386/mpx/vararg-7-nov.c: New. + * gcc.target/i386/mpx/vararg-7-ubv.c: New. + * gcc.target/i386/mpx/vararg-8-lbv.c: New. + * gcc.target/i386/mpx/vararg-8-nov.c: New. + * gcc.target/i386/mpx/vararg-8-ubv.c: New. + * gcc.target/i386/mpx/vla-1-lbv.c: New. + * gcc.target/i386/mpx/vla-1-nov.c: New. + * gcc.target/i386/mpx/vla-1-ubv.c: New. + * gcc.target/i386/mpx/vla-2-lbv.c: New. + * gcc.target/i386/mpx/vla-2-nov.c: New. + * gcc.target/i386/mpx/vla-2-ubv.c: New. + +2015-03-10 James Greenhalgh + + * gcc.dg/vect/pr65310.c (c): Reduce alignment to 4-bytes. + +2015-03-10 Oleg Endo + + * gcc.target/sh/pr54680.c: Add -fno-ipa-icf option. + +2015-03-10 Uros Bizjak + + * gcc.dg/ipa/ipa-icf-36.c (dg-final): Cleanup icf ipa dump. + * gcc.dg/ipa/ipa-icf-37.c (dg-final): Ditto. + +2015-03-10 Jakub Jelinek + + PR c/65120 + * c-c++-common/pr49706.c (fn2): Don't expect warning if enumerator + on rhs is 0. + (fn4): New test. + * c-c++-common/pr65120.c: New test. + + PR rtl-optimization/65321 + * gcc.dg/pr65321.c: New test. + +2015-03-10 Jan Hubicka + + PR tree-optimization/65355 + * gcc.dg/vect/section-anchors-vect-69.c: Update template. + +2015-03-09 Jakub Jelinek + + PR c/65120 + * c-c++-common/pr49706.c: Adjust tests for not warning + about !!x == y or !b == y where b is boolean, and add + some further tests. + * c-c++-common/pr62199-2.c: Likewise. + +2015-03-09 Richard Biener + + PR middle-end/65270 + * gcc.dg/torture/pr65270-1.c: New testcase. + * gcc.dg/torture/pr65270-2.c: Likewise. + +2015-03-09 Thomas Preud'homme + + PR tree-optimization/63743 + * gcc.dg/pr63743.c: New test. + +2015-03-08 Jan Hubicka + + PR lto/65316 + * g++.dg/lto/pr65316_0.C: New testcase. + * g++.dg/lto/pr65316_1.C: New testcase. + +2015-03-08 John David Anglin + + PR target/62247 + * g++.dg/abi/anon3.C: Skip failing scan-assembler checks on + hppa*-*-hpux*. + * g++.dg/abi/rtti3.C: Likewise. + + * g++.dg/ipa/pr63621.C: Add dg-require-effective-target named_sections. + + PR target/62251 + * gfortran.dg/quad_2.f90: xfail hppa*-*-hpux*. + + * gcc.dg/signbit-sa.c: Add dg-require-effective-target c99_runtime + + * gcc.dg/ipa/pr64307.c: Add target c99_runtime. + + * gcc.dg/ipa/ipa-icf-34.c: Add dg-require-alias. + +2015-03-08 Morin + + PR fortran/60898 + * gfortran.dg/entry_20.f90: New. + +2015-03-07 Oleg Endo + + PR target/65153 + * gcc.c-torture/compile/pr65153.c: New. + +2015-03-07 Oleg Endo + + PR target/65249 + * g++.dg/torture/pr65249.C: New. + +2015-03-07 H.J. Lu + + * gcc.target/i386/pr45685.c (uint64_t): Replace long with long + long. + (int64_t): Likewise. + +2015-03-07 Marek Polacek + Martin Uecker + + PR sanitizer/65280 + * c-c++-common/ubsan/bounds-1.c: Add testing of flexible array + member-like arrays. + * c-c++-common/ubsan/bounds-8.c: New test. + * c-c++-common/ubsan/bounds-9.c: New test. + * gcc.dg/ubsan/bounds-2.c: New test. + +2015-03-05 Martin Sebor + + PR testsuite/63175 + * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c (main1): Move + checking of results into main to prevent it from getting optimized + away. + * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c: New test. + +2015-03-06 Wilco Dijkstra + + * gcc.dg/tree-ssa/pr45685.c: Move to gcc.target/i386. + * gcc.target/aarch64/csneg-1.c (test_csneg_cmp): New test. + * gcc.target/i386/pr45685.c: Moved test, check for conditional move on + x64. + +2015-03-05 Jan Hubicka + + * g++.dg/lto/pr65302_1.C: New testcase. + * g++.dg/lto/pr65302_0.C: New testcase. + +2015-03-06 James Greenhalgh + + * gcc.target/arm/atomic-comp-swap-release-acquire.c: Add + -fno-ipa-icf to dg-options. + +2015-03-06 James Greenhalgh + + * c-c++-common/torture/aarch64-vect-lane-2.c: XFAIL for LTO + compiles using the linker plugin. + +2015-03-06 Eric Botcazou + + * g++.dg/other/dump-ada-spec-3.C: Remove include and adjust. + +2015-03-05 Bernd Edlinger + + * gcc.target/arm/pr65067.c: New test. + +2015-03-05 Martin Liska + + PR ipa/65318 + * gcc.dg/ipa/pr65318.c: New test. + +2015-03-05 Marek Polacek + + * c-c++-common/ubsan/bounds-6.c: Use dg-do run. + +2015-03-05 Andreas Krebbel + + * gcc.dg/tree-ssa/ssa-dom-cse-2.c: + +2015-03-05 Andreas Krebbel + + * gcc.dg/var-expand1.c: Force max-completely-peel-times and + max-unroll-times back to defaults for s390. + +2015-03-05 Paolo Carlini + + Fix last commit. + +2015-03-05 Paolo Carlini + + PR c++/64665 + * g++.dg/cpp0x/initlist92.C: New. + +2015-03-05 Richard Biener + + PR tree-optimization/65310 + * gcc.dg/vect/pr65310.c: New testcase. + +2015-03-05 Paolo Carlini + + PR c++/64834 + * g++.dg/cpp1y/lambda-generic-uneval1.C: New. + +2015-03-04 Eric Botcazou + + * gnat.dg/entry_queues3.adb: New test. + +2015-03-04 Ian Lance Taylor + + * go.test/go-test.exp (go-gc-tests): Skip nilptr test on s390*. + +2015-03-04 Paolo Carlini + + PR c++/64227 + * g++.dg/cpp1y/lambda-generic-ice1.C: New. + +2015-03-04 James Greenhalgh + + * gcc.target/aarch64/atomic-comp-swap-release-acquire.c: Add + -fno-ipa-icf to dg-options + * gcc.target/aarch64/vect_saddl_1.c: Likewise. + * gcc.target/aarch64/vect_smlal_1.c: Likewise. + +2015-03-04 Paolo Carlini + + PR c++/64398 + * g++.dg/cpp0x/decltype62.C: New. + +2015-03-03 Eric Botcazou + + * gnat.dg/object_overflow5.adb: New test. + +2015-03-03 Martin Liska + + PR ipa/65287 + * gcc.dg/ipa/pr65287.c: New test. + +2015-03-03 Martin Jambor + Eric Botcazou + + * gnat.dg/specs/pack12.ads: New test. + +2015-03-03 Martin Liska + + * gcc.dg/ipa/PR65282.c: New test. + +2015-03-13 Jeff Law + + PR tree-optimization/65241 + * gcc.c-torture/compile/pr65241.c: New test. + +2015-03-03 Georg-Johann Lay + + PR target/64331 + * gcc.target/avr/torture/pr64331.c: New test. + +2015-03-03 Martin Liska + Jan Hubicka + + * g++.dg/ipa/pr65263.C: New test. + +2015-03-02 Jan Hubicka + + PR ipa/65130 + * gcc.dg/lto/pr65130_0.c: New testcase. + * gcc.dg/lto/pr65130_1.c: New testcase. + +2015-03-02 Jan Hubicka + + PR ipa/64988 + * g++.dg/torture/pr64988.C: New testcase. + +2015-03-02 Tobias Burnus + + * gfortran.dg/coarray_atomic_6.f90: New. + +2015-03-02 Ilya Enkovich + + PR target/65184 + * gcc.target/i386/pr65184.c: New. + +2015-03-02 Ilya Enkovich + + PR target/65183 + * gcc.target/i386/pr65183.c: New. + +2015-02-28 Martin Liska + Jan Hubicka + + * gcc.dg/ipa/ipa-icf-35.c: New test. + * gcc.dg/ipa/ipa-icf-36.c: New test. + * gcc.dg/ipa/ipa-icf-37.c: New test. + +2015-02-28 Martin Liska + Jan Hubicka + + PR ipa/65245 + * gcc.dg/ipa/ipa-icf-34.c: New test. + +2015-03-01 Oleg Endo + + PR target/61142 + * gcc.target/sh/sh/pr61142.c: New. + +2015-03-01 Eric Botcazou + + * g++.dg/other/dump-ada-spec-3.C: New test. + +2015-03-01 Martin Liska + + * gcc.target/i386/stackalign/longlong-2.c: Omit ICF. + * g++.dg/ipa/pr63595.C: Update expected results. + +2015-02-28 Jan Hubicka + + PR ipa/65236 + * g++.dg/ipa/ipa-icf-6.C: New testcase. + +2015-02-27 Pat Haugen + + * gcc.dg/vect/pr59354.c: Move vector producing code to + separate function. + +2015-02-27 Jan Hubicka + + PR ipa/65237 + * gcc.dg/attr-noinline.c: Add -fno-ipa-icf + * gcc.dg/noreturn-7.c: Add -fno-ipa-icf. + * gcc.dg/ipa/ipa-cp-1.c: Revert accidental commit. + * gcc.dg/ipa/ipa-cp-2.c: Revert accidental commit. + +2015-02-27 Jakub Jelinek + + PR tree-optimization/65048 + * gcc.dg/tree-ssa/ssa-dom-thread-9.c: Add -std=gnu89 to dg-options. + (foo): Use K&R style definition. + +2015-02-27 Vladimir Makarov + + PR target/65032 + * g++.dg/pr65032.C: New. + +2015-02-27 Marek Polacek + + PR c/65040 + * gcc.dg/pr65066.c: Use -Wformat -Wformat-signedness and not + -Wformat=2. + +2015-02-27 Marek Polacek + + PR c/65228 + * gcc.dg/pr65228.c: New test. + +2015-02-27 Kai Tietz + + PR c/35330 + * gcc.dg/weak/weak-17.c: New file. + +2015-02-27 Richard Biener + + PR lto/65193 + * g++.dg/lto/pr65193_0.C: New testcase. + +2015-02-27 Andreas Krebbel + + * gcc.target/s390/20140327-1.c: Remove -m31 and guard with ! lp64. + * gcc.target/s390/hotpatch-8.c: Likewise. + * gcc.target/s390/hotpatch-9.c: Likewise. + * gcc.target/s390/pr61078.c: Likewise. + * gcc.target/s390/pr57960.c: Remove -m64. + * gcc.target/s390/pr61078.c: Likewise. + +2015-02-26 Jan Hubicka + Martin Liska + + PR bootstrap/65150 + * gcc.dg/pr64454.c: Disable ICF. + * gcc.dg/pr28685-1.c: Disable ICF + * gcc.dg/ipa/iinline-5.c: Disable ICF. + * g++.dg/warn/Wsuggest-final.C: Force methods to be different. + * g++.dg/ipa/ipa-icf-4.C: Update template. + +2015-02-26 Jakub Jelinek + + PR tree-optimization/65216 + * gcc.c-torture/execute/pr65216.c: New test. + + PR tree-optimization/65215 + * gcc.c-torture/execute/pr65215-1.c: New test. + * gcc.c-torture/execute/pr65215-2.c: New test. + * gcc.c-torture/execute/pr65215-3.c: New test. + * gcc.c-torture/execute/pr65215-4.c: New test. + * gcc.c-torture/execute/pr65215-5.c: New test. + +2015-02-26 Tom de Vries + + * go.test/go-test.exp (go-gc-tests): Add missing cleanup for cmpout. + +2015-02-26 Martin Liska + Jan Hubicka + + * g++.dg/ipa/pr64146.C: Update expected results. + * gcc.dg/ipa/ipa-icf-26.c: Update test. + * gcc.dg/ipa/ipa-icf-33.c: Remove redundant line. + * gcc.dg/ipa/ipa-icf-34.c: New test. + +2015-02-26 Uros Bizjak + + * gcc.dg/vect/vect-pr61917.c: Rename to ... + * gcc.dg/vect/O3-vect-pr61917.c: ... this. + (dg-additional-options): Remove dg directive. + (dg-final): Add dg directive. + +2015-02-26 Marek Polacek + + PR ipa/65008 + * g++.dg/ipa/pr65008.C: New test. + +2015-02-26 Tom de Vries + + * lib/profopt.exp (profopt-target-cleanup): New proc. + (profopt-execute): Use profopt-target-cleanup to handle cleanup of + files from sources from dg-additional-sources. + +2015-02-26 Tom de Vries + + * lib/gcov.exp: Cleanup in case of xfail. + +2015-02-26 Sebastian Pop + + * gcc.dg/tree-ssa/ssa-dom-thread-9.c: Fix warning due to missing type. + +2015-02-25 Aldy Hernandez + + PR debug/46102 + * g++.dg/debug/dwarf2-1.C: XFAIL and move... + * g++.dg/debug/dwarf2/dwarf2-1.C: ...here. + * g++.dg/debug/dwarf2-2.C: XFAIL and move... + * g++.dg/debug/dwarf2/dwarf2-2.C: ...here. + * g++.dg/debug/dwarf2/typedef5.C: XFAIL. + * g++.dg/debug/pr46123.C: XFAIL and move... + * g++.dg/debug/dwarf2/pr46123-2.C: ...here. + * gcc.dg/debug/dwarf2-3.c: Move... + * gcc.dg/debug/dwarf2/dwarf2-3.c: ...here. + +2015-02-26 Marek Polacek + + PR c++/65202 + * g++.dg/cpp1y/pr65202.C: New test. + +2015-02-26 Tom de Vries + + * g++.dg/gcov/gcov-14.C: Add cleanup of iostream.gcov, ostream.gcov and + locale_facets.h.gcov. + +2015-02-26 Tom de Vries + + * gcc.target/i386/mcount_pic.c: Add missing cleanup-profile-file. + +2015-02-26 Tom de Vries + + * gcc.dg/aru-2.c: Add missing cleanup-profile-file. + +2015-02-26 H.J. Lu + + PR target/65217 + * gcc.target/i386/pr65217.c: New. + +2015-02-26 Tom de Vries + + * lib/dg-pch.exp (pch-init): Add missing cleanup of pchtest.o. + +2015-02-26 Tom de Vries + + * gcc.misc-tests/godump-1.c: Add missing cleanup of godump-1.out. + +2015-02-26 Sebastian Pop + + PR tree-optimization/65048 + * gcc.dg/tree-ssa/ssa-dom-thread-9.c: New. + +2015-02-26 Uros Bizjak + + * lib/gcc-dg.exp (cleanup-final-insns-dump): New procedure. + * g++.dg/opt/dump1.C (dg-final): Call cleanup-final-insns-dump. + +2015-02-26 Yuri Rumyantsev + + PR target/65161 + * gcc.target/i386/pr65161.c: New test. + +2015-02-26 Terry Guo + + * gcc.target/arm/no-volatile-in-it.c: New test. + +2015-02-25 Peter Bergner + + * gcc.target/powerpc/htm-builtin-1.c (dg-do) Change to assemble. + (dg-options): Add -save-temps. + (dg-final): Add cleanup-saved-temps. + +2015-02-25 Adhemerval Zanella + + * gcc.target/powerpc/htm-builtin-1.c: Fix tcheck expect value. + +2015-02-25 Pat Haugen + + * gcc.target/powerpc/direct-move.h: Include string.h/stdlib.h. + * gcc.target/powerpc/pack01.c: Include string.h. + +2015-02-25 Ilya Enkovich + + PR target/65167 + * gcc.target/i386/pr65167.c: New. + +2015-02-25 Kai Tietz + + PR tree-optimization/61917 + * gcc.dg/vect/vect-pr61917.c: New file. + +2015-02-24 Jakub Jelinek + + PR tree-optimization/65170 + * gcc.c-torture/execute/pr65170.c: New test. + * gcc.dg/tree-ssa/vrp96.c: New test. + +2015-02-24 Tom de Vries + + * gfortran.dg/readwrite_unf_direct_eor_1.f90: Add missing close. + +2015-02-24 Tom de Vries + + PR testsuite/65126 + * lib/gcc-defs.exp (additional_sources_used): Add new var. + (dg-additional-files-options): Copy additional_sources to + additional_sources_used before emptying additional_sources. + * lib/gcc-dg.exp (cleanup-coverage-files, cleanup-repo-files) + (cleanup-stack-usage, cleanup-ada-spec, cleanup-dump) + (cleanup-saved-temps): Use additional_sources_used instead of + additional_sources. + (dg-test): Reset additional_sources_used. + +2015-02-23 Richard Sandiford + + PR fortran/63427 + * gfortran.dg/integer_exponentiation_6.F90: New test. + +2015-02-23 Martin Sebor + + PR target/65109 + * gcc.target/powerpc/ppc64-abi-1.c: Split test functions into + two parts. One to save registers, the other to verify the + registers have the right values. Save register state into + static data rather than on the stack. + +2015-02-23 Jakub Jelinek + + PR bootstrap/63888 + * c-c++-common/asan/pr63888.c: New test. + +2015-02-23 Oleg Endo + + PR target/65163 + * gcc.c-torture/compile/pr65163.c: New. + +2015-02-23 Andreas Krebbel + + * gcc.dg/hoist-register-pressure-1.c: Make S/390 target check work + with -m31 on 64 bit. + * gcc.dg/hoist-register-pressure-2.c: Likewise. + * gcc.dg/hoist-register-pressure-3.c: Likewise. + +2015-02-23 Andreas Krebbel + + * gcc.target/s390/20090223-1.c: Add + -Wno-implicit-function-declaration option. + * gcc.target/s390/pr42224.c: Likewise. + * gcc.target/s390/pr55718.c: Likewise. + +2015-02-23 Andreas Krebbel + + * gcc.target/s390/hotpatch-1.c: Remove --save-temps option. + * gcc.target/s390/hotpatch-10.c: Remove --save-temps option. + * gcc.target/s390/hotpatch-11.c: Remove --save-temps option. + * gcc.target/s390/hotpatch-12.c: Remove --save-temps option. + * gcc.target/s390/hotpatch-13.c: Remove --save-temps option. + * gcc.target/s390/hotpatch-14.c: Remove --save-temps option. + * gcc.target/s390/hotpatch-15.c: Remove --save-temps option. + * gcc.target/s390/hotpatch-16.c: Remove --save-temps option. + * gcc.target/s390/hotpatch-17.c: Remove --save-temps option. + * gcc.target/s390/hotpatch-18.c: Remove --save-temps option. + * gcc.target/s390/hotpatch-19.c: Remove --save-temps option. + * gcc.target/s390/hotpatch-2.c: Remove --save-temps option. + * gcc.target/s390/hotpatch-20.c: Remove --save-temps option. + * gcc.target/s390/hotpatch-3.c: Remove --save-temps option. + * gcc.target/s390/hotpatch-4.c: Remove --save-temps option. + * gcc.target/s390/hotpatch-5.c: Remove --save-temps option. + * gcc.target/s390/hotpatch-6.c: Remove --save-temps option. + * gcc.target/s390/hotpatch-7.c: Remove --save-temps option. + * gcc.target/s390/hotpatch-8.c: Remove --save-temps option. + * gcc.target/s390/hotpatch-9.c: Remove --save-temps option. + * gcc.target/s390/htm-nofloat-1.c: Cleanup --save-temps files. + +2015-02-23 Andreas Krebbel + + * gcc.target/s390/hotpatch-8.c: Add -march=g5. + * gcc.target/s390/hotpatch-9.c: Add -march=g5. + * gcc.target/s390/hotpatch-compile-1.c: Fix error message. + * gcc.target/s390/hotpatch-compile-10.c: Likewise. + * gcc.target/s390/hotpatch-compile-11.c: Likewise. + * gcc.target/s390/hotpatch-compile-12.c: Likewise. + * gcc.target/s390/hotpatch-compile-13.c: Likewise. + * gcc.target/s390/hotpatch-compile-14.c: Likewise. + * gcc.target/s390/hotpatch-compile-2.c: Likewise. + * gcc.target/s390/hotpatch-compile-3.c: Likewise. + * gcc.target/s390/hotpatch-compile-4.c: Likewise. + * gcc.target/s390/hotpatch-compile-5.c: Likewise. + * gcc.target/s390/hotpatch-compile-6.c: Likewise. + * gcc.target/s390/hotpatch-compile-7.c: Likewise. + * gcc.target/s390/hotpatch-compile-8.c: Likewise. + * gcc.target/s390/hotpatch-compile-9.c: Likewise. + +2015-02-22 Bernd Edlinger + + PR fortran/64980 + PR fortran/61960 + * gfortran.dg/pr61960.f90: New. + * gfortran.dg/pr64230.f90: New. + * gfortran.dg/pr64980.f03: New. + +2015-02-22 Tom de Vries + + * gcc.dg/pr30957-1.c: Make pr30957-1.c pass rather xfail. + +2015-02-21 Arnaud Charlet + + PR ada/65156 + * gnat.dg/timing_events.adb: Removed, invalid test. + +2015-02-20 Aldy Hernandez + + PR debug/58123 + * g++.dg/debug/dwarf2/deallocator.C: Adjust for correct try + location. + * g++.dg/gcov/gcov-2.C: Likewise. + +2015-02-20 Richard Biener + + PR tree-optimization/65136 + * gcc.dg/tree-ssa/pr65136.c: New testcase. + +2015-02-20 Jakub Jelinek + + PR testsuite/64158 + * gcc.dg/pr44194-1.c: Add two extra {} pairs to fix up + powerpc*-*-linux* and nvptx-*-* blacklisting. + + * gcc.dg/sibcall-9.c: New test. + * gcc.dg/sibcall-10.c: New test. + +2015-02-20 Kyrylo Tkachov + + * gcc.target/aarch64/sisd-shft-neg_1.c: New test. + +2015-02-20 Georg-Johann Lay + + PR target/64452 + * gcc.target/avr/torture/pr64452.c: New test. + +2015-02-19 Kaz Kojima + + * gcc.dg/tree-ssa/20040204-1.c: Don't XFAIL on sh*-*-*. + * gcc.dg/tree-ssa/sra-12.c: Skip for sh*-*-*. + +2015-02-19 Maxim Kuvyrkov + + PR testsuite/65116 + * lib/target-supports.exp (check_compile): Check whether + additional_sources is defined before using it. + +2015-02-19 Jakub Jelinek + + PR middle-end/65074 + * g++.dg/opt/pr65074.C: New file. + +2015-02-19 Andrea Azzarone + + * g++.dg/cpp1y/udlit-char-template-vs-std-literal-operator.C + (size_type): New typedef. + (operator "" _script): Use it for the last argument. + +2015-02-19 Maxim Kuvyrkov + + * gcc.dg/pr64935-1.c, gcc.dg/pr64935-2.c: New tests. + +2015-02-19 Maxim Kuvyrkov + + * lib/target-supports.exp (check_compile): Save/restore + additional_sources that may belong to an actual test. + +2015-02-18 Jakub Jelinek + + PR gcov-profile/64634 + * g++.dg/gcov/gcov-15.C: New test. + +2015-02-18 Tom de Vries + + * gfortran.dg/coarray_35a.f90: Add missing cleanup-modules. + +2015-02-18 Tom de Vries + + * gfortran.dg/pr37287-1.f90: Add missing cleanup-modules. + +2015-02-18 Tom de Vries + + * gfortran.dg/finalize_28.f90: Add missing cleanup-tree-dump. + +2015-02-18 Tom de Vries + + * gfortran.dg/fmt_cache_1.f: Add missing close. + +2015-02-18 Tom de Vries + + PR testsuite/65107 + * gfortran.dg/read_eof_8.f90: Add missing close. + +2015-02-18 Richard Biener + + PR tree-optimization/65063 + * gcc.dg/pr65063.c: New testcase. + +2015-02-18 Richard Biener + + PR tree-optimization/62217 + * gcc.dg/tree-ssa/cunroll-11.c: New testcase. + +2015-02-18 Marek Polacek + + PR sanitizer/65081 + * c-c++-common/ubsan/pr65081.c: New test. + +2015-02-17 Oleg Endo + + * gcc.target/sh/sh.exp (check_effective_target_sh1): New. + * gcc.target/sh/force-cbranch-delay-slot.c: New. + +2015-02-17 H.J. Lu + + * gcc.dg/ipa/propalign-3.c: New test. + +2015-02-17 Oleg Endo + + PR target/64793 + * gcc.target/sh/pr64793.c: New. + * gcc.target/sh/pr51244-20-sh2a.c: Adjust expected cmp/gt insn count. + +2015-02-17 Sandra Loosemore + + * gcc.target/arm/divzero.c: New test case. + +2015-02-17 Tom de Vries + + * gcc.target/x86_64/abi/callabi/vaarg-6.c: New test. + +2015-02-17 Paolo Carlini + Jakub Jelinek + + PR c++/65075 + * g++.dg/cpp0x/pr65075.C: New test. + +2015-02-16 David Edelsohn + + PR target/65058 + * gcc.target/powerpc/pr65058.c: New test. + +2015-02-16 Jeff Law + + PR tree-optimization/64823 + * gcc.dg/uninit-20.c: New test. + +2015-02-16 Jakub Jelinek + James Greenhalgh + + PR ipa/64963 + * gcc.dg/ipa/ipa-clone-1.c: New test. + +2015-02-16 Richard Biener + + PR tree-optimization/65077 + * gcc.dg/torture/pr65077.c: New testcase. + +2015-02-16 Alex Velenko + + * gcc.target/aarch64/atomic-op-consume.c (scan-assember-times): + Directive adjusted to scan for ldaxr. + * gcc.target/arm/atomic-op-consume.c (scan-assember-times): Directive + adjusted to scan for ldaex. + +2015-02-16 Paolo Carlini + + PR c++/65080 + * g++.dg/cpp0x/constexpr-65080.C: New. + +2015-02-16 Richard Biener + + PR tree-optimization/63593 + * gcc.dg/pr63593.c: New testcase. + +2015-02-16 Marek Polacek + + PR c/65066 + * gcc.dg/pr65066.c: New test. + +2015-02-16 Ilya Enkovich + + * gcc.dg/pr65002.C: Move ... + * g++.dg/ipa/pr65002.C: ... here. + +2015-02-14 David Edelsohn + + * gcc.target/powerpc/pr64205.c: Skip on AIX. + * gcc.target/powerpc/pr64505.c: Skip on AIX. + * gcc.dg/torture/builtin-noret-1.c: Ignore AIX linker warnings. + * gcc.dg/torture/builtin-noret-2.c: Ignore AIX linker warnings. + +2015-02-14 Kaz Kojima + + PR testsuite/64850 + * gcc.dg/goacc/acc_on_device-1.c: Use a space instead of \\\" in + the expression to find calls. + * c-c++-common/goacc/acc_on_device-2.c: Likewise. + * c-c++-common/goacc/acc_on_device-2-off.c: Likewise. + * gfortran.dg/goacc/acc_on_device-1.f95: Likewise. + * gfortran.dg/goacc/acc_on_device-2.f95: Likewise. + * gfortran.dg/goacc/acc_on_device-2-off.f95: Likewise. + +2015-02-14 Marek Polacek + + PR c/64768 + * gcc.dg/array-11.c: New test. + * gcc.dg/array-12.c: New test. + * gcc.dg/array-13.c: New test. + * gcc.dg/array-14.c: New test. + * gcc.dg/c99-flex-array-typedef-1.c: New test. + * gcc.dg/c99-flex-array-typedef-2.c: New test. + * gcc.dg/c99-flex-array-typedef-3.c: New test. + * gcc.dg/c99-flex-array-typedef-5.c: New test. + * gcc.dg/c99-flex-array-typedef-7.c: New test. + * gcc.dg/c99-flex-array-typedef-8.c: New test. + +2015-02-13 Paolo Carlini + + PR c++/60894 + * g++.dg/lookup/using54.C: New. + +2015-02-13 Jeff Law + + PR bootstrap/65060 + Revert my change for tree-optimization/64823. + +2015-02-13 Jakub Jelinek + + PR tree-optimization/65053 + * gcc.c-torture/execute/pr65053-1.c: New test. + * gcc.c-torture/execute/pr65053-2.c: New test. + +2015-02-13 Marek Polacek + + PR c/65050 + * gcc.dg/pr65050.c: New test. + +2015-02-13 Jeff Law + + PR tree-optimization/64823 + * gcc.dg/uninit-20.c: New test. + + PR rtl-optimization/47477 + * gcc.dg/tree-ssa/pr47477.c: New test. + +2015-02-13 Paolo Carlini + + PR c++/60211 + * g++.dg/parse/ivdep-2.C: New. + * g++.dg/parse/ivdep-3.C: Likewise. + +2015-02-13 Jerry DeLisle + + PR fortran/64506 + * gfortran.dg/continuation_13.f90: New test. + * gfortran.dg/continuation_14.f: New test. + +2015-02-13 Paolo Carlini + + PR c++/64970 + * g++.dg/cpp0x/sfinae55.C: New. + +2015-02-13 Jakub Jelinek + + PR ipa/65034 + * g++.dg/ipa/pr65034.C: New test. + +2015-02-13 Ilya Enkovich + + PR tree-optimization/65002 + * gcc.dg/pr65002.C: New. + +2015-02-13 Marek Polacek + + PR c/65040 + * c-c++-common/pr65040.c: New test. + +2015-02-13 Bin Cheng + + PR tree-optimization/64705 + * gcc.dg/tree-ssa/pr64705.c: New test. + +2015-02-12 H.J. Lu + + PR rtl/32219 + * gcc.dg/visibility-22.c: New test. + * gcc.dg/visibility-23.c: New test. + * gcc.target/i386/pr32219-1.c: New test. + * gcc.target/i386/pr32219-2.c: New test. + * gcc.target/i386/pr32219-3.c: New test. + * gcc.target/i386/pr32219-4.c: New test. + * gcc.target/i386/pr32219-5.c: New test. + * gcc.target/i386/pr32219-6.c: New test. + * gcc.target/i386/pr32219-7.c: New test. + * gcc.target/i386/pr32219-8.c: New test. + * gcc.target/i386/pr64317.c: Expect GOTOFF, not GOT. + +2015-02-12 Jerry DeLisle + + PR libgfortran/57822 + * gfortran/fmt_g0_7.f08: Adjust for archtectures with less than + four different KINDs. + +2015-02-12 Jakub Jelinek + + PR c++/64884 + * g++.dg/tm/pr47573.C: Only run on comdat_group effective targets. + + PR sanitizer/65000 + * g++.dg/ubsan/pr65000.C: New test. + +2015-02-12 Paul Thomas + + PR fortran/64932 + * gfortran.dg/finalize_28.f90: New test + +2015-02-12 Jakub Jelinek + + PR debug/55541 + * g++.dg/debug/dwarf2/localclass3.C: Adjust for the extraneous + DW_TAG_lexical_block removal. + * g++.dg/debug/dwarf2/redeclaration-1.C: Likewise. + * g++.dg/guality/pr55541.C: New test. + + PR sanitizer/64984 + * g++.dg/ubsan/pr64984.C: New test. + +2015-02-12 James Greenhalgh + + * gfortran.dg/pr45636.f90: XFAIL for aarch64* targets. + +2015-02-12 Jakub Jelinek + + PR testsuite/64930 + * gcc.target/powerpc/atomic-p7.c: Adjust expected count of isync + instructions for 2015-01-14 get_memmodel changes. + * gcc.target/powerpc/atomic-p8.c: Likewise. + + PR sanitizer/65019 + * g++.dg/ubsan/pr65019.C: New test. + + PR tree-optimization/65014 + * gcc.c-torture/compile/pr65014.c: New test. + +2015-02-11 Jerry DeLisle + + PR libgfortran/57822 + * gfortran/fmt_g0_7.f08: Revise test. + +2015-02-11 Jeff Law + + PR target/63347 + * gcc.target/m68k/pr63347.c: New test. + +2015-02-11 Marek Polacek + + * g++.dg/ubsan/shift-1.C: New test. + * gcc.dg/ubsan/c-shift-2.c: New test. + * c-c++-common/ubsan/shift-5.c: Remove file. + +2015-02-11 Alex Velenko + + * gcc.target/aarch64/atomic-op-consume.c (scan-assember-times): + Directive adjusted to XFAIL. + * gcc.target/arm/atomic-op-consume.c (scan-assember-times): Directive + adjusted to XFAIL. + +2015-02-11 Jakub Jelinek + + PR middle-end/65003 + * g++.dg/opt/pr65003.C: New test. + +2015-02-11 H.J. Lu + + * lib/target-supports.exp (check_effective_target_pie): Renamed + to ... + (check_effective_target_pie_enabled): This. + * gcc.dg/tree-ssa/ssa-store-ccp-3.c: Replace pie with pie_enabled. + * gcc.target/i386/pie.c: Likewise. + +2015-02-11 Andrew Pinski + + PR target/64893 + * c-c++-common/torture/aarch64-vect-lane-1.c: New testcase. + * c-c++-common/torture/aarch64-vect-lane-2.c: New testcase. + +2015-02-11 Jakub Jelinek + + PR target/61925 + * gcc.target/i386/pr61925-1.c: New test. + * gcc.target/i386/pr61925-2.c: New test. + * gcc.target/i386/pr61925-3.c: New test. + +2015-02-10 Jakub Jelinek + + PR sanitizer/65004 + * g++.dg/asan/pr65004.C: New test. + +2015-02-10 Oleg Endo + + PR target/64661 + * gcc.taget/sh/pr64661-0.h: New. + * gcc.taget/sh/pr64661-1.c: New. + * gcc.taget/sh/pr64661-2.c: New. + * gcc.taget/sh/pr64661-3.c: New. + * gcc.taget/sh/pr64661-4.c: New. + +2015-02-10 Richard Biener + + PR tree-optimization/64995 + * g++.dg/torture/pr64995.C: New testcase. + +2015-02-10 Richard Biener + + PR tree-optimization/64909 + * gcc.dg/vect/costmodel/x86_64/costmodel-pr64909.c: New testcase. + +2015-02-10 Rainer Orth + + * gcc.dg/signbit-sa.c: New test. + +2015-02-10 Jerry DeLisle + + PR libgfortran/57822 + * gfortran/fmt_g0_7.f08: New test. + +2015-02-10 Bin Cheng + + PR tree-optimization/43378 + * gcc.dg/tree-ssa/pr43378.c: New test. + +2015-02-08 Jan Hubicka + + PR ipa/64978 + * g++.dg/torture/pr64978.C: New testcase. + +2015-02-09 Jakub Jelinek + + PR sanitizer/64981 + * gcc.dg/asan/pr64981.c: New test. + +2015-02-09 Marek Polacek + + PR c/64856 + * gcc.dg/pr64856.c: New test. + +2015-02-09 Jakub Jelinek + + PR target/64979 + * gcc.dg/tree-ssa/stdarg-7.c: New test. + * gcc.c-torture/execute/pr64979.c: New test. + +2015-02-09 Alan Lawrence + + * gcc.target/arm/macro_defs0.c: Remove extraneous "target" + +2015-02-09 Uros Bizjak + + * gcc.dg/tree-ssa/ssa-dom-cse-2.c: Xfail scan-tree-dump for alpha*-*-*. + * gcc.dg/tree-ssa/pr42585.c: Xfail scan-tree-dump-times for alpha*-*-*. + +2015-02-09 Uros Bizjak + + PR target/58757 + * gcc.dg/c11-true_min-1.c: Xfail execution for alpha*-*-*. + +2015-02-09 Richard Biener + + PR tree-optimization/54000 + * g++.dg/tree-ssa/ivopts-3.C: New testcase. + +2015-02-09 Tom de Vries + + * gcc.dg/graphite/scop-19.c: Fix scan-tree-dump for fpic. + +2015-02-09 Martin Liska + + * g++.dg/ipa/pr64858.C: New test. + +2015-02-09 Tom de Vries + + * gcc.dg/uninit-19.c: Fix warning line for fpic. + +2015-02-08 Andrew Pinski + + * gcc.dg/tree-ssa/ssa-dom-cse-2.c: xfail for AARCH64 also. + +2015-02-08 Mikael Morin + + PR fortran/63744 + * gfortran.dg/use_rename_8.f90: New. + +2015-02-08 Eric Botcazou + + * gnat.dg/addr7.ad[sb]: New test. + * gnat.dg/addr8.ad[sb]: Likewise. + +2015-02-06 David Malcolm + + PR jit/64752 + * jit.dg/create-code-for-hello-world-executable.h: New file, taken + from jit.dg/test-compile-to-executable.c's create_code, with a + clarification of the output message. + * jit.dg/harness.h (CHECK_NO_ERRORS): Add test and __func__ to the + pass/fail message. + (test_jit): Use CHECK_NO_ERRORS when calling + gcc_jit_context_compile_to_file. + * jit.dg/jit.exp (jit-dg-test): Update grep for rename of + jit-verify-compile-to-file to jit-verify-output-file-was-created. + (jit-setup-compile-to-file): Likewise. Add a verbose comment + about deletions that are attempted. + (jit-verify-compile-to-file): Rename to... + (jit-verify-output-file-was-created): ...this, and drop the + attempt to run "file" and verify the output. + (jit-verify-assembler): New function. + (jit-verify-object): New function. + (jit-verify-dynamic-library): New function. + * jit.dg/test-compile-to-assembler.c (create_code): Eliminate in + favor of an implementation from new file + create-code-for-hello-world-executable.h, which also adds a + "main". + (dg-final): Replace jit-verify-compile-to-file with + jit-verify-output-file-was-created, and invoke new function + jit-verify-assembler. + * jit.dg/test-compile-to-dynamic-library.c (create_code): Clarify + the output message. + (dg-final): Replace jit-verify-compile-to-file with + jit-verify-output-file-was-created, and invoke new function + jit-verify-dynamic-library. + * jit.dg/test-compile-to-executable.c (create_code): Eliminate in + favor of an implementation from new file + create-code-for-hello-world-executable.h, which also adds a + "main". + (dg-final): Replace jit-verify-compile-to-file with + jit-verify-output-file-was-created. Strengthen the expected stdout + from the built executable. + * jit.dg/test-compile-to-object.c (create_code): Eliminate in + favor of an implementation from new file + create-code-for-hello-world-executable.h, which also adds a + "main". + (dg-final): Replace jit-verify-compile-to-file with + jit-verify-output-file-was-created, and invoke new function + jit-verify-object. + * jit.dg/verify-dynamic-library.c: New source file. + +2015-02-06 Sebastian Pop + Brian Rzycki + + PR tree-optimization/64878 + * gcc.dg/tree-ssa/ssa-dom-thread-8.c: New. + +2015-02-06 Jakub Jelinek + + PR ipa/64896 + * g++.dg/ipa/pr64896.C: New test. + +2015-02-06 Michael Meissner + + PR target/64205 + * gcc.target/powerpc/pr64205.c: New file. + +2015-02-06 Uros Bizjak + + * gcc.target/i386/pr64317.c: Compile for 32bit *-*-linux* targets. + (dg-options): Use -fpie instead of -fPIE -pie. + +2015-02-06 Jakub Jelinek + + PR middle-end/64937 + * g++.dg/asan/pr64937.C: New test. + +2015-02-06 Paul Thomas + + PR fortran/63205 + * gfortran.dg/class_to_type_4.f90: New test + +2015-01-29 Andre Vehreschild + + * gfortran.dg/unlimited_polymorphic_22.f90: New test. + +2015-02-06 Jakub Jelinek + + PR rtl-optimization/64957 + PR debug/64817 + * gcc.c-torture/execute/pr64957.c: New test. + +2015-02-05 Jeff Law + + PR target/17306 + * gcc.target/h8300/pr17306-1.c: New test. + * gcc.target/h8300/pr17306-2.c: New test. + +2015-02-05 Tobias Burnus + + PR fortran/64943 + * gfortran.dg/structure_constructor_12.f90: New. + +2015-02-05 Jeff Law + + PR target/58400 + gcc.target/h8300/pr58400.c: New test. + +2015-02-05 Mantas Mikaitis + + * gcc.target/arm/macro_defs0.c: New test. + * gcc.target/arm/macro_defs1.c: New test. + * gcc.target/arm/macro_defs2.c: New test. + +2015-02-05 Uros Bizjak + + PR rtl-optimization/64905 + * gcc.target/i386/pr64905.c: Require nonpic target. + (dg-options): Add -fomit-frame-pointer. + (main): Remove. + +2014-02-05 James Greenhalgh + + * gcc.dg/tree-ssa/foldconst-6.c: Change expected pattern for + tree dump scanning. + +2015-02-05 Paul Thomas + + PR fortran/64757 + * gfortran.dg/type_to_class_2.f90: New test + * gfortran.dg/type_to_class_3.f90: New test + +2015-02-04 Jan Hubicka + + PR ipa/64686 + * g++.dg/torture/pr64686.C: New testcase. + +2015-02-04 H.J. Lu + + PR rtl-optimization/64905 + * gcc.target/i386/pr64905.c: New file. + +2015-02-04 Segher Boessenkool + + * gcc.dg/guality/pr41447-1.c: Remove xfail. + * gcc.dg/guality/pr41616-1.c: Ditto. + +2015-02-04 Alexandre Oliva + + PR debug/64817 + * gcc.dg/pr64817-3.c: New. + +2015-02-04 Jakub Jelinek + Ramana Radhakrishnan + + * gcc.dg/guality/pr36728-1.c (main): Adjust for targets that + pass parameters in registers. + * gcc.dg/guality/pr36728-2.c (main): Likewise. + * gcc.dg/guality/pr36728-3.c (main): Likewise. + * gcc.dg/guality/pr36728-4.c (main): Likewise. + +2015-02-04 Alan Lawrence + Rainer Orth + + * gcc.dg/combine_ashiftrt_1.c: Sort, complete and explain target + list, allow for multilibed targets. + * gcc.dg/combine_ashiftrt_2.c: Likewise. + +2015-02-04 Segher Boessenkool + + * gcc.dg/builtins-58.c: Check for pow at the end of words only. + * gcc.dg/pr46728-6.c: Ditto. + +2015-02-04 Robert Suchanek + + * gcc.target/mips/loongson-simd.c: Update comment to clarify the need + for mips_nanlegacy target. + +2015-02-04 Ilya Enkovich + + * gcc.target/i386/chkp-hidden-def.c: New. + +2015-02-04 Thomas Preud'homme + + PR middle-end/62103 + * gcc.c-torture/execute/bitfld-7.c: New test adapted from bitfld-6.c + to use 24 bits for bitfield b. + +2015-02-04 Thomas Preud'homme + + PR testsuite/64796 + * lib/target-supports.exp (check_effective_target_bswap64): Do not + cache result in a global variable. Include all 32-bit targets for + bswap64 tests. + +2015-02-03 Jakub Jelinek + + PR rtl-optimization/64756 + * gcc.c-torture/execute/pr64756.c: New test. + +2015-02-03 Oleg Endo + + PR target/64660 + * gcc.target/sh/pr64660-0.h: New. + * gcc.target/sh/pr64660-1.c: New. + * gcc.target/sh/pr64660-2.c: New. + * gcc.target/sh/pr64660-3.c: New. + * gcc.target/sh/pr64660-4.c: New. + +2015-02-03 Paolo Carlini + + PR c++/64877 + * g++.dg/warn/Waddress-2.C: New. + +2015-02-03 Segher Boessenkool + + PR middle-end/61225 + * gcc.target/i386/pr49095.c: XFAIL for ia32. + +2015-02-03 Dodji Seketeli + + PR preprocessor/64803 + * gcc.dg/cpp/builtin-macro-1.c: New test case. + +2015-02-02 Jan Hubicka + + * g++.dg/ipa/devirt-37.C: Disable early inlining. + +2015-02-02 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h + (_ARM_FPSRC): Add DN and AHP fields. + (clean_results): Force DN=1 on AArch64. + * gcc.target/aarch64/advsimd-intrinsics/binary_op_no64.inc: New file. + * gcc.target/aarch64/advsimd-intrinsics/vhadd.c: New file. + * gcc.target/aarch64/advsimd-intrinsics/vhsub.c: New file. + * gcc.target/aarch64/advsimd-intrinsics/vmax.c: New file. + * gcc.target/aarch64/advsimd-intrinsics/vmin.c: New file. + * gcc.target/aarch64/advsimd-intrinsics/vrhadd.c: New file. + +2015-02-02 Alan Modra + + * gcc.target/powerpc/cprophard.c: New. + +2015-02-01 Andreas Tobler + + * gfortran.dg/enum_9.f90: Use arm_eabi instead of arm*-*-linux*. + * gfortran.dg/enum_10.f90: Likewise. Reorder dg-additional-sources. + +2015-02-01 Jakub Jelinek + + PR debug/64817 + * gcc.dg/pr64817-1.c: New test. + * gcc.dg/pr64817-2.c: New test. + +2015-02-01 Oleg Endo + + PR target/64851 + * gcc.target/sh/pr64851-0.h: New + * gcc.target/sh/pr64851-1.c: New + * gcc.target/sh/pr64851-2.c: New + * gcc.target/sh/pr64851-3.c: New + * gcc.target/sh/pr64851-4.c: New + +2015-01-31 Uros Bizjak + + PR target/64882 + * gcc.dg/torture/pr64882.c: New test. + +2015-01-31 David Edelsohn + + PR target/64159 + * gcc.dg/tree-ssa/ssa-dom-cse-2.c: Add XFAIL for powerpc*-*-* and + sparc*-*-*. + +2015-01-31 Uros Bizjak + + * g++.dg/ipa/pr64146.C (dg-final): Cleanup icf ipa dump. + * gcc.target/i386/chkp-builtins-1.c (dg-final): Cleanup chkp tree dump. + * gcc.target/i386/chkp-builtins-2.c (dg-final): Ditto. + * gcc.target/i386/chkp-builtins-3.c (dg-final): Ditto. + * gcc.target/i386/chkp-builtins-4.c (dg-final): Ditto. + * gcc.target/i386/chkp-const-check-1.c (dg-final): Cleanup chkopt + tree dump. + * gcc.target/i386/chkp-lifetime-1.c (dg-final): Ditto. + * gcc.target/i386/chkp-remove-bndint-1.c (dg-final): Cleanup optimized + tree dump. + * gcc.target/i386/chkp-remove-bndint-2.c (dg-final): Ditto. + * gfortran.dg/goacc/private-1.f95 (dg-final): Cleanup omplower + tree dump. + +2015-01-30 Vladimir Makarov + + PR target/64688 + * g++.dg/pr64688-2.C: New. + +2015-01-30 Uros Bizjak + + * gcc.target/i386/fuse-caller-save-rec.c: Require nonpic target. + * gcc.target/i386/fuse-caller-save-xmm.c: Ditto. + * gcc.target/i386/fuse-caller-save.c: Ditto. + * gcc.target/i386/headmerge-1.c: Ditto. + * gcc.target/i386/headmerge-2.c: Ditto. + * gcc.target/i386/sibcall-6.c: Ditto. + +2015-01-30 Vladimir Makarov + + PR target/64617 + * gcc.target/i386/pr64617.c: New test. + +2015-01-30 Uros Bizjak + + PR target/15184 + * gcc.target/i386/pr15184-1.c: Compile for ia32 target only. + (dg-options): Remove -m32. + (dg-final): Scan for "movb %al" only. + * gcc.target/i386/pr15184-2.c: Ditto. + +2015-01-30 Richard Biener + + PR tree-optimization/64829 + * gcc.dg/vect/pr64829.c: New testcase. + +2015-01-29 Marek Polacek + + PR c/64709 + * gcc.dg/pr64709.c: New test. + +2015-01-29 Jakub Jelinek + + PR c++/64717 + * g++.dg/ubsan/pr64717-1.C: New test. + * g++.dg/ubsan/pr64717-2.C: New test. + +2015-01-29 Uros Bizjak + + * gcc.dg/tree-ssa/pr64801.c: Fix scan-tree-dump-not directive. + +2015-01-29 Jeff Law + + PR target/15184 + * gcc.target/i386/pr15184-1.c: New test. + * gcc.target/i386/pr15184-2.c: New test. + +2015-01-29 Yuri Rumyantsev + + PR tree-optimization/64746 + * gcc.target/i386/avx2-vect-aggressive-1.c: New test. + +2015-01-29 Richard Biener + + PR tree-optimization/64853 + * gcc.dg/torture/pr64853.c: New testcase. + +2015-01-29 Richard Biener + + PR tree-optimization/64844 + * gcc.dg/vect/pr64844.c: New testcase. + +2015-01-29 Yuri Rumyantsev + + PR middle-end/64809 + * gcc.dg/pr64809.c: Delete. + +2015-01-29 Ilya Enkovich + + PR middle-end/64805 + * gcc.target/i386/pr64805.c: New. + +2015-01-29 Rainer Orth + + * gcc.dg/guality/guality.h (main): Add argv[0] to + guality_gdb_command. + +2015-01-29 Jan Hubicka + + PR ipa/64801 + * gcc.dg/tree-ssa/pr64801.c: New testcase. + +2015-01-28 Oleg Endo + + PR target/64659 + * gcc.target/sh/sh.exp + (check_effective_target_atomic_model_soft_gusa_available, + check_effective_target_atomic_model_soft_tcb_available, + check_effective_target_atomic_model_soft_imask_available, + check_effective_target_atomic_model_hard_llcs_available): New. + * gcc.target/sh/pr64659-0.h: New. + * gcc.target/sh/pr64659-1.c: New. + * gcc.target/sh/pr64659-2.c: New. + * gcc.target/sh/pr64659-3.c: New. + * gcc.target/sh/pr64659-4.c: New. + +2015-01-28 Alex Velenko + + * gcc.target/arm/atomic-op-consume.c (scan-assember-times): Adjust + scan-assembler-times pattern. + +2015-01-28 Yuri Rumyantsev + + PR middle-end/64809 + * gcc.dg/pr64809.c: New test. + +2015-01-28 Ilya Enkovich + + PR tree-optimization/64277 + * gcc.dg/pr64277.c: New. + +2015-01-28 Thomas Preud'homme + + PR tree-optimization/64718 + * gcc.c-torture/execute/pr64718.c: New test. + +2015-01-28 James Greenhalgh + + * gcc.target/aarch64/abs_2.c: New. + +2015-01-28 Robert Suchanek + + * lib/target-supports.exp (check_effective_target_mips_nanlegacy): New. + * gcc.target/mips/loongson-simd.c: Require legacy NaN support. + * gcc.target/mips/mips.exp (mips-dg-options): Imply -mnan=legacy for + ISA rev < 2. + +2015-01-28 Jakub Jelinek + + PR bootstrap/64612 + * lib/target-supports.exp (check_effective_target_comdat_group): New. + * g++.dg/ipa/pr64612.C: Guard scan-assembler test with + { target comdat_group }. + +2015-01-27 Tobias Burnus + + PR fortran/63861 + * gfortran.dg/goacc/coarray_2.f90: New. + +2015-01-27 Jan Hubicka + + PR ipa/60871 + PR ipa/64139 + * g++.dg/torture/pr64139.C: New testcase. + * g++.dg/torture/pr60871.C: Likewise. + +2015-01-27 Janus Weil + + PR fortran/64230 + * gfortran.dg/class_allocate_18.f90: Remove -fsanitize option to + prevent linking errors. + +2015-01-27 Jan Hubicka + + PR ipa/64282 + * g++.dg/torture/pr64282.C: New testcase. + +2015-01-27 Kyrylo Tkachov + + * gcc.target/aarch64/store-pair-1.c: Update scan-assembler to check + for wzr reg. + +2015-01-27 Dominik Vogt + + * gcc.target/s390/hotpatch-13.c: New testcase. + * gcc.target/s390/hotpatch-14.c: New testcase. + * gcc.target/s390/hotpatch-15.c: New testcase. + * gcc.target/s390/hotpatch-16.c: New testcase. + * gcc.target/s390/hotpatch-17.c: New testcase. + * gcc.target/s390/hotpatch-18.c: New testcase. + * gcc.target/s390/hotpatch-19.c: New testcase. + * gcc.target/s390/hotpatch-20.c: New testcase. + * gcc.target/s390/hotpatch-compile-10.c: New testcase. + * gcc.target/s390/hotpatch-compile-11.c: New testcase. + * gcc.target/s390/hotpatch-compile-12.c: New testcase. + * gcc.target/s390/hotpatch-compile-13.c: New testcase. + * gcc.target/s390/hotpatch-compile-14.c: New testcase. + * gcc.target/s390/hotpatch-compile-15.c: New testcase. + * gcc.target/s390/hotpatch-compile-16.c: New testcase. + * gcc.target/s390/hotpatch-compile-9.c: New testcase. + * gcc.target/s390/hotpatch-1.c: Testcase adjusted to new -mhotpatch. + * gcc.target/s390/hotpatch-10.c: Likewise. + * gcc.target/s390/hotpatch-11.c: Likewise. + * gcc.target/s390/hotpatch-12.c: Likewise. + * gcc.target/s390/hotpatch-2.c: Likewise. + * gcc.target/s390/hotpatch-3.c: Likewise. + * gcc.target/s390/hotpatch-4.c: Likewise. + * gcc.target/s390/hotpatch-5.c: Likewise. + * gcc.target/s390/hotpatch-6.c: Likewise. + * gcc.target/s390/hotpatch-7.c: Likewise. + * gcc.target/s390/hotpatch-8.c: Likewise. + * gcc.target/s390/hotpatch-9.c: Likewise. + * gcc.target/s390/hotpatch-compile-1.c: Likewise. + * gcc.target/s390/hotpatch-compile-2.c: Likewise. + * gcc.target/s390/hotpatch-compile-3.c: Likewise. + * gcc.target/s390/hotpatch-compile-4.c: Likewise. + * gcc.target/s390/hotpatch-compile-5.c: Likewise. + * gcc.target/s390/hotpatch-compile-6.c: Likewise. + * gcc.target/s390/hotpatch-compile-7.c: Likewise. + * gcc.target/s390/hotpatch-compile-8.c: Likewise. + +2015-01-27 Jiong Wang + + * gcc.dg/long_branch.c: New testcase. + +2015-01-27 Richard Biener + + PR tree-optimization/56273 + PR tree-optimization/59124 + PR tree-optimization/64277 + * g++.dg/warn/Warray-bounds-6.C: New testcase. + * gcc.dg/Warray-bounds-12.c: Likewise. + * gcc.dg/Warray-bounds-13.c: Likewise. + +2015-01-27 Jakub Jelinek + + PR rtl-optimization/61058 + * gcc.dg/pr61058.c: New test. + +2015-01-27 Ilya Enkovich + + * gcc.target/i386/chkp-narrow-bounds.c: New. + +2015-01-27 Jakub Jelinek + + PR tree-optimization/64807 + * gcc.dg/pr64807.c: New test. + + PR c/64766 + * gcc.dg/pr64766.c: New test. + +2015-01-26 Oleg Endo + + PR target/49263 + * gcc.target/sh/pr49263-4.c: New. + +2015-01-26 Paul Thomas + + PR fortran/62044 + * gfortran.dg/allocate_with_mold_1.f90: New test + +2015-01-26 Jakub Jelinek + + PR c/64778 + * gcc.dg/pr64778.c: New test. + + PR middle-end/64421 + * gcc.dg/vect/pr64421.c: New test. + +2015-01-26 Tobias Burnus + + PR fortran/64771 + * gfortran.dg/coarray_36.f: New. + * gfortran.dg/coarray_37.f90: New. + +2015-01-26 Janus Weil + + PR fortran/64230 + * gfortran.dg/class_allocate_18.f90: New. + +2015-01-26 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vpaddl.c: New file. + +2015-01-26 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vpadal.c: New file. + +2015-01-26 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vmvn.c: New file. + +2015-01-26 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vmovl.c: New file. + +2015-01-26 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vpXXX.inc: New file. + * gcc.target/aarch64/advsimd-intrinsics/vpadd.c: New file. + * gcc.target/aarch64/advsimd-intrinsics/vpmax.c: New file. + * gcc.target/aarch64/advsimd-intrinsics/vpmin.c: New file. + +2015-01-26 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vmlX_n.inc: New file. + * gcc.target/aarch64/advsimd-intrinsics/vmla_n.c: New file. + * gcc.target/aarch64/advsimd-intrinsics/vmls_n.c: New file. + +2015-01-26 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vXXXhn.inc: New file. + * gcc.target/aarch64/advsimd-intrinsics/vraddhn.c: New file. + * gcc.target/aarch64/advsimd-intrinsics/vrsubhn.c: New file. + * gcc.target/aarch64/advsimd-intrinsics/vsubhn.c: New file. + * gcc.target/aarch64/advsimd-intrinsics/vaddhn.c: Use code from + vXXXhn.inc. + +2015-01-26 Richard Biener + + PR middle-end/64764 + * gcc.dg/uninit-19.c: New testcase. + +2015-01-26 Rainer Orth + + * lib/target-supports.exp (check_effective_target_vect64): Add + sparc*-*-*. + +2015-01-26 Eric Botcazou + + PR testsuite/64712 + * gnat.dg/unchecked_convert1.adb (Unchecked_Convert1): Initialize A. + +2015-01-26 Tony Liu + + * gcc.target/arm/scd42-1.c: Improve the check for UAL and + non-UAL cases. + +2015-01-26 Janne Blomqvist + + PR libfortran/64770 + * gfortran.dg/open_new_segv.f90: Add dg- stuff to make test work + correctly, clean up afterwards. + +2015-01-25 Mikael Morin + + PR fortran/62044 + * gfortran.dg/use_rename_7.f90: New. + +2015-01-25 Allan Sandfeld Jensen + + * gcc.target/i386/funcspec-5.c: Test new multiversion targets. + * g++.dg/ext/mv17.C: Test BMI/BMI2 multiversion dispatcher. + +2015-01-25 Oleg Endo + + PR target/54236 + * gcc.target/sh/pr54236-4.c: New. + +2015-01-24 H.J. Lu + + * gcc.target/i386/builtin_target.c (check_intel_cpu_model): Add + Silvermont, Ivy Bridge, Haswell and Broadwell tests. Update Sandy + Bridge test. + +2015-01-24 Janne Blomqvist + + PR libfortran/64770 + * gfortran.dg/open_new_segv.f90: New test. + +2015-01-24 Oleg Endo + + PR target/49263 + PR target/53987 + PR target/64345 + PR target/59533 + PR target/52933 + PR target/54236 + PR target/51244 + * gcc.target/sh/pr64345-1.c: New. + * gcc.target/sh/pr64345-2.c: New. + * gcc.target/sh/pr59533-1.c: New. + * gcc.target/sh/pr49263.c: Adjust matching of expected insns. + * gcc.target/sh/pr52933-2.c: Likewise. + * gcc.target/sh/pr54089-1.c: Likewise. + * gcc.target/sh/pr54236-1.c: Likewise. + * gcc.target/sh/pr51244-20-sh2a.c: Likewise. + * gcc.target/sh/pr49263-1.c: Remove xfails. + * gcc.target/sh/pr49263-2.c: Likewise. + * gcc.target/sh/pr49263-3.c: Likewise. + * gcc.target/sh/pr53987-1.c: Likewise. + * gcc.target/sh/pr52933-1.c: Adjust matching of expected insns. + (test_24, test_25, test_26, test_27, test_28, test_29, test_30): New. + * gcc.target/sh/pr51244-12.c: Adjust matching of expected insns. + (test05, test06, test07, test08, test09, test10, test11, test12): New. + * gcc.target/sh/pr54236-3.c: Adjust matching of expected insns. + (test_002, test_003, test_004, test_005, test_006, test_007, test_008, + test_009): New. + * gcc.target/sh/pr51244-4.c: Adjust matching of expected insns. + (test_02): New. + +2015-01-24 Tom de Vries + + * gcc.target/i386/funcspec-5.c: Replace avx512 with avx512f. + +2015-01-23 Ian Lance Taylor + + PR go/64510 + * go.test/go-test.exp (go-gc-tests): Skip nilptr2.go test on + targets without split stack support. + +2015-01-23 Vladimir Makarov + + PR target/64317 + * gcc.target/i386/pr64317.c: New test. + +2015-01-23 Jakub Jelinek + + PR rtl-optimization/63637 + PR rtl-optimization/60663 + * gcc.dg/pr63637-1.c: New test. + * gcc.dg/pr63637-2.c: New test. + * gcc.dg/pr63637-3.c: New test. + * gcc.dg/pr63637-4.c: New test. + * gcc.dg/pr63637-5.c: New test. + * gcc.dg/pr63637-6.c: New test. + * gcc.target/i386/pr63637-1.c: New test. + * gcc.target/i386/pr63637-2.c: New test. + * gcc.target/i386/pr63637-3.c: New test. + * gcc.target/i386/pr63637-4.c: New test. + * gcc.target/i386/pr63637-5.c: New test. + * gcc.target/i386/pr63637-6.c: New test. + +2015-01-23 Richard Biener + + PR testsuite/63439 + * gcc.dg/vect/bb-slp-11.c: Require vect_pack_trunc. + * gcc.dg/vect/bb-slp-26.c: Require vect_hw_misalign. + +2015-01-23 Marek Polacek + + PR preprocessor/60570 + * gcc.dg/cpp/pr36320.c: Turn dg-error into dg-bogus. + * gcc.dg/cpp/pr60570.c: New test. + +2015-01-23 Richard Biener + + PR testsuite/63439 + * gcc.dg/vect/vect-33.c: Adjust target selectors for v16qi + vectorization on vect64 targets. + +2015-01-23 Janus Weil + + PR fortran/60922 + * gfortran.dg/class_allocate_17.f90: New. + +2015-01-23 Tobias Burnus + + PR fortran/64726 + * gfortran.dg/goacc/combined_loop.f90: New. + +2015-01-22 Jerry DeLisle + + PR fortran/61933 + * gfortran.dg/make_unit.f90: New test. + +2015-01-22 Jerry DeLisle + + PR fortran/61933 + * gfortran.dg/negative_unit_int8.f: Update. + +2015-01-22 Jeff Law + + PR target/52076 + * gcc.target/m68k/pr52076-1.c: New test. + * gcc.target/m68k/pr52076-2.c: New test. + +2015-01-22 Richard Biener + + PR middle-end/64728 + * gcc.dg/torture/pr64728.c: New testcase. + +2015-01-22 Uros Bizjak + + PR target/64688 + * g++.dg/pr64688.C: New test. + +2015-01-22 Ilya Enkovich + + * gcc.target/i386/chkp-always_inline.c (f1): Make static + to avoid errors with -fpic. + +2015-01-22 Richard Biener + + PR libstdc++/64535 + * g++.old-deja/g++.eh/badalloc1.C: Adjust. + +2015-01-21 Segher Boessenkool + + PR rtl-optimization/64682 + * gcc.c-torture/execute/pr64682.c: New file. + +2015-01-21 Jakub Jelinek + + PR debug/64511 + * gcc.dg/pr64511.c: New test. + + PR rtl-optimization/62078 + * g++.dg/opt/pr62078.C: New test. + + PR c/63307 + * c-c++-common/cilk-plus/CK/pr63307.c: New test. + +2015-01-21 Thomas Koenig + + PR fortran/57023 + * gfortran.dg/internal_pack_15.f90: New test. + +2015-01-21 Bernd Edlinger + + * c-c++-common/tsan/step.c: New testcase. + +2015-01-21 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vqdmull_n.c: New file. + +2015-01-21 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vqdmull_lane.c: New file. + +2015-01-21 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vqdmull.c: New file. + +2015-01-21 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vqdmulh_n.c: New file. + +2015-01-21 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vqdmulh_lane.c: New file. + +2015-01-21 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vqdmulh.c: New file. + +2015-01-21 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vmull_n.c: New file. + +2015-01-21 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vmull_lane.c: New file. + +2015-01-21 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vmull.c: New file. + +2015-01-21 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vmul_n.c: New file. + +2015-01-21 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vmul_lane.c: New file. + +2015-01-21 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vmovn.c: New file. + +2015-01-21 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vXXXw.inc: New file. + * gcc.target/aarch64/advsimd-intrinsics/vsubw.c: New file. + * gcc.target/aarch64/advsimd-intrinsics/vaddw.c: Use code from + vXXXw.inc. + +2015-01-21 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vXXXl.inc: New file. + * gcc.target/aarch64/advsimd-intrinsics/vsubl.c: New file. + * gcc.target/aarch64/advsimd-intrinsics/vaddl.c: Use code from + vXXXl.inc. + +2015-01-21 Renlin Li + + * g++.dg/tls/thread_local5.C: Skip when dejagnu wrapper is used. + * g++.dg/tls/thread_local5g.C: Likewise. + * g++.dg/tls/thread_local6g.C: Likewise. + +2015-01-21 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vsXi_n.inc: New file. + * gcc.target/aarch64/advsimd-intrinsics/vsli_n.c: New file. + * gcc.target/aarch64/advsimd-intrinsics/vsri_n.c: New file. + +2015-01-21 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vqdmlXl_n.inc: New file. + * gcc.target/aarch64/advsimd-intrinsics/vqdmlal_n.c: New file. + * gcc.target/aarch64/advsimd-intrinsics/vqdmlsl_n.c: New file. + +2015-01-21 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vqdmlXl_lane.inc: New file. + * gcc.target/aarch64/advsimd-intrinsics/vqdmlal_lane.c: New file. + * gcc.target/aarch64/advsimd-intrinsics/vqdmlsl_lane.c: New file. + +2015-01-21 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vqdmlXl.inc: New file. + * gcc.target/aarch64/advsimd-intrinsics/vqdmlal.c: New file. + * gcc.target/aarch64/advsimd-intrinsics/vqdmlsl.c: New file. + +2015-01-20 Jeff Law + + PR target/59946 + * gcc.target/m68k/pr59946.c: New test. + +2015-01-20 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vmlXl_n.inc: New file. + * gcc.target/aarch64/advsimd-intrinsics/vmlal_n.c: New file. + * gcc.target/aarch64/advsimd-intrinsics/vmlsl_n.c: New file. + +2015-01-20 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vmlXl_lane.inc: New file. + * gcc.target/aarch64/advsimd-intrinsics/vmlal_lane.c: New file. + * gcc.target/aarch64/advsimd-intrinsics/vmlsl_lane.c: New file. + +2015-01-20 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vmlXl.inc: New file. + * gcc.target/aarch64/advsimd-intrinsics/vmlal.c: New file. + * gcc.target/aarch64/advsimd-intrinsics/vmlsl.c: New file. + +2015-01-20 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vshuffle.inc: New file. + * gcc.target/aarch64/advsimd-intrinsics/vtrn.c: New file. + * gcc.target/aarch64/advsimd-intrinsics/vuzp.c: Use code from + vshuffle.inc. + * gcc.target/aarch64/advsimd-intrinsics/vzip.c: Use code from + vshuffle.inc. + +2015-01-20 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vmlX_lane.inc: New file. + * gcc.target/aarch64/advsimd-intrinsics/vmla_lane.c: New file. + * gcc.target/aarch64/advsimd-intrinsics/vmls_lane.c: New file. + +2015-01-20 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vmlX.inc: New file. + * gcc.target/aarch64/advsimd-intrinsics/vmla.c: New file. + * gcc.target/aarch64/advsimd-intrinsics/vmls.c: New file. + +2015-01-20 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vldX_dup.c: New file. + +2015-01-20 Jakub Jelinek + + * gcc.dg/guality/pr49888.c (v): Add __attribute__((used)). + + PR sanitizer/64632 + * g++.dg/ubsan/pr64632.C: New test. + + PR debug/64663 + * gcc.dg/pr64663.c: New test. + +2015-01-20 Paolo Carlini + + PR c++/64383 + * g++.dg/warn/Wunused-var-23.C: New. + +2015-01-20 Paolo Carlini + + PR c++/59937 + * g++.dg/cpp0x/constexpr-59937-1.C: New. + * g++.dg/cpp0x/constexpr-59937-2.C: Likewise. + +2015-01-20 Richard Biener + + PR ipa/64684 + * gcc.dg/lto/pr64684_0.c: New testcase. + * gcc.dg/lto/pr64684_1.c: Likewise. + * gcc.dg/lto/pr64684_2.c: Likewise. + * gcc.dg/lto/pr64685_0.c: Likewise. + * gcc.dg/lto/pr64685_1.c: Likewise. + +2015-01-20 Paolo Carlini + + PR c++/62241 + * g++.dg/cpp1y/lambda-init12.C: New. + +2015-01-20 Richard Biener + + PR tree-optimization/64410 + * g++.dg/vect/pr64410.cc: Require vect_double. + +2015-01-20 Matthew Wahab + + PR target/64149 + * gcc.target/arm/thumb1-far-farjump-3.c: Remove. + +2015-01-20 Igor Zamyatin + + PR bootstrap/64676 + Revert: + 2014-01-19 Igor Zamyatin + + PR rtl-optimization/64081 + * gcc.dg/pr64081.c: New test. + +2015-01-19 David Malcolm + + * jit.dg/harness.h: Include . + (CHECK_NO_ERRORS): New. + (verify_code): Wrap prototype in #ifndef TEST_COMPILING_TO_FILE. + (test_jit): Support new macro TEST_COMPILING_TO_FILE for exercising + gcc_jit_context_compile_to_file. + * jit.dg/jit.exp (fixed_host_execute): Fix the code for passing on + args to the spawned executable. + (jit-expand-vars): New function. + (jit-exe-params): New variable. + (dg-jit-set-exe-params): New function. + (jit-dg-test): Detect testcases that use + jit-verify-compile-to-file and call jit-setup-compile-to-file. + Set arguments of spawned process to jit-exe-params. + (jit-get-output-filename): New function. + (jit-setup-compile-to-file): New function. + (jit-verify-compile-to-file): New function. + (jit-run-executable): New function. + (jit-verify-executable): New function. + * jit.dg/test-compile-to-assembler.c: New testcase. + * jit.dg/test-compile-to-dynamic-library.c: New testcase. + * jit.dg/test-compile-to-executable.c: New testcase. + * jit.dg/test-compile-to-object.c: New testcase. + +2015-01-19 Oleg Endo + + PR target/64652 + * gcc.target/sh/torture/pr64652.c (test): Rename to test_0. + (test_1): New. + +2015-01-19 Martin Liska + + * objc/compile/pr64668.m: New test. + +2015-01-19 David Malcolm + + * jit.dg/test-arith-overflow.c: Include stdbool.h. + (create_overflow_fn): Update comment to clarify that + the third param of the created function is a bool *, not + an int *. + (verify_int_overflow_fn): Convert param "expected_ovf" from + int to bool. Update third param of "overflow_fn_type" from int * + to bool *. Update local "actual_ovf" from int to bool. + (verify_uint_overflow_fn): Likewise. + +2015-01-19 Martin Liska + + * gcc.dg/ipa/ipa-icf-33.c: New test. + +2015-01-19 Felix Yang + Haijian Zhang + + * gcc.target/aarch64/advsimd-intrinsics/compute-ref-data.h + (buffer_float64x2, buffer_pad_float64x2): New helper variables. + * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (hfloat64_t, + result_float64x2, expected_hfloat64x2): New helper type, variable and + declaration. + (buffer_float64x2, buffer_pad_float64x2): New helper variables. + * gcc.target/aarch64/advsimd-intrinsics/vfma.c: Don't run on target + without the FMA feature and exclude test for vfmaq_f64 on arm*-*-*. + * gcc.target/aarch64/advsimd-intrinsics/vfms.c: Don't run on target + without the FMA feature and exclude test for vfmsq_f64 on arm*-*-*. + * gcc.target/aarch64/advsimd-intrinsics/vfma_n.c: Don't run on arm*-*-* + and target without the FMA feature. + +2015-01-19 Jiong Wang + + * gcc.target/aarch64/pr64304.c: New testcase. + +2015-01-19 Igor Zamyatin + + PR rtl-optimization/64081 + * gcc.dg/pr64081.c: New test. + +2015-01-19 Tejas Belagod + + PR target/63971 + * gcc.target/aarch64/test_frame_1.c: Expect only two loads of x30 (in + the epilogue). + * gcc.target/aarch64/test_frame_6.c: Likewise. + * gcc.target/aarch64/test_frame_2.c: Expect only one pair load of x30 + and x19 (in the epilogue). + * gcc.target/aarch64/test_frame_4.c: Likewise. + * gcc.target/aarch64/test_frame_7.c: Likewise. + +2015-01-19 Ilya Enkovich + + * gcc.target/i386/chkp-always_inline.c: New. + +2015-01-15 Andrew Pinski + Naveen H.S + + * gcc.target/aarch64/aapcs64/abitest.S (LABEL_TEST_FUNC_RETURN): Load + testfunc_ptr as 32bit for ILP32 and 64bit for LP64. + +2015-01-18 Andre Vehreschild + + PR fortran/60255 + * gfortran.dg/unlimited_polymorphic_2.f03: Removed error. + * gfortran.dg/unlimited_polymorphic_20.f03: New test. + +2015-01-18 Paul Thomas + + PR fortran/64578 + * gfortran.dg/unlimited_polymorphic_21.f90: New test + +2015-01-18 Oleg Endo + + PR target/64652 + * gcc.target/sh/torture/pr64652.c: New. + +2015-01-18 Jan Hubicka + + * gcc.dg/ipa/ipa-icf-32.c: Update template. + * c-c++-common/asan/instrument-with-calls-3.c: Likewise. + * c-c++-common/asan/instrument-with-calls-2.c: Likewise. + * c-c++-common/asan/instrument-with-calls-1.c: Likewise. + * c-c++-common/asan/kasan-recover-1.c: Likewise. + * c-c++-common/asan/kasan-recover-2.c: Likewise. + +2015-01-18 Jan Hubicka + + PR ipa/64378 + * g++.dg/torture/pr64378.C: New testcase. + +2015-01-18 Paul Thomas + + PR fortran/57959 + * gfortran.dg/block_13.f08: New test + +2015-01-18 Paul Thomas + + PR fortran/55901 + * gfortran.dg/associate_1.f03: Allow test for character with + automatic length. + +2015-01-17 Segher Boessenkool + + * gcc.target/powerpc/ppc-fpconv-4.c: Skip for -mpowerpc64. + * gcc.target/powerpc/ppc-fpconv-8.c: Ditto. + +2015-01-17 Segher Boessenkool + + * gcc.dg/20020919-1.c: Use _ARCH_PPC64 to test for -mpowerpc64. + +2015-01-17 Paul Thomas + + PR fortran/64578 + * gfortran.dg/unlimited_polymorphic_21.f90: New test + +2015-01-17 Andre Vehreschild + + PR fortran/60357 + * gfortran.dg/alloc_comp_assign_13.f08: New test. + + PR fortran/61275 + * gfortran.dg/alloc_comp_assign_14.f08: New test. + + PR fortran/55932 + * gfortran.dg/alloc_comp_initializer_4.f03: New test. + +2015-01-17 Andre Vehreschild + + PR fortran/60334 + * gfortran.dg/deferred_type_param_6.f90: Add tests for this PR. + +2015-01-16 Bernd Schmidt + + PR rtl-optimization/52773 + * gcc.c-torture/compile/pr52773.c: New test. + +2015-01-16 Paolo Carlini + + PR c++/62134 + * g++.dg/cpp0x/alias-decl-46.C: New. + +2015-01-16 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/vld1_lane.c: New file. + +2015-01-16 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (CHECK): + Add trace. + (CHECK_FP): Likewise. + (CHECK_CUMULATIVE_SAT): Likewise. + +2015-01-16 Christophe Lyon + + * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h + (Set_Neon_Cumulative_Sat): Add parameter. + (__set_neon_cumulative_sat): Support new parameter. + * gcc.target/aarch64/advsimd-intrinsics/binary_sat_op.inc + (TEST_BINARY_SAT_OP1): Call Set_Neon_Cumulative_Sat with new + argument. + * gcc.target/aarch64/advsimd-intrinsics/unary_sat_op.inc + (TEST_UNARY_SAT_OP1): Call Set_Neon_Cumulative_Sat with new + argument. + +2015-01-16 Bernd Edlinger + + * g++.dg/tsan/vptr_benign_race.C: New testcase. + * g++.dg/tsan/vptr_harmful_race.C: New testcase. + +2015-01-16 Paolo Carlini + + PR c++/60056 + * g++.dg/tls/thread_local-ice4.C: New. + +2015-01-16 James Greenhalgh + + * g++.dg/abi/mangle-abi-crypto.C: Add crypto options, rather + than Neon options. + +2015-01-16 Paolo Carlini + + PR c++/62276 + * g++.dg/cpp0x/vt-62276.C: New. + +2015-01-16 Ilya Enkovich + + PR middle-end/64353 + * g++.dg/pr64353.C: New. + +2015-01-16 Kyrylo Tkachov + + PR target/64263 + * gcc.target/aarch64/pr64263_1.c: New test. + +2015-01-16 Yuri Rumyantsev + + PR tree-optimization/64434 + * gcc.dg/torture/pr64434.c: Move to... + * gcc.dg/pr64434.c: ... here. + +2015-01-16 Richard Biener + + PR middle-end/64614 + * gcc.dg/uninit-18.c: New testcase. + +2015-01-16 Richard Biener + + PR tree-optimization/64568 + * g++.dg/torture/pr64568-2.C: New testcase. + +2015-01-16 Ilya Enkovich + + PR target/64363 + * gcc.target/i386/chkp-label-address.c: New. + +2015-01-16 Janus Weil + + PR fortran/45290 + * gfortran.dg/pointer_init_6.f90: Extended. + +2015-01-16 Robert Suchanek + + * gcc.c-torture/compile/20150108.c: New test. + +2015-01-16 Eric Botcazou + + * gcc.target/visium: New directory. + +2015-01-16 Richard Biener + + PR tree-optimization/61743 + * gcc.dg/tree-ssa/pr61743-1.c: Add -fno-tree-vectorize. + * gcc.dg/tree-ssa/pr61743-2.c: Likewise. + +2015-01-16 Zhenqiang Chen + + * gcc.dg/pr64015.c: New test. + +2015-01-16 Markus Trippelsdorf + + PR ipa/64163 + PR ipa/64612 + * g++.dg/ipa/pr64612.C: New test. + +2015-01-16 Renlin Li + + * g++.dg/builtin-apply2.c: Remove aarch64 target from skip list. + +2015-01-16 Ilya Tocar + + * gcc.target/i386/sse-14.c: Test new intrinsic. + * gcc.target/i386/sse-22.c: Ditto. + +2015-01-16 Paolo Carlini + + PR c++/58614 + * g++.dg/cpp0x/auto44.C: New. + +2015-01-15 Sandra Loosemore + + PR target/59710 + * gcc.target/nios2/gpopt-all.c: New test case. + * gcc.target/nios2/gpopt-local.c: New test case. + * gcc.target/nios2/gpopt-global.c: New test case. + * gcc.target/nios2/gpopt-data.c: New test case. + * gcc.target/nios2/gpopt-none.c: New test case. + +2015-01-15 Jakub Jelinek + + * g++.dg/ubsan/vptr-1.C: New test. + * g++.dg/ubsan/vptr-2.C: New test. + * g++.dg/ubsan/vptr-3.C: New test. + * g++.dg/ubsan/vptr-4.C: New test. + * g++.dg/ubsan/vptr-5.C: New test. + * g++.dg/ubsan/vptr-6.C: New test. + * g++.dg/ubsan/vptr-7.C: New test. + * g++.dg/ubsan/vptr-8.C: New test. + * g++.dg/ubsan/vptr-9.C: New test. + +2015-01-15 Eric Botcazou + + * lib/c-torture.exp: Compute LTO_TORTURE_OPTIONS after the environment + is set up. + * lib/gcc-dg.exp: Likewise. + +2015-01-15 Vladimir Makarov + + PR rtl-optimization/64110 + * gcc.target/i386/pr64110.c: Add scan-assembler. + +2015-01-15 Thomas Schwinge + James Norris + Cesar Philippidis + Ilmir Usmanov + + * lib/target-supports.exp (check_effective_target_fopenacc): New + procedure. + * g++.dg/goacc-gomp/goacc-gomp.exp: New file. + * g++.dg/goacc/goacc.exp: Likewise. + * gcc.dg/goacc-gomp/goacc-gomp.exp: Likewise. + * gcc.dg/goacc/goacc.exp: Likewise. + * gfortran.dg/goacc/goacc.exp: Likewise. + * c-c++-common/cpp/openacc-define-1.c: New file. + * c-c++-common/cpp/openacc-define-2.c: Likewise. + * c-c++-common/cpp/openacc-define-3.c: Likewise. + * c-c++-common/goacc-gomp/nesting-1.c: Likewise. + * c-c++-common/goacc-gomp/nesting-fail-1.c: Likewise. + * c-c++-common/goacc/acc_on_device-2-off.c: Likewise. + * c-c++-common/goacc/acc_on_device-2.c: Likewise. + * c-c++-common/goacc/asyncwait-1.c: Likewise. + * c-c++-common/goacc/cache-1.c: Likewise. + * c-c++-common/goacc/clauses-fail.c: Likewise. + * c-c++-common/goacc/collapse-1.c: Likewise. + * c-c++-common/goacc/data-1.c: Likewise. + * c-c++-common/goacc/data-2.c: Likewise. + * c-c++-common/goacc/data-clause-duplicate-1.c: Likewise. + * c-c++-common/goacc/deviceptr-1.c: Likewise. + * c-c++-common/goacc/deviceptr-2.c: Likewise. + * c-c++-common/goacc/deviceptr-3.c: Likewise. + * c-c++-common/goacc/if-clause-1.c: Likewise. + * c-c++-common/goacc/if-clause-2.c: Likewise. + * c-c++-common/goacc/kernels-1.c: Likewise. + * c-c++-common/goacc/loop-1.c: Likewise. + * c-c++-common/goacc/loop-private-1.c: Likewise. + * c-c++-common/goacc/nesting-1.c: Likewise. + * c-c++-common/goacc/nesting-data-1.c: Likewise. + * c-c++-common/goacc/nesting-fail-1.c: Likewise. + * c-c++-common/goacc/parallel-1.c: Likewise. + * c-c++-common/goacc/pcopy.c: Likewise. + * c-c++-common/goacc/pcopyin.c: Likewise. + * c-c++-common/goacc/pcopyout.c: Likewise. + * c-c++-common/goacc/pcreate.c: Likewise. + * c-c++-common/goacc/pragma_context.c: Likewise. + * c-c++-common/goacc/present-1.c: Likewise. + * c-c++-common/goacc/reduction-1.c: Likewise. + * c-c++-common/goacc/reduction-2.c: Likewise. + * c-c++-common/goacc/reduction-3.c: Likewise. + * c-c++-common/goacc/reduction-4.c: Likewise. + * c-c++-common/goacc/sb-1.c: Likewise. + * c-c++-common/goacc/sb-2.c: Likewise. + * c-c++-common/goacc/sb-3.c: Likewise. + * c-c++-common/goacc/update-1.c: Likewise. + * gcc.dg/goacc/acc_on_device-1.c: Likewise. + * gfortran.dg/goacc/acc_on_device-1.f95: Likewise. + * gfortran.dg/goacc/acc_on_device-2-off.f95: Likewise. + * gfortran.dg/goacc/acc_on_device-2.f95: Likewise. + * gfortran.dg/goacc/assumed.f95: Likewise. + * gfortran.dg/goacc/asyncwait-1.f95: Likewise. + * gfortran.dg/goacc/asyncwait-2.f95: Likewise. + * gfortran.dg/goacc/asyncwait-3.f95: Likewise. + * gfortran.dg/goacc/asyncwait-4.f95: Likewise. + * gfortran.dg/goacc/branch.f95: Likewise. + * gfortran.dg/goacc/cache-1.f95: Likewise. + * gfortran.dg/goacc/coarray.f95: Likewise. + * gfortran.dg/goacc/continuation-free-form.f95: Likewise. + * gfortran.dg/goacc/cray.f95: Likewise. + * gfortran.dg/goacc/critical.f95: Likewise. + * gfortran.dg/goacc/data-clauses.f95: Likewise. + * gfortran.dg/goacc/data-tree.f95: Likewise. + * gfortran.dg/goacc/declare-1.f95: Likewise. + * gfortran.dg/goacc/enter-exit-data.f95: Likewise. + * gfortran.dg/goacc/fixed-1.f: Likewise. + * gfortran.dg/goacc/fixed-2.f: Likewise. + * gfortran.dg/goacc/fixed-3.f: Likewise. + * gfortran.dg/goacc/fixed-4.f: Likewise. + * gfortran.dg/goacc/host_data-tree.f95: Likewise. + * gfortran.dg/goacc/if.f95: Likewise. + * gfortran.dg/goacc/kernels-tree.f95: Likewise. + * gfortran.dg/goacc/list.f95: Likewise. + * gfortran.dg/goacc/literal.f95: Likewise. + * gfortran.dg/goacc/loop-1.f95: Likewise. + * gfortran.dg/goacc/loop-2.f95: Likewise. + * gfortran.dg/goacc/loop-3.f95: Likewise. + * gfortran.dg/goacc/loop-tree-1.f90: Likewise. + * gfortran.dg/goacc/omp.f95: Likewise. + * gfortran.dg/goacc/parallel-kernels-clauses.f95: Likewise. + * gfortran.dg/goacc/parallel-kernels-regions.f95: Likewise. + * gfortran.dg/goacc/parallel-tree.f95: Likewise. + * gfortran.dg/goacc/parameter.f95: Likewise. + * gfortran.dg/goacc/private-1.f95: Likewise. + * gfortran.dg/goacc/private-2.f95: Likewise. + * gfortran.dg/goacc/private-3.f95: Likewise. + * gfortran.dg/goacc/pure-elemental-procedures.f95: Likewise. + * gfortran.dg/goacc/reduction-2.f95: Likewise. + * gfortran.dg/goacc/reduction.f95: Likewise. + * gfortran.dg/goacc/routine-1.f90: Likewise. + * gfortran.dg/goacc/routine-2.f90: Likewise. + * gfortran.dg/goacc/sentinel-free-form.f95: Likewise. + * gfortran.dg/goacc/several-directives.f95: Likewise. + * gfortran.dg/goacc/sie.f95: Likewise. + * gfortran.dg/goacc/subarrays.f95: Likewise. + * gfortran.dg/gomp/map-1.f90: Likewise. + * gfortran.dg/openacc-define-1.f90: Likewise. + * gfortran.dg/openacc-define-2.f90: Likewise. + * gfortran.dg/openacc-define-3.f90: Likewise. + * g++.dg/gomp/block-1.C: Update for changed compiler output. + * g++.dg/gomp/block-2.C: Likewise. + * g++.dg/gomp/block-3.C: Likewise. + * g++.dg/gomp/block-5.C: Likewise. + * g++.dg/gomp/target-1.C: Likewise. + * g++.dg/gomp/target-2.C: Likewise. + * g++.dg/gomp/taskgroup-1.C: Likewise. + * g++.dg/gomp/teams-1.C: Likewise. + * gcc.dg/cilk-plus/jump-openmp.c: Likewise. + * gcc.dg/cilk-plus/jump.c: Likewise. + * gcc.dg/gomp/block-1.c: Likewise. + * gcc.dg/gomp/block-10.c: Likewise. + * gcc.dg/gomp/block-2.c: Likewise. + * gcc.dg/gomp/block-3.c: Likewise. + * gcc.dg/gomp/block-4.c: Likewise. + * gcc.dg/gomp/block-5.c: Likewise. + * gcc.dg/gomp/block-6.c: Likewise. + * gcc.dg/gomp/block-7.c: Likewise. + * gcc.dg/gomp/block-8.c: Likewise. + * gcc.dg/gomp/block-9.c: Likewise. + * gcc.dg/gomp/target-1.c: Likewise. + * gcc.dg/gomp/target-2.c: Likewise. + * gcc.dg/gomp/taskgroup-1.c: Likewise. + * gcc.dg/gomp/teams-1.c: Likewise. + +2015-01-15 David Malcolm + + * jit.dg/test-error-mismatching-types-in-assignment-op.c: New + test case. + +2015-01-15 Mike Stump + + * gcc.dg/inline_1.c: Rename gcc.dg/inline_[1-4].c to inline-3[6-9].c. + * gcc.dg/inline_2.c: Likewise. + * gcc.dg/inline_3.c: Likewise. + * gcc.dg/inline_4.c: Likewise. + +2015-01-15 Janus Weil + + PR fortran/58023 + * gfortran.dg/proc_ptr_comp_43.f90: New. + +2015-01-15 Mike Stump + + * gcc.dg/unroll_1.c: Rename gcc.dg/unroll_[1-5].c to unroll-[2-6]. + * gcc.dg/unroll_2.c: Likewise. + * gcc.dg/unroll_3.c: Likewise. + * gcc.dg/unroll_4.c: Likewise. + * gcc.dg/unroll_5.c: Likewise. + +2015-01-15 Tejas Belagod + + PR target/63971 + * gcc.target/aarch64/test_frame_1.c: Revert to 3 loads of x30 + in epilogue. + * gcc.target/aarch64/test_frame_6.c: Likewise. + * gcc.target/aarch64/test_frame_2.c: Revert to 2 pair loads of + x30 and x19 (in the epilogue). + * gcc.target/aarch64/test_frame_4.c: Likewise. + * gcc.target/aarch64/test_frame_7.c: Likewise. + +2015-01-15 Martin Liska + + * g++.dg/ipa/pr64068.C: New test. + * gcc.dg/ipa/PR64559.c: New test. + +2015-01-15 H.J. Lu + + * g++.dg/other/anon5.C: Ignore additional messages on Linux/x86 + with PIE. + +2015-01-15 Richard Biener + + PR tree-optimization/61743 + * gcc.dg/tree-ssa/pr61743-1.c: New testcase. + * gcc.dg/tree-ssa/pr61743-2.c: Likewise. + +2015-01-15 Renlin Li + + * gcc.target/aarch64/volatileloadpair-1.c: Correct dg-options. + * gcc.target/aarch64/volatileloadpair-2.c: Likewise. + +2015-01-15 Yuri Rumyantsev + + * gcc.dg/vect/vect-aggressive-1.c: New. + * gcc.target/i386/avx2-vect-aggressive.c: New. + +2015-01-15 H.J. Lu + + * gcc.target/i386/pr54445-2.c: Adjust scan string for PIE. + +2015-01-15 Richard Biener + + PR lto/64415 + * gcc.dg/lto/pr64415_0.c: Re-enable for darwin with + -Wl,-undefined,dynamic_lookup. + +2015-01-15 Eric Botcazou + + * gnat.dg/opt47.adb: New test. + +2015-01-15 Richard Biener + + PR lto/64415 + * gcc.dg/lto/pr64415_0.c: Skip on darwin. + +2015-01-15 Yuri Rumyantsev + + PR tree-optimization/64434 + * gcc.dg/torture/pr64434.c: New test. + +2015-01-15 Matthew Fortune + + * gcc.target/mips/mips.exp (mips-dg-options): -mips3d requires + -mno-micromips. MIPS32R1 and below require -mno-micromips. + -march=loongson* and -march=octeon* require -mno-micromips. + +2015-01-15 Andrew Bennett + Matthew Fortune + + * gcc.target/mips/call-saved-4.c (foo): Add NOCOMPRESSION. + * gcc.target/mips/call-saved-5.c (foo): Likewise. + * gcc.target/mips/call-saved-6.c (foo): Likewise. + * gcc.target/mips/call-saved-7.c: New file. + * gcc.target/mips/call-saved-8.c: New file. + * gcc.target/mips/call-saved-9.c: New file. + +2015-01-14 Matthew Fortune + + * gcc.target/mips/lsa.c: New file. + * gcc.target/mips/mips64-lsa.c: Likewise. + * gcc.target/mips/mulsize-2.c: Require !HAS_LSA. + * gcc.target/mips/mulsize-4.c: Likewise. + * gcc.target/mips/mulsize-5.c: New file. + * gcc.target/mips/mulsize-6.c: Likewise. + * gcc.target/mips/mips.exp (mips_option_groups): Support HAS_LSA + and !HAS_LSA as ghost options. + (mips-dg-options): Require rev 6 for HAS_LSA. Downgrade to rev 5 + for !HAS_LSA. + +2015-01-15 Matthew Wahab + + * g++.dg/torture/20141013.c: Set -fno-short-enums. + +2015-01-15 Richard Biener + + PR middle-end/64365 + * gcc.dg/torture/pr64365.c: New testcase. + +2015-01-14 Marcos Diaz + + * gcc.dg/stackprotectexplicit1.c: New test. + * g++.dg/stackprotectexplicit2.c: New test. + +2015-01-14 Jerry DeLisle + + PR target/61933 + * gfortran.dg/inquire_internal.f90: New. + * gfortran.dg/negative_unit_check.f90: New. + +2015-01-14 Oleg Endo + + PR target/53988 + * gcc.target/sh/pr53988-1.c: New. + +2015-01-14 Paolo Carlini + + PR c++/58671 + * g++.dg/tls/thread_local-ice3.C: New. + +2015-01-14 H.J. Lu + + * gcc.target/i386/fentry-override.c: Properly place {} in target + selector. Remove nonpic. + * gcc.target/i386/fentry.c: Likewise. + +2015-01-14 Andrew MacLeod + + * gcc.dg/atomic-invalid.c: Check for invalid memory model + warnings instead of errors. + +2015-01-14 Ilya Verbin + + * lib/target-supports.exp (check_effective_target_lto): Check for -flto + option support instead of ENABLE_LTO from Makefile. + +2015-01-14 Richard Biener + + PR tree-optimization/59354 + * gcc.dg/vect/pr59354.c: New testcase. + +2015-01-14 Andrew Stubbs + + * lib/target-supports.exp + (check_effective_target_arm_neon_ok_nocache): Don't try to test Neon + on ARM architures before v7. + +2015-01-14 Andrew MacLeod + + PR middle-end/59448 + * gcc.dg/atomic-invalid.c: Remove obselete test for illegal consume in + an atomic_exchange. + +2015-01-14 Ilya Tocar + + PR target/64386 + * gcc.target/i386/pr64386.c: New test. + +2015-01-14 Ilya Tocar + + PR target/64393 + * gcc.target/i386/pr64393.c: New test. + +2015-01-14 Ilya Tocar + + PR target/64387 + * gcc.target/i386/pr64387.c: New test. + +2015-01-14 Christophe Lyon + + * gcc.target/aarch64/store-pair-1.c: Fix typo. + +2015-01-14 Kyrylo Tkachov + + * gcc.target/aarch64/arm_neon-nosimd-error.c: New test. + +2015-01-14 Thomas Preud'homme + + PR target/64453 + * gcc.target/arm/pr64453.c: New. + +2015-01-14 Richard Biener + + PR lto/64415 + * gcc.dg/lto/pr64415_0.c: New testcase. + * gcc.dg/lto/pr64415_1.c: Likewise. + +2015-01-14 Martin Liska + + * gcc.dg/ipa/pr64307.c: New test. + +2015-01-14 Tejas Belagod + + * gcc.target/aarch64/vect-movi.c: Check for vectorization for + 64-bit and 128-bit. + +2015-01-14 Kyrylo Tkachov + + PR target/64460 + * gcc.target/arm/pr64460_1.c: New test. + +2015-01-14 Richard Biener + + PR tree-optimization/64493 + PR tree-optimization/64495 + * gcc.dg/vect/pr64493.c: New testcase. + * gcc.dg/vect/pr64495.c: Likewise. + +2015-01-13 Martin Uecker + + * gcc.dg/Warray-bounds-11.c: New test-case. + +2015-01-14 Naveen H.S + + * gcc.target/mips/octeon3-pipe-1.c: New test. + +2015-01-13 David Malcolm + + * jit.dg/harness.h (set_up_logging): Move string concatenation + into... + (concat_strings): New function. + (dump_reproducer): New function. + (test_jit): Call dump_reproducer. + * jit.dg/jit.exp (is_testcase_meant_to_generate_a_reproducer): New + function. + (jit-dg-test): Delete any generated reproducer from previous runs. + Verify that a generated reproducer was created, and verify that it + compiles. + * jit.dg/test-nested-contexts.c (main): Call + gcc_jit_context_dump_reproducer_to_file. + +2015-01-13 H.J. Lu + + * gcc.dg/aru-2.c: Add dg-require-profiling. + +2015-01-13 H.J. Lu + + * lib/target-supports.exp (check_profiling_available): Check if + -pg links. + +2015-01-13 Jan Hubicka + + PR ipa/64565 + * g++.dg/torture/pr64565.C: New testcase. + +2015-01-13 Marek Polacek + + PR middle-end/64391 + * gcc.dg/tm/pr64391.c: New test. + +2015-01-13 H.J. Lu + + * gcc.dg/tree-ssa/ssa-store-ccp-3.c: Exclude pie when nonpic is + true. + +2015-01-13 H.J. Lu + + * gcc.target/i386/pie.c: New test. + + * lib/target-supports.exp (check_effective_target_pie): New. + +2015-01-13 Jakub Jelinek + + PR rtl-optimization/64286 + * gcc.target/i386/avx2-pr64286.c: New test. + +2015-01-13 Paolo Carlini + + PR c++/57626 + * g++.dg/cpp0x/vt-57626.C: New. + +2015-01-13 Jakub Jelinek + + PR fortran/64528 + * gfortran.dg/pr64528.f90: New test. + +2015-01-13 Richard Sandiford + + * gcc.target/aarch64/subsp.c: New test. + +2015-01-13 Andrew Pinski + + * gcc.target/aarch64/store-pair-1.c: New testcase. + +2015-01-13 Richard Biener + + PR lto/64373 + * gcc.dg/lto/pr64373_0.c: New testcase. + +2015-01-13 Andrew Pinski + + * gcc.target/aarch64/volatileloadpair-1.c: New testcase. + * gcc.target/aarch64/volatileloadpair-2.c: New testcase. + +2015-01-13 Richard Biener + + PR tree-optimization/64406 + * gcc.dg/pr64406.c: New testcase. + +2015-01-13 Richard Biener + + PR tree-optimization/64404 + * gcc.dg/vect/pr64404.c: New testcase. + +2015-01-13 Richard Biener + + PR tree-optimization/64568 + * g++.dg/torture/pr64568.C: New testcase. + +2015-01-12 David Malcolm + + * jit.dg/test-error-local-used-from-other-function.c: New test + case. + * jit.dg/test-error-param-reuse.c: New test case. + * jit.dg/test-error-param-sharing.c: New test case. + * jit.dg/test-error-param-used-from-other-function.c: New test + case. + * jit.dg/test-error-param-used-without-a-function.c: New test + case. + +2015-01-12 Jakub Jelinek + + PR tree-optimization/64563 + * gcc.dg/pr64563.c: New test. + + PR target/64513 + * gcc.target/i386/pr64513.c: New test. + + PR tree-optimization/64454 + * gcc.dg/pr64454.c: New test. + + PR testsuite/64028 + * gcc.dg/vect/no-section-anchors-vect-31.c: Add dg-add-options + bind_pic_locally. + * gcc.dg/vect/no-section-anchors-vect-34.c: Likewise. + * gcc.dg/vect/no-section-anchors-vect-36.c: Likewise. + * gcc.dg/vect/no-section-anchors-vect-64.c: Likewise. + * gcc.dg/vect/no-section-anchors-vect-65.c: Likewise. + * gcc.dg/vect/no-section-anchors-vect-68.c: Likewise. + * gcc.dg/vect/no-section-anchors-vect-69.c: Likewise. + * gcc.dg/vect/slp-25.c: Likewise. + * gcc.dg/vect/vect-109.c: Likewise. + * gcc.dg/vect/vect-13.c: Likewise. + * gcc.dg/vect/vect-17.c: Likewise. + * gcc.dg/vect/vect-18.c: Likewise. + * gcc.dg/vect/vect-19.c: Likewise. + * gcc.dg/vect/vect-20.c: Likewise. + * gcc.dg/vect/vect-21.c: Likewise. + * gcc.dg/vect/vect-22.c: Likewise. + * gcc.dg/vect/vect-27.c: Likewise. + * gcc.dg/vect/vect-29.c: Likewise. + * gcc.dg/vect/vect-2-big-array.c: Likewise. + * gcc.dg/vect/vect-2.c: Likewise. + * gcc.dg/vect/vect-3.c: Likewise. + * gcc.dg/vect/vect-4.c: Likewise. + * gcc.dg/vect/vect-5.c: Likewise. + * gcc.dg/vect/vect-72.c: Likewise. + * gcc.dg/vect/vect-73-big-array.c: Likewise. + * gcc.dg/vect/vect-73.c: Likewise. + * gcc.dg/vect/vect-77-global.c: Likewise. + * gcc.dg/vect/vect-78-global.c: Likewise. + * gcc.dg/vect/vect-7.c: Likewise. + * gcc.dg/vect/vect-86.c: Likewise. + * gcc.dg/vect/vect-align-1.c: Likewise. + * gcc.dg/vect/vect-align-3.c: Likewise. + * gcc.dg/vect/vect-all-big-array.c: Likewise. + * gcc.dg/vect/vect-all.c: Likewise. + * gcc.dg/vect/vect-multitypes-1.c: Likewise. + * gcc.dg/vect/vect-multitypes-4.c: Likewise. + * gcc.dg/vect/vect-peel-3.c: Likewise. + * gcc.dg/vect/vect-peel-4.c: Likewise. + * gcc.dg/vect/wrapv-vect-7.c: Likewise. + +2015-01-12 Jeff Law + + PR target/64461 + * gcc.target/m68k/pr64461.c: New test. + +2015-01-12 David Malcolm + + * jit.dg/test-array-as-pointer.c (create_code): Update call + to gcc_jit_context_new_global by setting "kind" to + GCC_JIT_GLOBAL_IMPORTED. + * jit.dg/test-error-array-as-pointer.c: Likewise. + * jit.dg/test-expressions.c (make_test_of_get_address): Likewise. + * jit.dg/test-fuzzer.c (make_random_global): Likewise, but + setting kind to GCC_JIT_GLOBAL_EXPORTED. + * jit.dg/test-using-global.c (the_global): Rename to... + (imported_global): ...this. + (create_code): Update to test the three kinds of global. + (verify_code): Likewise. + +2015-01-12 Marc Glisse + + PR testsuite/64427 + * gcc.target/i386/pr64291-1.c: Limit to lp64 tarrget. Avoid + undefined behavior. + * gcc.target/i386/pr64291-2.c: Updated. + +2015-01-12 Richard Biener + + PR tree-optimization/64530 + * gfortran.dg/pr64530.f90: New testcase. + +2015-01-12 Richard Biener + + PR middle-end/64357 + * gcc.dg/torture/pr64357.c: New testcase. + +2015-01-12 H.J. Lu + + * gcc.target/i386/nop-mcount.c: Properly place {} in target + selector. + +2015-01-12 Prathamesh Kulkarni + * gcc.dg/plugin/ggcplug.c: Include gcc-plugin.h after coretypes.h. + +2015-01-12 Martin Liska + + * gcc.dg/ipa/PR64550.c: New test. + +2015-01-12 Jan Hubicka + + PR ipa/63470 + * g++.dg/ipa/pr63470.C: New testcase. + +2015-01-11 Janus Weil + + PR fortran/63733 + * gfortran.dg/typebound_operator_20.f90: New. + +2015-01-11 Janus Weil + + PR fortran/58023 + * gfortran.dg/proc_ptr_comp_42.f90: New. + +2015-01-11 Janus Weil + + PR fortran/64508 + * gfortran.dg/proc_ptr_comp_41.f90: New. + +2015-01-11 Segher Boessenkool + + * gcc.target/powerpc/recip-test.h (_ARCH_PPC64): Use __LP64__ instead. + +2015-01-10 Tobias Burnus + + PR fortran/64522 + * gfortran.dg/line_length_5.f90: Change dg-warning to dg-error + and add dg-excess-errors. + * gfortran.dg/line_length_6.f90: New. + * gfortran.dg/line_length_7.f90: New. + * gfortran.dg/line_length_8.f90: New. + * gfortran.dg/line_length_9.f90: New. + * gfortran.dg/line_length_10.f90: New. + * gfortran.dg/line_length_11.f90: New. + +2015-01-09 David Malcolm + + * jit.dg/test-threads.c (struct testcase): Move declaration + to jit.dg/all-non-failing-tests.h. + (testcases): Likewise. + * jit.dg/all-non-failing-tests.h (struct testcase): Move + declaration here from jit.dg/all-non-failing-tests.h. + (testcases): Likewise. + * jit.dg/test-combination.c (create_code): Eliminate spelling + out all of the testcases in favor of looping through the + "testcases" metadata. + (verify_code): Likewise. + +2015-01-09 Jakub Jelinek + + PR rtl-optimization/64536 + * gcc.dg/pr64536.c: New test. + +2015-01-09 David Malcolm + + * jit.dg/all-non-failing-tests.h: Add test-constants.c. + * jit.dg/test-combination.c (create_code): Likewise. + (verify_code): Likewise. + * jit.dg/test-constants.c: New test case. + * jit.dg/test-threads.c: Add test-constants.c. + +2015-01-09 Dimitris Papavasiliou + + PR libobjc/51891 + * objc.dg/gnu-api-2-class.m: Add a test case + for the above change. + +2015-01-09 Sebastian Huber + + * gcc.dg/typeof-2.c: Add checks for non-atomic types. + +2015-01-09 Richard Biener + + PR tree-optimization/64410 + * g++.dg/vect/pr64410.cc: New testcase. + +2015-01-09 Martin Liska + + * gcc.dg/ipa/ipa-icf-32.c: New test. + +2015-01-08 Bernd Edlinger + + * c-c++-common/tsan/tsan_barrier.h: New. + * c-c++-common/tsan/atomic_stack.c: Reworked to not depend on sleep. + * c-c++-common/tsan/bitfield_race.c: Likewise. + * c-c++-common/tsan/fd_pipe_race.c: Likewise. + * c-c++-common/tsan/mutexset1.c: Likewise. + * c-c++-common/tsan/race_on_barrier.c: Likewise. + * c-c++-common/tsan/race_on_mutex.c: Likewise. + * c-c++-common/tsan/race_on_mutex2.c: Likewise. + * c-c++-common/tsan/simple_race.c: Likewise. + * c-c++-common/tsan/simple_stack.c: Likewise. + * c-c++-common/tsan/sleep_sync.c: Likewise. + * c-c++-common/tsan/tiny_race.c: Likewise. + * c-c++-common/tsan/tls_race.c: Likewise. + * c-c++-common/tsan/write_in_reader_lock.c: Likewise. + * g++.dg/tsan/aligned_vs_unaligned_race.C: Likewise. + * g++.dg/tsan/atomic_free.C: Likewise. + * g++.dg/tsan/atomic_free2.C: Likewise. + * g++.dg/tsan/cond_race.C: Likewise. + * g++.dg/tsan/tsan_barrier.h: Copied from c-c++-common/tsan. + +2015-01-08 Hans-Peter Nilsson + + PR testsuite/62250 + * lib/target-supports.exp (check_effective_target_libatomic_available): + New. + * gfortran.dg/coarray/caf.exp: Only add -latomic for + targets that match effective-target libatomic_available. + * gfortran.dg/coarray_lib_comm_1.f90: Similar. + +2015-01-08 David Malcolm + + * jit.dg/test-error-block-in-wrong-function.c (verify_code): + Verify the result of gcc_jit_context_get_last_error. + * jit.dg/test-error-null-passed-to-api.c (verify_code): Likewise. + +2015-01-08 Jakub Jelinek + + PR tree-optimization/63989 + * gcc.dg/strlenopt-27.c: New test. + +2015-01-08 David Malcolm + + * jit.dg/harness.h (set_up_logging): New function. + (test_jit): Fail if gcc_jit_context_acquire fails. Call + set_up_logging on the context, so that every testcase is + logged to a particular file. + * jit.dg/test-nested-contexts.c (main): Open a logfile, + and call gcc_jit_context_set_logfile on the top-level context. + +2015-01-08 Jakub Jelinek + + PR target/64338 + * g++.dg/opt/pr64338.C: New test. + +2015-01-08 Tobias Burnus + + * gfortran.dg/coarray/codimension_2b.f90: New file. + * gfortran.dg/coarray/codimension_2.f90: Add it to dg-extra-sources. + * gfortran.dg/coarray/codimension_2.f90: Call its subroutine. + +2015-01-08 Paolo Carlini + + PR c++/59004 + * g++.dg/ext/fnname4.C: New. + +2015-01-08 Paolo Carlini + + PR c++/64462 + * g++.dg/cpp0x/constexpr-64462.C: New. + +2015-01-08 Paolo Carlini + + PR c++/60753 + * g++.dg/cpp0x/deleted10.C: New. + +2015-01-07 David Malcolm + + * jit.dg/test-error-dereferencing-void-ptr.c: New test case. + +2015-01-07 David Malcolm + + * jit.dg/test-expressions.c (make_tests_of_unary_ops): Add test of + GCC_JIT_UNARY_OP_ABS. + (verify_unary_ops): Likewise. + +2015-01-07 David Malcolm + + * jit.dg/test-arith-overflow.c: New test case. + * jit.dg/all-non-failing-tests.h: Add test-arith-overflow.c. + * jit.dg/test-combination.c (create_code): Likewise. + (verify_code): Likewise. + * jit.dg/test-threads.c (testcases): Likewise. + +2015-01-07 David Malcolm + + * jit.dg/jit.exp: Load wrapper.exp with %{tool} set to "g++" + rather than "jit". Load g++.exp, and call g++_init. + Run test-*.cc files within the testsuite and *.cc files within + docs/examples. + (jit-dg-test): Drop the addition of -fgnu89-inline to + DEFAULT_CFLAGS in favor of adding it to additional_flags, only + doing it when compiling C testcases (since g++ does not handle + it). Reset "orig_environment_saved" so that LD_LIBRARY_PATH + is restored to the value after g++_init ran, rather than the + value before g++_init ran. Return a list of + $comp_output $output_file, as dg-test assumes. + +2015-01-07 David Malcolm + + * jit.dg/harness.h (CHECK_NON_NULL): Add __func__ to output, to + make it easier to figure out the origin of each test result when + running test-combination.c and test-threads.c. + (CHECK_VALUE): Likewise. + (CHECK_DOUBLE_VALUE): Likewise. + (CHECK_STRING_VALUE): Likewise. + (CHECK_STRING_STARTS_WITH): Likewise. + (CHECK_STRING_CONTAINS): Likewise. + (CHECK): Likewise. + (check_string_value): Likewise, add "funcname" param. + (check_string_starts_with): Likewise. + (check_string_contains): Likewise. + +2015-01-07 David Malcolm + + * jit.dg/jit.exp (jit-dg-test): Remove "rootname" call when + generating name of built executable. + +2015-01-07 Marek Polacek + + PR c/64440 + * gcc.dg/pr64440.c: New test. + * c-c++-common/pr56607.c: Don't limit dg-warnings to C++. + +2015-01-07 Marek Polacek + + PR c/64417 + * gcc.c-torture/compile/pr28865.c: Add dg-errors. + * gcc.dg/pr64417.c: New test. + +2015-01-06 Michael Meissner + + PR target/64505 + * gcc.target/powerpc/pr64505.c: New file to test -m32 -mpowerpc64 + fix is correct. + +2015-01-06 Eric Botcazou + + * lib/tsan-dg.exp (check_effective_target_fsanitize_thread): + Check if testcases run without errors, not just if they compile. + +2015-01-06 Christian Bruel + + PR target/64507 + * gcc.target/sh/pr64507.c: New test. + +2015-01-06 Arnaud Charlet + + * gnat.db/fixce.adb, gnat.db/specs/delta_small.ads: Kill warnings. + +2015-01-06 Jakub Jelinek + + * c-c++-common/asan/sanitize-all-1.c: New test. + * c-c++-common/ubsan/sanitize-all-1.c: New test. + * c-c++-common/ubsan/sanitize-all-2.c: New test. + * c-c++-common/ubsan/sanitize-all-3.c: New test. + * c-c++-common/ubsan/sanitize-all-4.c: New test. + +2015-01-06 Eric Botcazou + + * lib/target-supports.exp (check_profiling_available): Return 0 for + Visium. + (check_effective_target_tls_runtime): Likewise. + (check_effective_target_logical_op_short_circuit): Return 1 for Visium. + * gcc.dg/20020312-2.c: Adjust for Visium. + * gcc.dg/tls/thr-cse-1.c: Likewise + * gcc.dg/tree-ssa/20040204-1.c: Likewise + * gcc.dg/tree-ssa/loop-1.c: Likewise. + * gcc.dg/weak/typeof-2.c: Likewise. + +2015-01-05 Radovan Obradovic + + PR rtl-optimization/64287 + * gcc.dg/aru-2.c: New test. + +2015-01-05 Jakub Jelinek + + PR sanitizer/64344 + * c-c++-common/ubsan/pr64344-1.c: New test. + * c-c++-common/ubsan/pr64344-2.c: New test. + + PR tree-optimization/64465 + * gcc.dg/pr64465.c: New test. + + PR tree-optimization/64494 + * gcc.c-torture/compile/pr64494.c: New test. + +2015-01-05 Thomas Koenig + + PR fortran/47674 + * gfortran.dg/realloc_on_assign_25.f90: New test. + +2015-01-05 Jakub Jelinek + + Update copyright years. + +2015-01-05 Marek Polacek + + PR c/64423 + * gcc.dg/pr64423.c: New test. + +2015-01-05 Hans-Peter Nilsson + + * gcc.dg/debug/debug-1.c: Pass -fno-if-conversion for + mmix-knuth-mmixware for the same reason as for MIPS. + * gcc.dg/debug/debug-2.c: Ditto. + + * gcc.dg/pr42629.c: Only pass scheduling options on scheduling targets. + +2015-01-03 John David Anglin + + PR testsuite/62250 + * lib/gfortran.exp: Add libatomic library search path. + * gfortran.dg/coarray/caf.exp: Add -latomic to test options. + * gfortran.dg/coarray_lib_comm_1.f90: Likewise. + + * gcc.dg/pr63914.c: Add -fno-common option on hppa*-*-hpux*. + +2015-01-02 Bernd Edlinger + + * c-c++-common/tsan/bitfield_race.c: New testcase. + * g++.dg/tsan/aligned_vs_unaligned_race.C: Fixed. + +2015-01-02 Tobias Burnus + + * gfortran.dg/coarray/collectives_4.f90: New. + +2015-01-02 Janus Weil + + PR fortran/57562 + * gfortran.dg/extends_16.f90: New. + +2015-01-02 Tobias Burnus + + * gfortran.dg/coarray/caf.exp (dg-compile-aux-modules): Add. + +2015-01-02 Tobias Burnus + + * gfortran.dg/coarray/codimension_2.f90: New. + * gfortran.dg/coarray/codimension_2a.f90: New. + * gfortran.dg/coarray_35.f90: New. + * gfortran.dg/coarray_35a.f90: New. + +2015-01-02 Janus Weil + + PR fortran/60507 + * gfortran.dg/dummy_procedure_11.f90: New. + +Copyright (C) 2015 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. -- 2.30.2