Commit Graph

99520 Commits

Author SHA1 Message Date
Jan Hubicka
ecd03d10cc lto-cgraph.c (lto_output_node): Do not output comdat groups for boundary nodes.
* lto-cgraph.c (lto_output_node): Do not output comdat groups
	for boundary nodes.
	(output_cgraph): Do not arrange comdat groups for boundary nodes.

From-SVN: r158615
2010-04-21 17:42:46 +00:00
Jakub Jelinek
71a810c300 re PR debug/40040 (gfortran invalid DW_AT_location for overridable variables)
PR debug/40040
	* dwarf2out.c (add_name_and_src_coords_attributes): Add
	DW_AT_{,MIPS_}linkage_name even for Fortran decls.

From-SVN: r158612
2010-04-21 18:48:41 +02:00
Andrew Haley
6cf3abb170 re PR libgcj/40860 (regressions in libjava testsuite on arm-linux)
2010-04-19  Andrew Haley  <aph@redhat.com>

	PR libgcj/40860
	* configure.ac: Handle --no-merge-exidx-entries.

From-SVN: r158611
2010-04-21 16:34:01 +00:00
Jan Hubicka
dd6d1ad715 * ipa-prop.c (ipa_edge_removal_hook): Check for bounds.
From-SVN: r158610
2010-04-21 14:41:50 +00:00
Jan Hubicka
c9945504c9 lto.c (globalize_cross_file_statics): When function has address taken, it needs to be public.
* lto.c (globalize_cross_file_statics): When function has address taken,
	it needs to be public.
	* varpool.c (decide_is_variable_needed): Variable is always needed
	during ltrans.

From-SVN: r158609
2010-04-21 14:41:03 +00:00
Jan Hubicka
e7cfce7152 * opts.c (decode_options): Enable pure-const pass for whopr.
From-SVN: r158608
2010-04-21 14:39:33 +00:00
Jan Hubicka
0115e6c79b cgraph.c (dump_cgraph_node): Dump also assembler name.
* cgraph.c (dump_cgraph_node): Dump also assembler name.
	* ipa-inline.c (cgraph_decide_inlining_of_small_functions): Do not ice
	at WPA dumping.
	(cgraph_decide_inlining): Do not expect callee to be removed in all
	cases.

From-SVN: r158607
2010-04-21 14:38:38 +00:00
Eric B. Weddington
96c2a0d6ff Add missing comma.
From-SVN: r158604
2010-04-21 14:14:55 +00:00
Uros Bizjak
656ef6bb35 i386.md (x86_shrd): Add athlon_decode and amdfam10_decode attributes.
* config/i386/i386.md (x86_shrd): Add athlon_decode and
	amdfam10_decode attributes.

From-SVN: r158596
2010-04-21 15:27:02 +02:00
Jakub Jelinek
78db7d92ce re PR middle-end/43570 (OpenMP: Invalid read of size 1 (libgomp.fortran/vla6.f90))
PR middle-end/43570
	* omp-low.c (scan_sharing_clauses): Don't scan_omp_op
	OMP_CLAUSE_DECL for OMP_CLAUSE_COPYPRIVATE.
	(lower_copyprivate_clauses): Use private var in outer
	context instead of original var.  Make sure the types
	are correct for VLAs.

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

From-SVN: r158594
2010-04-21 13:57:42 +02:00
Richard Guenther
11152c9536 tree-ssa-structalias.c (do_ds_constraint): Avoid escaping to non-pointer objects.
2010-04-21  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-structalias.c (do_ds_constraint): Avoid escaping
	to non-pointer objects.

	* gcc.dg/ipa/ipa-pta-11.c: Adjust.

From-SVN: r158591
2010-04-21 09:37:22 +00:00
Jakub Jelinek
0f2f44c007 dwarf2out.c (add_var_loc_to_decl): Add LABEL argument.
* dwarf2out.c (add_var_loc_to_decl): Add LABEL argument.  Drop
	last chain entry if it starts with the still current label.
	(add_location_or_const_value_attribute): Check that
	loc_list->first->next is NULL instead of comparing ->first with
	->last.
	(dwarf2out_var_location): Pass last_label resp. last_postcall_label
	to add_var_loc_to_decl.

