Commit Graph

93718 Commits

Author SHA1 Message Date
Tobias Burnus
86c3c481e9 re PR fortran/40270 (Revision 147883 caused many Fortran regressions)
2009-05-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40270
        * trans-decl.c (create_main_function): Mark MAIN__ and
        argc/argv as TREE_USED and push/pop function_decl context
        if needed.

From-SVN: r147926
2009-05-27 21:49:22 +02:00
Julian Brown
ec0a13439a gcse.c (target.h): Include.
gcc/
	* gcse.c (target.h): Include.
	(can_assign_to_reg_without_clobbers_p): Check that the target allows
	copy of argument to a pseudo register.

From-SVN: r147925
2009-05-27 18:47:26 +00:00
Diego Novillo
ac80ba07e9 tree-ssa-live.c (dump_scope_block): Document arguments.
* tree-ssa-live.c (dump_scope_block): Document arguments.
	(dump_scope_blocks): Document.
	(debug_scope_blocks): New.
	* tree-flow.h (debug_scope_blocks): Declare.

From-SVN: r147923
2009-05-27 13:55:59 -04:00
Denis Chertykov
d1803a17f9 * doc/contrib.texi (Contributors): add myself to the list.
From-SVN: r147920
2009-05-27 21:12:24 +04:00
Janne Blomqvist
3c16fdaf6c Change scan-tree-dump-times patterns due to frontend changes
From-SVN: r147919
2009-05-27 19:55:44 +03:00
Rafael Avila de Espindola
ed63087975 (Synchronize with addition made to binutils sources):
* plugins.m4: New.

From-SVN: r147918
2009-05-27 16:31:26 +00:00
Olivier Hainque
ceadb728b0 expr.c (target_align): New function.
* expr.c (target_align): New function.  Alignment the TARGET of an
	assignment may be assume to have.
	(highest_pow2_factor_for_target): Use it instead of relying on
	immediate tree attributes of TARGET, not necessarily honored when
	intermediate bitfields are involved.

	testsuite/
	* gcc.c-torture/execute/align-nest.c: New testcase.
	* gnat.dg/misaligned_nest.adb: New testcase.


Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>

From-SVN: r147916
2009-05-27 16:06:44 +00:00
Janne Blomqvist
c1df0e1ac5 Revert part of r147883 that breaks ABI
From-SVN: r147915
2009-05-27 18:22:34 +03:00
H.J. Lu
634fa334d3 re PR target/40266 (march-native gives -mno-sse4, but cpuinfo sse4_1)
2009-05-27  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/40266
	* config/i386/driver-i386.c (host_detect_local_cpu): Support
	AVX, SSE4, AES, PCLMUL and POPCNT.

From-SVN: r147913
2009-05-27 07:39:23 -07:00
Nick Clifton
f80735f6d4 Apply fixed version of previous delta.
From-SVN: r147911
2009-05-27 14:27:12 +00:00
Diego Novillo
65332587ba tree-pretty-print.c (dump_location): New.
* tree-pretty-print.c (dump_location): New.
	(dump_generic_node): Call it.
	Factor code to handle BLOCK nodes ...
	(dump_block_node): ... here.

From-SVN: r147910
2009-05-27 10:13:18 -04:00
Rafael Avila de Espindola
3e17e31d47 attribute_plugin.c: Include gcc-plugin.h first.
2009-05-27  Rafael Avila de Espindola  <espindola@google.com>

       * g++.dg/plugin/attribute_plugin.c: Include gcc-plugin.h first.
       * g++.dg/plugin/dumb_plugin.c: Include gcc-plugin.h first.
       * g++.dg/plugin/selfassign.c: Include gcc-plugin.h first.
       * gcc.dg/plugin/selfassign.c: Include gcc-plugin.h first.


2009-05-27  Rafael Avila de Espindola  <espindola@google.com>

	* Makefile.in (GCC_PLUGIN_H): New. Replace all uses of gcc-plugin.h with
	it.
	* doc/plugins.texi: Document that gcc-plugin.h must be the first to be
	included.
	* gcc-plugin.h: Include config.h and system.h.
	(IN_GCC): Define if not defined.

