Commit Graph

97448 Commits

Author SHA1 Message Date
Nick Clifton ba96438334 stormy16-lib2.c: Arrange for separate compilation of each function.
* config/stormy16/stormy16-lib2.c: Arrange for separate
        compilation of each function.
        (__ffshi2): New function.
        (__stormy16_count_leading_zeros): New function.
        * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Use stub files to
        compile each function into its own object file.
        (stormy16-lib2-ashlsi3.c): New stub file.
        (stormy16-lib2-ashrsi3.c): New stub file.
        (stormy16-lib2-clzhi2.c): New stub file.
        (stormy16-lib2-count-leading-zeros.c): New stub file.
        (stormy16-lib2-ctzhi2.c): New stub file.
        (stormy16-lib2-divsi3.c): New stub file.
        (stormy16-lib2-ffshi2.c): New stub file.
        (stormy16-lib2-lshrsi3.c): New stub file.
        (stormy16-lib2-modsi3.c): New stub file.
        (stormy16-lib2-parityhi2.c): New stub file.
        (stormy16-lib2-popcounthi2.c): New stub file.
        (stormy16-lib2-udivmodsi4.c): New stub file.
        (stormy16-lib2-udivsi3.c): New stub file.
        (stormy16-lib2-umodsi3.c): New stub file.
        * longlong.h (count_leading_zeros): Define macro for stormy16
        target.
        (COUNT_LEADING_ZEROS_0): Likewise.

From-SVN: r154713
2009-11-27 18:56:10 +00:00
Paolo Carlini c7f06e1309 re PR c++/38656 (Broken diagnostic: 'template_id_expr' not supported by pp_c_expression)
cp/
2009-11-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/38656
	* cxx-pretty-print.c (pp_cxx_expression): Handle TEMPLATE_ID_EXPR.

testsuite/
2009-11-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/38656
	* g++.dg/cpp0x/error2.C: New.

From-SVN: r154712
2009-11-27 16:36:43 +00:00
Richard Henderson b0d49a6e80 sse.md (vec_interleave_highv16qi, [...]): Remove expanders.
* config/i386/sse.md (vec_interleave_highv16qi,
	vec_interleave_lowv16qi, vec_interleave_highv8hi,
	vec_interleave_lowv8hi, vec_interleave_highv4si,
	vec_interleave_lowv4si, vec_interleave_highv2di,
	vec_interleave_lowv2di, vec_interleave_highv4sf,
	vec_interleave_lowv4sf, vec_interleave_highv2df,
	vec_interleave_lowv2df): Remove expanders.
	(sse_unpcklps, sse_unpckhps, sse2_unpckhpd_exp, sse2_unpcklpd_exp,
	sse2_punpckhqdq, sse2_punpcklqdq, sse2_punpckhbw, sse2_punpcklbw,
	sse2_punpckhwd, sse2_punpcklwd, sse2_punpckhdq, sse2_punpckldq):
	Rename to their proper vec_interleave equivalent.  Update all users
	to the new name.
	* config/i386/i386.c, config/i386/i386.md: Update all users.

From-SVN: r154711
2009-11-27 07:58:50 -08:00
Michael Matz 315adedaf3 re PR rtl-optimization/42084 (Wrong result with -Os -fno-delete-null-pointer-checks)
PR rtl-optimization/42084
        * cfgexpand.c (maybe_cleanup_end_of_block): Add new parameter,
        use it to stop walking.
        (expand_gimple_cond): Adjust call to above.

testsuite/
        * gcc.dg/pr42084.c: New test.

From-SVN: r154709
2009-11-27 15:35:50 +00:00
Rainer Orth 67c330aec4 re PR target/41810 (Cannot build gcc: gthr-default.h:466: error: '__mutex' was not declared in this scope)
PR target/41810
	* gthr-solaris.h (__gthread_mutex_destroy): Remove UNUSED.
	[SUPPORTS_WEAK && GTHREAD_USE_WEAK] (__gthread_active_p): Use
	__extension__ to allow cast from function pointer to object
	pointer in C++.
	* doc/install.texi (--enable-threads): Clarify use of Solaris
	threads.

From-SVN: r154708
2009-11-27 15:17:04 +00:00
Steven Bosscher 7400e46be6 Remove support for Itanium1 (Merced)
* config/ia64/itanium1.md: Remove.
	* config/ia64/ia64.md: Do not include it.
	* config/ia64/ia64.c (ia64_handle_option): Remove "itanium",
	"itanium1", and "merced" from the processor alias table.
	(clocks, add_cycles): Remove global variables.
	(ia64_sched_reorder2): Don't set/use them.
	(ia64_dfa_new_cycle, ia64_h_i_d_extended, ia64_reorg): Likewise.
	(bundling): Likewise. Remove extra pass for MMMUL/MMSHF.

