Commit Graph

102013 Commits

Author SHA1 Message Date
Maxim Kuvyrkov 62a3f636a2 dbgcnt.def (hoist_insn): New debug counter.
* dbgcnt.def (hoist_insn): New debug counter.
	* gcse.c (hoist_code): Use it.

From-SVN: r162586
2010-07-27 19:12:21 +00:00
Xinliang David Li e2102efc00 Multiple exit loop handling in ivopts. Regression tested on x86-64/linux
From-SVN: r162585
2010-07-27 18:18:25 +00:00
Uros Bizjak 01d2a0c170 * Fix extra brackets in my previous commit.
From-SVN: r162584
2010-07-27 20:10:34 +02:00
Uros Bizjak c013221eda gcc-dg.exp (cleanup-coverage-files): Remove options from test name.
* lib/gcc-dg.exp (cleanup-coverage-files): Remove options from
	test name.
	(cleanup-repo-files): Ditto.
	(cleanup-saved-temps): Ditto.

From-SVN: r162583
2010-07-27 19:55:00 +02:00
Jakub Jelinek f3184b4ce1 re PR target/44542 (expand_one_stack_var_at may set DECL_ALIGN to a too high value)
PR target/44542
	* cfgexpand.c (expand_one_stack_var_at): Limit align to maximum
	of max_used_stack_slot_alignment and PREFERRED_STACK_BOUNDARY
	instead of MAX_SUPPORTED_STACK_ALIGNMENT.
	(expand_one_var): Don't consider DECL_ALIGN for variables for
	which expand_one_stack_var_at has been already called.

From-SVN: r162582
2010-07-27 19:54:32 +02:00
Jakub Jelinek fea31288e6 re PR testsuite/44701 (PR44492 fix broke gcc.target/powerpc/asm-es-2.c)
PR testsuite/44701
	* doc/md.texi: Clarify m and es constraints on PowerPC and m and S
	constraints on IA-64.

	* gcc.target/powerpc/asm-es-2.c (f2): Add <> constraints.

From-SVN: r162581
2010-07-27 19:52:35 +02:00
Paolo Carlini 9b04fa9118 acinclude.m4 ([GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS]): Fix messages.
2010-07-27  Paolo Carlini  <paolo.carlini@oracle.com>

	* acinclude.m4 ([GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS]): Fix
	messages.
	* configure: Regenerate.

From-SVN: r162580
2010-07-27 17:41:47 +00:00
Jie Zhang 65e2958885 re PR target/44290 (__naked attribute is broken)
PR target/44290
	Revert
	2010-07-23  Jie Zhang  <jie@codesourcery.com>
	* tree-sra.c (ipa_sra_preliminary_function_checks): Return
	false if ! tree_versionable_function_p.

From-SVN: r162579
2010-07-27 17:33:30 +00:00
Paolo Carlini f67a9881a8 [multiple changes]
2010-07-27  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/vstring_util.h: Include bits/range_access.h.
	* testsuite/ext/vstring/range_access.cc: New test.

2010-07-27  Ed Smith-Rowland  <3dw4rd@verizon.net>

	* include/bits/range_access.h: New.
	* include/Makefile.in: Add bits/range_access.h.
	* include/Makefile.am: Regenerate.
	* include/std/array: Include bits/range_access.h.
	* include/std/deque: Ditto.
	* include/std/forward_list: Ditto.
	* include/std/iterator: Ditto.
	* include/std/list: Ditto.
	* include/std/map: Ditto.
	* include/std/regex: Ditto.
	* include/std/set: Ditto.
	* include/std/string: Ditto.
	* include/std/unordered_map: Ditto.
	* include/std/unordered_set: Ditto.
	* include/std/vector: Ditto.
	* include/std/valarray: Add begin() and end().
	* libsupc++/initializer_list: Ditto.
	* include/tr1_impl/utility: Add begin() and end().
	* include/std/tuple: Ditto.
	* testsuite/24_iterators/headers/iterator/range_access.cc: New test.
	* testsuite/24_iterators/range_access.cc: Ditto.
	* testsuite/28_regex/range_access.cc: Ditto.
	* testsuite/18_support/initializer_list/range_access.cc: Ditto.
	* testsuite/21_strings/basic_string/range_access.cc: Ditto.
	* testsuite/26_numerics/valarray/range_access.cc: Ditto.
	* testsuite/23_containers/unordered_map/range_access.cc: Ditto.
	* testsuite/23_containers/multimap/range_access.cc: Ditto.
	* testsuite/23_containers/set/range_access.cc: Ditto.
	* testsuite/23_containers/unordered_multimap/range_access.cc: Ditto.
	* testsuite/23_containers/forward_list/range_access.cc: Ditto.
	* testsuite/23_containers/unordered_set/range_access.cc: Ditto.
	* testsuite/23_containers/vector/range_access.cc: Ditto.
	* testsuite/23_containers/deque/range_access.cc: Ditto.
	* testsuite/23_containers/multiset/range_access.cc: Ditto.
	* testsuite/23_containers/list/range_access.cc: Ditto.
	* testsuite/23_containers/unordered_multiset/range_access.cc: Ditto.
	* testsuite/23_containers/map/range_access.cc: Ditto.
	* testsuite/23_containers/array/range_access.cc: Ditto.
	* testsuite/20_util/tuple/range_access.cc: Ditto.
	* testsuite/20_util/pair/range_access.cc: Ditto.

