Commit Graph

95148 Commits

Author SHA1 Message Date
Martin Jambor
685b0d134d ipa-prop.h (enum jump_func_type): New value IPA_JF_ANCESTOR, changed comments.
2009-08-07  Martin Jambor  <mjambor@suse.cz>

	* ipa-prop.h (enum jump_func_type): New value IPA_JF_ANCESTOR, changed
	comments.
	(struct ipa_pass_through_data): New type.
	(struct ipa_ancestor_jf_data): New type.
	(union jump_func_value): Removed field formal_id, added fields
	pass_through and ancestor.
	(struct ipa_param_call_note): Changed type of formal_id to int from
	unsigned.
	* ipa-prop.c (ipa_print_node_jump_functions): Print pass through with
	operations jump functions and ancestor jump functions.
	(compute_complex_pass_through): New function.
	(compute_scalar_jump_functions): Call compute_complex_pass_through,
	reflect changes in the jump function strucutre.
	(update_jump_functions_after_inlining): Ignore complex pass-through
	and ancestor jump functions.
	* ipa-cp.c (ipcp_lattice_from_jfunc): Added support for ancestor and
	polynomial pass-through with operation jump functions.

From-SVN: r150554
2009-08-07 09:15:41 +02:00
Jakub Jelinek
17f6e37dc1 dwarf2out.c (output_fde): When doing hot/cold partitioning...
* dwarf2out.c (output_fde): When doing hot/cold partitioning, use
	fde->dw_fde_begin as begin label instead of hot/cold label.
	Use LLSDAC label instead of LLSDA for second section lsda.
	(dwarf2out_do_cfi_startproc): Add SECOND argument.  Use LLSDAC
	label instead of LLSDA if it is true.
	(dwarf2out_begin_prologue, dwarf2out_switch_text_section): Adjust
	callers.
	* except.c (add_call_site, dw2_size_of_call_site_table): Add
	SECTION argument.  Use it as index into crtl->eh.call_site_record
	array.
	(dw2_output_call_site_table): Likewise.  Add CS_FORMAT argument,
	use it to determine how to print table entries instead of using
	#ifdef HAVE_AS_LEB128.  For SECTION > 0 use hot resp. cold
	label instead of normal begin label as base.
	(sjlj_assign_call_site_values): Adjust add_call_site caller.
	(convert_to_eh_region_ranges): When doing hot/cold partitioning,
	ensure no EH range spans between sections and that landing pads
	are always in the corresponding section.
	(sjlj_size_of_call_site_table, sjlj_output_call_site_table): Adjust
	for crtl->eh.call_site_record being an array rather than scalar.
	(output_one_function_exception_table): New function, copied
	from output_function_exception_table.  Adjust
	dw2_size_of_call_site_table, dw2_output_call_site_table
	callers.  For SECOND section use *C suffixed labels.
	(output_function_exception_table): Call
	output_one_function_exception_table and, when doing hot/cold
	partitioning, also another time for the second section.
	* opts.c: Include except.h.
	(decode_options): Allow -freorder-blocks-and-partition with
	exceptions, unless SJLJ or TARGET_UNWIND_INFO.
	* Makefile.in (opts.o): Depend on $(EXCEPT_H).
	* function.h (struct rtl_eh): Change call_site_record from
	scalar into array of 2 elements.

	* g++.dg/tree-prof/partition1.C: New test.

