Commit Graph

101510 Commits

Author SHA1 Message Date
Mikael Morin 35151cd5f8 trans-io.c (gfc_build_st_parameter): Update calls to gfc_add_field_to_struct.
2010-07-10  Mikael Morin  <mikael@gcc.gnu.org>

	* trans-io.c (gfc_build_st_parameter): Update calls to
	gfc_add_field_to_struct.
	* trans-stmt.c (ADD_FIELD): Ditto.
	* trans-types.c
	(gfc_get_derived_type): Ditto. Don't create backend_decl for C_PTR's
	C_ADDRESS field. 
	(gfc_add_field_to_struct_1): Set TYPE_FIELDS(context) instead of
	fieldlist, remove fieldlist from argument list.
	(gfc_add_field_to_struct): Update call to gfc_add_field_to_struct_1
	and remove fieldlist from argument list. 
	(gfc_get_desc_dim_type, gfc_get_array_descriptor_base,
	gfc_get_mixed_entry_union): Move setting
	TYPE_FIELDS to gfc_add_field_to_struct_1 and update calls to it.
	* trans-types.h (gfc_add_field_to_struct): Update prototype.

From-SVN: r162042
2010-07-10 18:14:45 +00:00
Paul Thomas 022e30c0b6 re PR fortran/44773 (Unnecessary temporaries increase the runtime for channel.f90 by ~70%)
2010-07-10  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/44773
	* trans-expr.c (arrayfunc_assign_needs_temporary): No temporary
	if the lhs has never been host associated, as well as not being
	use associated, a pointer or a target.
	* resolve.c (resolve_variable): Mark variables that are host
	associated.
	* gfortran.h: Add the host_assoc bit to the symbol_attribute
	structure.

From-SVN: r162038
2010-07-10 14:57:25 +00:00
Richard Guenther ccf134c74c re PR debug/44832 (-fcompare-debug failure for C++ i386.c)
2010-07-10  Richard Guenther  <rguenther@suse.de>
	    Joern Rennecke  <joern.rennecke@embecosm.com>

	PR debug/44832
	* tree-ssa-live.c (mark_all_vars_used_1): Set TREE_USED for
	LABEL_DECL.
	(remove_unused_scope_block_p): Don't drop TREE_USED LABEL_DECLs
	unless they have DECL_IGNORED_P set.

Co-Authored-By: Joern Rennecke <joern.rennecke@embecosm.com>

From-SVN: r162035
2010-07-10 10:40:36 +01:00
Richard Guenther bcee752ee5 re PR lto/44889 (Bogus "type of ‘nsLayoutModule_NSModule’ does not match original declaration" waning compiling Mozilla)
2010-07-10  Richard Guenther  <rguenther@suse.de>

	PR lto/44889
	* gimple.c (gimple_fixup_complete_and_incomplete_subtype_p): New
	helper function.
	(gimple_types_compatible_p): Similar to pointed-to
	types allow and merge a mix of complete and incomplete aggregate.
	Use gimple_fixup_complete_and_incomplete_subtype_p for that.
	(iterative_hash_gimple_type): Adjust for that.

	* gcc.dg/lto/20100709-1_0.c: New testcase.
	* gcc.dg/lto/20100709-1_1.c: Likewise.

From-SVN: r162032
2010-07-10 08:39:46 +00:00
Richard Sandiford 7e9b96974a tree.h (DECL_REPLACEABLE_P): Strengthen check for weak symbols.
gcc/
	* tree.h (DECL_REPLACEABLE_P): Strengthen check for weak symbols.

gcc/testsuite/
	* gcc.dg/attr-weak-hidden-1.c, gcc.dg/attr-weak-hidden-1a.c: New test.

From-SVN: r162031
2010-07-10 08:35:58 +00:00
Iain Sandoe 058bfe5300 make ObjC do LTO.
gcc/
	PR objc/44140
	* config/darwin.c (output_objc_section_asm_op): Save and restore
	section when outputting ObjC section list.

testsuite/

	PR objc/44140
	* objc.dg/lto/trivial-1_0.m: New.
	* objc.dg/lto/lto.exp: New.
	* obj-c++.dg/lto/trivial-1_0.mm: New.
	* obj-c++.dg/lto/lto.exp: New.
	* objc.dg/symtab-1.m: Adjust sizes.
	* objc.dg/image-info.m: Do not run for gnu-runtime.

