Commit Graph

31347 Commits

Author SHA1 Message Date
Joseph Myers 8ef65e3da8 rs6000.c (print_operand): Check (TARGET_SPE || TARGET_E500_DOUBLE), not TARGET_E500, for %y.
* config/rs6000/rs6000.c (print_operand): Check (TARGET_SPE ||
	TARGET_E500_DOUBLE), not TARGET_E500, for %y.
	(rs6000_generate_compare, rs6000_emit_sCOND, output_cbranch,
	rs6000_emit_cmove): Don't check TARGET_E500.
	* config/rs6000/rs6000.md (bunordered, bordered, sunordered,
	sordered): Don't check TARGET_E500.

From-SVN: r120339
2007-01-02 13:03:59 +00:00
Eric Christopher d8934cf1e3 mips.c (mips_regno_mode_ok_for_base_p): Use HARD_REGISTER_NUM_P.
2007-01-01  Eric Christopher  <echristo@apple.com>

        * config/mips/mips.c (mips_regno_mode_ok_for_base_p): Use
        HARD_REGISTER_NUM_P.

From-SVN: r120334
2007-01-02 06:34:09 +00:00
Roger Sayle cf06e5c146 fold-const.c (fold_binary): Fold "(X^C1) eq/ne C2" into "X eq/ne (C1^C2)".
* fold-const.c (fold_binary) <EQ_EXPR>: Fold "(X^C1) eq/ne C2" into
	"X eq/ne (C1^C2)".  Fold "(X^Z) eq/ne (Y^Z)" as "X eq/ne Y" when Z
	has no side-effects.  Fold "(X^C1) eq/ne (Y^C2)" as "(X^(C1^C2))
	eq/ne Y".

	* gcc.dg/fold-eqxor-4.c: New test case.

From-SVN: r120333
2007-01-02 04:32:07 +00:00
Mike Stump e68ea32e94 configure.ac: Remove support for building with Apple's gcc-3.1.
gcc:
	* configure.ac: Remove support for building with Apple's gcc-3.1.
config:
	* mh-ppc-darwin: Remove support for building with Apple's gcc-3.1.

From-SVN: r120331
2007-01-02 03:35:17 +00:00
Joseph Myers a446b4e815 re PR middle-end/30311 (revision 120211 failed to compile perlbench)
gcc:
	PR middle-end/30311
	* caller-save.c (add_stored_regs): Only handle SUBREGs if inner
	REG is a hard register.  Do not modify REG before calling
	subreg_nregs.
	* rtlanal.c (subreg_get_info): Don't assert size of XMODE is a
	multiple of the size of YMODE for certain lowpart cases.

gcc/testsuite:
	* gcc.c-torture/compile/pr30311.c: New test.

From-SVN: r120329
2007-01-02 00:38:21 +00:00
Andrew Pinski e7073e6440 Fix misspelling of GIMPLE_MODIFY_STMT.
This is what I get for copying manually the patch.

From-SVN: r120322
2007-01-01 14:27:27 -08:00
Andrew Pinski c0893ec0e1 re PR middle-end/30253 (ICE with statement expression inside a conditional)
2007-01-01  Andrew Pinski  <pinskia@gmail.com>

        PR middle-end/30253
        * gimplify (voidify_wrapper_expr): Update for
        GIMPLIFY_MODIFY_STMT.

2007-01-01  Andrew Pinski  <pinskia@gmail.com>

        PR middle-end/30253
        * gcc.c-torture/compile/statement-expression-1.c: New test.

From-SVN: r120321
2007-01-01 14:19:58 -08:00
Andreas Schwab ae1e2d4caa re PR target/29166 (broken unwind information for many life variables resulting in register corruption)
PR target/29166
	* config/ia64/ia64.c (ia64_compute_frame_size): Account space for
	save of BR0 in extra_spill_size instead of spill_size.
	(ia64_expand_prologue): Save BR0 outside of the gr/br/fr spill
	area.
	(ia64_expand_epilogue): Restore BR0 from its new location.

testsuite/:
	* g++.dg/eh/pr29166.C: New test.

From-SVN: r120319
2007-01-01 22:03:23 +00:00
Andrew Pinski 9bed0a3480 gimplify.c (gimplify_init_constructor <case VECTOR_TYPE>): Use a temporary variable if the left hand side is not a gimple register.
2007-01-01  Andrew Pinski  <pinskia@gmail.com>

        * gimplify.c (gimplify_init_constructor <case VECTOR_TYPE>):
        Use a temporary variable if the left hand side is not a gimple
        register.

From-SVN: r120318
2007-01-01 14:01:59 -08:00
Andrew Pinski a441d616ba gimplify.c (gimplify_return_expr): Make the temporary variable for the return expression, a gimple register variable.
2007-01-01  Andrew Pinski  <pinskia@gmail.com>

        * gimplify.c (gimplify_return_expr): Make the temporary variable
        for the return expression, a gimple register variable.

From-SVN: r120317
2007-01-01 13:58:19 -08:00
Jan Hubicka 95e2a53bfc emit-rtl.c (emit_copy_of_insn_after): Do not call copy_insn_1 for INSN_LIST.
* emit-rtl.c (emit_copy_of_insn_after): Do not call copy_insn_1 for
	INSN_LIST.

From-SVN: r120316
2007-01-01 21:53:31 +00:00
Mike Stump 5708d18d3e configure.ac (HAVE_GAS_LITERAL16): Add autoconf check for .literal16.
* configure.ac (HAVE_GAS_LITERAL16): Add autoconf check for
	.literal16.
	* config/darwin.c (machopic_select_rtx_section): Use
	HAVE_GAS_LITERAL16.
	(darwin_mergeable_constant_section): Likewise.
	* configure: Regenerate.
	* config.in: Regenerate.

From-SVN: r120315
2007-01-01 20:58:38 +00:00
Jan Hubicka 03c72655ba cgraphunit.c (cgraph_optimize): Call cgraph_add_new_functions before starting IPA passes.
* cgraphunit.c (cgraph_optimize): Call cgraph_add_new_functions
	before starting IPA passes.

Co-Authored-By: Andrew Pinski <pinskia@gmail.com>

From-SVN: r120314
2007-01-01 20:11:09 +00:00
Mike Stump f1aea409a4 Rotate ChangeLog file.
From-SVN: r120313
2007-01-01 19:54:50 +00:00
Richard Guenther e015f57888 re PR tree-optimization/30137 (Missed folding of pointer comparison)
2006-12-31  Richard Guenther  <rguenther@suse.de>

	PR middle-end/30137
	* fold-const.c (fold_comparison): Fold comparison of addresses
	of components.

	* testsuite/gcc.dg/pr30137-1.c: New testcase.
	* testsuite/gcc.dg/pr30137-2.c: Likewise.

