Commit Graph

89634 Commits

Author SHA1 Message Date
Richard Guenther 44299c9601 re PR ada/37328 (ACATS la14021 ICE in gimple_assign_set_rhs1, at gimple.h:1747)
2008-09-03  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/37328
	* tree-sra.c (sra_build_assignment): Gimplify properly.
	(generate_copy_inout): Take the correct stmt as definition,
	remove bogus assert.

From-SVN: r139931
2008-09-03 11:35:18 +00:00
Bernd Schmidt 829dbae513 From Michael Frysinger <michael.frysinger@analog.com>
* config/bfin/bfin.c (bfin_handle_option): Remove BF561 warning.

From-SVN: r139930
2008-09-03 09:49:29 +00:00
Bernd Schmidt 3b62f0e14b bfin.c (bfin_expand_prologue): Honour no_stack_limit attribute.
* config/bfin/bfin.c (bfin_expand_prologue): Honour no_stack_limit
	attribute.

From-SVN: r139928
2008-09-03 09:32:18 +00:00
Danny Smith fea16f8128 gthr-win32.h (CONST_CAST2): Really make sure CONST_CAST2 is defined.
* gthr-win32.h (CONST_CAST2): Really make sure CONST_CAST2 is
	defined.
	(__gthread_setspecific): Revert 2008-08-31 change to
	__GTHREAD_HIDE_W32API case.  Apply it to !__GTHREAD_HIDE_W32API
	case.

From-SVN: r139927
2008-09-03 06:07:34 +00:00
Jason Merrill 4ad610c978 re PR c++/37208 (C++0x deleted functions and SFINAE)
PR c++/37208
        * call.c (build_over_call): Make =delete work with SFINAE.
        * class.c (resolve_address_of_overloaded_function): Likewise.

        * cp-tree.h (struct lang_decl_flags): Rename threadprivate_p to
        threadprivate_or_deleted_p.
        (CP_DECL_THREADPRIVATE_P): Adjust.
        (DECL_DELETED_FN): Likewise.
        (SD_UNINITIALIZED, SD_INITIALIZED, SD_DEFAULTED): New macros.
        (SD_DELETED): New macro.
        * parser.c (cp_parser_init_declarator): Use them.
        * decl.c (start_decl): Use them.

        * decl2.c (mark_used): Give =deleted error even in sizeof.

        * typeck2.c (check_narrowing): Downgrade narrowing error to
        permerror.

From-SVN: r139926
2008-09-03 00:10:27 -04:00
Aldy Hernandez a63068b6dd diagnostic.c (error_at): New.
* diagnostic.c (error_at): New.
        * toplev.h (error_at): New prototype.
        * c-typeck.c (build_array_ref): Call error_at instead of error.
        Pass location to pedwarn.
cp/
        * typeck.c (build_array_ref): Use new location argument.
        * class.c (build_vtbl_ref_1): Pass location to build_array_ref.
        * call.c (build_new_op): Same.
        * decl2.c (grok_array_decl): Same.
        * cp-tree.h (build_array_ref): Add location argument to prototype.

From-SVN: r139924
2008-09-03 01:00:04 +00:00
GCC Administrator aeb76a25a7 Daily bump.
From-SVN: r139922
2008-09-03 00:16:33 +00:00
John David Anglin 24ce68eed9 pr33009.c: xfail on hppa*-*-*.
* gcc.c-torture/compile/pr33009.c: xfail on hppa*-*-*.
	* gcc.c-torture/compile/pr11832.c: Likewise.

From-SVN: r139919
2008-09-02 23:43:21 +00:00
Adam Nemet 13eaee4a59 Fix previous changelog entry.
From-SVN: r139918
2008-09-02 21:45:45 +00:00
Adam Nemet a20d71301e * sel-sched.c (fur_orig_expr_found): Mark arguments unused.
From-SVN: r139916
2008-09-02 21:41:16 +00:00
Sebastian Pop b328f3af06 Add the Graphite merge entry.
From-SVN: r139912
2008-09-02 20:02:37 +00:00
Jakub Jelinek dd4bf866ad dwarf2out.c (tree_add_const_value_attribute): Only handle VAR_DECL and CONST_DECL.
* dwarf2out.c (tree_add_const_value_attribute): Only handle
	VAR_DECL and CONST_DECL.

