+2004-06-13 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * c-typeck.c (comptypes, tagged_types_tu_compatible_p,
+ function_types_compatible_p, type_lists_compatible_p): Remove
+ flags parameter.
+ * c-tree.h (comptypes): Likewise.
+ (COMPARE_STRICT): Remove.
+ * c-decl.c, c-lang.c, c-parse.in, c-typeck.c, objc/objc-act.c: All
+ callers changed.
+
+2004-06-13 Eric Christopher <echristo@redhat.com>
+
+ * c-decl.c (diagnose_mismatched_decls): Improve error message.
+ Remove unused code.
+ * c-typeck.c (comptypes): Add location in standard we're checking.
+
+2004-06-13 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/libgcc-std.ver: Add __unorddf2 and __unordsf2 with
+ version 3.3.4.
+
+2004-06-12 Roger Sayle <roger@eyesopen.com>
+
+ * expmed.c (shift_cost, shiftadd_cost, shiftsub_cost): Additionally
+ index by machine mode.
+ (init_expmed): Initialize shift_cost, shiftadd_cost and shiftsub_cost
+ tables inside the loop over machine modes.
+ (synth_mult, expand_mult_highpart_optab, expand_mult_highpart,
+ expand_divmod): Index shift*_cost by the appropriate machine mode.
+
+2004-06-12 Eric Christopher <echristo@redhat.com>
+
+ * config/s390/s390.h: Rename TARGET_TPF to TARGET_TPF_PROFILING.
+ * config/s390/s390.md: Ditto.
+ * config/s390/s390.c: Ditto.
+ (s390_frame_info): Conditionalize frame and setup info on
+ TARGET_TPF_PROFILING.
+ (s390_arg_frame_offset): Ditto.
+
+2004-06-12 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (omit_two_operands): New function.
+ * tree.h (omit_two_operands): Prototype here.
+ * builtins.c (fold_builtin_unordered_cmp): New function to lower
+ C99 unordered comparison builtins to the appropriate tree nodes.
+ (fold_builtin_1): Use fold_builtin_unordered_cmp to lower
+ BUILT_IN_ISGREATER, BUILT_IN_ISGREATEREQUAL, BUILT_IN_ISLESS,
+ BUILT_IN_ISLESSEQUAL and BUILT_IN_ISLESSGREATER. Manually lower
+ BUILT_IN_ISUNORDERED comparisons to an UNORDERED_EXPR tree node.
+ (simplify_builtin_memcmp, simplify_builtin_strncmp,
+ simplify_builtin_strncat, simplify_builtin_strspn): Use the new
+ omit_two_operands function to build the required COMPOUND_EXPRs.
+
+2004-06-12 Steven Bosscher <stevenb@suse.de>,
+ Andreas Jaeger <aj@suse.de>
+
+ * gcse.c (record_set_info): Use predicates like REG_P.
+ (mems_conflict_for_gcse_p): Likewise.
+ (load_killed_in_block_p): Likewise.
+ (hash_expr_1): Likewise.
+ (insert_set_in_table): Likewise.
+ (gcse_constant_p): Likewise.
+ (hash_scan_set): Likewise.
+ (hash_scan_insn): Likewise.
+ (canon_list_insert): Likewise.
+ (record_last_mem_set_info): Likewise.
+ (record_last_set_info): Likewise.
+ (compute_hash_table_work): Likewise.
+ (mark_set): Likewise.
+ (mark_clobber): Likewise.
+ (mark_oprs_set): Likewise.
+ (compute_transp): Likewise.
+ (find_avail_set): Likewise.
+ (cprop_insn): Likewise.
+ (do_local_cprop): Likewise.
+ (cprop): Likewise.
+ (find_implicit_sets): Likewise.
+ (find_bypass_set): Likewise.
+ (bypass_conditional_jumps): Likewise.
+ (insert_insn_end_bb): Likewise.
+ (pre_insert_copy_insn): Likewise.
+ (compute_transpout): Likewise.
+ (next_ls_expr): Likewise.
+ (invalidate_any_buried_refs): Likewise.
+ (compute_ld_motion_mems): Likewise.
+ (reg_set_info): Likewise.
+ (reg_clear_last_set): Likewise.
+ (find_moveable_store): Likewise.
+ (compute_store_table): Likewise.
+ (find_loads): Likewise.
+ (store_killed_in_insn): Likewise.
+ (insert_insn_start_bb): Likewise.
+ (reg_set_between_after_reload_p): Likewise.
+ (reg_used_between_after_reload_p): Likewise.
+ (is_jump_table_basic_block): Likewise.
+ (gcse_after_reload): Likewise.
+ (hash_scan_set_after_reload): Likewise.
+ (compute_hash_table_after_reload): Likewise.
+
+2004-06-12 Steven Bosscher <stevenb@suse.de>
+
+ * rtl.h (MEM_P, NONJUMP_INSN_P, CALL_INSN_P): New predicates.
+ (INSN_P): Don't look at the rtx code class, just explicitly
+ check for one of the tree RTX_INSN codes.
+
+2004-06-11 Zack Weinberg <zack@codesourcery.com>
+
+ * c-typeck.c (default_function_array_conversion): Use
+ build_pointer_type not TYPE_POINTER_TO.
+
+2004-06-11 Zack Weinberg <zack@codesourcery.com>
+
+ * configure.ac: Don't invoke ACX_HEADER_STDBOOL.
+ * configure, config.in: Regenerate.
+ * system.h: Unconditionally define bool as unsigned char,
+ BOOL_BITFIELD as unsigned int.
+ * domwalk.h: Use BOOL_BITFIELD.
+
+2004-06-12 Andreas Jaeger <aj@suse.de>
+
+ * libgcc-std.ver: Add __unorddf2 and __unordsf2 with version 3.3.4.
+ * libgcc-darwin.ver: Likewise.
+
+2004-06-12 Peter Jakubek <peter@laseranimation.com>
+
+ * reload.c (find_reloads): Force reload for pseudo registers on big
+ endian machines.
+
+2004-06-11 Steven Bosscher <stevenb@suse.de>
+
+ * tree-ssa-dce.c (mark_control_dependent_edges_necessary):
+ Don't try to mark anything control dependent on the entry or
+ exit blocks.
+
+2004-06-11 Daniel Berlin <dberlin@dberlin.org>
+
+ Fix Bug 15899
+ Fix Bug 15460
+ * tree.h (SSA_NAME_VALUE): New macro.
+ (struct tree_ssa_name): Add value_handle member.
+ * tree-ssa-pre.c: Replaced.
+ * tree-flow.h (tree_ann_type): Add CST_ANN, EXPR_ANN.
+ (struct cst_ann_d): New.
+ (struct expr_ann_d): New.
+ (union tree_ann_d): Add cst_ann, expr_ann.
+ * tree-dfa.c (create_cst_ann): New function.
+ (create_expr_ann): Ditto.
+ * tree-flow-inline.h (cst_ann): New function.
+ (expr_ann): Ditto.
+ (get_cst_ann): Ditto.
+ (get_expr_ann): Ditto..
+
+2004-06-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa.c (pa_hpux_init_libfunc): Add support for unord_optab.
+ * pa/quadlib.c (enum qfcmp_magic): Define magic values for call to
+ _U_Qfcmp library function.
+ (_U_Qfltgt, _U_Qfunle, _U_Qfunlt, _U_Qfunge, _U_Qfungt, _U_Qfuneq,
+ _U_Qfunord, _U_Qford): Add more TFmode builtin compare functions.
+
+ * pa.c (legitimize_pic_address): Use UNSPEC_DLTIND14R to identify
+ unspec used for loading address from DLT.
+ * pa.md: Define constants for the uses of UNSPEC and UNSPEC_VOLATILE.
+ Change all users of UNSPEC and UNSPEC_VOLATILE to use new constants.
+ Don't use short code sequence when loading the address of a nonlocal
+ label.
+ (nonlocal_goto): New expander.
+ (indirect_goto): New jump pattern for nonlocal gotos.
+ (short_jump): Remove extra whitespace.
+ (builtin_longjmp): Clobber memory and hard frame pointer. Restore
+ frame pointer via virtual_stack_vars_rtx when we have a nonlocal goto
+ pattern.
+
+2004-06-11 Roger Sayle <roger@eyesopen.com>
+
+ * expmed.c (synth_mult): Add an additional MODE argument for the
+ machine mode of the multiplication. Update recursive calls. Use
+ mode instead of word_mode for determining operation costs.
+ (choose_mult_variant): Update calls to synth_mult with "mode".
+
+2004-06-11 Richard Henderson <rth@redhat.com>
+
+ * tree-ssa-operands.c (get_stmt_operands): Clear makes_aliased_loads
+ and makes_aliased_stores.
+
+2004-06-11 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * doc/install.text (--enable-shared): Fix typo.
+
+2004-06-11 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (alpha_gimplify_va_arg_1): Remove post_p
+ argument. Use internal post for call to gimplify_expr. Tidy
+ rounded type size computation.
+ (alpha_gimplify_va_arg): Use get_formal_tmp_var and
+ get_initialized_tmp_var.
+
+2004-06-11 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * doc/install.texi (--enable-shared): Update libobjc's shared library
+ status. Remove reference to libf2c.
+
+2004-06-11 Jason Merrill <jason@redhat.com>
+
+ * config/i386/i386.h (EXPAND_BUILTIN_VA_ARG): Just abort.
+ * config/i386/i386.c (ix86_va_arg): Remove.
+ * config/rs6000/rs6000.h (EXPAND_BUILTIN_VA_ARG): Just abort.
+ * config/rs6000/rs6000.c (rs6000_va_arg): Remove.
+ * config/alpha/alpha.h (EXPAND_BUILTIN_VA_ARG): Just abort.
+ * config/alpha/alpha.c (alpha_va_arg): Remove.
+ * config/sparc/sparc.h (EXPAND_BUILTIN_VA_ARG): Just abort.
+ * config/sparc/sparc.c (sparc_va_arg): Remove.
+
+ * tree-ssa-operands.c (get_stmt_operands): Use a V_MAY_DEF if the
+ assignment might throw.
+ * tree-eh.c (tree_could_throw_p): Support non-call exceptions in
+ expressions.
+
+2004-06-11 J"orn Rennecke <joern.rennecke@superh.com>
+
+ PR 15886:
+ * sh.h (ALLOCATE_INITIAL_VALUE): Use return_address_pointer_rtx.
+
+2004-06-11 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * doc/install.texi (Prerequisites): Update documentation of
+ required versions of autoconf and automake. Remove mention of
+ libf2c.
+
+2004-06-11 Jason Merrill <jason@redhat.com>
+
+ * config/sparc/sparc.c (sparc_gimplify_va_arg): New fn.
+ (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
+
+2004-06-11 Jerry Quinn <jlquinn@optonline.net>
+
+ * typeclass.h: Add GPL plus exception license. Add include
+ guard.
+
+2004-06-10 Jason Merrill <jason@redhat.com>
+
+ * gimplify.c (gimplify_modify_expr): Don't force a temporary
+ of an aggregate_value_p type.
+
+2004-06-10 Jeff Law <law@redhat.com>
+
+ * fold-const.c (fold_inf_compare): Avoid creating non-gimple
+ code when we are in gimple form.
+
+2004-06-10 Diego Novillo <dnovillo@redhat.com>
+
+ * Makefile.in (tree-ssanames.o): Depend on TREE_FLOW_H.
+ * tree-flow.h (ssa_names, num_ssa_names, ssa_name): Declare.
+ (highest_ssa_version): Remove.
+ * tree-outof-ssa.c (new_temp_expr_table): Replace
+ highest_ssa_version with num_ssa_names.
+ (dump_replaceable_exprs): Likewise.
+ (rewrite_vars_out_of_ssa): Likewise.
+ * tree-ssa-ccp.c (initialize): Likewise
+ * tree-ssa-copyrename.c (rename_ssa_copies): Likewise.
+ * tree-ssa-dce.c (tree_dce_init): Likewise.
+ * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
+ * tree-ssa-live.c (create_ssa_var_map): Likewise.
+ (dump_var_map): Likewise.
+ * tree-ssa.c (verify_ssa): Likewise.
+ (kill_redundant_phi_nodes): Likewise.
+ Do not build a local array of SSA_NAMEs. Use the ssa_names table.
+ * tree-ssanames.c: Include tree-flow.h
+ (ssa_names): New varray.
+ (init_ssa_names): Initialize ssa_names.
+ Reserve the first slot of the ssa_names table.
+ (make_ssa_name): Push the newly created SSA_NAME into ssa_names.
+ Assign version numbers using num_ssa_names.
+
+2004-06-10 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * doc/sourcebuild.texi (Front End): Add details of more
+ installation documentation required.
+
+2004-06-10 Brian Booth <bbooth@redhat.com>
+
+ * doc/tree-ssa.texi: Remove references to VDEF and add descriptions
+ of V_MAY_DEF and V_MUST_DEF.
+ * tree-dfa.c (dfa_stats_d): Add num_v_must_defs and rename
+ num_vdefs to num_v_may_defs.
+ (compute_immediate_uses_for_stmt): Rename occurences of vdef
+ to v_may_def.
+ (redirect_immediate_uses): Ditto.
+ (dump_dfa_stats): Ditto. Also added code to dump num_v_must_defs.
+ (collect_dfa_stats_r): Rename occurences of vdef to v_may_def.
+ Also add code to sum up the number of v_must_defs.
+ (vdefs_disappeared_p): Replace with...
+ (v_may_defs_disappeared_p): This.
+ (v_must_defs_disappeared_p): New function.
+ (mark_new_vars_to_rename): Rename occurences of vdef to v_may_def.
+ Also add code to mark new variables found in V_MUST_DEFs for
+ renameing.
+ * tree-flow.h (stmt_ann_d): Add v_must_def_ops and replace
+ vdef_ops to v_may_def_ops.
+ (get_vdef_ops): Replace with...
+ (get_v_may_def_ops): This.
+ * tree-flow-inline.h (get_vdef_ops): Replace with...
+ (get_v_may_def_ops): This.
+ (get_v_must_def_ops): New function.
+ (get_vdef_result_ptr): Replace with...
+ (get_v_may_def_result_ptr): This.
+ (get_vdef_op_ptr): Ditto with...
+ (get_v_may_def_op_ptr); This.
+ (get_v_must_def_op_ptr): New function.
+ * tree-into-ssa.c (mark_def_sites): Rename occurences of vdef
+ to v_may_def. Also add code to mark statements with
+ V_MUST_DEFs as definition sites.
+ (rewrite_stmt): Rename occurences of vdef to v_may_def. Also
+ add code to register new V_MUST_DEFs made by the statement.
+ * tree-outof-ssa.c (VIRTUAL_PARTITION): Update comments.
+ (check_replaceable): Rename occurences of vdef to v_may_def. Also
+ add check for V_MUST_DEFs.
+ (find_replaceable_in_bb): Ditto.
+ * tree-pretty-print.c (dump_vops): Rename occurences of vdef
+ to v_may_def. Also add code to dump V_MUST_DEFs.
+ * tree-sra.c (mark_all_vdefs): Replace with...
+ (mark_all_v_may_defs): This.
+ (mark_all_v_must_defs): New function.
+ (create_scalar_copies): Replace call to mark_all_vdefs with
+ calls to mark_all_v_may_defs and mark_all_v_must_defs.
+ (scalarize_structures): Rename occurences of vdef to v_may_def.
+ Also add a check for V_MUST_DEFs.
+ (scalarize_modify_expr): Rename occurences of vdef to v_may_def.
+ * tree-ssa-alias.c (global_var): Update comment.
+ (compute_may_aliases): Ditto.
+ (compute_points_to_and_addr_escape): Rename occurences of vdef
+ to v_may_def. Also add code to mark variables in V_MUST_DEF
+ operands as being written to.
+ (group_aliases): Update comment.
+ (maybe_create_global_var): Ditto.
+ * tree-ssa.c (verify_ssa): Rename occurences of vdef to v_may_def.
+ Also add a check for V_MUST_DEFs on GIMPLE registers.
+ (replace_immediate_uses): Rename occurences of vdef to v_may_def.
+ * tree-ssa-ccp.c (visit_stmt): Rename occurences of vdef
+ to v_may_def. Also add code to mark all V_MUST_DEF operands
+ VARYING.
+ (initialize): Ditto.
+ (set_rhs): Rename occurences of vdef to v_may_def. Also add
+ code to update SSA_NAMEs in V_MUST_DEFs.
+ * tree-ssa-copy.c (cprop_into_stmt): Rename occurences of vdef
+ to v_may_def.
+ * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Rename
+ occurences of vdef to v_may_def. Also add code to mark statements
+ with V_MUST_DEFs as necessary.
+ (propagate_necessity): Rename occurences of vdef to v_may_def.
+ * tree-ssa-dom.c (redirect_edges_and_update_ssa_graph): Rename
+ occurences of vdef to v_may_def. Also add code to mark operands
+ in V_MUST_DEFs for renaming.
+ (eliminate_redundant_computations): Rename occurences of vdef
+ to v_may_def.
+ (record_equivalences_from_stmt): Rename occurences of vdef
+ to v_may_def. Also add code to record VUSEs for V_MUST_DEFs.
+ (optimize_stmt): Remove unnesessary variable vdefs. Update
+ comment.
+ (register_definitions_for_stmt): Rename occurences of vdef
+ to v_may_def. Also add code to register definitions made with
+ V_MUST_DEFs.
+ * tree-ssa-dse.c (fix_stmt_vdefs): Replace with...
+ (fix_stmt_v_may_defs): This.
+ (fix_phi_uses): Rename occurences of vdef to v_may_def.
+ (dse_optimize_stmt): Ditto.
+ * tree-ssa-live.c (create_ssa_var_map): Rename occurences of vdef
+ to v_may_def. Also add code to mark V_MUST_DEF operands as being
+ used in virtual operators.
+ * tree-ssa-loop.c (mark_defs_for_rewrite): Rename occurences of
+ vdef to v_may_def. Also add code to mark V_MUST_DEF operands for
+ renaming.
+ * tree-ssa-operands.c (opf_kill_def): New flag for killing
+ definitions.
+ (build_vdefs): Renamed to...
+ (build_v_may_defs): This.
+ (build_v_must_defs): New variable.
+ (voperands_d): Add v_must_def_ops and replace vdef_ops with
+ v_may_def_ops.
+ (append_vdef): Replace with...
+ (append_v_may_def): This.
+ (append_v_must_def): New function.
+ (NUM_FREE): Increment for V_MUST_DEF
+ (optype_freelist): Increment its size for V_MUST_DEF
+ (allocate_vdef_optype): Replace with...
+ (allocate_v_may_def_optype): This.
+ (allocate_v_must_def_optype): New function.
+ (free_vdefs): Replace with...
+ (free_v_may_defs): This.
+ (free_v_must_defs): New function.
+ (remove_vdefs): Replace with...
+ (remove_v_may_defs): This.
+ (remove_v_must_defs): New function.
+ (init_ssa_operands): Rename occurences of vdef to v_may_def. Also
+ add code to initialize build_v_must_defs.
+ (finalize_ssa_vdefs): Replace with...
+ (finalize_ssa_v_may_defs): This.
+ (finalize_ssa_vuses): Rename occurences of vdef to v_may_def.
+ (finalize_ssa_v_must_defs): New function.
+ (finalize_ssa_stmt_operands): Replace call to finalize_ssa_vdefs
+ with calls to finalize_ssa_v_may_defs and finalize_ssa_v_must_defs.
+ (verify_start_operands): Rename occurences of vdef to v_may_def.
+ Also add check for build_v_must_defs.
+ (get_stmt_operands): Rename occurences of vdef to v_may_def.
+ Also add code to handle V_MUST_DEFs and to use opf_kill_def for
+ killing definitions.
+ (get_expr_operands): Update comment and use opf_kill_def for
+ killing definitions.
+ (add_stmt_operand): Replace code that appends VDEFs with code
+ that appends V_MUST_DEFs when opf_kill_def is set and V_MAY_DEFs
+ otherwise.
+ (add_call_clobber_ops): Update comments.
+ * tree-ssa-operands.h (vdef_optype_d): Replace with...
+ (v_may_def_optype_d): This.
+ (v_must_def_optype_d): New structure.
+ (VDEF_OPS): Replace with...
+ (V_MAY_DEF_OPS): This.
+ (STMT_VDEF_OPS): Same with...
+ (STMT_V_MAY_DEF_OPS): This.
+ (NUM_VDEFS): And...
+ (NUM_V_MAY_DEFS): This.
+ (VDEF_RESULT_PTR): As well as...
+ (V_MAY_DEF_RESULT_PTR): This.
+ (VDEF_RESULT): Same goes for...
+ (V_MAY_DEF_RESULT): This.
+ (VDEF_OP_PTR): And...
+ (V_MAY_DEF_OP_PTR): This.
+ (VDEF_OP): And...
+ (V_MAY_DEF_OP): This.
+ (V_MUST_DEF_OPS): New macro.
+ (STMT_V_MUST_DEF_OPS): Ditto.
+ (NUM_V_MUST_DEFS): Ditto.
+ (V_MUST_DEF_OP_PTR): Ditto.
+ (V_MUST_DEF_OP): Ditto.
+ (remove_vdefs): Replace signature with...
+ (remove_v_may_defs): This.
+ (remove_v_must_defs): New function signature.
+ * tree-ssa-pre.c (subst_phis): Replace call to remove_vdefs
+ with calls to remove_v_may_defs and remove_v_must_defs.
+ (process_left_occs_and_kills): Rename occurences of vdef to v_may_def.
+ Also add code that marks left occurences of operands in V_MUST_DEFs.
+ * tree-tailcall.c (find_tail_calls): Rename occurences of vdef
+ to v_may_def. Also add check for V_MUST_DEFs.
+ (eliminate_tail_call):Rename occurences of vdef to v_may_def.
+
+2004-06-10 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/15653
+ * haifa-sched.c (schedule_block): Finish cycle after issuing asm
+ insn.
+
+2004-06-10 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR web/15263
+ * doc/install.texi: Remove superfluous linebreak.
+
+2004-06-10 Roger Sayle <roger@eyesopen.com>
+
+ * builtins.c (expand_builtin): Fall back to library function call for
+ conj, conjf, conjl, creal, crealf, creall, cimag, cimagf and cimagl.
+ (fold_builtin_1): Lower built-ins BUILT_IN_CONJ{,F,L} to CONJ_EXPR,
+ BUILT_IN_CREAL{,F,L} to REALPART_EXPR, and BUILT_IN_CIMAG{,F,L} to
+ IMAGPART_EXPR respectively.
+
+2004-06-10 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * sh.c (dump_table): New argument start. Changed caller.
+ (fixup_mova): New function.
+ (find_barrier): Use it.
+ (sh_reorg): Likewise. Check for CODE_FOR_casesi_worker_2.
+ If the label a mova refers to is above the mova itself, change
+ the mova into a load.
+ * sh.md (*casesi_worker): Rename to:
+ (casesi_worker_1).
+ (casesi_worker_2): New insn.
+
+2004-06-10 Jason Merrill <jason@redhat.com>
+
+ * target.h (struct gcc_target): Change gimplify_va_arg_expr
+ hook signature.
+ * tree-gimple.h: Adjust.
+ * config/alpha/alpha.c (alpha_gimplify_va_arg): Adjust.
+ * config/i386/i386.c (ix86_gimplify_va_arg): Adjust.
+ Use fold_convert.
+ * config/ia64/ia64.c (ia64_gimplify_va_arg): Adjust.
+ * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Adjust.
+ Use COMPLEX_EXPR for complex numbers. Use fold_convert.
+ * builtins.c (std_gimplify_va_arg_expr): Adjust. Use fold_convert.
+ (gimplify_va_arg_expr): Return GS_ERROR in error case.
+ Gimplify valist rather than calling stabilize_va_list.
+
+2004-06-10 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * Makefile.in (df.o): Remove fibheap dependency.
+ * df.h: Do not include sbitmap.h.
+ (struct ref): New field "data".
+ (DF_REF_DATA): New accessor macro.
+ (struct df): Field "dom" removed.
+ (df_analyze_subcfg): New function.
+ (transfer_function_sbitmap, transfer_function_bitmap): Replaced by ...
+ (transfer_function): ... new type.
+ (iterative_dataflow_sbitmap, iterative_dataflow_bitmap): Replaced by ...
+ (iterative_dataflow): ... new function.
+ (enum set_representation, struct dataflow): New.
+ * df.c: Do not include fibheap.h.
+
+ (df_reg_def_chain_clean, df_reg_use_chain_clean,
+ (df_bb_table_realloc, df_analyse_subcfg, free_reg_ref_chain,
+ prune_to_subcfg, df_bb_modify): New functions.
+ (df_bitmaps_alloc, df_reg_def_chain_create, df_reg_use_chain_create,
+ df_refs_update, df_reg_table_realloc, df_ref_create,
+ df_bb_reg_def_chain_create, df_bb_reg_use_chain_create,
+ df_bb_rd_local_compute, df_bb_ru_local_compute, df_bb_lr_local_compute,
+ df_analyse_1, df_insn_modify): Support analysing only a part of the cfg.
+
+ (dataflow_set_a_op_b, dataflow_set_copy): New functions.
+ (df_rd_transfer_function, df_ru_transfer_function,
+ df_lr_transfer_function): Type of bitmaps changed to void *.
+ (hybrid_search_bitmap, hybrid_search_sbitmap): Merge into ...
+ (hybrid_search): ... new function.
+ (iterative_dataflow_bitmap, iterative_dataflow_sbitmap): Merge into ...
+ (iterative_dataflow): ... new function. Avoid use of fibheaps for
+ a worklist. Do not process basic blocks unnecessarily.
+
+2004-06-10 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (fold_abs_const): Make extern.
+ * tree.h (fold_abs_const): Prototype here.
+ * builtins.c (fold_builtin_fabs): New function to transform
+ fabs, fabsf and fabsl builtins into ABS_EXPR tree nodes.
+ (fold_builtin_abs): New function to transform abs, labs, llabs
+ and imaxabs builtins into ABS_EXPR tree nodes.
+ (expand_builtin): Fall back to a function call for abs, labs,
+ llabs and imaxabs builtins that survive constant folding.
+ (fold_builtin_1): Call fold_builtin_fabs for FABS, FABSF and
+ FABSL, and fold_builtin_abs for ABS, LABS, LLABS and IMAXABS.
+
+2004-06-10 Jakub Jelinek <jakub@redhat.com>
+
+ * config/ia64/unwind-ia64.c (uw_frame_state_for): Don't assume a
+ leaf function without unwind info at RP 0.
+
+2004-06-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/14791
+ * tree.h (enum tree_index): Add TI_FILEPTR_TYPE.
+ (fileptr_type_node): Define.
+ * tree.c (build_common_tree_nodes_2): Initialize
+ fileptr_type_node to ptr_type_node.
+ * c-common.c (c_common_nodes_and_builtins): For C++, make
+ fileptr_type_node a distinct type copy.
+ * builtin-types.def (BT_FILEPTR, BT_FN_INT_CONST_STRING_FILEPTR,
+ BT_FN_INT_INT_FILEPTR, BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG,
+ BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR,
+ BT_FN_INT_FILEPTR_CONST_STRING_VAR): Add.
+ (BT_FN_INT_CONST_STRING_PTR, BT_FN_INT_INT_PTR,
+ BT_FN_SIZE_CONST_PTR_SIZE_SIZE_PTR, BT_FN_INT_PTR_CONST_STRING_VAR,
+ BT_FN_INT_PTR_CONST_STRING_VALIST_ARG): Remove.
+ * builtins.def (BUILT_IN_FPRINTF, BUILT_IN_FPRINTF_UNLOCKED,
+ BUILT_IN_FPUTC, BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS,
+ BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FSCANF, BUILT_IN_FWRITE,
+ BUILT_IN_FWRITE_UNLOCKED, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): Use
+ the above *FILEPTR* types instead of *PTR*.
+
+2004-06-09 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-ssa.c (verify_ssa): Verify that vdefs/makes_aliased_stores
+ match.
+
+2004-06-09 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (fold_not_const): New function.
+ (fold) <ABS_EXPR>: Don't bother testing wins.
+ (fold) <BIT_NOT_EXPR>: Call fold_not_const.
+ (nondestructive_fold_unary_to_constant) <BIT_NOT_EXPR>: Likewise.
+
2004-06-09 Richard Henderson <rth@redhat.com>
-
- PR middle-end/15228
- * function.c (assign_parms): Always set_mem_align with the computed
- FUNCTION_ARG_BOUNDARY. Don't clear stack_parm if !STRICT_ALIGNMENT.
+
+ PR middle-end/15228
+ * function.c (assign_parms): Always set_mem_align with the computed
+ FUNCTION_ARG_BOUNDARY. Don't clear stack_parm if !STRICT_ALIGNMENT.
2004-06-09 Richard Henderson <rth@redhat.com>
* tree-gimple.h: Declare new fns.
* config/i386/i386.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
(ix86_gimplify_va_arg): New fn.
- * config/i386/ia64.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
+ * config/ia64/ia64.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
(ia64_gimplify_va_arg): New fn.
- * config/i386/rs6000.c (rs6000_gimplify_va_arg): New fn.
+ * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): New fn.
(TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
- * config/i386/sparc.c (sparc_gimplify_va_arg): New fn.
* alias.c (get_varargs_alias_set): Just return 0 for now.
-
+
* c-objc-common.c (c_tree_printer): Improve handling of %T.
2004-06-09 Andrew Pinski <pinskia@physics.uc.edu>
(sched_analyze): When the previous basic block ended in a CALL_INSN,
initialize in_post_call_group_p as post_call_initial.
(init_deps): initialize in_post_call_group_p to not_post_call.
-
+
2004-06-09 Arnaud Charlet <charlet@act-europe.fr>
PR ada/6637
* gimple-low.c (struct lower_data): Replace the_return_label and
one_return_stmt with return_statements.
(lower_function_body): Process the entire list of return_statements.
- (lower_return_expr): Check source value before unifying return_exprs.
+ (lower_return_expr): Check source value before unifying return_exprs.
* gimplify.c (gimplify_return_expr): Force the use of a temporary
for !aggregate_value_p.
* tree-gimple.c: Update RETURN_EXPR grammer.
2004-06-01 Nicola Pero <nicola@brainstorm.co.uk>
- PR objc/7993
+ PR objc/7993
* objc-act.c (is_private): Do not emit the 'instance variable %s
is declared private' error.
(is_public): Emit the error after calling is_private.