From-SVN: r150553
2009-08-07 08:23:42 +02:00
Martin Jambor
3f84bf08c4 ipa-prop.c (count_formal_params_1): New function.
2009-08-07  Martin Jambor  <mjambor@suse.cz>

	* ipa-prop.c (count_formal_params_1): New function.
	(ipa_get_vector_of_formal_parms): New function.
	(get_vector_of_formal_parm_types): New function.
	(ipa_modify_formal_parameters): New function.
	(ipa_modify_call_arguments): New function.
	(index_in_adjustments_multiple_times_p): New function.
	(ipa_combine_adjustments): New function.
	(ipa_dump_param_adjustments): New function.

	* ipa-prop.h (struct ipa_parm_adjustment): New type.
	(ipa_get_vector_of_formal_parms): Declare.
	(ipa_modify_formal_parameters): Declare.
	(ipa_modify_call_arguments): Declare.
	(ipa_combine_adjustments): Declare.
	(ipa_dump_param_adjustments): Declare.
	(build_ref_for_offset): Declare.

	* Makefile.in (tree-sra.o): Add ipa-prop.h to dependencies.

	* tree-sra.c: Include ipa-prop.c.
	(build_ref_for_offset): Make public.

From-SVN: r150551
2009-08-07 02:51:34 +02:00
GCC Administrator
26ba353ea7 Daily bump.
From-SVN: r150550
2009-08-07 00:17:09 +00:00
Thomas Schwinge
48c4de1646 2009-08-06 Thomas Schwinge <tschwinge@gnu.org>
* gcc/doc/extend.texi (__builtin_extract_return_address)
	(__builtin_frob_return_address): Document.