gcc/objc/

	PR objc/44140
	* objc-act.c: build_objc_string_decl() remove declaration.
	(finish_var_decl): Remove forcing of var output and marking
	as "Used". 
	(init_def_list): Use integer_zero_node. 
	(init_objc_symtab): Use integer_zero_node, make the short
	integer type specific on relevant nodes.
	(generate_objc_symtab_decl): Remove call to 
	forward_declare_categories().  Use null_pointer_node where
	appropriate.  
	(build_module_descriptor): Comment and mark this item as 
	DECL_PRESERVE_P. 
	(generate_static_references): Use gcc_unreachable instead of
	abort (). 
	(diagnose_missing_method): New.
	(build_next_selector_translation_table): New.
	(build_gnu_selector_translation_table): New.
	(add_objc_string): Merge code from build_objc_string_decl...
	... and delete build_objc_string_decl().
	(generate_dispatch_table): Make integer types explicit.
	(generate_category): Pass implent and arrange for the data
	to be extracted within the routine.  Do not start new vars, 
	but finish the ones collcted during parsing.
	(generate_shared_structures): Likewise.
	(finish_objc):  Reorder code so that we finish variables before
	referencing them.  Save the global data before calling meta-data
	creation routines, and pass the current reference to the two 
	main routines.  Only call generate_objc_image_info () for the 
	NeXT runtime.
	(generate_classref_translation_entry): Comment on and make this
	item DECL_PRESERVE_P.
	(handle_class_ref): Use varpool interfaces, comment on and make
	this item DECL_PRESERVE_P.
	(handle_impent): Likewise.
	(generate_objc_image_info): Only generate when the content is 
	non-zero.  Make integer types explict.

From-SVN: r162030
2010-07-10 00:22:35 +00:00
GCC Administrator 0571e6db63 Daily bump.
From-SVN: r162029
2010-07-10 00:18:38 +00:00
Jan Hubicka b772114cb9 lto-streamer-out.c (produce_symtab): Do not write alias cgraph/varpool nodes.
* lto-streamer-out.c (produce_symtab): Do not write alias cgraph/varpool
	nodes.

From-SVN: r162025
2010-07-10 00:14:55 +00:00
Jan Hubicka 7e97ee1ae9 tree-inline.c (declare_return_variable): Fix ICE while inlining DECL_BY_VALUE function not in SSA form
* tree-inline.c (declare_return_variable): Fix ICE while
	inlining DECL_BY_VALUE function not in SSA form