From-SVN: r147908
2009-05-27 12:57:59 +00:00
Hans-Peter Nilsson
5e370570a5 re PR middle-end/40249 (build breakage with inline heuristics change)
PR middle-end/40249
	* Makefile.in (CRTSTUFF_CFLAGS): Replace -fno-inline-functions
	with -fno-inline.

From-SVN: r147907
2009-05-27 12:40:09 +00:00
Alexandre Oliva
a1fc946a9f Makefile.tpl (all): Avoid harmless warning in make all when gcc-bootstrap is enabled but stage_last...
* Makefile.tpl (all): Avoid harmless warning in make all when
gcc-bootstrap is enabled but stage_last does not exist.
* Makefile.in: Rebuilt.

From-SVN: r147900
2009-05-27 07:29:30 +00:00
Shujing Zhao
d000f0d925 m32r.c: Use REG_P, MEM_P and CONST_INT_P where applicable.
* config/m32r/m32r.c: Use REG_P, MEM_P and CONST_INT_P where
        applicable.
        * config/m32r/m32r.h: Ditto.
        * config/m32r/m32r.md: Ditto.
        * config/m32r/predicates.md: Ditto.

From-SVN: r147899
2009-05-27 06:55:00 +00:00
Kai Tietz
0c5bf15a35 array1.C (array): Use __SIZE_TYPE__ cast instead of assuming 0ul.
2009-05-27  Kai TIetz  <kai.tietz@onevision.com>

        * g++.old-deja/g++.brendan/array1.C (array): Use __SIZE_TYPE__
        cast instead of assuming 0ul.
        * g++.old-deja/g++.brendan/crash64.C (size_t): Define it via
        __SIZE_TYPE__.
        (_type_desc): Make first argument const.
        * g++.old-deja/g++.jason/new3.C (dg-options): Add -Wno-long-long.

From-SVN: r147898
2009-05-27 08:51:31 +02:00
Thomas Koenig
230fa1fc73 re PR libfortran/40187 (c_f_pointer with stride in SHAPE)
2009-05-27  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/40187
	* intrinsics/iso_c_binding.c (c_f_pointer_u0):  Take care
	of stride in "shape" argument.

2009-05-27  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/40187
	* gfortran.dg/c_f_pointer_shape_tests_4.f03:  New file.
	* gfortran.dg/c_f_pointer_shape_tests_4_driver.c:  New file.

From-SVN: r147894
2009-05-27 05:27:31 +00:00
Alexandre Oliva
82f331ff93 * cgraph.c (dump_cgraph_node): Honor -fdump-noaddr.
From-SVN: r147888
2009-05-27 03:29:41 +00:00
GCC Administrator
d641c815d4 Daily bump.
From-SVN: r147886
2009-05-27 00:16:44 +00:00
Tobias Burnus
092231a8d6 re PR fortran/39178 (Generate main() rather than using a main in libgfortran/fmain.c)
fortran/
2009-05-26  Tobias Burnus  <burnus@net-b.de>

        PR fortran/39178
        * gfortranspec.c (lang_specific_driver): Stop linking
        libgfortranbegin.
        * trans-decl.c (gfc_build_builtin_function_decls): Stop
        making MAIN__ publicly visible.
        (gfc_build_builtin_function_decls): Add
        gfor_fndecl_set_args.
        (create_main_function) New function.
        (gfc_generate_function_code): Use it.

libgfortran/
2009-05-26  Tobias Burnus  <burnus@net-b.de>

        PR fortran/39178
        * runtime/main.c (store_exe_path): Make static
        and multiple-times callable.
        (set_args): Call store_exe_path.
        * libgfortran.h: Remove store_exe_path prototype.
        * fmain.c (main): Remove store_exe_path call.

From-SVN: r147883
2009-05-26 23:19:57 +02:00
Tobias Burnus
9a0bab0be6 re PR fortran/40246 (ICE on invalid SOURCE= using NULLIFY)
2009-05-26  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40246
        * match.c (gfc_match_nullify): NULLify freed pointer.

2009-05-26  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40246
        * gfortran.dg/nullify_4.f90: New test.

