Commit Graph

61395 Commits

Author SHA1 Message Date
Andreas Jaeger 61b5f21009 * tree-if-conv.c: Spell check comments and clean up whitespace.
From-SVN: r87101
2004-09-05 12:54:26 +02:00
Zdenek Dvorak 8b11a64cd9 tree-ssa-loop-ivopts.c: New file.
* tree-ssa-loop-ivopts.c: New file.
	* Makefile.in (tree-ssa-loop-ivopts.c): Add.
	* cfgloop.h (target_avail_regs, target_res_regs, target_small_cost,
	target_pres_cost, target_spill_cost): Declare.
	* cfgloopanal.c (avail_regs, res_regs, small_cost, pres_cost,
	spill_cost): Renamed to ...
	(target_avail_regs, target_res_regs, target_small_cost,
	target_pres_cost, target_spill_cost): ... and exported.
	(init_set_costs, global_cost_for_size): Work with renamed variables.
	* common.opt (flag_ivopts): New flag.
	* expr.c (expand_expr_real_1): Handle SSA_NAME case.  Handle
	REF_ORIGINAL.
	* gimplify.c (struct gimplify_ctx): Add into_ssa field.
	(internal_get_tmp_var, gimplify_modify_expr, gimplify_expr): Support
	generating SSA form.
	(force_gimple_operand): New function.
	* timevar.def (TV_TREE_LOOP_IVOPTS): New timevar.
	* tree-cfg.c (stmt_bsi): New function.
	* params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND,
	PARAM_IV_MAX_CONSIDERED_USES): New.
	* tree-flow.h (stmt_bsi, tree_ssa_iv_optimize, split_loop_exit_edge,
	bsi_insert_on_edge_immediate_loop. standard_iv_increment_position,
	ip_end_pos, ip_normal_pos, force_gimple_operand): Declare.
	* tree-gimple.c (is_gimple_formal_tmp_var): Accept ssa names.
	* tree-nested.c (build_addr): Export.
	* tree-optimize.c (init_tree_optimization_passes): Add
	pass_iv_optimize.
	* tree-pass.h (pass_iv_optimize): Declare.
	* tree-ssa-loop-im.c (for_each_index): Handle REALPART_EXPR and
	IMAGPART_EXPR.
	* tree-ssa-loop-manip.c (create_iv): Force the base to be acceptable
	as a phi node argument.
	(split_loop_exit_edge, bsi_insert_on_edge_immediate_loop,
	ip_end_pos, ip_normal_pos, standard_iv_increment_position): New
	functions.
	* tree-ssa-loop-niter.c (zero_p, unsigned_type_for): Export.
	* tree-ssa-loop.c (tree_ssa_loop_ivopts, gate_tree_ssa_loop_ivopts,
	pass_iv_optimize): New pass.
	* tree-ssa-operands.c (get_indirect_ref_operands): Handle REF_ORIGINAL.
	* tree-ssanames.c (release_ssa_name): Allow calling with var = NULL.
	* tree.c (build_int_cst_type, cst_and_fits_in_hwi): New functions.
	* tree.h (REF_ORIGINAL): New macro.
	(build_int_cst_type, unsigned_type_for, zero_p,
	cst_and_fits_in_hwi, build_addr): Declare.
	* doc/invoke.texi (-fivopts): Document.
	(PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND,
	PARAM_IV_MAX_CONSIDERED_USES): Document.
	* doc/passes.texi: Document induction variable optimizations pass.

	* gcc.dg/tree-ssa/loop-2.c: New test.
	* gcc.dg/tree-ssa/loop-3.c: New test.
	* gcc.dg/tree-ssa/loop-4.c: New test.
	* gcc.dg/tree-ssa/loop-5.c: New test.

From-SVN: r87100
2004-09-05 09:25:37 +00:00
Mohan Embar 56fa138baf natNetworkInterfaceWin32.cc (getRealNetworkInterfaces): Changed pfn from static local to local.
* java/net/natNetworkInterfaceWin32.cc (getRealNetworkInterfaces):
	Changed pfn from static local to local.

From-SVN: r87099
2004-09-05 03:36:19 +00:00
Kaveh R. Ghazi 254986c7ff builtin-attrs.def (ATTR_NOTHROW_SENTINEL_1): New.
* builtin-attrs.def (ATTR_NOTHROW_SENTINEL_1): New.
	* builtins.def (BUILT_IN_EXECLE): Set ATTR_NOTHROW_SENTINEL_1.
	* c-common.c (c_common_attribute_table): Accept parameters to
	sentinel attribute.
	(check_function_sentinel, handle_sentinel_attribute): Likewise.
	* doc/extend.texi: Update accordingly.