From-SVN: r120301
2006-12-31 17:27:35 +00:00
Roger Sayle 870aa1ebe0 re PR middle-end/30322 (((-i-1) + i) +1) is turned into ~i + (i+1) and never into 0 on the tree level)
PR middle-end/30322
	* fold-const.c (fold_binary): Fold X + ~X and ~X + X into -1 when
	we don't care about trapping overflow.  Only convert -A - 1 into ~A
	when we don't care about trapping overflow.

	* gcc.dg/fold-plusnot-1.c: New test case.

From-SVN: r120300
2006-12-31 16:17:49 +00:00
Richard Guenther 72ff1a9609 re PR middle-end/30338 (infinite loop in maybe_canonicalize_comparison)
2006-12-31  Richard Guenther  <rguenther@suse.de>

	PR middle-end/30338
	* fold-const.c (fold_binary): Fix type-mismatch in folding
	of -1 - A to ~A.

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

From-SVN: r120297
2006-12-31 14:01:19 +00:00
Kazu Hirata 5305a4cb33 * tree-inline.c: Fix a comment typo.
From-SVN: r120288
2006-12-30 21:17:30 +00:00
Jan Hubicka 54e7d067d5 ipa-pure-const.c (check_operand): SSA_NAME is safe.
* ipa-pure-const.c (check_operand): SSA_NAME is safe.
	* ipa-type-escape.c (scan_for_refs): Look into SSA_NAMEs.

From-SVN: r120286
2006-12-30 12:15:16 +00:00
Jan Hubicka b730fa614c tree.h (DECL_CALL_CLOBBERED): Remove.
* tree.h (DECL_CALL_CLOBBERED): Remove.
	(tree_decl_common): Remove call_clobbered flag.
	* tree-flow.h (struct var_ann_d): Add call_clobbered flag.
	* tree-ssa-alias.c (mark_non_addressable, reset_cc_flags): Update.
	* tree-flow-inline.h (is_call_clobbered, mark_call_clobbered,
	clear_call_clobbered): Update.
	* tree-ssa.c (verify_call_clobbering): Update.

From-SVN: r120285
2006-12-30 12:03:47 +00:00
Jan Hubicka d586d6d1f6 tree-ssa-alias.c (create_structure_vars): When in SSA, update operand caches.
* tree-ssa-alias.c (create_structure_vars): When in SSA, update operand
	caches.
	* tree-ssa-operands.c (build_ssa_operands): Recompute addresses_taken
	bitmap.

From-SVN: r120284
2006-12-30 12:02:09 +00:00
Jan Hubicka 4b73962b7e emit-rt.c (emit_copy_of_insn_after): Fix bug causing exponential amount of copies of INSN_NOTEs list.
* emit-rt.c (emit_copy_of_insn_after): Fix bug causing exponential
	amount of copies of INSN_NOTEs list.

Co-Authored-By: Vladimir Yanovsky <volodyan@gmail.com>

From-SVN: r120283
2006-12-30 12:00:45 +00:00
Jan Hubicka f45e0ad1c7 cgraph.c (cgraph_exapnd_queue): Rename to...
* cgraph.c (cgraph_exapnd_queue): Rename to...
	(cgraph_new_nodes): ... this one.
	(cgraph_state): New global variable.
	(cgraph_add_new_function): Work in more cases.
	* cgraph.h (cgraph_expand_queue): Rename to ...
	(cgraph_new_nodes): ... this one.
	(cgraph_state): New enum and static variable.
	(cgraph_add_new_function): Update prototype.
	(cgraph_process_new_functions): New.
	* omp-low.c (expand_omp_parallel): Update.
	* cgraphunit.c (initialize_inline_failed): Declare early.
	(cgraph_process_new_functions): New function.
	(cgraph_assemble_pending_functions): Use it.
	(cgraph_expand_all_functions): Use it.
	(cgraph_optimize): Use it; set cgraph_state.
	* passes.c (execute_one_pass, execute_ipa_pass_list): Process new
	functions

From-SVN: r120282
2006-12-30 11:58:01 +00:00
Kazu Hirata 5fb233742c i386.h (NON_QI_REG_P): Remove.
* config/i386/i386.h (NON_QI_REG_P): Remove.
	* config/i386/predicates.md (non_q_regs_operand): Remove.

From-SVN: r120267
2006-12-29 16:07:37 +00:00
Kazu Hirata cb9444a7ab tree-cfg.c (last_stmt_ptr): Remove.
* tree-cfg.c (last_stmt_ptr): Remove.
	* tree-flow.h: Remove the prototype for last_stmt_ptr.

From-SVN: r120266
2006-12-29 16:05:57 +00:00
Ian Lance Taylor c6d86fcea5 c-common.c (c_define_builtins): New static function broken out of c_common_nodes_and_builtins.
* c-common.c (c_define_builtins): New static function broken out
	of c_common_nodes_and_builtins.
	(c_common_nodes_and_builtins): Call c_define_builtins unless only
	doing preprocessing.

From-SVN: r120264
2006-12-29 15:48:26 +00:00
Jan Hubicka 110cfe1cdc tree-inline.c (remap_ssa_name): New function.
* tree-inline.c (remap_ssa_name): New function.
	(remap_decl): Update SSA datastructures for DECLs.
	(copy_body_r): Deal with SSA_NAMEs; add referenced global vars.
	(copy_bb): Set SSA_NAME def stmts.
	(update_ssa_acorss_eh_edges): New function.
	(copy_edge_for_bb): Call it; mark new vars for renaming.
	(copy_phis_for_bb): New function.
	(initialize_cfun): Break out from ...
	(copy_cfg_body): ... here; maintain AUX map for both directions;
	call SSA updating workers; do not produce copy of cfun to be copied.
	(setup_one_parameter): Do propagation across SSA form.
	(declare_return_variable): Work on SSA; use return_slot instead of
	address of return slot of argument to avoid folding back and forth.
	(expand_call_inline): Update SSA from on return values.
	(optimize_inline_calls): Do sanity checking, dead blocks removal,
	update SSA form.
	(tree_function_verioning): Update initialize_cfun.

From-SVN: r120260
2006-12-29 11:10:31 +00:00
Marcin Dalecki 311c6da40f invoke.texi: Replace no longer supported -fno-strength-reduce with -fmerge-constants in...
2006-12-29  Marcin Dalecki  <martin@dalecki.de>

	* doc/invoke.texi: Replace no longer supported -fno-strength-reduce
	with -fmerge-constants in sample code.