From-SVN: r139911
2008-09-02 21:59:58 +02:00
H.J. Lu 4aab97f958 i386.c (X86_64_VARARGS_SIZE): Removed.
* config/i386/i386.c (X86_64_VARARGS_SIZE): Removed.
	(setup_incoming_varargs_64): Assume cum != NULL. Set/check
	ix86_varargs_gpr_size and ix86_varargs_fpr_size.  Use
	ix86_varargs_gpr_size instead of X86_64_REGPARM_MAX.
	Don't set ix86_save_varrargs_registers.
	(ix86_setup_incoming_varargs): Assume cum != NULL.
	(ix86_va_start): Check ix86_varargs_gpr_size and
	ix86_varargs_fpr_size instead of cfun->va_list_gpr_size and
	cfun->va_list_fpr_size, respectively.  Subtract 8*X86_64_REGPARM_MAX
	from frame pointer if ix86_varargs_gpr_size == 0.
	(ix86_compute_frame_layout): Updated.
	* config/i386/i386.h (ix86_save_varrargs_registers): Removed.
	(ix86_varargs_gpr_size): Define.
	(ix86_varargs_fpr_size): Likewise.
	(machine_function): Remove save_varrargs_registers.
	Add varargs_gpr_size and varargs_fpr_size.

	* gcc.target/i386/amd64-abi-3.c: New test.
	* gcc.target/i386/amd64-abi-4.c: Likewise.
	* gcc.target/i386/amd64-abi-5.c: Likewise.
	* gcc.target/i386/amd64-abi-6.c: Likewise.

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

From-SVN: r139910
2008-09-02 21:49:41 +02:00
Jakub Jelinek 777b1fbef1 alpha.c (va_list_skip_additions, [...]): Tuplify.
* config/alpha/alpha.c (va_list_skip_additions,
	alpha_stdarg_optimize_hook, alpha_gimplify_va_arg_1): Tuplify.
	(alpha_gimplify_va_arg): Call unshare_expr on second use of
	offset_field.

From-SVN: r139909
2008-09-02 21:28:34 +02:00
Jakub Jelinek 833ee764e7 re PR tree-optimization/36766 (natGC.cc:229: internal compiler error: Segmentation fault)
PR tree-optimization/36766
	* tree-cfg.c (gimple_purge_all_dead_eh_edges): Do nothing
	for already removed basic blocks.

	* g++.dg/tree-ssa/pr36766.C: New test.

From-SVN: r139908
2008-09-02 21:13:47 +02:00
Jakub Jelinek c83c7e7e47 re PR testsuite/36332 (FAIL: gcc.dg/torture/type-generic-1.c execution test on powerpc-*)
PR target/36332
	* real.c (real_maxval): Clear a lower bit to make real_maxval
	match get_max_float for IBM long double format.

	* gcc.c-torture/execute/ieee/pr36332.c: New test.

From-SVN: r139906
2008-09-02 20:46:29 +02:00
Andreas Schwab 75c9cbe355 configure.ac: Use m4_quote to quote the expansion of m4_do.
* configure.ac: Use m4_quote to quote the expansion of m4_do.
* configure: Regenerate.

From-SVN: r139905
2008-09-02 18:43:30 +00:00
Jakub Jelinek ef66fb294a re PR c/37171 (Canonical spelling optimization dependency)
PR c/37171
	* g++.dg/ext/attrib34.C: New test.

