1. 30 May, 2013 7 commits
    • Silvermont (SLM) architecture pipeline model, tuning and insn selection. · 0b871ccf
              Silvermont (SLM) architecture pipeline model, tuning and
              insn selection.
              * config.gcc: Add slm config options and target.
      
              * config/i386/slm.md: New.
      
              * config/i386/driver-i386.c (host_detect_local_cpu): Check movbe.
      
              * gcc/config/i386/i386-c.c (ix86_target_macros_internal):  New case
              PROCESSOR_SLM.
              (ix86_target_macros_internal): Likewise.
      
              * gcc/config/i386/i386.c (slm_cost): New cost.
              (m_SLM): New macro flag.
              (initial_ix86_tune_features): Set m_SLM.
              (x86_accumulate_outgoing_args): Likewise.
              (x86_arch_always_fancy_math_387): Likewise.
              (processor_target_table): Add slm cost.
              (cpu_names): Add slm cpu name.
              (x86_option_override_internal): Set SLM ISA.
              (ix86_issue_rate): New case PROCESSOR_SLM.
              (ia32_multipass_dfa_lookahead): Likewise.
              (fold_builtin_cpu): Add slm.
      
              * config/i386/i386.h (TARGET_SLM): New target macro.
              (target_cpu_default): Add TARGET_CPU_DEFAULT_slm.
              (processor_type): Add PROCESSOR_SLM.
      
              * config/i386/i386.md (cpu): Add new value "slm".
              (slm.md): Include slm.md.
      
              * libgcc/config/i386/cpuinfo.c (INTEL_SLM): New enum value.
      
      
      Co-Authored-By: Igor Zamyatin <igor.zamyatin@intel.com>
      
      From-SVN: r199444
      Yuri Rumyantsev committed
    • arm-protos.h: Add and update function protos. · 24d5b097
      gcc/ChangeLog:
      2013-05-30  Bernd Schmidt  <bernds@codesourcery.com>
      	    Zhenqiang Chen  <zhenqiang.chen@linaro.org>
      
      	* config/arm/arm-protos.h: Add and update function protos.
      	* config/arm/arm.c (use_simple_return_p): New added.
      	(thumb2_expand_return): Check simple_return flag.
      	* config/arm/arm.md: Add simple_return and conditional simple_return.
      	* config/arm/iterators.md: Add iterator for return and simple_return.
      
      gcc/testsuite/ChangeLog:
      2013-05-30  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
      
      	* gcc.dg/shrink-wrap-alloca.c: New added.
      	* gcc.dg/shrink-wrap-pretend.c: New added.
      	* gcc.dg/shrink-wrap-sibcall.c: New added.
      
      From-SVN: r199439
      Xuepeng Guo committed
    • arm.c (arm_add_cfa_adjust_cfa_note): New added. · c1cccc15
      2013-05-30  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
      
      	* config/arm/arm.c (arm_add_cfa_adjust_cfa_note): New added.
      	(arm_emit_multi_reg_pop): Add REG_CFA_ADJUST_CFA notes.
      	(arm_emit_vfp_multi_reg_pop): Likewise.
      	(thumb2_emit_ldrd_pop): Likewise.
      	(arm_expand_epilogue): Add misc REG_CFA notes.
      	(arm_unwind_emit): Skip REG_CFA_ADJUST_CFA and REG_CFA_RESTORE.
      
      From-SVN: r199438
      Zhenqiang Chen committed
    • re PR fortran/57458 (TS29113: Wrongly rejects noncontiguous argument to… · f188272d
      re PR fortran/57458 (TS29113: Wrongly rejects noncontiguous argument to assumed-rank when both are volatile/asynchronous)
      
      2013-05-30  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/57458
              * interface.c (compare_parameter): Update C1239/C1240 constraint
              check for assumed-rank/TS29113.
      
      2013-05-30  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/57458
              * gfortran.dg/assumed_rank_13.f90: New.
      
      From-SVN: r199437
      Tobias Burnus committed
    • * gcc-interface/Makefile.in (arm% androideabi): Robustify. · 0571154a
      From-SVN: r199436
      Eric Botcazou committed
    • This patch is a consolodation of the hash_table patches to the · 3a4f280b
      cxx-conversion branch for files under gcc/config.
      
      Update various hash tables from htab_t to hash_table.
      Modify types and calls to match.
      
      * config/arm/arm.c'arm_libcall_uses_aapcs_base::libcall_htab
      
      Fold libcall_eq and libcall_hash into new struct libcall_hasher.
      
      * config/ia64/ia64.c'bundle_state_table
      
      Fold bundle_state_hash and bundle_state_eq_p into new struct
      bundle_state_hasher.
      
      * config/mips/mips.c'mips_offset_table
      
      Fold mips_lo_sum_offset_hash and mips_lo_sum_offset_eq into new
      struct mips_lo_sum_offset_hasher.
      
      In mips_reorg_process_insns, change call to for_each_rtx to pass
      a pointer to the hash_table rather than a htab_t.  This change
      requires then dereferencing that pointer in mips_record_lo_sum to
      obtain the hash_table.
      
      * config/sol2.c'solaris_comdat_htab
      
      Fold comdat_hash and comdat_eq into new struct comdat_entry_hasher.
      
      * config/i386/winnt.c'i386_pe_section_type_flags::htab
      
      * config/i386/winnt.c'i386_find_on_wrapper_list::wrappers
      
      Fold wrapper_strcmp into new struct wrapped_symbol_hasher.
      
      Tested on x86_64.  Tested with config-list.mk.
      
      
      Index: gcc/ChangeLog
      
      2013-05-29  Lawrence Crowl  <crowl@google.com>
      
      	* config/arm/t-arm: Update for below.
      
      	* config/arm/arm.c (arm_libcall_uses_aapcs_base::libcall_htab):
      	Change type to hash_table.  Update dependent calls and types.
      
      	* config/i386/t-cygming: Update for below.
      
      	* config/i386/t-interix: Update for below.
      
      	* config/i386/winnt.c (i386_pe_section_type_flags::htab):
      	Change type to hash_table.  Update dependent calls and types.
      	(i386_find_on_wrapper_list::wrappers): Likewise.
      
      	* config/ia64/t-ia64: Update for below.
      
      	* config/ia64/ia64.c (bundle_state_table):
      	Change type to hash_table.  Update dependent calls and types.
      
      	* config/mips/mips.c (mips_reorg_process_insns::htab):
      	Change type to hash_table.  Update dependent calls and types.
      
      	* config/sol2.c (solaris_comdat_htab):
      	Change type to hash_table.  Update dependent calls and types.
      
      	* config/t-sol2: Update for above.
      
      From-SVN: r199435
      Lawrence Crowl committed
    • Daily bump. · 4974c14c
      From-SVN: r199433
      GCC Administrator committed
  2. 29 May, 2013 18 commits
    • This patch re-enables -fdump-passes. · 1388a0e3
      This patch re-enables -fdump-passes. It had stopped working because
      dump_passes was changed to use the FOR_EACH_DEFINED_FUNCTION iterator,
      however, functions are not marked as defined until after dump_passes
      is called, in cgraph_analyze_functions. Fixed by iterating over all
      functions.
      
      2013-05-29  Teresa Johnson  <tejohnson@google.com>
      
      	* passes.c (dump_passes): Use FOR_EACH_FUNCTION since
      	functions are not yet marked as defined.
      
      From-SVN: r199424
      Teresa Johnson committed
    • vector.md (VEC_I): Add support for new power8 V2DI instructions. · a5965b52
      2013-05-29  Michael Meissner  <meissner@linux.vnet.ibm.com>
      	    Pat Haugen <pthaugen@us.ibm.com>
      	    Peter Bergner <bergner@vnet.ibm.com>
      
      	* config/rs6000/vector.md (VEC_I): Add support for new power8 V2DI
      	instructions.
      	(VEC_A): Likewise.
      	(VEC_C): Likewise.
      	(vrotl<mode>3): Likewise.
      	(vashl<mode>3): Likewise.
      	(vlshr<mode>3): Likewise.
      	(vashr<mode>3): Likewise.
      
      	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
      	support for power8 V2DI builtins.
      
      	* config/rs6000/rs6000-builtin.def (abs_v2di): Add support for
      	power8 V2DI builtins.
      	(vupkhsw): Likewise.
      	(vupklsw): Likewise.
      	(vaddudm): Likewise.
      	(vminsd): Likewise.
      	(vmaxsd): Likewise.
      	(vminud): Likewise.
      	(vmaxud): Likewise.
      	(vpkudum): Likewise.
      	(vpksdss): Likewise.
      	(vpkudus): Likewise.
      	(vpksdus): Likewise.
      	(vrld): Likewise.
      	(vsld): Likewise.
      	(vsrd): Likewise.
      	(vsrad): Likewise.
      	(vsubudm): Likewise.
      	(vcmpequd): Likewise.
      	(vcmpgtsd): Likewise.
      	(vcmpgtud): Likewise.
      	(vcmpequd_p): Likewise.
      	(vcmpgtsd_p): Likewise.
      	(vcmpgtud_p): Likewise.
      	(vupkhsw): Likewise.
      	(vupklsw): Likewise.
      	(vaddudm): Likewise.
      	(vmaxsd): Likewise.
      	(vmaxud): Likewise.
      	(vminsd): Likewise.
      	(vminud): Likewise.
      	(vpksdss): Likewise.
      	(vpksdus): Likewise.
      	(vpkudum): Likewise.
      	(vpkudus): Likewise.
      	(vrld): Likewise.
      	(vsld): Likewise.
      	(vsrad): Likewise.
      	(vsrd): Likewise.
      	(vsubudm): Likewise.
      
      	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add
      	support for power8 V2DI instructions.
      
      	* config/rs6000/altivec.md (UNSPEC_VPKUHUM): Add support for
      	power8 V2DI instructions.  Combine pack and unpack insns to use an
      	iterator for each mode.  Check whether a particular mode supports
      	Altivec instructions instead of just checking TARGET_ALTIVEC.
      	(UNSPEC_VPKUWUM): Likewise.
      	(UNSPEC_VPKSHSS): Likewise.
      	(UNSPEC_VPKSWSS): Likewise.
      	(UNSPEC_VPKUHUS): Likewise.
      	(UNSPEC_VPKSHUS): Likewise.
      	(UNSPEC_VPKUWUS): Likewise.
      	(UNSPEC_VPKSWUS): Likewise.
      	(UNSPEC_VPACK_SIGN_SIGN_SAT): Likewise.
      	(UNSPEC_VPACK_SIGN_UNS_SAT): Likewise.
      	(UNSPEC_VPACK_UNS_UNS_SAT): Likewise.
      	(UNSPEC_VPACK_UNS_UNS_MOD): Likewise.
      	(UNSPEC_VUPKHSB): Likewise.
      	(UNSPEC_VUNPACK_HI_SIGN): Likewise.
      	(UNSPEC_VUNPACK_LO_SIGN): Likewise.
      	(UNSPEC_VUPKHSH): Likewise.
      	(UNSPEC_VUPKLSB): Likewise.
      	(UNSPEC_VUPKLSH): Likewise.
      	(VI2): Likewise.
      	(VI_char): Likewise.
      	(VI_scalar): Likewise.
      	(VI_unit): Likewise.
      	(VP): Likewise.
      	(VP_small): Likewise.
      	(VP_small_lc): Likewise.
      	(VU_char): Likewise.
      	(add<mode>3): Likewise.
      	(altivec_vaddcuw): Likewise.
      	(altivec_vaddu<VI_char>s): Likewise.
      	(altivec_vadds<VI_char>s): Likewise.
      	(sub<mode>3): Likewise.
      	(altivec_vsubcuw): Likewise.
      	(altivec_vsubu<VI_char>s): Likewise.
      	(altivec_vsubs<VI_char>s): Likewise.
      	(altivec_vavgs<VI_char>): Likewise.
      	(altivec_vcmpbfp): Likewise.
      	(altivec_eq<mode>): Likewise.
      	(altivec_gt<mode>): Likewise.
      	(altivec_gtu<mode>): Likewise.
      	(umax<mode>3): Likewise.
      	(smax<mode>3): Likewise.
      	(umin<mode>3): Likewise.
      	(smin<mode>3): Likewise.
      	(altivec_vpkuhum): Likewise.
      	(altivec_vpkuwum): Likewise.
      	(altivec_vpkshss): Likewise.
      	(altivec_vpkswss): Likewise.
      	(altivec_vpkuhus): Likewise.
      	(altivec_vpkshus): Likewise.
      	(altivec_vpkuwus): Likewise.
      	(altivec_vpkswus): Likewise.
      	(altivec_vpks<VI_char>ss): Likewise.
      	(altivec_vpks<VI_char>us): Likewise.
      	(altivec_vpku<VI_char>us): Likewise.
      	(altivec_vpku<VI_char>um): Likewise.
      	(altivec_vrl<VI_char>): Likewise.
      	(altivec_vsl<VI_char>): Likewise.
      	(altivec_vsr<VI_char>): Likewise.
      	(altivec_vsra<VI_char>): Likewise.
      	(altivec_vsldoi_<mode>): Likewise.
      	(altivec_vupkhsb): Likewise.
      	(altivec_vupkhs<VU_char>): Likewise.
      	(altivec_vupkls<VU_char>): Likewise.
      	(altivec_vupkhsh): Likewise.
      	(altivec_vupklsb): Likewise.
      	(altivec_vupklsh): Likewise.
      	(altivec_vcmpequ<VI_char>_p): Likewise.
      	(altivec_vcmpgts<VI_char>_p): Likewise.
      	(altivec_vcmpgtu<VI_char>_p): Likewise.
      	(abs<mode>2): Likewise.
      	(vec_unpacks_hi_v16qi): Likewise.
      	(vec_unpacks_hi_v8hi): Likewise.
      	(vec_unpacks_lo_v16qi): Likewise.
      	(vec_unpacks_hi_<VP_small_lc>): Likewise.
      	(vec_unpacks_lo_v8hi): Likewise.
      	(vec_unpacks_lo_<VP_small_lc>): Likewise.
      	(vec_pack_trunc_v8h): Likewise.
      	(vec_pack_trunc_v4si): Likewise.
      	(vec_pack_trunc_<mode>): Likewise.
      
      	* config/rs6000/altivec.h (vec_vaddudm): Add defines for power8
      	V2DI builtins.
      	(vec_vmaxsd): Likewise.
      	(vec_vmaxud): Likewise.
      	(vec_vminsd): Likewise.
      	(vec_vminud): Likewise.
      	(vec_vpksdss): Likewise.
      	(vec_vpksdus): Likewise.
      	(vec_vpkudum): Likewise.
      	(vec_vpkudus): Likewise.
      	(vec_vrld): Likewise.
      	(vec_vsld): Likewise.
      	(vec_vsrad): Likewise.
      	(vec_vsrd): Likewise.
      	(vec_vsubudm): Likewise.
      	(vec_vupkhsw): Likewise.
      	(vec_vupklsw): Likewise.
      
      
      Co-Authored-By: Pat Haugen <pthaugen@us.ibm.com>
      Co-Authored-By: Peter Bergner <bergner@vnet.ibm.com>
      
      From-SVN: r199423
      Michael Meissner committed
    • cgraph.h (symtab_node_base): Add definition, alias and analyzed flags... · e70670cf
      
      	* cgraph.h (symtab_node_base): Add definition, alias and analyzed
      	flags; reorder rest of fields in more consistent way.
      	(varpool_node): Remove analyzed, finalized and alias.
      	(cgraph_ndoe): Likewise.
      	(symtab_alias_ultimate_target): New function.
      	(cgraph_function_node): Move offline.
      	(cgraph_reset_node): Declare.
      	(cgraph_comdat_can_be_unshared_p): Remove.
      	(varpool_remove_initializer): Declare.
      	(varpool_first_defined_variable, varpool_next_defined_variable
      	cgraph_first_defined_function, cgraph_next_defined_function): Update.
      	(cgraph_function_with_gimple_body_p): Update.
      	(varpool_all_refs_explicit_p): Update.
      	(symtab_alias_target): New function.
      	(cgraph_alias_aliased_node, varpool_alias_aliased_node): Rename to ...
      	(cgraph_alias_target, varpool_alias_target): .. this one; simplify.
      	(cgraph_function_or_thunk_node): Simplify using symtab_alias_ultimate_target.
      	(varpool_variable_node): Likewise.
      	* cgraph.c (cgraph_create_function_alias): Update.
      	(cgraph_add_thunk): Update.
      	(cgraph_remove_node): Update.
      	(dump_cgraph_node): Do not dump removed flags.
      	(cgraph_function_body_availability): Update.
      	(cgraph_propagate_frequency): Update.
      	(verify_cgraph_node): Check sanity of local flag.
      	(cgraph_function_node): Move here from cgraph.h; revamp for
      	cgraph_function_or_thunk_node.
      	* lto-symtab.c (lto_varpool_replace_node): Update.
      	(lto_symtab_resolve_can_prevail_p): Update.
      	(lto_symtab_merge_cgraph_nodes): Update.
      	* ipa-cp.c (determine_versionability, initialize_node_lattices,
      	propagate_constants_accross_call, devirtualization_time_bonus,
      	ipcp_propagate_stage): Update.
      	* tree-emutls.c (create_emultls_var, ipa_lower_emutls): Update.
      	* ipa-inline-transform.c (clone_inlined_nodes, preserve_function_body_p): Update.
      	* ipa-reference.c (propagate): Update.
      	(write_node_summary_p): Update.
      	* toplev.c (wrapup_global_declaration_2): Update.
      	* cgraphunit.c (cgraph_analyze_function): Rename to ...
      	(analyze_function) ... this one.
      	(cgraph_process_new_functions): Update.
      	(cgraph_reset_node): Export.
      	(cgraph_finalize_function): Update.
      	(cgraph_add_new_function): Update.
      	(process_function_and_variable_attributes): Update.
      	(varpool_finalize_decl): Update.
      	(symbol_finalized): Remove.
      	(symbol_finalized_and_needed): Rename to ...
      	(symbol_defined_and_needed): ... update.
      	(cgraph_analyze_functions): Update.
      	(handle_alias_pairs): Update.
      	(mark_functions_to_output): Update.
      	(assemble_thunk): Update.
      	(output_in_order): Update.
      	(output_weakrefs): Update.
      	(finalize_compilation_unit): Update.
      	* lto-cgraph.c (reachable_from_other_partition_p, lto_output_node,
      	lto_output_varpool_node, compute_ltrans_boundary, input_overwrite_node,
      	input_node, input_varpool_node): Update.
      	* dbxout.c (dbxout_expand_expr): Update.
      	* cgraphclones.c (cgraph_clone_node): Update.
      	(cgraph_copy_node_for_versioning): Update.
      	(cgraph_materialize_clone): Update.
      	(cgraph_materialize_all_clones): Update.
      	* ipa-pure-const.c (analyze_function, pure_const_write_summary,
      	propagate_pure_const, propagate_nothrow): Update.
      	* lto-streamer-out.c (lto_output, write_symbol): Update.
      	* ipa-utils.c (ipa_reverse_postorder): Update.
      	* ipa-inline.c (can_inline_edge_p): Update.
      	(update_caller_keys, ipa_inline): Update.
      	* dwarf2out.c (reference_to_unused,
      	premark_types_used_by_global_vars_helper): Update.
      	* tree-eh.c (tree_could_trap_p): Update.
      	* ipa-split.c (consider_split, execute_split_functions): Update.
      	* ipa.c (cgraph_non_local_node_p_1, cgraph_local_node_p,
      	 has_addr_references_p): Update;
      	move ahead in file for better readability.
      	(process_references): Simplify.
      	(symtab_remove_unreachable_nodes): Update; cleanup way function/var
      	bodies are removed.
      	(cgraph_comdat_can_be_unshared_p): Make static.
      	(cgraph_externally_visible_p): Update.
      	(varpool_externally_visible_p): Update.
      	(function_and_variable_visibility): Update.
      	* trans-mem.c (get_cg_data, ipa_tm_mayenterirr_function,
      	ipa_tm_mark_force_output_node): Update.
      	* ipa-inline-analysis.c (dump_inline_summary, initialize_inline_failed,
      	estimate_edge_devirt_benefit, inline_generate_summary,
      	inline_write_summary): Update.
      	* gimple-fold.c (can_refer_decl_in_current_unit_p): Update.
      	* ipa-prop.c (ipa_compute_jump_functions): Update.
      	(ipa_print_node_params, ipa_prop_read_section, ipa_update_after_lto_read,
      	read_replacements_section): Update.
      	* varasm.c (mark_decl_referenced): Update.
      	(assemble_alias, dump_tm_clone_pairs): Update.
      	* tree-inline.c (copy_bb): Update.
      	(estimate_num_insns, optimize_inline_calls, tree_function_versioning):
      	Update.
      	* symtab.c (dump_symtab_base): Print new flags.
      	(verify_symtab_base): Verify new flags.
      	(symtab_alias_ultimate_target): New function.
      	* tree-ssa-structalias.c (get_constraint_for_ssa_var,
      	create_variable_info_for, associate_varinfo_to_alias, ipa_pta_execute):
      	Update.
      	* passes.c (ipa_write_summaries, ipa_write_optimization_summaries): Update.
      	* i386.c (ix86_get_function_versions_dispatcher,
      	ix86_generate_version_dispatcher_body): Update.
      	(fold_builtin_cpu): Use varpool_add_new_variable.
      	* varpool.c (varpool_remove_initializer): Break out from ...
      	(varpool_remove_node): ... this one.
      	(dump_varpool_node, varpool_node_for_asm,
      	cgraph_variable_initializer_availability, varpool_analyze_node,
      	varpool_assemble_decl, varpool_remove_unreferenced_decls,
      	varpool_finalize_named_section_flags, varpool_create_variable_alias): Update
      
      	* decl.c (java_mark_decl_local): Update for new symtab flags.
      
      	* tree.c (cp_fix_function_decl_p): Update for new symtab flags.
      	* decl2.c )var_finalized_p, cp_write_global_declarations): Likewise.
      
      	* lto.c (has_analyzed_clone_p, lto_materialize_function): Update for new symtab
      	flags.
      	* lto-partition.c (get_symbol_class, lto_balanced_map): Likewise.
      
      From-SVN: r199422
      Jan Hubicka committed
    • re PR tree-optimization/57442 (ICE in appears_later_in_bb, at tree-ssa-reassoc.c:2891) · 8190b609
      2013-05-29  Easwaran Raman  <eraman@google.com>
      
      	PR tree-optimization/57442
      	* tree-ssa-reassoc.c (appears_later_in_bb): Return correct value
      	when control exits the main loop.
      
      2013-05-29  Easwaran Raman  <eraman@google.com>
      
      	PR tree-optimization/57442
      	* gcc.dg/tree-ssa/reassoc-30.c: New testcase.
      
      From-SVN: r199418
      Easwaran Raman committed
    • rx.h (TARGET_CPU_CPP_BUILTINS): Add macros for RX100, RX200, and RX600. · 69f5aa9b
      	* rx/rx.h (TARGET_CPU_CPP_BUILTINS): Add macros for RX100, RX200,
      	and RX600.
      	* rx/rx.opt: Add macro for rx100 with string rx100 and value
      	RX100.
      	* rx/rx-opts.h (rx_cpu_types): Add new cpu type rx100.
      	* rx/t-rx: Add rx100 under multi library matches option for nofpu
      	option.
      
      From-SVN: r199417
      Sandeep Kumar Singh committed
    • re PR tree-optimization/57441 (ICE in gimple-ssa-strength-reduction.c:3447 at -O3) · 4b847da9
      2013-05-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	PR tree-optimization/57441
      	* gimple-ssa-strength-reduction.c (analyze_candidates_and_replace):
      	Don't limit size of incr_vec to number of candidates.
      
      2013-05-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	PR tree-optimization/57441
      	* gcc.c-torture/compile/pr57441.c: New.
      
      From-SVN: r199414
      Bill Schmidt committed
    • re PR testsuite/57413 (FAIL: gcc.dg/debug/dwarf2/discriminator.c scan-assembler… · 0154ea95
      re PR testsuite/57413 (FAIL: gcc.dg/debug/dwarf2/discriminator.c scan-assembler on x86_64-apple-darwin10, Solaris/x86)
      
      2013-05-29  Dehao Chen  <dehao@google.com>
      
      	PR testsuite/57413
      	* gcc.dg/debug/dwarf2/discriminator.c: Restrict the test to linux-gnu.
      
      From-SVN: r199412
      Dehao Chen committed
    • mti-linux.h (SYSROOT_SUFFIX_SPEC): Add micromips and mips16 directories. · 4fc43c39
      2013-05-29  Steve Ellcey  <sellcey@imgtec.com>
      
      	* config/mips/mti-linux.h (SYSROOT_SUFFIX_SPEC): Add micromips
      	and mips16 directories.
      	* config/mips/t-mti-linux (MULTILIB_OPTIONS): Add micromips and
      	mips16.
      	(MULTILIB_DIRNAMES): Ditto.
      	(MULTILIB_EXCEPTIONS): Add new exceptions.
      	* config/mips/t-mti-elf (MULTILIB_OPTIONS): Add micromips.
      	(MULTILIB_DIRNAMES): Ditto.
      	(MULTILIB_EXCEPTIONS): Add new exceptions.
      
      From-SVN: r199411
      Steve Ellcey committed
    • Fix c/c-array-notation.c compilation failure (PR bootstrap/57450) · 065ce7f1
      	PR bootstrap/57450
      	* c-array-notation.c (length_mismatch_in_expr_p): Use absu_hwi.
      	(build_array_notation_expr): Likewise.
      
      From-SVN: r199410
      Rainer Orth committed
    • re PR fortran/37336 ([F03] Finish derived-type finalization) · 16023efc
      2013-05-28  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/37336
              * class.c (finalize_component): Fix coarray array refs.
              (generate_finalization_wrapper): Only gfc_convert_type_warn
              when the kind value is different.
              (gfc_find_intrinsic_vtab): _copy's dst is now intent(inout).
              (gfc_find_derived_vtab): Ditto. Enable finalization-wrapper
              generation.
              * module.c (MOD_VERSION): Bump.
              (gfc_dump_module, gfc_use_module): Remove empty line in .mod.
              * trans-array.c (gfc_conv_descriptor_token): Accept
              * nonrestricted
              void pointer.
              (gfc_array_allocate, structure_alloc_comps): Don't nullify for
              BT_CLASS allocations.
              * trans-stmt.c (gfc_trans_allocate): Ditto.
      
      2013-05-28  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/37336
              * gfortran.dg/auto_dealloc_2.f90: Update _free count in the
              * dump.
              * gfortran.dg/class_19.f03: Ditto.
      
      From-SVN: r199409
      Tobias Burnus committed
    • [AArch64] Implement support for --mcmodel=tiny · a5350ddc
      This patch adds support for the tiny absolute memory model.
      
      
      Co-Authored-By: Marcus Shawcroft <marcus.shawcroft@arm.com>
      
      From-SVN: r199408
      Chris Schlumberger-Socha committed
    • [AArch64] Re-organize aarch64_classify_symbol. · 17f4d4bf
      This patch re-orgnaizes the implementation of aarch64_classify_symbol
      in preparation for tiny absolute memory model support.
      
      
      Co-Authored-By: Marcus Shawcroft <marcus.shawcroft@arm.com>
      
      From-SVN: r199407
      Chris Schlumberger-Socha committed
    • tree-cfg.c (verify_expr): Verify that BIT_FIELD_REF... · d20188f3
      2013-05-29  Martin Jambor  <mjambor@suse.cz>
      
      	* tree-cfg.c (verify_expr): Verify that BIT_FIELD_REF, REALPART_EXPR
      	and IMAGPART_EXPR do not occur within other handled_components.
      
      From-SVN: r199405
      Martin Jambor committed
    • tree-vect-slp.c (vect_bb_slp_scalar_cost): Guard vinfo access on whether the use… · 292cba13
      tree-vect-slp.c (vect_bb_slp_scalar_cost): Guard vinfo access on whether the use is in the BB we currently try to vectorize.
      
      2013-05-29  Richard Biener  <rguenther@suse.de>
      
      	* tree-vect-slp.c (vect_bb_slp_scalar_cost): Guard vinfo
      	access on whether the use is in the BB we currently try to
      	vectorize.
      	(vect_bb_vectorization_profitable_p): Pass the BB we currently
      	vectorize to vect_bb_slp_scalar_cost.
      
      From-SVN: r199403
      Richard Biener committed
    • tree-vect-slp.c (vect_bb_slp_scalar_cost): New function computing scalar cost… · 6eddf228
      tree-vect-slp.c (vect_bb_slp_scalar_cost): New function computing scalar cost offsetted by stmts that are kept live by...
      
      2013-05-29  Richard Biener  <rguenther@suse.de>
      
      	* tree-vect-slp.c (vect_bb_slp_scalar_cost): New function
      	computing scalar cost offsetted by stmts that are kept live
      	by scalar uses.
      	(vect_bb_vectorization_profitable_p): Use vect_bb_slp_scalar_cost
      	for computation of scalar cost.
      
      	* gcc.dg/vect/bb-slp-32.c: New testcase.
      
      From-SVN: r199402
      Richard Biener committed
    • Daily bump. · d2510014
      From-SVN: r199397
      GCC Administrator committed
  3. 28 May, 2013 15 commits
    • Update the ChangeLog to fix the typo. · 04960246
      From-SVN: r199394
      Dehao Chen committed
    • mips-cpus.def (mips32r2): Change processor type. · 7df36117
      2013-05-28  Steve Ellcey  <sellcey@mips.com>
      
      	* config/mips/mips-cpus.def (mips32r2): Change processor type.
      
      From-SVN: r199393
      Steve Ellcey committed
    • compatibility-chrono.cc (steady_clock::now()): If !_GLIBCXX_USE_GETTIMEOFDAY… · 8b70770d
      compatibility-chrono.cc (steady_clock::now()): If !_GLIBCXX_USE_GETTIMEOFDAY perform conversion inline instead of calling...
      
      	* src/c++11/compatibility-chrono.cc (steady_clock::now()): If
      	!_GLIBCXX_USE_GETTIMEOFDAY perform conversion inline instead of
      	calling non-existent from_time_t.
      
      From-SVN: r199391
      Jonathan Wakely committed
    • Implemented Cilk Plus Array Notation for C Compiler. · 36536d79
      gcc/ChangeLog
      2013-05-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>
      
      	* doc/extend.texi (C Extensions): Added documentation about Cilk 
      Plus
      	array notation built-in reduction functions.
      	* doc/passes.texi (Passes): Added documentation about changes done
      	for Cilk Plus.
      	* doc/invoke.texi (C Dialect Options): Added documentation about
      	the -fcilkplus flag.
      	* Makefile.in (C_COMMON_OBJS): Added 
      c-family/array-notation-common.o.
      	(BUILTINS_DEF): Depend on cilkplus.def.
      	* builtins.def: Include cilkplus.def.  Define 
      DEF_CILKPLUS_BUILTIN.
      	* builtin-types.def: Define BT_FN_INT_PTR_PTR_PTR.
      	* cilkplus.def: New file.
      
      gcc/c-family/ChangeLog
      2013-05-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>
      
      	* c-common.c (c_define_builtins): When cilkplus is enabled, the
      	function array_notation_init_builtins is called.
      	(c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
      	* c-common.def (ARRAY_NOTATION_REF): New tree.
      	* c-common.h (build_array_notation_expr): New function declaration.
      	(build_array_notation_ref): Likewise.
      	(extract_sec_implicit_index_arg): New extern declaration.
      	(is_sec_implicit_index_fn): Likewise.
      	(ARRAY_NOTATION_CHECK): New define.
      	(ARRAY_NOTATION_ARRAY): Likewise.
      	(ARRAY_NOTATION_START): Likewise.
      	(ARRAY_NOTATION_LENGTH): Likewise.
      	(ARRAY_NOTATION_STRIDE): Likewise.
      	* c-pretty-print.c (pp_c_postifix_expression): Added a new case for
      	ARRAY_NOTATION_REF.
      	(pp_c_expression): Likewise.
      	* c.opt (flag_enable_cilkplus): New flag.
      	* array-notation-common.c: New file.
      
      gcc/c/ChangeLog
      2013-05-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>
      
      	* c-typeck.c (build_array_ref): Added a check to see if array's
      	index is greater than one.  If true, then emit an error.
      	(build_function_call_vec): Exclude error reporting and checking
      	for builtin array-notation functions.
      	(convert_arguments): Likewise.
      	(c_finish_return): Added a check for array notations as a return
      	expression.  If true, then emit an error.
      	(c_finish_loop): Added a check for array notations in a loop
      	condition.  If true then emit an error.
      	(lvalue_p): Added a ARRAY_NOTATION_REF case.
      	(build_binary_op): Added a check for array notation expr inside
      	op1 and op0.  If present, we call another function to find correct
      	type.
      	* Make-lang.in (C_AND_OBJC_OBJS): Added c-array-notation.o.
      	* c-parser.c (c_parser_compound_statement): Check if array
      	notation code is used in tree, if so, then transform them into
      	appropriate C code.
      	(c_parser_expr_no_commas): Check if array notation is used in LHS
      	or RHS, if so, then build array notation expression instead of
      	regular modify.
      	(c_parser_postfix_expression_after_primary): Added a check for
      	colon(s) after square braces, if so then handle it like an array
      	notation.  Also, break up array notations in unary op if found.
      	(c_parser_direct_declarator_inner): Added a check for array
      	notation.
      	(c_parser_compound_statement): Added a check for array notation in
      	a stmt.  If one is present, then expand array notation expr.
      	(c_parser_if_statement): Likewise.
      	(c_parser_switch_statement): Added a check for array notations in
      	a switch statement's condition.  If true, then output an error.
      	(c_parser_while_statement): Similarly, but for a while.
      	(c_parser_do_statement): Similarly, but for a do-while.
      	(c_parser_for_statement): Similarly, but for a for-loop.
      	(c_parser_unary_expression): Check if array notation is used in a
      	pre-increment or pre-decrement expression.  If true, then expand
      	them.
      	(c_parser_array_notation): New function.
      	* c-array-notation.c: New file.
      	* c-tree.h (is_cilkplus_reduce_builtin): Protoize.
      
      gcc/testsuite/ChangeLog
      2013-05-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>
      
      	* c-c++-common/cilk-plus/AN/array_test1.c: New test.
      	* c-c++-common/cilk-plus/AN/array_test2.c: Likewise.
      	* c-c++-common/cilk-plus/AN/array_test_ND.c: Likewise.
      	* c-c++-common/cilk-plus/AN/builtin_func_double.c: Likewise.
      	* c-c++-common/cilk-plus/AN/builtin_func_double2.c: Likewise.
      	* c-c++-common/cilk-plus/AN/gather-scatter-errors.c: Likewise.
      	* c-c++-common/cilk-plus/AN/if_test.c: Likewise.
      	* c-c++-common/cilk-plus/AN/sec_implicit_ex.c: Likewise.
      	* c-c++-common/cilk-plus/AN/decl-ptr-colon.c: Likewise.
      	* c-c++-common/cilk-plus/AN/dimensionless-arrays.c: Likewise.
      	* c-c++-common/cilk-plus/AN/fn_ptr.c: Likewise.
      	* c-c++-common/cilk-plus/AN/fp_triplet_values.c: Likewise.
      	* c-c++-common/cilk-plus/AN/gather-scatter.c: Likewise.
      	* c-c++-common/cilk-plus/AN/misc.c: Likewise.
      	* c-c++-common/cilk-plus/AN/parser_errors.c: Likewise.
      	* c-c++-common/cilk-plus/AN/parser_errors2.c: Likewise.
      	* c-c++-common/cilk-plus/AN/parser_errors3.c: Likewise.
      	* c-c++-common/cilk-plus/AN/parser_errors4.c: Likewise.
      	* c-c++-common/cilk-plus/AN/rank_mismatch.c: Likewise.
      	* c-c++-common/cilk-plus/AN/rank_mismatch2.c: Likewise.
      	* c-c++-common/cilk-plus/AN/rank_mismatch3.c: Likewise.
      	* c-c++-common/cilk-plus/AN/sec_implicit.c: Likewise.
      	* c-c++-common/cilk-plus/AN/sec_implicit2.c: Likewise.
      	* c-c++-common/cilk-plus/AN/sec_reduce_max_min_ind.c: Likewise.
      	* c-c++-common/cilk-plus/AN/tst_lngth.c: Likewise.
      	* c-c++-common/cilk-plus/AN/vla.c: Likewise.
      	* c-c++-common/cilk-plus/AN/an-if.c: Likewise.
      	* c-c++-common/cilk-plus/AN/builtin_fn_custom.c: Likewise.
      	* c-c++-common/cilk-plus/AN/builtin_fn_mutating.c: Likewise.
      	* c-c++-common/cilk-plus/AN/comma_exp.c: Likewise.
      	* c-c++-common/cilk-plus/AN/conditional.c: Likewise.
      	* c-c++-common/cilk-plus/AN/exec-once.c: Likewise.
      	* c-c++-common/cilk-plus/AN/exec-once2.c: Likewise.
      	* c-c++-common/cilk-plus/AN/gather_scatter.c: Likewise.
      	* c-c++-common/cilk-plus/AN/n-ptr-test.c: Likewise.
      	* c-c++-common/cilk-plus/AN/side-effects-1.c: Likewise.
      	* c-c++-common/cilk-plus/AN/test_builtin_return.c: Likewise.
      	* c-c++-common/cilk-plus/AN/test_sec_limits.c: Likewise.
      	* gcc.dg/cilk-plus/cilk-plus.exp: New script.
      
      From-SVN: r199389
      Balaji V. Iyer committed
    • re PR fortran/37336 ([F03] Finish derived-type finalization) · 6d2bee95
      2013-05-28  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/37336
              * resolve.c (gfc_resolve_finalizers): Remove not implemented
              * error.
      
      2013-05-28  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/37336
              * gfortran.dg/finalize_11.f90: New.
              * gfortran.dg/finalize_4.f03: Remove dg-error.
              * gfortran.dg/finalize_5.f03: Ditto.
              * gfortran.dg/finalize_6.f03: Ditto.
              * gfortran.dg/finalize_7.f03: Ditto.
      
      From-SVN: r199388
      Tobias Burnus committed
    • re PR rtl-optimization/57439 (FAIL: gcc.c-torture/execute/920501-6.c execution, -O1) · b49eefa5
              PR rtl-optimization/57439
              * postreload.c (move2add_use_add2_insn): Use gen_lowpart_common.
      
      From-SVN: r199387
      Joern Rennecke committed
    • re PR tree-optimization/57337 (416.gamess ICE on x86 after r199048) · 9daf6dbb
      2013-05-28  Easwaran Raman  <eraman@google.com>
      
      	PR tree-optimization/57337
      	* tree-ssa-reassoc.c (appears_later_in_bb): New function.
      	(find_insert_point): Correctly identify the insertion point
      	when two statements with the same UID is compared.
      
      From-SVN: r199385
      Easwaran Raman committed
    • trans-expr.c (gfc_conv_procedure_call): Deallocate polymorphic arrays for… · 4fb5478c
      trans-expr.c (gfc_conv_procedure_call): Deallocate polymorphic arrays for allocatable intent(out) dummies.
      
      2013-05-28  Tobias Burnus  <burnus@net-b.de>
      
              * trans-expr.c (gfc_conv_procedure_call): Deallocate
              polymorphic arrays for allocatable intent(out) dummies.
              (gfc_reset_vptr): New function, moved from trans-stmt.c
              and extended.
              * trans-stmt.c (reset_vptr): Remove.
              (gfc_trans_deallocate): Update calls.
              * trans.h (gfc_reset_vptr): New prototype.
      
      2013-05-28  Tobias Burnus  <burnus@net-b.de>
      
              * gfortran.dg/class_array_16.f90: New.
      
      From-SVN: r199383
      Tobias Burnus committed
    • [multiple changes] · 4fdf9c1e
      2013-05-28  Dominique d'Humieres  <dominiq@lps.ens.fr>
      
              PR fortran/57435
              * module.c (check_for_ambiguous): Avoid null pointer deref.
      
      2013-05-28  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/57435
      
      From-SVN: r199382
      Tobias Burnus committed
    • sol2-unwind.h (MD_FALLBACK_FRAME_STATE_FOR): Do not set fs->signal_frame for… · 0ba045df
      sol2-unwind.h (MD_FALLBACK_FRAME_STATE_FOR): Do not set fs->signal_frame for SIGFPE raised for IEEE-754 exceptions.
      
      	* config/sparc/sol2-unwind.h (MD_FALLBACK_FRAME_STATE_FOR): Do not set
      	fs->signal_frame for SIGFPE raised for IEEE-754 exceptions.
      	* config/i386/sol2-unwind.h (x86_fallback_frame_state): Likewise.
      
      From-SVN: r199381
      Eric Botcazou committed
    • re PR tree-optimization/56787 (Vectorization fails because of CLOBBER statements) · fbd7e877
      2013-05-28  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/56787
      	* tree-vect-data-refs.c (vect_analyze_data_refs): Drop clobbers
      	from the list of data references.
      	* tree-vect-loop.c (vect_determine_vectorization_factor): Skip
      	clobbers.
      	(vect_analyze_loop_operations): Likewise.
      	(vect_transform_loop): Remove clobbers.
      
      	* gcc.dg/vect/pr56787.c: New testcase.
      
      From-SVN: r199380
      Richard Biener committed
    • tree-cfg.c (verify_expr): Verify that BIT_FIELD_REFs, IMAGPART_EXPRs and… · bbba1117
      tree-cfg.c (verify_expr): Verify that BIT_FIELD_REFs, IMAGPART_EXPRs and REALPART_EXPRs have scalar type.
      
      2013-05-28  Martin Jambor  <mjambor@suse.cz>
      
      	* tree-cfg.c (verify_expr): Verify that BIT_FIELD_REFs, IMAGPART_EXPRs
      	and REALPART_EXPRs have scalar type.
      
      From-SVN: r199379
      Martin Jambor committed
    • re PR fortran/57217 ([OOP] Accepts invalid TBP overriding - lacking arguments check) · 2265988c
      2013-05-28  Janus Weil  <janus@gcc.gnu.org>
      	    Tobias Burnus  <burnus@net-b.de>
      
      	PR fortran/57217
      	* interface.c (check_dummy_characteristics): Symmetrize type check.
      
      
      2013-05-28  Janus Weil  <janus@gcc.gnu.org>
      	    Tobias Burnus  <burnus@net-b.de>
      
      	PR fortran/57217
      	* gfortran.dg/typebound_override_4.f90: New.
      
      Co-Authored-By: Tobias Burnus <burnus@net-b.de>
      
      From-SVN: r199375
      Janus Weil committed
    • re PR tree-optimization/57411 (ICE: verify_ssa failed: definition in block 4… · bd388c2a
      re PR tree-optimization/57411 (ICE: verify_ssa failed: definition in block 4 does not dominate use in block 11 with -fno-tree-dce -ftree-vectorize)
      
      2013-05-28  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/57411
      	* tree-ssa-copy.c (may_propagate_copy): Cannot propagate
      	virtual operands.
      	* tree-ssa-dom.c (eliminate_const_or_copy): Special-case
      	virtual operand propagation.
      
      	* g++.dg/opt/pr57411.C: New testcase.
      
      From-SVN: r199374
      Richard Biener committed
    • builtin-bswap-8.c: Compile at -O2. · 95f803bd
      	* gcc.dg/builtin-bswap-8.c: Compile at -O2.
      	* gcc.dg/builtin-bswap-9.c: Likewise.
      
      From-SVN: r199372
      Eric Botcazou committed