From-SVN: r120253
2006-12-29 02:39:32 +01:00
Kazu Hirata 90a0f159e1 Makefile.in (OBJS-common): Remove conflict.o
* Makefile.in (OBJS-common): Remove conflict.o
	(conflict.o): Remove.
	* basic-block.h: Remove the prototypes for conflict.c.
	* conflict.c: Remove.

From-SVN: r120238
2006-12-28 06:44:53 +00:00
Daniel Berlin 97508a6b31 sbitmap.c (BITMAP_DEBUGGING): New macro.
2006-12-27  Daniel Berlin  <dberlin@dberlin.org>

	* sbitmap.c (BITMAP_DEBUGGING): New macro.
	(do_popcount): Ditto.
	(sbitmap_verify_popcount): New function.
	(sbitmap_alloc): Set popcount to NULL, remove set of bytes
	member.
	(sbitmap_alloc_with_popcount): New function.
	(sbitmap_resize): Remove uses of bytes member and update
	popcount.
	(sbitmap_realloc): Remove uses of bytes member.
	(sbitmap_copy): Copy popcount.
	(sbitmap_copy_n): New function.
	(sbitmap_zero): Update popcount cache.
	(sbitmap_ones): Ditto.
	(sbitmap_a_and_b): Ditto.
	(sbitmap_a_or_b): Ditto.
	(sbitmap_a_xor_b): Ditto.
	(sbitmap_union_of_diff_cg): Assert non-existence of popcount
	cache.
	(sbitmap_union_of_diff): Ditto.
	(sbitmap_not): Ditto.
	(sbitmap_difference): Ditto.
	(sbitmap_a_and_b_cg): Ditto.
	(sbitmap_a_xor_b_cg): Ditto.
	(sbitmap_a_or_b_cg): Ditto.
	(sbitmap_a_or_b_and_c_cg): Ditto.
	(sbitmap_a_and_b_or_c_cg): Ditto.
	(sbitmap_intersection_of_succs): Ditto.
	(sbitmap_intersection_of_preds): Ditto.
	(sbitmap_union_of_succs): Ditto.
	(sbitmap_union_of_preds): Ditto.
	(popcount_table): New.
	(sbitmap_elt_popcount): New function.
	(sbitmap_popcount): Ditto.

	* sbitmap.h (sbitmap): Remove bytes member.
	Add popcount member.
	(SET_BIT): Macro turned into function.
	(RESET_BIT): Ditto.
	(SBITMAP_SIZE_BYTES): New macro.
	(sbitmap_free): Free popcount too.
	(sbitmap_alloc_with_popcount): New prototype.
	(sbitmap_copy_n): Ditto.
	(sbitmap_verify_popcount): Ditto.

From-SVN: r120237
2006-12-28 06:23:06 +00:00
Ian Lance Taylor ae64e535a3 re PR debug/26964 (Duplicate debug info for enums in namespaces)
PR debug/26964
	* dwarf2out.c (gen_type_die): Don't write out a DIE for
	ENUMERAL_TYPE if it was already written out.

From-SVN: r120221
2006-12-27 21:48:05 +00:00
Kaveh R. Ghazi 5f641bd832 re PR middle-end/29335 (transcendental functions with constant arguments should be resolved at compile-time)
PR middle-end/29335
	* builtins.c (do_mpfr_arg1, do_mpfr_arg2, do_mpfr_arg3,
	do_mpfr_sincos): Ensure target base equals two.

From-SVN: r120211
2006-12-26 19:03:17 +00:00
Kazu Hirata 04b5b56c85 * tree-ssa-operands.c: Fix a comment typo.
From-SVN: r120210
2006-12-26 15:44:54 +00:00
Kazu Hirata 401fb5a0a8 * tree-vectorizer.h (VECT_SMODULO): Remove.
From-SVN: r120202
2006-12-25 23:36:53 +00:00
Andreas Tobler 664400c666 pa.c: Remove heap vector type defines.
2006-12-24  Andreas Tobler  <a.tobler@schweiz.org>

	* config/pa/pa.c: Remove heap vector type defines.

From-SVN: r120191
2006-12-24 21:57:35 +01:00
Jan Hubicka 497f1b8117 tree-ssa-operands.h (struct ssa_operand_memory_d): add ssa_operand_mem_size.
* tree-ssa-operands.h (struct ssa_operand_memory_d):
	add ssa_operand_mem_size.
	* tree-ssa-operands.c (operands_bitmap_obstack): New.               
	(ssa_operand_mem_size): Remove.
	(init_ssa_operands): Initialize obstack; use it.
	(fini_ssa_operands): Release obstack.
	(ssa_operand_alloc): Update.
	(finalize_ssa_vdefs, finalize_ssa_vuse_ops, copy_virtual_operands,
	get_mpt_for): Use obstack.
	* tree-ssa.c (delete_tree_ssa): Call fini_ssa_operands.
	* tree-outof-ssa.c: (remove_ssa_form): Don't call it here.

From-SVN: r120189
2006-12-24 10:23:25 +00:00
Jan Hubicka 7a223fd48d tree-mudflap.c (ml_decl_cache_locals, [...]): add newly referenced vars.
* tree-mudflap.c (ml_decl_cache_locals, md_build_check_statement_for):
	add newly referenced vars.

From-SVN: r120188
2006-12-24 10:17:15 +00:00
Kazu Hirata 9b1ae0a097 basic-block.h: Remove the prototype for expected_value_to_br_prob.
* basic-block.h: Remove the prototype for
	expected_value_to_br_prob.
	* rtl.h: Remove the prototypes for expand_builtin_expect_jump
	and purge_line_number_notes.

From-SVN: r120186
2006-12-24 01:47:56 +00:00
Zdenek Dvorak 6e42ce54f7 tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne, [...]): Use integer_zerop/integer_nonzerop instead of...
* tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne,
	assert_no_overflow_lt, assert_loop_rolls_lt,
	number_of_iterations_lt, number_of_iterations_le,
	number_of_iterations_cond, number_of_iterations_exit):
	Use integer_zerop/integer_nonzerop instead of
	null_or_integer_zerop/nonnull_and_integer_nonzerop.
	* tree.h (null_or_integer_zerop, nonnull_and_integer_nonzerop):
	Removed.
	* tree-scalar-evolution.c (simple_iv): Return zero for step of
	an invariant.
	* tree-ssa-loop-ivopts.c (alloc_iv): Do not set step of invariants
	to zero.
	(get_iv): Return NULL for non-scalar types.  Use zero as a step
	of an invariant.
	(determine_biv_step, find_interesting_uses_op,
	find_interesting_uses_cond, find_interesting_uses_stmt,
	add_old_ivs_candidates, determine_use_iv_cost_condition,
	rewrite_use_compare, remove_unused_ivs):
	Use integer_zerop instead of null_or_integer_zerop.
	(struct ifs_ivopts_data): Replace step_p field with step field.
	(idx_find_step): Use zero as a step of an invariant.  Modify
	step instead of *step_p.
	(find_interesting_uses_address): Use zero as a step of an invariant.
	Use integer_zerop instead of null_or_integer_zerop.
	(find_interesting_uses_outside): Call find_interesting_uses_op only
	for phi nodes for real operands.
	(add_candidate_1): Expect step to be non-NULL.
	* tree-ssa-loop-prefetch.c (idx_analyze_ref): Expect step to be
	non-NULL.