From-SVN: r154707
2009-11-27 14:30:34 +00:00
Andreas Krebbel 3a892e4495 s390.c (last_scheduled_insn): New variable.
2009-11-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.c (last_scheduled_insn): New variable.
	(s390_fpload_toreg, s390_z10_prevent_earlyload_conflicts): New
	functions.
	(s390_sched_reorder, s390_sched_variable_issue): New functions.
	(TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_REORDER): Target hooks
	defined.

From-SVN: r154705
2009-11-27 13:12:25 +00:00
Michael Matz d815d34e46 re PR c++/41906 (ICE with catch(...) and -fpermissive)
PR c++/41906
        * tree-eh.c (lower_catch): Stop after expanding a catch-all.

testsuite/
        * g++.dg/tree-ssa/pr41906.C: New testcase.

From-SVN: r154704
2009-11-27 13:08:58 +00:00
Richard Guenther b56ae8c7c7 timevar.def (TV_LOOP_MOVE_INVARIANTS, [...]): New timevars.
2009-11-27  Richard Guenther  <rguenther@suse.de>

	* timevar.def (TV_LOOP_MOVE_INVARIANTS, TV_LOOP_UNSWITCH,
	TV_LOOP_UNROLL, TV_LOOP_DOLOOP): New timevars.
	* loop-init.c (pass_rtl_move_loop_invariants): Use
	TV_LOOP_MOVE_INVARIANTS.
	(pass_rtl_unswitch): Use TV_LOOP_UNSWITCH.
	(pass_rtl_unroll_and_peel): Use TV_LOOP_UNROLL.
	(pass_rtl_doloop): Use TV_LOOP_DOLOOP.

From-SVN: r154703
2009-11-27 12:43:08 +00:00
Andreas Krebbel 9c517bf372 emit-rtl.c (next_active_insn, [...]): Correct comment.
2009-11-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* emit-rtl.c (next_active_insn, prev_active_insn): Correct
	comment.

From-SVN: r154702
2009-11-27 12:00:28 +00:00
Jakub Jelinek f1ed99cda5 i386.c (ix86_emit_restore_sse_regs_using_mov): Remove unused insn variable.
* config/i386/i386.c (ix86_emit_restore_sse_regs_using_mov): Remove
	unused insn variable.
	* genemit.c (output_peephole2_scratches): Only declare and initialize
	_regs_allocated if it will be ever used.
	* cfgloopmanip.c (create_empty_if_region_on_edge): Remove unused
	succ_bb variable.
	(create_empty_loop_on_edge): Remove unused freq and cnt variables.
	* unwind-c.c (PERSONALITY_FUNCTION): Remove unused action_record
	variable.

From-SVN: r154701
2009-11-27 12:37:06 +01:00
Jakub Jelinek e96fee3e91 opts.c (decode_options): If optimize is bigger than 255, set it to 255.
* opts.c (decode_options): If optimize is bigger than 255,
	set it to 255.

	* gcc.dg/O16384.c: New test.

From-SVN: r154699
2009-11-27 12:31:55 +01:00
Paolo Carlini 85539630e3 re PR c++/35112 (ICE and broken diagnostic with ambiguous class name)
/cp
2009-11-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/35112
	* pt.c (print_overloaded_functions): New.
	(print_candidates): Call the latter.
	* parser.c (cp_parser_class_name): Do not duplicate the diagnostics
	after the cp_parser_lookup_name call.

/testsuite
2009-11-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/35112
	* g++.dg/parse/crash53.C: New.
	* g++.dg/parse/error17.C: Adjust, error messages are not
	duplicated anymore.
	* g++.dg/template/dtor7.C: Remove xfail-ed dg-bogus directives.

From-SVN: r154698
2009-11-27 10:44:49 +00:00
GCC Administrator 58b9741ecb Daily bump.
From-SVN: r154697
2009-11-27 00:16:49 +00:00
Uros Bizjak 22b9d529e8 vperm-v4sf-1.c (dg-options): Use -msse2.
* 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
2009-11-27 00:24:10 +01:00
Richard Henderson 08f3084be2 sse.md (mulv16qi3): Change back from an expander to an insn-and-split.
* 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
2009-11-26 15:09:56 -08:00
Jerry DeLisle 5e1a89f009 re PR fortran/41807 (data statement with nested type constructors)
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
2009-11-26 21:52:52 +00:00
Bernd Schmidt 15b83b0f47 cfgexpand (n_stack_vars_conflict): New static variable.
* 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
2009-11-26 21:46:45 +00:00
Bernd Schmidt a96caf8085 re PR rtl-optimization/38582 (excessive time in rename registers)
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
2009-11-26 21:41:42 +00:00
Bernd Schmidt 6bda9bdf52 re PR rtl-optimization/38582 (excessive time in rename registers)
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
2009-11-26 21:35:35 +00:00
Jason Merrill c5c39ab37a PR c++/42026, DR 239
PR c++/42026, DR 239
	* parser.c (cp_parser_postfix_expression): A local extern also
	prevents arg-dependent lookup.