From-SVN: r139904
2008-09-02 20:42:48 +02:00
Richard Sandiford dd59ef130e simplify-rtx.c (simplify_binary_operation_1): Check for CONST...
gcc/
	* simplify-rtx.c (simplify_binary_operation_1): Check for CONST,
	SYMBOL_REF and LABEL_REF when applying plus_constant, instead of
	checking for a non-VOID CONSTANT_P.

From-SVN: r139903
2008-09-02 18:39:32 +00:00
Jan Hubicka edcfeaeebe * predict.c (pass_strip_predict_hints): Avoid bugs dump file.
From-SVN: r139898
2008-09-02 18:10:54 +00:00
Jan Hubicka 0d77cc6c17 * expmed.c (expand_divmod): Fix test of smod_pow2_cheap and sdiv_pow2_cheap
From-SVN: r139897
2008-09-02 18:09:05 +00:00
H.J. Lu e0978eba9f expr.c (emit_group_store): Don't assert stack temp mode size.
2008-09-02  H.J. Lu  <hongjiu.lu@intel.com>

	* expr.c (emit_group_store): Don't assert stack temp mode size.

From-SVN: r139894
2008-09-02 09:36:49 -07:00
Sebastian Pop f8bf925265 backport: configure: Regenerate.
2008-09-02  Sebastian Pop  <sebastian.pop@amd.com>
	    Tobias Grosser  <grosser@fim.uni-passau.de>
	    Jan Sjodin  <jan.sjodin@amd.com>
	    Harsha Jagasia  <harsha.jagasia@amd.com>
	    Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
	    Konrad Trifunovic  <konrad.trifunovic@inria.fr>
	    Adrien Eliche  <aeliche@isty.uvsq.fr>

	Merge from graphite branch.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* configure.ac (host_libs): Add ppl and cloog.
	Add checks for PPL and CLooG.
	* Makefile.def (ppl, cloog): Added modules and dependences.
	* Makefile.tpl (PPLLIBS, PPLINC, CLOOGLIBS, CLOOGINC): New.
	(HOST_PPLLIBS, HOST_PPLINC, HOST_CLOOGLIBS, HOST_CLOOGINC): New.