From-SVN: r120179
2006-12-23 23:05:52 +00:00
Andrew Pinski ebf5f54a1d vec.c: Don't include tree.h.
2006-12-23  Andrew Pinski  <pinskia@gmail.com>

        * vec.c: Don't include tree.h.
        * Makefile.in (vec.o): Update dependencies.
        (build/vec.o): Likewise.

From-SVN: r120178
2006-12-23 14:38:34 -08:00
Kazu Hirata 294340bf91 Makefile.in (final.o): Depend on vecprim.h.
* Makefile.in (final.o): Depend on vecprim.h.
	* final.c: Include vecprim.h.
	(insn_addresses_): Change the type to VEC(int,heap)*.
	* insn-addr.h (INSN_ADDRESSES_DEFN): Remove.
	(INSN_ADDRESSES, INSN_ADDRESSES_ALLOC, INSN_ADDRESSES_SIZE,
	INSN_ADDRESSES_NEW): Use VEC instead of VARRAY.

From-SVN: r120177
2006-12-23 22:10:10 +00:00
Kazu Hirata 8aceba8c95 common.opt (flag_force_mem): Remove.
* common.opt (flag_force_mem): Remove.
	* doc/invoke.texi (-fforce-mem): Remove.
	* opts.c (common_handle_option): Don't handle OPT_fforce_mem.

From-SVN: r120176
2006-12-23 21:54:59 +00:00
Marcin Dalecki 7fa982e563 cgraphunit.c (cgraph_optimize): Fixed obvious thinko in memory consumption reporting.
2006-12-23  Marcin Dalecki  <martin@dalecki.de>

       * cgraphunit.c (cgraph_optimize): Fixed obvious thinko in memory
       consumption reporting.

From-SVN: r120174
2006-12-23 19:10:48 +01:00
Manuel López-Ibáñez cb4af25a80 re PR middle-end/7651 (Define -Wextra strictly in terms of other warning flags)
2006-12-23  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR middle-end/7651
	* c.opt (Wmissing-parameter-type): New.
	* doc/invoke.texi (Wmissing-parameter-type): Document it.
	(Wextra): Enabled by -Wextra.
	* c-opts.c (c_common_post_options): Enabled by -Wextra.
	* c-decl.c (store_parm_decls_oldstyle): Replace Wextra with
	Wmissing-parameter-type.
	
testsuite/

	* gcc.dg/Wmissing-parameter-type.c: New.
	* gcc.dg/Wmissing-parameter-type-Wextra.c: New.
	* gcc.dg/Wmissing-parameter-type-no.c: New.

From-SVN: r120173
2006-12-23 17:45:33 +00:00
Eric Botcazou ea049a4199 dwarf2out.c (dbx_reg_number): Do leaf register remapping only if the function is leaf.
* dwarf2out.c (dbx_reg_number): Do leaf register remapping
	only if the function is leaf.
	(multiple_reg_loc_descriptor): Likewise.

From-SVN: r120170
2006-12-23 17:18:38 +00:00
Kazu Hirata 3c1dd4a384 * rtl.h (NOTE_EXPECTED_VALUE): Remove.
From-SVN: r120169
2006-12-23 16:01:47 +00:00
Jan Hubicka a5573239ec toplev.c (dump_memory_report): Break out from...
* toplev.c (dump_memory_report): Break out from...
	(finalize): Here.
	* toplev.h (dump_memory_report): Declare.
	(cmp_statistic): Rename to ...
	(final_cmp_statistic): ... this one
	(cmp_statistic): New.
	(dump_ggc_loc_staitsitcs): New FINAL parpameter.
	* common.opt (-fpre-ipa-mem-report, -fpost-ipa-mem-report): Declare.
	* varray.c (dump_varray_staitiscs): Do not segfault when no varray was
	allocated so far.

From-SVN: r120168
2006-12-23 14:30:36 +00:00
Mike Stump 5b42ae41cb t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): Add -mmacosx-version-min=10.4.
* config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): Add
        -mmacosx-version-min=10.4.
        (crt2.o): Add $(DARWIN_EXTRA_CRT_BUILD_CFLAGS).

From-SVN: r120167
2006-12-23 05:54:19 +00:00
Jan Hubicka 6ac5a24645 tree-flow-inline.h (var_ann): External variable annotations are unshared too.
* tree-flow-inline.h (var_ann): External variable annotations are
	unshared too.
	(tree_common_ann): Handle correctly unshared variables annotations.
	* tree-dfa.c (create_var_ann): External variable annotations are
	unshared too.

From-SVN: r120164
2006-12-23 00:27:44 +00:00
Kazu Hirata 2ac6615771 basic-block.h: Remove the prototype for commit_edge_insertions_watch_calls.
* basic-block.h: Remove the prototype for
	commit_edge_insertions_watch_calls.
 	* cfgrtl.c (commit_edge_insertion): Drop the last argument.
	Simplify.
	(commit_edge_insertions_watch_calls): Remove.
	(commit_edge_insertions): Adjust the call to
	commit_one_edge_insertion.

From-SVN: r120157
2006-12-22 23:59:34 +00:00
Zdenek Dvorak 6e682d7ef0 tree-ssa-loop-niter.c (zero_p, nonzero_p): Removed.
* tree-ssa-loop-niter.c (zero_p, nonzero_p): Removed.
	(number_of_iterations_ne, number_of_iterations_lt_to_ne,
	assert_no_overflow_lt, assert_loop_rolls_lt,
	number_of_iterations_lt, number_of_iterations_le,
	number_of_iterations_cond, tree_simplify_using_condition_1,
	number_of_iterations_exit, find_loop_niter, loop_niter_by_eval,
	implies_nonnegative_p, implies_ge_p, record_nonwrapping_iv,
	idx_infer_loop_bounds, n_of_executions_at_most, scev_probably_wraps_p):
	Do not use zero_p/nonzero_p.
	* tree-ssa-loop-manip.c (determine_exit_conditions): Ditto.
	* tree-ssa-loop-ivopts.c (niter_for_exit, determine_biv_step,
	find_interesting_uses_op, find_interesting_uses_cond,
	find_interesting_uses_address, find_interesting_uses_stmt,
	strip_offset_1, add_candidate_1, add_old_ivs_candidates,
	difference_cost, determine_use_iv_cost_condition,
	rewrite_use_compare, remove_unused_ivs): Ditto.
	* tree-ssa-address.c (tree_mem_ref_addr, create_mem_ref_raw): Ditto.
	* tree-ssa-loop-prefetch.c (idx_analyze_ref): Ditto.
	* tree-cfg.c (find_taken_edge_cond_expr): Ditto.
	* tree.h (zero_p): Declaration removed.
	(null_or_integer_zerop, nonnull_and_integer_nonzerop): New.