From-SVN: r158590
2010-04-21 09:05:00 +02:00
Jakub Jelinek
8f65940dd1 dwarf2out.c (output_call_frame_info): For dw_cie_version >= 4 add also address size and segment size fields into CIE...
* dwarf2out.c (output_call_frame_info): For dw_cie_version
	>= 4 add also address size and segment size fields into CIE
	header.

	* unwind-dw2.c (extract_cie_info): Handle CIE version 4, as
	long as address size is the same as sizeof (void *) and
	segment size is 0.
	* unwind-dw2-fde.c (get_cie_encoding): Likewise.  If
	address size or segment size is unexpected, return DW_EH_PE_omit.
	(classify_object_over_fdes): If get_cie_encoding returned
	DW_EH_PE_omit, return -1.
	(init_object): If classify_object_over_fdes returned -1,
	pretend there were no FDEs at all.

From-SVN: r158589
2010-04-21 08:57:37 +02:00
Kaveh R. Ghazi
d64427ff33 builtin-cproj-3.c: New.
* gcc.dg/torture/builtin-cproj-3.c: New.

From-SVN: r158588
2010-04-21 06:26:22 +00:00
Uros Bizjak
2d2d5a918a i386.md (bswap<mode>2): Macroize expander from bswap{si,di}2 using SWI48 mode iterator.
* config/i386/i386.md (bswap<mode>2): Macroize expander from
	bswap{si,di}2 using SWI48 mode iterator.
	(*bswap<mode>2_movbe): Macroize insn from *bswap{si,di}_movbe using
	SWI48 mode iterator.  Set type attribute of bswap insn to bitmanip,
	set modrm attribute of bswap insn to 0 and remove length attribute.
	(*bswap<mode>2_1): Macroize insn from *bswap{si,di}_1 using SWI48 mode
	iterator.  Set type attribute to bitmanip, set modrm attribute to 0,
	set mode attribute to <MODE> and remove length attribute.

From-SVN: r158587
2010-04-21 08:24:30 +02:00
Jason Merrill
88274c4d22 re PR c++/9335 (repeated diagnostic when maximum template depth is exceeded)
PR c++/9335
gcc/cp:
	* init.c (constant_value_1): Treat error_mark_node as a constant
	if DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P is set.
	* cvt.c (ocp_convert): Handle getting error_mark_node from
	integral_constant_value.
	* decl.c (compute_array_index_type): Likewise.
gcc/testsuite:
	* lib/prune.exp: Prune "skipping N instantiation contexts".

From-SVN: r158586
2010-04-21 02:06:27 -04:00
James E. Wilson
4811db8d42 re PR rtl-optimization/43520 (gcc.dg/pr43058.c uses way too memory on ia64)
PR rtl-optimization/43520
* ira-lives.c (ira_implicitly_set_insn_hard_regs): Exclude classes with
zero available registers.

From-SVN: r158584
2010-04-20 22:29:11 -07:00
GCC Administrator
b034c94334 Daily bump.
From-SVN: r158583
2010-04-21 00:17:25 +00:00
Harald Anlauf
b41f84890e intrinsic.c (sort_actual): Remove 'is' in error message.
2010-04-20  Harald Anlauf  <anlauf@gmx.de>

	* intrinsic.c (sort_actual): Remove 'is' in error message.

From-SVN: r158577
2010-04-20 21:24:36 +00:00
Joseph Myers
0e99cb53b4 * es.po: Update.
From-SVN: r158575
2010-04-20 21:57:06 +01:00
Kaveh R. Ghazi
3c642f929e builtins.c (fold_builtin_cproj): Fold more cases.
* builtins.c (fold_builtin_cproj): Fold more cases.

testsuite:
        * gcc.dg/torture/builtin-cproj-1.c: Test more cases.