gcc/
	* graphite.c: New.
	* graphite.h: New.
	* tree-loop-linear.c (perfect_loop_nest_depth): Export.
	* doc/invoke.texi (-floop-block, -floop-interchange,
	-floop-strip-mine): Document new flags.
	* tree-into-ssa.c (gimple_vec): Moved...
	* tree-loop-distribution.c (rdg_component): Moved...
	* cfgloopmanip.c: Include tree-flow.h.
	(update_dominators_in_loop): New.
	(create_empty_if_region_on_edge): New.
	(create_empty_loop_on_edge): New.
	(loopify): Use update_dominators_in_loop.
	* tree-pass.h (pass_graphite_transforms): Declared.
	* configure: Regenerate.
	* tree-phinodes.c (make_phi_node): Export.
	(add_phi_node_to_bb): New, split from create_phi_node.
	* tree-chrec.c (for_each_scev_op): New.
	* tree-chrec.h (for_each_scev_op): Declared.
	* tree-ssa-loop-ivopts.c (get_phi_with_result): New.
	(remove_statement): Call get_phi_with_result.
	* config.in (HAVE_cloog): Undef.
	* gdbinit.in (pgg): New.
	* timevar.def (TV_GRAPHITE_TRANSFORMS): New.
	* tree-ssa-loop.c (graphite_transforms): New.
	(gate_graphite_transforms): New.
	(pass_graphite_transforms): New.
	* configure.ac (PPLLIBS, PPLINC, CLOOGLIBS, CLOOGINC,
	HAVE_cloog): Defined.
	* tree-vectorizer.c (rename_variables_in_bb): Export.
	* tree-data-ref.c (dr_may_alias_p): Export.
	(stmt_simple_memref_p): New.
	(find_data_references_in_stmt): Export.
	(find_data_references_in_loop): Export.
	(create_rdg_edge_for_ddr): Initialize RDGE_RELATION.
	(create_rdg_edges_for_scalar): Initialize RDGE_RELATION.
	(create_rdg_vertices): Export.
	(build_empty_rdg): New.
	(build_rdg): Call build_empty_rdg.  Free dependence_relations.
	* tree-data-ref.h (rdg_component): ... here.
	(scop_p): New.
	(struct data_reference): Add a field scop.
	(DR_SCOP): New.
	(find_data_references_in_loop): Declared.
	(find_data_references_in_stmt): Declared.
	(create_rdg_vertices): Declared.
	(dr_may_alias_p): Declared.
	(stmt_simple_memref_p): Declared.
	(struct rdg_edge): Add a field ddr_p relation.
	(build_empty_rdg): Declared.
	* lambda.h (lambda_matrix): Declare a VEC of.
	(find_induction_var_from_exit_cond): Declared.
	(lambda_vector_compare): New.
	* common.opt (fgraphite, floop-strip-mine,
	floop-interchange, floop-block): New flags.
	* lambda-code.c (find_induction_var_from_exit_cond): Export.
	* cfgloop.c (is_loop_exit): New.
	* cfgloop.h (is_loop_exit): Declared.
	(create_empty_if_region_on_edge): Declared.
	(create_empty_loop_on_edge): Declared.
	* tree-flow.h (add_phi_node_to_bb): Declared.
	(make_phi_node): Declared.
	(rename_variables_in_bb): Declared.
	(perfect_loop_nest_depth): Declared.
	(graphite_transform_loops): Declared.
	* Makefile.in (cfgloopmanip.o): Depend on TREE_FLOW_H.
	(graphite.o-warn): Add -Wno-error.
	(PPLLIBS, PPLINC, CLOOGLIBS, CLOOGINC): Declared.
	(LIBS): Add GMPLIBS, CLOOGLIBS, PPLLIBS.
	(INCLUDES): Add PPLINC, CLOOGINC.
	(OBJS-common): Add graphite.o.
	(graphite.o): Add rule.
	* gimple.h (gimple_vec): ... here.
	* tree-cfg.c (print_loops): Start printing at ENTRY_BLOCK_PTR.
	* passes.c (init_optimization_passes): Schedule 
	pass_graphite_transforms.

testsuite/

	* gcc.dg/graphite/scop-{0,1,2,3,4,5,6,7,8,9,
	10,11,12,13,14,15,16,17,18}.c: New.
	* gcc.dg/graphite/graphite.exp: New.
	* gcc.dg/graphite/scop-matmult.c: New.
	* gcc.dg/graphite/block-0.c: New.
	* lib/target-supports.exp (check_effective_target_fgraphite): New.
	* gfortran.dg/graphite/block-1.f90: New.
	* gfortran.dg/graphite/scop-{1,2}.f: New.
	* gfortran.dg/graphite/block-{1,3,4}.f90: New.
	* gfortran.dg/graphite/graphite.exp: New.


Co-Authored-By: Adrien Eliche <aeliche@isty.uvsq.fr>
Co-Authored-By: Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
Co-Authored-By: Harsha Jagasia <harsha.jagasia@amd.com>
Co-Authored-By: Jan Sjodin <jan.sjodin@amd.com>
Co-Authored-By: Konrad Trifunovic <konrad.trifunovic@inria.fr>
Co-Authored-By: Tobias Grosser <grosser@fim.uni-passau.de>

From-SVN: r139893
2008-09-02 16:31:04 +00:00
Samuel Tardieu 57b08d04c6 re PR target/37283 (Cannot build crtbegin.o for ARM)
gcc/
	PR target/37283
	* opts.c (decode_options): Move processing of -fno-unit-at-a-time
	and -fno-toplevel-reorder after handle_options.

