1. 27 Nov, 2009 13 commits
  2. 26 Nov, 2009 25 commits
    • vperm-v4sf-1.c (dg-options): Use -msse2. · 22b9d529
      	* gcc.target/i386/vperm-v4sf-1.c (dg-options): Use -msse2.
      	* gcc.target/i386/vperm-v4sf-2.c: Require effective target ssse3.
      	* gcc.target/i386/vperm-v4si-2.c: Ditto.
      	* gcc.target/i386/vperm-v4si-2x.c: Require effective target xop.
      
      From-SVN: r154694
      Uros Bizjak committed
    • sse.md (mulv16qi3): Change back from an expander to an insn-and-split. · 08f3084b
      	* config/i386/sse.md (mulv16qi3): Change back from an expander
      	to an insn-and-split.
      	(mulv4si): Mention AVX not XOP for AVX exception.
      	(*sse2_mulv4si3): Likewise.
      	(mulv2di3): Use vmulld not vpmacsdd for XOP expansion.  Tidy.
      testsuite/
              * gcc.target/i386/xop-imul64-vector.c: Look for vpmulld not vpmacsdd.
      
      From-SVN: r154693
      Richard Henderson committed
    • re PR fortran/41807 (data statement with nested type constructors) · 5e1a89f0
      2009-11-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/41807
      	* trans-const.c (gfc_conv_const): Set se->expr to a constant on error.
      
      From-SVN: r154690
      Jerry DeLisle committed
    • cfgexpand (n_stack_vars_conflict): New static variable. · 15b83b0f
      	* cfgexpand (n_stack_vars_conflict): New static variable.
      	(triangular_index): Reduce likelyhood of overflow by performing
      	the division before the multiplication.
      	(resize_stack_vars_conflict): Call fatal_error if overflow
      	occurred in triangular_index.  Update n_stack_vars_conflict.
      
      From-SVN: r154689
      Bernd Schmidt committed
    • re PR rtl-optimization/38582 (excessive time in rename registers) · a96caf80
      	PR rtl-opt/38582
      	* regrename.c (struct du_head): New members id, conflicts,
      	hard_conflicts and cannot_rename.
      	(enum scan_actions): Remove terminate_all_read and
      	terminate_overlapping_read; add mark_all_read.
      	(scan_actions_name): Likewise.
      	(du_head_p): New typedef.  Define a vector type for it.
      	(id_to_chain): New static variable.
      	(note_sets, clear_dead_regs): Delete functions.
      	(free_chain_data): New function.
      	(merge_overlapping_regs): Simply walk the conflicts bitmap.
      	Remove argument B, all callers changed.
      	(regrename_optimize): Allocate id_to_chain.  Ignore chains that have
      	the cannot_rename bit set.  Update regno and nregs of a renamed chain.
      	Call free_chain_data when done.
      	(do_replace): Remove death notes when the renamed reg is set in the
      	last insn; add them if not.
      	(mark_conflict, note_sets_clobbers): New static function.
      	(fail_current_block, current_id, open_chains_set, live_hard_regs): New
      	static variables.
      	(scan_rtx_reg): Keep track of conflicts between chains, and between
      	chains and hard regs.  Don't terminate chains when we find a read we
      	can't handle, mark it unrenameable instead.  For terminate_write,
      	terminate chains that are written with an exact match or a superset
      	of registers.  Set fail_current_block if multi-word lifetimes are too
      	complex to handle.
      	(scan_rtx_address): Use mark_all_read instead of terminate_all_read.
      	(build_def_use): Initialize current_id, live_chains and live_hard_regs;
      	free memory for them when done.
      	Rearrange the steps so that earlyclobbers are noted before reads
      	are processed.  Add new steps to keep track of hard register lifetimes
      	outside insn operands.
      
      From-SVN: r154688
      Bernd Schmidt committed
    • re PR rtl-optimization/38582 (excessive time in rename registers) · 6bda9bdf
      	PR rtl-opt/38582
      	* regrename.c (struct du_chain): Remove member earlyclobber.
      	(scan_rtx_reg): Don't set it.  Remove argument earlyclobber,
      	all callers changed.
      	(scan_rtx): Remove argument earlyclobber, all callers changed.
      	(hide_operands, restore_operands, record_out_operands): New functions,
      	broken out of build_def_use.
      	(build_def_use): Call them as necessary.
      
      From-SVN: r154687
      Bernd Schmidt committed
    • PR c++/42026, DR 239 · c5c39ab3
      	PR c++/42026, DR 239
      	* parser.c (cp_parser_postfix_expression): A local extern also
      	prevents arg-dependent lookup.
      
      From-SVN: r154686
      Jason Merrill committed
    • add missing testsuite/ChangeLog entry · 1e1779fe
      From-SVN: r154685
      Jason Merrill committed
    • re PR fortran/41278 (internal compiler error related to matmul and transpose) · ba2335f2
      2009-11-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/41278
      	* gfortran.dg/array_function_5.f90: New test.
      
      From-SVN: r154681
      Jerry DeLisle committed
    • re PR fortran/41278 (internal compiler error related to matmul and transpose) · 4252ed2b
      2009-11-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/41278
      	* trans-array.c (gfc_conv_array_transpose): Delete unnecessary assert.
      
      From-SVN: r154680
      Jerry DeLisle committed
    • re PR fortran/42048 ([F03] Erroneous syntax error message on TBP call) · 2d71b918
      2009-11-26  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/42048
      	PR fortran/42167
      	* gfortran.h (gfc_is_function_return_value): New prototype.
      	* match.c (gfc_match_call): Use new function
      	'gfc_is_function_return_value'.
      	* primary.c (gfc_is_function_return_value): New function to check if a
      	symbol is the return value of an encompassing function.
      	(match_actual_arg,gfc_match_rvalue,match_variable): Use new function
      	'gfc_is_function_return_value'.
      	* resolve.c (resolve_common_blocks,resolve_actual_arglist): Ditto.
      
      2009-11-26  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/42048
      	PR fortran/42167
      	* gfortran.dg/select_type_10.f03: New test case.
      	* gfortran.dg/typebound_call_11.f03: Extended test case.
      
      From-SVN: r154679
      Janus Weil committed
    • utils.c (copy_type): Unshare the language-specific data and the contents of the… · 90dcfecb
      utils.c (copy_type): Unshare the language-specific data and the contents of the language-specific...
      
      	* gcc-interface/utils.c (copy_type): Unshare the language-specific data
      	and the contents of the language-specific slot if needed.
      
      From-SVN: r154678
      Eric Botcazou committed
    • trans.c (gnat_to_gnu): Set the source location of the operator on both branches… · da49a783
      trans.c (gnat_to_gnu): Set the source location of the operator on both branches of the test in the...
      
      	* gcc-interface/trans.c (gnat_to_gnu) <N_In>: Set the source location
      	of the operator on both branches of the test in the generic case.
      
      From-SVN: r154677
      Eric Botcazou committed
    • tree-ssa-dce.c (nr_walks): New variable. · a61f9cc0
      2009-11-26  Richard Guenther  <rguenther@suse.de>
      
      	* tree-ssa-dce.c (nr_walks): New variable.
      	(mark_aliased_reaching_defs_necessary): Adjust oracle cut-off.
      	(perform_tree_ssa_dce): Init nr_walks.
      
      From-SVN: r154676
      Richard Guenther committed
    • re PR c++/10690 ([DR 115] Even when used within typeid(), a template-id… · 6780e186
      re PR c++/10690 ([DR 115] Even when used within typeid(), a template-id generating an overload set with only one function should silently decay to a pointer to function)
      
      	PR c++/10690
      	* rtti.c (get_tinfo_decl_dynamic): Call resolve_nondeduced_context.
      
      From-SVN: r154675
      Jason Merrill committed
    • tree-eh.c (lower_eh_constructs_2): Don't add assignments below statements that can't fall thru. · 87cd4259
              * tree-eh.c (lower_eh_constructs_2): Don't add assignments
              below statements that can't fall thru.
      
      testsuite/
              * g++.dg/tree-ssa/pr41905.C: New testcase.
      
      From-SVN: r154674
      Michael Matz committed
    • builtins.c (expand_builtin_printf, [...]): Remove. · 6dc3bf56
              * builtins.c (expand_builtin_printf, expand_builtin_fprintf,
              expand_builtin_sprintf): Remove.
              (expand_builtin): Don't call them.
      
      From-SVN: r154673
      Michael Matz committed
    • tree-ssa-dce.c (perform_tree_ssa_dce): Allocate visited bitmap. · d9b99b4c
      2009-11-26  Richard Guenther  <rguenther@suse.de>
      
      	* tree-ssa-dce.c (perform_tree_ssa_dce): Allocate visited bitmap.
      
      From-SVN: r154672
      Richard Guenther committed
    • rx.c (rx_expand_epilogue): Add checks for sibcalls being used incorrectly. · 0d8f38d3
              * config/rx/rx.c (rx_expand_epilogue): Add checks for sibcalls
              being used incorrectly.
              (rx_function_ok_for_sibcall): New function.  Do not allow indirect
              sibcalls, or sibcalls from interrupt functions.
              (TARGET_FUNCTION_OK_FOR_SIBCALL): Define.
              * config/rx/rx.md (sibcall): Convert to a define_expand.  Check
              for a MEM inside a MEM.
              (sibcall_value): Likewise.
              (sibcall_internal): New pattern containing old sibcall pattern.
              (sibcall_value_internal): Likewise.
      
      From-SVN: r154671
      Nick Clifton committed
    • posix-threads.cc (ParkHelper::unpark): Do not initialise result, but assign it instead. · 5d6b1bac
      	* posix-threads.cc (ParkHelper::unpark): Do not initialise result,
      	but assign it instead. Eliminates an unused variable warning when
      	the result == 0 assertion is disabled.
      
      From-SVN: r154670
      Ben Elliston committed
    • i386-builtin-types.awk (DEF_VECTOR_TYPE): Allow an optional 3rd argument to define the mode. · 0fac5151
      	* config/i386/i386-builtin-types.awk (DEF_VECTOR_TYPE): Allow an
      	optional 3rd argument to define the mode.
      	* config/i386/i386-builtin-types.def (UQI, UHI, USI, UDI): New.
      	(V2UDI, V4USI, V8UHI, V16UQI): New.
      	(V4SF_FTYPE_V4SF_V4SF_V4SI, V2UDI_FTYPE_V2UDI_V2UDI_V2UDI,
      	V4USI_FTYPE_V4USI_V4USI_V4USI, V8UHI_FTYPE_V8UHI_V8UHI_V8UHI,
      	V16UQI_FTYPE_V16UQI_V16UQI_V16UQI): New.
      	* config/i386/i386-modes.def: Rearrange for double-wide AVX.
      	* config/i386/i386-protos.h (ix86_expand_vec_extract_even_odd): New.
      	* config/i386/i386.c (IX86_BUILTIN_VEC_PERM_*): New.
      	(bdesc_args): Add the builtin definitions to match.
      	(ix86_expand_builtin): Expand them.
      	(ix86_builtin_vectorization_cost): Rename from
      	x86_builtin_vectorization_cost.
      	(ix86_vectorize_builtin_vec_perm, struct expand_vec_perm_d,
      	doublesize_vector_mode, expand_vselect, expand_vselect_vconcat,
      	expand_vec_perm_blend, expand_vec_perm_vpermil,
      	expand_vec_perm_pshufb, expand_vec_perm_1,
      	expand_vec_perm_pshuflw_pshufhw, expand_vec_perm_palignr,
      	expand_vec_perm_interleave2, expand_vec_perm_pshufb2,
      	expand_vec_perm_even_odd_1, expand_vec_perm_even_odd,
      	ix86_expand_vec_perm_builtin_1, extract_vec_perm_cst,
      	ix86_expand_vec_perm_builtin, ix86_vectorize_builtin_vec_perm_ok,
      	ix86_expand_vec_extract_even_odd, TARGET_VECTORIZE_BUILTIN_VEC_PERM,
      	TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): New.
      	* sse.md (SSEMODE_EO): New.
      	(vec_extract_even<mode>): Use SSEMODE_EO and
      	ix86_expand_vec_extract_even_odd.
      	(vec_extract_odd<mode>): Likewise.
      	(mulv16qi3, vec_pack_trunc_v8hi, vec_pack_trunc_v4si,
      	vec_pack_trunc_v2di): Use ix86_expand_vec_extract_even_odd.
      
      testsuite/
      	* gcc.dg/vect/slp-21.c: Succeed with vect_extract_even_odd too.
      
      	* lib/target-supports.exp
      	(check_effective_target_vect_extract_even_odd): Add x86.
      
      	* gcc.target/i386/isa-check.h: New.
      	* gcc.target/i386/vperm-2-2.inc, gcc.target/i386/vperm-4-1.inc,
      	gcc.target/i386/vperm-4-2.inc, gcc.target/i386/vperm-v2df.c,
      	gcc.target/i386/vperm-v2di.c, gcc.target/i386/vperm-v4sf-1.c,
      	gcc.target/i386/vperm-v4sf-2.c, gcc.target/i386/vperm-v4si-1.c,
      	gcc.target/i386/vperm-v4si-2.c, gcc.target/i386/vperm-v4si-2x.c,
      	gcc.target/i386/vperm.pl: New files.
      
      From-SVN: r154667
      Richard Henderson committed
    • pr36493.c: Call check_vect. · dac9d53a
      	* gcc.dg/vect/pr36493.c: Call check_vect.
      	* gcc.dg/vect/pr37539.c: Likewise.
      	* gcc.dg/vect/vect-nest-cycle-3.c: Call check_vect earlier.
      	* tree-vect.h (check_vect): Use cpuid for x86.
      
      From-SVN: r154666
      Richard Henderson committed
    • target.h (targetm.vectorize.builtin_vec_perm_ok): New. · faf63e39
      	* target.h (targetm.vectorize.builtin_vec_perm_ok): New.
      	* target-def.h (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): New.
      	* hooks.h, hooks.c (hook_bool_tree_tree_true): New.
      	* tree-vect-slp.c (vect_create_mask_and_perm): Don't create
      	the vector constant here...
      	(vect_transform_slp_perm_load): ... do it here instead.  Validate
      	that the permutation vector is implementable by the target.
      
      From-SVN: r154665
      Richard Henderson committed
    • Daily bump. · dac29646
      From-SVN: r154664
      GCC Administrator committed
  3. 25 Nov, 2009 2 commits