+2004-12-17 Steven Bosscher <stevenb@suse.de>
+
+ * tree.c (type_contains_placeholder_1): Always return false
+ for VECTOR_TYPE if its TREE_TYPE does not contain a placeholder.
+
+2004-12-17 Uros Bizjak <uros@kss-loka.si>
+
+ * config/i386/i386.md (extendsfdf2, *extendsfdf2_1,
+ *extendsfdf2_1_sse_only): Unify enable constraint with
+ respect to TARGET_SSE2, TARGET_80387, TARGET_SSE_MATH
+ and TARGET_MIX_SSE_I387.
+ (*extendsfdf2_i387): New insn pattern.
+ (*extendsfdf2_1): Rename to *extendsfdf2_mixed. Fix
+ register constraint for operand 0.
+ (*extendsfdf2_1_sse_only): Rename to *extendsfdf2_sse.
+ (*extend{s,d}fxf2_1): Rename to *extend{s,d}fxf2_i387.
+
+2004-12-16 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR target/19041
+ * config/darwin.c (machopic_symbol_defined_p): Return false
+ if the binds local and is a common symbol.
+
+2004-12-16 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.md (extv, extzv, insv): Revalidate the
+ operand with ext_register_operand.
+
+2004-12-16 Kazu Hirata <kazu@cs.umass.edu>
+
+ * global.c: Fix a comment typo.
+
+2004-12-16 Eric Botcazou <ebotcazou@libertysurf.fr>
+ Roger Sayle <roger@eyesopen.com>
+
+ PR tree-optimization/18707
+ * cfgloopmanip.c (create_preheader): Move the preheader
+ only if the latch was falling through to the header.
+
+2004-12-16 Danny Smith <dannysmith@users.sourceforge.net>
+
+ PR target/18997
+ * config/i386/cygwin.h (GTHREAD_USE_WEAK): Define to 0.
+
+2004-12-16 Richard Henderson <rth@redhat.com>
+ Aldy Hernandez <aldyh@redhat.com>
+
+ * simplify-rtx.c (simplify_replace_rtx): Do not blindly replace
+ hard registers.
+
+2004-12-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR other/18508
+ * config/alpha/t-osf4 (SHLIB_LINK): Use `.backup' as the suffix
+ to back up the existing shared library.
+ * config/arm/t-netbsd (SHLIB_LINK): Likewise.
+ * config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise.
+ * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
+ * config/sh/t-linux (SHLIB_LINK): Likewise.
+ * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
+ * config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
+ * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
+ * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
+
+ * config/i386/t-nwld (SHLIB_LINK): Don't use the temporary
+ file.
+
+2004-12-16 Richard Henderson <rth@redhat.com>
+
+ * Makefile.in (MD_DEPS, s-mddeps): New.
+ (s-config, s-conditions, s-flags, s-codes, s-constants, s-emit,
+ s-recog, s-opinit, s-extract, s-peep, s-attr, s-attrtab, s-output,
+ s-preds): Depend on MD_DEPS instead of md_file.
+ (genobjnames): Add genmddeps.o
+ (build/genmddeps, build/genmddeps.o): New.
+ (mostlyclean): Remove mddeps.mk.
+ * genmddeps.c: New file.
+ * gensupport.c (include_callback): New.
+ (process_include): Call it.
+ * gensupport.h (include_callback): Declare.
+
+2004-12-16 Nathan Sidwell <nathan@codesourcery.com>
+
+ * local-alloc.c (block_alloc): Replace IN_RANGE with simple
+ comparison.
+
+ * doc/c-tree.texi (CONSTRUCTOR): Mention RANGE_EXPRs.
+
+2004-12-16 Mark Dettinger <dettinge@de.ibm.com>
+
+ * config/s390/s390.c (struct processor_costs): Two new fields:
+ madbr, maebr.
+ (s390_rtx_costs): Added handling of multipy and add in SFmode.
+ More precise values for cost of multiply and add.
+
+2004-12-15 Richard Henderson <rth@redhat.com>
+
+ PR target/19028
+ * config/i386/i386.md (sse compare splitter): Test for SF and DFmode
+ explicitly instead of using VALID_SSE_REG_MODE.
+
+2004-12-15 Richard Henderson <rth@redhat.com>
+
+ PR target/19005
+ * config/i386/i386.md (swaphi_1): Swap with swaphi_2, allow with
+ optimize_size.
+ (swapqi_1): Rename from swapqi. Enable only for no partial reg
+ stall and optimize_size.
+ (swapqi_2): New.
+ (swaphi_1, swaphi_2, swapqi_1): Add athlon_decode.
+ (swapsi, swaphi_1, swaphi_2, swapqi_1, swapdi): Remove modrm override.
+
+2004-12-16 Uros Bizjak <uros@kss-loka.si>
+
+ * config/i386/i386.md (*floathisf2_i387, *floathidf2_i387):
+ Also enable for TARGET_MIX_SSE_I387.
+
+2004-12-16 Uros Bizjak <uros@kss-loka.si>
+
+ * config/i386/i386.md (sqrt{s,d}f2_1, sqrt{s,d}f2_1_sse_only,
+ sqrt{s,d}f2_i387): Unify enable constraint with respect to
+ TARGET_SSE, TARGET_SSE2, TARGET_USE_FANCY_MATH_387,
+ TARGET_SSE_MATH and TARGET_MIX_SSE_I387.
+ (sqrt{s,d}f2_1): Rename to *sqrt{s,d}f2_mixed.
+ (sqrt{s,d}f2_1_sse_only): Rename to *sqrt{s,d}f2_sse.
+ (sqrt{s,d}f2_i387): Rename to *sqrt{s,d}f2_i387.
+ (*sqrtextendsfdf2): Also enable for TARGET_MIX_SSE_I387.
+ (*sqrtextend?f?f2): Rename to *sqrtextendsfdf2_i387.
+
+2004-12-16 Uros Bizjak <uros@kss-loka.si>
+
+ * config/i386/i386.md (*fop_?f_comm_{,sse,nosse},
+ *fop_?f_1_{,sse,nosse}, *fop_{d,x}f_{2,3,4,5,6}): Unify enable
+ constraint with respect to TARGET_80387, TARGET_SSE, TARGET_SSE2,
+ TARGET_SSE_MATH and TARGET_MIX_SSE_I387.
+ (*fop_?f_{comm,1}): Rename to *fop_?f_{comm,1}_mixed.
+ (*fop_?f_{comm,1}_nosse): Rename to *fop_?f_{comm,1}_i387.
+ (*fop_{d,x}f_{2,3,4,5,6}): Rename to *fop_{d,x}f_{2,3,4,5,6}_i387.
+
+2004-12-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/18153
+ * configure.ac: Define HAVE_LD_STATIC_DYNAMIC if linker supports
+ -Bstatic/-Bdynamic option.
+ * config.in: Regenerated.
+ * configure: Likewise.
+
+ * gcc.c (init_spec): Pass -Bstatic/-Bdynamic to ld for static
+ -lunwind if possible.
+
+2004-12-15 Daniel Berlin <dberlin@dberlin.org>
+
+ * cfgloop.c (flow_loops_dump): Don't print out levels.
+ (flow_loops_find): Don't set loop->levels.
+ (flow_loops_level_compute): Make void.
+ * cfgloop.h (struct loops): Remove levels member.
+ Add comment about loops in parray possibly being NULL.
+
+2004-12-15 Alexandre Oliva <aoliva@redhat.com>
+
+ * reload.c (SMALL_REGISTER_CLASS_P): New.
+ (push_secondary_reload, find_reusable_reload, find_reloads): Use
+ it instead of testing only the class size.
+
+2004-12-15 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR c++/17972
+ * tree-inline.c (expand_call_inline): Set TREE_SIDE_EFFECTS
+ on the STMT_EXPR wrapping up the inlined body.
+
+2004-12-15 Vladimir Makarov <vmakarov@redhat.com>
+ Steven Bosscher <stevenb@suse.de>
+ PR middle end/17340
+
+ * global.c: Update comments in a few places.
+ (check_earlyclobber): Return true if there are early clobber
+ classes.
+ (calculate_local_reg_bb_info): Do not try to mark earlyclobber
+ regs if there are none.
+ (bb_info, allocate_bb_info, free_bb_info, modify_reg_pav,
+ make_accurate_live_analysis): Rename pavin, pavout to live_pavin,
+ live_pavout.
+ (modify_bb_reg_pav): Remove.
+ (calculate_reg_pav): Use code from modify_bb_reg_pav.
+ (temp_bitmap): New variable.
+ (calculate_reg_pav): Allocate/deallocate temp_bitmap.
+
+2004-12-15 Richard Henderson <rth@redhat.com>
+
+ PR target/19010
+ * config/i386/i386.c (ix86_must_pass_in_stack): Don't return true
+ for TImode vectors.
+ (gen_reg_or_parallel): New.
+ (function_arg): Use it.
+ (ix86_hard_regno_mode_ok): Test SSE1 and SSE2 separately,
+ MMX and 3DNOW separately.
+ (ix86_rtx_costs): Simplify FLOAT_EXTEND case.
+ (ix86_vector_mode_supported_p): Test SSE1 and SSE2 separately.
+ * config/i386/i386.h (VALID_SSE2_REG_MODE): Move SSE2 cases from ...
+ (VALID_SSE_REG_MODE): ... here.
+
+2004-12-15 David Edelsohn <edelsohn@gnu.org>
+
+ * xcoffout.c (xcoffout_declare_function): Change strncpy to memcpy.
+
+2004-12-15 Ian Lance Taylor <ian@wasabisystems.com>
+
+ * config/arm/arm.c (arm_xscale_rtx_costs): Increase cost of
+ COMPARE of MULT.
+ * config/arm/arm.md (mulsi3_compare0): Don't check
+ arm_arch_xscale.
+ (mulsi_compare0_scratch, mulsi3_addsi_compare0): Likewise.
+ (mulsi3addsi_compare0_scratch): Likewise.
+
+2004-12-15 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR other/18665
+ * libgcc-std.ver (GCC_3.4.4): Inherit from GCC_3.4.2.
+ Export __absvti2, __addvti3, __mulvti3, __negvti2 and __subvti3.
+ * libgcc2.c (__addvsi3): Rename to __addvSI3.
+ New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
+ (__addvdi3): Rename to __addvDI3.
+ (__subvsi3): Rename to __subvSI3. Use word type for the result.
+ New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
+ (__subvdi3): Rename to __subvDI3.
+ (_mulvsi3): Rename to _mulvSI3.
+ New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
+ (_mulvdi3): Rename to _mulvDI3.
+ (__negvsi2): Rename to __negvSI2.
+ New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
+ (__negvdi2): Rename to __negvDI2.
+ (__absvsi2): Rename to __absvSI2.
+ New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
+ (__absvdi2): Rename to __absvDI2.
+ * libgcc2.h (64-bit targets): Define COMPAT_SIMODE_TRAPPING_ARITHMETIC.
+ (__absvSI2, __addvSI3, __subvSI3, __mulvSI3, __negvSI2, __absvDI2,
+ __addvDI3, __subvDI3, __mulvDI3, __negvDI2): Define to the appropriate
+ symbol and declare.
+ (__absvsi2, __addvsi3, __subvsi3, __mulvsi3, __negvsi2): Declare if
+ COMPAT_SIMODE_TRAPPING_ARITHMETIC.
+
+2004-12-15 Kazuhiro Inaoka <inaoka.kazuhiro@reneasas.com>
+
+ * config/m32r/m32r.h (PREFERRED_DEBUGGING_TYPE):
+ Use DWARF2_DEBUG.
+
+ * config/m32r.c (m32r_legitimize_pic_address): Changed
+ to support GOTOFF relocation.
+ * config/m32r.md (UNSPEC_GOTOFF): New.
+ (gotoff_load_addr): New.
+
+2004-12-15 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (mips_arg_info): Use FUNCTION_ARG_BOUNDARY to
+ decide whether an argument is double-word aligned.
+
+2004-12-15 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.md: Fix missing modes on cmove splitters.
+
+2004-12-15 Jan Beulich <jbeulich@novell.com>
+
+ * mklibgcc.in (libgcc2_c_dep): Add dependency on libgcc2.h.
+
+2004-12-15 Uros Bizjak <uros@kss-loka.si>
+
+ * config/i386/i386.md (floathisf2, *floathisf2_1, floatsisf2,
+ *floatsisf2_i387, *floatsisf2_sse, floatdisf2,
+ *floatdisf2_i387_only, *floatdisf2_i387, *floatdisf2_sse,
+ floathidf2, *floathidf2_1, *floatsidf2_i387, *floatsidf2_sse,
+ floatdidf2, *floatdidf2_i387_only, *floatdidf2_i387,
+ *floatdidf2_sse, floatunssisf2, floatunsdisf2, floatunsdidf2):
+ Unify enable constraint with respect to TARGET_80387, TARGET_SSE,
+ TARGET_SSE2, TARGET_64BIT, TARGET_SSE_MATH and TARGET_MIX_SSE_I387.
+ (*float?i?f_i387): Rename to *float?i?f2_mixed.
+ (*float?i?f2_1): Rename to *float?i?f2_i387.
+ (*float?i?f2_i387_only): Rename to *float?i?f2_i387.
+ (float?ixf2): Penalize integer register operand.
+
+2004-12-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR c++/17242
+ * configure.ac: Add GAS check for HP-UX .nsubspa comdat.
+ * configure, config.in: Rebuilt.
+ * config/pa/pa-hpux10.h (SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY): Delete
+ defines.
+ * config/pa/pa.c (pa_select_section): Allow uninitialized variables in
+ one-only (comdat) subspaces.
+ * config/pa/som.h (SUPPORTS_SOM_COMDAT): New define.
+ (SUPPORTS_ONE_ONLY): True if SUPPORTS_WEAK or SUPPORTS_SOM_COMDAT are
+ true.
+ (MAKE_DECL_ONE_ONLY): Place uninitialized variables in common.
+
+2004-12-14 Ian Lance Taylor <ian@wasabisystems.com>
+
+ * combine.c (combine_validate_cost): Consider cost of
+ undobuf.other_insn rather than always allowing the recombination
+ if it is set.
+
+2004-12-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa-host.c (MAP_FAILED): Define if not defined.
+ (pa_gt_pch_use_address): Handle short reads.
+
+2004-12-14 Richard Henderson <rth@redhat.com>
+
+ PR target/17990
+ * config/i386/i386.c (x86_use_bt): New.
+ (ix86_expand_unary_operator): Use MEM_P.
+ (ix86_expand_fp_absneg_operator): New.
+ * config/i386/i386.h (x86_use_bt): Declare.
+ (TARGET_USE_BT): New.
+ * config/i386/i386-protos.h: Update.
+ * config/i386/i386.md (negsf2): Use ix86_expand_fp_absneg_operator.
+ (negdf2, negxf2, abssf2, absdf2, absxf2): Likewise.
+ (negsf2_memory, negsf2_ifs, negsf2_if, negdf2_memory, negdf2_ifs,
+ negdf2_ifs_rex64, negdf2_if, negdf2_if_rex64, negxf2_if,
+ abssf2_memory, abssf2_ifs, abssf2_if, absdf2_memory, absdf2_ifs,
+ absdf2_ifs_rex64, absdf2_if, absxf2_if): Remove.
+ (absnegsf2_mixed, absnegsf2_sse, absnegsf2_i387, absnegdf2_mixed,
+ absnegdf2_sse, absnegdf2_i387, absnegxf2_i387): New. Merge all
+ neg and abs splitters. Handle DFmode in general regs in 64-bit mode.
+ (negextendsfdf2, absextendsfdf2): Disable for non-mixed sse math.
+ (btsq, btrq, btcq): New. Add peepholes as well.
+ (movv4sf_internal splitter): Postpone til after reload.
+ (movv2di_internal splitter): Likewise.
+ * config/i386/predicates.md (const_0_to_63_operand): New.
+ (absneg_operator): New.
+
+2004-12-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa.h (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_FP_P):
+ Check register number and that reg_renumber is nonzero before using it.
+
+2004-12-14 Steve Ellcey <sje@cup.hp.com>
+
+ * doc/invoke.texi (IA-64 options): Add existing options that
+ weren't already listed.
+
+2004-12-14 Jeff Law <law@redhat.com>
+
+ * tree-outof-ssa.c (coalesce_abnormal_edges): Pass the correct target
+ partition to conflict_graph_merge_regs.
+
+2004-12-14 Uttam Pawar <uttamp@us.ibm.com>
+ Janis Johnson <janis187@us.ibm.com>
+
+ * rs6000.c (rs6000_handle_altivec_attribute_tree): Report errors
+ for vector types with invalid component types.
+
+2004-12-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/18951
+ * builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2,
+ expand_builtin_mathfn_3): Avoid using arguments passed to
+ save_expr after that call.
+
+ * fold-const.c (fold_single_bit_test): If flag_syntax_only, pretend
+ LOAD_EXTEND_OP is not defined.
+ (fold): Likewise. If flag_syntax_only, don't depend on BITS_PER_WORD.
+
+2004-12-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ * tree.def, doc/c-tree.texi: Correctly document restrictions on the
+ shift width.
+
+2004-12-14 Kazu Hirata <kazu@cs.umass.edu>
+
+ * expr.h (expand_modifier): Define EXPAND_STACK_PARM as 1.
+
+2004-12-14 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/18973
+ arm-cores.def (arm926ej-s, arm1026ej-s, arm1136j-s, arm1136-jfs)
+ (arm1176jz-s, arm1176jzf-s, mpcorenovfp, mpcore): Add load-scheduling
+ property to flags.
+
+2004-12-14 Diego Novillo <dnovillo@redhat.com>
+
+ * tree-gimple.c (get_base_address): Update documentation.
+
+2004-12-13 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/17930
+ * passes.c (rest_of_clean_state): Fix computation of
+ preferred_incoming_stack_boundary.
+
+2004-12-13 Wolfgang Bangerth <bangerth@dealii.org>
+
+ * reload.h: Remove struct needs and its only use.
+
+2004-12-13 Roger Sayle <roger@eyesopen.com>
+
+ PR rtl-optimization/18928
+ * simplify_rtx.c (plus_minus_operand_p): New function to encode
+ the test for suitable operands for calls to simplify_plus_minus.
+ Only allow (CONST (PLUS x y)) if both x and y are CONSTANT_P.
+ (simplify_binary_operation): Use plus_minus_operand_p.
+
+2004-12-13 Alexandre Oliva <aoliva@redhat.com>
+
+ PR tree-opt/16951
+ * tree-inline.c (setup_one_parameter): Don't directly map a
+ parameter to the address of another variable of the same
+ function.
+
+2004-13-12 Steven Bosscher <stevenb@suse.de>
+
+ * basic-block.h (PROP_POSTRELOAD): Do not include PROP_AUTOINC, we
+ can never create autoinc insns after reload.
+
+2004-12-13 Jeff Law <law@redhat.com>
+ Kazu Hirata <kazu@cs.umass.edu>
+
+ PR tree-optimization/18694
+ * tree-ssa-dom.c (thread_across_edge): Do not thread jumps if a
+ PHI argument is set from a PHI_RESULT in the same block and the
+ PHI argument is not the same as the PHI result.
+
+2004-12-13 David Edelsohn <edelsohn@gnu.org>
+
+ * xcoffout.c (xcoffout_declare_function): Always strip storage
+ class encoding.
+
+2004-12-13 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR target/18964
+ * config/darwin.c (darwin_assemble_visibility): Fix minor diagnostic
+ problem, adding a space at the end of the string before concatenation.
+
+2004-12-13 Kazu Hirata <kazu@cs.umass.edu>
+
+ * c-common.c (fname_as_string): Free namep if we are returning
+ cstr.text.
+
+ * tree-ssa-dom.c (record_edge_info): Fix memory leak.
+
+2004-12-13 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * tree-cfg.c (remove_useless_stmts_cond): Call fold on COND_EXPR_COND.
+
2004-12-13 Kazu Hirata <kazu@cs.umass.edu>
* tree-ssa-dom.c (record_equivalences_from_phis): Speed up by
doing a pointer comparison.
+ * tree-ssa-dom.c (record_equivalences_from_phis): Add a
+ comment.
+
+ * defaults.h, stmt.c, tree-cfg.c, tree-ssa-dce.c: Fix comment
+ typos.
+
2004-12-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
* config/m32r/t-linux (SHLIB_MAPFILES): Add libgcc-glibc.ver to
2004-12-09 Nathan Sidwell <nathan@codesourcery.com>
+ * doc/c-tree.texi (CONSTRUCTOR): Mention RANGE_EXPRs.
+
* tree.def (SET_TYPE): Remove.
(CONSTRUCTOR): Update description.
* builtins.c (type_to_class) Remove SET_TYPE case.