+2005-01-05 Jan Hubicka <jh@suse.cz>
+ Richard Henderson <rth@redhat.com>
+
+ PR target/18910
+ * config/i386/i386.c (ix86_expand_move): Handle tls symbols
+ with an offset.
+
+2005-01-05 Richard Henderson <rth@redhat.com>
+
+ PR target/12902
+ * config/i386/i386.md (sse_movhps, sse_movlps): Remove.
+ (sse_shufps): Change operand 3 to const_int_operand.
+ (sse2_storelps): Fix typo in template.
+ (sse_storehps, sse_loadhps, sse_storelps, sse_loadlps): New.
+ * config/i386/i386.c (ix86_expand_vector_move_misalign): Use them.
+ (ix86_expand_builtin): Likewise.
+
+2005-01-05 Julian Brown <julian@codesourcery.com>
+
+ * config/arm/arm.c (arm_return_in_memory): Treat complex types
+ as aggregates for AAPCS ABIs.
+
+2005-01-05 Stan Shebs <shebs@apple.com>
+
+ * unwind-dw2-fde-darwin.c (examine_objects): Use 64-bit
+ Mach-O getters if ppc64.
+ * config/darwin.c (darwin_asm_output_dwarf_delta): Obey
+ size argument.
+ * config/darwin.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
+ signed four-byte field for global code case.
+ (STARTFILE_SPEC): Avoid crt2.o for 64-bit compilation.
+
+2005-01-05 Roger Sayle <roger@eyesopen.com>
+
+ PR middle-end/19100
+ * c-common.c: Include real.h.
+ (c_common_truthvalue_conversion): Avoid destructively modifying expr.
+ Correctly handle TREE_CONSTANT_OVERFLOW for INTEGER_CST.
+ Correctly handle TREE_CONSTANT_OVERFLOW and NaNs for REAL_CST.
+ * Makefile.in (c-common.o): Update dependencies.
+
+2005-01-05 Joseph S. Myers <joseph@codesourcery.com>
+
+ * c-parse.in (asm_string): Add trailing semicolon.
+
+2005-01-05 Joseph S. Myers <joseph@codesourcery.com>
+
+ * c-parse.in (asm_string): New. Don't allow wide strings in
+ 'asm'.
+ (simple_asm_expr, asm_argument, asm_operand, asm_clobbers): Use
+ asm_string instead of STRING.
+
+2005-01-05 Joseph S. Myers <joseph@codesourcery.com>
+
+ * c-typeck.c (constructor_no_implicit): Remove.
+ (set_designator, process_init_element): Don't check
+ constructor_no_implicit.
+
+2005-01-05 J"orn Rennecke <joern.rennecke@st.com>
+ Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/16482
+ * lcm.c (create_pre_exit): New.
+ (optimize_mode_switching): In MODE_ENTRY / MODE_EXIT case, set
+ ENTRY_EXIT_EXTRA to 3. Use create_pre_exit.
+
+2004-01-05 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.h (TARGET_OPTIONS): Correctly record -mhard-float and
+ -msoft-float in target_float_switch.
+ * arm.c (arm_override_options): Fix processing of target_float_switch.
+
+2004-01-05 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm/vfp.md (arm_movsi_vfp): Hide VFP register classes from register
+ preferencing.
+
+2004-01-05 Uros Bizjak <uros@kss-loka.si>
+
+ * doc/invoke.texi (Intel 386 and AMD x86-64 Options):
+ Replace i387 with 'i386 compiler' in -mfpmath=sse option.
+
+2005-01-04 Roger Sayle <roger@eyesopen.com>
+
+ * ifcvt.c (find_if_case_1): Avoid creating an empty forwarder block,
+ if deleting the then-block allows the test-block to fallthru to the
+ else-block.
+
+2005-01-04 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR c/19152
+ * c-decl.c (diagnose_mismatched_decls): Accept "extern inline" declared
+ after the full declaration if the are in two different TUs.
+
+2005-01-04 Richard Henderson <rth@redhat.com>
+
+ PR tree-opt/19158
+ * tree-sra.c (generate_one_element_init): Just
+ call gimplify_and_add.
+ (generate_element_init): Record the
+ new referenced variables and mark them for renaming
+ and split out to ...
+ (generate_element_init_1): This.
+ (scalarize_init): Don't call push_gimplify_context/
+ pop_gimplify_context.
+
+2005-01-04 Geoffrey Keating <geoffk@apple.com>
+
+ * toplev.c (get_src_pwd): Handle failure of getpwd().
+
+2005-01-04 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (fold_single_bit_test): Delete unreachable handling
+ of TRUTH_NOT_EXPR.
+ (fold): Don't call fold_single_bit_test with a TRUTH_NOT_EXPR, as
+ all the cases handled by it are inverted by invert_truthvalue.
+
+2005-01-04 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * config/sparc/sparc.md (save_register_windowdi): Add missing mode.
+ (save_register_windowsi): Likewise.
+
+2005-01-04 Richard Henderson <rth@redhat.com>
+
+ * tree-mudflap.c (mf_varname_tree): Fix thinko setting declname.
+
+2005-01-04 Uros Bizjak <uros@kss-loka.si>
+
+ PR middle-end/17767
+ * cse.c (fold_rtx) [RTX_COMPARE, RTX_COMM_COMPARE]: Don't attempt
+ any simplifications of vector mode comparison operators.
+ * simplify-rtx.c (simplify_relational_operation): Fix variable name.
+
+2005-01-04 Paolo Bonzini <bonzini@gnu.org>
+ Devang Patel <dpatel@apple.com>
+
+ PR tree-optimization/18308
+ * tree-if-conv.c (add_to_dst_predicate_list): Gimplify
+ the operands before creating a new expression.
+ * dojump.c (do_jump): Make drop_through_label available
+ for all cases. Add expansion of COND_EXPR.
+
+2005-01-04 Ira Rosen <irar@il.ibm.com>
+
+ * tree-vectorizer.c (vect_analyze_offset_expr): Test for
+ INTEGER_CST instead of TREE_CONSTANT.
+ (vect_gen_niters_for_prolog_loop): Test for INTEGER_CST
+ instead of TREE_CONSTANT.
+ (vect_analyze_pointer_ref_access): Test for INTEGER_CST
+ instead of TREE_CONSTANT.
+
+2005-01-04 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * tree-eh.c (replace_goto_queue): Return early if the queue is empty.
+
+2005-01-04 Uros Bizjak <uros@kss-loka.si>
+
+ PR target/19240
+ * config/i386/i386.md (*fop_df_1_i387): Disable for TARGET_SSE_MATH.
+ (*fop_df_1_i387): Disable for (TARGET_SSE2 && TARGET_SSE_MATH).
+
+2005-01-03 Richard Henderson <rth@redhat.com>
+
+ * fold-const.c (force_fit_type): Cope with types larger than 2 HWI.
+ (fold_convert_const_int_from_int, fold_convert_const_int_from_real,
+ fold_convert_const_real_from_real): Split out from ...
+ (fold_convert_const): ... here.
+
+2005-01-03 Richard Henderson <rth@redhat.com>
+
+ PR target/19235
+ * config/i386/i386.md (movdi_2): Separate SSE1 and SSE2 alternatives.
+ (mov<MMXMODEI>_internal): Likewise.
+ (movdf_nointeger): Prefer Y while not preferring, but allowing, x.
+ Add V2SF case; use it for SSE1; don't use TI.
+ (movdf_integer): Likewise.
+ (mov<SSEMODEI>_internal, movti_internal): Force V4SF for SSE1.
+
+2005-01-03 Ira Rosen <irar@il.ibm.com>
+
+ * tree-vectorizer.c (vect_strip_conversions): New function.
+ (vect_analyze_offset_expr): Call vect_strip_conversions. Add
+ check for binary class.
+
+2005-01-03 Daniel Berlin <dberlin@dberlin.org>
+
+ Fix PR debug/17924
+ Fix PR debug/19191
+ * dwarf2out.c (block_ultimate_origin): Follow decl origin if origin
+ is a decl.
+ * gimple-low.c (mark_blocks_with_used_vars): New function.
+ (mark_blocks_with_used_subblocks): Ditto.
+ (mark_used_blocks): Ditto.
+ (pass_mark_used_blocks): New pass.
+ * tree-inline.c: Include debug.h.
+ (expand_call_inline): Call outlining_inline_function here.
+ * tree-optimize.c (init_tree_optimization_passes): Add
+ pass_mark_used_blocks.
+ * tree-pass.h (pass_mark_used_blocks): New.
+ * Makefile.in (tree-inline.o): Add debug.h dependency.
+
+2005-01-03 Geoffrey Keating <geoffk@apple.com>
+
+ * config/darwin.c (darwin_handle_weak_import_attribute): Permit
+ VAR_DECLs to have weak_import attribute.
+
+ * config/rs6000/darwin-fallback.c: Use 'ucontext_t' rather than
+ 'struct ucontext'.
+
+2004-01-03 Steven Bosscher <stevenb@suse.de>
+
+ * passes.c (rest_of_compilation): Don't run regmove if only
+ flag_expensive_optimizations, require flag_regmove instead.
+
+2005-01-03 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * config/sparc/litecoff.h (TARGET_OS_CPP_BUILTINS): Do not
+ register "sparc".
+ * config/sparc/sysv4-only.h (TARGET_OS_CPP_BUILTINS): Likewise.
+ * config/sparc/rtemself.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
+ * config/sparc/sol2-64.h (TARGET_SUB_OS_CPP_BUILTINS): Delete.
+ * config/sparc/sp64-elf.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
+
+2005-01-03 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/ia64.c (TARGET_VECTOR_MODE_SUPPORTED_P): New.
+ (ia64_const_ok_for_letter_p): New.
+ (ia64_const_double_ok_for_letter_p): New.
+ (ia64_extra_constraint): New.
+ (ia64_expand_vecint_compare): New.
+ (ia64_expand_vcondu_v2si): New.
+ (ia64_expand_vecint_cmov): New.
+ (ia64_expand_vecint_minmax): New.
+ (ia64_print_operand): Add 'v'.
+ (ia64_preferred_reload_class): New.
+ (ia64_vector_mode_supported_p): New.
+ * config/ia64/ia64.h (UNITS_PER_SIMD_WORD): New.
+ (PREFERRED_RELOAD_CLASS): Move to function.
+ (CONST_OK_FOR_LETTER_P): Move to function.
+ (CONST_DOUBLE_OK_FOR_LETTER_P): Move to function.
+ (CONSTRAINT_OK_FOR_Q, CONSTRAINT_OK_FOR_R): Remove.
+ (CONSTRAINT_OK_FOR_S, CONSTRAINT_OK_FOR_T): Remove.
+ (EXTRA_CONSTRAINT): Move to function.
+ * config/ia64/ia64.md: Include vect.md.
+ (itanium_class): Add mmalua.
+ (type): Handle it.
+ * config/ia64/itanium1.md (1_mmalua): New. Add it to bypasses.
+ (1b_mmalua): New.
+ * config/ia64/itanium2.md (2_mmalua, 2b_mmalua): Similarly.
+ * config/ia64/predicates.md (gr_reg_or_0_operand): Accept any
+ CONST0_RTX.
+ (const_int_2bit_operand): New.
+ (fr_reg_or_0_operand): New.
+ * config/ia64/ia64-modes.def: Add vector modes.
+ * config/ia64/ia64-protos.h: Update.
+ * config/ia64/vect.md: New file.
+
+2005-01-03 Richard Henderson <rth@redhat.com>
+
+ * simplify-rtx.c (simplify_binary_operation): Handle VEC_CONCAT.
+
+2005-01-03 Uros Bizjak <uros@kss-loka.si>
+
+ PR target/19236
+ * config/i386/i386.c (log1psf2): Change mode of operands[0,1]
+ to SFmode.
+ (log1pdf2): Change mode of operands[0,1] to DFmode.
+
+2005-01-03 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Define to false.
+ * config/sparc/linux.h (SPARC_RELAXED_ORDERING): Define to true.
+ * config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise.
+ * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Define to
+ SPARC_RELAXED_ORDERING.
+
+2005-01-03 Richard Henderson <rth@redhat.com>
+ Uros Bizjak <uros@kss-loka.si>
+
+ PR target/14631
+ * config/i386/i386.c (ix86_expand_builtin): [IX86_BUILTIN_PINSRW,
+ IX86_BUILTIN_PINSRW128]: Fix wrong selector range in error message.
+ * config/i386/i386.md (mmx_pinsrw, sse2_pinsrw): Fix selector
+ handling.
+ (*mmx_pinsrw, *sse2_pinsrw): New patterns.
+ * config/i386/i386/predicates.md (const_pow2_1_to_8_operand,
+ const_pow2_1_to_128_operand): New predicates.
+
+2005-01-02 Greg McGary <greg@mcgary.org>
+
+ * tree-mudflap.c (mf_varname_tree): decl_printable_name handles
+ anonymous decls.
+ (mf_xform_derefs_1) [RESULT_DECL, STRING_CST]: Handle as innermost
+ object. [ptr_type]: Remove unused variable.
+ Remember nearest addressable array-element or record-component
+ when checking bitfield components. Tolerate empty BIND_EXPR.
+
+2005-01-01 Richard Henderson <rth@redhat.com>
+
+ * tree-vectorizer.c (vect_analyze_offset_expr): Strip conversions
+ that don't narrow the value. Fail for other conversions.
+
+2005-01-01 Richard Henderson <rth@redhat.com>
+
+ PR c/19031
+ * c-decl.c (pop_file_scope): Call maybe_apply_pending_pragma_weaks.
+ * c-lang.c (finish_file): Don't do it here.
+ * objc/objc-act.c (objc_finish_file): Likewise.
+
+ * cgraph.c (decl_assembler_name_equal): New.
+ (cgraph_node_for_asm, cgraph_varpool_node_for_asm): New.
+ (cgraph_varpool_node): Actually link up cgraph_varpool_nodes.
+ * cgraph.h (struct cgraph_varpool_node): Add next.
+ (cgraph_node_for_asm, cgraph_varpool_node_for_asm): Declare.
+ * varasm.c (assemble_alias): Mark the target as needed.
+
2005-01-01 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/19221