From-SVN: r154686
2009-11-26 15:58:47 -05:00
Jason Merrill 1e1779fe22 add missing testsuite/ChangeLog entry
From-SVN: r154685
2009-11-26 15:58:41 -05:00
Gabriel Dos Reis 612e541cfc * decl.c (grokdeclarator): Remove period at end of diagnosic message.
From-SVN: r154684
2009-11-26 20:00:43 +00:00
Jerry DeLisle ba2335f224 re PR fortran/41278 (internal compiler error related to matmul and transpose)
2009-11-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/41278
	* gfortran.dg/array_function_5.f90: New test.

From-SVN: r154681
2009-11-26 19:10:29 +00:00
Jerry DeLisle 4252ed2bd7 re PR fortran/41278 (internal compiler error related to matmul and transpose)
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
2009-11-26 19:05:37 +00:00
Janus Weil 2d71b918d4 re PR fortran/42048 ([F03] Erroneous syntax error message on TBP call)
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
2009-11-26 20:01:02 +01:00
Eric Botcazou 90dcfecb47 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
2009-11-26 17:47:48 +00:00
Eric Botcazou da49a7837a 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
2009-11-26 17:46:16 +00:00
Richard Guenther a61f9cc067 tree-ssa-dce.c (nr_walks): New variable.
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
2009-11-26 17:00:19 +00:00
Jason Merrill 6780e186fc 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
2009-11-26 10:59:52 -05:00
Michael Matz 87cd42599c tree-eh.c (lower_eh_constructs_2): Don't add assignments below statements that can't fall thru.
* 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
2009-11-26 15:54:07 +00:00
Michael Matz 6dc3bf569b builtins.c (expand_builtin_printf, [...]): Remove.
* builtins.c (expand_builtin_printf, expand_builtin_fprintf,
        expand_builtin_sprintf): Remove.
        (expand_builtin): Don't call them.

From-SVN: r154673
2009-11-26 13:49:35 +00:00
Richard Guenther d9b99b4ceb tree-ssa-dce.c (perform_tree_ssa_dce): Allocate visited bitmap.
2009-11-26  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-dce.c (perform_tree_ssa_dce): Allocate visited bitmap.

From-SVN: r154672
2009-11-26 13:09:02 +00:00
Nick Clifton 0d8f38d337 rx.c (rx_expand_epilogue): Add checks for sibcalls being used incorrectly.
* 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
2009-11-26 10:44:28 +00:00
Ben Elliston 5d6b1baca0 posix-threads.cc (ParkHelper::unpark): Do not initialise result, but assign it instead.
* 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
2009-11-26 21:06:35 +11:00
Richard Henderson 0fac515143 i386-builtin-types.awk (DEF_VECTOR_TYPE): Allow an optional 3rd argument to define the mode.
* 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
2009-11-25 18:39:42 -08:00
Richard Henderson dac9d53aef pr36493.c: Call check_vect.
* 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
2009-11-25 18:03:50 -08:00
Richard Henderson faf63e3963 target.h (targetm.vectorize.builtin_vec_perm_ok): New.
* 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
2009-11-25 17:52:19 -08:00
GCC Administrator dac29646db Daily bump.
From-SVN: r154664
2009-11-26 00:16:56 +00:00
Ben Elliston 59a8dc25b1 configure.ac (AC_CHECK_FUNCS): Sort into alphabetical order.
* configure.ac (AC_CHECK_FUNCS): Sort into alphabetical order.
	* configure: Regenerate.

From-SVN: r154660
2009-11-26 09:40:19 +11:00
Eric Botcazou 4f8a6678fb trans.c (unchecked_conversion_lhs_nop): Rename into...
* gcc-interface/trans.c (unchecked_conversion_lhs_nop): Rename into...
	(unchecked_conversion_nop): ...this.  Handle actual parameters.
	(gnat_to_gnu): Adjust for above renaming.

From-SVN: r154659
2009-11-25 21:57:02 +00:00
Eric Botcazou ca37373a97 decl.c (gnat_to_gnu_entity): Translate regular boolean types into BOOLEAN_TYPEs.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>:
	Translate regular boolean types into BOOLEAN_TYPEs.

From-SVN: r154658
2009-11-25 21:28:00 +00:00
Jakub Jelinek 281e33e1bb re PR fortran/42162 (OpenMP: ICE: tree check in omp_add_variable, at gimplify.c:5282)
PR fortran/42162
	* trans-openmp.c (gfc_trans_omp_do): When dovar isn't a VAR_DECL,
	don't use simple loop and handle clauses properly.

	* testsuite/libgomp.fortran/pr42162.f90: New test.

