+2005-05-13 Josh Conner <jconner@apple.com>
+
+ * arm.c (arm_return_in_memory): Add handling for vector return types.
+
+2005-05-13 David Ung <davidu@mips.com>
+
+ * config/mips/mips.h (processor_type): Add new PROCESSOR_4KP
+ name.
+ * config/mips/mips.c: Add 4km alias.
+ * config/mips/mips.md: Add 4kp to cpu attrib and include 4k.md.
+ * config/mips/4k.md: New file, add 4Kc/4Kp DFA pipeline
+ description.
+
+2005-05-13 Jan Hubicka <jh@suse.cz>
+
+ * c-decl.c (finish_function): Suppress "control reaches end of
+ non-void function" when "no return statement in function
+ returning non-void" is issued.
+
+ * tree-inline.c (copy_body_r): Simplify substituted ADDR_EXPRs.
+ * tree-optimize.c (pass_gimple): Kill.
+ (init_tree_optimization_passes): Kill pass_gimple.
+ * tree-cfg.c (build_tree_cfg): Do verify_stmts to check that we are gimple.
+ * tree-dump.c (dump_files): Rename .generic to .gimple.*
+
+2005-05-13 J"orn Rennecke <joern.rennecke@st.com>
+
+ PR rtl-optimization/20756:
+ * basic-block.h (PROP_DEAD_INSN): Define.
+ * flow.c (propagate_one_insn): Set during mark_set_regs call
+ for a dead insn.
+ (mark_set_1): Emit a clobber when we are about to delete a dead insn
+ that kills a live register.
+
+2005-05-13 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.md: ("DBL"): New mode attribute.
+ ("*movmem_long_64", "*movmem_long_31"): Merge to "*movmem_long".
+ ("*clrmem_long_64", "*clrmem_long_31"): Merge to "*clrmem_long".
+ ("*cmpmem_long_64", "*cmpmem_long_31"): Merge to "*cmpmem_long".
+
+2005-05-13 Richard Guenther <rguenth@gcc.gnu.org>
+
+ * c-format.c (check_format_arg): Handle string literals of
+ the form &"string"[offset].
+
+ * g++.dg/warn/format4.C: New testcase.
+
+2005-05-13 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/mips/3000.md, config/mips/4000.md,
+ config/mips/4100.md, config/mips/4300.md, config/mips/4600.md,
+ config/mips/5000.md, config/mips/7000.md, config/mips/9000.md,
+ config/mips/generic.md, config/pdp11/pdp11.md,
+ config/sh/crt1.asm, config/sh/lib1funcs.asm,
+ config/sh/sh-modes.def, config/sh/sh-protos.h,
+ config/sh/shmedia.md, config/sh/ushmedia.h: Update copyright.
+
+2005-05-13 Richard Henderson <rth@redhat.com>
+
+ * function.c (instantiate_virtual_regs_in_insn): Do not simplify
+ addition to move unless dest is a register. Do not skip
+ instantiation in dest on addition simplification.
+
+2005-05-13 Hans-Peter Nilsson <hp@axis.com>
+
+ * config/cris/cris.c (cris_print_operand) <case 'H'; case
+ CONST_INT>: Use operand_subword and HOST_WIDE_INT_PRINT_DEC for
+ output; don't have special case for HOST_BITS_PER_WIDE_INT == 32.
+
+2005-05-13 Jan Hubicka <jh@suse.cz>
+
+ * basic-block.h (FOR_ALL_BB_FN): New macro.
+ (init_flow): Initialize cfg structure.
+ * function.c (allocate_struct_function): Do not initialize cfg structure.
+ * tree-cfg.c (init_empty_tree_cfg): Break out from ...
+ (build_tree_cfg): ... here.
+ * tree-flow.h (init_empty_tree_cfg): Declare.
+
+2005-05-12 Steven Bosscher <stevenb@suse.de>
+
+ Fix PR tree-optimization/21520
+ * tree-ssa-pre.c (phi_translate): Use fully_constant_expression
+ to attempt to fold constants.
+
+2005-05-12 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c: Declare the prototype of sh_adjust_unroll_max
+ only when TARGET_ADJUST_UNROLL_MAX is defined.
+ (general_movsrc_operand): Use the C style comment.
+ (ua_offset): Use prototype.
+
+2005-05-12 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-ssa-loop-im.c (struct mem_ref): Add field "next".
+ (struct hmr_data, hoist_memory_reference, memref_del,
+ struct fmrv_data): Removed.
+ (hoist_memory_references, free_mem_ref, free_mem_refs): New functions.
+ (gather_mem_refs, gather_mem_refs_stmt): Add new references to the
+ list.
+ (find_more_ref_vops): Traverse the list of memory references.
+ (determine_lsm_loop): Work with the list of memory references instead
+ of traversing the hashtable.
+
+2005-05-12 Steven Bosscher <stevenb@suse.de>
+ Stuart Hastings <stuart@apple.com>
+ Jan Hubicka <jh@suse.cz>
+
+ * except.c (duplicate_eh_region_1, duplicate_eh_region_2,
+ duplicate_eh_regions): New functions, based on old
+ implementation removed with RTL inliner.
+ (reachable_next_level): Modify behaviour pre-inline.
+ * except.h (duplicate_eh_regions_map, duplicate_eh_regions):
+ Declare.
+ * function.h (struct function): Add after_inlining flag.
+ * tree-optimize.c (tree_rest_of_compilation): Set it.
+ * tree-eh.c (add_stmt_to_eh_region_fn): Initialize hashtable
+ when needed.
+ * tree-cfg.c (label_to_block_fn): Deal with cases where
+ label was never insterted into code.
+
+2005-05-12 Zack Weinberg <zack@codesourcery.com>
+
+ * doc/cpp.texi: Document that #sccs is a synonym for #ident.
+
+2005-05-12 Daniel Berlin <dberlin@dberlin.org>
+
+ Fix PR tree-optimization/21532
+ * tree-ssa-pre.c (create_expression_by_pieces): stmt
+ needs to go onto the inserted_exprs list.
+
+2005-05-12 Ian Lance Taylor <ian@airs.com>
+
+ * c-common.h (statement_code_p): Don't declare.
+ (STATEMENT_CODE_P): Don't define.
+ (INIT_STATEMENT_CODES): Don't define.
+ * c-common.c (statement_code_p): Don't define.
+
+2005-05-12 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * config/sparc/sparc.h: Remove dead code.
+ * config/sparc/sparc.c (sparc_compute_frame_size): Use
+ FIRST_PARM_OFFSET for the size of the register window area.
+ (emit_save_regs): Rename into emit_save_or_restore_regs.
+ Add 'action' parameter. Use 4095 as upper bound for the offset.
+ Pass 'action' to save_or_restore_regs.
+ (emit_restore_regs): Delete.
+ (sparc_expand_prologue): Call emit_save_or_restore_regs.
+ (sparc_expand_epilogue): Likewise.
+ * config/sparc/sparc.md (mode macro P): Move.
+ (movdi_insn_sp32_v9, movdi_insn_sp32): Swap.
+ (mov<V32:mode> expander): Move to the top of the V32 section.
+ (movdf_insn_sp32_v9_no_fpu, movdf_insn_sp32_v9): Swap.
+ (movtf_insn_sp64_hq, movtf_insn_sp64): Swap.
+ (sibcall_epilogue): Move.
+
+2005-05-12 Richard Earnshaw <richard.earnshaw@arm.com>
+
+ PR target/21501
+ * arm.c (arm_gen_constant): Sign-extend intermediate values when
+ synthesizing a constant of the difference of two immediates.
+
+2005-05-12 Richard Earnshaw <richard.earnshaw@arm.com>
+
+ * arm/vfp.md (negsf2_vfp): Add alternative using integer registers.
+ (negdf2_vfp): Likewise. Convert to define_insn_and_split and split
+ the alternatives using integer registers into the appropriate
+ primitives.
+
+2005-05-11 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ * bitmap.c (bitmap_elmt_to_freelist, bitmap_element_allocate,
+ bitmap_elt_clear_from, bitmap_clear): Changed freelist structure.
+ * bitmap.h: Fixed comments.
+
+2005-05-11 Richard Henderson <rth@redhat.com>
+
+ PR target/21412
+ * config/ia64/ia64.c (TARGET_CANNOT_FORCE_CONST_MEM): New.
+ (ia64_cannot_force_const_mem): New.
+ (tls_symbolic_operand_type): New.
+ (ia64_legitimate_constant_p): New.
+ (ia64_expand_load_address): Return true on success. Improve
+ checks for when we should not split.
+ (ia64_expand_tls_address): New addend operand. Distribute it
+ as appropriate to the tls_kind. Delay referencing gp.
+ (ia64_expand_move): Split symbolic addend as necessary. Handle
+ tls symbols with addends.
+ * config/ia64/ia64-protos.h: Update.
+ * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): False for r0,
+ p0, f0, f1, and r13.
+ (LEGITIMATE_CONSTANT_P): Move to ia64_legitimate_constant_p.
+ * config/ia64/ia64.md (UNSPEC_DTPMOD): New.
+ (symbolic_operand splitter): Pass everything through
+ ia64_expand_load_address and FAIL or DONE as appropriate.
+ (load_fptr): Only accept after reload.
+ (load_fptr_internal1, gprel64_offset, load_gprel64, load_symptr_high,
+ load_symptr_low, load_ltoff_dtpmod,
+ (load_dtpmod): New.
+ (load_dtprel): Only accept tls symbols.
+ (load_dtprel64, load_dtprel22): Likewise.
+ (load_tprel, load_tprel64, load_tprel22): Likewise.
+ (load_dtprel_gd, load_ltoff_dtprel, load_tprel_ie): New.
+ (add_dtprel): Only accept tls symbols. Canonicalize PLUS.
+ (add_dtprel14, add_dtprel22): Likewise.
+ (add_tprel, add_tprel14, add_tprel22): Likewise.
+ * config/ia64/predicates.md (small_addr_symbolic_operand): New.
+ (any_offset_symbol_operand, aligned_offset_symbol_operand): New.
+ (got_symbolic_operand): Check CONST offsets.
+ (tls_symbolic_operand, ld_tls_symbolic_operand): New.
+ (ie_tls_symbolic_operand, le_tls_symbolic_operand): New.
+ (move_operand): Don't handle tls here. Check CONST offsets.
+
+2005-05-11 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/7000.md (rm7_impy_si_mult): Just match imul and imadd.
+ Remove hilo_operand check.
+ (rm7_impy_si_mul): Just match imul3. Remove hilo_operand check.
+ * config/mips/predicates.md (hilo_operand): Delete.
+
+2005-05-11 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/sr71k.md, config/mips/7000.md: Reformat.
+
+2005-05-11 Kazu Hirata <kazu@cs.umass.edu>
+
+ PR tree-optimizer/18472
+ * tree-if-conv.c (tree_if_convert_stmt,
+ if_convertible_modify_expr_p): Don't handle GOTO_EXPR.
+
+2005-05-11 Jan Hubicka <jh@suse.cz>
+
+ * Makefile.in (tree-eh.o: Kill gt-tree-eh.h dependency.
+ (GTFILES): add except.h.
+ * except.c (eh_status): Add throw_stmt_table.
+ (set_eh_throw_stmt_table, get_eh_throw_stmt_table): New functions.
+ * except.h (add_stmt_to_eh_region_fn, remove_stmt_from_eh_region_fn,
+ lookup_stmt_eh_region_fn): Declare.
+ (throw_stmt_node): New structure.
+ (set_eh_throw_stmt_table, get_eh_throw_stmt_table): New.
+ * gengtype.c (open_base_files): Add except.h to inlines.
+ * tree-eh.c (throw_stmt_node): Kill.
+ (record_stmt_eh_region): Update.
+ (add_stmt_to_eh_region_fn): Break out from ...
+ (add_stmt_to_eh_region): ... here.
+ (remove_stmt_from_eh_region_fn): Break out from ...
+ (remove_stmt_from_eh_region): ... here.
+ (lookup_stmt_eh_region_fn): Break out from ...
+ (lookup_stmt_eh_region): ... here.
+ (honor_protect_cleanup_actions): Use build_resx.
+ (lower_try_finally_onedest): Likewise.
+ (lower_try_finally_copy): Likewise.
+ (lower_try_finally_switch): Likewise.
+ (lower_eh_constructs): Update eh table construction.
+ * tree.c (build_resx): New.
+ * tree.h (build_resx): Declare.
+
+2005-05-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * libgcov.c (gcov_exit): Set prefix_length to 0 if no relocation
+ is needed.
+
+2005-05-11 Kazu Hirata <kazu@cs.umass.edu>
+
+ * fold-const.c, libgcov.c: Fix comment typos.
+
+ * tree-ssa-forwprop.c (forward_propagate_into_cond_1): Remove
+ redundant code.
+
+2005-05-11 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * config/arm/linux-elf.h (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
+ * config/arm/arm.h (SUBTARGET_FRAME_POINTER_REQUIRED): Provide
+ default definition.
+ (FRAME_POINTER_REQUIRED): Use SUBTARGET_FRAME_POINTER_REQUIRED.
+
+2005-05-11 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR bootstrap/21481
+ * crtstuff.c: Include auto-host.h again, for now.
+
+2005-05-11 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/24k.md: Remove trailing whitespace.
+
+2005-05-11 David Ung <davidu@mips.com>
+
+ * config/mips/mips.md (type): Add imul3.
+ (length, hazard, may_clobber_hilo): Check for imul3.
+ (mulsi3_mult3, muldi3_mult3, *muls, <su>mulsi3_highpart_mulhi_internal)
+ (*<su>mulsi3_highpart_neg_mulhi_internal): Set attr to imul3.
+ * config/mips/24k.md (r24k_int_mul3): Enable this reservation
+ for a 3 operand mul and its bypasses.
+ * config/mips/3000.md (r3k_imul): Add imul3 to reservations.
+ * config/mips/4000.md (r4k_imul): Likewise.
+ * config/mips/4100.md (r4100_imul_si, r4100_imul_di): Likewise.
+ * config/mips/4130.md (vr4130_class, vr4130_mulsi)
+ (vr4130_muldi): Likewise.
+ * config/mips/4300.md (r4300_imul_si, r4300_imul_di): Likewise.
+ * config/mips/4600.md (r4600_imul, r4650_imul): Likewise.
+ * config/mips/5000.md (r5k_imul_si, r5k_imul_di): Likewise.
+ * config/mips/5400.md (ir_vr54_imul_si, ir_vr54_imul_di)
+ (ir_vr54_imadd_si): Likewise.
+ * config/mips/5500.md (ir_vr55_imul_si, ir_vr55_imul_di): Likewise.
+ * config/mips/7000.md (rm7_impy_si_mult, rm7_impy_si_mul)
+ (rm7_impy_di): Likewise.
+ * config/mips/9000.md (rm9k_mulsi, rm9k_muldi): Likewise.
+ * config/mips/generic.md (generic_imul): Likewise.
+ * config/mips/sb1.md (ir_sb1_mulsi, ir_sb1_muldi): Likewise.
+ * config/mips/sr71k.md (ir_sr70_imul_si, ir_sr70_imul_di): Likewise.
+
+2005-05-11 J"orn Rennecke <joern.rennecke@st.com>
+
+ PR middle-end/20371:
+ * tree.h (record_layout_info_s): New member prev_packed.
+ * stor-layout.c (update_alignment_for_field): Fix comment about
+ KNOWN_ALIGN. For MS bitfields, if we start a new run, make sure
+ we start it properly aligned.
+ (place_field): At the beginning of a record, pass 0 as KNOWN_ALIGN
+ to update_alignment_for_field, and recompute it afterwards using
+ the alignment of the record.
+ When a packed bitfield precedes an MS bitfield, don't add padding
+ at the end of the packed bitfield on behalf of the base type of
+ the packed bit field.
+ Don't adjust rli->bitpos at the end
+ of an MS bitfield run if we already adjusted bitpos/offset for an
+ alignment as large or larger than the bitfield type size.
+ Take possible record alignment > BIGGEST_ALIGNMENT into account
+ when calculating actual_align.
+ Only put packed buit fields into rli->prev_field if they end up
+ suitably aligned.
+ Also set rli->remaining_in_alignment when we re-set rli->prev_field.
+ Update rli->remaining_in_alignment when we have already started a
+ run of bit fields and we process a packed bit field.
+
+2005-05-11 Sebastian Pop <pop@cri.ensmp.fr>
+
+ * tree-data-ref.c (find_data_references_in_loop): Give up when
+ the body of the loop contains a CALL_EXPR or an ASM_EXPR: they
+ may embed arbitrary side effects.
+ Remove the assumption that GIMPLE form contains a single array
+ access per statement.
+ When the statement contains virtual operands, fail if it is not
+ a MODIFY_EXPR or a CALL_EXPR.
+ Return after the dont know node is inserted.
+
+2005-05-11 Richard Earnshaw <richard.earnshaw@arm.com>
+
+ * arm.md (negsf2, negdf2): Permit these expands when compiling for VFP.
+
+2005-05-11 Richard Guenther <rguenth@gcc.gnu.org>
+
+ PR middle-end/19807
+ PR tree-optimization/19639
+ * fold-const.c (try_move_mult_to_index): Handle INTEGER_CST
+ and generic summands for char* as s * delta, too, folding &a[i]
+ CODE x to &a[i CODE x/s]. Use tree_int_cst_equal
+ for comparison of steps. Convert types for index addition.
+ (fold_binary): Adjust the callers to always dispatch to
+ try_move_mult_to_index.
+ * tree-ssa-propagate.c (set_rhs): Avoid setting rhs to
+ expr with non-gimple ARRAY_REF offset.
+
+2005-05-11 Richard Guenther <rguenth@gcc.gnu.org>
+
+ * fold-const.c (fold_indirect_ref_1): Avoid removing
+ NOP_EXPRs with type qualifiers like const.
+
+2005-05-11 Richard Henderson <rth@redhat.com>
+
+ PR c/21502
+ * c-decl.c (finish_decl): Propagate the completed array type of
+ a global variable into the binding.
+
+2005-05-10 Matt Kraai <kraai@ftbfs.org>
+
+ * Makefile.in (gtype-desc.o, build/genautomata.o)
+ (build/varray.o): Depend on $(VARRAY_H).
+
+2005-05-10 Diego Novillo <dnovillo@redhat.com>
+
+ * tree-optimize.c (init_tree_optimization_passes): Re-organize
+ optimization passes to do an initial batch of scalar cleanups.
+
+2005-05-10 Ian Lance Taylor <ian@airs.com>
+
+ * read-rtl.c (struct macro_traverse_data): Define.
+ (map_attr_string): New static function, broken out of
+ apply_macro_to_string.
+ (mode_attr_index, apply_mode_maps): New static functions.
+ (apply_macro_to_string): Call map_attr_string.
+ (apply_macro_to_rtx): Add mode_maps and infile parameters. Change
+ all callers.
+ (apply_macro_traverse): Expect data to point to a struct
+ macro_traverse_data.
+ (read_rtx): Add mode_maps local variable. Use mode_traverse_data
+ to pass data through htab_traverse.
+ (read_rtx_1): Add mode_maps parameter. Change all callers.
+ Handle mode names which are attribute strings.
+ * doc/md.texi (Substitutions): Rename from String Substitutions.
+ Change references. Document using attributes as modes.
+
+2005-05-10 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-cfg.c (tree_duplicate_sese_region): Update profile.
+ * tree-optimize.c (init_tree_optimization_passes) Swap
+ pass_ch and pass_profile.
+ * tree-ssa-loop-ch.c (copy_loop_headers): Do not update profile
+ here. Remove rewrite_into_loop_closed_ssa call.
+
+2005-05-10 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.c: (s390_const_double_ok_for_constraint_p): New
+ function.
+ (legitimate_reload_constant_p): Add check for const double zero.
+ * config/s390/s390.md: Add comment for constraint letter 'G'.
+ ("*movdf_64", "*movdf_31", "movsf"): Add constraint and proper
+ attributes for new case.
+ * config/s390/s390.h: (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Define it as
+ s390_const_double_ok_for_constraint_p.
+ * config/s390/s390-protos.h (s390_const_double_ok_for_constraint_p):
+ Add prototype.
+
+2005-05-10 Kazu Hirata <kazu@cs.umass.edu>
+
+ PR tree-optimization/21170
+ * tree-ssa-dom.c, tree-ssa-threadupdate.c: Replace
+ rewrite_ssa_into_ssa in comments with update_ssa.
+
+2005-05-10 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-ssa-loop-im.c: Include hashtab.h.
+ (struct mem_ref_loc): New.
+ (struct mem_ref): Describe the set of references with the same
+ shape.
+ (max_stmt_uid, get_stmt_uid, record_mem_ref, free_mem_refs,
+ maybe_queue_var, fem_single_reachable_address,
+ for_each_memref, single_reachable_address,
+ is_call_clobbered_ref, determine_lsm_reg): Removed.
+ (record_mem_ref_loc, free_mem_ref_locs, determine_lsm_ref,
+ hoist_memory_reference, memref_hash, memref_eq, memref_del,
+ gather_mem_refs_stmt, gather_mem_refs, find_more_ref_vops):
+ New functions.
+ (rewrite_mem_refs, schedule_sm): Use mem_ref_loc list.
+ (determine_lsm_loop): Rewritten.
+ (determine_lsm): Do not set stmt uids.
+
+2005-05-10 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.md: Add comment lines for 'f' and 't' constraint
+ letters.
+
+2005-05-10 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.md: ("anddi3","andsi3","andhi3","andqi3"): Merge.
+ ("iordi3", "iorsi3", "iorhi3", "iorqi3"): Merge.
+ ("xordi3", "xorsi3", "xorhi3", "xorqi3"): Merge.
+
+2005-05-10 Jeff Law <law@redhat.com>
+
+ * tree-ssa-dom.c (dom_opt_finalize_block): Do not call
+ thread_across_edge for any abnormal edges.
+
+2005-05-10 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/ia64.c (ia64_expand_atomic_op): New.
+ * config/ia64/ia64-protos.h: Declare it.
+ * config/ia64/sync.md (I124MODE, FETCHOP, fetchop_name): New.
+ (sync_add<I48MODE>, sync_old_add<I48MODE>): Remove.
+ (sync_<FETCHOP><IMODE>, sync_nand<IMODE>): New.
+ (sync_old_<FETCHOP><IMODE>, sync_old_nand<IMODE>): New.
+ (sync_new_<FETCHOP><IMODE>, sync_new_nand<IMODE>): New.
+ (cmpxchg_rel_<I124MODE>): Split from cmpxchg_acq_<IMODE>. Zero
+ extend result; use release semantics.
+ (cmpxchg_rel_di): Rename from cmpxchg_acq_<IMODE>; use release.
+ (sync_val_compare_and_swap_<IMODE>): Update to match.
+
+2005-05-10 Richard Henderson <rth@redhat.com>
+
+ * optabs.c (expand_compare_and_swap_loop): Don't clobber old value
+ before comparing it for success.
+
+2005-05-10 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/sync.md (sync_add<I48MODE>): Fix arguments for
+ no return value pattern.
+
+2005-05-10 Grigory Zagorodnev <grigory.zagorodnev@intel.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ * libgcov.c (create_file_directory): New function. Create
+ directory for the given file name.
+ (gcov_max_filename): New static var. Keeps size of the longest
+ file name.
+ (gcov_exit): Always try to create directory for output
+ file. Relocate each filename basing on environment vars.
+ (__gcov_init): Remember the longest file name.
+ * tsystem.h: include filenames.h to get IS_DIR_SEPARATOR
+ * doc/gcov.texi (Cross-profiling): New node documenting
+ cross-profiling management.
+ * doc/invoke.texi (-fprofile-arcs): Add xref to cross-profiling.
+
+2005-05-10 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * config/sparc/sparc.c (mem_min_alignment): Do not rely
+ on MEM_ALIGN if TARGET_UNALIGNED_DOUBLES.
+
+2005-05-10 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/lib1funcs.asm (__udivsi3, __divsi3): Rearrange special
+ case code to avoid one move instruction.
+ (__umodsi3, __modsi3): Merge duplicated code sequences.
+
+2005-05-10 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/mips/24k.md, config/sh/divtab.c, config/sh/sh.c,
+ config/sh/sh.md, config/sh/superh.h: Fix comment typos.
+ * doc/invoke.texi: Fix typos.
+
+ * tree-data-ref.c (analyze_array_indexes, analyze_array,
+ init_data_ref, access_functions_are_affine_or_constant_p,
+ free_data_refs): Use VEC instead of VARRAY.
+ * tree-data-ref.h (data_reference): Change the type of
+ access_fns to VEC(tree,gc)*.
+ (DR_ACCESS_FN, DR_NUM_DIMENSIONS): Use VEC instead of VARRAY.
+
+2005-05-10 Gabor Loki <loki@gcc.gnu.org>
+
+ PR c/17913
+ * c-typeck.c (build_conditional_expr): Remove reducing cond_expr.
+ * fold-const.c (fold): Expand the condition of reducing cond_expr.
+ (contains_label_1, contains_label_p): New functions for checking
+ labels in a sub-tree.
+
+2005-05-10 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR c/21342
+ * c-decl.c (pushdecl): When there is a declaration in the current
+ scope and the declarations are external linkage, check for
+ compatibility with the type in the external scope and update the
+ type in the external scope with the composite type information.
+ Do not form a composite type of the new type and the visible type
+ if they are incompatible.
+
+2005-05-10 Nathan Sidwell <nathan@codesourcery.com>
+
+ * crtstuff.c: Revert part of 2005-05-08 Change.
+ (IN_LIBGCC2): Define.
+
+2005-05-10 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * config/sparc/sparc.c (fp_sethi_p): Test !SPARC_SIMM13_P and
+ remove redundant test.
+ (fp_mov_p): Accept 0.
+ (fp_high_losum_p): Remove redundant test.
+ * config/sparc/predicates.md (const_high_operand): Explicitly test
+ (not small_int_operand).
+ (fp_const_high_losum_operand): New.
+ * config/sparc/sparc.md (movsi_insn): Do not emit 'clr'. Reorder.
+ (movdi_insn_sp32_v9): Use canonical predicates.
+ (movdi_insn_sp32): Test !TARGET_V9 instead of !TARGET_ARCH64.
+ (movdi_insn_sp64_novis): Delete.
+ (movdi_insn_sp64_vis): Rename into movdi_insn_sp64.
+ (movsf_insn_novis): Delete.
+ (movsf_insn_vis): Rename into movsf_insn.
+ (movsf_no_f_insn): Rename into movsf_insn_no_fpu.
+ (movsf_lo_sum): Use fp_const_high_losum_operand.
+ (movsf_high): Likewise.
+ (movsf_high_losum splitter): Likewise.
+ (mov<V32:mode> expander): Use register_or_zero_operand.
+ (mov<V64:mode> expander): Likewise.
+ (movdf_insn_sp32): Use register_or_zero_operand.
+ (movdf_no_e_insn_sp32): Use register_or_zero_operand.
+ Rename into movdf_insn_sp32_no_fpu.
+ (movdf_no_e_insn_v9_sp32): Use register_or_zero_operand.
+ Rename into movdf_insn_sp32_v9_no_fpu.
+ (movdf_insn_v9only_novis): Delete.
+ (movdf_insn_v9only_vis): Rename into movdf_insn_sp32_v9.
+ (movdf_insn_sp64_novis): Delete.
+ (movdf_insn_sp64_vis): Rename into movdf_insn_sp64.
+ (movdf_no_e_insn_sp64): Use register_or_zero_operand.
+ Rename into movdf_insn_sp64_no_fpu.
+ (movtf expander): Use register_or_zero_operand.
+ (movtf_insn_sp32): Delete.
+ (movtf_insn_vis_sp32): Use register_or_zero_operand.
+ Rename into movtf_insn_sp32.
+ (movtf_no_e_insn_sp32): Use register_or_zero_operand.
+ Rename into movtf_insn_sp32_no_fpu.
+ (movtf_insn_hq_sp64): Delete.
+ (movtf_insn_hq_vis_sp64): Use register_or_zero_operand.
+ Rename into movtf_insn_sp64_hq.
+ (movtf_insn_sp64): Delete.
+ (movtf_insn_vis_sp64): Use register_or_zero_operand.
+ Rename into movtf_insn_sp64.
+ (movtf_no_e_insn_sp64): Use register_or_zero_operand.
+ Rename into movtf_insn_sp64_no_fpu.
+
+2005-05-10 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/stormy16/stormy16.c (xstormy16_emit_cbranch): Use
+ gcc_assert and gcc_unreachable as appropriate.
+ (xstormy16_split_cbranch, xstormy16_output_cbranch_hi,
+ xstormy16_output_cbranch_si, xstormy16_split_move,
+ xstormy16_initial_elimination_offset,
+ xstormy16_encode_section_info, xstormy16_print_operand_address,
+ xstormy16_expand_call, xstormy16_expand_arith,
+ xstormy16_output_shift, xstormy16_init_builtins): Likewise.
+
+2005-05-10 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-outof-ssa.c (_elim_graph): Change the type of nodes and
+ const_copies to VEC(tree,heap)*.
+ (new_elim_graph, delete_elim_graph, elim_graph_size,
+ elim_graph_add_node, eliminate_build, eliminate_phi): Use VEC
+ instead of VARRAY.
+
+2005-05-10 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR other/21052
+ * doc/extend.texi (Type Attributes): Correct example syntax.
+
+2005-05-09 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR c/21160
+ * doc/invoke.texi (-Wuninitialized): Update documentation.
+
+2005-05-09 Richard Earnshaw <richard.earnshaw@arm.com>
+
+ * arm.c (const_ok_for_arm): Use a faster algorithm.
+
+2005-05-09 David Edelsohn <edelsohn@gnu.org>
+
+ PR target/21477
+ * config/rs6000/rs6000.md (add_op2): New.
+ (add<mode>3): Use it.
+
+2005-05-09 Richard Earnshaw <richard.earnshaw@arm.com>
+
+ * arm.c (arm_gen_constant): Add new heuristic for generating
+ constant integers that can be expressed as the difference of two
+ valid immediates.
+
+2005-05-09 Roger Sayle <roger@eyesopen.com>
+
+ * c-tree.h (parser_build_unary_op): New prototype.
+ * c-typeck.c (parser_build_unary_op): New function to construct
+ a unary operation in the C parser.
+ * c-parser.c (c_parser_unary_expression): Use the new function
+ parser_build_unary_op when appropriate.
+
+2005-05-09 Mark Mitchell <mark@codesourcery.com>
+
+ PR 18655
+ * dwarf2out.c (output_call_frame_info): Use DWARF2_FRAME_REG_OUT
+ before outputting DWARF_FRAME_RETURN_COLUMN.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.c: (s390_branch_condition_mask,
+ s390_branch_condition_mnemonic, s390_extra_constraint_str,
+ s390_const_ok_for_constraint_p, s390_expand_plus_operand,
+ legitimize_pic_address, s390_emit_tls_call_insn,
+ legitimize_tls_address, legitimize_tls_address,
+ s390_expand_addcc, print_shift_count_operand, print_operand,
+ addr_generation_dependency_p, annotate_constant_pool_refs,
+ s390_split_branches, find_constant_pool_ref,
+ replace_constant_pool_ref, s390_add_constant, s390_find_constant,
+ s390_find_execute, s390_mainpool_start, s390_chunkify_start,
+ s390_output_pool_entry, s390_function_value,
+ s390_call_saved_register_used, s390_emit_call): Replace
+ conditional aborts by gcc_assert and unconditional by gcc_unreachable.
+ (s390_select_ccmode, s390_match_ccmode_set, s390_extract_part,
+ s390_cannot_force_const_mem, s390_output_dwarf_dtprel,
+ get_some_local_dynamic_name, s390_function_arg_size,
+ s390_function_arg_advance, s390_function_arg,
+ s390_expand_builtin, s390_gen_rtx_const_DI): Replace abort in
+ default case by gcc_unreachable.
+ * config/s390/s390.md: ("*cjump_31", "*icjump_31", "*jump31"): Replace
+ conditional abort by gcc_assert.
+ ("doloop_si31"): Replace abort in last else by gcc_unreachable.
+ ("main_pool", "pool"): Replace unconditional abort by gcc_unreachable.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.c: (s390_decompose_address,
+ tls_symbolic_operand, legitimate_pic_operand_p,
+ legitimate_constant_p, legitimate_reload_constant_p,
+ s390_expand_plus_operand, legitimate_address_p,
+ legitimate_la_operand_p, ): Remove 'register' from signature.
+ (symbolic_reference_mentioned_p,
+ tls_symbolic_reference_mentioned_p): Remove 'register' from local
+ variable declarations.
+ (legitimize_address): Remove 'register' from
+ signature and local variable declarations.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390-protos.h: (s390_match_ccmode,
+ s390_match_ccmode_set, reg_used_in_mem_p,
+ symbolic_reference_mentioned_p, tls_symbolic_reference_mentioned_p,
+ legitimate_la_operand_p, preferred_la_operand_p,
+ s390_short_displacement, addr_generation_dependency_p,
+ legitimate_reload_constant_p, legitimate_address_p): Change return type
+ into 'bool'.
+ (s390_tm_ccmode): Change type of parameter "mixed" into 'bool'.
+ * config/s390/s390.c: (s390_match_ccmode,
+ symbolic_reference_mentioned_p, tls_symbolic_reference_mentioned_p,
+ legitimate_reload_constant_p): Change return type into 'bool'.
+ (preferred_la_operand_p,legitimate_la_operand_p, legitimate_address_p):
+ Likewise. Additionally adapted comment.
+ (s390_extra_constraint_p): Change Comment to reflect 'int' return type.
+ (s390_tm_ccmode): Change type of parameter "mixed" into 'bool'.
+ (s390_decompose_address): Change the type of the internal flags
+ "pointer", "base_ptr", "indx_ptr", and the return value into 'bool'.
+ (struct s390_address): Change type of "pointer" into bool.
+ * config/s390/s390.md: ("*tmdi_reg", "*tmsi_reg", "tm<mode>_full"):
+ Adapt calls for 's390_tm_ccmode' to the new signature.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.c: (s390_match_ccmode_set,
+ s390_branch_condition_mnemonic, s390_short_displacement,
+ s390_decompose_address, get_thread_pointer, legitimize_tls_address,
+ print_shift_count_operand, get_some_local_dynamic_name,
+ get_some_local_dynamic_name_1, reg_used_in_mem_p,
+ addr_generation_dependency_p, s390_split_branches,
+ annotate_constant_pool_refs, find_constant_pool_ref,
+ replace_constant_pool_ref, find_ltrel_base, replace_ltrel_base,
+ s390_optimize_prologue, find_unused_clobbered_reg, s390_frame_area,
+ s390_register_info, s390_frame_info, s390_init_frame_layout,
+ s390_update_frame_layout, save_fpr, restore_fpr, save_gprs,
+ restore_gprs, s390_function_arg_size, s390_function_arg_float,
+ s390_init_machine_status, s390_assemble_integer, s390_handle_option,
+ s390_encode_section_info, s390_cannot_force_const_mem,
+ s390_delegitimize_address, s390_return_in_memory, s390_init_builtins,
+ s390_expand_builtin, s390_output_mi_thunk, s390_safe_attr_type,
+ s390_adjust_priority, s390_issue_rate,
+ s390_first_cycle_multipass_dfa_lookahead, s390_cannot_copy_insn_p,
+ s390_rtx_costs, s390_address_cost, s390_reorg, s390_valid_pointer_mode,
+ s390_build_builtin_va_list, s390_gimplify_va_arg,
+ s390_function_ok_for_sibcall, s390_call_saved_register_used,
+ s390_pass_by_reference, s390_fixed_condition_code_regs,
+ s390_cc_modes_compatible s390_mainpool_start,, s390_mainpool_finish,
+ s390_mainpool_cancel, s390_chunkify_start, s390_chunkify_finish,
+ s390_chunkify_cancel, s390_start_pool, s390_end_pool,
+ s390_add_pool_insn, s390_find_pool, s390_add_constant,
+ s390_find_constant, s390_add_execute, s390_find_execute,
+ s390_execute_label, s390_execute_target, s390_dump_pool,
+ s390_dump_execute, s390_alloc_pool, s390_free_pool): Remove prototypes.
+ Move target macro definitions to the end of the file. Move several
+ functions within the file to assure correct compiling.
+
+2005-05-09 Steven Bosscher <stevenb@suse.de>
+
+ * calls.c (purge_reg_equiv_notes): Remove, fold into...
+ (fixup_tail_calls): ...here. Only look at insns between the
+ start of the function and the FUNCTION_BEG insn note.
+
+ * gcse.c (one_cprop_pass): Fix typos in dumps.
+
+ * tree-ssa-operands.h (FOR_EACH_PHI_ARG): Fix typos.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.h: Move xxx_REGNUM definitions to s390.md.
+ * config/s390/s390.md: ("SIBCALL_REGNUM", "BASE_REGNUM",
+ "RETURN_REGNUM", "CC_REGNUM", "TP_REGNUM"): New constants.
+ Replace every occurrence of '(reg:<MODE> 33)' by '(reg:<MODE>
+ CC_REGNUM)'.
+ ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): Replace
+ '(reg:<MODE> 36)' by '(reg:<MODE> TP_REGNUM)'.
+ ("*sibcall_br", "*sibcall_value_br"): Replace '(reg:DI 1)' by '(reg:DI
+ REG_SC)'.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.md: ("gf") New mode attribute.
+ ("fixuns_truncdfdi2", "fixuns_truncdfsi2", "fixuns_truncsfdi2",
+ "fixuns_truncsfsi2"): Merge.
+ ("fix_truncdfdi2", "fix_truncsfdi2"): Merge.
+ ("fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee", "fix_truncsfdi2_ieee",
+ "fix_truncsfsi2_ieee"): Merge.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.md: ("FPR") New mode macro.
+ ("de", "dee"): New mode attributes.
+ ("cmpdf", "cmpsf"): Merge.
+ ("*cmpdf_ccs_0", "*cmpsf_ccs_0"): Merge.
+ ("*cmpdf_ccs_0_ibm", "*cmpdf_ccs_0_ibm"): Merge.
+ ("*cmpdf_ccs", "*cmpsf_ccs"): Merge.
+ ("*cmpdf_ccs_ibm", "*cmpsf_ccs_ibm"): Merge.
+ ("floatdidf2", "floatdisf2"): Merge.
+ ("adddf3", "addsf3"): Merge.
+ ("*adddf3", "*addsf3"): Merge.
+ ("*adddf3_cc", "*addsf3_cc"): Merge.
+ ("*adddf3_cconly", "*addsf3_cconly"): Merge.
+ ("*adddf3_ibm", "*addsf3_ibm"): Merge.
+ ("subdf3", "subsf3"): Merge.
+ ("*subdf3", "*subsf3"): Merge.
+ ("*subdf3_cc", "*subsf3_cc"): Merge.
+ ("*subdf3_cconly", "*subsf3_cconly"): Merge.
+ ("*subdf3_ibm", "*subsf3_ibm"): Merge.
+ ("muldf3", "mulsf3"): Merge.
+ ("*muldf3", "*mulsf3" "): Merge.
+ ("*muldf3_ibm", "*mulsf3_ibm"): Merge.
+ ("*fmadddf", "*fmaddsf"): Merge.
+ ("*fmsubdf", "*fmsubsf"): Merge.
+ ("divdf3", "divsf3"): Merge.
+ ("*divdf3", "*divsf3"): Merge.
+ ("*divdf3_ibm", "*divsf3_ibm"): Merge.
+ ("negdf2", "negsf2"): Merge.
+ ("*negdf2_cc", "*negsf2_cc"): Merge.
+ ("*negdf2_cconly", "*negsf2_cconly"): Merge.
+ ("*negdf2", "*negsf2"): Merge.
+ ("*negdf2_ibm", "*negsf2_ibm"): Merge.
+ ("absdf2", "abssf2"): Merge.
+ ("*absdf2_cc", "*abssf2_cc"): Merge.
+ ("*absdf2_cconly", "*abssf2_cconly"): Merge.
+ ("*absdf2", "*abssf2"): Merge.
+ ("*absdf2_ibm", "*abssf2_ibm"): Merge.
+ ("*negabsdf2_cc", "*negabssf2_cc"): Merge.
+ ("*negabsdf2_cconly", "*negabssf2_cconly"): Merge.
+ ("*negabsdf2", "*negabssf2"): Merge.
+ ("sqrtdf2", "sqrtsf2"): Merge.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.c: (s390_adjust_priority): Adapt to changed
+ attribute names.
+ * config/s390/2084.md: ("x_fsimpd", "x_fsimps", "x_fdivd", "x_fdivs",
+ "x_floadd", "x_floads", "x_fstored", "x_fstores"): Rename to
+ ("x_fsimpdf", "x_fsimpsf", "x_fdivdf", "x_fdivsf", "x_floaddf",
+ "x_floadsf", "x_fstoredf", "x_fstoresf") and replace 'type'
+ attribute names.
+ * config/s390/s390.md: ("type"): Rename "fsimpd, fsimps, floadd, floads,
+ fstored, fstores, fmuld, fmuls, fdivd, fdivs, fsqrtd, fsqrts" to
+ "fsimpdf, fsimpsf, floaddf, floadsf, fstoredf, fstoresf, fmuldf,
+ fmulsf, fdivdf, fdivsf, fsqrtdf, fsqrtsf".
+ ("*cmpdf_ccs_0", "*cmpdf_css_0_ibm", "*cmpdf_ccs",
+ "*cmpdf_ccs_ibm", "*cmpsf_ccs_0", "*cmpsf_css_0_ibm",
+ "*cmpsf_ccs", "*cmpsf_ccs_ibm", "*movdi_64", "*movdi_31",
+ "*movsi_zarch", "*movsi_esa", "*movdf_64", "*movdf_31", "movsf",
+ "*muldf3", "*muldf3_ibm", "*fmadddf", "*fmsubdf", "*mulsf3",
+ "mulsf3_ibm", "*fmaddsf", "fmsubsf", "*divdf3", "*divdf3_ibm",
+ "*negdf2_cc", "*negdf2_cconly", "*negdf2", "*negdf2_ibm",
+ "*negsf2_cc", "*negsf2_cconly", "*negsf2", "*absdf2_cc",
+ "*absdf2_cconly", "*absdf2", "*absdf2_ibm", "*abssf2_cc",
+ "*abssf2_cconly", "*abssf2", "*abssf2_ibm", "*negabsdf2_cc",
+ "*negabsdf2_cconly", "*negabsdf2", "*negabssf2_cc",
+ "*negabssf2_cconly", "*negabssf2", "sqrtdf2", "sqrtsf2"): Rename
+ 'type' value.
+ ("*divsf3"): Additionally rename second pattern to
+ "*divsf3_ibm".
+ ("truncdfsf2_ibm", "extendsfdf2_ieee", "extendsfdf2_ibm",
+ "*adddf3", "*adddf3_cc", "*adddf3_cconly", "*adddf3_ibm",
+ "*addsf3", "*addsf3_cc", "*addsf3_cconly", "*subdf3",
+ "subdf3_cc", "*subdf3_cconly", "*subdf3_ibm", "*subsf3",
+ "subsf3_cc", "*subsf3_cconly", "*subsf3_ibm"): Merge identical
+ 'type values' and rename 'type' value.
+ ("*addsf3"): Additionally rename second pattern to
+ "*addsf3_ibm".
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.md: ("SHIFT"): New mode macro.
+ ("lr", "shift"): New mode attributes.
+ ("ashldi3", "lshrdi3"): Merge.
+ ("*ashldi3_31", "*lshrdi3"_31): Merge.
+ ("*ashldi3_64", "*lshrdi3"_64): Merge.
+ ("ashlsi3", "lshrsi3"): Merge.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.md: ("DSI", "SCOND"): New mode
+ macros.
+ ("E", "g"): New mode attributes.
+ ("*adddi3_alc_cc", "*addsi3_alc_cc"): Merge.
+ ("*adddi3_alc", "*addsi3_alc"): Merge.
+ ("*subdi3_slb_cc", "*subsi3_slb_cc"): Merge.
+ ("*subdi3_slb", "*subsi3_slb"): Merge.
+ ("adddicc", "addsicc"): Merge.
+ ("*sconddi", "*scondsi"): Merge.
+ ("*sconddi_neg", "*scondsi_neg"): Merge.
+ ("sltu", "sgtu", "sleu", "sgeu"): Merge.
+ ("negdi2", "negsi2"): Extract expander pattern from
+ "negsi2" and merge with "negdi2".
+ ("*negdi2"): Merge with instruction pattern of "negsi2".
+ ("*negdi2_cc", "*negsi2_cc"): Merge.
+ ("*negdi2_cconly", "*negsi2_cconly"): Merge.
+ ("rotldi3", "rotlsi3"): Merge.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.md: ("hc"): New mode attribute.
+ ("extendhidi2", "extendqidi2"): Merge.
+ ("*extendhidi2", "*extendqidi2"): Merge.
+ ("extendhisi2", "extendqisi2"): Merge.
+ ("zero_extendhidi2", "zero_extendqidi2"): Merge.
+ ("*zero_extendhidi2", "*zero_extendqidi2"): Merge.
+ Merged 2 define_split.
+ ("*zero_extendhisi2", "*zero_extendqisi2"): Merge.
+ ("*zero_extendhisi2_64", "*zero_extendqisi2_64"): Merge.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.md: ("COMPARE"): New mode macro.
+ ("beq", "bne", "bgt", "bgtu", "blt", "bltu", "bge", "bgeu",
+ "ble", "bleu", "bunordered", "bordered", "buneq", "bunlt",
+ "bungt", "bunle", "bunge", "bltgt"): Merge.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.md: ("INT"): New mode macro.
+ ("one_cmpldi2", "one_cmplsi2", "one_cmplhi2", "one_cmplqi2"):
+ Merge.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.md: ("GPR", "P"): New mode macros.
+ ("cmpdi", "cmpsi"): Merge.
+ ("strlendi", "strlensi"): Merge.
+ ("*strlendi", "*strlensi"): Merge.
+ ("movmemdi", "movmemsi"): Merge.
+ ("clrmemdi", "clrmemsi"): Merge.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.md: ("HQI"): New mode macro.
+ ("icm_lo", "icm_hi", "max_uint"): New mode attributes.
+ ("*tmhi_full", "*tmqi_full"): Merge.
+ ("*tsthiCCT", "*tstqiCCT"): Merge.
+ ("*tsthi", "*tstqi"): Merge.
+ ("*tsthi_cconly", "tstqi_cconly"): Merge.
+ ("*sethighhisi", "*sethighqisi"): Merge.
+
+2005-05-09 Kazu Hirata <kazu@cs.umass.edu>
+
+ * crtstuff.c, integrate.h, tree-scalar-evolution.h,
+ config/alpha/unicosmk.h, config/arc/arc.md,
+ config/arm/bpabi.h, config/arm/coff.h, config/arm/elf.h,
+ config/arm/ieee754-df.S, config/arm/ieee754-sf.S,
+ config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
+ config/arm/semi.h, config/arm/uclinux-elf.h,
+ config/arm/wince-pe.h, config/fr30/fr30.c,
+ config/rs6000/altivec.h: Update copyright.
+
+2005-05-09 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/pdp11/pdp11.c (pdp11_output_function_prologue): Use
+ gcc_assert and gcc_unreachable as appropriate.
+ (pdp11_output_function_epilogue, output_move_double,
+ output_move_quad, print_operand_address, output_jump,
+ output_addr_const_pdp11): Likewise.
+ * config/pdp11/pdp11.h (FUNCTION_PROFILER,
+ ASM_OUTPUT_ALIGN): Likewise.
+ * config/pdp11/pdp11.md: Likewise.
+ (extendhisi2, subhi3, subqi3): Likewise.
+
+2005-05-09 David Edelsohn <edelsohn@gnu.org>
+
+ PR middle-end/21237
+ * dojump.c (do_jump, MINUS_EXPR): Build NE_EXPR and fall through
+ to NE_EXPR case.
+
+2005-05-09 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/ia64/ia64.c: Fix a comment typo.
+
+2005-05-09 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/21397
+ * arm.c (ARM_OPT_SET_CPU, ARM_OPT_SET_ARCH, ARM_OPT_SET_TUNE): Define.
+ (arm_override_options): Use them instead of manifest constants. Don't
+ allow -march to override the -mtune setting.
+
+2005-05-09 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/iq2000/iq2000.c (abort_with_insn): Use fancy_abort.
+ (gen_int_relational): Use gcc_unreachable and gcc_assert as necessary.
+ (function_arg_advance, function_arg, save_restore_insns,
+ iq2000_expand_prologue, iq2000_output_conditional_branch,
+ expand_one_builtin, print_operand):
+ * config/iq2000/iq2000.md (tablejump): Likewise.
+
+2005-05-09 David Ung <davidu@mips.com>
+
+ * config/mips/mips.h (processor_type): Add names for the 24K.
+ * config/mips/mips.c (mips_cpu_info_table): Add names for the 24K
+ processor family.
+ * config/mips/mips.md (cnv_mode): New attribute for recording the
+ conversion types of float convert insns.
+ (cpu): Add 24k and 24kx.
+ (include): Include 24k.md file.
+ (truncdfsf2, extendsfdf2, fix_truncdfsi2_insn, fix_truncdfsi2_macro)
+ (fix_truncdfdi2, fix_truncsfdi2, floatsidf2, floatdidf2, floatsisf2)
+ (floatdisf2): Setup cnv_mode.
+ (fix_truncsfsi2_insn, fix_truncsfsi2_macro): Changed mode to SF and
+ setup cnv_mode.
+ * config/mips/24k.md: New file, contains 24k DFA pipeline
+ description.
+
+2005-05-09 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/sh/sh.c (print_operand_address): Use gcc_assert and
+ gcc_unreachable as appropriate.
+ (print_operand, prepare_move_operands, prepare_scc_operands,
+ output_movedouble, output_branch, shift_insns_rtx, gen_shifty_op,
+ gen_shl_and, shl_sext_kind, gen_datalabel_ref, dump_table,
+ fixup_mova, gen_far_branch, sh_reorg, split_branches,
+ final_prescan_insn, output_stack_adjust, sh_expand_epilogue,
+ sh_set_return_address, sh_setup_incoming_varargs,
+ initial_elimination_offset, sh_pch_valid_p, get_free_reg,
+ sh_expand_builtin, sh_output_mi_thunk, extract_sfunc_addr,
+ check_use_sfunc_addr): Likewise.
+ * config/sh/netbsd-elf.h (FUNCTION_PROFILER): Likewise.
+ * config/sh/sh.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
+ * config/sh/symbian.c (sh_symbian_mark_dllexport,
+ sh_symbian_mark_dllimport): Likewise.
+ * config/sh/sh.md: Likewise.
+ (movdicc, call_pop, call_value_pop, casesi_worker_1,
+ casesi_worker_2, casesi_shift_media, casesi_load_media,
+ return_media): Likewise.
+
+2005-05-08 Roger Sayle <roger@eyesopen.com>
+
+ PR inline-asm/8788
+ * stmt.c (expand_asm_operands): Avoid calling force_reg on BLKmode
+ operands.
+
2005-05-08 Richard Henderson <rth@redhat.com>
* config/alpha/alpha.c (adjust_address): Fix typo last change.
* libgcov.c: Remove unneeded comment about config.h.
* unwind-dw2-fde-glibc.c: Do not inlude auto-host.h.
* config.in, configure: Regenerated.
-
+
2005-05-08 Nathan Sidwell <nathan@codesourcery.com>
Falk Hueffner <falk@debian.org>
* config/m32r/m32r.h (INITIAL_ELIMINATION_OFFSET): Likewise.
* config/m32r/m32r.md ( *movsi_insn, *zero_branch_insn,
*rev_zero_branch_insn): Likewise.
-
+
2005-05-06 Jakub Jelinek <jakub@redhat.com>
PR c++/20961
* configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
* configure, config.in: Regenerate.
-
+
2005-05-04 Jakub Jelinek <jakub@redhat.com>
PR middle-end/21265
2005-05-03 Andrew MacLeod <amacleod@redhat.com>
- * lambda-code.c (gcc_loop_to_lambda_loop,
+ * lambda-code.c (gcc_loop_to_lambda_loop,
lambda_loopnest_to_gcc_loopnest, phi_loop_edge_uses_def,
stmt_is_bumper_for_loop, perfect_nest_p, replace_uses_of_x_with_y): Use
generic operand interface.
* tree-data-ref.c (find_data_references_in_loop): Use generic interface.
* tree-dfa.c (collect_dfa_stats_r, mark_new_vars_to_rename): Use
generic operand interface.
- * tree-flow-inline.h (delink_imm_use, link_imm_use_to_list,
+ * tree-flow-inline.h (delink_imm_use, link_imm_use_to_list,
link_imm_use, link_imm_use_stmt, relink_imm_use, relink_imm_use_stmt,
next_safe_imm_use, has_zero_uses, has_single_use, single_imm_use,
num_imm_uses): Use ssa_use_operand_t.
(op_iter_next_use, op_iter_next_def, op_iter_next_tree, op_iter_init,
op_iter_next_tree): Use new operand implementation.
(clear_and_done_ssa_iter): New. Initialize a blank operand iterator.
- (op_iter_init_use, op_iter_init_def, op_iter_init_tree): Add iterator
+ (op_iter_init_use, op_iter_init_def, op_iter_init_tree): Add iterator
type check.
- (op_iter_next_mustdef, op_iter_next_maydef,
+ (op_iter_next_mustdef, op_iter_next_maydef,
op_iter_next_must_and_may_def): Delete. Replace with...
(op_iter_next_maymustdef): New. Combine must and may next operations.
- (op_iter_init_maydef, op_iter_init_mustdef,
+ (op_iter_init_maydef, op_iter_init_mustdef,
op_iter_init_must_and_may_def): Use new interface.
(single_ssa_tree_operand ): New. Process single operands only as trees.
(single_ssa_use_operand): New. Process single operands only as uses.
(struct stmt_ann_d): Operands field no longer require GTY().
(vn_compute, vn_lookup_or_add, vn_add, vn_lookup): Change prototype.
* tree-into-ssa.c (mark_def_sites): Use SSA_OP_VMUSTKILL.
- * tree-outof-ssa.c (check_replaceable, find_replaceable_in_bb,
+ * tree-outof-ssa.c (check_replaceable, find_replaceable_in_bb,
dump_replaceable_exprs, rewrite_trees): Use generic interface.
- * tree-phinodes.c (make_phi_node, release_phi_node, resize_phi_node):
+ * tree-phinodes.c (make_phi_node, release_phi_node, resize_phi_node):
Use use_operand_p instead of ssa_imm_use_t *.
* tree-pretty-print.c (dump_vops): check if operands are active before
dumping virtual operands.
* tree-ssa-ccp.c (likely_value): Use ZERO_SSA_OPERANDS.
(ccp_fold): Use new interface.
(ccp_visit_stmt): Remove unused variables and code.
- (convert_to_gimple_builtin): Insert statements before calling
+ (convert_to_gimple_builtin): Insert statements before calling
mark_new_vars_to_rename.
* tree-ssa-copy.c (stmt_may_generate_copy): Use ZERO_SSA_OPERANDS.
(copy_prop_visit_cond_stmt): Use generic interface.
- * tree-ssa-dom.c (struct expr_hash_elt): Use stmt pointer, not the
+ * tree-ssa-dom.c (struct expr_hash_elt): Use stmt pointer, not the
annotation in table.
(thread_across_edge): Use generic interface.
(initialize_hash_element): Initialzie with stmt, not annotation.
(avail_expr_hash, real_avail_expr_hash, avail_expr_eq): Use generic
interface.
* tree-ssa-dse.c (dse_optimize_stmt): Use ZERO_SSA_OPERANDS.
- * tree-ssa-loop-ivopts.c (find_invariants_stmt,
- find_interesting_uses_stmt, protect_loop_closed_ssa_form_use): Use
+ * tree-ssa-loop-ivopts.c (find_invariants_stmt,
+ find_interesting_uses_stmt, protect_loop_closed_ssa_form_use): Use
generic operand interface.
* tree-ssa-loop-niter.c (chain_of_csts_start, get_val_for): Use generic
interface.
* tree-ssa-loop-unswitch.c (tree_may_unswitch_on): Use Generic operand
Interface.
* tree-ssa-operands.c (struct opbuild_list_d): New. Operand build type.
- (build_defs, build_uses, build_v_may_defs, build_vuses,
+ (build_defs, build_uses, build_v_may_defs, build_vuses,
build_v_must_defs): Change type to struct opbuild_list_d.
(ops_active): New. Operands active boolean.
(operand_memory, operand_memory_index): New. Operand memory managers.
(allocate_def_optype, allocate_use_optype, allocate_v_may_def_optype,
allocate_vuse_optype, allocate_v_must_def_optype): Delete.
- (free_uses, free_defs, free_vuses, free_v_may_defs, free_v_must_defs):
+ (free_uses, free_defs, free_vuses, free_v_may_defs, free_v_must_defs):
Change from functions to static variable list heads.
(opbuild_initialize_virtual): New. Initialize a virtual build list.
(opbuild_initialize_real): New. Initialize a virtual build list.
(ssa_operand_alloc): New. Allocate memory from an operand chunk.
(correct_use_link): Use use_operand_p.
(finalize_ssa_uses, finalize_ssa_v_may_defs, finalize_ssa_defs,
- finalize_ssa_vuses, finalize_ssa_v_must_defs): New implmentation.
+ finalize_ssa_vuses, finalize_ssa_v_must_defs): New implmentation.
(cleanup_v_may_defs): Use new implmentation.
- (finalize_ssa_stmt_operands, start_ssa_stmt_operands): New
+ (finalize_ssa_stmt_operands, start_ssa_stmt_operands): New
implementation.
- (append_def, append_use, append_v_may_def, append_vuse,
+ (append_def, append_use, append_v_may_def, append_vuse,
append_v_must_def): Call opbuild_append routine instead of using varray.
- (build_ssa_operands): Simplify to simply use stmt, don't maintain a
+ (build_ssa_operands): Simplify to simply use stmt, don't maintain a
global parse_old_ops variable.
(free_ssa_operands): New implementation.
(update_stmt_operands): Move. Change argument to build_ssa_operands.
(add_call_clobber_ops, add_call_read_ops): Initialize opbuild list
rather than a varray.
(verify_imm_links): Use use_operand_p.
- (dump_immediate_uses_for): If the immediate use variable is a virtual
+ (dump_immediate_uses_for): If the immediate use variable is a virtual
variable, show the virtual ops in the stmt.
* tree-ssa-operands.h (def_operand_p): No longer a structure.
(NULL_DEF_OPERAND_P): Now a #define.
(STMT_USE_OPS, NUM_USES, SET_USE_OP, STMT_DEF_OPS, NUM_DEFS, SET_DEF_OP,
STMT_V_MAY_DEF_OPS, NUM_V_MAY_DEFS, SET_V_MAY_DEF_RESULT,
SET_V_MAY_DEF_OP, STMT_VUSE_OPS, NUM_VUSES, SET_VUSE_OP,
- STMT_V_MUST_DEF_OPS, NUM_V_MUST_DEFS, SET_V_MUST_DEF_RESULT,
+ STMT_V_MUST_DEF_OPS, NUM_V_MUST_DEFS, SET_V_MUST_DEF_RESULT,
SET_V_MUST_DEF_KILL): Delete.
- (V_MAY_DEF_OPS, V_MAY_DEF_RESULT_PTR, V_MAY_DEF_RESULT,
+ (V_MAY_DEF_OPS, V_MAY_DEF_RESULT_PTR, V_MAY_DEF_RESULT,
V_MAY_DEF_OP_PTR, V_MAY_DEF_OP): Rename to MAYDEF_*.
- (V_MUST_DEF_OPS, V_MUST_DEF_RESULT_PTR, V_MUST_DEF_RESULT,
+ (V_MUST_DEF_OPS, V_MUST_DEF_RESULT_PTR, V_MUST_DEF_RESULT,
V_MUST_DEF_KILL_PTR, V_MUST_DEF_KILL): Rename to MUSTDEF_*.
(enum ssa_op_iter_type): Operand iterator typechecking values.
(struct ssa_operand_iterator_d): Use linked lists of operands.
(FOR_EACH_PHI_ARG): New. Iterate over PHI arguments.
(FOR_EACH_PHI_OR_STMT_USE): New. Iterate over PHI or stmt uses.
(FOR_EACH_PHI_OR_STMT_DEF): New. Iterate over PHI or stmt defs.
- (SINGLE_SSA_TREE_OPERAND, SINGLE_SSA_USE_OPERAND,
+ (SINGLE_SSA_TREE_OPERAND, SINGLE_SSA_USE_OPERAND,
SINGLE_SSA_DEF_OPERAND, ZERO_SSA_OPERANDS, NUM_SSA_OPERANDS): New.
* tree-ssa-opfinalize.h: New. Function templates for expansion.
(FINALIZE_ALLOC): Expands into alloc_def, alloc_use, alloc_maydef,
alloc_vuse, and alloc_mustdef.
- (FINALIZE_FUNC): Expands into finalize_ssa_def_ops,
+ (FINALIZE_FUNC): Expands into finalize_ssa_def_ops,
finalize_ssa_use_ops, finalize_ssa_v_may_def_ops, finalize_ssa_vuse_ops,
and finalize_ssa_v_must_def_ops.
* tree-ssa-pre.c (add_to_sets): Pass tree to vn_add.
stmt around.
(compute_avail): Use generic iterator interface.
* tree-ssa-propagate.c (first_vdef): Use generic operand interface.
- (stmt_makes_single_load, stmt_makes_single_store): Use
+ (stmt_makes_single_load, stmt_makes_single_store): Use
ZERO_SSA_OPERANDS.
* tree-ssa-sink.c (is_hidden_global_store): Use ZERO_SSA_OPERANDS.
(statement_sink_location): Use generic interface.
* tree-tailcall.c (find_tail_calls): Use ZERO_SSA_OPERANDS.
(eliminate_tail_call): Use generic operand interface.
* tree-vect-analyze.c (vect_analyze_data_refs): Use ZERO_SSA_OPERANDS.
- (vect_mark_relevant, vect_mark_stmts_to_be_vectorized): Use generic
+ (vect_mark_relevant, vect_mark_stmts_to_be_vectorized): Use generic
interface.
- * tree-vect-transform.c (update_vuses_to_preheader): Use generic
+ * tree-vect-transform.c (update_vuses_to_preheader): Use generic
interface.
* tree-vectorizer.c (rename_variables_in_bb): Use generic interface.
* tree-vn.c (struct val_expr_pair_d): Cache statment pointer instead of
vuse_optype.
- (vn_compute, val_expr_pair_hash, vn_add, vn_lookup, vn_lookup_or_add):
+ (vn_compute, val_expr_pair_hash, vn_add, vn_lookup, vn_lookup_or_add):
Use statement pointer instead of vuse_optype. Use generic interface.
* tree-vrp.c (maybe_add_assert_expr): Use generic interface.
(stmt_interesting_for_vrp, vrp_visit_stmt): Use ZERO_SSA_OPERANDS.
2005-05-02 Paolo Bonzini <bonzini@gnu.org>
- * c-common.c (resolve_overloaded_builtin): Forward to target
- hook for BUILT_IN_MD built-ins.
- * c-typeck.c (finish_call_expr): Call resolve_overloaded_builtin
- for all types of built-in.
- * target-def.h (TARGET_RESOLVE_OVERLOADED_BUILTIN): New. Use it
- in the definition of the target hooks struct.
- * target.h (struct gcc_target): Add resolve_overloaded_builtin.
- * config/rs6000/altivec.h: Rewritten.
- * config/rs6000/rs6000-c.c (struct altivec_builtin_types,
- altivec_resolve_overloaded_builtin, altivec_build_resolved_builtin,
- rs6000_builtin_type, rs6000_builtin_type_compatible,
- altivec_overloaded_builtins, rs6000_builtin_type,
- rs6000_builtin_type_compatible): New.
- * config/rs6000/rs6000.c (rs6000_builtin_types, rs6000_builtin_decls):
- New.
- (def_builtin): Turn into a function. Check for duplicates and store
- the builtin into rs6000_builtin_decls.
- (bdesc_3arg, bdesc_dst, bdesc_altivec_preds, bdesc_2arg,
- bdesc_1arg): Add overloaded builtins.
- (altivec_expand_builtin): Check for unresolved overloaded builtins,
- do not support ALTIVEC_COMPILETIME_ERROR.
- (rs6000_init_builtins): Add opaque 128-bit vector, and internal
- nodes to represent front-end types.
- (altivec_init_builtins, rs6000_common_init_builtins): Create builtins
- with opaque arguments and/or return values.
- * config/rs6000/rs6000.h (enum rs6000_builtins): Remove
- ALTIVEC_COMPILETIME_ERROR and add Altivec overloaded builtins.
- (rs6000_builtin_type_index): New.
- (is_ev64_opaque_type): Rename to...
- (rs6000_is_opaque_type): ... this.
- (rs6000_cpu_cpp_builtins): Install the resolve_overloaded_builtin
- target hook.
+ * c-common.c (resolve_overloaded_builtin): Forward to target
+ hook for BUILT_IN_MD built-ins.
+ * c-typeck.c (finish_call_expr): Call resolve_overloaded_builtin
+ for all types of built-in.
+ * target-def.h (TARGET_RESOLVE_OVERLOADED_BUILTIN): New. Use it
+ in the definition of the target hooks struct.
+ * target.h (struct gcc_target): Add resolve_overloaded_builtin.
+ * config/rs6000/altivec.h: Rewritten.
+ * config/rs6000/rs6000-c.c (struct altivec_builtin_types,
+ altivec_resolve_overloaded_builtin, altivec_build_resolved_builtin,
+ rs6000_builtin_type, rs6000_builtin_type_compatible,
+ altivec_overloaded_builtins, rs6000_builtin_type,
+ rs6000_builtin_type_compatible): New.
+ * config/rs6000/rs6000.c (rs6000_builtin_types, rs6000_builtin_decls):
+ New.
+ (def_builtin): Turn into a function. Check for duplicates and store
+ the builtin into rs6000_builtin_decls.
+ (bdesc_3arg, bdesc_dst, bdesc_altivec_preds, bdesc_2arg,
+ bdesc_1arg): Add overloaded builtins.
+ (altivec_expand_builtin): Check for unresolved overloaded builtins,
+ do not support ALTIVEC_COMPILETIME_ERROR.
+ (rs6000_init_builtins): Add opaque 128-bit vector, and internal
+ nodes to represent front-end types.
+ (altivec_init_builtins, rs6000_common_init_builtins): Create builtins
+ with opaque arguments and/or return values.
+ * config/rs6000/rs6000.h (enum rs6000_builtins): Remove
+ ALTIVEC_COMPILETIME_ERROR and add Altivec overloaded builtins.
+ (rs6000_builtin_type_index): New.
+ (is_ev64_opaque_type): Rename to...
+ (rs6000_is_opaque_type): ... this.
+ (rs6000_cpu_cpp_builtins): Install the resolve_overloaded_builtin
+ target hook.
2005-05-02 Kazu Hirata <kazu@cs.umass.edu>
PR tree-optimization/21272
PR tree-optimization/21266
* tree-if-conv.c (find_phi_replacement_condition): Fix think-o.
-
+
2005-04-29 Kazu Hirata <kazu@cs.umass.edu>
* tree-flow-inline.h: Fix a comment typo.
* config/arm/elf.h (TARGET_ASM_CONSTRUCTOR): Define.
(SUPPORTS_INIT_PRIORITY): Evaluate to false for EABI based targets.
* doc/tm.texi (INIT_ARRAY_SECTION_ASM_OP): Document.
- (FINI_ARRAY_SECTION_ASM_OP): Likewise.
+ (FINI_ARRAY_SECTION_ASM_OP): Likewise.
2005-04-29 Nathan Sidwell <nathan@codesourcery.com>
* dbxout.c (have_used_extensions): Remove.
(dbxout_type_fileds, dbxout_type, dbxout_symbol): Remove use of
have_used_extensions.
-
+
2005-04-28 James E Wilson <wilson@specifixinc.com>
* doc/install.texi: Update -enable-languages info. Correct path to
2005-04-27 Caroline Tice <ctice@apple.com>
- * bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
+ * bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
Remove targetm.have_named_sections test.
(fix_edges_for_rarely_executed_code): Likewise.
(insert_section_boundary_note): Likewise.
(default_section_type_flags_1): Get cold text section name from
function struct if there is one; Set flags correctly for
cold text section if there is not a current function struct.
-
+
2005-04-27 Richard Guenther <rguenth@gcc.gnu.org>
* tree-ssa-propagate.c (set_rhs): Revert last change.
* rtl.h (optimize_save_area_alloca): Likewise...
* passes.c (rest_of_compilation): and don't call it any more.
* reg-notes.def (SAVE_AREA): Delete.
-
+
2005-04-27 Nathan Sidwell <nathan@codesourcery.com>
* config/fp-bit.c (abort): Add noreturn attribute.
* dbxout.c (dbxout_type): Check use_gnu_debug_info_extensions.
2005-04-27 Matt Thomas <matt@3am-software.com>
- Jan-Benedict Glaw <jbglaw@microdata-pos.de>
+ Jan-Benedict Glaw <jbglaw@microdata-pos.de>
* config/vax/vax.c (vax_rtx_costs): Whitespace cleanup.
(vax_output_mi_thunk): Ditto.
* config/vax/vax.c (legitimate_constant_address_p): New. Formerly
CONSTANT_ADDRESS_P in config/vax/vax.h
- (legitimate_constant_p): Added. Formerly CONSTANT_P in vax.h.
+ (legitimate_constant_p): Added. Formerly CONSTANT_P in vax.h.
(INDEX_REGISTER_P): New.
(BASE_REGISTER_P): New.
(indirectable_constant_address_p): New. Adapted from
2005-04-25 Devang Patel <dpatel@apple.com>
* dbxout.c (dbxout_type): Emit attribute vector.
-
+
2005-04-05 Paul Brook <paul@codesourcery.com>
* target-def.h (TARGET_CXX_USE_AEABI_ATEXIT): Define.
2005-04-24 Devang Patel <dpatel@apple.com>
* config/rs6000/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): New.
-
+
2005-04-24 Ian Lance Taylor <ian@airs.com>
* c-semantics.c (build_stmt): Remove test of specific tree codes
config/stormy16/stormy16.c, config/v850/v850-c.c,
config/v850/v850.c, config/xtensa/xtensa.c: Adjust warning()
callers.
-
+
2005-04-23 Richard Henderson <rth@redhat.com>
PR rtl-opt/21102
* builtins.c (gimplify_va_arg_expr): Reword comments to avoid
'abort'. Use gcc_assert and gcc_unreachable as appropriate.
- * c-format.c (get_constant, decode_format_attr, get_flag_spec,
+ * c-format.c (get_constant, decode_format_attr, get_flag_spec,
find_char_info_specifier_index,
find_length_info_modifier_index): Likewise.
* c-typeck.c (composite_type, pop_init_level): Likewise.
final.c (this_is_asm_operands, shorten_branches, final_scan_insn,
output_operand): Likewise
flow.c (recompute_reg_usage): Likewise
- * function.c (assign_stack_temp_for_type, assign_temp,
+ * function.c (assign_stack_temp_for_type, assign_temp,
handle_epilogue_set): Likewise
* genextract.c (main): Likewise
* gimplify.c (mostly_copy_tree_r, gimplify_return_expr,
vectors.
(gcc_loop_to_lambda_loop, gcc_loopnest_to_lambda_loopnest,
lbv_to_gcc_expression, lle_to_gcc_expression,
- lambda_loopnest_to_gcc_loopnest, can_convert_to_perfect_nest,
+ lambda_loopnest_to_gcc_loopnest, can_convert_to_perfect_nest,
perfect_nestify): Likewise.
lambda.h (gcc_loopnest_to_lambda_loopnest,
lambda_loopnest_to_gcc_loopnest): Likewise.
cgraph_mark_inline_edge, cgraph_default_inline_p): Declare.
* cgraphunit.c (cgraph_default_inline_p,
cgraph_decide_inlining_incrementally, ncalls_inlined,
- nfunctions_inlined, initial_insns, overall_insns,
+ nfunctions_inlined, initial_insns, overall_insns,
cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
cgraph_mark_inline, cgraph_check_inline_limits,
* tree.h: Likewise.
* vec.h: Likewise.
* tree-flow-inline.h (relink_imm_use): Use gcc_assert.
-
+
* optabs.c (prepare_cmp_insn, emit_cmp_and_jump_insns): Reword
comments to avoid 'abort'. Use gcc_assert as necessary.
* opts.c (common_handle_option): Likewise.
* regmove.c (try_auto_increment): Likewise.
* reload.c (find_valid_class, find_reloads_toplev,
find_equiv_reg): Likewise.
- * reload1.c (reload, forget_old_reloads_1, function_invariant_p,
+ * reload1.c (reload, forget_old_reloads_1, function_invariant_p,
merge_assigned_reloads): Likewise.
* tree-inline.c (inline_forbidden_p_1,
estimate_num_insns_1): Likewise.
get_indirect_ref_operands, create_ssa_artficial_load_stmt): Likewise.
* tree-ssa-pre.c (find_or_generate_expression): Likewise.
* tree-ssanames.c (release_ssa_name): Likewise.
- * tree.c (int_bit_position, int_byte_position, tree_low_cst,
+ * tree.c (int_bit_position, int_byte_position, tree_low_cst,
walk_tree): Likewise.
* tree-ssa-operands.c (verify_abort): Fold into ..
* tree-if-conv.c (find_phi_replacement_condition): Avoid generating
x = !(a == b) : p , q;.
(pass_if_conversion): Verify stmts and flow.
-
+
2005-04-21 Nathan Sidwell <nathan@codesourcery.com>
* optabs.c (gen_conditional_trap): Restore #define.
(push_macro_expansion): Chain on new macro. Process multiple
args, create follow on expansion. Return follow on argument.
(macro_input): Deal with multiple arguments.
-
+
* tree.h: Define VEC(tree,heap) and VEC(tree,gc).
(struct tree_binfo): Adjust.
* basic-block.h: Define VEC(edge,gc).
lookup_avail_expr, record_range): Likewise.
* tree-ssa-pre.c: Define VEC(basic_block,heap).
(compute_antic_aux): Adjust.
- (inserted_exprs, create_expression_by_pieces,
- insert_into_preds_of_block, eliminate, mark_operand_necessary,
+ (inserted_exprs, create_expression_by_pieces,
+ insert_into_preds_of_block, eliminate, mark_operand_necessary,
remove_dead_inserted_code, fini_pre): Likewise.
* tree-ssa-propagate.c (interesting_ssa_edges): Adjust.
- (varying_ssa_edges, add_ssa_edge, process_ssa_edge_worklist.
+ (varying_ssa_edges, add_ssa_edge, process_ssa_edge_worklist.
ssa_prop_init): Likewise.
* tree-ssa.c: Define VEC(bitmap,heap).
(verify_name_tags): Adjust.
* varasm.c: Remove alias_pair pointer typedef, define
VEC(alias_pair,gc).
(finish_aliases_1, finish_aliases_2, assemble_alias): Adjust.
-
+
* config/pa/pa.c (typedef extern_symbol): Typedef the structure,
not a pointer to it. Create an object vector.
(extern_symbols): Turn into an object vector.
2005-04-19 Paul Brook <paul@codesourcery.com>
- * config/arm/arm.c (arm_init_libfuncs): Clear mod optabs.
+ * config/arm/arm.c (arm_init_libfuncs): Clear mod optabs.
2005-04-19 Andrew Haley <aph@redhat.com>
2005-04-18 Devang Patel <dpatel@apple.com>
* config/rs6000/atlivec.md (mulv4si3): New pattern.
-
+
2005-04-18 James A. Morrison <phython@gcc.gnu.org>
PR tree-optimization/20922