From-SVN: r120156
2006-12-22 21:38:52 +00:00
Manuel López-Ibáñez 2b0017242d re PR middle-end/7651 (Define -Wextra strictly in terms of other warning flags)
2006-12-22  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR middle-end/7651
	* c.opt (Wclobbered): New.
	* doc/invoke.texi (Wclobbered): Document it.
	(Wextra): Enabled by -Wextra.
	* c-opts.c (c_common_post_options): Enabled by -Wextra.
	* flow.c (rest_of_handle_life): Replace Wextra with Wclobbered.
	* function.c (setjmp_vars_warning): Only warn for Wclobbered.
	(setjmp_args_warning): Likewise.

testsuite/

	* gcc.dg/attr-returns_twice-1.c: Replace Wextra with Wclobbered.
	* gcc.dg/setjmp-1.c: Add explicit Wclobbered.

From-SVN: r120151
2006-12-22 15:54:05 +00:00
Kazu Hirata 24fc18b98c elfos.h, [...]: Fix comment typos.
* config/elfos.h, config/spu/spu.c, tree-ssa-operands.h,
	tree-ssa-ter.c: Fix comment typos.

From-SVN: r120149
2006-12-22 12:50:00 +00:00
Paolo Bonzini 46fd10da92 re PR rtl-optimization/29840 (build/genconditions ../../gcc/gcc/config/pa/pa.md > tmp-condmd.c: /bin/sh: 13354 Memory fault(coredump))
2006-12-22  Paolo Bonzini  <bonzini@gnu.org>

	PR rtl-optimization/29840

	* fwprop.c (forward_propagate_into): Reject artificial uses/defs.
	(fwprop_init): Add DF_HARD_REGS to df_init call.

From-SVN: r120147
2006-12-22 12:28:52 +00:00
Andrew Pinski bc0ebe76b3 tree-nested.c (create_tmp_var_for): Check for vector type when setting DECL_GIMPLE_REG_P.
2006-12-21  Andrew Pinski  <pinskia@gmail.com>

        * tree-nested.c (create_tmp_var_for): Check for vector type
        when setting DECL_GIMPLE_REG_P.

From-SVN: r120143
2006-12-21 23:25:00 -08:00
Roger Sayle 458e3389dc tree-pretty-print.c (dump_generic_node): Avoid outputing "(void) 0;" as the else branch of a COND_EXPR.
* tree-pretty-print.c (dump_generic_node): Avoid outputing "(void) 0;"
	as the else branch of a COND_EXPR.

From-SVN: r120140
2006-12-22 03:22:04 +00:00
Kazu Hirata dbb23ff705 * cgraphunit.c, varpool.c: Fix comment typos.
From-SVN: r120139
2006-12-22 01:30:17 +00:00
Kazu Hirata 2e226e6699 cgraphunit.c, [...]: Fix comment typos.
* cgraphunit.c, config/i386/i386.c, config/ia64/ia64.c, cse.c,
	output.h, toplev.c, tree-affine.h, tree-flow.h,
	tree-ssa-alias.c, tree-ssa-coalesce.c, tree-ssa-live.c,
	tree-ssa-live.h, tree-ssa-operands.c, tree-ssa-ter.c,
	tree-vrp.c, varpool.c: Fix comment typos.

From-SVN: r120137
2006-12-22 01:19:39 +00:00
Ulrich Weigand 10d55907ce spu.h (ARG_POINTER_CFA_OFFSET): Define.
* config/spu/spu.h (ARG_POINTER_CFA_OFFSET): Define.
	* config/spu/spu.c (spu_expand_prologue): Set RTX_FRAME_RELATED_P
	for insn setting up the frame pointer.  Do not set it for insns
	setting up scratch registers or storing the backchain.

From-SVN: r120125
2006-12-22 10:23:34 +11:00
Eric Botcazou e9d207d9ac re PR other/29639 (ext/bitmap_allocator/check_allocate_max_size.cc execution test)
PR other/29639
	* configure.ac (HAVE_LD_EH_GC_SECTIONS): Check that exception tables
	are kept for .gnu.linkonce.t sections if COMDAT groups are disabled.
	* configure: Regenerate.

From-SVN: r120121
2006-12-21 22:10:30 +00:00
Joseph Myers 5f7fc2b832 rtlanal.c (subreg_get_info): Do not make register size computations for mode sizes not divisible by the...
* rtlanal.c (subreg_get_info): Do not make register size
	computations for mode sizes not divisible by the number of
	registers.

From-SVN: r120119
2006-12-21 20:58:57 +00:00
Daniel Berlin 225a58a770 tree-ssa-structalias.c (build_constraint_graph): Insert complex offsetted constraints into rhsvar, not lhsvar.
2006-12-21  Daniel Berlin  <dberlin@dberlin.org>

	* tree-ssa-structalias.c (build_constraint_graph): Insert complex
	offsetted constraints into rhsvar, not lhsvar.

From-SVN: r120114
2006-12-21 17:32:01 +00:00
Jakub Jelinek 5075abae44 re PR middle-end/30262 (ICE with nested fn accessed var in asm "m" constraint)
PR middle-end/30262
	PR middle-end/30263
	* tree-nested.c (walk_asm_expr): New function.
	(walk_stmts): Use it for ASM_EXPR.

	* gcc.c-torture/execute/20061220-1.c: New test.
	* gcc.dg/gomp/asm-1.c: New test.

From-SVN: r120106
2006-12-21 14:13:15 +01:00
Jakub Jelinek 4a4cd49c06 re PR target/30230 (Incorrect ia64 EH info when an EH region ends in the middle of a bundle)
PR target/30230
	* config/ia64/ia64.c (ia64_add_bundle_selector_before): New function.
	(bundling): Use it.

	* g++.dg/eh/ia64-2.C: New test.

From-SVN: r120103
2006-12-21 13:59:06 +01:00
Nathan Sidwell 970af86771 re PR target/28966 (-maltivec -m32 causes the stack to be saved and restored even though there is no need for it)
gcc/
	PR target/28966
	PR target/29248
	* reload1.c (reload): Realign stack after it changes size.