From-SVN: r162578
2010-07-27 17:27:06 +00:00
Jakub Jelinek 9f39bd5316 dwarf2out.c (add_data_member_location_attribute): Use add_AT_unsigned instead of add_AT_int if offset is non-negative.
* dwarf2out.c (add_data_member_location_attribute): Use
	add_AT_unsigned instead of add_AT_int if offset is non-negative.

From-SVN: r162576
2010-07-27 17:47:43 +02:00
Jakub Jelinek f551f80cd1 re PR c/45079 (function names in error message (�c_maybe_const_expr� not supported by 'pp_c_expression'))
PR c/45079
	* c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.

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

From-SVN: r162575
2010-07-27 17:46:25 +02:00
Bernd Schmidt a78e242c07 postreload.c (try_replace_in_use): New static function.
* postreload.c (try_replace_in_use): New static function.
	(reload_combine_recognize_const_pattern): Use it here.  Allow
	substituting into a final add insn, and substituting into a memory
	reference in an insn that sets the reg.

From-SVN: r162573
2010-07-27 15:20:14 +00:00
Joseph Myers 61ff2bdc6c common.opt (o): Add MissingArgError.
* common.opt (o): Add MissingArgError.
	* doc/options.texi (MissingArgError): Document.
	* hooks.c (hook_bool_constcharptr_size_t_false): Remove.
	* hooks.h (hook_bool_constcharptr_size_t_false): Remove.
	* langhooks-def.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
	(LANG_HOOKS_INITIALIZER): Remove missing_argument hook
	initializer.
	* langhooks.h (struct lang_hooks): Remove missing_argument.
	* optc-gen.awk: Handle MissingArgError and output new structure
	field initializers.
	* opts.c (read_cmdline_option): Use missing_argument_error field
	instead of missing_argument langhook.
	* opts.h (struct cl_option): Add missing_argument_error field.
	* system.h (LANG_HOOKS_MISSING_ARGUMENT): Poison.

c-family:
	* c-common.h (c_common_missing_argument): Remove.
	* c-opts.c (c_common_missing_argument): Remove.
	* c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
	idirafter, imacros, include, isysroot, isystem, iquote): Add
	MissingArgError.
	* c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.

cp:
	* cp-objcp-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.

po:
	* exgettext: Also extract MissingArgError texts from .opt files.

From-SVN: r162571
2010-07-27 15:43:31 +01:00
Iain Sandoe 4e98bcaf29 add missing changelog
From-SVN: r162569
2010-07-27 13:31:14 +00:00
Iain Sandoe 4b316a1e8b re PR target/29090 (gcc.dg-struct-layout-1 failures on Darwin PPC at -m64)
PR target/29090
	* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Special-case the
	Darwin64 ABI, for zero-sized objects.

From-SVN: r162568
2010-07-27 13:26:34 +00:00
Iain Sandoe a9ab25e2b4 re PR target/35491 (wrong ABI for some struct passing with vector code)
PR target/35491
	PR target/29090

	Merge from Apple local 4.2.1.
	2005-05-11  Stan Shebs  <shebs@apple.com>
	Fix 64-bit varargs for Darwin (Radar 4028089).
	* config/rs6000/rs6000.h (rs6000_args): New field floats_in_gpr.
	* config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_flush):
	Add argument, add case for 8-byte register half-filled with a float.
	(rs6000_darwin64_record_arg_advance_recurse): Detect and handle
	single-precision floats specially.

From-SVN: r162567
2010-07-27 13:24:08 +00:00
Ira Rosen 2200fc4965 re PR tree-optimization/44152 (ICE on compiling xshow.f of xplor-nih with -O3 -ffast-math -fwhopr)
PR tree-optimization/44152
	* tree-vect-slp.c (vect_build_slp_tree): Collect nodes with
	complex numbers for further check.
	(vect_supported_load_permutation_p): Check nodes with 
	complex numbers.