From-SVN: r147879
2009-05-26 21:23:45 +02:00
Basile Starynkevitch
ae2392a94b plugins.texi (Loading plugins): typo.
2009-05-26  Basile Starynkevitch  <basile@starynkevitch.net>

	* gcc/doc/plugins.texi
	(Loading plugins): typo.
	(Plugin callbacks): Documented PLUGIN_INFO, PLUGIN_GGC_START,
	PLUGIN_GGC_MARKING, PLUGIN_GGC_END, PLUGIN_REGISTER_GGC_ROOTS.
	(Interacting with the GCC Garbage Collector): Added new section.
	(Giving information about a plugin): Added new section for
	PLUGIN_INFO.
	* gcc/testsuite/gcc.dg/plugin/plugin.exp: Added ggcplug.c test plugin
	with ggcplug-test-1.c for testing PLUGIN_GGC_MARKING etc...
	* gcc/testsuite/gcc.dg/plugin/ggcplug-test-1.c: Added new file.
	* gcc/testsuite/gcc.dg/plugin/ggcplug.c: Added new file.
	* gcc/ggc.h (ggc_register_root_tab): Added declaration.
	* gcc/gcc-plugin.h (PLUGIN_GGC_START, PLUGIN_GGC_MARKING)
	(PLUGIN_GGC_END, PLUGIN_REGISTER_GGC_ROOTS): Added new events.
	(register_callback): Improved comment in declaration.
	* gcc/ggc-common.c (const_ggc_root_tab_t) Added new typedef for
	vectors.
	(extra_root_vec) Added static variable for dynamic roots
	registration.
	(ggc_register_root_tab) Added new routine.
	(ggc_mark_roots) Added iteration inside extra_root_vec, and invoke
	PLUGIN_GGC_MARKING event.
	* gcc/ggc-zone.c: Include plugin.h.
	(ggc_collect): Invoke PLUGIN_GGC_START & PLUGIN_GGC_END events.
	* gcc/ggc-page.c: Include plugin.h.
	(ggc_collect): Invoke PLUGIN_GGC_START & PLUGIN_GGC_END events.
	* gcc/plugin.c (plugin_event_name): added names of PLUGIN_GGC_START,
	PLUGIN_GGC_MARKING, PLUGIN_GGC_END, PLUGIN_REGISTER_GGC_ROOTS
	(register_callback): check lack of callbacks for
	pseudo-events. Added handling of PLUGIN_REGISTER_GGC_ROOTS,
	PLUGIN_GGC_START, PLUGIN_GGC_MARKING, PLUGIN_GGC_END.
	(invoke_plugin_callbacks): Handle PLUGIN_GGC_START,
	PLUGIN_GGC_MARKING, PLUGIN_GGC_END, PLUGIN_REGISTER_GGC_ROOTS.
	* gcc/Makefile.in (ggc-common.o, ggc-zone.o, ggc-page.o): Added
	dependency on plugin.h.
	(plugin.o): Added dependency on ggc.h...

From-SVN: r147878
2009-05-26 17:33:33 +00:00
Nathan Sidwell
06d9ea4246 revert: neon-gen.ml: Include vxWorks.h rather than stdint.h for VxWorks kernels.
revert
	* config/arm/neon-gen.ml: Include vxWorks.h rather than stdint.h
	for VxWorks kernels.
	* config/arm/arm_neon.h: Regenerate.

From-SVN: r147877
2009-05-26 17:08:57 +00:00
Richard Guenther
da28a951d2 inline-3.c: Remove dump file.
2009-05-26  Richard Guenther  <rguenther@suse.de>

	* gcc.dg/tree-ssa/inline-3.c: Remove dump file.

From-SVN: r147876
2009-05-26 15:54:54 +00:00
Richard Guenther
f0cfd3a8e0 re PR middle-end/40248 (FAIL: gcc.c-torture/compile/20090518-1.c at -O1 and above)
2009-05-26  Richard Guenther  <rguenther@suse.de>

	PR middle-end/40248
	Revert
	* expr.c (expand_expr_real_1): Avoid calling do_store_flag
	with mismatched comparison modes.

	* expr.c (expand_expr_real_1): Expand the operand of a
	VIEW_CONVERT_EXPR in its natural mode.