From-SVN: r158574
2010-04-20 20:12:47 +00:00
Kaveh R. Ghazi
43272bf5fd builtins.c (build_complex_cproj, [...]): New.
* builtins.c (build_complex_cproj, fold_builtin_cproj): New.
        (fold_builtin_1): Fold builtin cproj.
        * builtins.def (BUILT_IN_CPROJ, BUILT_IN_CPROJF, BUILT_IN_CPROJL):
        Use ATTR_CONST_NOTHROW_LIST.

From-SVN: r158573
2010-04-20 20:09:17 +00:00
Dodji Seketeli
5a80a1ddff re PR c++/43800 (FAIL: libgomp.c++/for-4.C)
Fix PR c++/43800

gcc/cp/ChangeLog:
	PR c++/43800
	PR c++/43704
	* typeck.c (incompatible_dependent_types_p): If one of the
	compared types if not a typedef then honour their main variant
	equivalence.

gcc/testsuite/ChangeLog:
	PR c++/43800
	PR c++/43704
	* g++.dg/template/typedef32.C: Adjust.
	* g++.dg/template/typedef33.C: New test.

From-SVN: r158571
2010-04-20 21:23:45 +02:00
Paul Thomas
9c4174d853 re PR fortran/43227 (ICE: segmentation fault in mio_expr)
2010-04-20  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/43227
	* resolve.c (resolve_fl_derived): If a component character
	length has not been resolved, do so now.
	(resolve_symbol): The same as above for a symbol character
	length.
	* trans-decl.c (gfc_create_module_variable): A 'length' decl is
	not needed for a character valued, procedure pointer.

	PR fortran/43266
	* resolve.c (ensure_not_abstract_walker): If 'overriding' is
	not found, return FAILURE rather than ICEing.

2010-04-20  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/43227
	* gfortran.dg/proc_decl_23.f90: New test.

	PR fortran/43266
	* gfortran.dg/abstract_type_6.f03: New test.

From-SVN: r158570
2010-04-20 19:07:14 +00:00
Uros Bizjak
e96ccb30f5 i386.md (ffs<mode>2): Macroize expander from ffs_cmove and ffsdi2 using SWI48 mode iterator.
* config/i386/i386.md (ffs<mode>2): Macroize expander from ffs_cmove
	and ffsdi2 using SWI48 mode iterator.  Expand SImode insn through
	ffsi2_no_cmove for !TARGET_CMOVE.
	(ffssi2_no_cmove): Rename from *ffs_no_cmove.  Make public.
	(ffssi2): Remove expander.
	(*ffs<mode>_1): Macroize insn from *ffs{si,di} using SWI48
	mode iterator.
	(ctz<mode>2): Ditto from ctz{si,di}2.
	(clz<mode>2): Macroize expander from ctz{hi,si,di}2 using SWI248
	mode iterator.
	(clz<mode>2_abm): Macroize insn from clz{hi,si,di}2_abm using SWI248
	mode iterator.

From-SVN: r158569
2010-04-20 19:21:50 +02:00
Jakub Jelinek
4c0ab69d3b dwarf2out.c (AT_linkage_name): Define.
* dwarf2out.c (AT_linkage_name): Define.
	(clone_as_declaration): Handle DW_AT_linkage_name.
	(add_name_and_src_coords_attributes): Use AT_linkage_name instead
	of DW_AT_MIPS_linkage_name.
	(move_linkage_attr): Likewise.
	(dwarf2out_finish): Likewise.

From-SVN: r158568
2010-04-20 19:04:10 +02:00
Xinliang David Li
94e85e0ae8 new folding rule
From-SVN: r158567
2010-04-20 17:00:37 +00:00
Anatoly Sokolov
54fb1ae03e double-int.h (double_int_setbit): Declare.
* double-int.h (double_int_setbit): Declare.
	* double-int.c (double_int_setbit): New function.
	* rtl.h (immed_double_int_const): Declare.
	* emit-rtl.c (immed_double_int_const): New function.
	* builtins.c (expand_builtin_signbit): Clean up, use double_int_*
	and immed_double_int_const functions.
	* optabs.c (expand_absneg_bit, expand_copysign_absneg,
	expand_copysign_bit):  (Ditto.).
	* simplify-rtx.c (simplify_binary_operation_1): (Ditto.).
	* tree-ssa-address.c (addr_for_mem_ref): (Ditto.).
	* dojump.c (prefer_and_bit_test): (Ditto.).
	* expr.c (convert_modes, reduce_to_bit_field_precision,
	const_vector_from_tree): (Ditto.).
	* expmed.c (mask_rtx, lshift_value): (Ditto.).