testsuite:
	* gcc.dg/format/sentinel-1.c: Update for parameter option.

From-SVN: r87098
2004-09-05 02:55:28 +00:00
Kaveh Ghazi 44269c4093 Fix ChangeLog
From-SVN: r87097
2004-09-05 02:51:44 +00:00
Kaveh Ghazi 3d091dac56 builtin-attrs.def (ATTR_SENTINEL, [...]): New.
gcc:
	* builtin-attrs.def (ATTR_SENTINEL, ATTR_SENTINEL_NOTHROW_LIST):
	New.
	* builtins.def (BUILT_IN_EXECL, BUILT_IN_EXECLP): Add `sentinel'
	attribute.
	* c-common.c (handle_sentinel_attribute, check_function_sentinel):
	New functions.
	(c_common_attribute_table): Add `sentinel' attribute.
	(check_function_arguments): Handle `sentinel' attribute.
	* doc/extend.texi: Document `sentinel' attribute.

gcc/testsuite:
	* gcc.dg/format/sentinel-1.c: New test.

include:
	* ansidecl.h (ATTRIBUTE_SENTINEL): Define.
	* libiberty.h (concat, reconcat, concat_length, concat_copy,
	concat_copy2): Use ATTRIBUTE_SENTINEL.

From-SVN: r87096
2004-09-05 02:50:09 +00:00
GCC Administrator ecd466457c Daily bump.
From-SVN: r87094
2004-09-05 00:16:38 +00:00
Andreas Tobler 2010caea15 many_win32.c: Remove whitespaces.
2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>

	* testsuite/libffi.call/many_win32.c: Remove whitespaces.
	* testsuite/libffi.call/promotion.c: Likewise.
	* testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
	whitespaces.
	* testsuite/libffi.call/return_sc.c: Likewise.
	* testsuite/libffi.call/return_uc.c: Likewise.

From-SVN: r87091
2004-09-05 00:41:53 +02:00
Andreas Tobler 894be816d4 darwin.S: Fix comments and identation.
2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>

	* src/powerpc/darwin.S: Fix comments and identation.
	* src/powerpc/darwin_closure.S: Likewise.

From-SVN: r87090
2004-09-05 00:09:20 +02:00
Richard Kenner 40b32ef83f revert: fold-const.c (operand_equal_p): Remove code to allow null ARG0/1.
Revert:
	* fold-const.c (operand_equal_p): Remove code to allow null ARG0/1.
	Define locals macros OP_SAME and OP_SAME_WITH_NULL and use throughout.

From-SVN: r87089
2004-09-04 15:17:52 -04:00
Richard Kenner 875803a092 * gimplify.c (internal_get_tmp_var): Remove unused var CLASS.
From-SVN: r87088
2004-09-04 14:24:15 -04:00
H.J. Lu 8f1529e685 configure: Regenerated.
2004-09-04  H.J. Lu  <hongjiu.lu@intel.com>

	* configure: Regenerated.

From-SVN: r87087
2004-09-04 07:43:45 -07:00
Richard Kenner d70bb61f70 Fix some too-long lines and move a comment.
From-SVN: r87086
2004-09-04 09:18:16 -04:00
Kriang Lerdsuwanakij eb1aef5308 decl.c (grok_declarator): Remove a redundant semicolon.
* decl.c (grok_declarator): Remove a redundant semicolon.

	* parser.c (cp_parser_decl_specifier_seq, cp_parser_type_specifier):
	Correct comments describing function parameters.

From-SVN: r87085
2004-09-04 12:43:27 +00:00
Richard Kenner 69fbfdd8c6 Trivial reformatting.
From-SVN: r87084
2004-09-04 08:41:42 -04:00
Richard Kenner c51c248f9f * tree.c (save_expr): No longer TREE_READONLY.
From-SVN: r87083
2004-09-04 08:39:59 -04:00
Richard Kenner a60749f509 fold-const.c (operand_equal_p): Remove code to allow null ARG0/1.
* fold-const.c (operand_equal_p): Remove code to allow null ARG0/1.
	Define locals macros OP_SAME and OP_SAME_WITH_NULL and use throughout.

From-SVN: r87082
2004-09-04 08:35:41 -04:00
Jan Hubicka 8d168c2457 passes.c (rest_of_clean_state): Fix merge conflict made during commiting the patch.
* passes.c (rest_of_clean_state):  Fix merge conflict made during
	commiting the patch.