From-SVN: r147874
2009-05-26 14:17:38 +00:00
Ian Lance Taylor
7980bfb829 Makefile.in (COMPILER, [...]): Define.
./:	* Makefile.in (COMPILER, COMPILER_FLAGS): Define.
	(COMPILER_FOR_BUILD, BUILD_COMPILERFLAGS): Define.
	(ALL_COMPILERFLAGS): Define.
	(.c.o, xgcc$(exeext), cpp$(exeext)): Use $(COMPILER).
	(cc1-dummy$(exeext), cc1$(exeext)): Likewise.
	(collect2$(exeext), collect2.o): Likewise.
	(c-opts.o, c-cppbuiltin.o, c-pch.o, gcc.o, gccspec.o): Likewise.
	(gcc-options.o, version.o, prefix.o, toplev.o): Likewise.
	($(out_object_file), mips-tfile, mips-tdump): Likewise.
	(libbackend.o, intl.o, cppdefault.o): Likewise.
	(gcov$(exeext), gcov-dump$(exeext)): Likewise.
	(build/%.o): Use $(COMPILER_FOR_BUILD).
	(build/gen%$(build_exeext)): Likewise.
	(build/gcov-iov$(build_exeext)): LIkewise.
	* config/t-darwin (darwin.o): Use $(COMPILER).
	(darwin-c.o, darwin-f.o, darwin-driver.o): Likewise.
	* config/t-sol2 (sol2-c.o): Likewise.
	(sol2.o): Likewise.
	* config/t-vxworks (vxworks.o): Likewise.
	* config/x-darwin (host-darwin.o): Likewise.
	* config/x-hpux (host-hpux.o): Likewise.
	* config/x-linux (host-linux.o): Likewise.
	* config/x-solaris (host-solaris.o): Likewise.
	* config/alpha/x-alpha (driver-alpha.o): Likewise.
	* config/arm/t-arm (arm-c.o): Likewise.
	* config/arm/t-pe (pe.o): Likewise.
	* config/arm/t-wince-pe (pe.o): Likewise.
	* config/i386/t-cygming (winnt.o): Likewise.
	(winnt-cxx.o, winnt-stubs.o, msformat-c.o): Likewise.
	* config/i386/t-cygwin (cygwin1.o): Likewise.
	(cygwin2.o): Likewise.
	* config/i386/t-i386 (i386-c.o): Likewise.
	* config/i386/t-interix (winnt.o): Likewise.
	* config/i386/t-netware (netware.o): Likewise.
	* config/i386/t-nwld (nwld.o): Likewise.
	* config/i386/x-darwin (host-i386-darwin.o): Likewise.
	* config/i386/x-i386 (driver-i386.o): Likewise.
	* config/i386/x-cygwin (host-cygwin.o): Likewise.
	* config/i386/x-mingw32 (host-mingw32.o): Likewise.
	* config/ia64/t-ia64 (ia64-c.o): Likewise.
	* config/m32c/t-m32c (m32c-pragma.o): Likewise.
	* config/mips/x-native (driver-native.o): Likewise.
	* config/rs6000/t-rs6000 (rs6000-c.o): Likewise.
	* config/rs6000/x-darwin (host-ppc-darwin.o): Likewise.
	* config/rs6000/x-darwin64 (host-ppc64-darwin.o): Likewise.
	* config/rs6000/x-rs6000 (driver-rs6000.o): Likewise.
	* config/score/t-score-elf (score7.o): Likewise.
	(score3.o): Likewise.
	* config/sh/t-sh (sh-c.o): Likewise.
	* config/sh/t-symbian (sh-c.o): Likewise.
	(symbian.o): Likewise.
	* config/spu/t-spu-elf (spu-c.o): Likewise.
	* config/v850/t-v850 (v850-c.o): Likewise.
	* config/v850/t-v850e (v850-c.o): Likewise.
ada/:
	* gcc-interface/Makefile.in (COMPILER): Define.
	(COMPILER_FLAGS, ALL_COMPILERFLAGS): Define.
	(.c.o, cio.o, init.o, initialize.o, targext.o): Use $(COMPILER).
	(seh_init.o, tracebak.o): Likewise.
	* gcc-interface/Make-lang.in (ada/targext.o): Likewise.
	(ada/cio.o, ada/init.o, ada/initialize.o, ada/raise.o): Likewise.
	(ada/tracebak.o, ada/cuintp.o, ada/decl.o, ada/misc.o): Likewise.
	(ada/targtyps.o, ada/trans.o, ada/utils.o): Likewise.
	(ada/utils2.o): Likewise.
