Commit Graph

102450 Commits

Author SHA1 Message Date
Sebastian Pop
e1fd038a0c Do not check whether memory references accessed in every iteration trap.
This patch relaxes the checks from gimple_could_trap_p in order to
allow the flag_loop_if_convert_stores to if-convert more loops
in which it is possible to prove that:

- the accesses to an array in a loop do not trap (more than the
  original non-if-converted loop).  This is true when the memory
  accesses are executed at every iteration of the if-converted loop.

- the writes to memory occur on arrays that are not const qualified.
  This is true when there exists at least one unconditional write to
  the array in the analyzed program.  In this patch this analysis is
  limited to the loop to be if-converted.

	* gimple.c (gimple_could_trap_p_1): Not static anymore.
	Pass an extra bool parameter include_mem.
	(gimple_could_trap_p): Adjust call to gimple_could_trap_p_1.
	(gimple_assign_rhs_could_trap_p): Same.
	* gimple.h (gimple_could_trap_p_1): Declared.
	* tree-data-ref.h (same_data_refs_base_objects): New.
	(same_data_refs): New.
	* tree-if-conv.c (memrefs_read_or_written_unconditionally): New.
	(write_memrefs_written_at_least_once): New.
	(ifcvt_memrefs_wont_trap): New.
	(operations_could_trap): New.
	(ifcvt_could_trap_p): New.
	(if_convertible_gimple_assign_stmt_p): Call ifcvt_could_trap_p.
	Gets a vector of data refs.
	(if_convertible_stmt_p): Same.
	(if_convertible_loop_p_1): New.
	(if_convertible_loop_p): Call if_convertible_loop_p_1.

	* gcc.dg/tree-ssa/ifc-5.c: New.

From-SVN: r163531
2010-08-24 23:35:56 +00:00
Sebastian Pop
bd544141e0 Add flag -ftree-loop-if-convert-stores.
This patch adds a flag that controls the replacement of the memory
writes that are in predicated basic blocks with a full write:

for (...)
  if (cond)
    A[i] = foo

is replaced with:

for (...)
  A[i] = cond ? foo : A[i]

In order to do this, we have to call gimple_could_trap_p instead of
gimple_assign_rhs_could_trap_p, as we have to also check that the LHS
of assign stmts does not trap.

	* common.opt (ftree-loop-if-convert-stores): New flag.
	* doc/invoke.texi (ftree-loop-if-convert-stores): Documented.
	* tree-if-conv.c (ifc_temp_var): Pass an extra parameter GSI.  Insert
	the created statement before GSI.
	(if_convertible_phi_p): Allow virtual phi nodes when
	flag_loop_if_convert_stores is set.
	(if_convertible_gimple_assign_stmt_p): Allow memory reads and writes
	Do not handle types that do not match is_gimple_reg_type.
	Remove loop and bb parameters.  Call gimple_could_trap_p instead of
	when flag_loop_if_convert_stores is set, as LHS can contain
	memory refs.
	(if_convertible_stmt_p): Remove loop and bb parameters.  Update calls
	to if_convertible_gimple_assign_stmt_p.
	(if_convertible_loop_p): Update call to if_convertible_stmt_p.
	(replace_phi_with_cond_gimple_assign_stmt): Renamed
	predicate_scalar_phi.  Do not handle virtual phi nodes.
	(ifconvert_phi_nodes): Renamed predicate_all_scalar_phis.
	Call predicate_scalar_phi.
	(insert_gimplified_predicates): Insert the gimplified predicate of a BB
	just after the labels for flag_loop_if_convert_stores, otherwise
	insert the predicate in the end of the BB.
	(predicate_mem_writes): New.
	(combine_blocks): Call predicate_all_scalar_phis.  When
	flag_loop_if_convert_stores is set, call predicate_mem_writes.
	(tree_if_conversion): Call mark_sym_for_renaming when
	flag_loop_if_convert_stores is set.
	(main_tree_if_conversion): Return TODO_update_ssa_only_virtuals when
	flag_loop_if_convert_stores is set.

	* gcc.dg/tree-ssa/ifc-4.c: New.
	* gcc.dg/tree-ssa/ifc-7.c: New.