From-SVN: r150546
2009-08-07 00:02:34 +02:00
Paul Brook
f36d140ec5 lib1funcs.asm (ARM_DIV_BODY): Add Thumb-2 implementation.
* config/arm/lib1funcs.asm (ARM_DIV_BODY): Add Thumb-2 implementation.
	(udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Only use Thumb-1
	implementation on ARMv6-M.

From-SVN: r150545
2009-08-06 21:05:42 +00:00
Neil Vachharajani
da0e8d951a * value-prof.c (init_pid_map): Replace xmalloc with XCNEWVEC.
From-SVN: r150544
2009-08-06 20:45:26 +00:00
Neil Vachharajani
8375f7b2fe * MAINTAINERS: Add my name to Write After Approval list.
From-SVN: r150541
2009-08-06 20:27:41 +00:00
Benjamin Kosnik
21da6d0f10 compatibility.cc: Make C++0x safe, add in explicit casts to bool for stream sentry objects.
2009-08-06  Benjamin Kosnik  <bkoz@redhat.com>

	* src/compatibility.cc: Make C++0x safe, add in explicit casts to
        bool for stream sentry objects.
        * include/bits/istream.tcc: Same.
        * include/bits/ostream.tcc: Same.
        * include/bits/basic_string.tcc: Same.
	* include/bits/ostream_insert.h: Same.
        * src/istream.cc: Same.

From-SVN: r150539
2009-08-06 19:33:33 +00:00
Richard Earnshaw
de2aa20e75 abitest.h: Allow the test function to have a PCS attribute.
* gcc.target/arm/abitest.h: Allow the test function to have a PCS
	attribute.
	* gcc.target/arm/vfp1[567].c: New tests.

From-SVN: r150536
2009-08-06 18:15:19 +00:00
Michael Eager
ca9fe9972e configure.ac: Add Microblaze target.
* configure.ac: Add Microblaze target.
        * configure: Regenerate.

From-SVN: r150535
2009-08-06 17:48:24 +00:00
Richard Earnshaw
14a782c872 * doc/extend.texi (pcs): Document new attribute for ARM.
From-SVN: r150531
2009-08-06 16:47:57 +00:00
Richard Earnshaw
0f1a24df8d arm.c (pcs_attribute_args): Comment out unsupported attribute variants.
* arm.c (pcs_attribute_args): Comment out unsupported attribute
	variants.

From-SVN: r150530
2009-08-06 16:31:02 +00:00
Jason Merrill
5a4d80443f re PR c++/40948 (ICE in lower_stmt, at gimple-low.c:408)
PR c++/40948
	* init.c (build_vec_init): Evaluate the initializer before
	starting the initialization try block.

From-SVN: r150529
2009-08-06 12:25:19 -04:00
Richard Earnshaw
a9717079fc arm.c (arm_handle_pcs_attribute): Pass the entire name object to warning ().
* arm.c (arm_handle_pcs_attribute): Pass the entire name object to
warning ().

From-SVN: r150528
2009-08-06 16:19:14 +00:00
Richard Earnshaw
d8e6aede2e * arm.c (arm_handle_pcs_attribute): Use %qE in warning.
From-SVN: r150527
2009-08-06 15:14:56 +00:00
Richard Earnshaw
3d25552ca5 Fix merge botch -- this changelog should have been merged.
From-SVN: r150526
2009-08-06 14:30:22 +00:00
Richard Earnshaw
390b17c28c Merge ARM/hard_vfp_branch to trunk
From-SVN: r150525
2009-08-06 14:27:45 +00:00
Martin Jambor
5b62ee8ae3 re PR middle-end/32964 (union cause inefficient code inside loops)
2009-08-06  Martin Jambor  <mjambor@suse.cz>

	PR middle-end/32964
	* testsuite/gcc.dg/tree-ssa/pr32964.c: New test.

From-SVN: r150523
2009-08-06 13:55:30 +02:00
Uros Bizjak
4dbf26d534 re PR target/40957 (standard_sse_constant_opcode crash on x86 64)
PR target/40957
	* config/i386/i386.c (standard_sse_mode_p): Remove.
	(standard_sse_constant_p): Return 2 for integer mode
	vector_all_ones_operand when SSE2 is enabled.
	(standard_sse_constant_opcode)<case 2>: Always return [v]pcmpeqd.
	(ix86_expand_vector_move): Do not check for negative values from
	standard_sse_constant_p.

testsuite/ChangeLog:

	PR target/40957
	* gcc.target/i386/pr40957: New test.


Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>

From-SVN: r150520
2009-08-06 13:43:38 +02:00
Richard Guenther
e52201b680 tree-ssa.c (useless_type_conversion_p_1): Make function and array type comparisons frontend independent.
2009-08-06  Richard Guenther  <rguenther@suse.de>

	* tree-ssa.c (useless_type_conversion_p_1): Make function and
	array type comparisons frontend independent.
	* Makefile.in (tree-ssa.o): Add $(TARGET_H) dependency.
	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Always fill
	out array reference lower bound and element size operands.
	(ao_ref_init_from_vn_reference): Properly compute the offset
	for ARRAY_RANGE_REF.
	(vn_reference_fold_indirect): Fill out array reference lower
	bound and element size operands.
	* tree-ssa-pre.c (phi_translate_1): Fail if we have to translate
	a non gimple valued reference operand which can happen for
	array reference lower bound or element size.
	(create_component_ref_by_pieces_1): Properly generate the
	element size operand for array references.

From-SVN: r150519
2009-08-06 11:31:20 +00:00
Richard Biener
b92fbdd7b3 re PR middle-end/40964 (ICE in insert_vi_for_tree)
2009-08-06  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/40964
	* tree.c (iterative_hash_host_wide_int): Export.
	* tree.h (iterative_hash_host_wide_int): Declare.
	* tree-ssa-structalias.c (heapvar_map): New struct.
	(heapvar_map_eq): New function.
	(heapvar_map_hash): Likewise.
	(heapvar_lookup): Adjust.
	(heapvar_insert): Likewise.
	(make_constraint_from_heapvar): Allow multiple heap variables
	per decl at different offsets.
	(init_alias_heapvars): Adjust.

	* gcc.c-torture/compile/pr40964.c: New testcase.

From-SVN: r150518
2009-08-06 11:29:45 +00:00
Richard Biener
8bc88f2567 re PR middle-end/40964 (ICE in insert_vi_for_tree)
2009-08-06  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/40964
	* tree.c (iterative_hash_host_wide_int): Export.
	* tree.h (iterative_hash_host_wide_int): Declare.
	* tree-ssa-structalias.c (heapvar_map): New struct.
	(heapvar_map_eq): New function.
	(heapvar_map_hash): Likewise.
	(heapvar_lookup): Adjust.
	(heapvar_insert): Likewise.
	(make_constraint_from_heapvar): Allow multiple heap variables
	per decl at different offsets.
	(init_alias_heapvars): Adjust.

	* gcc.c-torture/compile/pr40964.c: New testcase.

From-SVN: r150517
2009-08-06 11:29:13 +00:00
Joseph Myers
6e319d7beb * es.po: Update.
From-SVN: r150515
2009-08-06 12:00:59 +01:00
David Daney
068ca03a3e mips.h (TARGET_SYNC_AFTER_SC): New macro.
2009-08-04  David Daney  <ddaney@caviumnetworks.com>

	* config/mips/mips.h (TARGET_SYNC_AFTER_SC): New macro.
	* mips_output_sync_loop (mips_output_sync_loop): Only emit
	trailing sync if TARGET_SYNC_AFTER_SC.

From-SVN: r150513
2009-08-06 05:27:40 +00:00
David Daney
40a4a37bd7 sync.md (sync_compare_and_swap<mode>, [...]): Rewrite calls to mips_output_sync_loop.
2009-08-05  David Daney  <ddaney@caviumnetworks.com>

	* gcc/config/mips/sync.md (sync_compare_and_swap<mode>,
	compare_and_swap_12, sync_add<mode>, sync_<optab>_12,
	sync_old_<optab>_12, sync_new_<optab>_12, sync_nand_12,
	sync_old_nand_12, sync_new_nand_12, sync_sub<mode>,
	sync_old_add<mode>, sync_old_sub<mode>, sync_new_add<mode>,
	sync_new_sub<mode>, sync_<optab><mode>, sync_old_<optab><mode>,
	sync_new_<optab><mode>, sync_nand<mode>, sync_old_nand<mode>,
	sync_new_nand<mode>, sync_lock_test_and_set<mode>,
	test_and_set_12): Rewrite calls to mips_output_sync_loop.
	* gcc/config/mips/mips-protos.h (mips_output_sync_loop): Make
	the prototype declaration match the definition.
	* gcc/config/mips/mips.c (mips_output_sync_loop):  Emit sync
	instructions explicitly.  Add barrier_before and operands
	parameters.
	* gcc/config/mips/mips.h (MIPS_COMPARE_AND_SWAP,
	MIPS_COMPARE_AND_SWAP_12, MIPS_SYNC_OP, MIPS_SYNC_OP_12,
	MIPS_SYNC_OLD_OP_12, MIPS_SYNC_NEW_OP_12, MIPS_SYNC_OLD_OP,
	MIPS_SYNC_NEW_OP, MIPS_SYNC_NAND, MIPS_SYNC_OLD_NAND,
	MIPS_SYNC_NEW_NAND, MIPS_SYNC_EXCHANGE,
	MIPS_SYNC_EXCHANGE_12): Remove sync instructions.

From-SVN: r150512
2009-08-06 05:24:25 +00:00
GCC Administrator
60376e9d19 Daily bump.
From-SVN: r150508
2009-08-06 00:16:44 +00:00
Tobias Burnus
a7b75755c5 re PR fortran/40969 (Revision 150465 failed gfortran.dg/c_by_val_1.f)
2009-08-05  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40969
        Revert:
        2009-08-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40949
        * trans-types.c (gfc_get_function_type): Fix typelist of
        functions without argument.

From-SVN: r150500
2009-08-05 22:47:19 +02:00
Andrew Pinski
dcbd7063fc tree-ssa-alias.c: Fix intervals to use [) syntax.
2009-08-05  Andrew Pinski  <pinskia@gmail.com>

        * tree-ssa-alias.c: Fix intervals to use [) syntax.

From-SVN: r150496
2009-08-05 10:20:33 -07:00
Andreas Tobler
78729ee244 fortran.exp: Add flags in case of shared only build.
2009-08-05  Andreas Tobler  <a.tobler@schweiz.org>

	* testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
	only build.

From-SVN: r150495
2009-08-05 18:11:54 +02:00
Paul Thomas
fd1e840d81 re PR fortran/40847 (segfault & bogus warning)
2009-08-05  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/40847
	* iresolve.c (gfc_resolve_transfer): Correct error in 'mold'
	character length for case where length expresson is NULL.

2009-08-05  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/40847
	* gfortran.dg/transfer_resolve_1.f90 : New test.

From-SVN: r150493
2009-08-05 16:10:19 +00:00
Uros Bizjak
ec52288b33 * gcc.target/i386/pr40906-3.c: Run only on *-*-linux* targets.
From-SVN: r150488
2009-08-05 16:49:51 +02:00
Uros Bizjak
2c4389d869 re PR target/40906 (Wrong code generated for push of long double)
PR target/40906
	* config/i386/i386.c (ix86_split_long_move): Fix push of multi-part
	source operand.

testsuite/ChangeLog:

	PR target/40906
	* gcc.target/i386/pr40906-1.c: New test.
	* gcc.target/i386/pr40906-2.c: Ditto.
	* gcc.target/i386/pr40906-3.c: Ditto.


Co-Authored-By: Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>

From-SVN: r150486
2009-08-05 16:41:54 +02:00
Jakub Jelinek
403c752036 re PR rtl-optimization/40924 (miscompiles with -O3 (seemingly related to attribute may_alias))
PR rtl-optimization/40924
	* dse.c (canon_address): Before calling cselib_expand_value_rtx
	make sure canon_rtx (mem_address) isn't simpler than
	canon_rtx (expanded_mem_address).

	* g++.dg/torture/pr40924.C: New test.

From-SVN: r150483
2009-08-05 14:36:34 +02:00
Li Feng
64393e407d build alias set for drs in SCoP instead of in pbb.
2009-08-05  Li Feng  <nemokingdom@gmail.com>

    * graphite-sese-to-poly.c (build_pbb_drs): Remove build alias set
    for each poly_bb_p.
    (build_scop_drs): Build alias set for each SCoP.

From-SVN: r150478
2009-08-05 07:37:36 +00:00
Sandra Loosemore
5dce6dbd99 invoke.texi (MIPS Options): Document new 1004K -march options.
2009-08-04  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/invoke.texi (MIPS Options): Document new 1004K -march options.
	* config/mips/mips.c (mips_cpu_info_table): Add 1004K cores.
	* config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Add pattern for 1004K.
	(MIPS_ARCH_FLOAT_SPEC): Likewise.
	(BASE_DRIVER_SELF_SPECS): Likewise.

From-SVN: r150475
2009-08-04 20:46:07 -04:00
GCC Administrator
c12bec657f Daily bump.
From-SVN: r150474
2009-08-05 00:16:44 +00:00
Manuel López-Ibáñez
69fb983211 re PR c++/36069 (Strange "warning: suggest parentheses around assignment used as truth value" with volatile/non volatile bools)
2009-08-05  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c++/36069
cp/
	* typeck.c (convert_for_assignment): Do not warn for any boolean
	variant. Use explicit location.
testsuite/
	* g++.dg/warn/pr36069.C: New.

From-SVN: r150471
2009-08-04 23:51:07 +00:00
Andrew Pinski
f9fc1a02d7 tree-ssa-alias.c: Fix some comment typos.
2009-08-04  Andrew Pinski  <pinskia@gmail.com>

        * tree-ssa-alias.c: Fix some comment typos.

From-SVN: r150470
2009-08-04 15:45:33 -07:00
Kaz Kojima
09a7d0af40 linux-atomic.asm (ATOMIC_BOOL_COMPARE_AND_SWAP, [...]): Define.
* config/sh/linux-atomic.asm (ATOMIC_BOOL_COMPARE_AND_SWAP,
	ATOMIC_OP_AND_FETCH, ATOMIC_COMBOP_AND_FETCH): Define.

From-SVN: r150469
2009-08-04 21:33:50 +00:00
Dodji Seketeli
3693f26675 re PR c++/39987 (Rejects default argument that is a template via access failure)
2009-08-04  Dodji Seketeli  <dodji@redhat.com>

gcc/cp/ChangeLog:
	PR c++/39987
	* pt.c (tsubst_default_argument): Let access checks of the
	default argument happen in the context of the current function.

gcc/testsuite/ChangeLog:
	PR c++/39987
	* g++.dg/overload/defarg4.C: New test.

From-SVN: r150467
2009-08-04 21:49:48 +02:00
Tobias Burnus
4eb0668e9b re PR fortran/40949 (FAIL: gfortran.dg/proc_ptr_7.f90)
2009-08-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40949
        * trans-types.c (gfc_get_function_type): Fix typelist of
        functions without argument.

From-SVN: r150465
2009-08-04 19:35:59 +02:00
David Daney
b13b7f3990 mutex.h (gomp_mutex_unlock): Add comment about needed memory barrier semantics.
2009-08-04  David Daney  <ddaney@caviumnetworks.com>

	* config/linux/mutex.h (gomp_mutex_unlock): Add comment about
	needed memory barrier semantics.
	* config/linux/mips/mutex.h: New file.

From-SVN: r150463
2009-08-04 17:25:42 +00:00
Manuel López-Ibáñez
481817e4b9 re PR c++/16696 (Strange message when operator++ not found)
2009-08-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c++/16696
cp/
	* call.c (build_new_op): Only try prefix operator if -fpermissive,
	otherwise just error.
testsuite/
	* g++.dg/parse/pr16696.C: New.
	* g++.dg/parse/pr16696-permissive.C: New.

From-SVN: r150461
2009-08-04 15:51:12 +00:00
Joseph Myers
1b2dc47dd6 * es.po: Update.
From-SVN: r150458
2009-08-04 15:57:16 +01:00
Paolo Carlini
05168714db re PR libstdc++/15523 ([DR 408] Can't have vectors of vector::const_iterator)
2009-08-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/15523
	* include/debug/safe_iterator.h (_Safe_iterator<>::
	_Safe_iterator(const _Safe_iterator&), _Safe_iterator<>::
	operator=(const _Safe_iterator&)): Implement resolution of DR 408,
	do not error out when the source is a value-initialized iterator.
	* testsuite/23_containers/vector/15523.cc: New.
	* doc/xml/manual/intro.xml: Add an entry for DR 408.

From-SVN: r150455
2009-08-04 13:01:08 +00:00
Paul Thomas
51b128a0c0 re PR fortran/40875 (ICE with illegal type conversion)
2009-08-04  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/40875
	* decl.c (add_init_expr_to_sym): Character symbols can only be
	initialized with character expressions.

2009-08-04  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/40875
	* gfortran.dg/initialization_23.f90 : New test.

From-SVN: r150454
2009-08-04 12:41:08 +00:00
Dodji Seketeli
b96fe38e46 re PR debug/39706 (namespaces represented incorrectly in debug_pubnames)
2009-08-04  Dodji Seketeli  <dodji@redhat.com>

gcc/cp/ChangeLog:
	PR debug/39706
	* error.c (lang_decl_name): Print qualified names for decls
	in  namespace scope.

gcc/testsuite/ChangeLog:
	PR debug/39706
	* g++.dg/debug/dwarf2/pubnames-1.C: New test.

From-SVN: r150452
2009-08-04 14:26:01 +02:00
Jason Merrill
567ef7490f re PR c++/40948 (ICE in lower_stmt, at gimple-low.c:408)
PR c++/40948
	* init.c (build_vec_init): Look through a TARGET_EXPR around a
	CONSTRUCTOR.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r150394
2009-08-03 22:10:05 -04:00
GCC Administrator
8ff17e188d Daily bump.
From-SVN: r150393
2009-08-04 00:17:05 +00:00