From-SVN: r158566
2010-04-20 20:33:46 +04:00
Jakub Jelinek
e4ba7a600e re PR libgomp/43706 (scheduling two threads on one core leads to starvation)
PR libgomp/43706
	* config/linux/affinity.c (gomp_init_affinity): Decrease
	gomp_available_cpus if affinity mask confines the process to fewer
	CPUs.
	* config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
	non-NULL, just return gomp_available_cpus.

From-SVN: r158565
2010-04-20 17:37:51 +02:00
Jakub Jelinek
5221d7a91b re PR libgomp/43569 (libgomp: Conditional jump or move depends on uninitialised value)
PR libgomp/43569
	* sections.c (gomp_sections_init): Initialize ws->mode.

From-SVN: r158564
2010-04-20 17:36:45 +02:00
Jan Hubicka
a837268b2b cgraph.c (cgraph_remove_node): Kill bodies in other partitoin.
* cgraph.c (cgraph_remove_node): Kill bodies in other partitoin.
	(dump_cgraph_node): Dump new flags.
	* cgraph.h (struct cgraph_node): Add flags reachable_from_other_partition
	and in_other_partition.
	(cgraph_can_remove_if_no_direct_calls_p): Functions used by other partition
	can not be removed.
	* cgraphunit.c (cgraph_mark_functions_to_output): Functions used by the other
	partition must be output; silence sanity checking on leaking functions
	bodies from other paritition.
	* lto-cgraph.c (reachable_from_other_partition_p): New function.
	(lto_output_node): Output new flags; do not sanity check that inline
	clones are output; drop lto_forced_extern_inline_p code; do not mock
	visibility flags at partition boundaries.
	(add_node_to): New function.
	(output_cgraph): Use it to sort functions so masters appear before
	clones.
	(input_overwrite_node): Input new flags.
	* passes.c (ipa_write_summaries): Do not call
	lto_new_extern_inline_states.
	* lto-section-out.c (forced_extern_inline, lto_new_extern_inline_states,
	lto_delete_extern_inline_states, lto_force_functions_extern_inline,
	lto_forced_extern_inline_p): Kill.
	* lto-streamer.h (lto_new_extern_inline_states,
	* lto_delete_extern_inline_states, lto_force_functions_extern_inline,
	lto_forced_extern_inline_p): Kill.

	* lto.c (lto_add_inline_clones): Do not track inlined_decls.
	(lto_add_all_inlinees): Likewise.
	(lto_wpa_write_files): Likewise.

From-SVN: r158563
2010-04-20 14:49:18 +00:00
Richard Guenther
48e5069861 re PR tree-optimization/39417 (Incorrect values computed with -ftree-copy-prop)
2010-04-20  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/39417
	* g++.dg/torture/pr39417.C: New testcase.

From-SVN: r158560
2010-04-20 14:18:35 +00:00
Richard Guenther
3c323b522a tree-ssa-structalias.c (do_sd_constraint): Add edges only from vars that can have pointers.
2010-04-20  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-structalias.c (do_sd_constraint): Add edges only
	from vars that can have pointers.
	(process_constraint): Dump useless constraints.

From-SVN: r158558
2010-04-20 13:57:44 +00:00
Richard Guenther
b28ae58f12 tree-ssa-structalias.c (do_structure_copy): Properly handle DEREF.
2010-04-20  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-structalias.c (do_structure_copy): Properly handle
	DEREF.
	(dump_sa_points_to_info): Remove asserts.
	(init_base_vars): nothing_id isn't an escape point nor does it
	have pointers.

	* gcc.dg/ipa/ipa-pta-14.c: New testcase.

