+2005-04-14 Julian Brown <julian@codesourcery.com>
+
+ * Revert elfos.h part of my patch from 2005-04-13 for causing libstdc++
+ link failures on ppc64 Linux.
+
+2005-04-14 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * config.gcc: Set cpu_type for s390.
+
+2005-04-14 Daniel Berlin <dberlin@dberlin.org>
+
+ Fix PR tree-optimization/20963
+ * tree-ssa-pre.c (compute_avail): Remove special case for
+ TREE_INVARIANT.
+ (create_expression_by_pieces): Add value numbers for forced out
+ statements.
+
+2005-04-14 Hans-Peter Nilsson <hp@axis.com>
+
+ * config/cris/cris.md: Replace references to (reg:SI 16) with
+ (reg:SI CRIS_SRP_REGNUM).
+
+2005-04-14 Kazu Hirata <kazu@cs.umass.edu>
+
+ PR tree-optimization/20657
+ * tree-vrp.c (extract_range_from_expr): Notice INTEGER_CST to
+ create an appropriate range from it.
+
+2005-04-14 Uros Bizjak <uros@kss-loka.si>
+
+ * reg-stack.c (subst_stack_regs_pat): Handle <UNSPEC_FIST_FLOOR> and
+ <UNSPEC_FIST_CEIL> case.
+
+ * config/i386/i386.md (UNSPEC_FIST_FLOOR, UNSPEC_FIST_CEIL): New.
+ (*fist<mode>2_floor_1, fistdi2_floor, fistdi2_floor_with_temp)
+ (fist<mode>2_floor, fist<mode>2_floor_with_temp): New isns patterns
+ to implement lfloor and llfloor built-ins as x87 intrinsic function.
+ (fistdi2_floor, fist<mode>2_floor splitters): New splitters.
+ (lfloor<mode>2): New expanders.
+ (*fist<mode>2_ceil_1, fistdi2_ceil, fistdi2_ceil_with_temp)
+ (fist<mode>2_ceil, fist<mode>2_ceil_with_temp): New isns patterns
+ to implement lceil and llceil built-ins as x87 intrinsic function.
+ (fistdi2_ceil, fist<mode>2_ceil splitters): New splitters.
+ (lceil<mode>2): New expanders.
+
+2005-04-14 Uros Bizjak <uros@kss-loka.si>
+
+ * convert.c (convert_to_integer): Convert (long int)trunc{,f,l},
+ and (long long int)ceil{,f,l} into FIX_TRUNC_EXPR.
+
+2005-04-14 Ulrich Weigand <uweigand@de.ibm.com>
+
+ PR target/20927
+ * config/s390/s390-modes.def: Define TFmode.
+
+2005-04-13 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.h (ASM_OUTPUT_CASE_LABEL): Delete.
+ (JUMP_TABLES_IN_TEXT_SECTION): Define.
+ * config/mips/mips.c (mips16_insn_length): Remove reference to
+ JUMP_TABLES_IN_TEXT_SECTION.
+
+2005-04-13 Fariborz Jahanian <fjahanian@apple.com>
+
+ * simplify-rtx.c (simplify_binary_operation_1): Return
+ scalar or vector of constant 0, depending on the xor's
+ mode.
+
+2005-04-13 Dale Johannesen <dalej@apple.com>
+
+ * objc/Make-lang.in (objc-lang.o): Depend on tree-gimple.h.
+ (objc-act.o): Ditto.
+ * objc/objc-act.c (objc_gimplify_expr): New.
+ (objc_get_callee_fndecl): New.
+ * objc/objc-act.h: Include tree-gimple.h. Declare new functions.
+ * objc/objc-lang.c (LANG_HOOKS_GIMPLIFY_EXPR): Define.
+ (LANG_HOOKS_GET_CALLEE_FNDECL): Define.
+
+2005-04-13 Devang Patel <dpatel@apple.com>
+
+ * tree-if-conv.c (tree_if_convert_cond_expr): Do not create extra
+ temp variables.
+
+2005-04-13 Hans-Peter Nilsson <hp@axis.com>
+
+ CRIS prologue as RTL.
+ * config/cris/cris-protos.h (cris_emit_movem_store)
+ (cris_expand_prologue): Prototype.
+ * config/cris/cris.c (struct machine_function): New member
+ stdarg_regs.
+ (cfa_label_num, cris_target_asm_function_prologue): Remove.
+ (TARGET_ASM_FUNCTION_PROLOGUE): Don't override.
+ (cris_general_operand_or_gotless_symbol): Accept CRIS_UNSPEC_GOT.
+ (cris_load_multiple_op, cris_return_address_on_stack)
+ (cris_return_address_on_stack_for_return): ISO-Cify.
+ (cris_store_multiple_op): New predicate function.
+ (cris_expand_prologue, cris_emit_movem_store): New functions.
+ (cris_print_operand) <case 'O'>: Handle modifications other than
+ post-increment.
+ (cris_symbol, cris_got_symbol): Return 0 for CRIS_UNSPEC_GOT.
+ (cris_gotless_symbol): Return 1 for CRIS_UNSPEC_GOT.
+ (cris_gen_movem_load): Rearrange slightly to make local variable
+ src a parameter, removing osrc.
+ (cris_setup_incoming_varargs): Set machine_function member
+ stdarg_regs to correspond to the number of registers that need to
+ be saved.
+ * config/cris/cris.h (EXTRA_CONSTRAINT_S): Accept
+ CRIS_UNSPEC_GOT.
+ (PREDICATE_CODES): Add cris_store_multiple_op. Make
+ cris_general_operand_or_gotless_symbol accept UNSPEC.
+ * config/cris/cris.md (CRIS_UNSPEC_GOT): New constant.
+ ("*movsi_internal") <alternative 8>: Handle CRIS_UNSPEC_GOT.
+ ("*cris_store_multiple"): New pattern. Tweak common comment above
+ this and "*cris_load_multiple".
+ ("prologue"): New define_expand.
+
+ * config/cris/cris.md ("epilogue"): Conditionalize on
+ TARGET_PROLOGUE_EPILOGUE.
+
+2005-04-13 Steve Ellcey <sje@cup.hp.com>
+
+ PR target/20924
+ * config/ia64/ia64.md (divsf3_internal_lat): Generate frcpa with
+ fpsr 0 instead of fpsr 1.
+ (divsf3_internal_thr): Ditto.
+ (divdf3_internal_lat): Ditto.
+ (divdf3_internal_thr): Ditto.
+ (divxf3_internal_lat): Ditto.
+ (divxf3_internal_thr): Ditto.
+
+2005-04-13 Kazu Hirata <kazu@cs.umass.edu>
+
+ PR tree-optimization/20913
+ * tree-ssa-copy.c (copy_prop_visit_cond_stmt): Fold COND_EXPR.
+
+ PR tree-optimization/20702
+ * tree-vrp.c (maybe_add_assert_expr): Recurse into
+ dominator children that haven't been walked into.
+
+2005-04-13 Julian Brown <julian@codesourcery.com>
+
+ * config/elfos.h (MAKE_DECL_ONE_ONLY): Redefined to stop DECL_WEAK from
+ being used for symbols with vague linkage when HAVE_GAS_COMDAT_GROUP
+ is true.
+
+2005-04-13 Kazu Hirata <kazu@cs.umass.edu>
+
+ * basic-block.h, tree-ssa-uncprop.c, varasm.c,
+ config/i386/sse.md: Fix comment typos.
+
+ * genattrtab.c (NULL_ATTR): Remove.
+ * ifcvt.c (NULL_EDGE): Likewise.
+
+ * rtl.h (RTX_EXPR_FIRST, RTX_EXPR_LAST): Remove.
+
+ * rtl.h (NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS,
+ NOTE_PREDICT): Remove.
+
+2005-04-13 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * configure.ac (gcc_AC_CHECK_DECLS): Add vsnprintf.
+ * configure: Regenerate.
+ * config.in: Likewise.
+ * system.h: Declare vsnprintf if not already declared.
+
+2005-04-13 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * optc-gen.awk: Handle stand-alone Mask records.
+ * opth-gen.awk: Likewise.
+ * doc/options.texi (Option file format): Document them.
+ * config.gcc (sparc-*-netbsdelf*, sparc-*-linux*, sparc64-*-freebsd*,
+ sparc64-*-linux*, sparc64-*-netbsd*): Add long-double-switch.opt.
+ (sparc64-*-openbsd*, sparc64-*-elf*): Add little-endian.opt.
+ * config/sparc/sparc.h (MASK_FPU, MASK_UNALIGNED_DOUBLES,
+ MASK_V8, MASK_SPARCLITE, MASK_SPARCLET, MASK_V9,
+ MASK_DEPRECATED_V8_INSNS, MASK_IMPURE_TEXT, MASK_APP_REGS,
+ MASK_HARD_QUAD, MASK_LITTLE_ENDIAN, MASK_PTR64, MASK_64BIT,
+ MASK_STACK_BIAS, MASK_FPU_SET, MASK_VIS, MASK_V8PLUS,
+ MASK_FASTER_STRUCTS, MASK_LONG_DOUBLE_128): Delete.
+ (TARGET_FPU, TARGET_UNALIGNED_DOUBLES, TARGET_V8, TARGET_SPARCLITE,
+ TARGET_SPARCLET, TARGET_V9, TARGET_DEPRECATED_V8_INSNS,
+ TARGET_IMPURE_TEXT, TARGET_APP_REGS, MASK_HARD_QUAD,
+ TARGET_LITTLE_ENDIAN, TARGET_PTR64, TARGET_64BIT, MASK_STACK_BIAS,
+ TARGET_FPU_SET, TARGET_VIS, TARGET_V8PLUS, TARGET_FASTER_STRUCTS,
+ TARGET_LONG_DOUBLE_128): Likewise.
+ (TARGET_SWITCHES, SUBTARGET_SWITCHES): Likewise.
+ (TARGET_OPTIONS, SUBTARGET_OPTIONS): Likewise.
+ * config/sparc/freebsd.h (SUBTARGET_SWITCHES): Likewise.
+ * config/sparc/linux.h (SUBTARGET_SWITCHES): Likewise.
+ * config/sparc/linux64.h (SUBTARGET_SWITCHES): Likewise.
+ * config/sparc/netbsd-elf.h (SUBTARGET_SWITCHES): Likewise.
+ * config/sparc/sp64-elf.h (SUBTARGET_SWITCHES): Likewise.
+ * config/sparc/sparc.c (fpu_option_set): New global.
+ (sparc_handle_option): New function.
+ (sparc_override_options): Test fpu_option_set.
+ (TARGET_DEFAULT_TARGET_FLAGS): Set to TARGET_DEFAULT.
+ (TARGET_HANDLE_OPTION): Set to sparc_handle_option.
+ * config/sparc/sparc.opt: New file.
+ * config/sparc/little-endian.opt: Likewise.
+ * config/sparc/long-double-switch.opt: Likewise.
+
+2005-04-13 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ * config/bfin/bfin.c (bfin_lib_id_given): New static variable.
+ (bfin_handle_options): Set it if -mshared-library-id= is seen.
+ * config/bfin/bfin.opt (mshared-library-id=): Lose
+ Var(bfin_lib_id_given).
+
+2005-04-13 Matt Thomas <matt@3am-software.com>
+
+ * config/rs6000/sysv4.h (NO_IMPLICIT_EXTERN_C): undefine before
+ defining.
+
+2005-04-13 Kazu Hirata <kazu@cs.umass.edu>
+
+ * rtl.h (CLEAR_RTX_FLAGS): Remove.
+
+ * cgraphunit.c (INSNS_PER_CALL): Remove.
+
+ * tree-ssa-forwprop.c (vars,
+ record_single_argument_cond_exprs,
+ substitute_single_use_vars): Remove.
+ (forward_propagate_into_cond_1, forward_propagate_into_cond):
+ New.
+ (tree_ssa_forward_propagate_single_use_vars): Call
+ forward_propagate_into_cond for each COND_EXPR.
+
+ * tree-inline.c (INSNS_PER_STMT): Remove.
+
+2005-04-12 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (ix86_prepare_sse_fp_compare_args): Split ...
+ (ix86_expand_sse_fp_minmax): ... from ...
+ (ix86_expand_fp_movcc): ... here.
+ (ix86_expand_sse_movcc): Rewrite from ix86_split_sse_movcc.
+ * config/i386/i386-protos.h: Update.
+ * config/i386/i386.md (UNSPEC_IEEE_MIN, UNSPEC_IEEE_MAX): New.
+ (sse_setccsf, sse_setccdf): Allow before reload.
+ (movsfcc_1_sse_min, movsfcc_1_sse_max, movsfcc_1_sse): Remove.
+ (movdfcc_1_sse_min, movdfcc_1_sse_max, movdfcc_1_sse): Remove.
+ (ieee_sminsf3, ieee_smaxsf3, ieee_smindf3, ieee_smaxdf3): New.
+ * config/i386/sse.md (andsf3, nandsf3, iorsf3, xorsf3): New.
+ (anddf3, nanddf3, iordf3, xordf3): New.
+
+2005-04-12 Jeff Law <law@redhat.com>
+
+ * Makefile.in (OBJS-common): Add tree-ssa-uncprop.o.
+ (tree-ssa-uncprop.o): Add dependencies.
+ * tree-cfg.c (remove_useless_stmts_bb, remove_useless_stmts): Remove.
+ * tree-flow.h (remove_useless_stmts): Remove prototype.
+ * tree-outof-ssa.c (rewrite_out_of_ssa): Remove call to
+ remove_useless_stmts.
+ * timevar.def (TV_TREE_SSA_UNCPROP): New timevar.
+ * tree-optimize.c (init_tree_optimization_passes): Add uncprop pass.
+ * tree-pass.h (pass_uncprop): Declare.
+ * tree-ssa-uncprop.c: New file.
+
+2005-04-12 James E. Wilson <wilson@specifixinc.com>
+
+ PR target/20670
+ * unwind-ia64.c (uw_intall_context): Add missing load of r27.
+
+2005-04-12 Caroline Tice <ctice@apple.com>
+
+ Temporary fix for partitioning problems.
+ * passes.c (rest_of_handle_final): Remove code that
+ frees unlikely_text_section_name,
+ * varasm.c (assemble_start_function): Test for partitioning
+ flag before writing out section labels.
+ (assemble_end_function): Test for partitioning flag before
+ writing out section labels.
+
+2005-04-12 Steven Bosscher <stevenb@suse.de>
+ Stuart Hastings <stuart@apple.com>
+ Jan Hubicka <jh@suse.cz>
+
+ * Makefile.in: Add function.h to BASIC_BLOCK_H. Remove all
+ references to gt-tree-cfg.h.
+ * basic-block.h (struct basic_block_def): Don't skip rbi
+ for garbage collection.
+ (struct reorder_block_def): Make GTY-able.
+ (struct control_flow_graph): New structure.
+ (n_edges, n_basic_blocks, last_basic_block, basic_block_info,
+ BASIC_BLOCK, EXIT_BLOCK_PTR, ENTRY_BLOCK_PTR): No longer vars,
+ but instead defines to the control_flow_graph for cfun.
+ (label_to_block_map): New define, points to the label map of
+ the control_flow_graph for cfun.
+ (n_edges_for_function, n_basic_blocks_for_function,
+ last_basic_block_for_function, basic_block_info_for_function,
+ EXIT_BLOCK_PTR_FOR_FUNCTION, ENTRY_BLOCK_PTR_FOR_FUNCTION,
+ basic_block_info_for_function, label_to_block_map_for_function):
+ Counterparts for the above, taking a struct function as an extra
+ argument.
+ (alloc_rbi_pool, free_rbi_pool): Remove prototypes.
+ * cfg.c: (n_edges, n_basic_blocks, last_basic_block,
+ basic_block_info, ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): Remove.
+ (alloc_rbi_pool, free_rbi_pool): Remove.
+ (initialize_bb_rbi): Use ggc_alloc_cleared instead of pool_alloc.
+ * cfglayout.c: (cfg_layout_initialize): Don't allocate the rbi pool
+ here...
+ (cfg_layout_finalize) ... and don't free it here.
+ * cfgrtl.c (cfg_layout_delete_block): Zero out rbi so it gets
+ garbage collected.
+ * flow.c (free_basic_block_vars): Set label_to_block_map and
+ n_edges to zero too.
+ * function.h (struct function): Add cfg field.
+ * function.c (allocate_struct_function): Allocate the cfg.
+ * tree-cfg.c (label_to_block_map): Remove.
+ (build_tree_cfg): Don't allocate the rbi pool here...
+ (delete_tree_cfg_annotations): ...and don't free it here.
+ Also don't nullify label_to_block_map for cfun.
+
+2005-04-12 Caroline Tice <ctice@apple.com>
+
+ * bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
+ Revert my patch from April 9.
+ (fix_edges_for_rarely_executed_code): Revert my patch from April 9.
+ (reorder_basic_blocks): Revert my patch from April 9.
+ (insert_section_boundary_note): Revert my patch from April 9.
+ * dbxout.c (dbxout_function_end): Revert my patch from April 9.
+ * dwarf2out.c (COLD_TEXT_SECTION_LABEL): Revert my patch from April 9.
+ (COLD_END_LABEL): Revert my patch from April 9.
+ (cold_text_section_label): Revert my patch from April 9.
+ (cold_end_label): Revert my patch from April 9.
+ (dwarf2out_switch_text_section): Revert my patch from April 9.
+ (output_aranges): Revert my patch from April 9.
+ (output_ranges): Revert my patch from April 9.
+ (output_line_info): Revert my patch from April 9.
+ (add_location_or_const_value_attribute): Revert my patch from April 9.
+ (dwarf2out_var_location): Revert my patch from April 9.
+ (dwarf2out_init): Revert my patch from April 9.
+ (dwarf2out_finish): Revert my patch from April 9.
+ * function.h (struct function): Revert my patch from April 9.
+ * opts.c (decode_options): Revert my patch from April 9.
+ * output.h (unlikely_section_label, hot_section_label,
+ hot_section_end_label, cold_section_end_label,
+ unlikely_text_section_name): Revert my patch from April 9.
+ * passes.c (rest_of_handle_final): Revert my patch from April 9.
+ * varasm.c (unlikely_section_label, hot_section_label,
+ hot_section_end_label, cold_section_end_label,
+ unlikely_text_section_name): Revert my patch from April 9.
+ (initialize_cold_section_name): Revert my patch from April 9.
+ (unlikely_text_section): Revert my patch from April 9.
+ (in_unlikely_text_section): Revert my patch from April 9.
+ (named_section): Revert my patch from April 9.
+ (function_section): Revert my patch from April 9.
+ (current_function_section): Revert my patch from April 9.
+ (assemble_start_function): Revert my patch from April 9.
+ (assemble_end_function): Revert my patch from April 9.
+ (default_section_type_flags_1): Revert my patch from April 9.
+
+2005-04-12 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * config/sparc/sparc.h (APPLY_RESULT_SIZE): Set to 24 in 64-bit mode.
+ * config/sparc/sparc.md (untyped_call): Save the registers manually.
+
+ * config/sparc/sparc.c (legitimate_address_p): Use TARGET_ARCH32.
+
+2005-04-12 Ulrich Weigand <uweigand@de.ibm.com>
+
+ PR middle-end/20917
+ * config/s390/s390.md ("*set_tp"): Use SET in pattern.
+ ("set_tp_64", "set_tp_31"): Adapt expanded pattern.
+
+2004-04-12 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.md (UNSPEC_FIX, UNSPEC_MOVA, UNSPEC_SHUFFLE,
+ UNSPEC_PSHUFLW, UNSPEC_PSHUFHW, UNSPEC_ADDSUB, UNSPEC_HADD,
+ UNSPEC_HSUB, UNSPEC_MOVSHDUP, UNSPEC_MOVSLDUP, UNSPEC_MOVDDUP): Remove.
+ (UNSPEC_*, UNSPECV_*): Renumber.
+
+2005-04-12 Frank Ch. Eigler <fche@redhat.com>
+
+ PR mudflap/19266
+ From Richard Henderson <rth@redhat.com>:
+ * tree-mudflap.c (mf_build_check_statement_for): Correct block
+ splitting logic.
+
+2005-04-12 Dorit Naishlos <dorit@il.ibm.com>
+
+ * tree-cfg.c (tree_verify_flow_info): Use LABEL_EXPR_LABEL.
+
+2005-04-12 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ * config/bfin/bfin.c (bfin_library_id_string): Remove.
+ (bfin_library_id): New variable.
+ (bfin_expand_prologue): Use bfin_library_id and bfin_lib_id_given
+ instead of bfin_library_id_string.
+ (bfin_handle_option): New function.
+ (override_options): Remove most code to deal with shared library IDs,
+ just check they aren't used without -mid-shared-library.
+ (TARGET_HANDLE_OPTION): Define.
+ * config/bfin/bfin.h (TARGET_OPTIONS): Delete macro.
+ * config/bfin/bfin.opt (mshared-library-id=): New.
+
+2005-04-12 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-vect-transform.c: Fix comment typos.
+
+2005-04-12 Mostafa Hagog <mustafa@il.ibm.com>
+
+ * postreload-gcse.c (eliminate_partially_redundant_load): Don't
+ split critical edges when not possible/profitable.
+
+2005-04-12 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/ns32k/ns32k.h (target_flags, MASK_32081, MASK_RTD)
+ (MASK_REGPARM, MASK_32532, MASK_32332, MASK_NO_SB, MASK_NO_BITFIELD)
+ (MASK_HIMEM, MASK_32381, MASK_MULT_ADD, MASK_SRC, MASK_IEEE_COMPARE)
+ (TARGET_32081, TARGET_32381, TARGET_MULT_ADD, TARGET_RTD)
+ (TARGET_REGPARM, TARGET_32532, TARGET_32332, TARGET_SB, TARGET_HIMEM)
+ (TARGET_BITFIELD, TARGET_IEEE_COMPARE, TARGET_SWITCHES): Delete.
+ (OVERRIDE_OPTIONS): Clear MASK_SB instead of setting MASK_NO_SB.
+ * config/ns32k/netbsd.h (TARGET_DEFAULT): Remove MASK_NO_SB and
+ MASK_NO_BITFIELD.
+ * config/ns32k/ns32k.c (ns32k_handle_option): New function.
+ (TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
+ * config/ns32k/ns32k.opt: New file.
+
+2005-04-12 Richard Sandiford <rsandifo@redhat.com>
+
+ * config.gcc (m68k-*-linux*): Add m68k/ieee.opt to $extra_options.
+ * config/m68k/m68k.h (target_flags, MASK_68020, TARGET_68020)
+ (MASK_68030, TARGET_68030, MASK_68040, TARGET_68040, MASK_68040_ONLY)
+ (TARGET_68040_ONLY, MASK_68060, TARGET_68060, MASK_5200, TARGET_5200)
+ (MASK_CFV3, TARGET_CFV3, MASK_CFV4, TARGET_CFV4, MASK_528x)
+ (TARGET_528x, MASK_CF_HWDIV, TARGET_CF_HWDIV, MASK_68881, TARGET_68881)
+ (MASK_BITFIELD, TARGET_BITFIELD, MASK_SHORT, TARGET_SHORT)
+ (MASK_ALIGN_INT, TARGET_ALIGN_INT, MASK_PCREL, TARGET_PCREL)
+ (MASK_NO_STRICT_ALIGNMENT, TARGET_STRICT_ALIGNMENT, MASK_RTD)
+ (TARGET_RTD, MASK_SEP_DATA, TARGET_SEP_DATA, MASK_ID_SHARED_LIBRARY)
+ (TARGET_ID_SHARED_LIBRARY, MASK_ALL_CF_BITS, TARGET_SWITCHES)
+ (TARGET_OPTIONS, SUBTARGET_SWITCHES, SUBTARGET_OPTIONS): Delete.
+ (MASK_COLDFIRE): Formatting fixes.
+ (TARGET_COLDFIRE): Turn into a boolean value for consistency.
+ * config/m68k/linux.h (SUBTARGET_SWITCHES): Delete.
+ * config/m68k/m68k.c (m68k_library_id_string): Initialize to
+ "_current_shared_library_a5_offset_".
+ (TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
+ (MASK_ALL_CPU_BITS): New macro.
+ (m68k_handle_option): New function.
+ (override_options): Remove handling of m68k_library_id_string.
+ * config/m68k/m68k.opt: New file.
+ * config/m68k/ieee.opt: New file.
+
+2005-04-11 Mark Mitchell <mark@codesourcery.com>
+
+ * target-def.h (TARGET_CXX_EXPORT_CLASS_DATA): Remove.
+ (TARGET_CXX_DETERMINE_CLASS_VISIBILITY): New macro.
+ (TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): Likewise.
+ (TARGET_CXX): Adjust accordingly.
+ * target.h (struct gcc_target): Remove epxort_class_data. Add
+ determine_class_data_visibility and class_data_always_comdat.
+ * doc/tm.texi (TARGET_CXX_EXPORT_CLASS_DATA): Remove.
+ (TARGET_CXX_DETERMINE_CLASS_DATA_VISIBILITY): Document.
+ (TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): Likewise.
+ * config/arm/arm.c (arm_cxx_export_class_data): Remove.
+ (arm_cxx_determine_class_data_visibility): New.
+ (arm_cxx_class_data_always_comdat): Likewise.
+ (TARGET_CXX_EXPORT_CLASS_DATA): Remove.
+ (TARGET_CXX_DETERMINE_CLASS_DATA_VISIBILITY): Define.
+ (TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): Likewise.
+ * config/arm/arm.h (TARGET_ARM_DYNAMIC_VAGUE_LINKAGE_P): Define.
+ * config/arm/symbian.h (TARGET_ARM_DYNAMIC_VAGUE_LINKAGE_P):
+ Define.
+
+2005-04-11 Devang Patel <dpatel@apple.com>
+
+ * tree-data-ref.c (build_classic_dist_vector,
+ compute_subscript_distance): Make externally visible.
+ * tree-data-ref.h (build_classic_dist_vector,
+ compute_subscript_distance): Same.
+ * tree-vect-analyze.c (vect_analyze_data_ref_dependence):
+ Check distance vector against vectorization factor.
+ (vect_analyze_loop): Determine vectorizaion factor before
+ analyzing data dependences.
+ * tree-vectorizer.c (loops_num): Make it externally visible and
+ rename ...
+ * tree-vectorizer.c (vect_loops_num): ... new name.
+ * tree-vectorizer.h (vect_loops_num): New.
+
+2005-04-11 Devang Patel <dpatel@apple.com>
+
+ * tree-vect-analyze.c (vect_analyze_operations): Check
+ vectorizable codition.
+ * tree-vect-transform.c (vect_is_simple_cond): New function.
+ (vectorizable_condition): New function.
+ (vect_transform_stmt): Handle condition_vec_info_type.
+ * tree-vectorizer.h (enum stmt_vec_info_type): Add
+ condition_vec_info_type.
+ (vectorizable_condition): New.
+
+2005-04-11 Geoffrey Keating <geoffk@apple.com>
+
+ * config/i386/i386.h (TARGET_FPMATH_DEFAULT): New.
+ * config/i386/darwin.h (TARGET_FPMATH_DEFAULT): New.
+ * config/i386/i386.c (override_options): Use TARGET_FPMATH_DEFAULT.
+
+ * config/i386/darwin.h (ASM_SPEC): Use -arch i386 not -arch i686.
+ (SUBTARGET_EXTRA_SPECS): Always 'i386'.
+
+ * dwarf2out.c (output_line_info): Don't try to dereference
+ a NULL current_function_decl.
+
+ * config/t-slibgcc-darwin: Don't put shared libraries in
+ directories other than $(slibdir).
+ * config/rs6000/darwin.h: Find -m64 libgcc under the name the
+ OS uses for it.
+
+2005-04-11 Diego Novillo <dnovillo@redhat.com>
+
+ PR tree-optimization/20933
+ * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Move
+ logic to reject aliases between read-only and writable
+ variables ...
+ (may_alias_p): ... here.
+ (get_tmt_for): Do not associate read-only tags to pointers
+ whose pointed-to type is not read-only.
+ * tree-ssa.c (verify_ssa): Check that memory stores have at
+ least one V_MAY_DEF or V_MUST_DEF.
+
+2005-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ PR/17092
+ * configure.ac (gcc_UNLOCKED_FUNCS): New.
+ (AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for gcc_UNLOCKED_FUNCS.
+ * system.h (putchar, getc, getchar, clearerr, feof, fileno,
+ fflush, fgetc, fgets, ferror, fread): Redefine to the associated
+ _unlocked function.
+ (fwrite_unlocked): Fix prototype.
+
+ * configure, config.in: Regenerate.
+
+2005-04-11 David Edelsohn <edelsohn@gnu.org>
+
+ * tree-ssa-loop-im.c: Include real.h.
+ (determine_invariantness_stmt): If real division divisor is
+ invariant and flag_unsafe_math_optimizations enabled, generate
+ invariant reciprocal for hoisting.
+ * Makefile.in (tree-ssa-loop-im.o): Add real.h dependency.
+
+2005-04-11 Daniel Berlin <dberlin@dberlin.org>
+
+ Fix PR tree-optimization/20926
+
+ * tree-ssa-alias.c (add_type_alias): Handle subvars.
+
+2005-04-11 Devang Patel <dpatel@apple.com>
+
+ * config/rs6000.c (rs6000_emit_vector_select): Fix vector select
+ operand ordering.
+
+2005-04-11 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * fold-const.c (fold_binary_op_with_conditional_arg):
+ use fold_buildN instead of "fold (buildN" in some
+ non obvious places.
+ (fold_unary): Likewise.
+ (fold_binary): Likewise.
+
+2005-04-11 Daniel Berlin <dberlin@dberlin.org>
+
+ Fix PR tree-optimization/20612
+ * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Fix increment
+ handling
+ (perfect_nestify): preheaderbb is *not* part of loop of the
+ old destination.
+
+2005-04-11 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * tree-ssa-alias.c (may_alias_p): If the variable
+ is a global variable and the pointer is parameter
+ and -fargument-noalias-global is used, then
+ the pointer cannot alias the variable.
+
2005-04-11 James A. Morrison <phython@gcc.gnu.org>
* config/sparc/sparc.c: Use gcc_assert and gcc_unreachable.