From-SVN: r139892
2008-09-02 16:23:29 +00:00
Paul Brook 7612f14d07 arm.c (arm_tune_cortex_a9): Define.
2008-09-02  Paul Brook  <paul@codesourcery.com>

	* config/arm/arm.c (arm_tune_cortex_a9): Define.
	(arm_override_options): Set arm_tune_cortex_a9.
	(arm_rtx_costs_1): Make register shifts more expensive on Cortex-A9.
	(arm_issue_rate): Handle cortexa9.
	* config/arm/arm.h (arm_tune_cortex_a9): Declare.
	* config/arm/arm-cores.def: Add cortex-a9.
	* config/arm/arm-tune.md: Regenerate.
	* config/arm/arm.md: Include cortex-a9.md.
	(generic_sched, generic_vfp): Add cortexa9.
	* config/arm/cortex-a9.md: New file.

From-SVN: r139891
2008-09-02 15:01:52 +00:00
Richard Guenther a1b969a0d2 re PR tree-optimization/37327 (another ice in set_value_range, at tree-vrp.c:397)
2008-09-02  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/37327
	* tree-vrp.c (register_new_assert_for): Make sure to not have
	TREE_OVERFLOW set on the bound.

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

From-SVN: r139890
2008-09-02 13:48:11 +00:00
Andrey Belevantsev 7ab5df4871 Fixed typo in date of the 2008-09-01 MOVE_RATIO commit.
2008-09-02  Alexander Monakov  <amonakov@ispras.ru>

        Fixed typo in date of the 2008-09-01 MOVE_RATIO commit.

        * config/ia64/ia64.opt (msched-ar-data-spec): Default to 1.
        * config/ia64/ia64.c (ia64_set_sched_flags): Always initialize
        spec_info->mask.

From-SVN: r139889
2008-09-02 17:02:44 +04:00
Victor Kaplansky f6d5e84ac3 spu.md (divdf3): Removed.
2008-09-02  Victor Kaplansky  <victork@il.ibm.com>

  * gcc/config/spu/spu.md (divdf3): Removed.

Testsuite Changelog:

  * gcc.dg/fastmath-2.c: New.

From-SVN: r139888
2008-09-02 12:38:32 +00:00
Jakub Jelinek 1aeaf0f764 re PR tree-optimization/37095 (Trouble with covariant return)
PR tree-optimization/37095
	* cgraph.c (cgraph_node): When creating new cgraph node after
	assembler_name_hash has been populated, record it in the hash
	table.

	* g++.dg/inherit/thunk9.C: New test.

From-SVN: r139887
2008-09-02 12:33:46 +02:00
Jerry DeLisle 900e887f6d re PR fortran/37228 (F2008: Support g0.<d> edit descriptor)
2008-09-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/37228
	* io.c (check_format): Allow specifying precision with g0 format.

2008-09-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/37301
	PR libfortran/37228
	* io/io.h (write_real_g0): Declare new function to handle g0.d format.
	* io/transfer.c (formatted_transfer_scalar): Use new function.
	* io/format.c (parse_format_list): Enable g0.d.
	* io/write.c (write_a_char4): Delete unused var.
	(set_fnode_default): New function to set the default fnode w, d, and e
	factored from write_real. (write_real): Use new factored function.
	(write_real_g0): New function that sets d to that passed by g0.d format
	specifier and set format to ES.  Default values for w and e are used
	from the new function, set_fnode_default.

2008-09-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/37228
	* gfortran.dg/fmt_g0_4.f08: Revised test.