From-SVN: r162024
2010-07-09 23:41:10 +00:00
Changpeng Fang 0bbe50f6b4 pr44576 Avoid un-necessary prefetch analysis by distributing the cost models
2010-07-09  Changpeng Fang  <changpeng.fang@amd.com>

	PR tree-optimization/44576
	* tree-ssa-loop-prefetch.c (trip_count_to_ahead_ratio_too_small_p):
	New.  Pull out from is_loop_prefetching_profitable to implement
	the trip count to ahead ratio heuristic.
	(mem_ref_count_reasonable_p): New.  Pull out from
	is_loop_prefetching_profitable to implement the instruction to
	memory reference ratio heuristic.  Also consider not reasonable if
	the memory reference count is above a threshold (to avoid
	explosive compilation time.
	(insn_to_prefetch_ratio_too_small_p): New.  Pull out from
	is_loop_prefetching_profitable to implement the instruction to
	prefetch ratio heuristic.
	(is_loop_prefetching_profitable): Removed.
	(loop_prefetch_arrays): Distribute the cost analysis across the
	function to allow early exit of the prefetch analysis.
	is_loop_prefetching_profitable is splitted into three functions,
	with each one called as early as possible.
	(PREFETCH_MAX_MEM_REFS_PER_LOOP): New.  Threshold above which the
	number of memory references in a loop is considered too many.

From-SVN: r162023
2010-07-09 23:08:55 +00:00
Bernd Schmidt 95da5cf917 arm.md (cbranchqi4): Fix array size.
* config/arm/arm.md (cbranchqi4): Fix array size.
	(addsi3_cbranch): Also andle alternative 2 like alternative 3 when
	calculating length.

From-SVN: r162022
2010-07-09 21:51:16 +00:00
Bernd Schmidt 1744c80034 * config/arm/arm.md (Thumb-1 ldrsb peephole): New.
From-SVN: r162021
2010-07-09 21:45:44 +00:00
Bernd Schmidt 0879e7b37b arm.md (addsi3_cbranch): Switch alternatives 0 and 1.
* config/arm/arm.md (addsi3_cbranch): Switch alternatives 0 and 1.

From-SVN: r162020
2010-07-09 21:44:11 +00:00
Bernd Schmidt c033690d7e reload.c (find_reloads): Don't clear badop if we have a winreg alternative...
* reload.c (find_reloads): Don't clear badop if we have a
	winreg alternative, but not win, and the class only has fixed
	regs.
	* hard-reg-set.h (class_only_fixed_regs): Declare.
	* reginfo.c (class_only_fixed_regs): New array.
	(init_reg_sets_1): Initialize it.
	* config/arm/arm.md (arm_addsi3, thumb1_addsi3, arm_subsi3_insn): Don't
	discourage alternatives using the stack pointer.

testsuite/
	* gcc.dg/pr32370.c: Allow another kind of error message.

From-SVN: r162019
2010-07-09 21:40:48 +00:00
Richard Guenther e8edaf9523 gimple.c (struct type_fixup_s): New struct and VEC type.
2010-07-09  Richard Guenther  <rguenther@suse.de>

	* gimple.c (struct type_fixup_s): New struct and VEC type.
	(gimple_register_type_fixups): New static global.
	(gimple_queue_type_fixup): New function.
	(gimple_types_compatible_p): Queue type fixups instead of
	applying them here.
	(gimple_register_type): Apply queued fixups for the
	canonical type.  Empty the type fixup queue.

From-SVN: r162017
2010-07-09 21:37:54 +00:00
Uros Bizjak abcb0bd9b7 * config.in: Regenerate.
From-SVN: r162016
2010-07-09 23:09:04 +02:00
Uros Bizjak 7085bfb622 configure.ac (gcc_cv_as_ix86_rep_lock_prefix): Fix test.
* configure.ac (gcc_cv_as_ix86_rep_lock_prefix): Fix test.
        * configure: Regenerate.

From-SVN: r162015
2010-07-09 23:00:08 +02:00
Eric Botcazou bb02177133 trans.c (gnat_gimplify_expr): Deal with CALL_EXPR.
* gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Deal with
	CALL_EXPR.

From-SVN: r162014
2010-07-09 20:23:14 +00:00
Jakub Jelinek 85e693aa55 re PR tree-optimization/28632 (VRP should understand bitwise OR and AND)
PR tree-optimization/28632
	* tree-vrp.c (zero_nonzero_bits_from_vr): New function.
	(extract_range_from_binary_expr): Further optimize
	BIT_AND_EXPR and BIT_IOR_EXPR.

	* gcc.dg/tree-ssa/vrp51.c: New test.
	* gcc.dg/tree-ssa/vrp52.c: New test.

Co-Authored-By: Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
Co-Authored-By: Denys Vlasenko <dvlasenk@redhat.com>

From-SVN: r162009
2010-07-09 21:40:03 +02:00
Jason Merrill 02dea3ffc6 re PR c++/43120 (Virtual inheritance with covariant return type confuses GCC)
PR c++/43120
	* cp-tree.h (BV_LOST_PRIMARY): New macro.
	* class.c (update_vtable_entry_for_fn): Fix covariant thunk logic.
	Set BV_LOST_PRIMARY.
	(build_vtbl_initializer): Check BV_LOST_PRIMARY.

From-SVN: r162008
2010-07-09 15:36:19 -04:00
Sebastian Pop 59ee2304b0 Outline fold_or_predicates from add_to_predicate_list.
2010-07-09  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-if-conv.c (fold_or_predicates): New.
	(add_to_predicate_list): Call it.

From-SVN: r162007
2010-07-09 18:58:20 +00:00
Janus Weil 6685e80691 intrinsic.texi: Add documentation for SAME_TYPE_AS...
2010-07-09  Janus Weil  <janus@gcc.gnu.org>

	* intrinsic.texi: Add documentation for SAME_TYPE_AS, EXTENDS_TYPE_OF,
	STORAGE_SIZE, C_NULL_PTR and C_NULL_FUNPTR. Modify documentation of
	SIZEOF and C_SIZEOF.

From-SVN: r162006
2010-07-09 20:40:09 +02:00
Richard Guenther 38a178dd99 re PR middle-end/44890 (Hitting gcc_assert in build2_stat with pr30388.c testsuite test case)
2010-07-09  Richard Guenther  <rguenther@suse.de>

	PR middle-end/44890
	* tree-ssa-address.c (create_mem_ref_raw): Only build a MEM_REF
	if base is a pointer.
	* tree-cfg.c (verify_expr): Update MEM_REF checking.

From-SVN: r162005
2010-07-09 18:32:29 +00:00
Michael Meissner c8aa02cc70 re PR target/44877 (C++ compiler can no longer compile dealII for VSX/Altivec vectorization)
PR 44877

From-SVN: r162002
2010-07-09 16:10:10 +00:00
Uros Bizjak 4bade865ff configure.ac (gcc_cv_as_ix86_rep_lock_prefix): Also check for "lock addl".
* configure.ac (gcc_cv_as_ix86_rep_lock_prefix): Also check
	for "lock addl".
	* configure: Regenerate.
	* config/i386/i386.c (ix86_print_operand) <case ';'>:
	Remove TARGET_MACHO.

From-SVN: r162001
2010-07-09 18:02:58 +02:00
Peter Bergner 2c9ccc21b1 rs6000.c (rs6000_override_options): Fix setting of default ISA flags.
* config/rs6000/rs6000.c (rs6000_override_options): Fix setting of
	default ISA flags.
	* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -mvsx.

From-SVN: r161999
2010-07-09 10:00:55 -05:00
Tom de Vries 5c9fae0d6e tree.c (type_hash_if_marked_p): Removed non-ggc_marked_p clause.
2010-07-09  Tom de Vries  <tjvries@xs4all.nl>

	* tree.c (type_hash_if_marked_p): Removed non-ggc_marked_p clause.

	* gcc.dg/debug/dwarf2/pr31230.c: New testcase.

From-SVN: r161998
2010-07-09 14:22:45 +00:00
Hariharan Sandanagobalane 099379da26 picochip.md (commsTestPort): Emit more efficient sequence for tstport instruction.
* config/picochip/picochip.md (commsTestPort): Emit more efficient sequence
    for tstport instruction.

From-SVN: r161996
2010-07-09 12:18:46 +00:00
Uros Bizjak f55a7cbc2c i386.c (ix86_veclib_handler): Make static.
* config/i386/i386.c (ix86_veclib_handler): Make static.

From-SVN: r161995
2010-07-09 13:55:31 +02:00
Richard Guenther dbfcc0597c re PR middle-end/44852 (miscompilation (of e.g. newlib dtoa.c) after mem-ref2 merge)
2010-07-09  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/44852
	* tree-ssa-alias.c: Include toplev.h for exact_log2.
	(indirect_ref_may_alias_decl_p): Properly handle negative offsets
	in MEM_REF.
	(indirect_refs_may_alias_p): Likewise.
	* Makefile.in (tree-ssa-alias.o): Add $(TOPLEV_H).

	* gcc.c-torture/execute/pr44852.c: New testcase.

From-SVN: r161994
2010-07-09 11:24:09 +00:00
Rainer Orth 8bcc87780a asm-support.S (snapshot): Replace multiplication by values.
* gcc.target/x86_64/abi/asm-support.S (snapshot): Replace
	multiplication by values.
	* gcc.target/x86_64/abi/asm-support-darwin.s (_snapshot): Likewise.
	* gcc.target/x86_64/abi/avx/asm-support.S (snapshot): Likewise.

From-SVN: r161991
2010-07-09 11:13:30 +00:00
Richard Guenther ca1316d24a re PR fortran/44882 (Bogus types in references with mismatched commons)
2010-07-09  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/44882
	* tree-vect-stmts.c (vectorizable_store): Do not assert alias
	sets do conflict.
	(vectorizable_load): Likewise.

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

From-SVN: r161990
2010-07-09 10:05:27 +00:00
Jonathan Wakely 2dd0f799c4 re PR libstdc++/44875 (libstdc++ status documentation fails to mention missing c++0x io members)
2010-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/44875
	* doc/xml/manual/status_cxx200x.xml: Corrections to status.
	* doc/html/*: Regenerate.

From-SVN: r161989
2010-07-09 10:44:14 +01:00
Bernd Schmidt e784c52cd2 re PR target/40657 (allocate local variables with fewer instructions)
PR target/40657
	* config/arm/arm.c (thumb1_extra_regs_pushed): New arg FOR_PROLOGUE.
	All callers changed.
	Handle the case when we're called for the epilogue.
	(thumb_unexpanded_epilogue): Use it.
	(thumb1_expand_epilogue): Likewise.

testsuite/
	PR target/40657
	* gcc.target/arm/pr40657-1.c: New test.
	* gcc.target/arm/pr40657-2.c: New test.
	* gcc.c-torture/execute/pr40657.c: New test.

From-SVN: r161988
2010-07-09 09:03:22 +00:00
Jakub Jelinek ac2856486d tree-vrp.c (extract_range_from_binary_expr): If both ranges are range_int_cst_p with non-negative minimum...
* tree-vrp.c (extract_range_from_binary_expr) <BIT_AND_EXPR>: If
	both ranges are range_int_cst_p with non-negative minimum,
	try harder to derive smaller range.

	* gcc.dg/tree-ssa/vrp50.c: New test.
	* gcc.dg/vect/slp-perm-4.c (main): Make sure loop isn't vectorized.

From-SVN: r161984
2010-07-09 08:58:42 +02:00
Manuel López-Ibáñez 79a3f089cc genrecog.c: Include diagnostic-core.h before toplev.h.
2010-07-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* genrecog.c: Include diagnostic-core.h before toplev.h.
	* genoutput.c: Likewise.
	* genextract.c: Likewise.
	* genautomata.c: Likewise.
	* genemit.c: Likewise.
	* genpeep.c: Likewise.
	* genattrtab.c: Likewise.
	* genconditions.c: Likewise.
	* genpreds.c: Likewise.

From-SVN: r161983
2010-07-09 01:34:40 +00:00
GCC Administrator 2188fc5963 Daily bump.
From-SVN: r161981
2010-07-09 00:17:26 +00:00
Janus Weil 048510c866 re PR fortran/44649 ([OOP] F2008: storage_size intrinsic (also working for polymorphic types))
2010-07-08  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44649
	* gfortran.h (gfc_isym_id): Add GFC_ISYM_C_SIZEOF,GFC_ISYM_STORAGE_SIZE.
	* intrinsic.h (gfc_check_c_sizeof,gfc_check_storage_size,
	gfc_resolve_storage_size): New prototypes.
	* check.c (gfc_check_c_sizeof,gfc_check_storage_size): New functions.
	* intrinsic.c (add_functions): Add STORAGE_SIZE.
	* iresolve.c (gfc_resolve_storage_size): New function.
	* trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle polymorphic
	arguments.
	(gfc_conv_intrinsic_storage_size): New function.
	(gfc_conv_intrinsic_function): Handle STORAGE_SIZE.

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

	PR fortran/44649
	* gfortran.dg/c_sizeof_1.f90: Modified.
	* gfortran.dg/storage_size_1.f08: New.
	* gfortran.dg/storage_size_2.f08: New.

From-SVN: r161977
2010-07-08 23:29:56 +02:00
Andi Kleen 1df15c3d3a lto-section-in.c (lto_section_name): Add missing comma.
* lto-section-in.c (lto_section_name): Add missing comma.

From-SVN: r161976
2010-07-08 23:02:47 +02:00
Anatoly Sokolov 930572b906 ia64.h (OVERRIDE_OPTIONS): Remove macros.
* config/ia64/ia64.h (OVERRIDE_OPTIONS): Remove macros.
	* config/ia64/ia64-protos.h (ia64_override_options): Remove.
	* config/ia64/ia64.c (TARGET_OPTION_OVERRIDE): Define.
	(ia64_override_options): Rename to...
	(ia64_option_override): ... this one. Make static.

From-SVN: r161975
2010-07-09 00:43:22 +04:00
Eric Botcazou 5951297a1a re PR middle-end/44843 (All 32-bit fortran execution tests generate unaligned access)
PR middle-end/44843
	* emit-rtl.c (set_mem_attributes_minus_bitpos): Do not rely on the
	pointed-to type of the offset in a MEM_REF to compute the alignment.

From-SVN: r161974
2010-07-08 20:02:29 +00:00
Eric Botcazou 5653ef60cb * make_sunver.pl: Remove extra whitespace in regexp.
From-SVN: r161973
2010-07-08 19:15:21 +00:00
Kai Tietz 2784ed9c44 final.c (final_scan_insn): Replace TARGET_UNWIND_INFO macro check by unwind_emit hook NULL check.
2010-07-08  Kai Tietz  <kai.tietz@onevision.com>

	* final.c (final_scan_insn): Replace
	TARGET_UNWIND_INFO macro check by unwind_emit
	hook NULL check.
	* targhooks.c (default_unwind_emit): Removed.
	* targhooks.h (default_unwind_emit): Likewise.
	* target.def (unwind_emit): Set default value to NULL.

From-SVN: r161972
2010-07-08 20:07:52 +02:00
Kai Tietz 135a687e07 i386-protos.h (ix86_asm_output_function_label): New prototype.
2010-07-08  Kai Tietz  <kai.tietz@onevision.com>

	* config/i386/i386-protos.h (ix86_asm_output_function_label):
	New prototype.
	* config/i386/i386.c (ix86_function_ms_hook_prologue): Check
	for NULL fntype argument and allow 64-bit targets.
	(ix86_asm_output_function_label): New function.
	(ix86_expand_prologue): Handle 64-bit ms hook prologue.
	(ix86_handle_fndecl_attribute): Likewise.
	* doc/extend.texi (ms_hook_prologue): Adjust documentation.
	* doc/doc/tm.texi: Regenerated.
	* doc/doc/doc/tm.texi.in (ASM_OUTPUT_FUNCTION_LABEL): New.
	(ASM_DECLARE_FUNCTION_NAME): Adjust documentation.
	* defaults.h (ASM_OUTPUT_FUNCTION_LABEL): New macro.
	* config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use
	ASM_OUTPUT_FUNCTION_LABEL instead of ASM_OUTPUT_LABEL.
	* config/elfos.h: Likewise.
	* config/i386/cygming.h: Likewise.
	* config/netbsd-aout.h: Likewise.
	* config/openbsd.h: Likewise.
	* config/i386/i386.h (ASM_OUTPUT_FUNCTION_LABEL): Override
	by ix86_asm_output_function_label function call.
	* varasm.c (assemble_start_function): Use
	ASM_OUTPUT_FUNCTION_LABEL instead of ASM_OUTPUT_LABEL.

From-SVN: r161971
2010-07-08 19:53:44 +02:00
Benjamin Kosnik 5ab3a5af25 stl_heap.h: Update markup.
2010-07-08  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/stl_heap.h: Update markup.
	* include/bits/move.h: Same.
	* include/bits/algorithmfwd.h: Same.
	* include/bits/regex.h: Same.
	* include/bits/random.h: Same.
	* doc/doxygen/doxygroups.cc: Same.
	* doc/doxygen/user.cfg.in: Remove include/tr1_impl/regex from
	input file list.
	* doc/Makefile.am (doc-pdf-doxygen): Add comment, put generated
	pdf in location consistent with docbook pdf generation.
	* doc/Makefile.in: Regenerate.

From-SVN: r161970
2010-07-08 17:48:12 +00:00
Jakub Jelinek 84fa59a70c re PR fortran/44847 (ICE: OpenMP with Collapse clause and CYCLE stmt in loop)
PR fortran/44847
	* match.c (match_exit_cycle): Error on EXIT also from collapsed
	!$omp do loops.  Error on CYCLE to non-innermost collapsed
	!$omp do loops.

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

From-SVN: r161967
2010-07-08 19:30:41 +02:00
Jan Hubicka 09411461d2 cgraph.c (cgraph_will_be_removed_from_program_if_no_direct_calls): New function.
* cgraph.c (cgraph_will_be_removed_from_program_if_no_direct_calls):
	New function.
	* cgraph.h (cgraph_will_be_removed_from_program_if_no_direct_calls):
	Declare.
	* ipa-cp.c (ipcp_estimate_growth): Use it.
	* ipa-inline.c (cgraph_estimate_growth, cgraph_decide_inlining):
	Likewise.

From-SVN: r161966
2010-07-08 16:46:49 +00:00
Jan Hubicka 72109b2553 tree-inline.c (declare_return_variable): Allocate annotation for new temporary.
* tree-inline.c (declare_return_variable): Allocate annotation for new
	temporary.

From-SVN: r161965
2010-07-08 16:44:54 +00:00
Sebastian Pop d89e5e20b6 Call maybe_fold_or_comparisons to fold OR-ed predicates.
2010-07-08  Sebastian Pop  <sebastian.pop@amd.com>

	PR tree-optimization/44710
	* tree-if-conv.c (parse_predicate): New.
	(add_to_predicate_list): Call it, call maybe_fold_or_comparisons.
	Make sure that the predicates are either SSA_NAMEs or gimple_condexpr.

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

From-SVN: r161964
2010-07-08 16:38:00 +00:00
Sebastian Pop 384a5197cb Add the -ftree-loop-if-convert flag.
2010-07-08  Sebastian Pop  <sebastian.pop@amd.com>

	* common.opt (ftree-loop-if-convert): New flag.
	* doc/invoke.texi (ftree-loop-if-convert): Documented.
	* tree-if-conv.c (gate_tree_if_conversion): Enable if-conversion
	when flag_tree_loop_if_convert is set.

From-SVN: r161963
2010-07-08 16:37:49 +00:00