Commit Graph

99517 Commits

Author SHA1 Message Date
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
Martin Jambor 0b6e2868bd cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update new_stmt.
2010-04-19  Martin Jambor  <mjambor@suse.cz>

	* cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update
	new_stmt.
	(cgraph_materialize_all_clones): Assert	!need_ssa_update_p.

From-SVN: r158522
2010-04-19 19:55:22 +02:00
Richard Guenther 1936a7d49c re PR middle-end/43796 (ICE in is_overflow_infinity (tree-vrp.c:184) with gfortran -fcheck=bounds -O2)
2010-04-19  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/43796
	* tree-vrp.c (adjust_range_with_scev): Lookup init and step
	from SCEV in the lattice.
	(vrp_visit_phi_node): Dump change.

	* gfortran.dg/pr43796.f90: New testcase.

From-SVN: r158520
2010-04-19 15:17:26 +00:00
Richard Guenther 479881c395 configure.ac: Fix quoting around elf_getshstrndx ABI check.
2010-04-19  Richard Guenther  <rguenther@suse.de>

	* configure.ac: Fix quoting around elf_getshstrndx ABI check.
	* configure: Re-generated.

From-SVN: r158519
2010-04-19 15:13:50 +00:00