From-SVN: r87081
2004-09-04 10:12:42 +00:00
Jan Hubicka 0a9aeefd62 * passes.c (rest_of_clean_state): Decompose the instruction stream.
From-SVN: r87080
2004-09-04 09:05:53 +00:00
Richard Sandiford 273a2526bd md.texi (shift patterns): New anchor.
* doc/md.texi (shift patterns): New anchor.  Add reference to
	TARGET_SHIFT_TRUNCATION_MASK.
	* doc/tm.texi (TARGET_SHIFT_TRUNCATION_MASK): Document.
	* target.h (shift_truncation_mask): New target hook.
	* targhook.h (default_shift_truncation_mask): Declare.
	* targhook.c (default_shift_truncation_mask): Define.
	* target-def.h (TARGET_SHIFT_TRUNCATION_MASK): Define.
	(TARGET_INITIALIZER): Include it.
	* simplify-rtx.c (simplify_binary_operation): Combine ASHIFT, ASHIFTRT
	and LSHIFTRT cases.  Truncate arg1 if SHIFT_COUNT_TRUNCATED, otherwise
	reject all out-of-range values.  Fix sign-extension code for modes
	whose width is smaller than HOST_BITS_PER_WIDE_INT.
	* optabs.c (simplify_expand_binop, force_expand_binop): New functions.
	(expand_superword_shift, expand_subword_shift): Likewise.
	(expand_doubleword_shift_condmove, expand_doubleword_shift): Likewise.
	(expand_binop): Use them to implement double-word shifts.
	* config/arm/arm.c (arm_shift_truncation_mask): New function.
	(TARGET_SHIFT_TRUNCATION_MASK): Define.

From-SVN: r87079
2004-09-04 08:50:36 +00:00
Jan Hubicka caf29de78e tree.c (iterate_hash_expr): Optimize, avoid use of iterative_hash_object.
* tree.c (iterate_hash_expr): Optimize, avoid use of iterative_hash_object.
	(mix): New macro copied from hashtab.c
	(iterative_hash_hashval_t, iterative_hash_pointer,
	iterative_hash_host_wide_int): New functions based on hashtab.c
	implementation.

From-SVN: r87078
2004-09-04 08:42:06 +00:00
Richard Sandiford e83adf94fd mips.md (mask): New mode attribute.
* config/mips/mips.md (mask): New mode attribute.
	(zero_extendsidi2): Add memory alternative.
	(*zero_extendsidi2_mem): Delete.
	(zero_extend[qh]i[sd]i2): Redefine using :GPR and :SHORT.  Use
	memory_operand in the TARGET_MIPS16 check.
	(*zero_extend[qh]i[sd]i2{,_mips16}): Name previously unnamed patterns.
	Redefine using :GPR and :SHORT.
	(zero_extendqihi2): Use memory_operand in the TARGET_MIPS16 check.

From-SVN: r87077
2004-09-04 08:00:32 +00:00
Uros Bizjak edeacc1415 builtins.c (expand_builtin_mathfn): Handle BUILT_IN_RINT{,F,L} using rint_optab.
2004-09-04  Uros Bizjak  <uros@kss-loka.si>

	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_RINT{,F,L}
	using rint_optab.
	(expand_builtin): Expand BUILT_IN_RINT{,F,L} using
	expand_builtin_mathfn.
	* genopinit.c (optabs): Rename trunc_optab to btrunc_optab. Use
	btrunc?f patterns for btrunc_optab. Implement rint_optab using
	rint?f patterns.
	* optabs.c (init_optabs): Initialize rint_optab.
	* optabs.h (enum optab_index): Rename OTI_trunc to OTI_btrunc.
	Add new OTI_rint.
	(btrunc_optab): Rename macro from trunc_optab.
	(rint_optab): Define corresponding macro.

	* reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FRNDINT_FLOOR,
	UNSPEC_FRNDINT_CEIL, UNSPEC_FRNDINT_TRUNC, UNSPEC_FRNDINT_MASK_PM.

	* config/i386/i386-protos.h (emit_i387_cw_initialization):
	Change prototype. Add new int parameter.
	* config/i386/i386.c (emit_i387_cw_initialization):
	Handle new rounding modes.

	* config/i386/i386.h (enum fp_cw_mode): Delete.
	(MODE_NEEDED): Handle new rounding modes.
	(EMIT_MODE_SET): Change condition to handle new rounding modes.

	* config/i386/i386.md (UNSPEC_FRNDINT_FLOOR, UNSPEC_FRNDINT_CEIL,
	UNSPEC_FRNDINT_TRUNC, UNSPEC_FRNDINT_MASK_PM): New unspecs to
	represent different rounding modes of frndint insn.
	(type): Add frndint type.
	(i387, length, memory): Handle this type.
	(i387_cw): New attribute definition.
	(*fix_truncdi_1, fix_truncdi_nomemory, fix_truncdi_memory,
	*fix_truncsi_1, fix_truncsi_nomemory, fix_truncsi_memory,
	*fix_trunchi_1, fix_trunchi_nomemory, fix_trunchi_memory):
	Add "i387_cw" attribute defined to "trunc".
	(x86_fnstcw_1): Remove comment.
	(*frndintxf2): Rename insn definition to frndintxf2. Move
	insn definition near rint?f2 expanders.
	(rintdf2, rintsf2, rintxf2): New expanders to implement rint,
	rintf and rintl built-ins as inline x87 intrinsics.
	(frndintxf2_floor): New pattern to implement floor rounding
	mode with frndint x87 instruction.
	(floordf2, floorsf2, floorxf2): New expanders to implement floor,
	floorf and floorl built-ins as inline x87 intrinsics.
	(frndintxf2_ceil): New pattern to implement ceil rounding
	mode with frndint x87 instruction.
	(ceildf2, ceilsf2, ceilxf2): New expanders to implement ceil,
	ceilf and ceill built-ins as inline x87 intrinsics.
	(frndintxf2_trunc): New pattern to implement trunc rounding
	mode with frndint x87 instruction.
	(btruncdf2, btruncsf2, btruncxf2): New expanders to implement trunc,
	truncf and truncl built-ins as inline x87 intrinsics.
	(frndintxf2_mask_pm): New pattern to implement rounding
	mode with exceptions with frndint x87 instruction.
	(nearbyintdf2, nearbyintsf2, nearbyintxf2): New expanders to
	implement nearbyint, nearbyintf and nearbyintl built-ins as
	inline x87 intrinsics.

	* testsuite/gcc.dg/builtins-46.c: New.

