Commit Graph

92181 Commits

Author SHA1 Message Date
H.J. Lu
a24078b219 i386-protos.h (ix86_agi_dependent): New.
2009-03-29  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386-protos.h (ix86_agi_dependent): New.

	* config/i386/i386.c (ix86_agi_dependent): Rewrite.
	(ix86_adjust_cost): Updated.

From-SVN: r145235
2009-03-29 07:57:02 -07:00
Richard Guenther
3379ae7f3b 20090113-1.c: New testcase.
2009-03-29  Richard Guenther  <rguenther@suse.de>

	* gcc.c-torture/execute/20090113-1.c: New testcase.
	* gcc.c-torture/execute/20090113-2.c: Likewise.
	* gcc.c-torture/execute/20090113-3.c: Likewise.
	* gcc.c-torture/execute/20090207-1.c: Likewise.
	* gcc.c-torture/compile/20090114-1.c: Likewise.
	* gcc.c-torture/compile/20090328-1.c: Likewise.
	* gcc.dg/noncompile/920507-1.c: Fix out-of-bounds array access.

From-SVN: r145234
2009-03-29 14:11:58 +00:00
Jan Hubicka
a8da523f8a re PR tree-optimization/28850 (missed call -> jmp transformation; redundant unwind stuff with empty finally)
PR middle-end/28850
	* tree-pass.h (pass_cleanup_eh): New function.
	(remove_unreachable_regions): Break code handling RTL
	to rtl_remove_unreachable_regions; remove ERT_MUST_NOT_THROW
	that can not be reached by runtime.
	(can_be_reached_by_runtime): New function.
	(label_to_region_map): New function.
	(num_eh_regions): New function.
	(rtl_remove_unreachable_regions): New function.
	(convert_from_eh_region_ranges): Call rtl_remove_unreachable_regions.
	(remove_eh_region): New function.
	* except.h: Include sbitmap and vecprim.
	(remove_eh_region, remove_unreachable_regions, label_to_region_map,
	num_eh_regions): Declare.
	* passes.c (init_optimization_passes): Schedule cleanup_eh.
	* Makefile.in (EXCEPT_H): New; replace all uses of except.h
	by it.
	* tree-eh.c (tree_remove_unreachable_handlers): New function.
	(tree_empty_eh_handler_p): New function.
	(cleanup_empty_eh): New function.
	(cleanup_eh): New function.
	(pass_cleanup_eh): New function.

From-SVN: r145233
2009-03-29 13:32:13 +00:00
Jan Hubicka
98f358e55f except.c (verify_eh_tree): Fix handling of fun!=cfun; be ready for removed regions.
* except.c (verify_eh_tree): Fix handling of fun!=cfun; be ready
	for removed regions.

From-SVN: r145232
2009-03-29 13:20:20 +00:00
Jan Hubicka
13a9fa4483 * except.c (dump_eh_tree): Dump all datastructures.
From-SVN: r145231
2009-03-29 13:18:48 +00:00
Jan Hubicka
e38cf7336b except.c (duplicate_eh_regions_0): Handle AKA bitmap.
* except.c (duplicate_eh_regions_0): Handle AKA bitmap.
	(duplicate_eh_regions_1): Likewise.
	(duplicate_eh_regions): Likewise; cleanup code gorwing the region
	vector; call EH verification.
	(foreach_reachable_handler, can_throw_internal_1, can_throw_external_1):
	Be ready for region being removed.

From-SVN: r145230
2009-03-29 13:16:18 +00:00
Jan Hubicka
12802c2b3d bitmap.c (bitmap_last_set_bit): New function.
* bitmap.c (bitmap_last_set_bit): New function.
	* bitmap.h (bitmap_last_set_bit): Declare.

From-SVN: r145229
2009-03-29 13:14:06 +00:00
David Ayers
4ea80a418f re PR objc/27377 (false compiler warnings generated in Objective-C code)
gcc/
2009-03-00  David Ayers  <ayers@fsfe.org>

	PR objc/27377
	* c-typeck.c (build_conditional_expr): Emit ObjC warnings
	by calling objc_compare_types and surpress warnings about
	incompatible C pointers that are compatible ObjC pointers.
	
testsuite/
2009-03-00  David Ayers  <ayers@fsfe.org>

	PR objc/27377
	* objc.dg/conditional-1.m: New tests.