gcc/testsuite/
	PR target/28966
	PR target/29248
	* gcc.dg/rs6000-leaf.c: New.

From-SVN: r120102
2006-12-21 09:03:18 +00:00
Roger Sayle a957d77fc3 simplify-rtx.c (simplify_subreg): Use the correct mode when determining whether a SUBREG of a CONCAT refers to...
* simplify-rtx.c (simplify_subreg): Use the correct mode when
	determining whether a SUBREG of a CONCAT refers to the first or
	second component.

From-SVN: r120101
2006-12-21 04:35:05 +00:00
Ben Elliston 128ccfb078 spu.c (spu_builtin_mul_widen_even): Remove unused local variable `d'.
* config/spu/spu.c (spu_builtin_mul_widen_even): Remove unused
	local variable `d'.

From-SVN: r120100
2006-12-21 15:12:06 +11:00
Jan Hubicka 33dde1e155 tree-dfa.c (add_referenced_var): Walk initializers of non-constant/readonly static vars.
* tree-dfa.c (add_referenced_var): Walk initializers of
	non-constant/readonly static vars.

From-SVN: r120090
2006-12-20 22:45:42 +00:00
Jan Hubicka adb6509f4b tree-flow-inline.h (gimple_var_anns): New function.
* tree-flow-inline.h (gimple_var_anns): New function.
	(var_ann): Use hashtable for static functions.
	* tree-dfa.c (create_var_ann): Likewise.
	* tree-ssa.c (var_ann_eq, var_ann_hash): New functions.
	(init_tree_ssa): Initialize var anns.
	(delete_tree_ssa): Delete var anns; also clear out gimple_df.
	* tree-flow.h (struct static_var_ann_d): New structure.
	(gimple_df): Add var_anns.

From-SVN: r120089
2006-12-20 22:40:48 +00:00
Carlos O'Donell 0fd212e1bd re PR c/30242 (internal error in gcc break compilation)
gcc/

2006-12-20  Carlos O'Donell  <carlos@codesourcery.com>

	PR bootstrap/30242
	* gcc/c-incpath.c (add_standard_paths): Only relocate paths that 
	begin with the configured prefix.

From-SVN: r120088
2006-12-20 22:34:14 +00:00
Jan Hubicka 2a4f771a6e re PR rtl-optimization/30213 (Wrong code with optimized memset() (possible bug in RTL bbro optimizer))
PR target/30213
	* i386.c (expand_setmem_epilogue): Fix formating.
	(dsmalest_pow2_greater_than): New function.
	(ix86_expand_movmem): Improve comments; avoid re-computing of
	epilogue size.
	(promote_duplicated_reg_to_size): Break out from ...
	(expand_setmem): ... this one; reorganize promotion code;
	improve comments; avoid recomputation of epilogue size.

From-SVN: r120083
2006-12-20 20:46:15 +00:00
Andrew Pinski 75a4c3c194 re PR middle-end/30143 ([4.2 only] OpenMP can produce invalid gimple)
2006-12-20  Andrew Pinski  <pinskia@gmail.com>

        PR middle-end/30143
        * omp-low.c (init_tmp_var): New function.
        (save_tmp_var): New function.
        (lower_omp_1): Use them for VAR_DECL.

2006-12-20  Andrew Pinski  <pinskia@gmail.com>

        PR middle-end/30143
        * gcc.dg/gomp/complex-1.c: New testcase.

From-SVN: r120080
2006-12-20 09:50:17 -08:00
Andrew Pinski 1863bbcab5 tree-gimple.c (is_gimple_min_invariant): Treat constant vector CONSTRUCTORs as min invariants.
2006-12-20  Andrew Pinski  <pinskia@gmail.com>

        * tree-gimple.c (is_gimple_min_invariant): Treat constant vector
        CONSTRUCTORs as min invariants.

From-SVN: r120079
2006-12-20 09:46:39 -08:00
Joseph Myers f1f4e530a5 rtlanal.c (struct subreg_info, [...]): New.
* rtlanal.c (struct subreg_info, subreg_get_info, subreg_nregs):
	New.
	(subreg_regno_offset, subreg_offset_representable_p): Change to
	wrappers about subreg_get_info.
	(refers_to_regno_p, reg_overlap_mentioned_p): Use subreg_nregs.
	* rtl.h (subreg_nregs): Declare.
	* doc/tm.texi (HARD_REGNO_NREGS_HAS_PADDING): Update to refer to
	subreg_get_info.
	* caller-save.c (mark_set_regs, add_stored_regs): Use
	subreg_nregs.
	* df-scan.c (df_ref_record): Use subreg_nregs.
	* flow.c (mark_set_1): Use subreg_nregs.
	* postreload.c (move2add_note_store): Use subreg_nregs.
	* reload.c (decompose, refers_to_regno_for_reload_p,
	reg_overlap_mentioned_for_reload_p): Use subreg_nregs.
	* resource.c (update_live_status, mark_referenced_resources,
	mark_set_resources): Use subreg_nregs.

From-SVN: r120076
2006-12-20 16:25:00 +00:00
Zdenek Dvorak ee8c1b05d5 loop-unswitch.c (unswitch_loop): Update arguments of duplicate_loop_to_header_edge call.
* loop-unswitch.c (unswitch_loop): Update arguments of
	duplicate_loop_to_header_edge call.
	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Ditto.
	* loop-unroll.c (peel_loop_completely, unroll_loop_constant_iterations,
	unroll_loop_runtime_iterations, peel_loop_simple, unroll_loop_stupid):
	Ditto.
	* cfgloopmanip.c (loop_version): Ditto.
	(duplicate_loop_to_header_edge): Change
	type of to_remove to VEC(edge), remove n_to_remove argument.
	* tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge):
	Change type of to_remove to VEC(edge), remove n_to_remove argument.
	(tree_unroll_loop): Update arguments of
	tree_duplicate_loop_to_header_edge call.
	* cfghooks.c (cfg_hook_duplicate_loop_to_header_edge):
	Change type of to_remove to VEC(edge), remove n_to_remove argument.
	* cfghooks.h (struct cfg_hooks): Type of
	cfg_hook_duplicate_loop_to_header_edge changed.
	(cfg_hook_duplicate_loop_to_header_edge): Declaration changed.
	* cfgloop.h (duplicate_loop_to_header_edge): Ditto.
	* tree-flow.h (tree_duplicate_loop_to_header_edge): Ditto.

