- 20 May, 2015 30 commits
-
-
* 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. From-SVN: r223454
Mikhail Maltsev committed -
* include/bits/cpp_type_traits.h (std::move_iterator): Delete declaration. (std::__is_move_iterator<move_iterator>): Move partial specialization... * include/bits/stl_iterator.h: ... here. (std::__miter_base): Overloads for std::reverse_iterator and std::move_iterator. * include/bits/stl_algobase.h (std::__miter_base): Provide default implementation. From-SVN: r223453
François Dumont committed -
re PR target/65730 (xtensa: ICE in libstdc++-v3/include/bits/atomic_base.h: In function ‘bool std::atomic_flag_test_and_set_explicit(std::__atomic_flag_base*, std::memory_order)’) Fix PR target/65730 2015-05-20 Max Filippov <jcmvbkbc@gmail.com> gcc/ * config/xtensa/xtensa.c (init_alignment_context): Replace MULT by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT). From-SVN: r223452
Max Filippov committed -
gcc/testsuite 2015-05-20 Alex Velenko <Alex.Velenko@arm.com> * gcc.target/arm/thumb1-far-jump-2.c (r4): Added int in definition. From-SVN: r223451
Alex Velenko committed -
From-SVN: r223450
Jonathan Wakely committed -
re PR libstdc++/66078 (20_util/specialized_algorithms/uninitialized_copy/808590.cc fails with -std=c++11) PR libstdc++/66078 * include/bits/stl_iterator.h (__make_move_if_noexcept_iterator): Add overload for pointers. * testsuite/20_util/specialized_algorithms/uninitialized_copy/ 808590.cc: Add -std=gnu++03 switch. * testsuite/20_util/specialized_algorithms/uninitialized_copy/ 808590-cxx11.cc: Copy of 808590.cc to test with -std=gnu++11. * testsuite/23_containers/vector/modifiers/push_back/ strong_guarantee.cc: New. From-SVN: r223449
Jonathan Wakely committed -
* tree-ssa-threadupdate.c (mark_threaded_blocks): Properly dispose of the jump thread path when the jump threading opportunity is cancelled. From-SVN: r223448
Jeff Law committed -
gcc/testsuite/ChangeLog: * 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. From-SVN: r223447
David Malcolm committed -
gcc/ChangeLog 2015-05-20 Manuel López-Ibáñez <manu@gcc.gnu.org> * diagnostic.c (diagnostic_print_caret_line): Fix off-by-one error when printing the caret character. From-SVN: r223446
Manuel López-Ibáñez committed -
gcc/fortran/ChangeLog: 2015-05-19 Andre Vehreschild <vehre@gmx.de> PR fortran/65548 * trans-stmt.c (gfc_trans_allocate): Always retrieve the descriptor or a reference to a source= expression for arrays and non-arrays, respectively. Use a temporary symbol and gfc_trans_assignment for all source= assignments to allocated objects besides for class and derived types. gcc/testsuite/ChangeLog: 2015-05-19 Andre Vehreschild <vehre@gmx.de> PR fortran/65548 * gfortran.dg/allocate_with_source_5.f90: Extend test. From-SVN: r223445
Andre Vehreschild committed -
* cfgexpand.c (expand_debug_expr): Use UNARY_CLASS_P. * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P. From-SVN: r223442
Marek Polacek committed -
* 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. From-SVN: r223441
Marek Polacek committed -
* gimple-fold.c (fold_const_aggregate_ref_1): Use DECL_P. * gimplify.c (gimplify_modify_expr_rhs): Likewise. * c-ada-spec.c (dump_sloc): Use DECL_P. From-SVN: r223440
Marek Polacek committed -
* config/aarch64/aarch64.c (aarch64_class_max_nregs): Use UNITS_PER_VREG and UNITS_PER_WORD instead of their direct values. From-SVN: r223439
Kyrylo Tkachov committed -
gcc/ * config/mips/mips.h (micromips_globals): Declare. From-SVN: r223438
Robert Suchanek committed -
* c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout. * c-common.c: Likewise. * c-decl.c: Use VAR_OR_FUNCTION_DECL_P throughout. * c-typeck.c: Likewise. From-SVN: r223437
Marek Polacek committed -
gcc/ChangeLog: * timevar.def (TV_INITIALIZE_RTL): New. * toplev.c (initialize_rtl): Use an auto_timevar to account this function's time to TV_INITIALIZE_RTL. From-SVN: r223436
David Malcolm committed -
gcc/java/ChangeLog: * jcf-parse.c (set_source_filename): Replace write through ORDINARY_MAP_FILE_NAME with direct access to "to_file". libcpp/ChangeLog: * include/line-map.h (MAP_START_LOCATION): Eliminate the non-const variant, and tweak comment for the const variant. (ORDINARY_MAP_STARTING_LINE_NUMBER): Drop the non-const variant. (ORDINARY_MAP_INCLUDER_FILE_INDEX): Likewise. (ORDINARY_MAP_IN_SYSTEM_HEADER_P): Likewise. (SET_ORDINARY_MAP_NUMBER_OF_COLUMN_BITS): Delete. (ORDINARY_MAP_FILE_NAME): Drop the non-const variant. (MACRO_MAP_MACRO): Likewise. (MACRO_MAP_NUM_MACRO_TOKENS): Likewise. (MACRO_MAP_LOCATIONS): Likewise. (MACRO_MAP_EXPANSION_POINT_LOCATION): Likewise. * line-map.c (linemap_add): Replace writes through macros with direct field accesses. (linemap_enter_macro): Likewise. (linemap_line_start): Likewise. From-SVN: r223435
David Malcolm committed -
* 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. From-SVN: r223434
Ilya Enkovich committed -
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. gcc/testsuite PR tree-optimization/65447 * gcc.dg/tree-ssa/pr65447.c: New test. From-SVN: r223433
Bin Cheng committed -
gcc/ChangeLog: 2015-05-20 Kugan Vivekanandarajah <kuganv@linaro.org> Jim Wilson <jim.wilson@linaro.org> * 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 <kuganv@linaro.org> * 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. Co-Authored-By: Jim Wilson <jim.wilson@linaro.org> From-SVN: r223432
Kugan Vivekanandarajah committed -
* 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. From-SVN: r223431
Jeff Law committed -
cp/ PR c++/65954 * typeck.c (finish_class_member_access_expr): Diagnose failed lookup of enum class member. testsuite/ * g++.dg/cpp0x/pr65954.C: New. From-SVN: r223430
Nathan Sidwell committed -
* 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. From-SVN: r223427
Alan Modra committed -
gcc/ * common/config/rs6000/rs6000-common.c (TARGET_SUPPORTS_SPLIT_STACK): Define. (rs6000_supports_split_stack): New function. * gcc/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. * gcc/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. * gcc/config/rs6000/rs6000-protos.h (rs6000_expand_split_stack_prologue): Declare. (rs6000_split_stack_space_check): Declare. libgcc/ * config/rs6000/morestack.S: New. * config/rs6000/t-stack-rs6000: New. * config.host (powerpc*-*-linux*): Add t-stack and t-stack-rs6000 to tmake_file. * generic-morestack.c: Don't build for powerpc 32-bit. From-SVN: r223426
Alan Modra committed -
* config/rs6000/rs6000.c (struct rs6000_stack): Correct comments. (rs6000_stack_info): Don't zero offsets when not saving registers. (debug_stack_info): Adjust to omit printing unused offsets, as before. (direct_return): Test vrsave_size rather than vrsave_mask. (rs6000_emit_prologue): Likewise. Remove redundant altivec tests. (rs6000_emit_epilogue): Likewise. From-SVN: r223425
Alan Modra committed -
* 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. From-SVN: r223424
Alan Modra committed -
gcc/ChangeLog: 2015-05-19 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> PR c++/65835 * config/i386/winnt.c (struct wrapped_symbol_hasher): Change value_type to const char *. From-SVN: r223423
Trevor Saunders committed -
From-SVN: r223422
GCC Administrator committed -
2015-05-19 Sandra Loosemore <sandra@codesourcery.com> gcc/ * config.gcc [powerpc*-*-linux*]: Allow --enable-targets=all to build a biarch toolchain again. From-SVN: r223418
Sandra Loosemore committed
-
- 19 May, 2015 10 commits
-
-
gcc/testsuite/ * gcc.target/sh/pr64366.c: Remove -m4 -ml from dg-options. From-SVN: r223417
Oleg Endo committed -
* include/bits/stl_list.h (_M_resize_pos(size_type&)): Declare. (operator==(const list&, const list&)): If size() is O(1) compare sizes before comparing each element. * include/bits/list.tcc (list::_M_resize_pos(size_type&)): Define. (list::resize): Use _M_resize_pos. From-SVN: r223416
Jonathan Wakely committed -
* 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. From-SVN: r223415
Jan Hubicka committed -
From-SVN: r223414
Marek Polacek committed -
2015-05-19 François Dumont <fdumont@gcc.gnu.org> * testsuite/23_containers/unordered_map/cons/66055.cc: Add constructor invocations. * testsuite/23_containers/unordered_multimap/cons/66055.cc: Likewise. * testsuite/23_containers/unordered_multiset/cons/66055.cc: Likewise. * testsuite/23_containers/unordered_set/cons/66055.cc: Likewise. From-SVN: r223413
François Dumont committed -
* Makefile.in (LIBUNWIND): Move dependency for shared libgcc. Remove useless endif/ifneq ($(enable_shared),yes) pair. From-SVN: r223412
Eric Botcazou committed -
* stor-layout.c (finalize_type_size): Use AGGREGATE_TYPE_P. (layout_type): Use RECORD_OR_UNION_TYPE_P. From-SVN: r223407
Eric Botcazou committed -
This is a first try to implement at least some of the requirements regarding the vector bool type documented for IBM XLC. With this patch error messages will be issued for invalid uses of vector bool types in binary operators. vector bool types are being marked opaque in order to prevent the front-end from complaining about "vector bool long" vs "vector bool long long" combinations on 64 bit. The opaque flag basically suppresses any type checking. However, we still want vector bool to be accepted only in contexts specified in the documentation (to be published soon). Implementing the invalid binary op hook does this for binary operators at least. But this is far from being complete :( gcc/ * config/s390/s390.c (s390_vector_bool_type_p): New function. (s390_invalid_binary_op): New function. (TARGET_INVALID_BINARY_OP): Define macro. From-SVN: r223404
Andreas Krebbel committed -
gcc/testsuite/ * lib/target-supports.exp: Vector do not always have natural alignment on s390*. From-SVN: r223403
Andreas Krebbel committed -
loop-invariant.c (create_new_invariant): Don't calculate address cost if mode is not a scalar integer. 2015-05-19 David Sherwood <david.sherwood@arm.com> * 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. * gcc.dg/loop-invariant.c: New testcase. From-SVN: r223402
David Sherwood committed
-