From-SVN: r162564
2010-07-27 12:26:31 +00:00
Iain Sandoe 5a8e93d832 re-enable tls and lto tests for ObjC/C++
PR ObjC/44140
	* obj-c++.dg/torture/tls/thr-init-1.mm: Re-enable test.
	* obj-c++.dg/torture/tls/thr-init-2.mm: Ditto.
	* obj-c++.dg/torture/tls/thr-init-3.mm: Ditto.
	* obj-c++.dg/torture/trivial.mm: Ditto.
	* objc.dg/torture/tls/thr-init-2.m: Ditto.
	* objc.dg/torture/tls/thr-init-3.m: Ditto.
	* objc.dg/torture/tls/thr-init.m: Ditto.
	* objc.dg/torture/trivial.m: Ditto.

From-SVN: r162563
2010-07-27 12:02:50 +00:00
Paolo Carlini ddc9c40d20 acinclude.m4 ([GLIBCXX_CHECK_STDIO_MACROS]): Remove.
2010-07-27  Paolo Carlini  <paolo.carlini@oracle.com>
	    Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* acinclude.m4 ([GLIBCXX_CHECK_STDIO_MACROS]): Remove.
	([GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS]): Add, actually
	compute the constants via AC_COMPUTE_INT.
	* configure.ac: Call the latter.
	* include/bits/ios_base.h: Adjust.
	* include/bits/char_traits.h: Likewise.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust dg-error
	line number.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
	* config.h.in: Regenerate.
	* configure: Likewise.

2010-07-27  Paolo Carlini  <paolo.carlini@oracle.com>

	* config/io/c_io_stdio.h: Do not include <cstddef>.

Co-Authored-By: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>

From-SVN: r162562
2010-07-27 10:36:50 +00:00
Uros Bizjak a691bb0894 char4_iunit_1.f03: Add ieee options.
* gfortran.dg/char4_iunit_1.f03: Add ieee options.
	Skip on spu-*-* targets.

From-SVN: r162561
2010-07-27 12:29:02 +02:00
Joseph Myers 7a9bf9a4e0 langhooks-def.h (lhd_init_options, [...]): New.
* langhooks-def.h (lhd_init_options, LANG_HOOKS_OPTION_LANG_MASK,
	LANG_HOOKS_COMPLAIN_WRONG_LANG_P): New.
	(LANG_HOOKS_INIT_OPTIONS): Update default definition.
	(LANG_HOOKS_INITIALIZER): Add new hooks.
	* langhooks.c (lhd_init_options, lhd_complain_wrong_lang_p): New.
	* langhooks.h (struct lang_hooks): Add new hooks option_lang_mask
	and complain_wrong_lang_p.  Update init_options prototype.
	* c-objc-common.c (c_initialize_diagnostics): First call
	c_common_initialize_diagnostics.
	* c-objc-common.h (LANG_HOOKS_OPTION_LANG_MASK,
	LANG_HOOKS_COMPLAIN_WRONG_LANG_P): Define.
	* coretypes.h (struct cl_option, struct cl_decoded_option):
	Declare.
	* hooks.c (hook_uint_uint_constcharptrptr_0): Remove.
	(hook_uint_void_0): New.
	* hooks.h (hook_uint_uint_constcharptrptr_0): Remove.
	(hook_uint_void_0): New.
	* opts-common.c (decode_cmdline_option,
	decode_cmdline_options_to_array): Also fill in canonical_option
	field.
	* opts.c (complain_wrong_lang): Use langhook to determine whether
	to complain instead of special-casing LTO.
	(decode_options): Separate lang_mask determination with
	option_lang_mask hook from call of init_options hook.
	* opts.h (struct cl_decoded_option): Add canonical_option.

ada:
	* gcc-interface/misc.c (gnat_option_lang_mask): New.
	(gnat_init_options): Update prototype.  Reconstruct argv array
	from decoded options.