From-SVN: r120074
2006-12-20 14:15:53 +00:00
Dorit Nuzman c882a2c238 spu.md (vec_widen_umult_hi_v8hi): New.
* config/spu/spu.md (vec_widen_umult_hi_v8hi): New.
        (vec_widen_umult_lo_v8hi, vec_widen_smult_hi_v8hi): New.
        (vec_widen_smult_lo_v8hi): New.
        * config/spu/spu.c (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): Defined.
        (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): Defined.
        (spu_builtin_mul_widen_even, spu_builtin_mul_widen_odd): New.

From-SVN: r120073
2006-12-20 14:07:38 +00:00
Jan Hubicka 0550e7b7aa cgraph.c: Update overall comment; fix vertical spacing.
* cgraph.c: Update overall comment; fix vertical spacing.
	* ipa-inline.c (cgraph_decide_inlining): Remove now redundant check.

From-SVN: r120071
2006-12-20 09:12:55 +00:00
Jan Hubicka 68e56cc4a2 cgraph.h (FOR_EACH_STATIC_VARIABLE, [...]): New macros.
* cgraph.h (FOR_EACH_STATIC_VARIABLE, FOR_EACH_STATIC_INITIALIZER): New
	macros.
	(varpool_first_static_initializer, varpol_next_static_initializer): New
	inline functions.
	* ipa-reference.c (analyze_variable): Simplify.
	(static_execute): Use FOR_EACH_STATIC_INITIALIZER.
	* ipa-type-escape.c (type_escape_execute): Use FOR_EACH_STATIC_VARIABLE.

From-SVN: r120070
2006-12-20 09:09:50 +00:00
Andrew Pinski 7954dc2121 re PR tree-optimization/30045 (ICE in nonnull_arg_p with the CHAIN decl)
2006-12-19  Andrew Pinski  <pinskia@gmail.com>

        PR tree-opt/30045
        * tree-vrp.c (nonnull_arg_p): Treat the static decl as always
        non null.

2006-12-19  Andrew Pinski  <pinskia@gmail.com>

        PR tree-opt/30045
        * gcc.dg/pr30045.c: New test

From-SVN: r120069
2006-12-19 21:00:50 -08:00
Ben Elliston bbd29fdcec * doc/invoke.texi (Optimize Options): Typo fix.
From-SVN: r120067
2006-12-20 13:49:37 +11:00
Eric Christopher 59ff4a1c1c darwin.c (machopic_select_section): Rewrite.
2006-12-19  Eric Christopher  <echristo@apple.com>

        * config/darwin.c (machopic_select_section): Rewrite.
        (darwin_text_section): New.
        (darwin_rodata_section): Ditto.
        (darwin_mergeable_string_section): Ditto.
        (darwin_mergeable_constant_section): Ditto.
        * config/darwin-sections.def: Add SECTION_STRINGS for cstring_section.

From-SVN: r120066
2006-12-20 00:42:34 +00:00
Steve Ellcey 41da2805f3 * config/pa/pa64-hpux.h (ASM_OUTPUT_EXTERNAL): Add undef.
From-SVN: r120054
2006-12-19 18:18:19 +00:00
Paolo Bonzini 8efea77549 re PR bootstrap/29544 (Not building with checking in stage1)
2006-12-19  Paolo Bonzini  <bonzini@gnu.org>

	PR bootstrap/29544
	* Makefile.def (flags_to_pass): Add STAGE1_CHECKING.
	(bootstrap_stage): Add STAGE1_CHECKING to stage1 configure flags,
	move here comment from Makefile.tpl.
	* Makefile.tpl: Move some definitions higher in the file.
	(STAGE1_CHECKING): New.
	* configure.in: Add --enable-stage1-checking.
	* configure: Regenerate.
	* Makefile.in: Regenerate.

gcc:
2006-12-19  Paolo Bonzini  <bonzini@gnu.org>

	* gcc/Makefile.in (STAGE1_CHECKING): Rename to...
	(STAGE1_CHECKING_CFLAGS): ... this.

From-SVN: r120048
2006-12-19 11:01:36 +00:00
Andrew Pinski 61210b7291 re PR fortran/29779 (vectorizer fortran testcases failing)
2006-12-18  Andrew Pinski  <pinskia@gmail.com>

        PR target/29779
        * config/rs6000/rs6000.c (altivec_init_builtins): Change to set
        READONLY on __builtin_altivec_mask_for_load instead of adding
        the attribute.

From-SVN: r120045
2006-12-19 00:28:46 -08:00
Roger Sayle f839548fc7 re PR target/29302 (isfinite returns wrong result at -O1)
2006-12-18  Roger Sayle  <roger@eyesopen.com>
	    Eric Christopher  <echristo@apple.com>

	PR target/29302
	* real.c (real_maxval): Correctly handle IBM extended double format.


Co-Authored-By: Eric Christopher <echristo@apple.com>

From-SVN: r120040
2006-12-19 04:17:11 +00:00
Jan Hubicka d448860e15 expmed.c (expand_mult_const): Force operand to constant.
* expmed.c (expand_mult_const): Force operand to constant.
	* rs6000.c (rs6000_emit_set_const, rs6000_emit_set_long_const): Add
	copy_rtx to arguments.

From-SVN: r120037
2006-12-19 01:03:13 +00:00
Ben Elliston 63f41b8674 * config/spu/spu.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
From-SVN: r120020
2006-12-19 10:28:41 +11:00
Ben Elliston 73ca11ed04 * cse.c (cse_insn): Fix formatting.
From-SVN: r120019
2006-12-19 09:54:43 +11:00
Geoffrey Keating ec75a430b0 invoke.texi (Debugging Options): Document -g0.
* doc/invoke.texi (Debugging Options): Document -g0.
	* config/darwin.h (LINK_COMMAND_SPEC): Replace -gnone with -g0.
	* config/darwin9.h (LINK_COMMAND_SPEC): Likewise.

From-SVN: r120013
2006-12-18 21:10:16 +00:00
Ian Lance Taylor dfdec7a705 c.opt (Wmissing-declarations): Add C++ and ObjC++.
./:	* c.opt (Wmissing-declarations): Add C++ and ObjC++.
	* doc/invoke.texi (Warning Options): -Wmissing-declarations now
	works for C++.
cp/:
	* decl.c (start_preparsed_function): Add support for
	-Wmissing-declarations.
testsuite:
	* g++.dg/warn/Wmissing-declarations-1.C: New test.