From-SVN: r158553
2010-04-20 12:39:45 +00:00
Eric Botcazou
615c8ffaff configure.ac (BUILD_CONFIG): Redirect output to /dev/null.
* configure.ac (BUILD_CONFIG): Redirect output to /dev/null.
	* configure: Regenerate.

From-SVN: r158550
2010-04-20 10:19:38 +00:00
Nick Clifton
ee3b548ffd Update copyright notice to use GPLv3.
From-SVN: r158543
2010-04-20 08:36:39 +00:00
Jakub Jelinek
1197ce8e5a tree.h (TYPE_REF_IS_RVALUE): Define.
* tree.h (TYPE_REF_IS_RVALUE): Define.
	* dwarf2out.c (attr_checksum_ordered, is_type_die, is_comdat_die,
	should_move_die_to_comdat, prune_unused_types_walk): Handle
	DW_TAG_rvalue_reference_type like DW_TAG_reference_type.
	(modified_type_die, gen_reference_type_die): Emit
	DW_TAG_rvalue_reference_type instead of DW_TAG_reference_type
	if TYPE_REF_IS_RVALUE and -gdwarf-4.

	* cp-tree.h (TYPE_REF_IS_RVALUE): Remove.

	* g++.dg/debug/dwarf2/rv1.C: New test.

From-SVN: r158542
2010-04-20 10:33:47 +02:00
Andreas Krebbel
72e2cf1629 re PR target/43635 (ICE in s390_emit_call, at config/s390/s390.c:9484)
2010-04-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	PR target/43635
	* config/s390/s390.c (s390_emit_call): Turn direct into indirect
	calls for -fpic -m31 if they have been sibcall optimized.

2010-04-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	PR target/43635
	* gcc.c-torture/compile/pr43635.c: New testcase.

From-SVN: r158540
2010-04-20 07:51:14 +00:00
James E. Wilson
4a863f3a0b partial fix, make all 'e' class regs fixed PR rtl-optimization/43520
partial fix, make all 'e' class regs fixed
PR rtl-optimization/43520
* config/ia64/ia64.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Make
ar.lc fixed and call-used.

From-SVN: r158539
2010-04-19 18:16:59 -07:00
James E. Wilson
810d71d0d5 Enable doloop optimization on loops with calls.
* config/ia64/ia64.c (TARGET_INVALID_WITHIN_DOLOOP): Define.

From-SVN: r158538
2010-04-19 18:07:07 -07:00
GCC Administrator
44c2f7fc69 Daily bump.
From-SVN: r158537
2010-04-20 00:19:41 +00:00
Jan Hubicka
3ee2243c06 opts.c (decode_options): Disable whpr incompatible passes.
* opts.c (decode_options): Disable whpr incompatible passes.
	* lto/lto.c (lto_1_to_1_map): Skip clones.
	(read_cgraph_and_symbols): Do not mark everything as needed.
	(do_whole_program_analysis): Do map only after optimizing;
	set proper cgraph_state; use passmanager.

From-SVN: r158533
2010-04-19 23:33:21 +00:00
DJ Delorie
576319a79a cfgexpand.c (expand_debug_expr): Check for mismatched modes in POINTER_PLUS_EXPR and fix them.
* cfgexpand.c (expand_debug_expr): Check for mismatched modes in
POINTER_PLUS_EXPR and fix them.

