1. 06 Sep, 2004 7 commits
    • [multiple changes] · 2cada022
      2004-09-06  Steven G. Kargl  <kargls@comcast.net>
      
      	* io/write.c (output_float): Typo in comment.  Remove debugging
      	printf.  Fix format for FP of form 1e10.
      
      2004-09-06  Paul Brook  <paul@codesourcery.com>
      
      	* gfortran.dg/edit_real_1.f90: Add new test.
      
      From-SVN: r87119
      Paul Brook committed
    • Makefile.in (rtl.o): Remove -DGENERATOR_FILE. · c802a859
      	* Makefile.in (rtl.o): Remove -DGENERATOR_FILE.
      	(bitmap.o): Likewise.
      
      From-SVN: r87118
      Mohan Embar committed
    • re PR preprocessor/14699 (abort() in hashtable.c in approx_sqrt() with -fmem-report) · 0fd9e8dd
      2004-09-06  Serge Belyshev  <belyshev@lubercy.com>
      
      	PR preprocessor/14699
      	* symtab.c (ht_dump_statistics): Change type of sum_of_squares
      	from size_t to double.
      
      From-SVN: r87116
      Serge Belyshev committed
    • restore missing changelog entry · 8ce16ed6
      2004-08-30  Nathan Sidwell  <nathan@codesourcery.com>
      
      	* alias.c (mems_in_disjoint_alias_sets_p, record_alias_subset,
      	record_set, rtx_equal_for_memref_p, init_alias_analysis): Use
      	gcc_assert and gcc_unreachable instead of abort.
      	* alloc-pool.c (abort, fancy_abort): Remove.
      	(create_alloc_pool, free_alloc_pool, pool_alloc, pool_free): Use
      	gcc_assert or gcc_unreachable.
      	* attribs.c (init_attributes, decl_attributes): Likewise.
      	* bb-reorder.c (FREE, find_traces_1_round, copy_bb,
      	mark_bb_for_unlikely_executed_section,
      	add_labels_and_missing_jumps, fix_crossing_conditional_branches,
      	fix_crossing_unconditional_branches):  Likewise.
      	* bitmap.c (bitmap_first_set_bit, bitmap_last_set_bit,
      	bitmap_operation):  Likewise.
      	* bt-load.c (insn_sets_btr_p, augment_live_range,
      	move_btr_def):  Likewise.
      	* builtins.c (c_readstr, expand_builtin_longjmp, apply_args_size,
      	apply_result_size, expand_builtin_apply, expand_builtin_mathfn,
      	expand_builtin_mathfn_2, expand_builtin_mathfn_3,
      	builtin_memcpy_read_str, expand_movstr, expand_builtin_stpcpy,
      	expand_builtin_memcmp, expand_builtin_args_info,
      	std_gimplify_va_arg_expr, expand_builtin_unop,
      	expand_builtin_fputs, expand_builtin_profile_func,
      	expand_builtin_fork_or_exec, fold_builtin_bitop,
      	fold_builtin_classify, fold_builtin_fputs): Likewise.
      
      From-SVN: r87114
      Nathan Sidwell committed
    • Unify the management of RTL and tree-level dump files. · 9f8628ba
      2004-09-06  Paolo Bonzini  <bonzini@gnu.org>
      
      	Unify the management of RTL and tree-level dump files.
      
      	* cfgexpand.c (tree_expand_cfg): Fix incorrect comment.
      	Don't print function name to the dump file, the pass manager
      	would do this for us. Add code from the top of
      	rest_of_compilation, up to the initial RTL dump.
      	* passes.c (rest_of_handle_jump): Call fixup_tail_calls and
      	close the DFI_sibling dump file.
      	(rest_of_compilation): Don't do that here.  Remove code up to the
      	initial RTL dump.
      	(init_optimization_passes): Remove.
      	(pass_rest_of_compilation): Change pass name to NULL.
      	* toplev.c (lang_dependent_init): Do not use an empty dump file prefix.
      	Do not call init_optimization_passes.
      	* toplev.h (init_optimization_passes): Remove.
      
      	* graph.c (print_rtl_graph_with_bb, clean_graph_dump_file,
      	finish_graph_dump_file): Remove SUFFIX parameter.
      	* graph.h (print_rtl_graph_with_bb, clean_graph_dump_file,
      	finish_graph_dump_file): Likewise.
      
      	* tree-pass.h (struct tree_opt_pass): Add `letter' field.
      	* cfgexpand.c (pass_expand): Adjust.
      	* gimple-low.c (pass_lower_cf, pass_remove_useless_vars): Adjust.
      	* passes.c (pass_rest_of_compilation): Adjust.
      	* predict.c (pass_profile): Adjust.
      	* tree-alias-common.c (pass_build_pta, pass_del_pta): Adjust.
      	* tree-cfg.c (pass_build_cfg, pass_remove_useless_stmts,
      	pass_split_crit_edges, pass_warn_function_return): Adjust.
      	* tree-complex.c (pass_lower_vector_ssa, pass_pre_expand): Adjust.
      	* tree-dfa.c (pass_referenced_vars): Adjust.
      	* tree-eh.c (pass_lower_eh): Adjust.
      	* tree-if-conv.c (pass_build_ssa): Adjust.
      	* tree-into-ssa.c (pass_build_ssa): Adjust.
      	* tree-mudflap.c (pass_mudflap_1, pass_mudflap_2): Adjust.
      	* tree-nomudflap.c (pass_mudflap_1, pass_mudflap_2): Adjust.
      	* tree-nrv.c (pass_nrv): Adjust.
      	* tree-optimize.c (pass_gimple, pass_all_optimizations,
      	pass_cleanup_cfg_post_optimizing, pass_free_datastructures,
      	pass_init_datastructures): Adjust.
      	* tree-outof-ssa.c (pass_del_ssa): Adjust.
      	* tree-profile.c (pass_tree_profile): Adjust.
      	* tree-sra.c (pass_sra): Adjust.
      	* tree-ssa-alias.c (pass_may_alias): Adjust.
      	* tree-ssa-ccp.c (pass_ccp, pass_fold_builtins): Adjust.
      	* tree-ssa-copyrename.c (pass_rename_ssa_copies): Adjust.
      	* tree-ssa-dce.c (pass_dce, pass_cd_dce): Adjust.
      	* tree-ssa-dom.c (pass_dominator): Adjust.
      	* tree-ssa-dse.c (pass_dse): Adjust.
      	* tree-ssa-forwprop.c (pass_forwprop): Adjust.
      	* tree-ssa-if-conv.c (pass_if_conversion): Adjust.
      	* tree-ssa-loop-ch.c (pass_ch): Adjust.
      	* tree-ssa-loop.c (pass_loop, pass_loop_init, pass_lim,
      	pass_loop_done, pass_complete_unroll, pass_iv_canon,
      	pass_iv_optimize, pass_vectorize): Adjust.
      	* tree-ssa-phiopt.c (pass_phiopt): Adjust.
      	* tree-ssa-pre.c (pass_pre, pass_fre): Adjust.
      	* tree-ssa.c (pass_redundant_phi, pass_early_warn_uninitialized,
      	pass_late_warn_uninnitialized): Adjust.
      	* tree-tailcall.c (pass_tail_recursion, pass_tail_calls): Adjust.
      
      	* Makefile.in (tree-dump.o): Add new dependencies.
      	* cgraph.c (cgraph_remove_node): TDF_all -> TDF_tree_all.
      	* cgraphunit.c (cgraph_preserve_function_body_p, cgraph_optimize):
      	Likewise.
      	* toplev.c (dump_file_name): New.
      	* tree-dump.c (dump_enable_all): Add LETTER parameter.
      	(struct dump_file_info): Add NUM and LETTER fields.
      	(dump_files): Adjust and add RTL dump files.
      	(dump_register): Add NUM and LETTER fields.
      	(get_dump_file_name, dump_initialized_p, enable_rtl_dump_file): New.
      	(dump_begin): Use get_dump_file_name.
      	(dump_switch_p_1): Adjust call to dump_enable_all.
      	* tree-dump.h (dump_register): Adjust prototype.
      	* tree-optimize.c (register_one_dump_file): Take dump file index.
      	Support flags for RTL dumps.
      	(register_dump_files): Fill in NUM field of struct dump_file_info.
      	Track properties both when the gate is executed and when it is not.
      	(execute_todo): Dump RTL.  Add PROPERTIES parameter.
      	(execute_one_pass): Pass properties to execute_todo.  Handle VCG
      	dumps of RTL.
      	* tree-pass.h (dump_file_name): New.
      	* tree.h (TDF_TREE, TDF_RTL, get_dump_file_name, dump_initialized_p):
      	New.
      
      	* Makefile.in (passes.o): Add new dependencies.
      	* passes.c (struct dump_file_info, enum dump_file_index,
      	dump_file_tbl, init_optimization_passes): Remove.
      	(open_dump_file, close_dump_file): Use tree-dumping infrastructure.
      	(rest_of_handle_new_regalloc, rest_of_handle_old_regalloc): Use
      	dump_enabled_p.
      	(finish_optimization_passes): Update finish_graph_dump_file loop.
      	(enable_rtl_dump_file): Remove.
      	* tree-dump.c (dump_files): Adjust and add RTL dump files.
      	(enable_rtl_dump_file): Add here.
      	* tree.h (enum tree_dump_index): Add RTL dump file indices.
      	* doc/invoke.texi (Debugging options): Document new RTL debugging
      	options.  Update.
      
      From-SVN: r87113
      Paolo Bonzini committed
    • config.sub: Import latest version from master repository. · fc4d0e82
      * config.sub: Import latest version from master repository.
      * config.guess: Likewise.
      
      From-SVN: r87112
      Nick Clifton committed
    • Daily bump. · 76236c9c
      From-SVN: r87108
      GCC Administrator committed
  2. 05 Sep, 2004 11 commits
    • c-common.c, [...]: Fix comment formatting. · 8c27b7d4
      	* c-common.c, c-decl.c, combine.c, defaults.h, fold-const.c,
      	gimplify.c, gthr-nks.h, hooks.c, lambda-code.c, lambda-mat.c,
      	stor-layout.c, target.h, tree-cfg.c, tree-chrec.c,
      	tree-if-conv.c, tree-inline.c, tree-into-ssa.c,
      	tree-mudflap.c, tree-optimize.c, tree-scalar-evolution.c,
      	tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-dce.c,
      	tree-ssa-pre.c, tree-vectorizer.c, tree-vectorizer.h, tree.h,
      	vec.h: Fix comment formatting.
      
      From-SVN: r87105
      Kazu Hirata committed
    • c-common.c, [...]: Fix comment typos. · 2a7e31df
      	* c-common.c, cfgexpand.c, cgraphunit.c, defaults.h,
      	et-forest.c, expr.c, gimplify.c, global.c, gthr-lynx.h,
      	hard-reg-set.h, modulo-sched.c, optabs.c, postreload-gcse.c,
      	tree-data-ref.c, tree-flow.h, tree-if-conv.c, tree-inline.c,
      	tree-sra.c, tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c,
      	tree-ssa-loop-niter.c, tree-ssa-operands.c,
      	tree-ssa-operands.h, tree-ssa-propagate.c,
      	tree-ssa-propagate.h, tree-ssa-threadupdate.c, value-prof.c,
      	vec.c, vec.h: Fix comment typos.  Follow spelling conventions.
      
      From-SVN: r87104
      Kazu Hirata committed
    • tree-if-conv.c (gate_tree_if_conversion): Enable only if the vectorizer is enabled. · 2addf926
      
      	* tree-if-conv.c (gate_tree_if_conversion): Enable only if the
      	vectorizer is enabled.
      
      From-SVN: r87103
      Diego Novillo committed
    • Remove extra whitespace. · c9996000
      From-SVN: r87102
      Andreas Jaeger committed
    • tree-ssa-loop-ivopts.c: New file. · 8b11a64c
      	* 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
      Zdenek Dvorak committed
    • natNetworkInterfaceWin32.cc (getRealNetworkInterfaces): Changed pfn from static local to local. · 56fa138b
      	* java/net/natNetworkInterfaceWin32.cc (getRealNetworkInterfaces):
      	Changed pfn from static local to local.
      
      From-SVN: r87099
      Mohan Embar committed
    • builtin-attrs.def (ATTR_NOTHROW_SENTINEL_1): New. · 254986c7
      	* 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
      Kaveh R. Ghazi committed
    • Fix ChangeLog · 44269c40
      From-SVN: r87097
      Kaveh Ghazi committed
    • builtin-attrs.def (ATTR_SENTINEL, [...]): New. · 3d091dac
      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
      Kaveh Ghazi committed
    • Daily bump. · ecd46645
      From-SVN: r87094
      GCC Administrator committed
  3. 04 Sep, 2004 22 commits
    • many_win32.c: Remove whitespaces. · 2010caea
      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
      Andreas Tobler committed
    • darwin.S: Fix comments and identation. · 894be816
      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
      Andreas Tobler committed
    • revert: fold-const.c (operand_equal_p): Remove code to allow null ARG0/1. · 40b32ef8
      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
      Richard Kenner committed
    • configure: Regenerated. · 8f1529e6
      2004-09-04  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* configure: Regenerated.
      
      From-SVN: r87087
      H.J. Lu committed
    • Fix some too-long lines and move a comment. · d70bb61f
      From-SVN: r87086
      Richard Kenner committed
    • decl.c (grok_declarator): Remove a redundant semicolon. · eb1aef53
      	* 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
      Kriang Lerdsuwanakij committed
    • Trivial reformatting. · 69fbfdd8
      From-SVN: r87084
      Richard Kenner committed
    • * tree.c (save_expr): No longer TREE_READONLY. · c51c248f
      From-SVN: r87083
      Richard Kenner committed
    • fold-const.c (operand_equal_p): Remove code to allow null ARG0/1. · a60749f5
      	* 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
      Richard Kenner committed
    • passes.c (rest_of_clean_state): Fix merge conflict made during commiting the patch. · 8d168c24
      
      	* passes.c (rest_of_clean_state):  Fix merge conflict made during
      	commiting the patch.
      
      From-SVN: r87081
      Jan Hubicka committed
    • md.texi (shift patterns): New anchor. · 273a2526
      	* 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
      Richard Sandiford committed
    • tree.c (iterate_hash_expr): Optimize, avoid use of iterative_hash_object. · caf29de7
      	* 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
      Jan Hubicka committed
    • mips.md (mask): New mode attribute. · e83adf94
      	* 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
      Richard Sandiford committed
    • builtins.c (expand_builtin_mathfn): Handle BUILT_IN_RINT{,F,L} using rint_optab. · edeacc14
      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
      Uros Bizjak committed
    • mips.md (SHORT): New mode macro. · 183f019b
      	* 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
      Richard Sandiford committed
    • re PR libgcj/17290 (Wrong Java dependencies are generated) · 351cfd8b
      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
      Bryce McKinlay committed
    • Tree level if-conversion for vectorizer. · 40923b20
              * 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
      Devang Patel committed
    • configure.ac (enable-gc-debug): Update help for new syntax. · 48d0dd75
      2004-09-03  Kelley Cook  <kcook@gcc.gnu.org>
      
      	* configure.ac (enable-gc-debug): Update help for new syntax.
      	* configure: Regenerate.
      
      From-SVN: r87071
      Kelley Cook committed
    • Daily bump. · 7b8c47ab
      From-SVN: r87069
      GCC Administrator committed
    • re PR target/14925 (libunwind enabled gcc generates incompatible libgcc_s.so.1) · 443728bb
      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
      H.J. Lu committed