cp/:
	* Make-lang.in (g++spec.o): Use $(COMPILER).
	(g++$(exeext), cc1plus-dummy$(exeext)): Likewise.
	(cc1plus$(exeext)): Likewise.
fortran/:
	* Make-lang.in (gfortranspec.o): Use $(COMPILER).
	(gfortran$(exeext), f951$(exeext), fortran/cpp.o): Likewise.
java/:
	* Make-lang.in (jvspec.o): Use $(COMPILER).
	($(XGCJ)$(exeext), jc1$(exeext), jcf-dump$(exeext)): Likewise.
	(jvgenmain$(exeext), java/jcf-io.o, java/jcf-path.o): Likewise.
objc/:
	* Make-lang.in (cc1obj-dummy$(exeext)): Use $(COMPILER).
	(cc1obj$(exeext)): Likewise.
objcp/:
	* Make-lang.in (cc1objplus-dummy$(exeext)): Use $(COMPILER).
	(cc1objplus$(exeext), objcp/objcp-act.o): Likwise.

From-SVN: r147873
2009-05-26 14:02:04 +00:00
Richard Sandiford
d0cb643b07 neon-gen.ml: Include vxWorks.h rather than stdint.h for VxWorks kernels.
* config/arm/neon-gen.ml: Include vxWorks.h rather than stdint.h
	for VxWorks kernels.
	* config/arm/arm_neon.h: Regenerate.

From-SVN: r147870
2009-05-26 13:22:09 +00:00
Richard Guenther
23977d3c07 re PR middle-end/40252 (Internal compiler error on samba4 (verify_gimple failed))
2009-05-26  Richard Guenther  <rguenther@suse.de>

	PR middle-end/40252
	* fold-const.c (fold_binary): Use the correct types for building
	rotates.

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

From-SVN: r147868
2009-05-26 11:41:34 +00:00
Richard Guenther
3d62b8954f re PR middle-end/40252 (Internal compiler error on samba4 (verify_gimple failed))
2009-05-26  Richard Guenther  <rguenther@suse.de>

	PR middle-end/40252
	* fold-const.c (fold_binary): Use the correct types for building
	rotates.

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

From-SVN: r147867
2009-05-26 11:38:03 +00:00
Dodji Seketeli
2eb25c98ab re PR c++/40007 (specialization causes access problem in primary template)
Fix PR c++/40007

    gcc/cp/ChangeLog:
    	PR c++/40007
    	* cp-tree.h (MEMBER_TYPES_NEEDING_ACCESS_CHECK): Remove this accessor.
    	(TI_TYPEDEFS_NEEDING_ACCESS_CHECKING): New accessor.
    	(get_types_needing_access_check): Declare new entry point.
    	* pt.c (append_type_to_template_for_access_check_1,
    	get_types_needing_access_check): New functions.
    	(perform_typedefs_access_check): Accept FUNCTION_DECLs and
    	RECORD_TYPEs rather than TEMPLATE_DECLs. Use the new
    	get_types_needing_access_check, no more
    	MEMBER_TYPES_NEEDING_ACCESS_CHECK.
    	(instantiate_class_template): Set input_location to the source
    	location of the most specialized template definition.
    	Perform access check using the RECORD_TYPE of the template, not its
    	associated most generic TEMPLATE_DECL.
    	(append_type_to_template_for_access_check): Augment function
    	comments. Use the new get_types_needing_access_check, not
    	MEMBER_TYPE_NEEDING_ACCESS_CHECK. Use the new
    	append_type_to_template_for_access_check_1 subroutine.

    gcc/testsuite/ChangeLog:
    	PR c++/40007
    	* g++.dg/template/typedef18.C: New test.
    	* g++.dg/template/typedef19.C: Likewise.
    	* g++.dg/template/typedef20.C: Likewise.
    	* g++.dg/template/access11.C: Adjust.

From-SVN: r147866
2009-05-26 12:35:16 +02:00
Richard Guenther
52c3075d2b re PR testsuite/40247 (Revision 147848 failed gcc.dg/struct/wo_prof_escape_substr_pointer.c)
2009-05-26  Richard Guenther  <rguenther@suse.de>

	PR testsuite/40247
	* gcc.dg/struct/wo_prof_escape_substr_pointer.c: Obfuscate.