From-SVN: r139886
2008-09-02 10:50:13 +02:00
Daniel Kraft 52f4993488 gfortran.h (struct gfc_namespace): New member `implicit_loc'.
2008-09-02  Daniel Kraft  <d@domob.eu>

	* gfortran.h (struct gfc_namespace): New member `implicit_loc'.
	(gfc_add_abstract): New method.
	* decl.c (gfc_get_type_attr_spec): Match ABSTRACT attribute.
	(gfc_match_derived_decl): Copy abstract attribute in derived symbol.
	* dump-parse-tree.c (show_attr): Show ABSTRACT attribute as `ABSTRACT'
	only to allow for ABSTRACT types.
	* parse.c (parse_interface): Use new gfc_add_abstract.
	* primary.c (gfc_match_structure_constructor): Check that no ABSTRACT
	type is constructed.
	* resolve.c (resolve_typespec_used): New method.
	(resolve_fl_derived): Check type in respect to ABSTRACT attribute and
	check that no component is of an ABSTRACT type.
	(resolve_symbol): Check that no symbol is of an ABSTRACT type.
	(resolve_types): Check IMPLICIT declarations for ABSTRACT types.
	* symbol.c (gfc_merge_new_implicit): Remember loci of IMPLICIT's.
	(gfc_add_abstract): New method.

2008-09-02  Daniel Kraft  <d@domob.eu>

	* gfortran.dg/abstract_type_1.f90: New test.
	* gfortran.dg/abstract_type_2.f03: New test.
	* gfortran.dg/abstract_type_3.f03: New test.
	* gfortran.dg/abstract_type_4.f03: New test.

From-SVN: r139885
2008-09-02 10:13:21 +02:00
Paul Brook 571191af26 invoke.texi: Document -mword-relocations.
2008-09-01  Paul Brook  <paul@codesourcery.com>

	* doc/invoke.texi: Document -mword-relocations.
	* config/arm/uclinux-elf.h (TARGET_DEFAULT_WORD_RELOCATIONS): Define.
	* config/arm/symbian.h (TARGET_DEFAULT_WORD_RELOCATIONS): Define.
	* config/arm/vxworks.h (TARGET_DEFAULT_WORD_RELOCATIONS): Define.
	* config/arm/arm.c (arm_split_constant): Use arm_emit_movpair.
	(arm_rtx_costs_1, arm_size_rtx_costs): Handle HIGH and LO_SUM.
	(arm_emit_movpair): New function.
	(arm_print_operand <c>): Handle sybolic addresses.
	* config/arm/arm.h (TARGET_USE_MOVT): Define.
	(TARGET_DEFAULT_WORD_RELOCATIONS): Define.
	* config/arm/arm-protos.h (arm_emit_movpair): Add prototype.
	* config/arm/arm.opt: Add -mword-relocations.
	* config/arm/arm.md (movsi): Use arm_emit_movpair.
	(arm_movt, arm_movw): New.

From-SVN: r139881
2008-09-02 01:44:33 +00:00
Jerry DeLisle 4e2eb53c13 error.c: Fix cast for printf.
2008-09-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* runtime/error.c: Fix cast for printf.

From-SVN: r139880
2008-09-02 01:14:04 +00:00
GCC Administrator 4385cc71ef Daily bump.
From-SVN: r139878
2008-09-02 00:16:42 +00:00
Mark Mitchell a023046841 type_traits (__make_unsigned_selector<>): Consider enums of size smaller than short.
* include/std/type_traits (__make_unsigned_selector<>): Consider
	enums of size smaller than short.
	(__make_signed_selector<>): Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
	Adjust line numbers.
	* testsuite/20_util/make_usigned/requirements/typedefs_neg.cc:
	Adjust line numbers.
	* testsuite/20_util/make_signed/requirements/typedefs-2.cc:
	Ensure test_enum is the same size as short.
	* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
	Ensure test_enum is the same size as short.

From-SVN: r139875
2008-09-01 23:24:09 +00:00
Paul Brook 26272ba2c4 arm.c (arm_override_options): Set arm_abi earlier.
2008-09-01  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/arm.c (arm_override_options): Set arm_abi earlier.
	Allow Interworking on ARMv4 EABI based targets.
	* config/arm/bpabi.h (TARGET_FIX_V4BX_SPEC): Define.
	(SUBTARGET_EXTRA_ASM_SPEC, LINK_SPEC): Add TARGET_FIX_V4BX_SPEC.

From-SVN: r139874
2008-09-01 23:20:34 +00:00
Paul Brook 48c23a6c39 thumb2.md (thumb2_negscc): Match the correct operand for optimized LT0 test.
2008-09-01  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/thumb2.md (thumb2_negscc): Match the correct operand for
	optimized LT0 test.  Remove optimization for GT.

From-SVN: r139873
2008-09-01 22:02:55 +00:00
John David Anglin 4b73871861 pa64-hpux.h (LIB_SPEC): Link against librt when building static openmp applications.
* pa64-hpux.h (LIB_SPEC): Link against librt when building static
	openmp applications.
	* pa-hpux11.h (LIB_SPEC): Likewise.

From-SVN: r139870
2008-09-01 17:56:38 +00:00
John David Anglin 89ceba3128 ira.c (setup_eliminable_regset): Only declare i if ELIMINABLE_REGS is defined.
* ira.c (setup_eliminable_regset): Only declare i if ELIMINABLE_REGS is
	defined.

From-SVN: r139869
2008-09-01 17:53:43 +00:00
Jan Hubicka ba623cedf4 predict.c (maybe_hot_count_p, [...]): When profile is present, use only counts; when guessed use only frequencies.
* predict.c (maybe_hot_count_p, maybe_hot_edge_p): When profile is
	present, use only counts; when guessed use only frequencies.
	(estimate_bb_frequencies): Use function_frequency.
	* profile.c (compute_branch_probabilities): Exit early when
	profile reading failed. Set profile_status.
	(branch_prob): Do not set profile_status.

From-SVN: r139868
2008-09-01 16:28:06 +00:00
Aldy Hernandez 6a3799eb00 tree.c (protected_set_expr_location): New.
* tree.c (protected_set_expr_location): New.
        * tree.h (protected_set_expr_location): New prototype.
        * c-tree.h (build_array_ref): Add argument.
        (parser_build_unary_op): Same.
        * c-typeck.c (build_indirect_ref): Handle new location argument.
        (build_array_ref): Same.
        (parser_build_unary_op): Same.
        * gimplify.c (gimplify_asm_expr): Set input_location before calling
        error.
        * c-omp.c (c_finish_omp_atomic): Pass location when calling
        build_indirect_ref.
        * c-common.c (finish_label_address_expr): Handle new location
        argument.
        * c-common.h (build_indirect_ref): Add argument.
        (finish_label_address_expr): Same.
        * c-parser.c (c_parser_unary_expression): Pass location to build
        functions.
        (c_parser_postfix_expression): Same.
objc/
        * objc-act.c (build_typed_selector_reference): Pass input_location to
        build_unary_op calls.
        (build_selector_reference): Same, but to build_array_ref.
        (objc_substitute_decl): Same.
        (build_ivar_reference): Same, but to build_indirect_ref.
        (get_super_receiver): Same.
testsuite/
        * gcc.dg/20010516-1.c: Test for columns.
cp/
        * typeck.c (build_x_indirect_ref): Add location argument.
        * class.c (build_base_path): Pass location to build_indirect_ref.
        * pt.c (tsubst_copy_and_build): Pass location to
        finish_label_address_expr.
        * parser.c (cp_parser_unary_expression): Same.

From-SVN: r139867
2008-09-01 15:02:27 +00:00
Daniel Kraft 3e1e5626dc re PR fortran/37193 ("USE mod, ONLY: i, i=>j" does not import "i")
2008-09-01  Daniel Kraft  <d@domob.eu>

	PR fortran/37193
	* module.c (read_module): Initialize use_only flag on used symbols.

2008-09-01  Daniel Kraft  <d@domob.eu>

	PR fortran/37193
	* gfortran.dg/use_rename_4.f90: New test.
	* gfortran.dg/use_rename_5.f90: New test.

From-SVN: r139866
2008-09-01 15:43:10 +02:00
Paul Brook 51c69ddb91 arm.md: Include cortex-r4f.md.
2008-09-01  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/arm.md: Include cortex-r4f.md.
	(attr fpu): Update type list.
	(attr type): Add fcpys, ffariths, ffarithd, fadds, faddd, fconsts,
	fconstd, fcmps and fcmpd. 
	(attr tune_cortexr4): Define.
	(attr generic_sched, attr generic_vfp): Use tune_cortexr4.
	* config/arm/vfp.md: Document fcpys, ffariths, ffarithd, fadds, faddd,
	fconsts, fconstd, fcmps and fcmpd.  Use them in insn patterns.
	* config/arm/arm.c (arm_issue_rate): Add cortexr4f.
	* config/arm/arm1020e.md (v10_ffarith, v10_farith): Use new insn
	types.
	* config/arm/cortex-a8-neon.md (cortex_a8_vfp_add_sub,
	cortex_a8_vfp_farith: Ditto.
	* config/arm/vfp11.md (vfp_ffarith, vfp_farith): Ditto.
	* config/arm/cortex-r4.md: Use tune_cortexr4.
	* config/arm/cortex-r4f.md: New file.

From-SVN: r139865
2008-09-01 13:40:49 +00:00
Richard Guenther ff8b183bbb re PR tree-optimization/37305 (ice in set_value_range, at tree-vrp.c:397)
2008-09-01  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/37305
	* tree-ssa-ccp.c (ccp_fold): Do not set TREE_OVERFLOW on
	the result of constant conversions.
	(fold_gimple_assign): Likewise.

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

From-SVN: r139864
2008-09-01 13:39:42 +00:00
Andrey Belevantsev 68ad446f14 sel-sched-ir.c (cmp_v_in_regset_pool): Surround with #ifdef ENABLE_CHECKING.
* sel-sched-ir.c (cmp_v_in_regset_pool): Surround with
        #ifdef ENABLE_CHECKING.

From-SVN: r139863
2008-09-01 16:40:32 +04:00
Andrey Belevantsev dfb0e60d22 sel-sched-dump.c: Surround with #ifdef INSN_SCHEDULING.
* sel-sched-dump.c: Surround with #ifdef INSN_SCHEDULING.
        * sched-int.h (print_insn, print_pattern, print_value): Declare also
        when !INSN_SCHEDULING.

From-SVN: r139862
2008-09-01 16:38:44 +04:00
Andreas Schwab 8a88c2763a * config/ia64/ia64.c (TARGET_ADDRESS_COST): Update.
From-SVN: r139861
2008-09-01 12:35:24 +00:00
Paul Brook 756f763b0b arm.c (arm_no_early_mul_dep): Handle multiply-subtract.
2008-09-01  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/arm.c (arm_no_early_mul_dep): Handle multiply-subtract.

From-SVN: r139860
2008-09-01 12:28:06 +00:00
Jakub Jelinek 840018d9d1 re PR tree-optimization/36449 (Incorrect code generated for access to a large struct)
PR middle-end/36449
	* g++.dg/opt/pr36449.C: New test.

From-SVN: r139859
2008-09-01 13:34:47 +02:00
Daniel Kraft a64a8f2f26 gfc-internals.texi (F2003 OOP), [...]): New chapter and section to document the internals of type-bound procedures.
2008-09-01  Daniel Kraft  <d@domob.eu>

	* gfc-internals.texi (F2003 OOP), (Type-bound Procedures): New chapter
	and section to document the internals of type-bound procedures.
	(gfc_expr): Document EXPR_COMPCALL.
	* gfortran.h (struct gfc_expr): Remove unused `derived' from compcall.
	* dump-parse-tree.c (show_compcall): New method.
	(show_expr): Call it for EXPR_COMPCALL.
	(show_typebound), (show_f2k_derived): New methods.
	(show_symbol): Call show_f2k_derived.
	(show_code_node): Handle EXEC_COMPCALL.
	* primary.c (gfc_match_varspec): Don't initialize removed `derived' in
	primary->value.compcall.

From-SVN: r139857
2008-09-01 12:55:50 +02:00