From-SVN: r87076
2004-09-04 09:55:12 +02:00
Richard Sandiford 183f019bd7 mips.md (SHORT): New mode macro.
* config/mips/mips.md (SHORT): New mode macro.
	(size): New mode attribute.
	(extend[qh]i[sd]i2): Redefine using :GPR and :SHORT.
	(*extend[qh]i[sd]i2): New define_insn_and_split, combining previous
	*extend[qh]i[sd]i2 and *extend[qh]i[sd]i2_mem patterns.  Use only if
	!ISA_HAS_SEB_SEH.
	(*extend[qh]i[sd]i2_se[bh]): New pattern, combining previous
	*extend[qh]isi2_hw patterns and extending them to di.
	(extendqihi2): Implement as define_insn_and_split that produces
	extendqisi2 after reload.

From-SVN: r87075
2004-09-04 07:28:15 +00:00
Bryce McKinlay 351cfd8b8d re PR libgcj/17290 (Wrong Java dependencies are generated)
2004-09-03  Bryce McKinlay  <mckinlay@redhat.com>
            H.J. Lu  <hongjiu.lu@intel.com>

	PR libgcj/17290
	* Makefile.am (GCJCOMPILE): Remove definition.
	(AM_CFLAGS): Add -fclasspath and -fbootclasspath flags.
	Use LTGCJCOMPILE, not GCJCOMPILE, to build .lo targets.
	* Makefile.in: Rebuilt.

Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>

From-SVN: r87074
2004-09-04 04:30:12 +01:00
Devang Patel 40923b202d Tree level if-conversion for vectorizer.
* Makefile.in (OBJS-common): Add tree-if-conv.o
        (tree-if-conv.o): New rule.
        * cfgloop.c (flow_loop_exit_edges_find): Set EDGE_LOOP_EXIT flag.
        (get_loop_body_in_bfs_order): New.
        * cfgloop.h (get_loop_body_in_bfs_order): New.
        * tree-flow.h (enum move_pos): Move here from ..
        * tree-ssa-loop-im.c (enum move_pos): here.
        (movement_possibility): Make externally visible.
        * tree-optimize.c (init_tree_optimization_passes): New entry for
        if conversion pass.
        * tree-pass.h (pass_if_conversion): New.
        * tree-ssa-operands.c (get_expr_operands): Handle COND_EXPR.
        * tree-if-conv.c: New file.
        * doc/passes.texi: Document tree if-conversion pass.
        * doc/tree-ssa.texi: Same.

        testsuite:

        * gcc.dg/tree-ssa/ifc-20040816-1.c: New test.
        * gcc.dg/tree-ssa/ifc-20040816-2.c: New test.

From-SVN: r87073
2004-09-03 20:27:01 -07:00
Kelley Cook 48d0dd7520 configure.ac (enable-gc-debug): Update help for new syntax.
2004-09-03  Kelley Cook  <kcook@gcc.gnu.org>

	* configure.ac (enable-gc-debug): Update help for new syntax.
	* configure: Regenerate.