From-SVN: r147864
2009-05-26 09:41:29 +00:00
Richard Guenther
1234614746 tree-vect-data-refs.c (vect_create_data_ref_ptr): Remove redundant calls to merge_alias_info.
2009-05-26  Richard Guenther  <rguenther@suse.de>

	* tree-vect-data-refs.c (vect_create_data_ref_ptr): Remove
	redundant calls to merge_alias_info.
	(bump_vector_ptr): Likewise.
	* tree-ssa-copy.c (merge_alias_info): Remove.
	(replace_exp_1): Remove call to merge_alias_info.
	(propagate_tree_value): Likewise.
	(fini_copy_prop): Propagate points-to info.
	* tree-flow.h (merge_alias_info): Remove.

From-SVN: r147863
2009-05-26 08:48:02 +00:00
Hariharan Sandanagobalane
807d5e6fe1 config/picochip/picochip.C (PARAM_INLINE_CALL_COST): Remove.
From-SVN: r147862
2009-05-26 08:19:34 +00:00
Kaveh R. Ghazi
f6b855dfad gfortran.h (GFC_MPC_RND_MODE): New.
* gfortran.h (GFC_MPC_RND_MODE): New.
	* simplify.c (call_mpc_func): New helper function.
	(gfc_simplify_cos, gfc_simplify_exp, gfc_simplify_log,
	gfc_simplify_sin, gfc_simplify_sqrt): Add MPC support.