From-SVN: r145225
2009-03-29 08:09:44 +00:00
Ben Elliston
f988ec96d9 decNumber.c, [...]: Upgrade to decNumber 3.61.
* decNumber.c, decNumber.h, decNumberLocal.h, decDouble.c,
	decDouble.h, decSingle.c, decContext.c, decSingle.h, decPacked.c,
	decCommon.c, decContext.h, decQuad.c, decPacked.h, decQuad.h,
	decDPD.h, decBasic.c: Upgrade to decNumber 3.61.
	* dpd/decimal128.h, dpd/decimal32.c, dpd/decimal32.h,
	dpd/decimal64.c, dpd/decimal128.c, dpd/decimal64.h: Likewise.

From-SVN: r145222
2009-03-29 11:33:22 +11:00
GCC Administrator
7cdc19725b Daily bump.
From-SVN: r145219
2009-03-29 00:16:51 +00:00
Adam Nemet
3dc9eaa666 cgraphbuild.c (build_cgraph_edges, [...]): Don't call initialize_inline_failed.
* cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges): Don't
	call initialize_inline_failed.
	(initialize_inline_failed): Move it from here ...
	* cgraph.c (initialize_inline_failed): ... to here.
	(cgraph_create_edge): Call initialize_inline_failed rather than
	setting inline_failed directly.

testsuite/
	* gcc.dg/winline-10.c: New test.

From-SVN: r145215
2009-03-29 00:08:07 +00:00
Ben Elliston
7fb0ee07b4 re PR target/32542 (When -msdata is set, gcc sent -memb to gas.)
PR target/32542
	* sysv4.opt (msdata): Improve comment.
	* linux64.h (ASM_SPEC32): Do not pass -memb when -msdata is given.
	* sysv4.h (SVR4_ASM_SPEC): Likewise.

From-SVN: r145214
2009-03-29 10:31:35 +11:00
Ben Elliston
0be77bf246 re PR target/30451 (incorrect attributes in *movti_ppc64 of rs6000.md)
PR target/30451
	* config/rs6000/rs6000.md (*movti_ppc64): Correct the order of
	load and store attributes.

From-SVN: r145213
2009-03-29 10:27:14 +11:00
Ben Elliston
593812b61c Approved in http://gcc.gnu.org/ml/gcc-patches/2008-12/msg00733.html.
* config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_HUGE_VALQ.
	(ix86_init_builtins): Add built-in function __builtin_huge_valq.
	(ix86_expand_builtin): Handle IX86_BUILTIN_HUGE_VALQ.
	* doc/extend.texi (X86 Built-in Functions): Add index entries for
	__builtin_infq and __builtin_huge_valq.

From-SVN: r145212
2009-03-29 10:21:02 +11:00
Tobias Burnus
33abc84546 re PR fortran/34656 (modifies do loop variable)
2009-03-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34656
        * trans-stmt.c (gfc_trans_simple_do, gfc_trans_do):
        Add GFC_RTCHECK_DO support.
        * option.c (gfc_handle_runtime_check_option): Enable
        * GFC_RTCHECK_DO.
        * invoke.texi (-fcheck): Document "do" option.

From-SVN: r145210
2009-03-28 22:39:26 +01:00
John David Anglin
63f90eb7b0 re PR libfortran/33595 (FAIL: gfortran.dg/nint_2.f90 -O0 execution test)
PR fortran/33595
	* intrinsics/c99_functions.c (round): Use floor instead of ceil.
	Revise checks to round up.
	(roundf): Likewise.

From-SVN: r145209
2009-03-28 21:15:45 +00:00
Anatoly Sokolov
8272d11d4a avr.c (avr_mcu_t): Add atmega8c1, atmega16c1 and atmega8m1 devices.
* config/avr/avr.c (avr_mcu_t): Add atmega8c1, atmega16c1 and
	atmega8m1 devices.
	* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
	* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.)

From-SVN: r145208
2009-03-29 00:14:48 +03:00
Xinliang David Li
74fe548b85 Add dbg count support for ccp
From-SVN: r145206
2009-03-28 20:38:44 +00:00
Gerald Pfeifer
414d751cdc crontab: Stop 4.2 snapshots.
* crontab: Stop 4.2 snapshots.
	Spread out 4.3, 4.4, and 4.5 snapshots more evenly.