From-SVN: r87071
2004-09-04 00:23:29 +00:00
GCC Administrator 7b8c47ab60 Daily bump.
From-SVN: r87069
2004-09-04 00:16:18 +00:00
H.J. Lu 443728bba4 re PR target/14925 (libunwind enabled gcc generates incompatible libgcc_s.so.1)
2004-09-03  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/14925:
	Makefile.in (LIB2ADDEHSTATIC): New.
	(LIB2ADDEHSHARED): New.
	(LIBUNWIND): New.
	(LIBUNWINDDEP): New.
	(SHLIBUNWIND_LINK): New.
	(SHLIBUNWIND_INSTALL): New.
	(libgcc.mk): Pass LIB2ADDEHSTATIC, LIB2ADDEHSHARED, LIBUNWIND,
	LIBUNWINDDEP, SHLIBUNWIND_LINK and SHLIBUNWIND_INSTALL.
	(clean): Remove libunwind*
	(stage1-start): Remove and copy stage1/libunwind*.
	(stage2-start): Remove and copy stage2/libunwind*.
	(stage3-start): Remove and copy stage3/libunwind*.
	(stage4-start): Remove and copy stage4/libunwind*.
	(stageprofile-start): Remove and copy stageprofile/libunwind*.
	(stagefeedback-start): Remove and copy stagefeedback/libunwind*.

	* config.gcc (ia64*-*-linux*): Always add t-libunwind to
	tmake_file. Add t-libunwind-elf and ia64/t-glibc-libunwind to
	tmake_file if --with-system-libunwind isn't used.

	* config/ia64/t-glibc-libunwind: New file.
	* config/t-libunwind-elf: Likewise.
	* unwind-compat.c: Likewise.
	* unwind-compat.h: Likewise.
	* unwind-dw2-fde-compat.c: Likewise.

	* config/ia64/t-glibc (LIB2ADDEH): Updated.
	* config/ia64/t-hpux (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.

	* config/ia64/unwind-ia64.c: Include "unwind-compat.h". Define
	aliases if needed.
	* unwind-dw2-fde-glibc.c: Likewise.
	* unwind-dw2.c: Likewise.

	* config/t-libunwind (LIB2ADDEH): Updated.
	(LIB2ADDEHSTATIC): New.
	(T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
	(TARGET_LIBGCC2_CFLAGS): Set to -DUSE_GAS_SYMVER.

	* configure.ac: Change --enable-libunwind-exceptions to
	--with-system-libunwind. Don't define USE_LIBUNWIND_EXCEPTIONS.
	* configure: Regenerated.
	* config.in: Updated.

	* doc/install.texi (ia64-*-linux): Require libunwind 0.98 or
	above and mention --with-system-libunwind.
	(ia64-*-hpux*): Mention --enable-libunwind-exceptions is
	removed in gcc 3.4.3 and later.

	* gcc.c (init_spec): Add -lunwind to -lgcc_s if
	USE_LIBUNWIND_EXCEPTIONS is defined.

	* mklibgcc.in: Support libunwind.

From-SVN: r87066
2004-09-03 17:15:42 -07:00
H.J. Lu d20bf446f6 i386.c (x86_branch_hints): Remove m_PENT4 and m_NOCONA.
2004-09-03  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (x86_branch_hints): Remove m_PENT4 and
	m_NOCONA.

From-SVN: r87065
2004-09-03 17:11:10 -07:00
Richard Henderson 1f6d3a0807 re PR middle-end/9997 (Coelesce stack slots for disjoint scopes.)
PR middle-end/9997
        * cfgexpand.c (LOCAL_ALIGNMENT): Provide default.
        (STACK_ALIGNMENT_NEEDED, FRAME_GROWS_DOWNWARD): Likewise.
	(struct stack_var, EOC, stack_vars, stack_vars_alloc, stack_vars_num,
        stack_vars_sorted, stack_vars_conflict, stack_vars_conflict_alloc,
        frame_phase, get_decl_align_unit, add_stack_var, triangular_index,
        resize_stack_vars_conflict, add_stack_var_conflict,
        stack_var_conflict_p, add_alias_set_conflicts, stack_var_size_cmp,
        union_stack_vars, partition_stack_vars, dump_stack_var_partition,
        expand_one_stack_var_at, expand_stack_vars, expand_one_stack_var,
        expand_one_static_var, expand_one_hard_reg_var,
        expand_one_register_var, expand_one_error_var, defer_stack_allocation,
        expand_one_var, expand_used_vars_for_block, clear_tree_used): New.
        (expand_used_vars): Rewrite.
        * Makefile.in (cfgexpand.o): Update dependencies.

From-SVN: r87064
2004-09-03 16:50:11 -07:00
Matt Austern 6983ea08a2 Compile speed improvement.
* parser.c (cp_lexer_print_token): Only define if ENABLE_CHECKING set.
	Otherwise define a stub macro that expands to nothing.
	(cp_lexer_debugging_p): Only define if ENABLE_CHECKING set.  Otherwise
	define a stub macro that expands to 0.
	(cp_lexer_start_debugging): Only define if ENABLE_CHECKING set.
	(cp_lexer_stop_debugging): Likewise.
	(cp_lexer_debug_stream): Only define if ENABLE_CHECKING set.  Otherwise
	define a stub macro that expands to NULL.
	(cp_lexer_new_main): Only set debugging_p if ENABLE_CHECKING set.
	(cp_lexer_new_from_tokens): Likewise.

From-SVN: r87059
2004-09-03 23:12:38 +00:00
Jan Hubicka 80d8221e0c cfg.c (free_edge): Use ggc_free.
2004-09-04  Jan Hubicka  <jh@suse.cz>

	* cfg.c (free_edge): Use ggc_free.
	(expunge_block): Use ggc_free.
	* passes.c (rest_of_clean_state): Free after compilation.
	* tree-ssa.c (delete_tree_ssa): Free annotations; call release_defs
	* tree-ssanames.c (release_defs): Ignore non-SSA_NAME arguments.

From-SVN: r87058
2004-09-03 22:38:33 +00:00
James E Wilson bb1058e4c2 Fix aliasing bug that also caused memory usage problems.
* tree-ssa-alias.c (may_be_aliased): Move TREE_STATIC check after
DECL_EXTERNAL check.

From-SVN: r87057
2004-09-03 15:33:46 -07:00
Eric Botcazou ca83de6b33 final.c (output_in_slot): New global variable.
* final.c (output_in_slot): New global variable.
	(final_scan_insn): Add new state '2' to the 'nopeepholes' parameter.
	Pass 2 as 'nopeepholes' to self for insns in a SEQUENCE.  Set
	'output_in_slot' before invoking output_asm_insn.
	(output_asm_insn): Add a space after the tab if 'output_in_slot'
	is set.
	* config/sparc/sparc.c (output_return): Pass 2 as 'nopeepholes' to
	final_scan_insn.
	(output_sibcall): Likewise.

From-SVN: r87056
2004-09-03 22:23:32 +00:00
Jan Hubicka 37e6d6fe83 * decl.c (finish_function): Clean out pointers we no longer need.
From-SVN: r87055
2004-09-03 20:37:03 +00:00
Jan Hubicka 1e3e17d3be tree-ssa-operands.c (fini_ssa_operands): ggc_free unused arrays.
* tree-ssa-operands.c (fini_ssa_operands): ggc_free unused arrays.
	* tree-ssanames (init_ssanames): Likewise.

From-SVN: r87054
2004-09-03 20:36:02 +00:00
Ziemowit Laski 1970d8c546 config-lang.in: Update copyright notice.
[gcc/objc/ChangeLog]
2004-09-03  Ziemowit Laski  <zlaski@apple.com>

	* config-lang.in: Update copyright notice.
	(lang_requires): Indicate that ObjC requires C to be built first.

From-SVN: r87053
2004-09-03 20:30:37 +00:00
Janis Johnson 2f4cc6bfc0 MAINTAINERS (Various Maintainers): Remove myself as web page maintainer...
2004-09-03  Janis Johnson  <janis187@us.ibm.com>

	* MAINTAINERS (Various Maintainers): Remove myself as web page
	maintainer, add myself as maintainer of build status lists.

From-SVN: r87052
2004-09-03 20:24:02 +00:00
Ziemowit Laski c41e5f2707 stub-objc.c (objc_is_id, [...]): New stubs.
[gcc/ChangeLog]
2004-09-03  Ziemowit Laski  <zlaski@apple.com>

	* stub-objc.c (objc_is_id, objc_declare_alias, objc_declare_class,
	objc_declare_protocols, objc_start_protocol,
	objc_start_class_interface, objc_start_category_interface,
	objc_continue_interface, objc_finish_interface,
	objc_add_instance_variable, objc_set_visibility, objc_set_method_type,
	objc_start_class_implementation, objc_start_category_implementation,
	objc_continue_implementation, objc_finish_implementation,
	objc_add_method_declaration, objc_start_method_definition,
	objc_finish_method_definition, objc_build_keyword_decl,
	objc_build_method_signature, objc_build_encode_expr,
	objc_build_protocol_expr, objc_build_selector_expr,
	objc_build_message_expr, objc_build_string_object,
	objc_get_class_reference, objc_get_protocol_qualified_type,
	objc_static_init_needed_p, objc_generate_static_init_call): New stubs.

From-SVN: r87051
2004-09-03 20:17:50 +00:00
James E Wilson b30d77c4d8 More MIPS vector cleanup work.
* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add __mips3d.
* config/mips/generic.md (generic_frecip_fsqrt_step): New.
* config/mips/mips-ps-3d.md (mips_rsqrt1_<fmt>): Use frsqrt1 type.
(mips_rsqrt2_<fmt>): Use frsqrt2 type.
(mips_recip1_<fmt>): Use frdiv1 type.
(mips_recip2_<fmt>): Use frdiv2 type.
* config/mips/mips.md (type): Add frdiv1, frdiv2, frsqrt1, frsqrt2.
* config/mips/sb1.md (ir_sb1_fpu_2pipes, ir_sb1_fpu_1pipe): Add frdiv1
and frsqrt1.
(ir_sb1_fpu_step2_2pipes, ir_sb1_fpu_step2_1pipe): New.

From-SVN: r87050
2004-09-03 13:12:29 -07:00
Daniel Jacobowitz 87cda9d6ca reload.c (find_reloads): Swap operand_loc pointers for find_dummy_reload if we have swapped two operands.
* reload.c (find_reloads): Swap operand_loc pointers for
	find_dummy_reload if we have swapped two operands.

From-SVN: r87049
2004-09-03 19:34:15 +00:00
Hans-Peter Nilsson f671762a68 cris.h (ASM_OUTPUT_CASE_END): Use prev_nonnote_insn to get the tablejump-insn before the jump-table label.
* config/cris/cris.h (ASM_OUTPUT_CASE_END): Use prev_nonnote_insn
	to get the tablejump-insn before the jump-table label.

From-SVN: r87048
2004-09-03 19:24:41 +00:00
David Daney 321c496bc7 mips-signal.h: Update copyright.
2004-09-03  David Daney  <ddaney@avtrex.com>

	* include/mips-signal.h: Update copyright.

From-SVN: r87047
2004-09-03 19:08:47 +00:00
Ziemowit Laski a45bcfb2d0 c-common.h (objc_is_id, [...]): New prototypes.
[gcc/ChangeLog]
2004-09-03  Ziemowit Laski  <zlaski@apple.com>

	* c-common.h (objc_is_id, objc_declare_alias, objc_declare_class,
	objc_declare_protocols, objc_build_message_expr,
	objc_finish_message_expr, objc_build_selector_expr,
	objc_build_protocol_expr, objc_build_encode_expr,
	objc_build_string_object, objc_get_protocol_qualified_type,
	objc_get_class_reference, objc_get_class_ivars,
	objc_start_class_interface, objc_start_category_interface,
	objc_start_protocol, objc_continue_interface, objc_finish_interface,
	objc_start_class_implementation, objc_start_category_implementation,
	objc_continue_implementation, objc_finish_implementation,
	objc_set_visibility, objc_set_method_type, objc_build_method_signature,
	objc_add_method_declaration, objc_start_method_definition,
	objc_finish_method_definition, objc_add_instance_variable,
	objc_build_keyword_decl, objc_build_throw_stmt, objc_begin_try_stmt,
	objc_finish_try_stmt, objc_begin_catch_clause,
	objc_finish_catch_clause, objc_build_finally_clause,
	objc_build_synchronized, objc_static_init_needed_p,
	objc_generate_static_init_call): New prototypes.

From-SVN: r87046
2004-09-03 19:04:05 +00:00
Richard Henderson 803a6ff52c cshift0.c (DEF_COPY_LOOP, [...]): New.
* intrinsics/cshift0.c (DEF_COPY_LOOP, copy_loop_int, copy_loop_long,
        copy_loop_double, copy_loop_ldouble): New.
        (__cshift0): Make shift type ssize_t.  Use % operator instead of
        div.  Use specialized versions of copy loop depending on the shape.

From-SVN: r87045
2004-09-03 12:03:43 -07:00
Jan Beulich 61fec9ffac configure.in: Remove target-libstdc++-v3 from noconfigdirs for *-*-netware...
/
        * configure.in: Remove target-libstdc++-v3 from noconfigdirs for
        *-*-netware, but add target-libmudflap.
        Consolidate *-*-netware targets (of which really only i?86 exists)
        into a single entry.
        * configure: Likewise.
gcc/
        * config.gcc: Resurrect NetWare as a target. Handle special case of
        Novell linker to be used (specified through --with-ld=) and threading
        model of either Posix (default) or NKS.
        * config/i386/i386.c (ix86_return_pops_args): Conditionalize popping
        of incoming hidden argument on KEEP_AGGREGATE_RETURN_POINTER.
        * config/i386/i386.h (KEEP_AGGREGATE_RETURN_POINTER): New.
        * config/i386/netware.c, config/i386/netware.h: New.
        * config/i386/nwld.c, config/i386/nwld.h: New.
        * config/i386/netware-crt0.c: New.
        * config/i386/netware-libgcc.c: New.
        * config/i386/netware-libgcc.def: New.
        * config/i386/netware-libgcc.exp: New.
        * config/i386/t-netware, config/i386/t-nwld: New.
        * gthr-nks.h: New.
        * doc/install.texi: Document NKS threading model.
gcc/cp/
        * g++spec.c (MATH_LIBRARY_PROFILE): Default to MATH_LIBRARY rather
        than "-lm".
gcc/testsuite/
        * g++.dg/abi/bitfield5.C: Use -mno-ms-bitfields.
        * g++.old-deja/g++.jason/thunk2.C: xfail for NetWare.
        * g++.old-deja/g++.law/profile1.C: xfail for NetWare.
        * g++.old-deja/g++.other/store-expr1.C: xfail for NetWare.
        * gcc.c-torture/compile/20001109-1.c: xfail for NetWare.
        * gcc.c-torture/compile/20001109-2.c: xfail for NetWare.
        * gcc.c-torture/execute/multi-ix.c: Use __builtin_bzero rather than
        the non-portable bzero.
        * gcc.dg/20010912-1.c: xfail for NetWare.
        * gcc.dg/20020426-2.c: xfail for NetWare.
        * gcc.dg/20021014-1.c: xfail for NetWare.
        * gcc.dg/20021018-1.c: xfail for NetWare.
        * gcc.dg/20030213-1.c: xfail for NetWare.
        * gcc.dg/20030225-1.c: xfail for NetWare.
        * gcc.dg/20030708-1.c: xfail for NetWare.
        * gcc.dg/builtins-config.h: Also exclude NetWare.
        * gcc.dg/format/format.h: Define restrict only if not already defined.
        * gcc.dg/nest.c: xfail for NetWare.
        * gcc.dg/special/gcsec-1.c: Don't pass -static for NetWare.
        * lib/target-supports.exp (check_visibility_available): Exclude
        NetWare.
fixincludes/
        * inclhack.def: Suppress exception_structure and math_exception
        for NetWare headers.
        * fixincl.x: Regenerate.
libstdc++-v3/
        * crossconfig.m4: Add NetWare as a target.
        * configure: Regenerate.

From-SVN: r87040
2004-09-03 11:10:08 -07:00
David Daney 04efec8127 configure.host: Use -fno-use-divide-subroutine for mips*-*-linux*.
2004-09-03  David Daney  <ddaney@avtrex.com>

	* configure.host: Use -fno-use-divide-subroutine for mips*-*-linux*.
	* include/mips-signal.h: Added HANDLE_FPE support.

From-SVN: r87039
2004-09-03 17:58:52 +00:00
Steve Ellcey 9dec91d433 ia64.c (ia64_function_arg): Use PARALLEL even if there is only one reg.
* config/ia64/ia64.c (ia64_function_arg): Use PARALLEL even if there
	is only one reg.
	(ia64_function_value): Ditto.

From-SVN: r87038
2004-09-03 17:52:08 +00:00
Jan Beulich 467cecf3b8 re PR c/7054 (#pragma pack handled incorrectly)
PR c/7054
        * defaults.h (TARGET_DEFAULT_PACK_STRUCT): Provide default.
        * tree.h (initial_max_fld_align): Declare
        * stor-layout.c (initial_max_fld_align): Define and initialize.
        (maximum_field_alignment): Initialize to the same value.
        * common.opt: Add -fpack-struct= variant of switch.
        * opts.c: Handle -fpack-struct= variant of switch.
        * c-pragma.c: Change #pragma pack() handling so that it becomes
        compatible to other compilers: accept individual 'push' argument,
        make final pop restore (command line) default, correct interaction
        of push/pop and sole specification of a new alignment (so that the
        sequence #pragma pack(push) - #pragma pack(<n>) becomes identical
        to #pragma pack(push, <n>).
        * doc/extend.texi: New node "Structure-Packing Pragmas" under
        "Pragmas", describing #pragma pack.
        * doc/invoke.texi: Document -fpack-struct=<n> variant of switch.
        * doc/tm.texi: Adjust description for HANDLE_PRAGMA_PACK_PUSH_POP.
        Document new TARGET_DEFAULT_PACK_STRUCT.
testsuite:
        * gcc.dg/pack-test-2.c: Adjust to permit and check #pragma pack(push).
        * gcc.dg/c99-flex-array-4.c: Add -fpack-struct=8 to provide a
        deterministic starting point for the alignment of structure fields.
        * gcc.dg/Wpadded.c: Dito.
        * g++.dg/abi/vbase10.C: Dito.

From-SVN: r87037
2004-09-03 10:22:40 -07:00