From-SVN: r154654
2009-11-25 21:28:56 +01:00
Jakub Jelinek fc07d9e3cb sysv4.opt (mregnames): Change Var to rs6000_regnames.
* config/rs6000/sysv4.opt (mregnames): Change Var to rs6000_regnames.
	* config/rs6000/sysv4.h (TARGET_REGNAMES): Define.

	* gcc.target/powerpc/regnames-1.c: New test.

From-SVN: r154653
2009-11-25 21:23:20 +01:00
Jakub Jelinek 72b2bc46f5 re PR target/42165 (-masm=intel doesn't know how to print AVX instructions)
PR target/42165
	* config/i386/i386.c (print_operand): For 32-byte memory use
	YMMWORD in -masm=intel mode.  Use TBYTE instead of XWORD.
	* config/i386/i386.md (crc32modesuffix): Expand to nothing
	in -masm=intel mode.
	(sse4_2_crc32di): Print just crc32 instead of crc32q in
	-masm=intel mode.
	* config/i386/mmx.md (*mmx_pinsrw): Print correct size of
	memory operand in -masm=intel mode.
	* config/i386/sse.md (*avx_pinsr<ssevecsize>, *sse4_1_pinsrb,
	*sse2_pinsrw): Likewise.
	(sse_cvtss2siq, sse_cvtss2siq_2, sse_cvttss2siq): Don't print
	q suffix in -masm=intel mode.

From-SVN: r154652
2009-11-25 21:20:40 +01:00
Jakub Jelinek 8a2bbeef66 print-rtl.c (print_rtx): When printing newline, append print_rtx_head and indentation after the newline.
* print-rtl.c (print_rtx): When printing newline, append
	print_rtx_head and indentation after the newline.

From-SVN: r154651
2009-11-25 21:18:37 +01:00
Eric Botcazou 42da303a46 re PR target/10127 (-fstack-check let's program crash)
PR target/10127
	PR ada/20548
	PR middle-end/42004
	* dwarf2out.c (dwarf2out_args_size_adjust): Rename to...
	(dwarf2out_stack_adjust): ...this.  Do not adjust the arg size for
	ACCUMULATE_OUTGOING_ARGS targets.  Rename former version to...
	(dwarf2out_notice_stack_adjust): ...this.  Adjust for above renaming.
	(dwarf2out_frame_debug_expr): Revert previous change and adjust for
	above renaming.
	(dwarf2out_frame_debug): Add ??? comment.  Adjust for above renaming.

From-SVN: r154650
2009-11-25 19:55:11 +00:00
Uros Bizjak 85b1d1bd1a predicates.md (emms_operation): New predicate.
* config/i386/predicates.md (emms_operation): New predicate.
	(vzeroupper_operation): Ditto.
	(vzeroall_operation): Improve pattern recognition.
	* config/i386/sse.md (avx_vzeroupper_rex64): Remove insn pattern.
	(avx_vzeroupper): Change insn pattern to expander.
	(*avx_vzeroupper): New insn pattern.  Use vzeroupper_operation
	predicate.
	(*avx_vzeroall): Remove operands 1 and 2.
	* config/i386/mmx.md (mmx_emms): Change insn pattern to expander.
	(mmx_femms): Ditto.
	(*mmx_emms): New insn pattern.  Use emms_operation predicate.
	(*mmx_femms): Ditto.
	* config/i386/i386.c (enum ix86_builtins)
	<IX86_BUILTIN_VZEROUPPER_REX64>: Remove.
	(struct builtin_description) <CODE_FOR_avx_vzeroupper_rex64>:
	Remove initailization.
	<CODE_FOR_avx_vzeroupper>: Unconditionally initialize here.

From-SVN: r154649
2009-11-25 20:32:37 +01:00
Paul Brook 5115f061bf arm.md (consttable_4): Handle (high ...).
2009-11-25  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/arm.md (consttable_4): Handle (high ...).

From-SVN: r154648
2009-11-25 13:58:51 +00:00
Robert Nelson 70dd156abb arm.h (enum vfp_reg_type): Add VFP_NONE.
2009-11-25  Robert Nelson  <robert.nelson@digikey.com>
	    Richard Earnshaw  <rearnsha@arm.com>

	* arm.h (enum vfp_reg_type): Add VFP_NONE.
	* arm.c (all_fpus): Use it for floating point units that aren't based
	on the VFP architecture.
	(aapcs_vfp_is_call_or_return_candidate): Make base_mode a pointer to
	enum machine_mode.

Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>

From-SVN: r154647
2009-11-25 11:23:07 +00:00