From-SVN: r145205
2009-03-28 20:31:52 +00:00
Jan Hubicka
33977f8162 attr-noinline.c: Avoid pure-const optimization.
* gcc.dg/attr-noinline.c: Avoid pure-const optimization.
	* gcc.dg/pr33826.c: Update dump files.
	* gcc.dg/ipa/ipa-3.c: Avoid pure-const optimization.
	* gcc.dg/ipa/ipa-5.c: Avoid pure-const optimization.

	Merge from pretty-ipa:

	2009-03-27  Jan Hubicka  <jh@suse.cz>
	* cgraph.c (dump_cgraph_node): Add replace output flag by process.
	* tree-pass.h (function_called_by_processed_nodes_p): Declare.
	* passes.c (function_called_by_processed_nodes_p): New.
	* ipa-pure-const.c (check_call): Fix handling of operands.
	(analyze_function): Dump debug output for skipped bodies.
	(local_pure_const): Use function_called_by_processed_nodes_p.
	* dwarf2out.c (reference_to_unused): Use output.
	* passes.c (do_per_function_toporder): Likewise.

	2008-11-12  Jan Hubicka  <jh@suse.cz>

	* tree-pass.h (pass_fixup_cfg, pass_local_pure_const): Declare.
	* ipa-pure-const.c (funct_state_d): Add can throw field; make
	state_set_in_source enum
	(check_decl): Ignore memory tags; do not set fake looping flags;
	dump diagnostics.
	(check_operand, check_tree, check_rhs_var, check_lhs_var,
	get_asm_expr_operands, scan_function_op, scan_function_stmt): Remove.
	(check_call, analyze_function): Rewrite.
	(check_stmt): New.
	(add_new_function): Update call of analyze_function.
	(generate_summary): Add call of analyze_function.
	(propagate): Propagate can_throw; handle state_set_in_source correctly.
	(local_pure_const): New function.
	(pass_local_pure_const): New pass.
	* ipa-inline.c (inline_transform): Set after_inlining.
	* tree-eh.c (stmt_can_throw_external): New.
	* tree-optimize.c (execute_fixup_cfg): Do not set after_inlining;
	work with aliasing built.
	* tree-flow.h (stmt_can_throw_external): New.
	* passes.c (init_optimization_passes): Schedule fixup_cfg pass early;
	and local pure/const pass in early and late optimization queue.

From-SVN: r145204
2009-03-28 19:29:35 +00:00
Martin Jambor
617f389789 fold-const.c (get_pointer_modulus_and_residue): New parameter allow_func_align.
2009-03-28  Martin Jambor  <mjambor@suse.cz>

	* fold-const.c (get_pointer_modulus_and_residue): New parameter
	allow_func_align.
	(fold_binary): Allow function decl aligment consideration is the
	second argument is integer constant one.
	* tree-ssa-forwprop.c (simplify_bitwise_and): New function.
	(tree_ssa_forward_propagate_single_use_vars): Handle assing statements
	with BIT_AND_EXPR on the RHS by calling simplify_bitwise_and.

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

From-SVN: r145203
2009-03-28 19:10:14 +01:00
Jan Hubicka
fe89fbc56d dwarf2out.c (dwarf2out_begin_prologue): Use crtl->nothrow
* dwarf2out.c (dwarf2out_begin_prologue): Use crtl->nothrow
	* tree-eh.c (stmt_could_throw_p): Remove check for WEAK decls.
	* function.h (rtl_data): Add nothrow flag.
	* except.c (set_nothrow_function_flags): Use crtl->nothrow;
	set DECL_NOTHROW for AVAILABLE functions.

From-SVN: r145202
2009-03-28 17:55:25 +00:00
Jakub Jelinek
b3bf8855c0 rs6000-c.c (rs6000_macro_to_expand): If macro following vector keyword has expansion starting with pixel or bool...
* config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If macro
	following vector keyword has expansion starting with pixel or bool
	keyword, expand vector to __vector and pixel or bool to __pixel or
	__bool.

	* gcc.target/powerpc/altivec-28.c: New test.