From-SVN: r163530
2010-08-24 23:35:48 +00:00
Danny Smith
3a9abc98c2 MAINTAINERS (OS Port Maintainers): Remove myself from windows ports
* MAINTAINERS (OS Port Maintainers): Remove myself from windows
	ports

From-SVN: r163529
2010-08-24 22:41:34 +00:00
Richard Henderson
6f173e52cb re PR bootstrap/45376 (no such instruction: `pcmpestri $0,(%rdi),%xmm0')
PR bootstrap/45376
        * configure.ac (HAVE_SSE4): New check.
        * configure, config.in: Rebuild.
        * lex.c (search_line_sse42): Omit if !HAVE_SSE4.

From-SVN: r163528
2010-08-24 14:08:05 -07:00
Anatoly Sokolov
8a5b85388f pa.c (hppa_register_move_cost, [...]): New.
* config/pa/pa.c (hppa_register_move_cost, pa_libcall_value,
	pa_function_value_regno_p, pa_print_operand_punct_valid_p): New.
	(pa_function_value): Make static.
	(override_options): Rename to...
	(pa_option_override): ...this. Make static.
	(TARGET_PRINT_OPERAND_PUNCT_VALID_P, TARGET_REGISTER_MOVE_COST,
	TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P,
	TARGET_OPTION_OVERRIDE): Define.
	* config/pa/pa.h (OVERRIDE_OPTIONS, FUNCTION_VALUE_REGNO_P,
	LIBCALL_VALUE, REGISTER_MOVE_COST, PRINT_OPERAND_PUNCT_VALID_P):
	Remove.
	* config/pa/pa-protos.h (override_options): Remove.

From-SVN: r163525
2010-08-24 22:52:08 +04:00
Rainer Orth
789d73cb17 lex.c: Disable init_vectorized_lexer etc.
* lex.c [__sun__ && __svr4__]: Disable init_vectorized_lexer
	etc. on Solaris 2/x86.

From-SVN: r163522
2010-08-24 17:23:35 +00:00
Richard Guenther
d15adbeb3f re PR middle-end/45379 (~10% slowdown on test_fpu at revision 163278)
2010-08-24  Richard Guenther  <rguenther@suse.de>

	PR middle-end/45379
	* tree-ssa-address.c (create_mem_ref_raw): Drop to MEM_REF
	if addr->index is NULL or zero.
	* tree-ssa-alias.c (indirect_refs_may_alias_p): Handle
	TARGET_MEM_REF more properly.
	(indirect_ref_may_alias_decl_p): Likewise.
	* emit-rtl.c (set_mem_attributes_minus_bitpos): Keep TARGET_MEM_REFs.
	* alias.c (ao_ref_from_mem): Handle TARGET_MEM_REF more
	properly.

From-SVN: r163519
2010-08-24 13:25:25 +00:00
Mingjie Xing
1991282b0e check loongson targets in vect.exp
From-SVN: r163495
2010-08-24 03:22:07 +00:00
GCC Administrator
e17683227d Daily bump.
From-SVN: r163494
2010-08-24 00:17:23 +00:00
Anatoly Sokolov
f28f2337c6 m32c.c (m32c_function_value_regno_p): Make static.
* config/m32c/m32c.c (m32c_function_value_regno_p): Make static.
	(m32c_override_options): Rename to...
	(m32c_option_override): ...this. Make static.
	(TARGET_FUNCTION_VALUE_REGNO_P, TARGET_OPTION_OVERRIDE): Define.
	* config/m32c/m32c.h (OVERRIDE_OPTIONS, FUNCTION_VALUE_REGNO_P):
	Remove.
	* config/m32c/m32c-protos.h (m32c_override_options,
	m32c_function_value_regno_p): Remove.

From-SVN: r163488
2010-08-23 23:34:15 +04:00
Gerald Pfeifer
52965ca612 gcc_release (snapshot_print): Also include an sha1 hash for every tarball.
* gcc_release (snapshot_print): Also include an sha1 hash for
	every tarball.  Slightly tweak indentation.

From-SVN: r163487
2010-08-23 18:52:06 +00:00
Changpeng Fang
756f50ce38 Fix a typo in the previous commit
* tree-ssa-loop-prefetch.c (gather_memory_references_ref): Fix a
	typo ("could not taken" --> "could not be taken")

From-SVN: r163485
2010-08-23 18:50:22 +00:00
Mikael Morin
c0d15a7748 re PR fortran/45380 (ICE in gfc_conv_intrinsic_any_all at -O{n>0})
2010-08-23  Mikael Morin  <mikael@gcc.gnu.org>

	PR fortran/45380
	* frontend-passes.c (optimize_equality): Don't optimize array equality

From-SVN: r163484
2010-08-23 18:42:21 +00:00
Kai Tietz
0b3f008892 tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Pre-initialize innerloop_iters to one.
2010-08-23  Kai Tietz  <kai.tietz@onevision.com>

        * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost):
        Pre-initialize innerloop_iters to one.

From-SVN: r163477
2010-08-23 20:08:47 +02:00
Changpeng Fang
bc068a23d0 pr45260 Don't generate prefetch if the address of base could not be taken.
* tree-flow.h (may_be_nonaddressable_p): New definition. Make the
	existing static function global.

	*tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): This function
	is changed to global.

	*tree-ssa-loop-prefetch.c (gather_memory_references_ref): Call
	may_be_nonaddressable_p on base, and don't collect this reference
	if the address of the base could not be taken.

From-SVN: r163475
2010-08-23 17:45:08 +00:00
Michael Meissner
f8895c4b7f Add missing file
From-SVN: r163473
2010-08-23 17:31:56 +00:00
Michael Meissner
b36cf9d28f Update to use -mveclibabi=mass instead of -mmass
From-SVN: r163471
2010-08-23 16:47:01 +00:00
Michael Meissner
8bcc030417 Add -mveclibabi=mass
From-SVN: r163470
2010-08-23 16:41:10 +00:00
Tobias Burnus
a4a7e2f5f7 re PR libfortran/45323 (warnings compiling libgfortran/io/write.c: array subscript has type 'char')
2010-08-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45323
        * io/write.c (nml_write_obj, namelist_write): Cast argument
        of toupper to int.

From-SVN: r163469
2010-08-23 14:39:20 +02:00
Janus Weil
2fcac97d03 re PR fortran/45366 (Problem with procedure pointer dummy in PURE function)
2010-08-23  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/45366
	* resolve.c (resolve_procedure_interface): New function split off from
	'resolve_symbol'.
	(resolve_formal_arglist): Call it here ...
	(resolve_symbol): ... and here.


2010-08-23  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/45366
	* gfortran.dg/proc_ptr_29.f90: New.

From-SVN: r163468
2010-08-23 14:26:42 +02:00
GCC Administrator
5573628560 Daily bump.
From-SVN: r163465
2010-08-23 00:17:17 +00:00
John David Anglin
8c157f90f9 re PR boehm-gc/34544 (pthread_default_stacksize_np failed.)
PR boehm-gc/34544
	* gthr-posix.h (__gthread_active_init): Delete.
	(__gthread_active_p): Do activity check here.
	Don't include errno.h on hppa-hpux.  Update comment.
	* gthr-posix95.h (__gthread_active_init): Delete.
	(__gthread_active_p): Do activity check here.
	Don't include errno.h on hppa-hpux.  Update comment.
	* config.gcc (hppa[12]*-*-hpux11*): Define extra_parts.
	* config/pa/pa64-hpux.h (LIB_SPEC): When -static is specified, only
	add -lpthread when -mt or -pthread is specified.
	* config/pa/pa-hpux11.h (LIB_SPEC): likewise.
	(LINK_GCC_C_SEQUENCE_SPEC): Define.
	* config/pa/t-pa-hpux11 (LIBGCCSTUB_OBJS): Define.
	(stublib.c, pthread_default_stacksize_np-stub.o,
	pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o,
	$(T)libgcc_stub.a): Add methods.
	* config/pa/t-pa64 (LIBGCCSTUB_OBJS): Add pthread stubs.
	(stublib.c, pthread_default_stacksize_np-stub.o,
	pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o): Add methods.
	* config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
	pthread_mutex_unlock): New stubs.

From-SVN: r163461
2010-08-22 16:23:38 +00:00
Tobias Burnus
11aa257739 re PR fortran/45367 (FAIL: gfortran.dg/bessel_6.f90 and gfortran.dg/bessel_7.f90)
2010-08-22  Tobias Burnus  <burnus@net-b.de>
            Dominique d'Humieres <dominiq@lps.ens.fr>

        PR fortran/45367
        * gfortran.dg/bessel_6.f90: Further reduce required accuracy.


Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>

From-SVN: r163460
2010-08-22 16:05:26 +02:00
Joseph Myers
d9d16a1956 Makefile.in (gccspec.o, cppspec.o): Update dependencies.
* Makefile.in (gccspec.o, cppspec.o): Update dependencies.
	* common.opt (L, nodefaultlibs, nostdlib, pg, static): New
	options.
	* config/avr/avr.h (LIBSTDCXX): Remove initial "-l".
	* config/freebsd.h (MATH_LIBRARY_PROFILE): Remove initial "-l".
	* config/i386/djgpp.h (LIBSTDCXX): Remove initial "-l".
	* config/rs6000/aix.h (LIBSTDCXX_STATIC): Remove initial "-l".
	* config/s390/tpf.h (MATH_LIBRARY, LIBSTDCXX): Remove initial
	"-l".
	* cppspec.c: Include opts.h.
	(lang_specific_driver): Use cl_decoded_option structures.
	* doc/tm.texi.in (MATH_LIBRARY): Update documentation.
	* doc/tm.texi: Regenerate.
	* gcc.c (translate_options): Translate -d to -foutput-class-dir=.
	(driver_handle_option): Allow driver options needing no special
	processing.
	(process_command): Decode options before call to
	lang_specific_driver.  Pass decoded options to
	lang_specific_driver.
	* gcc.h (lang_specific_driver): Update prototype.
	* gccspec.c: Include opts.h.
	(lang_specific_driver): Use cl_decoded_option structures.
	* opts-common.c (option_ok_for_language, generate_option,
	generate_option_input_file): New.
	(decode_cmdline_option): Use option_ok_for_language.
	(decode_cmdline_options_to_array): Use generate_option_input_file.
	(handle_generated_option): Use generate_option.
	* opts.h (generate_option, generate_option_input_file): Declare.

cp:
	* Make-lang.in (g++spec.o): Update dependencies.
	* g++spec.c: Include opts.h
	(MATH_LIBRARY, LIBSTDCXX): Remove initial "-l".
	(lang_specific_driver): Use cl_decoded_option structures.

fortran:
	* Make-lang.in (gfortranspec.o): Update dependencies.
	* gfortranspec.c: Include coretypes.h before gcc.h.  Include
	opts.h.
	(MATH_LIBRARY, FORTRAN_LIBRARY): Remove initial "-l".
	(ADD_ARG_LIBGFORTRAN, Option, lookup_option): Remove.
	(g77_xargc): Make unsigned.
	(g77_xargv): Change to g77_x_decoded_options.
	(g77_newargc): Make unsigned.
	(g77_newargv): Change to g77_new_decoded_options.
	(strings_same, options_same): New.
	(append_arg): Use cl_decoded_option structures.
	(append_option): New.
	(add_arg_libgfortran): New.
	(lang_specific_driver): Use cl_decoded_option structures.

java:
	* Make-lang.in (jvspec.o): Update dependencies.
	* jvspec.c: Include opts.h.
	(PARAM_ARG): Remove.
	(find_spec_file): Do not add leading -specs=.
	(lang_specific_driver): Use cl_decoded_option structures.
	* lang.opt (C, CLASSPATH, D, bootclasspath, classpath, encoding,
	extdirs, fmain=, s-bc-abi): New options.

From-SVN: r163459
2010-08-22 13:19:01 +01:00
Tobias Burnus
3607fdb2db re PR fortran/45367 (FAIL: gfortran.dg/bessel_6.f90 and gfortran.dg/bessel_7.f90)
2010-08-22  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45367
        * gfortran.dg/bessel_6.f90: Fix numeric tolerence.

From-SVN: r163458
2010-08-22 12:24:49 +02:00
Tobias Burnus
302ef3113c Really commit the following change:
2010-08-22  Tobias Burnus  <burnus@net-b.de>
            Dominique d'Humieres <dominiq@lps.ens.fr>

        PR fortran/45367
        * gfortran.dg/bessel_6.f90: Increase numeric tolerence.

From-SVN: r163457
2010-08-22 12:09:34 +02:00
Anatoly Sokolov
525c561de8 mips.c (mips_override_options): Rename to...
* config/mips/mips.c (mips_override_options): Rename to...
	(mips_option_override): ...this. Make static.
	(TARGET_OPTION_OVERRIDE): Define.
	(mips_in_small_data_p): Update comment.
	* config/mips/mips.h (OVERRIDE_OPTIONS): Remove.
	(FIXED_REGISTERS): Update comment.
	* config/mips/mips-protos.h (mips_override_options): Remove.

From-SVN: r163456
2010-08-22 13:33:45 +04:00
Tobias Burnus
60f22d5d60 re PR fortran/36158 (Transformational function BESSEL_YN(n1,n2,x) and BESSEL_JN missing)
2010-08-22  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36158
        * gfortran.dg/bessel_7.f90: Disable accidently enabled debug
        output.

From-SVN: r163455
2010-08-22 10:39:48 +02:00
Tobias Burnus
8af7a07301 re PR fortran/45367 (FAIL: gfortran.dg/bessel_6.f90 and gfortran.dg/bessel_7.f90)
2010-08-22  Tobias Burnus  <burnus@net-b.de>
            Dominique d'Humieres <dominiq@lps.ens.fr>

        PR fortran/45367
        PR fortran/36158
        * gfortran.dg/bessel_6.f90: Increase numeric tolerence.
        * gfortran.dg/bessel_7.f90: Increase numeric tolerence.


Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>

From-SVN: r163454
2010-08-22 10:34:14 +02:00
GCC Administrator
1408f0dd19 Daily bump.
From-SVN: r163453
2010-08-22 00:17:35 +00:00
Olivier Hainque
7402511480 Fix formatting of recently added ChangeLog entry.
From-SVN: r163449
2010-08-21 20:54:18 +00:00
Olivier Hainque
65f1047a57 vxworks.h (TARGET_OS_CPP_BUILTINS): Define __PPC__.
* config/rs6000/vxworks.h (TARGET_OS_CPP_BUILTINS): Define __PPC__.

From-SVN: r163448
2010-08-21 20:53:16 +00:00
Olivier Hainque
b35525489b vxworks.h: (PREFERRED_STACK_BOUNDARY...
* config/rs6000/vxworks.h:  (PREFERRED_STACK_BOUNDARY, 
        ABI_STACK_BOUNDARY): Ensure STACK_BOUNDARY is honored despite EABI.

From-SVN: r163447
2010-08-21 20:48:34 +00:00
Richard Henderson
246a2fcb5e Vectorize fast path of _cpp_clean_line.
* configure.ac (AC_C_BIGENDIAN, AC_TYPE_UINTPTR_T): New tests.
	(ssize_t): Check via AC_TYPE_SSIZE_T instead of AC_CHECK_TYPE.
	(ptrdiff_t): Check via AC_CHECK_TYPE.
	* config.in, configure: Rebuild.
	* system.h: Include stdint.h, if available.
	* lex.c (WORDS_BIGENDIAN): Provide default.
	(acc_char_mask_misalign, acc_char_replicate, acc_char_cmp,
	acc_char_index, search_line_acc_char, repl_chars, search_line_mmx,
	search_line_sse2, search_line_sse42, init_vectorized_lexer,
	search_line_fast): New.
	(_cpp_clean_line): Use search_line_fast.  Restructure the fast
	loop to make it clear when we're leaving the loop.  Stay in the
	fast loop for non-trigraph '?'.

Co-Authored-By: Andi Kleen <ak@linux.intel.com>
Co-Authored-By: David S. Miller <davem@davemloft.net>

From-SVN: r163446
2010-08-21 12:05:40 -07:00
Janus Weil
1d0134b3cc re PR fortran/45271 ([OOP] Polymorphic code breaks when changing order of USE statements)
2010-08-21  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/45271
	PR fortran/45290
	* class.c (add_proc_comp): Add static initializer for PPCs.
	(add_procs_to_declared_vtab): Modified comment.
	* module.c (mio_component): Add argument 'vtype'. Don't read/write the
	initializer if the component is part of a vtype.
	(mio_component_list): Add argument 'vtype', pass it on to
	'mio_component'.
	(mio_symbol): Modified call to 'mio_component_list'.
	* trans.h (gfc_conv_initializer): Modified prototype.
	(gfc_trans_assign_vtab_procs): Removed.
	* trans-common.c (create_common): Modified call to
	'gfc_conv_initializer'.
	* trans-decl.c (gfc_get_symbol_decl,get_proc_pointer_decl,
	gfc_emit_parameter_debug_info): Modified call to
	'gfc_conv_initializer'.
	(build_function_decl): Remove assertion.
	* trans-expr.c (gfc_conv_derived_to_class,gfc_trans_class_assign):
	Removed call to 'gfc_trans_assign_vtab_procs'.
	(gfc_conv_initializer): Add argument 'procptr'.
	(gfc_conv_structure): Modified call to 'gfc_conv_initializer'.
	(gfc_trans_assign_vtab_procs): Removed.
	* trans-stmt.c (gfc_trans_allocate): Removed call to
	'gfc_trans_assign_vtab_procs'.


2010-08-21  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44863
	PR fortran/45271
	PR fortran/45290
	* gfortran.dg/dynamic_dispatch_10.f03: New (PR 44863 comment #1).
	* gfortran.dg/pointer_init_5.f90: New (PR 45290 comment #6).
	* gfortran.dg/typebound_call_18.f03: New (PR 45271 comment #3).

From-SVN: r163445
2010-08-21 16:50:57 +02:00
Eric Botcazou
02be26e48b * tracebak.c: Fix typo in comment.
From-SVN: r163444
2010-08-21 13:25:33 +00:00
Jan Hubicka
9e97ff6183 tree-pass.h (pass_ipa_cdtor_merge): New function.
* tree-pass.h (pass_ipa_cdtor_merge): New function.
	* cgraphunit.c (static_ctors, static_dtors): Move to ipa.c; make
	heap allocated.
	(record_cdtor_fn): Move to ipa.c; do not test for
	have_ctors_dtors.
	(build_cdtor): Move to ipa.c; add code avoiding construction
	when target have ctors/dtors and there is only one ctor/dtor at given
	priority.
	(compare_ctor, compare_dtor): Move to ipa.c; use DECL_UID to stabilize sort;
	reverse order of constructors.
	(cgraph_build_cdtor_fns):Move to ipa.c; rename to build_cdtor_fns.
	(cgraph_finalize_function): Do not call record_cdtor_fn.
	(cgraph_finalize_compilation_unit): Do not call cgraph_build_cdtor_fns.
	(cgraph_build_static_cdtor): Move to ipa.c.
	* ipa.c: Include target.h and tree-iterator.h.
	(cgraph_build_static_cdtor, static_ctors, static_dtors,
	record_cdtor_fn, build_cdtor, compare_ctor, compare_dtor,
	build_cdtor_fns, ipa_cdtor_merge, gate_ipa_cdtor_merge,
	pass_ipa_cdtor_merge): New.
	* passes.c (init_optimization_passes): Enqueue pass_ipa_cdtor_merge.
	* ipa-prop.c (update_indirect_edges_after_inlining): Avoid out of bounds access.

From-SVN: r163443
2010-08-21 12:36:19 +00:00
Jan Hubicka
000eef232b Fix previous commit.
From-SVN: r163442
2010-08-21 12:24:41 +00:00
Ralf Wildenhues
75bc9e5e0d Fix misquoting in stdint.m4.
config/:
	PR target/45084
	* stdint.m4 (GCC_HEADER_STDINT): Use m4 quotes for arguments
	of AC_MSG_ERROR.

libdecnumber/:
	* configure: Regenerate.

libgfortran/:
	* configure: Regenerate.

libgomp/:
	* configure: Regenerate.

libstdc++-v3/:
	* configure: Regenerate.

From-SVN: r163441
2010-08-21 12:18:02 +00:00
Tobias Burnus
47b996944d re PR fortran/36158 (Transformational function BESSEL_YN(n1,n2,x) and BESSEL_JN missing)
2010-08-21  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36158
        PR fortran/33197
        * intrinsic.c (add_sym): Init value attribute.
        (set_attr_value): New function.
        (add_functions) Use it and add JN/YN resolvers.
        * symbol.c (gfc_copy_formal_args_intr): Copy value attr.
        * intrinsic.h (gfc_resolve_bessel_n2): New prototype.
        * gfortran.h (gfc_intrinsic_arg): Add value attribute.
        * iresolve.c (gfc_resolve_bessel_n2): New function.
        * trans-intrinsic.c (gfc_get_symbol_for_expr): Create
        formal arg list.
        (gfc_conv_intrinsic_function,gfc_is_intrinsic_libcall):
        Add GFC_ISYM_JN2/GFC_ISYM_YN2 as case value.
        * simplify.c (): For YN set to -INF if previous values
        was -INF.
        * trans-expr.c (gfc_conv_procedure_call): Don't crash
        if sym->as is NULL.
        * iresolve.c (gfc_resolve_extends_type_of): Set the
        type of the dummy argument to the one of the actual.

2010-08-21  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36158
        PR fortran/33197
        * m4/bessel.m4: Implement bessel_jn and bessel_yn.
        * gfortran.map: Add the generated bessel_jn_r{4,8,10,16}
        and bessel_yn_r{4,8,10,16}.
        * Makefile.am: Add bessel.m4.
        * Makefile.in: Regenerated.
        * generated/bessel_r4.c: Generated.
        * generated/bessel_r16.c: Generated.
        * generated/bessel_r8.c: Generated.
        * generated/bessel_r10.c: Generated.

2010-08-21  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36158
        PR fortran/33197
        * gfortran.dg/bessel_6.f90: New.
        * gfortran.dg/bessel_7.f90: New.

From-SVN: r163440
2010-08-21 12:12:53 +02:00
Jan Hubicka
508e475706 re PR middle-end/45307 (Stores expanding to no RTL not removed by tree optimizers, Empty ctors/dtors not eliminated)
PR c++/45307
	PR c++/17736
	* cgraph.h (cgraph_only_called_directly_p,
	cgraph_can_remove_if_no_direct_calls_and_refs_p): Handle
	static cdtors.
	* cgraphunit.c (cgraph_decide_is_function_needed): Static cdtors
	are not needed.
	(cgraph_finalize_function): Static cdtors are reachable.
	(cgraph_mark_functions_to_output): Use cgraph_only_called_directly_p.

	* gcc.dg/ipa/ctor-empty-1.c: Add testcase.
	* g++.dg/tree-ssa/empty-2.C: Check that constructor got optimized out.

From-SVN: r163439
2010-08-21 09:46:15 +00:00
Jan Hubicka
f1395d4a6e lto-cgraph.c (lto_output_edge): Use gimple_has_body_p instead of flag_wpa.
* lto-cgraph.c (lto_output_edge): Use gimple_has_body_p instead of flag_wpa.
	* lto-streamer-out.c (lto_output): Likewise.
	* passes.c (ipa_write_optimization_summaries): Initialize statement uids.
	
	* lto.c (lto_1_to_1_map): Be prepared for node to have no file data.
	(lto_wpa_write_files): Update comments.

From-SVN: r163438
2010-08-21 08:13:27 +00:00
GCC Administrator
12523de099 Daily bump.
From-SVN: r163437
2010-08-21 00:16:55 +00:00
Maciej W. Rozycki
93f36faad1 pex-common.c (pex_read_err): Set stderr_pipe to -1 if a corresponding stream has been opened.
* pex-common.c (pex_read_err): Set stderr_pipe to -1 if a
	corresponding stream has been opened.
	(pex_free): Close pipe file descriptors corresponding to child's
	stdout and stderr before waiting.

From-SVN: r163426
2010-08-20 22:39:58 +00:00
Olivier Hainque
b4d456ffc0 tree.h (alias_diag_flags): New enum.
* tree.h (alias_diag_flags): New enum.
        (alias_pair): Add an 'emitted_diags' field.
        * varasm.c (finish_aliases_1): Honor and update
        * p->emitted_diags.
        (assemble_alias): Initialize emitted_diags of new pairs.

From-SVN: r163425
2010-08-20 22:08:41 +00:00
Eric Botcazou
39acb18f66 aix.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
* config/rs6000/aix.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
	* config/rs6000/linux.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
	* config/rs6000/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
	(STACK_CHECK_PROTECT): Define.
	* config/rs6000/rs6000.c (rs6000_emit_probe_stack_range): New function.
	(output_probe_stack_range): Likewise.
	(rs6000_emit_prologue): Invoke rs6000_emit_probe_stack_range if static
	builtin stack checking is enabled.
	* config/rs6000/rs6000-protos.h (output_probe_stack_range): Declare.
	* config/rs6000/rs6000.md (UNSPECV_PROBE_STACK_RANGE): New constant.
	(probe_stack_range): New insn.

From-SVN: r163424
2010-08-20 21:22:16 +00:00
H.J. Lu
410841c6d5 Cast to unsigned short/char first for _mm_extract_epi16/_mm_extract_epi8.
gcc/

2010-08-20  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/45336
	* config/i386/emmintrin.h (_mm_extract_epi16): Cast to unsigned
	short first.

	* config/i386/smmintrin.h (_mm_extract_epi8): Cast to unsigned
	char first.

gcc/testsuite/

2010-08-20  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/45336
	* gcc.target/i386/pr45336-1.c: New.
	* gcc.target/i386/pr45336-2.c: Likewise.
	* gcc.target/i386/pr45336-3.c: Likewise.
	* gcc.target/i386/pr45336-4.c: Likewise.

From-SVN: r163421
2010-08-20 13:57:56 -07:00
Jakub Jelinek
50d724a750 re PR target/45336 (pextr{b,w,d}, (worse than) redundant extensions)
PR target/45336
	* config/i386/sse.md (*sse4_1_pextrb): Add SWI48 mode iterator
	to cover zero extension into 64-bit register.
	(*sse2_pextrw): Likewise.
	(*sse4_1_pextrd_zext): New insn.

From-SVN: r163420
2010-08-20 22:54:25 +02:00
Iain Sandoe
c6d8116af9 revert r163410, partially revert r163267.
* config/rs6000/darwin.h (LIB_SPEC): Remove.
	* config/darwin.h (REAL_LIBGCC_SPEC): Link lgcc for all 
	Darwin versions.

From-SVN: r163419
2010-08-20 20:10:42 +00:00
Uros Bizjak
26e4a41748 re PR testsuite/45361 (gcc.target/i386/volatile-2.c failed)
PR testsuite/45361
	* gcc.target/i386/volatile-2.c: Update scan strings to also
	include (%rip) for the memory reference on x86_64.

From-SVN: r163416
2010-08-20 21:23:52 +02:00