From-SVN: r158532
2010-04-19 19:25:31 -04:00
Eric B. Weddington
578ad14116 avr-devices.c (avr_mcu_types): Add support for new devices atmega644pa...
2010-04-19  Eric B. Weddington  <eric.weddington@atmel.com>

	* config/avr/avr-devices.c (avr_mcu_types): Add support for new
	devices atmega644pa, attiny2313a, attiny24a, attiny261a, attiny4313,
	attiny44a, attiny861a, atmega16a, atmega168a, atmega164a, atmega165a,
	atmega169a, atmega169pa, atmega16hva2, atmega324a, atmega324pa,
	atmega325a, atmega3250a, atmega328, atmega329a, atmega329pa,
	atmega3290a, atmega48a, atmega644a, atmega645a, atmega645p,
	atmega6450a, atmega6450p, atmega649a, atmega649p, atmega6490a,
	atmega6490p, atmega64hve, atmega88a, atmega88pa, attiny461a, attiny84a,
	m3000. Remove support for devices atmega8m1, atmega8c1, atmega16c1,
	atmega4hvd, atmega8hvd, attiny327, m3000f, m3000s, m3001b.
	* config/avr/t-avr.c (MULTILIB_MATCHES): Same.

From-SVN: r158530
2010-04-19 22:46:52 +00:00
Eric Botcazou
d321bd2d6e ifcvt.c (noce_try_cmove_arith): Fix long lines.
* ifcvt.c (noce_try_cmove_arith): Fix long lines.
	(check_cond_move_block): Likewise.
	(cond_move_process_if_block): Likewise.
	(noce_find_if_block): Improve formatting.
	(find_if_header): Pass 0 to memset and tweak conditions.
	(cond_exec_find_if_block): Fix long lines and tweak conditions.

From-SVN: r158529
2010-04-19 22:04:57 +00:00
Jakub Jelinek
310e447210 re PR fortran/43339 (Incorrect output for pgm checking data sharing attributes)
PR fortran/43339
	* openmp.c (gfc_resolve_do_iterator): Only make iteration vars for
	sequential loops private in the innermost containing task region.

	* gfortran.dg/gomp/sharing-2.f90: Adjust for iteration vars
	of sequential loops being private only in the innermost containing
	task region.

From-SVN: r158528
2010-04-19 23:51:28 +02:00
Jakub Jelinek
fd2e4e99d8 re PR middle-end/43337 (ICE: in lookup_decl_in_outer_ctx, at omp-low.c:2103)
PR middle-end/43337
	* tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE
	with non-local decl doesn't need chain.

	* gfortran.dg/gomp/pr43337.f90: New test.

From-SVN: r158527
2010-04-19 23:50:16 +02:00
Jakub Jelinek
74e27d0d56 dwarf2out.c (lower_bound_default): For DW_LANG_Python return 0 for -gdwarf-4.
* dwarf2out.c (lower_bound_default): For DW_LANG_Python return
	0 for -gdwarf-4.

From-SVN: r158526
2010-04-19 21:37:14 +02:00
Vladimir Makarov
ec99573229 ira-color.c (allocno_reload_assign): Avoid accumulating reload registers in ALLOCNO_TOTAL_CONFLICT_HARD_REGS.
* ira-color.c (allocno_reload_assign): Avoid accumulating
        reload registers in ALLOCNO_TOTAL_CONFLICT_HARD_REGS.

From-SVN: r158524
2010-04-19 12:22:14 -06:00
Martin Jambor
acd6380155 gimple.h (create_tmp_reg): Declare.
2010-04-19  Martin Jambor  <mjambor@suse.cz>

	* gimple.h (create_tmp_reg): Declare.
	* gimplify.c (create_tmp_reg): New function.
	(gimplify_return_expr): Use create_tmp_reg.
	(gimplify_omp_atomic): Likewise.
	(gimple_regimplify_operands): Likewise.
	* tree-dfa.c (make_rename_temp): Likewise.
	* tree-predcom.c (predcom_tmp_var): Likewise.
	(reassociate_to_the_same_stmt): Likewise.
	* tree-sra.c (replace_uses_with_default_def_ssa_name): Likewise.
	(get_replaced_param_substitute): Likewise.
	* tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
	* tree-ssa-phiopt.c (cond_store_replacement): Likewise.
	* tree-ssa-pre.c (get_representative_for): Likewise.
	(create_expression_by_pieces): Likewise.
	* tree-tailcall.c (adjust_return_value_with_ops): Likewise.
	(create_tailcall_accumulator): Likewise.

From-SVN: r158523
2010-04-19 19:58:54 +02:00