From-SVN: r120012
2006-12-18 19:56:58 +00:00
Andrew MacLeod 79f99d4276 Add memory reuse to virtual operands in the operand scanner.
2006-12-18  Andrew MacLeod  <amacleod@redhat.com>

	* tree-ssa-operands.h (struct vdef_optype_d): Rename to voptype_d.
	(struct vuse_optype_d): Delete.
	(SSA_OPERAND_MEMORY_SIZE): Delete.
	(struct ssa_operand_memory_d): Change mem array to size one.
	(NUM_VOP_FREE_BUCKETS): Define.
	(free_vuses, free_vdefs): Replace with vop_free_buckets array.
	(vdef_ops, vuse_ops, struct ssa_operand_iterator_d): Use voptype_d type.
	* tree-pretty-print.c (dump_vops): Use voptype_d type.
	* tree-ssa-operands.c (vop_free_bucket_size): New.  Number of operands
	which fit into a chunk of memory from a specific bucket.
	(vop_free_bucket_index): New.  Find correct size memory bucket.
	(init_vop_buckets): New.  Initialize VOP free memory buckets.
	(add_vop_to_freelist): New.  Add a VOP to the correct free list.
	(ssa_operand_mem_size): New.  Current size of an operand memory chunk.
	(init_ssa_operands): Initialize operand memory and free lists.
	(fini_ssa_operands): Remove references to free_vuses and free_vdefs.
	(ssa_operand_alloc): Use graduated size memory allocation.
	(APPEND_OP_AFTER, MOVE_HEAD_AFTER, MOVE_HEAD_TO_FREELIST, 
	INITIALIZE_USE): Remove.
	(alloc_vop): New.  Allocate a virtual operand.
	(alloc_vdef, alloc_vuse): Delete.
	(add_def_op, add_use_op): Directly setup pointers.
	(add_vop): New.  Add a virtual operand.
	(add_vuse_op, add_vdef_op): Call add_vop.
	(realloc_vop): New.  Reallocate a virtual operand.
	(realloc_vdef, realloc_vuse): Call realloc_vop.
	(finalize_ssa_def_ops): Delete.  Move content to finalize_ssa_defs.
	(finalize_ssa_defs): Optimize for common case, remove code based on
	sorted pointers which was a waste of time.
	(finalize_ssa_use_ops): Delete.  Move content to finalize_ssa_uses.
	(finalize_ssa_uses): Update last pointer.
	(finalize_ssa_vdef_ops): Delete.  Move content to finalize_ssa_vdefs.
	(finalize_ssa_vdefs, finalize_ssa_vuse_ops): Use voptype_d and
	directly manipulate pointers.
	(copy_virtual_operands): Use voptype_d, and no need to update pointers.

From-SVN: r120009
2006-12-18 16:21:08 +00:00
Nathan Sidwell 2284bd2b66 rs6000.md (*movdf_hardfloat32): Use %X format to determine if memory operand is an indexed address or not.
* config/rs6000/rs6000.md (*movdf_hardfloat32): Use %X format to
	determine if memory operand is an indexed address or not.

From-SVN: r120003
2006-12-18 09:53:33 +00:00
Steven Bosscher 757bbef814 cselib.c (struct cselib_val_struct): Make val_rtx its own field, remove the union that contained it.
* cselib.c (struct cselib_val_struct): Make val_rtx its
	own field, remove the union that contained it.
	* cselib.c: Update accordingly where necessary.

From-SVN: r119994
2006-12-17 22:57:04 +00:00
Steven Bosscher a7582f7c6d cse.c (have_eh_succ_edges): New function.
* cse.c (have_eh_succ_edges): New function.
	(cse_insn): Don't remove dead EH edges here
	(cse_extended_basic_block): Do it here.
	(rest_of_handle_cse, rest_of_handle_cse2): Don't assert
	that we have removed all dead edges.

From-SVN: r119993
2006-12-17 20:27:25 +00:00
Matthias Klose 23f351630b re PR libstdc++/11953 (_REENTRANT defined when compiling non-threaded code.)
2006-12-17  Matthias Klose  <doko@debian.org>

        PR libstdc++/11953
        * gcc/config/mips/linux.h (SUBTARGET_CPP_SPEC): Extend.

From-SVN: r119986
2006-12-17 13:46:58 +00:00
Steven Bosscher 27511c652d cse.c (cse_find_path): Don't wrap a gcc_assert in ENABLE_CHECKING.
* cse.c (cse_find_path): Don't wrap a gcc_assert in ENABLE_CHECKING.
	(cse_extended_basic_block): When truncating a path while processing
	it, make sure to clear the visited bit on the basic blocks in the
	truncated part of the path.
	(cse_main): Use reverse completion order, not DFS order, to walk
	the CFG.
	(gate_handle_cse): Revert erroneous commit of a counter.

From-SVN: r119985
2006-12-17 13:12:37 +00:00
Steven Bosscher 96fb470d74 cse.c (this_insn_cc0, [...]): New global variables, moved out from cse_insn.
* cse.c (this_insn_cc0, this_insn_cc0_mode): New global
	variables, moved out from cse_insn.
	(prev_insn): Remove this global variable).
	(new_basic_block): Don't set it.
	(cse_insn): Idem. Also, move code to delete unused CC0-setter
	insns and code to set prev_insn_cc0 and prev_insn_cc0_mode
	from here...
	(cse_extended_basic_block): ...to here.  Do not clear
	prev_insn_cc0 until after recording equivalences from jumps.

From-SVN: r119984
2006-12-17 13:11:06 +00:00
Jan Hubicka 04b201a28a * cgraphunit.c (ipa_passes): Clear current_function_decl.
From-SVN: r119979
2006-12-17 01:50:58 +00:00
Andreas Tobler 582fd9ced4 passes.c (verify_curr_properties): Define only for ENABLE_CHECKING.
2006-12-16  Andreas Tobler  <a.tobler@schweiz.org>

	* passes.c (verify_curr_properties): Define only for ENABLE_CHECKING.

From-SVN: r119971
2006-12-16 23:49:05 +01:00
Jan Hubicka a5093353f1 omp-low.c (expand_omp_parallel): Set function properties.
* omp-low.c (expand_omp_parallel): Set function properties.
	* function.h (struct function): Add curr_properties and last_verified.
	* passes.c (register_dump_files): Do not set TODO_set_props for the
	first pass
	(init_optimization_passes): Set it here; reorder initialization so the
	dump files appear in more logical order.
	(last_verified, curr_properties): Kill.
	(do_per_function): New function.
	(execute_function_todo): Break out from ...
	(execute_todo): ... here; handle per-function flags.
	(clear_last_verified, verify_curr_properties,
	update_properties_after_pass): New functions.
	(execute_one_pass): Handle per-function properties.
	(execute_ipa_pass_list): Use do_per_function; sanity check that cfun
	and current_function_decls are cleared out.
	* ipa-cp.c (constant_val_insert): Clear cfun/current_function_decl
	after use.

From-SVN: r119966
2006-12-16 18:10:08 +00:00