From-SVN: r147860
2009-05-26 06:04:16 +00:00
GCC Administrator
a30d7997f3 Daily bump.
From-SVN: r147859
2009-05-26 00:17:02 +00:00
Jason Merrill
550a799d53 re PR c++/38064 ([c++0x] operator== doesn't work for enum classes)
PR c++/38064
	* typeck.c (cp_build_binary_op): Allow ENUMERAL_TYPE in
	arithmetic comparisons.
	(cp_common_type): Handle scoped enums.

	* call.c (promoted_arithmetic_type_p): Don't use INTEGRAL_TYPE_P.
	(add_builtin_candidate, add_builtin_candidates): Likewise.
	(convert_like_real): Likewise.
	* class.c (check_bitfield_decl): Likewise.
	* decl.c (check_static_variable_definition): Likewise.
	(compute_array_index_type): Likewise.
	* decl2.c (grokbitfield): Likewise.
	* init.c (build_new_1): Likewise.
	* pt.c (convert_nontype_argument): Likewise.
	(current_instantiation): Likewise.
	* tree.c (pod_type_p): Likewise.
	* typeck.c (build_static_cast_1): Likewise.
	(build_reinterpret_cast_1): Likewise.

From-SVN: r147854
2009-05-25 19:01:02 -04:00
Jan Hubicka
85057983ac cgraph.c (dump_cgraph_node): Dump size/time/benefit.
* cgraph.c (dump_cgraph_node): Dump size/time/benefit.
	* cgraph.h (struct inline_summary): New filed self_wize,
	size_inlining_benefit, self_time and time_inlining_benefit.
	(struct cgraph_global_info): Replace insns by time ans size fields.
	* ipa-cp (ipcp_cloning_candidate_p): Base estimate on size
	(ipcp_estimate_growth, ipcp_insert_stage): Likewise.
	(ipcp_update_callgraph): Do not touch function bodies.
	* ipa-inline.c: Include except.h
	(MAX_TIME): New constant.
	(overall_insns): Remove.
	(leaf_node_p): New.
	(overall_size, max_benefit): New static variables.
	(cgraph_estimate_time_after_inlining): New function.
	(cgraph_estimate_size_after_inlining): Rewrite using benefits.
	(cgraph_clone_inlined_nodes): Update size.
	(cgraph_mark_inline_edge): Update size.
	(cgraph_estimate_growth): Use size info.
	(cgraph_check_inline_limits): Check size.
	(cgraph_default_inline_p): Likewise.
	(cgraph_edge_badness): Compute badness based on benefit and size cost.
	(cgraph_decide_recursive_inlining): Check size.
	(cgraph_decide_inlining_of_small_function): Update size; dump sizes and
	times.
	(cgraph_decide_inlining): Likewise.
	(cgraph_decide_inlining_incrementally): Likewise; honor
	PARAM_EARLY_INLINING_INSNS.
	(likely_eliminated_by_inlining_p): New predicate.
	(estimate_function_body_sizes): New function.
	(compute_inline_parameters): Use it.
	* except.c (must_not_throw_labels): New function.
	* except.h (must_not_throw_labels): Declare.
	* tree-inline.c (init_inline_once): Kill inlining_weigths
	* tree-ssa-structalias.c: Avoid uninitialized warning.
	* params.def (PARAM_MAX_INLINE_INSNS_SINGLE): Reduce to 300.
	(PARAM_MAX_INLINE_INSNS_AUTO): Reduce to 60.
	(PARAM_INLINE_CALL_COST): Remove.
	(PARAM_EARLY_INLINING_INSNS): New.

From-SVN: r147852
2009-05-25 21:59:24 +00:00
Richard Guenther
01df5c8ae2 re PR tree-optimization/36327 (SCCVN should look through struct copies)
2009-05-25  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/36327
	* tree-ssa-alias.c (walk_non_aliased_vuses): Add second walker
	callback for reference translation or lookup at the point
	of may-defs.
	* tree-ssa-alias.h (walk_non_aliased_vuses): Adjust prototype.
	* tree-ssa-sccvn.c (get_ref_from_reference_ops): Bail out
	for union COMPONENT_REFs.
	(vn_reference_lookup_3): New callback.  Lookup from memset
	and CONSTRUCTOR assignment, translate through struct copies.
	(vn_reference_lookup_pieces): Make sure to not free the
	passed operands array.  Adjust walk_non_aliased_vuses call.
	(vn_reference_lookup): Adjust walk_non_aliased_vuses call,
	make sure we do not leak memory.

	* gcc.dg/tree-ssa/ssa-fre-24.c: New testcase.
	* gcc.dg/tree-ssa/ssa-fre-25.c: Likewise.
	* gcc.dg/tree-ssa/sra-2.c: Disable FRE.
	* gcc.dg/vect/no-vfa-vect-43.c: Adjust.
	* gcc.dg/vect/vect-40.c: Likewise.
	* gcc.dg/vect/vect-42.c: Likewise.
	* gcc.dg/vect/vect-46.c: Likewise.
	* gcc.dg/vect/vect-76.c: Likewise.

From-SVN: r147851
2009-05-25 15:18:21 +00:00
Janus Weil
c74b74a8b2 re PR fortran/40176 (Fortran 2003: Procedure pointers with array return value)
2009-05-25  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/40176
	* primary.c (gfc_match_varspec): Handle procedure pointer components
	with array return value.
	* resolve.c (resolve_expr_ppc): Ditto.
	(resolve_symbol): Make sure the interface of a procedure pointer has
	been resolved.
	* trans-array.c (gfc_walk_function_expr): Handle procedure pointer
	components with array return value.
	* trans-expr.c (gfc_conv_component_ref,gfc_conv_procedure_call,
	gfc_trans_arrayfunc_assign): Ditto.
	(gfc_trans_pointer_assignment): Handle procedure pointer assignments,
	where the rhs is a dummy argument.
	* trans-types.c (gfc_get_ppc_type,gfc_get_derived_type): Handle
	procedure pointer components with array return value.


2009-05-25  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/40176
	* gfortran.dg/proc_ptr_18.f90: New.
	* gfortran.dg/proc_ptr_19.f90: New.
	* gfortran.dg/proc_ptr_comp_9.f90: New.
	* gfortran.dg/proc_ptr_comp_10.f90: New.

From-SVN: r147850
2009-05-25 16:48:24 +02:00
Richard Guenther
6b8ed1452b tree-ssa-alias.h (dump_points_to_solution): Declare.
2009-05-25  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-alias.h (dump_points_to_solution): Declare.
	* tree-inline.c (expand_call_inline): Reset the escaped and
	callused solutions.
	* tree-ssa-structalias.c (pass_build_ealias): New.
	* tree-pass.h (pass_build_ealias): Declare.
	* passes.c (init_optimization_passes): Add PTA during 
	early optimizations.
	* tree-ssa-alias.c (dump_alias_info): Dump the ESCAPED
	and CALLUSED solutions.
	(dump_points_to_solution): New function, split out from ...
	(dump_points_to_info_for): ... here.
	* tree-parloops.c (parallelize_loops): Reset the escaped and
	callused solutions.

	* gcc.dg/tree-ssa/ssa-fre-14.c: Adjust.
	* gcc.dg/tree-ssa/ssa-fre-15.c: Likewise.

From-SVN: r147848
2009-05-25 13:35:10 +00:00
Tristan Gingold
0d38b67703 makefile.vms: New file to compile gas on VMS.
2009-05-25  Tristan Gingold  <gingold@adacore.com>

	* makefile.vms: New file to compile gas on VMS.

	* configure.com: New file to do configuration on VMS with DCL.

From-SVN: r147847
2009-05-25 13:29:08 +00:00
Rainer Orth
0adcf178ad re PR bootstrap/40027 (i686-pc-solaris2.10 bootstrap fails using Sun ld)
PR bootstrap/40027
	* config/i386/i386.c (USE_HIDDEN_LINKONCE): Only define if missing.
	* config/i386/sol2.h [!TARGET_GNU_LD] (USE_HIDDEN_LINKONCE): Define.

From-SVN: r147845
2009-05-25 12:12:08 +00:00
Ira Rosen
12aaf60964 re PR tree-optimization/40238 (ICE in gimple_verify_flow_info, at tree-cfg.c:4603)
PR tree-optimization/40238
	* tree-vect-stmts.c (vect_init_vector): Insert initialization
	statements after basic block's labels.
	* tree-vect-slp.c (vect_slp_transform_bb): Call destroy_bb_vec_info() 
	to free	the allocated memory.

From-SVN: r147844
2009-05-25 07:56:32 +00:00
Jerry DeLisle
7ac6195704 Dominique Dhumieres
2009-05-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
	    Dominique Dhumieres

	PR fortran/35732
	PR fortran/39872
	* trans-array.c (gfc_conv_ss_startstride): Add one to index.
	* gfortran.dg/bounds_check_fail_3.f90: New test.
	* gfortran.dg/bounds_check_fail_4.f90: New test.
	* gfortran.dg/bounds_check_14.f90: Update test.
	* gfortran.dg/bound_4.f90: Update test.

From-SVN: r147842
2009-05-25 03:07:00 +00:00
GCC Administrator
ea74392e09 Daily bump.
From-SVN: r147840
2009-05-25 00:16:47 +00:00
Kaz Kojima
7f9a14e39f sh.c (sh_set_return_address): Mark store of return address with a USE.
* gcc/config/sh/sh.c (sh_set_return_address): Mark store of
	return address with a USE.

From-SVN: r147836
2009-05-24 22:06:17 +00:00
Richard Guenther
b842d47809 re PR tree-optimization/40233 (Test failures with "alignment of array elements is greater than element size")
2009-05-24  Richard Guenther  <rguenther@suse.de>

	PR middle-end/40233
	* tree.c (make_vector_type): Build the TYPE_DEBUG_REPRESENTATION_TYPEs
	array type from the main variant of the inner type.

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

From-SVN: r147835
2009-05-24 16:12:58 +00:00
Nicolas Roche
2e6a3c8daf Makefile.tpl (compare-target): Skip ./ada/*tools directories.
* Makefile.tpl (compare-target): Skip ./ada/*tools directories.
	* Makefile.in: Regenerate.

From-SVN: r147834
2009-05-24 12:39:17 +00:00
Uros Bizjak
782dc37a1e erf_2.F90 (dg-options): Add -mieee for alpha*-*-* targets.
* gfortran.dg/erf_2.F90 (dg-options): Add -mieee
	for alpha*-*-* targets.

From-SVN: r147833
2009-05-24 13:26:53 +02:00
Jan-Benedict Glaw
8db7b33f7e vax-protos.h (legitimate_constant_address_p): Change definition to bool (from int) to un-break build.
2009-05-24  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* config/vax/vax-protos.h (legitimate_constant_address_p): Change
	definition to bool (from int) to un-break build.
	(legitimate_constant_p, vax_mode_dependent_address_p): Likewise.

From-SVN: r147832
2009-05-24 11:25:11 +00:00