From-SVN: r145199
2009-03-28 18:24:41 +01:00
Jakub Jelinek
574872ff83 re PR c++/39554 (-Wdisallowed-function-list fails when #including <algorithm>)
PR c++/39554
	* opts.c (warning_disallowed_functions, warn_disallowed_functions,
	warn_if_disallowed_function_p): Removed.
	(common_handle_option): Don't handle OPT_Wdisallowed_function_list_.
	* c-parser.c (c_parser_postfix_expression_after_primary): Don't call
	warning_if_disallowed_function_p.
	* flags.h (warn_if_disallowed_function_p,
	warn_disallowed_functions): Removed.
	* common.opt (Wdisallowed-function-list=): Removed.
	* doc/invoke.texi (-Wdisallowed-function-list=): Removed.

	* parser.c (cp_parser_postfix_expression): Don't call
	warning_if_disallowed_function_p.

	* gcc.dg/wdisallowed-functions-1.c: Removed.
	* gcc.dg/wdisallowed-functions-2.c: Removed.
	* gcc.dg/wdisallowed-functions-3.c: Removed.
	* g++.dg/warn/Wdisallowed-functions-1.C: Removed.
	* g++.dg/warn/Wdisallowed-functions-2.C: Removed.
	* g++.dg/warn/Wdisallowed-functions-3.C: Removed.

From-SVN: r145198
2009-03-28 18:23:08 +01:00
Richard Guenther
b005da111c re PR tree-optimization/38723 (default definitions not in avail_out)
2009-03-28  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/38723
	* tree-ssa-pre.c (compute_avail): Add all default definitions to
	the entry block.

	* gcc.dg/tree-ssa/ssa-fre-22.c: New testcase.

From-SVN: r145197
2009-03-28 17:17:57 +00:00
Paul Thomas
5d63a35f9f re PR fortran/36703 (ICE (segfault) in reduce_binary0 (arith.c:1778))
2009-02-13  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/36703
	PR fortran/36528
	* trans-expr.c (gfc_conv_function_val): Stabilize Cray-pointer
	function references to ensure that a valid expression is used.
	(gfc_conv_function_call): Pass Cray pointers to procedures.

2009-02-13  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/36528
	* gfortran.dg/cray_pointers_8.f90: New test.

	PR fortran/36703
	* gfortran.dg/cray_pointers_9.f90: New test.

From-SVN: r145196
2009-03-28 17:08:25 +00:00
Paul Thomas
6b02d5f753 re PR fortran/38765 (ICE in check_host_association)
2009-03-28  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/38765
	* parse.c (parse_derived): Do not break on finding pointer,
	allocatable or private components.

2009-03-28  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/38765
	* gfortran.dg/alloc_comp_assign_9.f90: New test.

From-SVN: r145195
2009-03-28 16:55:40 +00:00
Jan Hubicka
1de812a6cc tree-ssa-structalias.c (ipa_pta_execute): Fix bogus node->analyzed test introduced by my previous patch.
* tree-ssa-structalias.c (ipa_pta_execute): Fix bogus node->analyzed
	test introduced by my previous patch.

From-SVN: r145194
2009-03-28 16:53:27 +00:00
Richard Guenther
fbb789d49a tree-ssa-copy.c (copy_prop_visit_phi_node): Do not leave the PHIs value undefined.
2009-03-28  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-copy.c (copy_prop_visit_phi_node): Do not leave
	the PHIs value undefined.

From-SVN: r145193
2009-03-28 16:02:18 +00:00
Daniel Kraft
bc6600ab2a string_intrinsics.c: #include <assert.h>
2009-03-28  Daniel Kraft  <d@domob.eu>

	* intrinsics/string_intrinsics.c: #include <assert.h>
	* intrinsics/string_intrinsics_inc.c (string_trim): Use string_len_trim
	instead of calculating the length directly.
	(string_len_trim): For KIND=1, speed search up.

2009-03-28  Daniel Kraft  <d@domob.eu>

	* gfortran.dg/trim_1.f90: New test.

From-SVN: r145192
2009-03-28 16:18:59 +01:00
Jan Hubicka
6f1873a1cf tree-pass.h (pass_fixup_cfg): New pass.
* tree-pass.h (pass_fixup_cfg): New pass.
	* ipa-inline.c (inline_transform): Set
	always_inline_functions_inlined/after_inlining.
	* tree-optimize.c (execute_fixup_cfg): Do not set them here.
	(pass_fixup_cfg): New pass.
	* passes.c (init_optimization_passes): Add fixup_cfg.

From-SVN: r145191
2009-03-28 14:48:43 +00:00
Richard Guenther
08cf8f5852 Warray-bounds.c: Do not use redundant stores.
2009-03-28  Richard Guenther  <rguenther@suse.de>

	* gcc.dg/Warray-bounds.c: Do not use redundant stores.
	* g++.dg/warn/Warray-bounds.C: Likewise.

From-SVN: r145189
2009-03-28 14:15:49 +00:00
Tobias Burnus
43998ed92e re PR fortran/32626 (Run-time check for recursive functions)
2009-03-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/32626
        * option.c (gfc_handle_runtime_check_option): Enable recursion check.
        * trans-decl.c (gfc_generate_function_code): Add recursion check.
        * invoke.texi (-fcheck): Add recursive option.

From-SVN: r145188
2009-03-28 15:04:14 +01:00
Tobias Burnus
dc186969b5 re PR fortran/38432 (Add warning for loops which are never executed)
2009-03-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/38432
        * resolve.c (gfc_resolve_iterator): Add zero-loop warning.

2009-03-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/38432
        * gfortran.dg/do_check_5.f90: New test.
        * gfortran.dg/array_constructor_11.f90: Add dg-warning.
        * gfortran.dg/array_constructor_18.f90: Ditto.
        * gfortran.dg/array_constructor_22.f90: Ditto.
        * gfortran.dg/do_3.F90: Ditto.
        * gfortran.dg/do_1.f90: Ditto.

From-SVN: r145186
2009-03-28 14:06:30 +01:00
Richard Guenther
17021bc8cb re PR tree-optimization/38458 (copy-propagation doesn't handle cycles)
2009-03-28  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/38458
	* tree-ssa-copy.c (copy_prop_visit_phi_node): For the first
	argument use the arguments copy-of value.

From-SVN: r145185
2009-03-28 12:54:14 +00:00
Richard Guenther
e8114fbacc re PR tree-optimization/38180 (CCP does not propagate through constant initializers)
2009-03-28  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/38180
	* tree-ssa-ccp.c (get_default_value): Simplify.
	(likely_value): Likewise.
	(surely_varying_stmt_p): Properly handle VOP case.
	(ccp_initialize): Likewise.
	(ccp_fold): Handle propagating through *&.
	(fold_const_aggregate_ref): Also handle decls.

	* gcc.dg/tree-ssa/ssa-ccp-24.c: New testcase.

From-SVN: r145184
2009-03-28 12:52:13 +00:00
Francois-Xavier Coudert
d3d3011f93 gfortran.h (gfc_option_t): Add rtcheck.
2009-03-28  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
            Paul Thomas  <pault@gcc.gnu.org>
            Tobias Burnus  <burnus@net-b.de>

        * gfortran.h (gfc_option_t): Add rtcheck.
        * lang.opt: New option -fruntime-check.
        * libgfortran.h: Add GFC_RTCHECK_* constants.
        * invoke.texi: Document -fruntime-check.
        * options.c (gfc_handle_runtime_check_option): New function.
        (gfc_init_options,gfc_post_options,gfc_handle_option):
        Add -fruntime-check option.


Co-Authored-By: Paul Thomas <pault@gcc.gnu.org>
Co-Authored-By: Tobias Burnus <burnus@net-b.de>

From-SVN: r145183
2009-03-28 13:52:08 +01:00
Jan Hubicka
257eb6e3ef cgraph.c (dump_cgraph_node): Add replace output flag by process.
* cgraph.c (dump_cgraph_node): Add replace output flag by process.
	* cgraph.h (cgraph_node): Likewise.
	* cgraphunit.c (cgraph_process_new_functions): Set process flag.
	(cgraph_reset_node): Use process flag.
	(cgraph_mark_functions_to_output): Likewise.
	(cgraph_expand_function): Likewise.
	(cgraph_expand_all_functions): Likewise.
	(cgraph_output_in_order): Likewise.
	* dwarf2out.c (reference_to_unused): Likewise.
	* passes.c do_per_function_toporder): Likewise.

From-SVN: r145178
2009-03-28 12:04:38 +00:00
Doug Kwan
b755167663 Bring from lto-branch:
2008-09-03  Doug Kwan  <dougkwan@google.com>

	* cgraphbuild.c (initialize_inline_failed): Use cgraph_inline_failed_t
	enums instead of reason strings.
	* cgraph.c (cgraph_create_edge): Same.
	(cgraph_inline_failed_string): New function.
	* cgraph.h (cgraph_inline_failed_t): New enum type.
	(cgraph_inline_failed_string): New prototype.
	(struct cgraph_edge): Change type of INLINED_FAILED from constant
	char pointer to cgraph_inline_failed_t.
	(cgraph_inline_p): Adjust prototype to use cgraph_inline_failed_t.
	(cgraph_default_inline_p): Ditto.
	* gcc/cgraphunit.c (cgraph_inline_p): Change type of parameter REASON
	to cgraph_inline_failed_t pointer.
	* cif-code.def: New file.
	* ipa-inline.c (cgraph_mark_inline_edge): Use an enum instead of a
	reason string.
	(cgraph_check_inline_limits): Change type of REASON to pointer to
	cgraph_inline_failed_t.  Replace reason strings with enums.
	(cgraph_default_inline_p): Ditto.
	(cgraph_recursive_inlining_p): Ditto.
	(update_caller_keys): Change type of FAILED_REASON to
	cgraph_inline_failed_t.
	(cgraph_set_inline_failed): Change type of REASON to pointer to
	cgraph_inline_failed_t.  Call cgraph_inline_failed_string to
	convert enums to strings for text output.
	(cgraph_decide_inlining_of_small_function): Change FAILED_REASON
	to be of type cgraph_inline_failed_t.  Replace reason strings with
	enums.  Call cgraph_inline_failed_string to covert enums
	to strings for text output.
	(cgraph_decide_inlining): Replace reason strings with enums.
	(cgraph_decide_inlining_incrementally): Change type of FAILED_REASON
	to cgraph_inline_failed_t type.  Call cgraph_inline_failed_string
	for text output.
	* tree-inline.c (expand_call_inline): Change type of REASON
	to cgraph_inline_failed_t.  Replace reason strings with enums.
	Call cgraph_inline_failed_string for text output.
	* Makefile.in (CGRAPH_H): Add cif-code.def to dependencies.
	(cgraph.o): Ditto.

From-SVN: r145177
2009-03-28 11:10:06 +00:00
Jan Hubicka
61a05df17c Bring from lto-branch:
2008-09-03  Doug Kwan  <dougkwan@google.com>

	* cgraphbuild.c (initialize_inline_failed): Use cgraph_inline_failed_t
	enums instead of reason strings.
	* cgraph.c (cgraph_create_edge): Same.
	(cgraph_inline_failed_string): New function.
	* cgraph.h (cgraph_inline_failed_t): New enum type.
	(cgraph_inline_failed_string): New prototype.
	(struct cgraph_edge): Change type of INLINED_FAILED from constant
	char pointer to cgraph_inline_failed_t.
	(cgraph_inline_p): Adjust prototype to use cgraph_inline_failed_t.
	(cgraph_default_inline_p): Ditto.
	* gcc/cgraphunit.c (cgraph_inline_p): Change type of parameter REASON
	to cgraph_inline_failed_t pointer.
	* cif-code.def: New file.
	* ipa-inline.c (cgraph_mark_inline_edge): Use an enum instead of a
	reason string.
	(cgraph_check_inline_limits): Change type of REASON to pointer to
	cgraph_inline_failed_t.  Replace reason strings with enums.
	(cgraph_default_inline_p): Ditto.
	(cgraph_recursive_inlining_p): Ditto.
	(update_caller_keys): Change type of FAILED_REASON to
	cgraph_inline_failed_t.
	(cgraph_set_inline_failed): Change type of REASON to pointer to
	cgraph_inline_failed_t.  Call cgraph_inline_failed_string to
	convert enums to strings for text output.
	(cgraph_decide_inlining_of_small_function): Change FAILED_REASON
	to be of type cgraph_inline_failed_t.  Replace reason strings with
	enums.  Call cgraph_inline_failed_string to covert enums
	to strings for text output.
	(cgraph_decide_inlining): Replace reason strings with enums.
	(cgraph_decide_inlining_incrementally): Change type of FAILED_REASON
	to cgraph_inline_failed_t type.  Call cgraph_inline_failed_string
	for text output.
	* tree-inline.c (expand_call_inline): Change type of REASON
	to cgraph_inline_failed_t.  Replace reason strings with enums.
	Call cgraph_inline_failed_string for text output.
	* Makefile.in (CGRAPH_H): Add cif-code.def to dependencies.
	(cgraph.o): Ditto.

From-SVN: r145176
2009-03-28 11:08:16 +00:00
Jan Hubicka
144e8aac3d cgraph.c (cgraph_node, [...]): Remove master clone handling.
* cgraph.c (cgraph_node, cgraph_remove_node, dump_cgraph_node,
	cgraph_clone_node): Remove master clone handling.
	(cgraph_is_master_clone, cgraph_master_clone): Remove.
	* cgraph.h (master_clone): Remove.
	(cgraph_is_master_clone, cgraph_master_clone): Remove.
	* ipa-type-escape.c (type_escape_execute): Remove use of master clone.
	(tree-ssa-structalias.c (ipa_pta_execute): Likewise.

From-SVN: r145175
2009-03-28 11:00:07 +00:00
Jan Hubicka
4a371c8d8f cgraph.c (cgraph_function_body_availability): Functions declared inline are always safe to assume that it is not going to be...
* cgraph.c (cgraph_function_body_availability): Functions declared
	inline are always safe to assume that it is not going to be replaced.

From-SVN: r145174
2009-03-28 10:48:04 +00:00
Richard Guenther
6cdb0ee365 re PR tree-optimization/38513 (Only postreload will remove a no-op store)
2009-03-28  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/38513
	* tree-ssa-pre.c (eliminate): Remove redundant stores.
	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle
	EXC_PTR_EXPR and FILTER_EXPR.
	(get_ref_from_reference_ops): Likewise.

	* gcc.dg/tree-ssa/ssa-fre-21.c: New testcase.
	* gcc.dg/tree-ssa/ssa-dse-11.c: Adjust.
	* gcc.dg/vect/vect-reduc-dot-u8a.c: Likewise.
	* gcc.dg/vect/vect-reduc-dot-u8b.c: Likewise.
	* gcc.dg/vect/slp-widen-mult-u8.c: Likewise.
	* gcc.dg/vect/vect-multitypes-16.c: Likewise.
	* gcc.dg/vect/vect-35.c: Likewise.
	* gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c: Likewise.
	* gcc.dg/vect/vect-multitypes-17.c: Likewise.
	* gcc.dg/vect/slp-widen-mult-s16.c: Likewise.

From-SVN: r145172
2009-03-28 10:11:14 +00:00
Richard Guenther
8ca1fd7674 re PR tree-optimization/38968 (Complex matrix product is not vectorized)
2009-03-28  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/38968
	* tree-vect-analyze.c (vect_compute_data_ref_alignment):
	Use FLOOR_MOD_EXPR to compute misalignment.

	* gfortran.dg/vect/fast-math-pr38968.f90: New testcase.

From-SVN: r145171
2009-03-28 10:05:24 +00:00
Richard Guenther
a254e44de7 re PR tree-optimization/37795 (if-combine doesn't optimize != after >= test)
2009-03-28  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/37795
	* tree.h (combine_comparisons): Declare.
	* fold-const.c (combine_comparisons): Export.
	* tree-ssa-ifcombine.c (ifcombine_ifandif): Optimize two successive
	comparisons.
	(ifcombine_iforif): Use combine_comparisons.

	* gcc.dg/tree-ssa/ssa-ifcombine-7.c: New testcase.

From-SVN: r145170
2009-03-28 10:01:56 +00:00
Jan Hubicka
a8ee227c04 tree-eh.c (inlinable_call_p): New function.
* tree-eh.c (inlinable_call_p): New function.
	(make_eh_edges): Use it.
	(verify_eh_edges): Use it.
	(stmt_can_throw_external, stmt_can_throw_internal): Use it.
	* except.c (reachable_next_level): Add inlinable_function argument
	(sjlj_find_directly_reachable_regions): Update.
	(add_reachable_handler): Do not set saw_any_handlers.
	(reachable_next_level): Handle MUST_NOT_THROW more curefully.
	(foreach_reachable_handler, can_throw_internal_1, can_throw_external_1):
	Add new inlinable call parameter.
	(can_throw_internal, can_throw_external): Update.
	* except.h (can_throw_internal_1, can_throw_external_1,
	foreach_reachable_handler): Update declaration.

From-SVN: r145166
2009-03-28 09:08:52 +00:00
Joseph Myers
aa2785717f * gcc.pot: Regenerate.
From-SVN: r145162
2009-03-28 07:04:15 +00:00
Joseph Myers
f145021137 Makefile.in (po/$(PACKAGE).pot): Use $(mkinstalldirs) not mkinstalldirs.
* Makefile.in (po/$(PACKAGE).pot): Use $(mkinstalldirs) not
	mkinstalldirs.

From-SVN: r145160
2009-03-28 06:57:44 +00:00
Joseph Myers
f5b9c3604e * cpplib.pot: Regenerate.
From-SVN: r145159
2009-03-28 06:57:06 +00:00
Joseph Myers
52c0e446f3 inclhack.def (aix_syswait, [...]): Remove.
fixincludes:
	* inclhack.def (aix_syswait, exception_structure,
	pthread_page_size): Remove.
	(math_exception): Remove mention of fixproto in comment.
	* fixincl.x: Regenerate.
	* mkheaders.in: Do not handle STMP_FIXPROTO.

gcc:
	* config/arm/t-arm-coff, config/h8300/coff.h,
	config/i386/i386-aout.h, config/i386/i386-coff.h,
	config/libgloss.h, config/m68k/coff.h, config/m68k/m68k-aout.h,
	config/pdp11/2bsd.h, config/rs6000/aix41.h,
	config/rs6000/aix41.opt, config/rs6000/t-newas, config/sh/coff.h,
	fix-header.c, fixproto, gen-protos.c, protoize.c, scan-decls.c,
	scan-types.sh, scan.c, scan.h, sort-protos, sys-protos.h,
	sys-types.h: Remove.
	* Makefile.in: Remove protoize and fixproto support and references
	in comments.
	(SYSCALLS.c.X-warn, TARGET_GETGROUPS_T, STMP_FIXPROTO,
	PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, FIXPROTO_DEFINES):
	Remove.
	(ALL_HOST_OBJS): Remove $(PROTO_OBJS).
	(MOSTLYCLEANFILES): Remove protoize$(exeext) and
	unprotoize$(exeext).
	(rest.encap): Don't depend on $(STMP_FIXPROTO)
	(.PHONY): Don't depend on proto.
	(libgcc-support): Don't depend on $(STMP_FIXPROTO).
	(proto, PROTO_OBJS, protoize$(exeext), unprotoize$(exeext),
	protoize.o, unprotoize.o, SYSCALLS.c.X, test-protoize-simple,
	deduced.h, GEN_PROTOS_OBJS, build/gen-protos$(build_exeext),
	build/gen-protos.o, build/scan.o, xsys-protos.h,
	build/fix-header$(build_exeext), build/fix-header.o,
	build/scan-decls.o, fixhdr.ready, stmp-fixproto,
	stmp-install-fixproto): Remove.
	(mostlyclean): Don't remove xsys-protos.hT, SYSCALLS.c.X,
	SYSCALLS.c or fixproto files.
	(install-common): Don't install protoize.
	(install-headers-tar, install-headers-cpio, install-headers-cp):
	Don't depend on $(STMP_FIXPROTO).
	(install-mkheaders): Don't depend on $(STMP_FIXPROTO).  Don't
	install fixproto files or write out fixproto settings.
	(uninstall): Don't uninstall protoize.
	* config.gcc (use_fixproto): Remove.
	(arm-*-coff*, armel-*-coff*, h8300-*-*, i[34567]86-*-aout*,
	i[34567]86-*-coff*, m68k-*-aout*, m68k-*-coff*, pdp11-*-bsd,
	rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*, sh-*-*): Remove.
	* config/m32r/t-linux (STMP_FIXPROTO): Remove.
	* config/m68k/m68k.c: Remove M68K_TARGET_COFF-conditional code.
	* config/mips/t-iris (FIXPROTO_DEFINES): Remove.
	* config/pa/t-pa-hpux (FIXPROTO_DEFINES): Remove.
	* config/pdp11/pdp11.c: Remove TWO_BSD-conditional code.
	* config/t-svr4 (FIXPROTO_DEFINES): Remove.
	* config/t-vxworks (STMP_FIXPROTO): Remove.
	* configure.ac (AC_TYPE_GETGROUPS, TARGET_GETGROUPS_T,
	STMP_FIXPROTO): Remove.
	* config.in, configure: Regenerate.
	* crtstuff.c (gid_t, uid_t): Don't undefine.
	* doc/install.texi: Change m68k-coff to m68k-elf in example.
	(arm-*-coff, arm-*-aout: Remove target entries.
	(*-ibm-aix*): Mention removal of support for AIX 4.2 and older.
	Remove mention of AIX 4.1.
	(m68k-*-*): Remove mention of m68k-*-aout and m68k-*-coff*.
	* doc/invoke.texi (Running Protoize): Remove.
	* doc/trouble.texi (Actual Bugs): Remove mention of fixproto.
	(Protoize Caveats): Remove.
	* tsystem.h: Update comments on headers assumed to exist.

gcc/po:
	* EXCLUDES (fix-header.c, gen-protos.c, scan-decls.c, scan.c,
	scan.h): Remove.

gcc/testsuite:
	* g++.old-deja/g++.ext/attrib5.C, g++.old-deja/g++.jason/thunk3.C,
	gcc.c-torture/compile/981006-1.c: Don't XFAIL or add special
	options for removed targets.

libgcc:
	* config.host (arm-*-coff*, armel-*-coff*, arm-semi-aof,
	armel-semi-aof, h8300-*-*, i[34567]86-*-aout*, i[34567]86-*-coff*,
	m68k-*-aout*, m68k-*-coff*, pdp11-*-bsd, rs6000-ibm-aix4.[12]*,
	powerpc-ibm-aix4.[12]*, sh-*-*): Remove.

From-SVN: r145158
2009-03-28 06:51:09 +00:00