c-family:
	* c-common.h (c_common_option_lang_mask,
	c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
	New.
	(c_common_init_options): Update prototype.
	* c-opts.c (c_common_option_lang_mask): New.
	(c_common_initialize_diagnostics): Split out of
	c_common_init_options.
	(accept_all_c_family_options, c_common_complain_wrong_lang_p):
	New.
	(c_common_init_options): Update prototype.  Use decoded options in
	search for -lang-asm.

cp:
	* cp-objcp-common.c (cxx_initialize_diagnostics): First call
	c_common_initialize_diagnostics.
	* cp-objcp-common.h (LANG_HOOKS_OPTION_LANG_MASK,
	LANG_HOOKS_COMPLAIN_WRONG_LANG_P): Define.

fortran:
	* cpp.c (gfc_cpp_init_options): Update prototype.  Use number of
	decoded options in allocating deferred_opt.
	* cpp.h (gfc_cpp_init_options): Update prototype.
	* f95-lang.c (LANG_HOOKS_OPTION_LANG_MASK): Define.
	* gfortran.h (gfc_option_lang_mask): New.
	(gfc_init_options): Update prototype.
	* options.c (gfc_option_lang_mask): New.
	(gfc_init_options): Update prototype.  Pass new arguments to
	gfc_cpp_init_options.

java:
	* lang.c (java_option_lang_mask): New.
	(java_init_options): Update prototype.
	(LANG_HOOKS_OPTION_LANG_MASK): Define.

lto:
	* lto-lang.c (lto_option_lang_mask, lto_complain_wrong_lang_p):
	New.
	(lto_init_options): Update prototype.
	(LANG_HOOKS_OPTION_LANG_MASK, LANG_HOOKS_COMPLAIN_WRONG_LANG_P):
	Define.

From-SVN: r162560
2010-07-27 10:59:51 +01:00
Jakub Jelinek 42694189bd re PR tree-optimization/45083 (strange warning text from gcc)
PR tree-optimization/45083
	* tree-inline.c (add_local_variables): Also remap DECL_DEBUG_EXPR.

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

From-SVN: r162559
2010-07-27 11:43:59 +02:00
Bernd Schmidt 2b0cb007fa re PR rtl-optimization/45051 (gcc.c-torture/execute/builtins/abs-2.c and abs-3.c due to "track subwords of DImode allocnos")
PR rtl-optimization/45051
	* reload1.c (delete_output_reload): Use refers_to_regno_p rather
	than reg_mentioned_p.

From-SVN: r162558
2010-07-27 09:34:51 +00:00
Tobias Burnus fb55ca75ae re PR fortran/40873 (-fwhole-file -fwhole-program: Wrong decls cause too much to be optimized away)
2010-07-26  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40873
        * trans-decl.c (gfc_get_extern_function_decl): Fix generation
        for functions which are later in the same file.
        (gfc_create_function_decl, build_function_decl,
        build_entry_thunks): Add global argument.
        * trans.c (gfc_generate_module_code): Update
        gfc_create_function_decl call.
        * trans.h (gfc_create_function_decl): Update prototype.
        * resolve.c (resolve_global_procedure): Also resolve for
        IFSRC_IFBODY.

2010-07-26  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40873
        * gfortran.dg/whole_file_22.f90: New test.
        * gfortran.dg/whole_file_23.f90: New test.

From-SVN: r162557
2010-07-27 10:44:22 +02:00
GCC Administrator bec627e5aa Daily bump.
From-SVN: r162554
2010-07-27 00:17:23 +00:00
Bernd Schmidt 62036819d4 postreload.c (reload_combine_recognize_const_pattern): Move test for limiting the insn movement to the right scope.
* postreload.c (reload_combine_recognize_const_pattern): Move test
	for limiting the insn movement to the right scope.

From-SVN: r162550
2010-07-27 00:14:26 +00:00
Richard Henderson 8b84c5966f re PR target/44132 (emutls is broken under a range of circumstances.)
PR target/44132
Emulated TLS rewrite.

From-SVN: r162549
2010-07-26 15:53:50 -07:00
Rainer Orth b57c6b13e0 14220.cc: XFAIL on Solaris 9/x86, 32-bit Solaris 10/x86 and 64-bit Solaris 10/SPARC.
* testsuite/22_locale/num_put/put/char/14220.cc: XFAIL on Solaris
	9/x86, 32-bit Solaris 10/x86 and 64-bit Solaris 10/SPARC.
	* testsuite/22_locale/num_put/put/wchar_t/14220.cc: XFAIL on
	Solaris 9/x86 and 32-bit Solaris 10/x86.

	* testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
	Only XFAIL on Solaris 8 and 9.
	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
	Likewise.

	* testsuite/ext/enc_filebuf/char/13598.cc: XFAIL before Solaris 11.

From-SVN: r162545
2010-07-26 20:54:57 +00:00
Jan Hubicka b7956a5b86 lto-streamer.h (struct lto_file_decl_data): Mark resolutions with GTY((skip)).
* lto-streamer.h (struct lto_file_decl_data): Mark resolutions with
	GTY((skip)).

From-SVN: r162544
2010-07-26 20:51:29 +00:00
Anatoly Sokolov b5f5d41d1a target.def (output_source_filename): New hook.
* target.def (output_source_filename): New hook.
	* doc/tm.texi.in (TARGET_ASM_OUTPUT_SOURCE_FILENAME): Document.
	* doc/tm.texi: Regenerate.
	* toplev.c (output_file_directive) Remove function.
	* toplev.h (output_file_directive) Remove.
	* output.h (default_asm_output_source_filename,
	output_file_directive): Declare.
	* varasm.h (default_asm_output_source_filename,
	output_file_directive): New functions.

	* config/mips/mips.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.
	* config/mips/mips-protos.h (mips_output_filename): Remove.
	* config/mips/mips.c (mips_output_filename): Make Static.
	(TARGET_ASM_OUTPUT_SOURCE_FILENAME): Define.

From-SVN: r162542
2010-07-26 22:00:17 +04:00
Rainer Orth 114e33e1e6 pr44900.C: Use dg-require-effective-target sse_runtime.
* g++.dg/torture/pr44900.C: Use dg-require-effective-target
	sse_runtime.
	* gcc.dg/attr-weak-hidden-1a.c: Use dg-require-weak,
	dg-require-visibility.

From-SVN: r162541
2010-07-26 16:23:01 +00:00
Jakub Jelinek acb5c916ea libgomp.texi: Add function keyword to a couple of Fortran interfaces...
* libgomp.texi: Add function keyword to a couple of Fortran
	interfaces, use integer instead of int for Fortran.

From-SVN: r162540
2010-07-26 18:22:18 +02:00
Richard Guenther 7f8ac3d7f9 re PR tree-optimization/43784 (-Os -fkeep-inline-functions causes FAIL: gcc.c-torture/execute/builtins/pr22237.c execution)
2010-07-26  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/43784
	* tree-nrv.c (dest_safe_for_nrv_p): It's not safe to NRV
	if the destination is used by the call.

	* gcc.c-torture/execute/pr43784.c: New testcase.
	* g++.dg/torture/pr43784.C: Likewise.

From-SVN: r162539
2010-07-26 16:01:55 +00:00
Aldy Hernandez 6a2ba1839d libgomp.texi: Fix spelling and pasto problems throughout.
* libgomp.texi: Fix spelling and pasto problems throughout.
        Adjust prototypes to match code.

From-SVN: r162538
2010-07-26 15:26:17 +00:00
Richard Guenther edc74207de re PR tree-optimization/45073 (gfortran.dg/assumed_charlen_function_3.f90 ICEs with -fprofile-generate)
2010-07-26  Richard Guenther  <rguenther@suse.de>

	PR middle-end/45073
	* gimple-fold.c (gimplify_and_update_call_from_tree): Conditionalize
	SSA updating on being in SSA form.

From-SVN: r162537
2010-07-26 14:48:43 +00:00
Richard Guenther bd422c4a74 re PR tree-optimization/45056 (ICE: in refs_may_alias_p_1, at tree-ssa-alias.c:1023)
2010-07-26  Richard Guenther  <rguenther@suse.de>

	PR middle-end/45056
	* gimple-fold.c (fold_stmt_1): Also fold references in
	debug stmts.

	* g++.dg/pr45056.C: New testcase.

From-SVN: r162536
2010-07-26 13:29:14 +00:00
Richard Guenther e093ffe3c2 re PR tree-optimization/45071 (ICE: tree check: expected ssa_name, have integer_cst in inhibit_phi_insertion, at tree-ssa-pre.c:3278 with -ftree-pre -ftree-vectorize)
2010-07-26  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/45071
	* tree-ssa-sccvn.c  (vn_reference_maybe_forwprop_address): Always
	adjust op->opcode.

	* gcc.dg/pr45071.c: New testcase.

From-SVN: r162534
2010-07-26 12:48:37 +00:00
Tobias Burnus 71ff73f3fb re PR fortran/45066 (ICE in namelist read in snapshot of 7/24/2010)
2010-07-26  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45066
        * trans-io.c (build_dt): Use NULL_TREE rather than NULL
        for call to transfer_namelist_element.
        * trans-decl.c (gfc_get_symbol_decl): Also set sym->backend_decl
        for -fwhole-file.

2010-07-26  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45066
        * gfortran.dg/namelist_62.f90: New.

From-SVN: r162532
2010-07-26 12:30:45 +02:00
Tobias Burnus aa622bf19f Add file forgotten in commit Rev. 162500
2010-07-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40011
        * gfortran.dg/whole_file_21.f90: New.

From-SVN: r162531
2010-07-26 11:53:19 +02:00
Naveen.H.S 223a9d6445 configure.ac: Support all v850 targets.
* configure.ac: Support all v850 targets.
        * configure: Regenerate.

        * config/v850/lib1funcs.asm (save_r2_r31, return_r2_r31,
        save_r20_r31, return_r20_r31, save_r21_r31, return_r21_r31,
        save_r22_r31, return_r22_r31, save_r23_r31, return_r23_r31,
        save_r24_r31, return_r24_r31, save_r25_r31, return_r25_r31,
        save_r26_r31, return_r26_r31, save_r27_r31, return_r27_r31,
        save_r28_r31, return_r28_r31, save_r29_r31, return_r29_r31,
        save_r31, return_r31, save_interrupt, return_interrupt,
        save_all_interrupt, return_all_interrupt, L_save_r2_r31,
        L_return_interrupt, callt_return_interrupt, L_restore_all_interrupt,
        L_save_##START##_r31c, L_callt_save_r31c: Updated as per the
        new ABI requirements.
        save_r6_r9, L_callt_save_r6_r9: Remove.
        * config/v850/predicates.md (even_reg_operand, disp23_operand,
        const_float_1_operand const_float_0_operand): New Predicates.
        (pattern_is_ok_for_prepare, pattern_is_ok_for_prologue,
        pattern_is_ok_for_epilogue): Update as per the ABI requirements.
        * config/v850/t-v850: Update multilibs for new target variants.
        (save_varargs, callt_save_varargs, callt_save_r6_r9): Remove.
        * config/v850/t-v850e: Likewise.
        * config/v850/v850.c (v850_issue_rate): New.
        (v850_strict_argument_naming): New.
        (function_arg): Modify to generate a different ABI.
        (print_operand): Update case 'z' to support float modes.
        (output_move_single): Modify to generate appropriate and better
        assembly.
        (v850_float_z_comparison_operator, v850_select_cc_mode,
        v850_float_nz_comparison_operator,  v850_gen_float_compare,
        v850_gen_compare): New functions to support comparison of
        float values.
        (ep_memory_offset): Add support for V850E2 targets.
        (INTERRUPT_FIXED_NUM, INTERRUPT_ALL_SAVE_NUM): Update.
        (INTERRUPT_REGPARM_NUM): Remove.
        (compute_register_save_size): Add extra case to save/restore
        long call.
        (use_prolog_function): New function to support prologue.
        (expand_prologue): Add support for V850E2 targets and modified
        as per the current ABI requirements.
        (expand_epilogue): Likewise.
        (construct_restore_jr): Modify based on TARGET_LONG_CALLS.
        (construct_save_jarl): Likewise.
        (construct_dispose_instruction): Update as per the current ABI
        requirements.
        (construct_prepare_instruction): Likewise.
        * config/v850/v850.h(TARGET_CPU_DEFAULT): Add target predefines.
        (TARGET_CPU_v850e2, TARGET_CPU_v850e2v3): Define
        (CPP_SPEC): Updated to support v850e2 targets.
        (STRICT_ALIGNMENT): Modified.
        (FIRST_PSEUDO_REGISTER): Updated to add even registers.
        (FIXED_REGISTERS): Likewise.
        (CALL_USED_REGISTERS): Likewise.
        (CONDITIONAL_REGISTER_USAGE): Updated.
        (HARD_REGNO_MODE_OK): Updated.
        (reg_class): Updated to add even registers.
        (REG_CLASS_NAMES): Likewise.
        (REG_CLASS_CONTENTS): Likewise.
        (REGNO_REG_CLASS): Updated for CC registers.
        (REG_CLASS_FROM_LETTER): Added support for even registers.
        (REGNO_OK_FOR_BASE_P): Updated for CC registers.
        (STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM, LINK_POINTER_REGNUM,
        ARG_POINTER_REGNUM): Updated.
        (FUNCTION_ARG_ADVANCE): Define.
        (REG_PARM_STACK_SPACE): Update as per the current ABI requirements.
        (OUTGOING_REG_PARM_STACK_SPACE): Remove.
        (EXTRA_CONSTRAINT): Add new constraint 'W' for 23-bit displacement.
        (GO_IF_LEGITIMATE_ADDRESS): Updated.
        (SELECT_CC_MODE): Define.
        (REGISTER_NAMES): Updated to add psw and fcc registers.
        (ADDITIONAL_REGISTER_NAMES): Updated.
        (ASM_OUTPUT_ADDR_DIFF_ELT): Updated to support new targets.
        (JUMP_TABLES_IN_TEXT_SECTION): Updated.
        * config/v850/v850.md (define_constants): Define new constants.
        (type): Update store,bit1,macc,div,fpu and single attributes.
        (cpu): New attribute.
        (cc): Add set_z attribute.
        (unsign23byte_load, sign23byte_load, unsign23hword_load,
        sign23hword_load, 23word_load, 23byte_store, 23hword_store,
        23word_store): New instructions for 23-bit displacement load and
        store.
        (movqi_internal, movhi_internal): Update the attributes.
        (movsi, movsi_internal_v850e): Updated to support v850e2 targets.
        (movsi_internal_v850e, movsi_internal, movsf_internal): Update
        the attributes.
        (v850_tst1): Modified using CC_REGNUM.
        (tstsi): Remove.
        (cmpsi): Modified as define_expand from define_insn.
        (cmpsi_insn, cmpsf, cmpdf): New instructions.
        (addsi3, subsi3, negsi2, divmodsi4, udivmodsi4, divmodhi4,
        udivmodhi4, v850_clr1_1, v850_clr1_2, v850_clr1_3, andsi3,
        v850_set1_1, v850_set1_3, iorsi3, v850_not1_1, v850_not1_3, xorsi3,
        one_cmplsi2): Clobber the CC_REGNUM register.
        (v850_clr1_1, v850_clr1_2, v850_clr1_3, andsi3, v850_set1_1,
        v850_set1_2, v850_set1_3, iorsi3, v850_not1_1, v850_not1_2,
        v850_not1_3, xorsi3, one_cmplsi2): Update the attributes
        accordingly.
        (setf_insn, set_z_insn, set_nz_insn): New instructions for
        v850e2v3 target.
        (movsicc_normal_cc, movsicc_reversed_cc): New instructions.
        (movsicc, movsicc_normal, movsicc_reversed): Add support for V850E2
        targets.
        (sasf_1, sasf_2): Remove.
        (sasf): New instruction.
        (rotlhi3, rotlhi3_8, rotlsi3, rotlsi3_16): Update to support V850E2
        targets. CC_REGNUM register is clobbered and attributes are
        updated.
        (branch_z_normal, branch_z_invert, branch_nz_normal,
        branch_nz_invert): New branch related instructions.
        (jump): Updated the attributes.
        (switch): Update to support new targets. CC_REGNUM register is
        clobbered and attributes are updated.
        (call_internal_short, call_internal_long, call_value_internal_short,
        call_value_internal_long): Updated the attributes.
        (zero_extendhisi2, zero_extendqisi2): CC_REGNUM register is
        clobbered and attributes are updated.
        (extendhisi_insn, extendhisi2, extendqisi_insn, extendqisi2):
        Update to support new targets. CC_REGNUM register is clobbered.
        (ashlsi3_v850e2, lshrsi3_v850e2, ashrsi3_v850e2): New shift
        instructions.
        (lshrsi3, ashrsi3): CC_REGNUM register is clobbered and attributes
        are updated.
        (ffssi2, addsf3, adddf3, subsf3, subdf3, mulsf3, muldf3, divsf3,
        divdf3, minsf3, mindf3, maxsf3, maxdf3, abssf2, absdf2, negsf2,
        negdf2, sqrtsf2, sqrtdf2, truncsfsi2, truncdfsi2, floatsisf2,
        floatsidf2, extendsfdf2, extenddfsf2, recipsf2, recipdf2,
        rsqrtsf2, rsqrtdf2, maddsf4, msubsf4, nmaddsf4, nmsubsf4,
        cmpsf_le_insn, cmpsf_lt_insn, cmpsf_ge_insn, cmpsf_gt_insn,
        cmpsf_eq_insn, cmpsf_ne_insn, cmpdf_le_insn, cmpdf_lt_insn,
        cmpdf_ge_insn, cmpdf_gt_insn, cmpdf_eq_insn, cmpdf_ne_insn, trfsr,
        movsfcc, movdfcc, movsfcc_z_insn, movsfcc_nz_insn, movdfcc_z_insn,
        movdfcc_nz_insn, movedfcc_z_zero, movedfcc_nz_zero): New floating
        point instructions defined for V850e2v3 target.
        (callt_save_interrupt, callt_return_interrupt, return_interrupt):
        Add support for V850E2 targets and CC_REGNUM register is clobbered.
        (callt_save_all_interrupt, callt_restore_all_interrupt): Add
        support for new targets.
        * config/v850/v850-modes.def: New file.
        * config/v850/v850.opt(mstrict-align): Remove.
        (mno-strict-align, mjump-tables-in-data-section, mv850e2,
        mv850e2v3): New command line options for V850.
        * config.gcc: Update the newly added files.
        * doc/invoke.texi: Update the newly added command line options for
        V850 target.

From-SVN: r162530
2010-07-26 09:39:04 +00:00
Richard Guenther 4e89a3faf8 re PR tree-optimization/45052 (volatile ignored)
2010-07-26  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/45052
	* ipa-pure-const.c (check_stmt): Check volatileness.

From-SVN: r162528
2010-07-26 09:26:43 +00:00
Richard Guenther d4e075f2bd pr45017.c: Move ...
2010-07-26  Richard Guenther  <rguenther@suse.de>

	* gcc.c-torture/execute/pr45017.c: Move ...
	* gcc.dg/torture/pr45017.c: ... here.  Restrict to i?86 and x86_64.

From-SVN: r162527
2010-07-26 09:16:01 +00:00
GCC Administrator 4468d94daf Daily bump.
From-SVN: r162525
2010-07-26 00:17:07 +00:00
Eric Botcazou 58e6223e92 re PR target/44707 (operand requires impossible reload)
PR target/44707
	* config/sparc/sparc-protos.h (sparc_legitimize_reload_address): New.
	* config/sparc/sparc.c: Include reload.h.
	(legitimize_tls_address): Rename into...
	(sparc_legitimize_tls_address): ...this.
	(legitimize_pic_address): Rename into...
	(sparc_legitimize_pic_address): ...this.
	(sparc_expand_move): Adjust to above renaming.
	(sparc_tls_referenced_p): Likewise.
	(sparc_legitimize_tls_address): Likewise.
	(sparc_legitimize_pic_address): Likewise.
	(sparc_legitimize_address): Likewise.
	(sparc_output_mi_thunk): Likewise.
	(sparc_legitimize_reload_address): New global function.  Recognize
	(lo_sum (high ...) ...) patterns generated by earlier passes.
	* config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Use above function.

From-SVN: r162521
2010-07-25 21:46:32 +00:00
Eric Botcazou bfb7cccf06 re PR target/44484 (revision 160260 caused sparc64 testsuite failures)
PR target/44484
	* config/sparc/predicates.md (memory_reg_operand): Delete.
	* config/sparc/sync.md (sync_compare_and_swap): Minor tweaks.
	(*sync_compare_and_swap): Encode the address form in the pattern.
	(*sync_compare_and_swapdi_v8plus): Likewise.

From-SVN: r162520
2010-07-25 21:32:16 +00:00
Thomas Koenig 601d98be18 re PR fortran/40628 (Assignment using "= trim(string)": Optimize "trim" away)
2010-07-25  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/40628
	* Make-lang.in:  Add fortran/frontend-passes.o.
	* gfortran.h:  Add prototype for gfc_run_passes.
	* resolve.c (gfc_resolve):  Call gfc_run_passes.
	* frontend-passes.c:  New file.

2010-07-25  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/40628
	* trim_optimize_1.f90:  New test.
	* character_comparision_1.f90:  New test.

From-SVN: r162519
2010-07-25 19:31:37 +00:00
Jerry DeLisle 32e4257f24 re PR fortran/42852 (gfortran -Wall warns about truncated lines when only a continuation character is truncated)
2010-07-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/42852
	* scanner.c (gfc_next_char_literal): Enable truncation warning for
	free-form '&'.

From-SVN: r162518
2010-07-25 19:10:09 +00:00
Jerry DeLisle 9c15986b8c Fix out of order log entry from 162516 commit.
From-SVN: r162517
2010-07-25 19:07:58 +00:00
Mikael Morin 31fee91edf re PR fortran/44660 (ICE in resolve_equivalence())
2010-07-25  Mikael Morin  <mikael@gcc.gnu.org>

	PR fortran/44660
	* gfortran.h (gfc_namespace): New field old_equiv.
	(gfc_free_equiv_until): New prototype.
	* match.c (gfc_free_equiv_until): New, renamed from gfc_free_equiv with
	a parameterized stop condition.
	(gfc_free_equiv): Use gfc_free_equiv_until.
	* parse.c (next_statement): Save equivalence list.
	(reject_statement): Restore equivalence list.

From-SVN: r162516
2010-07-25 17:01:15 +00:00
Jonathan Wakely 20b84bef2b re PR libstdc++/45060 (Wreorder warning in bits/hashtable.h)
2010-07-25  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/45060
	* include/bits/hashtable.h (_Hashtable::_Hashtable(_Hashtable&&)):
	Reorder mem-initializers.

From-SVN: r162515
2010-07-25 17:44:38 +01:00