- Nov 14, 2014
-
-
Martin Jambor authored
2014-11-14 Martin Jambor <mjambor@suse.cz> * ipa-prop.h (jump_func_type): Removed value IPA_JF_KNOWN_TYPE. (ipa_pass_through_data): Removed field type_preserved. (ipa_ancestor_jf_data): removed fields type and type_preserved. (ipa_jump_func): Removed field known_type. (ipa_get_jf_known_type_offset): Removed. (ipa_get_jf_known_type_base_type): Likewise. (ipa_get_jf_known_type_component_type): Likewise. (ipa_get_jf_ancestor_type): Likewise. * ipa-cp.c (print_ipcp_constant_value): Removed BINFO handling. (ipa_get_jf_pass_through_result): Likewise. (ipa_get_jf_ancestor_result): Always build ptr_node_type accesses. (values_equal_for_ipcp_p): Removed BINFO handling. (ipa_get_indirect_edge_target_1): Updated comment. * ipa-prop.c (ipa_print_node_jump_functions_for_edge): Removed handling of IPA_JF_KNOWN_TYPE jump functions. Do not print removed fields. (ipa_set_jf_known_type): Removed. (ipa_set_jf_simple_pass_through): Do not set removed fields. Update all callers. (ipa_set_jf_arith_pass_through): Likewise. (ipa_set_ancestor_jf): Likewise. (ipa_binfo_from_known_type_jfunc): Removed. (prop_type_change_info): Removed fields known_current_type and multiple_types_encountered. (extr_type_from_vtbl_ptr_store): Removed. (check_stmt_for_type_change): Do not attempt to identify changed type. (detect_type_change_from_memory_writes): Do not set the removed fields, always set jfunc to unknown. (compute_complex_assign_jump_func): Do not detect dynamic type change. (compute_complex_ancestor_jump_func): Likewise. (compute_known_type_jump_func): Removed. (ipa_compute_jump_functions_for_edge): Do not detect dynamic type change. Do not comute known type jump functions. (combine_known_type_and_ancestor_jfs): Removed. (update_jump_functions_after_inlining): Removed handling of IPA_JF_KNOWN_TYPE jump functions. Do not set removed fields. (ipa_write_jump_function): Do not stream removed fields or known type jump functions. (ipa_read_jump_function): Likewise. From-SVN: r217589
-
Vladimir Makarov authored
2014-11-14 Vladimir Makarov <vmakarov@redhat.com> * lra-int.h (lra_create_live_ranges): Add parameter. * lra-lives.c (temp_bitmap): Move higher. (initiate_live_solver): Move temp_bitmap initialization into lra_live_ranges_init. (finish_live_solver): Move temp_bitmap clearing into live_ranges_finish. (process_bb_lives): Add parameter. Use it to control live info update and dead insn elimination. Pass it to mark_regno_live and mark_regno_dead. (lra_create_live_ranges): Add parameter. Pass it to process_bb_lives. (lra_live_ranges_init, lra_live_ranges_finish): See changes in initiate_live_solver and finish_live_solver. * lra-remat.c (do_remat): Process insn non-operand hard regs too. Use temp_bitmap to update avail_cands. * lra.c (lra): Pass new parameter to lra_create_live_ranges. Move check with lra_need_for_spill_p after live range pass. Switch on rematerialization pass. From-SVN: r217588
-
Martin Jambor authored
2014-11-14 Martin Jambor <mjambor@suse.cz> * ipa-prop.h (ipa_get_jf_pass_through_type_preserved): use agg_preserved flag instead. (ipa_get_jf_ancestor_type_preserved): Likewise. (ipa_node_params): Rename known_vals to known_csts, update all users. New field known_contexts. (ipa_get_indirect_edge_target): Update prototype. (ipcp_poly_ctx_values_pool): Declare. (ipa_context_from_jfunc): Likewise. * ipa-inline.h (estimate_ipcp_clone_size_and_time): Updated prototype. * cgraph.h (ipa_polymorphic_call_context): New method equal_to. New parameter newline of method dump. * ipa-cp.c (ctxlat): New field. (ipcp_values_pool): Renamed to ipcp_cst_values_pool, updated all users. (ipcp_poly_ctx_values_pool):New variable. (ipa_get_poly_ctx_lat): New function. (print_ipcp_constant_value): New overloaded function for contexts. (print_all_lattices): Also print contexts. (ipa_topo_info): New field contexts; (set_all_contains_variable): Also set the flag in the context lattice. (initialize_node_lattices): Likewise for flag bottom. (ipa_get_jf_ancestor_result): Removed BINFO handling. (ipa_value_from_jfunc): Likewise. (ipa_context_from_jfunc): New function. (values_equal_for_ipcp_p): New overloaded function for contexts. (allocate_and_init_ipcp_value): Construct the value. (allocate_and_init_ipcp_value): New overloaded function for contexts. (propagate_scalar_accross_jump_function): Removed handling of KNOWN_TYPE jump functions. (propagate_context_accross_jump_function): New function. (propagate_constants_accross_call): Also propagate contexts. (ipa_get_indirect_edge_target_1): Work on contexts rather than BINFOs. (ipa_get_indirect_edge_target): Likewise. (devirtualization_time_bonus): Likewise. (gather_context_independent_values): Create and populate known_contexts vector rather than known_binfos. (perform_estimation_of_a_value): Work on contexts rather than BINFOs. (estimate_local_effects): Likewise. (add_all_node_vals_to_toposort): Also add contexts to teir topological sort. (ipcp_propagate_stage): Also propagate effects of contexts. (ipcp_discover_new_direct_edges): Receive and pass known_contexts to ipa_get_indirect_edge_target_1. (cgraph_edge_brings_value_p): New overloaded function for contexts. (create_specialized_node): Work on contexts rather than BINFOs. (find_more_contexts_for_caller_subset): New function. (known_contexts_useful_p): New function. (copy_useful_known_contexts): Likewise. (modify_known_vectors_with_val): Likewise. (ipcp_val_in_agg_replacements_p): Renamed to ipcp_val_agg_replacement_ok_p, return true for all offset indicating non-aggregate. (ipcp_val_agg_replacement_ok_p): New overloaded function for contexts. (decide_about_value): Work on contexts rather than BINFOs. (decide_whether_version_node): Likewise. (ipcp_driver): Initialize the new alloc pool. * ipa-prop.c (ipa_print_node_jump_functions_for_edge): Prettify printing of edge contexts. (ipa_set_ancestor_jf): Replace assert with conditional setting of type_preserved to false. (update_jump_functions_after_inlining): Use access function instead of reading agg_preserved directly. Store combined context in the ancestor case. (try_make_edge_direct_virtual_call): Work on contexts rather than BINFOs. (update_indirect_edges_after_inlining): Get context from ipa_context_from_jfunc. (ipa_free_node_params_substructures): Free also known_contexts. (ipa_free_all_structures_after_ipa_cp): Free the new alloc pool. (ipa_free_all_structures_after_iinln): Likewise. * ipa-inline-analysis.c (evaluate_properties_for_edge): Work on contexts rather than BINFOs. (estimate_edge_devirt_benefit): Likewise. (estimate_edge_size_and_time): Likewise. (estimate_calls_size_and_time): Likewise. (estimate_node_size_and_time): Likewise. (estimate_ipcp_clone_size_and_time): Likewise. (do_estimate_edge_time): Likewise. (do_estimate_edge_size): Likewise. (do_estimate_edge_hints): Likewise. * ipa-polymorphic-call.c (ipa_polymorphic_call_context::dump): New parameter newline, ouput newline only when it is set. (ipa_polymorphic_call_context::equal_to): New method. testsuite/ * g++.dg/ipa/devirt-11.C: Dont't run ipa-cp, remove times constraint from the dump scan. * g++.dg/ipa/devirt-21.C: Xfail. * g++.dg/ipa/devirt-24.C: Likewise. * g++.dg/ipa/devirt-10.C: Removed times constraint from the dump scan. * g++.dg/ipa/devirt-41.C: Updated the dump scan. * g++.dg/ipa/devirt-44.C: Likewise. * g++.dg/ipa/devirt-43.C: Xfail. From-SVN: r217587
-
Martin Jambor authored
2014-11-14 Martin Jambor <mjambor@suse.cz> * ipa-cp.c (ipcp_value_source): Converted to a template class. All users converted to the same specialization as the using class/function or specialization on tree. (ipcp_value): Likewise. (ipcp_lattice): Likewise. (ipcp_agg_lattice): Now derived from tree specialization of ipcp_lattice. (values_topo): Moved to new class value_topo_info. (ipa_lat_is_single_const): Turned into ipcp_lattice::is_single_const. Updated all callers. (print_lattice): Turned into ipcp_lattice::print. Updated all callers. (value_topo_info): New class template. (ipa_topo_info): New field constants. New constructor. (build_toporder_info): Do not clear stack_top, only checkign assert it. (set_lattice_to_bottom): Turned into ipcp_lattice::set_to_bottom. Updated all callers. (set_lattice_contains_variable): Turned into ipcp_lattice::set_contains_variable. Updated all callers. (add_value_source): Turned into ipcp_value::add_source. Updated all callers. (allocate_and_init_ipcp_value): New function. (add_value_to_lattice): Turned into ipcp_lattice::add_value. Last parameter got default a value. Updated all callers. (add_scalar_value_to_lattice): Removed, users converted to using ipcp_lattice::add_value with default value of the last parameter. (add_val_to_toposort): Turned to value_topo_info::add_val. Updated all callers. (propagate_effects): Made method of value_topo_info. (cgraph_edge_brings_value_p): Now a template function. (get_info_about_necessary_edges): Likewise. (gather_edges_for_value): Likewise. (perhaps_add_new_callers): Likewise. (decide_about_value): Likewise. * ipa-prop.h (ipcp_lattice): Remove fowrward declaration. From-SVN: r217586
-
Jakub Jelinek authored
From-SVN: r217585
-
Jakub Jelinek authored
* tree-ssa.dce.c (eliminate_unnecessary_stmts): Eliminate IFN_GOMP_SIMD_LANE without lhs as useless. From-SVN: r217584
-
Ian Lance Taylor authored
Different compilers may have different release cadences or ABI incompatibilities, so it does not make sense to use the same library name for runtime libraries intended for different compilers. This CL causes a libgo built by llgo to receive the name libgo-llgo. Likewise, libgobegin is named libgobegin-llgo. From-SVN: r217583
-
Jakub Jelinek authored
* ipa-pure-const.c (struct funct_state_d): Add can_free field. (varying_state): Add true for can_free. (check_call): For builtin or internal !nonfreeing_call_p set local->can_free. (check_stmt): For asm volatile and asm with "memory" set local->can_free. (analyze_function): Clear local->can_free initially, continue calling check_stmt until all flags are computed, dump can_free flag. (pure_const_write_summary): Write can_free flag. (pure_const_read_summary): Read it back. (propagate_pure_const): Propagate also can_free flag, set w->nonfreeing_fn if it is false after propagation. * cgraph.h (cgraph_node): Add nonfreeing_fn member. * gimple.c: Include ipa-ref.h, lto-streamer.h and cgraph.h. (nonfreeing_call_p): Return cgraph nonfreeing_fn flag if set. Also return true for IFN_ABNORMAL_DISPATCHER. * cgraph.c (cgraph_node::dump): Dump nonfreeing_fn flag. * lto-cgraph.c (lto_output_node): Write nonfreeing_fn flag. (input_overwrite_node): Read it back. From-SVN: r217582
-
Jakub Jelinek authored
* sanopt.c: Include tree-ssa-operands.h. (struct sanopt_info): Add has_freeing_call_p, has_freeing_call_computed_p, imm_dom_path_with_freeing_call_p, imm_dom_path_with_freeing_call_computed_p, freeing_call_events, being_visited_p fields. (struct sanopt_ctx): Add asan_check_map field. (imm_dom_path_with_freeing_call, maybe_optimize_ubsan_null_ifn, maybe_optimize_asan_check_ifn): New functions. (sanopt_optimize_walker): Use them, optimize even ASAN_CHECK internal calls. (pass_sanopt::execute): Call sanopt_optimize even for -fsanitize=address. * gimple.c (nonfreeing_call_p): Return true for non-ECF_LEAF internal calls. Co-Authored-By:
Marek Polacek <polacek@redhat.com> From-SVN: r217581
-
Alan Lawrence authored
* tree-vect-loop.c (vect_create_epilog_for_reduction): Move code for 'if (extract_scalar_result)' to the only place that it is true. From-SVN: r217580
-
Jakub Jelinek authored
* libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead of 32 as block_size. * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8 instead of 32 as block_size. From-SVN: r217579
-
Shinichiro Hamaji authored
(DW_AT_APPLE_isa, DW_AT_APPLE_block) (DW_AT_APPLE_major_runtime_vers, DW_AT_APPLE_runtime_class) (DW_AT_APPLE_omit_frame_ptr, DW_AT_APPLE_property_name) (DW_AT_APPLE_property_getter, DW_AT_APPLE_property_setter) (DW_AT_APPLE_property_attribute, DW_AT_APPLE_objc_complete_type) (DW_AT_APPLE_property): New macros. From-SVN: r217578
-
Paolo Carlini authored
2014-11-14 Paolo Carlini <paolo.carlini@oracle.com> * semantics.c (end_maybe_infinite_loop): Use fold_non_dependent_expr. * parser.c (cp_parser_omp_clause_collapse): Likewise. (cp_parser_enumerator_definition): Don't call instantiate_non_dependent_expr... * decl.c (build_enumerator): ... call fold_non_dependent_expr here. * typeck2.c (massage_init_elt): Use fold_non_dependent_expr. * constexpr.c (maybe_constant_value): Allow VIEW_CONVERT_EXPR in the final gcc_assert. * constexpr.c (fold_non_dependent_expr): Add. * cp-tree.h (fold_non_dependent_expr): Declare it. * call.c (null_ptr_cst_p): Use it. * pt.c (tsubst_copy_and_build, build_non_dependent_expr): Likewise. * semantics.c (begin_maybe_infinite_loop): Likewise. * typeck.c (cp_build_binary_op): Likewise. * typeck2.c (check_narrowing): Likewise. * pt.c (fold_non_dependent_expr): Rename to instantiate_non_dependent_expr. (fold_non_dependent_expr_sfinae): Rename to instantiate_non_dependent_expr_sfinae. (convert_nontype_argument, build_non_dependent_expr): Adjust. * decl.c (compute_array_index_type): Likewise. * parser.c (cp_parser_parenthesized_expression_list, cp_parser_enumerator_definition, cp_parser_omp_clause_collapse): Likewise. * semantics.c (end_maybe_infinite_loop, finish_static_assert): Likewise. * typeck.c (cxx_alignas_expr): Likewise. * typeck2.c (store_init_value, massage_init_elt): Likewise. * call.c: Adjust comments. * class.c: Likewise. * constexpr.c: Likewise. * decl2.c: Likewise. * tree.c: Likewise. From-SVN: r217577
-
Joel Sherrill authored
2014-11-14 Joel Sherrill <joel.sherrill@oarcorp.com> * src/c++98/mt_allocator.cc: Fix assumption that sizeof(void *) is equal to sizeof(size_t). The m32c breaks this assumption. From-SVN: r217576
-
H.J. Lu authored
* config.gcc (default_gnu_indirect_function): Set to yes for i[34567]86-*-linux* and x86_64-*-linux* if not targeting Android nor uclibc. From-SVN: r217575
-
Felix Yang authored
* config/aarch64/aarch64-simd.md (*aarch64_simd_ld1r<mode>): Use VALL mode iterator instead of VALLDI. Co-Authored-By:
Jiji Jiang <jiangjiji@huawei.com> From-SVN: r217573
-
Jan Hubicka authored
* optc-save-gen.awk: Output cl_target_option_eq, cl_target_option_hash, cl_target_option_stream_out, cl_target_option_stream_in functions. * opth-gen.awk: Output prototypes for cl_target_option_eq and cl_target_option_hash. * lto-streamer.h (cl_target_option_stream_out, cl_target_option_stream_in): Declare. * tree.c (cl_option_hash_hash): Use cl_target_option_hash. (cl_option_hash_eq): Use cl_target_option_eq. * tree-streamer-in.c (unpack_value_fields): Stream in TREE_TARGET_OPTION. * lto-streamer-out.c (DFS::DFS_write_tree_body): Follow DECL_FUNCTION_SPECIFIC_TARGET. (hash_tree): Hash TREE_TARGET_OPTION; visit DECL_FUNCTION_SPECIFIC_TARGET. * tree-streamer-out.c (streamer_pack_tree_bitfields): Skip TS_TARGET_OPTION. (streamer_write_tree_body): Output TS_TARGET_OPTION. * lto.c (compare_tree_sccs_1): Compare cl_target_option_eq. From-SVN: r217572
-
Jan Hubicka authored
* optc-save-gen.awk: Output cl_target_option_eq, cl_target_option_hash, cl_target_option_stream_out, cl_target_option_stream_in functions. * opth-gen.awk: Output prototypes for cl_target_option_eq and cl_target_option_hash. * lto-streamer.h (cl_target_option_stream_out, cl_target_option_stream_in): Declare. * tree.c (cl_option_hash_hash): Use cl_target_option_hash. (cl_option_hash_eq): Use cl_target_option_eq. * tree-streamer-in.c (unpack_value_fields): Stream in TREE_TARGET_OPTION. * lto-streamer-out.c (DFS::DFS_write_tree_body): Follow DECL_FUNCTION_SPECIFIC_TARGET. (hash_tree): Hash TREE_TARGET_OPTION; visit DECL_FUNCTION_SPECIFIC_TARGET. * tree-streamer-out.c (streamer_pack_tree_bitfields): Skip TS_TARGET_OPTION. (streamer_write_tree_body): Output TS_TARGET_OPTION. * lto.c (compare_tree_sccs_1): Compare cl_target_option_eq. From-SVN: r217571
-
Uros Bizjak authored
* sanitizer_common/Makefile.am (AM_CXXFLAGS): Use -std=gnu++11. * asan/Makefile.am (AM_CXXFLAGS): Ditto. * lsan/Makefile.am (AM_CXXFLAGS): Ditto. * interception/Makefile.am (AM_CXXFLAGS): Ditto. * tsan/Makefile.am (AM_CXXFLAGS): Ditto. * libbacktrace/Makefile.am (AM_CXXFLAGS): Ditto. * ubsan/Makefile.am (AM_CXXFLAGS): Ditto. * sanitizer_common/Makefile.in: Regenerate. * asan/Makefile.in: Ditto. * lsan/Makefile.in: Ditto. * interception/Makefile.in: Ditto. * tsan/Makefile.in: Ditto. * libbacktrace/Makefile.in: Ditto. * ubsan/Makefile.in: Ditto. From-SVN: r217562
-
Richard Biener authored
gimple-fold.h (gimple_fold_stmt_to_constant_1): Add 2nd valueization hook defaulted to no_follow_ssa_edges. 2014-11-14 Richard Biener <rguenther@suse.de> * gimple-fold.h (gimple_fold_stmt_to_constant_1): Add 2nd valueization hook defaulted to no_follow_ssa_edges. * gimple-fold.c (gimple_fold_stmt_to_constant_1): Pass 2nd valueization hook to gimple_simplify. * tree-ssa-ccp.c (valueize_op_1): New function to be used for gimple_simplify called via gimple_fold_stmt_to_constant_1. (ccp_fold): Adjust. * tree-vrp.c (vrp_valueize_1): New function to be used for gimple_simplify called via gimple_fold_stmt_to_constant_1. (vrp_visit_assignment_or_call): Adjust. From-SVN: r217560
-
Jonathan Wakely authored
* config/abi/pre/gnu.ver: Add new exports. * include/bits/ios_base.h (ios_base::failure): New definition using abi_tag. (io_errc, make_error_code, make_error_category, iostream_category): Define. * include/std/system_error (system_error): Add char* constructors. * src/c++11/Makefile.am: Add new file. * src/c++11/Makefile.in: Regenerate. * src/c++11/cxx11-ios_failure.cc: New file. * src/c++98/ios_failure.cc: Compile old definition without abi_tag. * testsuite/27_io/ios_base/failure/cxx11.cc: New. * testsuite/27_io/ios_base/failure/what-1.cc: Allow string returned by ios_base::failure::what() to contain additional data. * testsuite/27_io/ios_base/failure/what-2.cc: Likewise.. * testsuite/27_io/ios_base/failure/what-3.cc: Likewise.. * testsuite/27_io/ios_base/failure/what-big.cc: Likewise.. From-SVN: r217559
-
Tom de Vries authored
2014-11-14 Tom de Vries <tom@codesourcery.com> * mklog: Move reading of .diff file up and add comment. Copy diff_lines to orig_diff_lines. Use orig_diff_lines when appending patch. From-SVN: r217558
-
Jonathan Wakely authored
gcc/cp: * mangle.c (find_substitution): Look for abi_tag on class templates. gcc/testsuite: * g++.dg/abi/abi-tag11.C: New. From-SVN: r217557
-
Marek Polacek authored
fold-const.c (fold_negate_expr): Don't fold INTEGER_CST if that overflows when SANITIZE_SI_OVERFLOW is on. * fold-const.c (fold_negate_expr): Don't fold INTEGER_CST if that overflows when SANITIZE_SI_OVERFLOW is on. Guard -(-A) folding with TYPE_OVERFLOW_SANITIZED. * c-c++-common/ubsan/overflow-negate-3.c: New test. From-SVN: r217556
-
Marek Polacek authored
re PR sanitizer/63839 (ICE: tree check: expected ssa_name, have var_decl in simplify_builtin_call, at tree-ssa-forwprop.c:1441 with -fsanitize=unreachable) PR sanitizer/63839 * asan.c (ATTR_CONST_NORETURN_NOTHROW_LEAF_LIST, ATTR_COLD_CONST_NORETURN_NOTHROW_LEAF_LIST): Define. * builtin-attrs.def (ATTR_COLD_CONST_NORETURN_NOTHROW_LEAF_LIST): Define. * builtins.c (fold_builtin_0): Don't include ubsan.h. Don't instrument BUILT_IN_UNREACHABLE here. * sanitizer.def (BUILT_IN_UBSAN_HANDLE_BUILTIN_UNREACHABLE): Make const. * sanopt.c (pass_sanopt::execute): Instrument BUILT_IN_UNREACHABLE. * tree-ssa-ccp.c (optimize_unreachable): Bail out if SANITIZE_UNREACHABLE. * ubsan.c (ubsan_instrument_unreachable): Rewrite for GIMPLE. * ubsan.h (ubsan_instrument_unreachable): Adjust declaration. testsuite/ * c-c++-common/ubsan/pr63839.c: New test. * c-c++-common/ubsan/unreachable-2.c: New test. From-SVN: r217553
-
Alan Lawrence authored
* config/rs6000/vector.md (vec_shl_<mode>): Remove. (vec_shr_<mode>): Reverse shift if BYTES_BIG_ENDIAN. From-SVN: r217552
-
Alan Lawrence authored
From-SVN: r217551
-
Alan Lawrence authored
* optabs.c (shift_amt_for_vec_perm_mask): Remove code conditional on BYTES_BIG_ENDIAN. * tree-vect-loop.c (calc_vec_perm_mask_for_shift, vect_create_epilog_for_reduction): Likewise. * doc/md.texi (vec_shr_m): Clarify direction of shifting. From-SVN: r217550
-
Ramana Radhakrishnan authored
Fix PR target/63724 2014-11-14 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> PR target/63724 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Split out numerical immediate handling to... (aarch64_internal_mov_immediate): ...this. New. (aarch64_rtx_costs): Use aarch64_internal_mov_immediate. (aarch64_mov_operand_p): Relax predicate. * config/aarch64/aarch64.md (mov<mode>:GPI): Do not expand CONST_INTs. (*movsi_aarch64): Turn into define_insn_and_split and new alternative for 'n'. (*movdi_aarch64): Likewise. From-SVN: r217546
-
Richard Biener authored
2014-11-14 Richard Biener <rguenther@suse.de> * match.pd: Implement more binary patterns exercised by fold_stmt. * fold-const.c (sing_bit_p): Export. (exact_inverse): Likewise. (fold_binary_loc): Remove patterns here. (tree_unary_nonnegative_warnv_p): Use CASE_CONVERT. * fold-const.h (sing_bit_p): Declare. (exact_inverse): Likewise. * gcc.c-torture/execute/shiftopt-1.c: XFAIL invalid parts. From-SVN: r217545
-
Marek Polacek authored
From-SVN: r217543
-
Richard Biener authored
2014-11-14 Richard Biener <rguenther@suse.de> * genmatch.c (add_operator): Allow CONSTRUCTOR. (dt_node::gen_kids): Handle CONSTRUCTOR not as GENERIC. (parser::parse_op): Allow to iterate over predicates. From-SVN: r217541
-
Jakub Jelinek authored
configure.ac (--with-diagnostics-color): New configure option, default to --with-diagnostics-color=auto. * configure.ac (--with-diagnostics-color): New configure option, default to --with-diagnostics-color=auto. * toplev.c (process_options): Use DIAGNOSTICS_COLOR_DEFAULT to determine -fdiagnostics-color= option default. * doc/invoke.texi (-fdiagnostics-color=): Document new default. * configure: Regenerated. * config.in: Regenerated. From-SVN: r217540
-
Teresa Johnson authored
2014-11-13 Teresa Johnson <tejohnson@google.com> gcc: PR tree-optimization/63841 * tree-ssa-strlen.c (strlen_optimize_stmt): Ignore clobbers. 2014-11-13 Teresa Johnson <tejohnson@google.com> gcc/testsuite: PR tree-optimization/63841 * g++.dg/tree-ssa/pr63841.C: Remove prints, use abort. From-SVN: r217537
-
Andrew Waterman authored
From-SVN: r217536
-
Daniel Kruegler authored
2014-11-13 Daniel Kruegler <daniel.kruegler@gmail.com> * include/bits/regex.h: Support embedded zeros in sub_match comparisons (DR 2217) * testsuite/28_regex/sub_match/embedded_zeros_cmp.cc: Add test cases for embedded zeros From-SVN: r217535
-
Bin Cheng authored
* timevar.def (TV_SCHED_FUSION): New time var. * passes.def (pass_sched_fusion): New pass. * config/arm/arm.c (TARGET_SCHED_FUSION_PRIORITY): New. (extract_base_offset_in_addr, fusion_load_store): New. (arm_sched_fusion_priority): New. (arm_option_override): Disable scheduling fusion by default on non-armv7 processors or ldrd/strd isn't preferred. * sched-int.h (struct _haifa_insn_data): New field. (INSN_FUSION_PRIORITY, FUSION_MAX_PRIORITY, sched_fusion): New. * sched-rgn.c (rest_of_handle_sched_fusion): New. (pass_data_sched_fusion, pass_sched_fusion): New. (make_pass_sched_fusion): New. * haifa-sched.c (sched_fusion): New. (insn_cost): Handle sched_fusion. (priority): Handle sched_fusion by calling target hook. (enum rfs_decision): New enum value. (rfs_str): New element for RFS_FUSION. (rank_for_schedule): Support sched_fusion. (schedule_insn, max_issue, prune_ready_list): Handle sched_fusion. (schedule_block, fix_tick_ready): Handle sched_fusion. * common.opt (flag_schedule_fusion): New. * tree-pass.h (make_pass_sched_fusion): New. * target.def (fusion_priority): New. * doc/tm.texi.in (TARGET_SCHED_FUSION_PRIORITY): New. * doc/tm.texi: Regenerated. * doc/invoke.texi (-fschedule-fusion): New. testsuite: * gcc.target/arm/ldrd-strd-pair-1.c: New test. * gcc.target/arm/vfp-1.c: Improve scanning string. From-SVN: r217533
-
Rong Xu authored
2014-11-13 Rong Xu <xur@google.com> gcc: PR debug/63581 * cfgrtl.c (emit_barrier_after_bb): Append the barrier to the footer, instead of unconditionally overwritten gcc/testsuite: PR debug/63581 * g++.dg/tree-prof/pr63581.C: New test. From-SVN: r217530
-
Martin Jambor authored
2014-11-14 Martin Jambor <mjambor@suse.cz> * cgraph.h (clear_outer_type): Make public. Fix comment. * ipa-devirt.c (possible_polymorphic_call_targets): Use clear_outer_type when resetting the context. From-SVN: r217529
-
GCC Administrator authored
From-SVN: r217528
-