Skip to content
Snippets Groups Projects
  1. Nov 15, 2014
    • Mircea Namolaru's avatar
      New unroll and jam option in Graphite. · 20d3465b
      Mircea Namolaru authored
      From-SVN: r217604
      20d3465b
    • Francois-Xavier Coudert's avatar
      * gcc.dg/darwin-cfstring-format-1.c: Adjust dg-error. · cf4600ed
      Francois-Xavier Coudert authored
      From-SVN: r217603
      cf4600ed
    • Eric Botcazou's avatar
      tree-cfg.c (replace_loop_annotate_in_block): New function extracted from... · 8a9b4fa1
      Eric Botcazou authored
      	* tree-cfg.c (replace_loop_annotate_in_block): New function extracted
      	from...
      	(replace_loop_annotate): ...here.  Call it on the header and on the
      	latch block, if any.  Restore proper behavior of final cleanup.
      
      From-SVN: r217602
      8a9b4fa1
    • Eric Botcazou's avatar
      tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Add log message for... · d03f2c17
      Eric Botcazou authored
      tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Add log message for max-completely-peeled-insns limit.
      
      	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Add log message
      	for max-completely-peeled-insns limit.
      
      From-SVN: r217601
      d03f2c17
    • Tobias Burnus's avatar
      error.c (gfc_fatal_error_1): Renamed from gfc_fatal_error. · ddc05d11
      Tobias Burnus authored
      2014-11-15  Tobias Burnus  <burnus@net-b.de>
      
      gcc/fortran/
              * error.c (gfc_fatal_error_1): Renamed from gfc_fatal_error.
              (gfc_fatal_error): Add; uses common diagnostics.
              * array.c (gfc_match_array_ref, gfc_match_array_spec): Use
              %< %>.
              * check.c (check_co_collective, gfc_check_lcobound,
              gfc_check_image_index, gfc_check_num_images,
              gfc_check_this_image, gfc_check_ucobound): Ditto.
              * cpp.c (gfc_cpp_post_options): Ditto.
              (gfc_cpp_init_0, gfc_cpp_done): Change %s to %qs.
              * gfc-diagnostic.def (DK_FATAL): Capitalize first letter.
              * gfortran.h (gfc_fatal_error_1): Add.
              * match.c (gfc_match_name, gfc_match_critical,
              lock_unlock_statement, sync_statement): Add %< %>.
              * module.c (bad_module, gfc_dump_module, gfc_use_module): Change
              %s to %qs.
              * options.c (gfc_handle_module_path_options,
              * gfc_handle_fpe_option,
              gfc_handle_coarray_option, gfc_handle_runtime_check_option,
              gfc_handle_option): Add %< %>.
              * simplify.c (gfc_simplify_num_images): Ditto.
              * trans-stmt.c (gfc_trans_sync): Use gfc_fatal_error_1.
              * trans-array.c (gfc_conv_array_initializer): Ditto.
              * trans-types.c (gfc_init_kinds): Use gfc_fatal_error instead
              of fatal_error; add %< %> quotations.
      
      gcc/testsuite/
              * gfortran.dg/binding_label_tests_4.f03: Add dg-excess-errors.
              * gfortran.dg/coarray_9.f90: Ditto.
              * gfortran.dg/empty_label.f: Ditto.
              * gfortran.dg/empty_label.f90: Ditto.
      
      From-SVN: r217600
      ddc05d11
    • GCC Administrator's avatar
      Daily bump. · 87d4b383
      GCC Administrator authored
      From-SVN: r217599
      87d4b383
  2. Nov 14, 2014
    • Jan Hubicka's avatar
      ipa-prop.h (ipa_known_type_data): Remove. · 8f581638
      Jan Hubicka authored
      	* ipa-prop.h (ipa_known_type_data): Remove.
      	(ipa_binfo_from_known_type_jfunc): Remove.
      
      From-SVN: r217596
      8f581638
    • Andrew Pinski's avatar
      [AARCH64] Add scheduler for ThunderX · 2d41ed58
      Andrew Pinski authored
      This adds the schedule model for ThunderX. There are a few TODOs in that
      not all of the SIMD is model currently.  Also the idea of a simple
      shift/extend is not modeled and all cases where there is a shift/extend
      is considered as non simple and take up two cycles rather than correct
      value of one cycle.  Also the 32bit divide and the 64bit divide
      have different cycle counts but there is no way to model that currently.
      Also multiply high takes one cycle more than the normal multiply but
      there is no way to model that currently either.
      
      Build and tested for aarch64-elf with no regressions.
      
      ChangeLog:
      * config/aarch64/aarch64-cores.def (thunderx): Change the scheduler
      over to thunderx.
      * config/aarch64/aarch64.md: Include thunderx.md.
      (generic_sched): Set to no for thunderx.
      * config/aarch64/thunderx.md: New file.
      
      From-SVN: r217593
      2d41ed58
    • Michael Meissner's avatar
      predicates.md (easy_fp_constant): Delete redunant tests for 0.0. · 0c307d8f
      Michael Meissner authored
      [gcc]
      2014-11-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* config/rs6000/predicates.md (easy_fp_constant): Delete redunant
      	tests for 0.0.
      
      	* config/rs6000/vector.md (VEC_R): Move secondary reload support
      	insns to rs6000.md from vector.md.
      	(reload_<VEC_R:mode>_<P:mptrsize>_store): Likewise.
      	(reload_<VEC_R:mode>_<P:mptrsize>_load): Likewise.
      	(vec_reload_and_plus_<mptrsize>): Likewise.
      
      	* config/rs6000/rs6000.md (Fa): New mode attribute to give
      	constraint for the Altivec registers for a type.
      	(RELOAD): New mode iterator for all of the types that have
      	secondary reload address support to load up a base register.
      	(extendsfdf2_fpr): Use correct constraint.
      	(copysign<mode>3_fcpsgn): For SFmode, use correct xscpsgndp
      	instruction.
      	(floatsi<mode>2_lfiwax): Add support for -mupper-regs-{sf,df}.
      	Generate the non-VSX instruction if all registers were FPRs.  Do
      	not use the patterns in vsx.md for scalar operations.
      	(floatsi<mode>2_lfiwax_mem): Likewise.
      	(floatunssi<mode>2_lfiwzx): Likewise.
      	(floatunssi<mode>2_lfiwzx_mem): Likewise.
      	(fix_trunc<mode>di2_fctidz): Likewise.
      	(fixuns_trunc<mode>di2_fctiduz): Likewise.
      	(fctiwz_<mode>): Likewise.
      	(fctiwuz_<mode>): Likewise.
      	(friz): Likewise.
      	(floatdidf2_fpr): Likewise.
      	(floatdidf2_mem): Likewise.
      	(floatunsdidf2): Likewise.
      	(floatunsdidf2_fcfidu): Likewise.
      	(floatunsdidf2_mem): Likewise.
      	(floatdisf2_fcfids): Likewise.
      	(floatdisf2_mem): Likewise.
      	(floatdisf2_internal1): Add explicit test for not FCFIDS to make
      	it more obvious that the code is for pre-ISA 2.06 machines.
      	(floatdisf2_internal2): Likewise.
      	(floatunsdisf2_fcfidus): Add support for -mupper-regs-{sf,df}.
      	Generate the non-VSX instruction if all registers were FPRs.  Do
      	not use the patterns in vsx.md for scalar operations.
      	(floatunsdisf2_mem): Likewise.
      	(reload_<RELOAD:mode>_<P:mptrsize>_store): Move the reload
      	handlers here from vector.md, and expand the types we generate
      	reload handlers for.
      	(reload_<RELOAD:mode>_<P:mptrsize>_load): Likewise.
      	(vec_reload_and_plus_<mptrsize>): Likewise.
      
      	* config/rs6000/vsx.md (vsx_float<VSi><mode>2): Only provide the
      	vector forms of the instructions.  Move VSX scalar forms to
      	rs6000.md, and add support for -mupper-regs-sf.
      	(vsx_floatuns<VSi><mode>2): Likewise.
      	(vsx_fix_trunc<mode><VSi>2): Likewise.
      	(vsx_fixuns_trunc<mode><VSi>2): Likewise.
      	(vsx_float_fix_<mode>2): Delete DF version, rename to
      	vsx_float_fix_v2df2.
      	(vsx_float_fix_v2df2): Likewise.
      
      [gcc/testsuite]
      2014-11-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/ppc-fpconv-1.c: Adjust for -mupper-regs-df
      	changes.
      	* gcc.target/powerpc/ppc-fpconv-2.c: Likewise.
      	* gcc.target/powerpc/ppc-fpconv-3.c: Likewise.
      	* gcc.target/powerpc/ppc-fpconv-4.c: Likewise.
      	* gcc.target/powerpc/ppc-fpconv-5.c: Likewise.
      	* gcc.target/powerpc/ppc-fpconv-6.c: Likewise.
      	* gcc.target/powerpc/ppc-fpconv-7.c: Likewise.
      	* gcc.target/powerpc/ppc-fpconv-8.c: Likewise.
      	* gcc.target/powerpc/ppc-fpconv-9.c: Likewise.
      	* gcc.target/powerpc/ppc-fpconv-10.c: Likewise.
      	* gcc.target/powerpc/ppc-round.c: Likewise.
      
      From-SVN: r217590
      0c307d8f
    • Martin Jambor's avatar
      ipa-prop.h (jump_func_type): Removed value IPA_JF_KNOWN_TYPE. · 3b97a5c7
      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
      3b97a5c7
    • Vladimir Makarov's avatar
      lra-int.h (lra_create_live_ranges): Add parameter. · 4ab74a01
      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
      4ab74a01
    • Martin Jambor's avatar
      ipa-prop.h (ipa_get_jf_pass_through_type_preserved): use agg_preserved flag instead. · 44210a96
      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
      44210a96
    • Martin Jambor's avatar
      ipa-cp.c (ipcp_value_source): Converted to a template class. · c0cb5055
      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
      c0cb5055
    • Jakub Jelinek's avatar
      * doc/install.texi (--with-diagnostics-color=): Document. · b907149b
      Jakub Jelinek authored
      From-SVN: r217585
      b907149b
    • Jakub Jelinek's avatar
      tree-ssa.dce.c (eliminate_unnecessary_stmts): Eliminate IFN_GOMP_SIMD_LANE without lhs as useless. · a601baa0
      Jakub Jelinek authored
      	* tree-ssa.dce.c (eliminate_unnecessary_stmts): Eliminate
      	IFN_GOMP_SIMD_LANE without lhs as useless.
      
      From-SVN: r217584
      a601baa0
    • Ian Lance Taylor's avatar
      runtime: set library name based on compiler name · 4c46b5f0
      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
      4c46b5f0
    • Jakub Jelinek's avatar
      ipa-pure-const.c (struct funct_state_d): Add can_free field. · 8413ca87
      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
      8413ca87
    • Jakub Jelinek's avatar
      sanopt.c: Include tree-ssa-operands.h. · ab9a4330
      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: default avatarMarek Polacek <polacek@redhat.com>
      
      From-SVN: r217581
      ab9a4330
    • Alan Lawrence's avatar
      [Vectorizer] Tidy up vect_create_epilog / use_scalar_result · 18d11814
      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
      18d11814
    • Jakub Jelinek's avatar
      e.54.2.c (main): Use N / 8 instead of 32 as block_size. · b1bf6c52
      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
      b1bf6c52
    • Shinichiro Hamaji's avatar
      * dwarf2.def (DW_AT_APPLE_optimized, DW_AT_APPLE_flags) · d8607f25
      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
      d8607f25
    • Paolo Carlini's avatar
      semantics.c (end_maybe_infinite_loop): Use fold_non_dependent_expr. · 234bef96
      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
      234bef96
    • Joel Sherrill's avatar
      mt_allocator.cc: Fix assumption that sizeof(void *) is equal to sizeof(size_t). · 2c59c2d1
      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
      2c59c2d1
    • H.J. Lu's avatar
      Don't enable IFUNC by default for Android and uclibc · ba86734c
      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
      ba86734c
    • Felix Yang's avatar
      aarch64-simd.md (*aarch64_simd_ld1r<mode>): Use VALL mode iterator instead of VALLDI. · 73295417
      Felix Yang authored
      
              * config/aarch64/aarch64-simd.md (*aarch64_simd_ld1r<mode>): Use
              VALL mode iterator instead of VALLDI.
      
      Co-Authored-By: default avatarJiji Jiang <jiangjiji@huawei.com>
      
      From-SVN: r217573
      73295417
    • Jan Hubicka's avatar
      optc-save-gen.awk: Output cl_target_option_eq... · 325fe981
      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
      325fe981
    • Jan Hubicka's avatar
      optc-save-gen.awk: Output cl_target_option_eq... · 54e774c0
      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
      54e774c0
    • Uros Bizjak's avatar
      Makefile.am (AM_CXXFLAGS): Use -std=gnu++11. · 7f201a67
      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
      7f201a67
    • Richard Biener's avatar
      gimple-fold.h (gimple_fold_stmt_to_constant_1): Add 2nd valueization hook... · d2a85801
      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
      d2a85801
    • Jonathan Wakely's avatar
      Define C++11 version of std::ios_base::failure. · a5dde6dd
      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
      a5dde6dd
    • Tom de Vries's avatar
      Fix patch mangling with --inline option · 78d7f09f
      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
      78d7f09f
    • Jonathan Wakely's avatar
      mangle.c (find_substitution): Look for abi_tag on class templates. · cbe4c88c
      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
      cbe4c88c
    • Marek Polacek's avatar
      fold-const.c (fold_negate_expr): Don't fold INTEGER_CST if that overflows when... · c7274165
      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
      c7274165
    • Marek Polacek's avatar
      re PR sanitizer/63839 (ICE: tree check: expected ssa_name, have var_decl in... · 4088b790
      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
      4088b790
    • Alan Lawrence's avatar
      [RS6000] Remove vec_shl and (hopefully) fix vec_shr · ba067536
      Alan Lawrence authored
      	* config/rs6000/vector.md (vec_shl_<mode>): Remove.
      	(vec_shr_<mode>): Reverse shift if BYTES_BIG_ENDIAN.
      
      From-SVN: r217552
      ba067536
    • Alan Lawrence's avatar
      Fix ChangeLog date · ebaea9ba
      Alan Lawrence authored
      From-SVN: r217551
      ebaea9ba
    • Alan Lawrence's avatar
      [Vectorizer]Make reductions-via-shifts and vec_shr_optab endianness-neutral · 729ff76e
      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
      729ff76e
    • Ramana Radhakrishnan's avatar
      re PR target/63724 ([AArch64] Inefficient immediate expansion and hoisting.) · 82614948
      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
      82614948
    • Richard Biener's avatar
      match.pd: Implement more binary patterns exercised by fold_stmt. · a7f24614
      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
      a7f24614
    • Marek Polacek's avatar
      * tree.c (build_common_builtin_nodes): Remove doubled ECF_LEAF. · 5b98e88f
      Marek Polacek authored
      From-SVN: r217543
      5b98e88f
Loading