+2006-01-30 Carlos O'Donell <carlos@codesourcery.com>
+
+ * optabs.c (prepare_cmp_insn): If unbaised and unsigned then bias
+ the comparison routine return.
+
+2006-01-30 Michael Matz <matz@suse.de>
+
+ * global.c (find_reg): Only evict for global regs.
+ Take n_refs into account and dump more info.
+
+2006-01-30 J"orn Rennecke <joern.rennecke@st.com>
+
+ PR target/14798:
+ * sh.c (pragma_interrupt, trap_exit, sp_switch): Remove variable.
+ (pragma_trap, pragma_nosave_low_regs): Likewise.
+ (current_function_anonymous_args): Likewise.
+ (sh_deferred_function_attributes): New variable.
+ (sh_deferred_function_attributes_tail): Likewise.
+ (print_operand): For '@', look up trap_exit attribute.
+ (calc_live_regs): Look up trapa_handler attribute. For trapa
+ handlers, save/restore fpscr, but don't do any other
+ interrupt-specific saves.
+ Don't save r0..r7 if the nosave_low_regs attribute is in effect.
+ Fix check for partially saved registers to check for SHmedia.
+ (sh_expand_prologue, sh_expand_epilogue): Look up sp_switch attribute.
+ (sh_output_function_epilogue): Don't clear any of the removed
+ variables.
+ (sh_insert_attributes): Don't check pragma_interrupt.
+ Insert deferred attributes. Check that interrupt attribute is
+ present for other attributes that require its presence.
+ (sh_attribute_table): Add new attributes trapa_handler and
+ nosave_low_regs.
+ (sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
+ Don't check for pragma_interrupt. Don't store argument.
+ * sh.h (pragma_interrupt, sp_switch): Don't declare.
+ (sh_deferred_function_attributes): Declare.
+ (sh_deferred_function_attributes_tail): Likewise.
+ * sh.md (sp_switch_1): Add operand. Change generator caller.
+ (sh_pr_interrupt, sh_pr_trapa, sh_pr_nosave_low_regs): Remove.
+ (*return_i): Don't use when trap_exit attribute is in effect.
+ (*return_trapa): New insn pattern.
+ * sh-c.c: New file.
+ * config.gcc (sh[123456ble]*-* | sh-*-*): New trailer stanza,
+ setting c_target_objs and cxx_target_objs.
+ * t-sh: Add rule for sh-c.o.
+
+2006-01-30 Richard Guenther <rguenther@suse.de>
+
+ PR c++/23372
+ * gimplify.c (gimplify_target_expr): Handle easy cases
+ without creating a temporary.
+
+2006-01-30 Nathan Sidwell <nathan@codesourcery.com>
+
+ * vec.h (safe_grow): Remove duplicated line.
+
+2006-01-29 Diego Novillo <dnovillo@redhat.com>
+
+ PR 25874
+ * omp-low.c (execute_expand_omp): Move CFG cleanup code ...
+ (expand_omp): ... here.
+ (expand_omp_parallel): Only remove barriers for combined
+ parallel+workshare constructs.
+
+2006-01-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ Revert
+
+ 2005-11-09 Eric Botcazou <ebotcazou@adacore.com>
+ * tree.c (build_qualified_type): Chain the new type to the original
+ type's TYPE_NEXT_PTR_TO or TYPE_NEXT_REF_TO linked lists if it is
+ a POINTER_TYPE or a REFERENCE_TYPE respectively.
+ (build_pointer_type_for_mode): Only return unqualified types.
+ (build_reference_type_for_mode): Likewise.
+
+2006-01-29 Gabriel Dos Reis <gdr@integgrable-solutions.net>
+
+ * configure.ac (cxx_compat_warn): Set if -Wc++-compat is supported.
+ * Makefile.in (CXX_COMPAT_WARN): Define.
+ * configure: Regenerate.
+
+2006-01-29 Dorit Nuzman <dorit@il.ibm.com>
+
+ PR tree-opt/25911
+ * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Change assert
+ to an if check.
+
+2006-01-29 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * toplev.c: Fix thinko.
+
+2006-01-29 Gabriel Dos Reis <gdr@integrable-solutions.net>
+ Marcin Dalecki <martin@dalecki.de>
+
+ * toplev.c (floor_log2, exact_log2): Don't define if __cplusplus.
+ (push_srcloc): Use XNEW.
+ (init_asm_output, default_get_pch_validity): Use XNEWVEC.
+
+2006-01-29 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ * df-core.c (df_set_blocks): Deleted all variable.
+
+2006-01-28 Ian Lance Taylor <ian@airs.com>
+
+ * cgraphunit.c (cgraph_assemble_pending_functions): Call
+ cgraph_output_pending_asms.
+
+2006-01-28 Zack Weinberg <zackw@panix.com>
+
+ * c.opt: Add -W(no-)overlength-strings.
+ * doc/invoke.texi: Document it.
+ * c-opts.c (c_common_handle_option): -pedantic implies
+ -Woverlength-strings, if not explicitly disabled already.
+ (c_common_post_options): -Woverlength-strings defaults to off, and
+ is always off for C++.
+ * c-common.c (fix_string_type): Issue warning about strings longer
+ than is portable only if warn_overlength_strings. Rearrange code
+ a little for clarity.
+ * configure.in: Check for -Wno-overlength-strings as well before
+ enabling -pedantic in stage 1.
+ * Makefile.in (STRICT2_WARN): Add -Wno-overlength-strings.
+ (gcc.o-warn, insn-automata.o-warn, build/gencondmd.o-warn): Delete.
+
+ * genconditions.c (write_header, write_one_condition)
+ (write_conditions, write_writer): Consolidate very long strings
+ that were broken up to fit in C89 portable limit. Don't use
+ printf when fputs will do.
+
+2006-01-28 Adam Nemet <anemet@caviumnetworks.com>
+
+ * combine.c (simplify_comparison <AND>): Check
+ TRULY_NOOP_TRUNCATION before start using a subreg.
+
+ * config/mips/mips.md (*branch_zero<mode>,
+ *branch_zero<mode>_inverted, *branch_equality<mode>,
+ *branch_equality<mode>_inverted, *branch_equality<mode>_mips16):
+ Remove mode check from comparisons.
+
+2006-01-28 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ * config/mips/mips-protos.h (mips_set_live_on_entry): Deleted.
+
+2006-01-28 Kazu Hirata <kazu@codesourcery.com>
+
+ * expmed.c (const_mult_add_overflow_p): Remove.
+ * expr.h: Remove the prototype for const_mult_add_overflow_p.
+
+ * recog.c (validate_replace_rtx_subexp): Remove.
+ * recog.h: Remove the prototype for
+ validate_replace_rtx_subexp.
+
+ * integrate.h: Remove the prototype for
+ copy_decl_for_inlining.
+ * rtl.h: Remove the prototype for mark_constant_function.
+ * tree-vectorizer.h: Remove the prototype for
+ vect_strip_conversion.
+
+ * modulo-sched.c (create_partial_schedule,
+ free_partial_schedule, reset_partial_schedule): Make them
+ static.
+
+ * hooks.c (hook_bool_rtx_int_false): Remove.
+ * hooks.h: Remove the prototype for hook_bool_rtx_int_false.
+
+2006-01-28 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float
+ and -mlong-double-128 are incompatible.
+ * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
+ * config/rs6000/t-aix43 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
+ (TARGET_LIBGCC2_CFLAGS): Define.
+ * config/rs6000/t-aix52 (LIB2FUNCS_EXTRA): Same.
+ (TARGET_LIBGCC2_CFLAGS): Same.
+ * config/rs6000/ppc64-fp.c: Compile for 64-bit AIX.
+
+2006-01-28 Kazu Hirata <kazu@codesourcery.com>
+
+ PR c/19606.
+ * c-typeck.c (build_binary_op): Perform implicit casts of
+ operands before shortening them.
+
+ * cfgloopmanip.c (split_loop_bb): Remove.
+ * cfgloop.h: Remove the prototype for split_loop_bb.
+
+ * cfgloop.c (flow_loop_outside_edge_p): Remove.
+ * cfgloop.h: Remove the prototype for
+ flow_loop_outside_edge_p.
+
+ * emit-rtl.c (init_virtual_regs): Make it static.
+ * function.h: Remove the prototype for init_virtual_regs.
+
+ * recog.c (peephole2_optimize): Make it static.
+ * recog.h: Remove the prototype for peephole2_optimize.
+
+2006-01-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ * df-scan.c (df_record_entry_block_defs): Check if
+ INCOMING_RETURN_ADDR_RTX is defined.
+
+2006-01-27 Daniel Berlin <dberlin@dberlin.org>
+ Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ PR rtl-optimization/24762
+ * doc/tm.texi: Added TARGET_EXTRA_LIVE_ON_ENTRY.
+ * targhooks.c (hook_void_bitmap): New hook prototype.
+ * targhoohs.h (hook_void_bitmap): Ditto.
+ * bitmap.h (bitmap_head_def): Moved to coretypes.h.
+ * coretypes.h (bitmap_head_def): Moved from bitmap.h.
+ * target.h (live_on_entry): New function pointer.
+ * df-scan.c (df_all_hard_regs): Removed.
+ (df_scan_dump, df_hard_reg_init): Removed df_all_hard_regs.
+ (df_scan_free_internal): Added df->entry_block_defs.
+ (df_scan_alloc): Ditto.
+ (df_scan_dump): Ditto.
+ (df_uses_record): Plumbed flag field properly thru calls.
+ Record EH_RETURN_DATA_REGNO in eh blocks unconditionally.
+ This part fixes PR24762.
+ (df_bb_refs_record): Added code to make the frame and arg
+ pointers live in EH blocks.
+ (df_refs_record): Added call to df_record_entry_block_defs.
+ (df_record_entry_block_defs): New function.
+ * df-core.c: Added comments to describe new artifical defs.
+ * df.h (DF_REF_DIES_AFTER_THIS_USE): New flag in enum df_ref_flags.
+ (entry_block_defs): New field in struct df.
+ (df_all_hard_regs): Deleted.
+ * target-def.h: Added TARGET_EXTRA_LIVE_ON_ENTRY.
+ * df-problems.c (df_ru_bb_local_compute_process_def):
+ Added code to handle artifical defs in the entry to a function.
+ (df_ru_bb_local_compute): Ditto.
+ (df_rd_bb_local_compute_process_def): Ditto.
+ (df_rd_bb_local_compute): Ditto.
+ (df_lr_bb_local_compute): Ditto.
+ (df_ur_bb_local_compute): Ditto.
+ (df_urec_bb_local_compute): Ditto.
+ (df_chain_create_bb): Ditto.
+ (df_ur_local_finalize): Removed entry.
+ (df_urec_init): Ditto.
+ (df_urec_local_finalize): Ditto.
+ (df_ri_bb_compute): Added detection of last use of pseudos.
+ * Makefile.in (df-scan.o): Updated dependencies.
+ * config/mips/mips-protos.h (mips_set_live_on_entry): Added.
+ * config/mips/mips.c (mips_set_live_on_entry): Added.
+ * config/mips/mips.c (TARGET_EXTRA_LIVE_ON_ENTRY): Added value
+ for target hook.
+ * dce.c (marked_insn_p): Added code to handle artifical defs.
+
+2006-01-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/emmintrin.h (_mm_cvtsd_f64): Add missing Intel
+ intrinsic.
+ (_mm_cvtsi128_si64): Likewise.
+ (_mm_cvtsd_si64): Likewise.
+ (_mm_cvttsd_si64): Likewise.
+ (_mm_cvtsi64_sd): Likewise.
+ (_mm_cvtsi64_si128): Likewise.
+ * config/i386/mmintrin.h (_m_from_int64): Likewise.
+ (_mm_cvtsi64_m64): Likewise.
+ (_m_to_int64): Likewise.
+ (_mm_cvtm64_si64): Likewise.
+ * config/i386/xmmintrin.h (_mm_cvtss_si64): Likewise.
+ (_mm_cvttss_si64): Likewise.
+ (_mm_cvtsi64_ss): Likewise.
+ (_mm_cvtss_f32): Likewise.
+
+2006-01-27 Carlos O'Donell <carlos@codesourcery.com>
+
+ * c-pragma.c (init_pragma) : Call c_register_pragma_with_expansion
+ for pragma redefine_extname.
+
+2006-01-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/25864
+ * libgcc-std.ver: Add GCC_4.1.0 symbol version.
+ * config/rs6000/t-linux64 (TARGET_LIBGCC2_CFLAGS): Only append
+ -mno-minimal-toc to previous content.
+ (bispecs): Remove goal.
+ * config/rs6000/ppc64-fp.c: Define TMODES before including fp-bit.h.
+ * config/rs6000/darwin-ldouble.c: Don't provide _xlq*@GCC_3.4
+ compatibility aliases on powerpc-*-*gnu*.
+ * config/rs6000/libgcc-ppc-glibc.ver: New file.
+ * config/rs6000/t-ppccomm (SHLIB_MAPFILES): Append
+ libgcc-ppc-glibc.ver on powerpc*-*-*gnu*.
+ (TARGET_LIBGCC2_CFLAGS): Append -specs=ldblspecs.
+ (ldblspecs): New goal.
+ * config/rs6000/t-linux64 (SHLIB_MAPFILES): Removed.
+ * mklibgcc.in: If $TPBIT is empty, don't compile _sf_to_tf and
+ _df_to_tf.
+ * config/fp-bit.h (TMODES): Don't define if none of TFLOAT,
+ L_sf_to_tf or L_df_to_tf is defined.
+
+2006-01-27 David Edelsohn <edelsohn@gnu.org>
+ Alan Modra <amodra@bigpond.net.au>
+
+ PR target/25864
+ * config/rs6000/linux.h (POWERPC_LINUX): Define.
+ * config/rs6000/linux64.h (POWERPC_LINUX): Define.
+ * config/rs6000/darwin-ldouble.c: Build on 32-bit PowerPC.
+ * config/rs6000/darwin.h (TARGET_IEEEQUAD): Define to zero.
+ * config/rs6000/aix.h (TARGET_IEEEQUAD): Define to zero.
+ * config/rs6000/rs6000.c (rs6000_ieeequad): New variable.
+ (rs6000_override_options): Initialize rs6000_ieeequad.
+ Initialize TFmode format to ibm_extended_format if not
+ TARGET_IEEEQUAD.
+ (rs6000_handle_option): Accept -mabi= ibmlongdouble and
+ ieeelongdouble.
+ (rs6000_emit_move): Move !TARGET_IEEEQUAD as two parts.
+ (rs6000_return_in_memory): Only return IEEEQUAD in memory.
+ (function_arg_advance): IBM long double passed in two FPRs, not
+ split.
+ (function_arg): IBM long double passed in FPRs.
+ (rs6000_pass_by_reference): Only IEEEQUAD passed by reference.
+ (rs6000_gimplify_va_arg): IBM long double passed in two FPRs.
+ Only multireg GPR aligned.
+ (rs6000_init_libfuncs): Enable IBM long double functions if not
+ IEEEQUAD.
+ (rs6000_generate_compare): Use IBM long double compare if not
+ TARGET_IEEEQUAD.
+ * config/rs6000/rs6000.h (rs6000_ieeequad): Declare.
+ (TARGET_IEEEQUAD): Define.
+ (CANNOT_CHANGE_MODE_CLASS): Any mode larger than doubleword if
+ not TARGET_IEEEQUAD.
+ * config/rs6000/rs6000.md: Enable TFmode patterns if
+ !TARGET_IEEEQUAD.
+ * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Add darwin-ldouble.c.
+ * config/rs6000/svr4.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float
+ and -mlong-double-128 are incompatible.
+ * doc/invoke.texi (-mabi): Collect options together. Add
+ ibmlongdouble and ieeelongdouble.
+
+2006-01-27 Richard Sandiford <richard@codesourcery.com>
+
+ * doc/rtl.texi (SYMBOL_REF_DATA): Adjust documentation for new
+ opaque type.
+ * optabs.c (init_one_libfunc): Use SET_SYMBOL_REF_DECL.
+ * varasm.c (make_decl_rtl, build_constant_desc): Likewise.
+ (force_const_mem): Use SET_SYMBOL_REF_CONSTANT.
+ * rtl.h (rtunion_def): Remove rt_ptr.
+ (X0PTR): Delete.
+ (SYMBOL_REF_DATA): Use X0ANY instead of X0PTR.
+ (SET_SYMBOL_REF_DECL, SET_SYMBOL_REF_CONSTANT): New macros.
+ * config/i386/winnt.c (i386_pe_mark_dllexport)
+ (i386_pe_mark_dllimport): Use SET_SYMBOL_REF_DECL.
+
+2006-01-27 Gabor Loki <loki@gcc.gnu.org>
+
+ * cfgcleanup.c (try_crossjump_to_edge): Fix comment typo.
+
+2006-01-26 Alexandre Oliva <aoliva@redhat.com>
+
+ PR other/24829
+ PR target/24831
+ * gthr-dce.h: Do not gthrw-ify pthread_once_init,
+ pthread_key_delete. From John David Anglin. gthrw-ify
+ pthread_getunique_np only if it it's not a macro. Delete
+ UNUSED macro.
+ (__gthread_objc_condition_allocate, __gthread_objc_condition_deallocate,
+ __gthread_objc_condition_wait, __gthread_objc_condition_broadcast,
+ __gthread_objc_condition_signal, __gthread_key_delete): Add
+ "__attribute__ ((__unused__))" to unused arguments.
+ (__gthread_recursive_mutex_init_function): Add missing return.
+ * gthr-dce.h, gthr-tpf.h, gthr-solaris.h, gthr-posix.h,
+ gthr-posix95.h: Use macro-based approach for name redirection
+ on targets missing weakref.
+
+2006-01-26 Zack Weinberg <zackw@panix.com>
+
+ * genconditions.c (write_header): In generated code, #ifdef out
+ all includes and fake declarations, except includes of bconfig.h
+ and system.h, unless GCC_VERSION >= 3001. Do not include
+ gensupport.h in any case.
+ (write_conditions): Generate a definition of struct c_test. Add
+ a comment to the generated #endif.
+ (write_one_condition): Escape backslashes in string too.
+ (write_writer): Generated code must escape backslashes and quote
+ marks (but not newlines) in the strings it writes.
+ * Makefile.in (build/gencondmd.o): Update dependencies.
+
+2006-01-26 Steve Ellcey <sje@cup.hp.com>
+
+ PR target/25961
+ * Makefile.in (insn-automata.o): Add header file dependencies.
+ * genautomata.c: Add includes.
+
+2006-01-26 Steve Ellcey <sje@cup.hp.com>
+
+ PR target/25961
+ * Makefile.in (insn-automata.o): Add -Wno-error flag.
+
+2006-01-26 Paolo Bonzini <bonzini@gnu.org>
+
+ * configure.ac: Expect target tools paths to be passed from the toplevel
+ and wrap the detection into AS_SET_VAR_IF. Extract side-effects out of
+ AS_SET_VAR_IF.
+ * acinclude.m4 (gcc_AC_TOOL_DIRS, gcc_AC_CHECK_TOOL): Remove.
+
+2006-01-26 Alexandre Oliva <aoliva@redhat.com>
+
+ PR c/25892
+ * c.opt (Wpointer-sign): Init to -1.
+ * c-opts.c (c_common_handle_option): Set to 1 on OPT_Wall and
+ OPT_pedantic, to 0 otherwise.
+ * doc/invoke.texi: Update.
+
+2006-01-26 Paolo Bonzini <bonzini@gnu.org>
+
+ * config/i386/i386.md (extendsfdf2, extendsfxf2, extenddfxf2): Emit
+ constants provided by 80387 instructions in the destination mode.
+
+2006-01-26 Richard Guenther <rguenther@suse.de>
+ Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR tree-opt/21470
+ partial PR tree-opt/17064
+ * tree-ssa-structalias.c (intra_create_variable_infos):
+ Create heap variables for incoming parameters if
+ flag_argument_noalias > 1.
+ (find_what_p_points_to): Look through default defs of
+ parameter decls.
+
+2006-01-26 Jeff Law <law@redhat.com>
+
+ PR ada/25900
+ * tree-vrp.c (extract_range_from_assert): When merging a VR_RANGE
+ with a VR_ANTI_RANGE and the VR_ANTI_RANGEis completely contained
+ within the VR_RANGE, use the VR_RANGE as the result, not the
+ VR_ANTI_RANGE.
+ (adjust_range_with_scev): Reject ranges from SCEV which are out
+ of bounds for the type.
+
+2006-01-26 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-ssa-alias.c (maybe_create_global_var): Change
+ subvar walking to an assertion that we don't have subvar'd variables.
+
+2006-01-26 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR C/25861
+ * c-common.c (c_common_truthvalue_conversion) <case ADDR_EXPR>:
+ Use a new variable, inner. PARM_DECLs are always non-weak.
+
+2006-01-26 Shantonu Sen <ssen@opendarwin.org>
+
+ * tree.h (OMP_CLAUSE_SUBCODE_CHECK): Add definition for
+ --disable-checking.
+
+2006-01-26 Adam Nemet <anemet@caviumnetworks.com>
+
+ * config/mips/mips.md (*clear_upper32): New combiner pattern.
+
+2006-01-26 Richard Earnshaw <richard.earnshaw@arm.com>
+
+ * arm.md (smaxsi3, sminsi3): Convert to define_expand.
+ (smax_insn, smin_insn, smax_0, smin_0): New.
+
+2006-01-26 Hans-Peter Nilsson <hp@axis.com>
+
+ PR target/25947
+ * config/cris/cris.c (cris_order_for_addsi3): New function.
+ * config/cris/cris-protos.h: Prototype it.
+ * config/cris/cris.md (split for "move.S1 [rx=rx+i],ry")
+ (split for "move.S1 ry,[rx=rx+i]", split for "clear.[bwd] [rx=rx+i]")
+ (split for "mov(s|u).S1 [rx=rx+i],ry", split for "op.S1 [rx=rx+i],ry")
+ (split for "op.S1 [rx=rx+i],ry (swapped)")
+ (split for "op(s|u).S1 [rx=rx+i],ry")
+ (split for "op(s|u).S1 [rx=rx+i],ry (swapped, plus or bound)"):
+ Apply cris_order_for_addsi3 when generating addsi3 insns.
+
+2006-01-25 Diego Novillo <dnovillo@redhat.com>
+
+ * tree.h (TREE_RANGE_CHECK): Fix range predicate.
+ (TREE_BLOCK): Add call to EXPR_CHECK.
+
+2006-01-25 Diego Novillo <dnovillo@redhat.com>
+
+ PR 25886
+ * tree-dump.c (dequeue_and_dump): Handle OMP_CLAUSE.
+ * tree-pretty-print.c (dump_omp_clause): Extract from ...
+ (dump_omp_clauses): ... here.
+ (dump_generic_node): Handle OMP_CLAUSE.
+ * tree.c (omp_clause_num_ops): New.
+ (omp_clause_code_name): New.
+ (tree_code_size): Handle OMP_CLAUSE.
+ (tree_size): Likewise.
+ (make_node): Document handling of OMP_CLAUSE.
+ (tree_node_structure): Handle OMP_CLAUSE.
+ (omp_clause_check_failed): New.
+ (omp_clause_range_check_failed): New.
+ (omp_clause_operand_check_failed): New.
+ (build_omp_clause): New.
+ (walk_tree): Adjust handling of OMP_CLAUSE_* nodes.
+ * tree.h (enum omp_clause_code): Declare.
+ (OMP_CLAUSE_SUBCODE_CHECK): Define.
+ (OMP_CLAUSE_RANGE_CHECK): Define.
+ (OMP_CLAUSE_ELT_CHECK): Define.
+ (omp_clause_check_failed): Declare.
+ (omp_clause_operand_check_failed): Declare.
+ (omp_clause_range_check_failed): Declare.
+ (OMP_CLAUSE_CHAIN): Do not use TREE_RANGE_CHECK.
+ (OMP_CLAUSE_OPERAND): Use OMP_CLAUSE_RANGE_CHECK.
+ (OMP_CLAUSE_PRIVATE_DEBUG): Use OMP_CLAUSE_SUBCODE_CHECK.
+ (OMP_CLAUSE_LASTPRIVATE): Likewise.
+ (OMP_CLAUSE_IF_EXPR): Likewise.
+ (OMP_CLAUSE_NUM_THREADS_EXPR): Likewise.
+ (OMP_CLAUSE_SCHEDULE_CHUNK_EXPR): Likewise.
+ (OMP_CLAUSE_REDUCTION_CODE): Likewise.
+ (OMP_CLAUSE_REDUCTION_INIT): Likewise.
+ (OMP_CLAUSE_REDUCTION_MERGE): Likewise.
+ (OMP_CLAUSE_REDUCTION_PLACEHOLDER): Likewise.
+ Use tree_node.omp_clause.subcode instead of TREE_COMPLEXITY.
+ (OMP_CLAUSE_SCHEDULE_KIND): Likewise.
+ (OMP_CLAUSE_DEFAULT_KIND): Likewise.
+ (OMP_CLAUSE_CODE): Define.
+ (OMP_CLAUSE_SET_CODE): Define.
+ (OMP_CLAUSE_CODE): Define.
+ (OMP_CLAUSE_OPERAND): Define.
+ (struct tree_omp_clause): Declare.
+ (union tree_node): Add field 'omp_clause'.
+ * treestruct.def (TS_OMP_CLAUSE): Define.
+ * tree.def (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_SHARED
+ OMP_CLAUSE_FIRSTPRIVATE, OMP_CLAUSE_LASTPRIVATE,
+ OMP_CLAUSE_REDUCTION, OMP_CLAUSE_COPYIN,
+ OMP_CLAUSE_COPYPRIVATE, OMP_CLAUSE_IF,
+ OMP_CLAUSE_NUM_THREADS, OMP_CLAUSE_SCHEDULE,
+ OMP_CLAUSE_NOWAIT, OMP_CLAUSE_ORDERED, OMP_CLAUSE_DEFAULT): Remove.
+ (OMP_CLAUSE): Define.
+ * print-tree.c (print_node): Handle OMP_CLAUSE.
+ * omp-low.c: Adapt all uses of OMP_CLAUSE_* nodes.
+ * c-typeck.c: Likewise.
+ * gimplify.c: Likewise.
+ * c-omp.c: Likewise.
+ * tree-nested.c: Likewise.
+ * tree-inline.c: Likewise.
+ * c-parser.c: Likewise.
+ * gimple-low.c (lower_omp_directive): Do not set TREE_BLOCK on
+ clauses.
+
+2006-01-25 Roger Sayle <roger@eyesopen.com>
+
+ PR rtl-optimization/25703
+ * combine.c (try_combine): Handle zero_extract and strict_low_part
+ of non-lowpart SUBREGs for constant reg_subword_p set optimization.
+
+2006-01-25 Peter Bergner <bergner@vnet.ibm.com>
+
+ * global.c: Fix comment typos.
+
+2006-01-25 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR target/25758
+ * config/i386/i386.c (output_pic_addr_const) <case SYMBOL_REF>:
+ Use output_addr_const instead of assemble_name.
+
+2006-01-25 Paolo Bonzini <bonzini@gnu.org>
+
+ * Makefile.in (sched-vis.o): Update dependencies.
+ * haifa-sched.c (sched_finish): Clear current_sched_info.
+ * cfg.c (dump_bb_info): New, split from dump_flow_info.
+ (dump_flow_info): Call it.
+ * passes.c (execute_todo): Call print_rtl_slim_with_bb to make
+ a slim RTL dump.
+ * basic-block.h (dump_bb_info): Declare.
+ * tree-dump.c (dump_enable_all): OR the flags of a -fdump-tree-all
+ option, and apply options only for dump files whose TDF_RTL,
+ TDF_TREE, or TDF_IPA bits match.
+ * rtl.h: Declare new functions exported from sched-vis.c.
+ * sched-vis.c: Enable also if scheduling is not used.
+ (print_value): Print the mode of registers if not inside scheduling.
+ (print_insn): Make it work outside the scheduler. Beautify the output
+ a bit.
+ (dump_insn_slim, debug_insn_slim, print_rtl_slim_with_bb): New.
+
+2006-01-25 Richard Sandiford <richard@codesourcery.com>
+
+ * doc/rtl.texi (SYMBOL_REF_CONSTANT, SYMBOL_REF_DATA): Document.
+ * gengtype.c (adjust_field_rtx_def): Garbage-collect field 2 of
+ a SYMBOL_REF as either a tree or a constant_descriptor_rtx,
+ depending on the value of CONSTANT_POOL_ADDRESS_P.
+ * optabs.c (init_one_libfunc): Nullify SYMBOL_REF_DATA rather than
+ SYMBOL_REF_DECL.
+ * varasm.c (make_decl_rtl, build_constant_desc): Set SYMBOL_REF_DATA
+ rather than SYMBOL_REF_DECL.
+ (rtx_constant_pool): Remove const_rtx_sym_htab.
+ (const_desc_rtx_sym_hash, const_desc_rtx_sym_eq): Delete.
+ (init_varasm_status): Don't initialize const_rtx_sym_htab.
+ (force_const_mem): Point SYMBOL_REF_DATA to the constant pool entry.
+ Remove handling of const_rtx_sym_htab.
+ (find_pool_constant): Delete.
+ (get_pool_constant, get_pool_constant_mark): Use SYMBOL_REF_CONSTANT
+ rather than find_pool_constant.
+ (get_pool_constant_for_function): Delete.
+ (get_pool_mode, mark_constant): Use SYMBOL_REF_CONSTANT rather than
+ find_pool_constant.
+ * rtl.h (rtunion_def): Add rt_constant and rt_ptr fields.
+ (X0CONSTANT, X0PTR, SYMBOL_REF_DATA): New macros.
+ (SYMBOL_REF_DECL): Return NULL if CONSTANT_POOL_ADDRESS_P.
+ (SYMBOL_REF_CONSTANT): New macro.
+ (get_pool_constant_for_function): Delete.
+ * config/i386/winnt.c (i386_pe_mark_dllexport): Set SYMBOL_REF_DATA
+ rather than SYMBOL_REF_DECL.
+ (i386_pe_mark_dllimport): Likewise.
+ * config/rs6000/rs6000.c (rs6000_emit_move): Copy SYMBOL_REF_DATA
+ rather than SYMBOL_REF_DECL.
+ * config/darwin.c (machopic_indirect_data_reference): Likewise.
+ (machopic_indirect_call_target): Likewise.
+
+2006-01-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * flow.c (delete_noop_moves): Add missing EOL to dump message.
+
+2006-01-25 Richard Sandiford <richard@codesourcery.com>
+
+ * genattrtab.c (gen_bypass): Allow bypasses to contain whitespace.
+
+2006-01-25 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/predicates.md (sh_register_operand): Accept CONST_DOUBLE.
+
+2006-01-24 David Daney <ddaney@avtrex.com>
+
+ PR java/25816
+ * configure.ac (enable_tls): New enable option.
+ (HAVE_AS_TLS): Don't do assembler check if enable_tls set.
+ * configure: Regenerate.
+ * doc/install.texi (--enable-tls): Document new option.
+ (--disable-tls): Ditto.
+
+2006-01-24 Richard Henderson <rth@redehat.com>
+
+ * alias.h (ALIAS_SET_MEMORY_BARRIER): New.
+ * alias.c (true_dependence): Respect it.
+ (canon_true_dependence, write_dependence_p): Likewise.
+ * builtins.c (get_builtin_sync_mem): Set it.
+
+2006-01-25 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * loop-iv.c (iv_analysis_loop_init): Use df analysis in a more
+ efficient way.
+
+2006-01-24 DJ Delorie <dj@redhat.com>
+
+ * expmed.c (store_bit_field): Don't arbitrarily deny using insv
+ for storing constants in single-bit bitfields.
+
+2006-01-25 Ben Elliston <bje@au.ibm.com>
+
+ * dfp.c (dfp_byte_swap): Use uint32_t and not unsigned long.
+
+2006-01-24 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR tree-opt/25860
+ * tree-ssa-pre.c (phi_translate): Return NULL
+ for AGGREGATE_TYPE's.
+
+2006-01-24 Zack Weinberg <zackw@panix.com>
+
+ * genautomata.c (process_state_for_insn_equiv_partition):
+ Use xcalloc for insn_arcs_array.
+ * vec.h (DEF_VEC_ALLOC_FUNC_I): New set of templates.
+ (DEF_VEC_ALLOC_I): Use it, not DEF_VEC_ALLOC_FUNC_P.
+
+2006-01-24 Richard Henderson <rth@redhat.com>
+
+ * genextract.c (VEC_safe_set_locstr): Take VEC by reference;
+ update all callers.
+
+2006-01-23 Paolo Bonzini <bonzini@gnu.org>
+
+ PR rtl-optimization/25890
+ PR rtl-optimization/25905
+ * combine.c (expand_compound_operation, expand_field_assignment):
+ Fail if the bitfield's final position is out of bounds.
+
+2006-01-24 Ian Lance Taylor <ian@airs.com>
+
+ PR middle-end/25930
+ * cgraphunit.c (cgraph_output_in_order): Don't clear
+ cgraph_asm_nodes until after asm strings have been output.
+
+2006-01-23 Adam Nemet <anemet@caviumnetworks.com>
+
+ * fix-header.c (read_scan_file): Add new parameter imultilib when
+ calling register_include_chains.
+
+2006-01-23 Diego Novillo <dnovillo@redhat.com>
+
+ * omp-low.c: Update documentation.
+
+2006-01-23 Andrew Pinski <pinskia@physics.uc.edu>
+ Daniel Berlin <dberlin@dberlin.org>
+
+ PR tree-opt/25315
+ PR tree-opt/25857
+ * tree-ssa-pre.c (insert_extra_phis): If an incomming edge is abnormal
+ return from the function.
+
+2006-01-22 Zack Weinberg <zackw@panix.com>
+
+ * rtl.def (match_code): Add second argument.
+ * genpreds.c (write_extract_subexp): New function.
+ (write_match_code): Add path argument. Use write_extract_subexp.
+ (write_predicate_expr): Pass path to write_match_code.
+ (mark_mode_tests): MATCH_CODE applied to a subexpression does
+ not perform a mode test.
+ * genrecog.c (compute_predicate_codes): MATCH_CODE applied to
+ a subexpression does not constrain the top-level code set.
+ * read-rtl.c (read_rtx_variadic): New function.
+ (read_rtx_1): Use it; allow AND and IOR to be variadic.
+ * doc/md.texi: Document new notation.
+ * config/i386/predicates.md (cmpsi_operand_1): Fold into ...
+ (cmpsi_operand): ... here, using new notation.
+
+2006-01-22 Zack Weinberg <zackw@panix.com>
+
+ * varray.c: Remove GENERATOR_FILE #ifdefs.
+
+2006-01-22 Zack Weinberg <zackw@panix.com>
+
+ * genautomata.c (output_reserved_units_table): Emit nothing if
+ description->query_units_num is zero. Remove extra blank line.
+ (output_cpu_unit_reservation_p): Short circuit
+ if description->query_units_num is zero.
+
+2006-01-22 Zack Weinberg <zackw@panix.com>
+
+ * genattrtab.c: Don't include genattrtab.h. Define ATTR_NONE
+ and ATTR_SPECIAL (from genattrtab.h). Don't define num_dfa_decls
+ nor any of the random handful of variables that used to be necessary
+ when this program was linked with rtlanal.o. Prune set of forward
+ function declarations.
+ (struct attr_desc): Remove static_p field.
+ (hash_obstack, temp_obstack, attr_hash_table, attr_printf)
+ (check_attr_test, make_internal_attr, make_numeric_value): Make static.
+ (attr_string): Do not read the character one past the length of
+ the string.
+ (write_attr_get, find_attr, make_internal_attr): Don't touch static_p.
+ (struct insn_reserv, all_insn_reservs, last_insn_reserv_p)
+ (n_insn_reservs, gen_insn_reserv, struct bypass_list, all_bypasses)
+ (n_bypasses, gen_bypass_1, gen_bypass, process_bypasses)
+ (make_automaton_attrs): New.
+ (main): Do not call into genautomata. Call local gen_bypass
+ and gen_insn_reserv as appropriate. Call make_automaton_attrs.
+ Remove special case for insn_alts.
+ * genautomata.c: Include gensupport.h; not genattrtab.h nor
+ varray.h (leftover from previous change). Prune set of forward
+ function declarations. Remove state_alts fields from all
+ structures. Remove state_alts_table from struct automaton.
+ Make everything except main static. Do not maintain num_dfa_decls.
+ Do not maintain state_alts fields of various structures.
+ (process_decls): Don't validate condexp for dm_insn_reserv decls.
+ (add_arc): Remove state_alts argument. All callers updated.
+ (output_reserved_units_table): Emit #ifdef here...
+ (output_tables): ...not here. Don't generate state_alts tables.
+ (expand_automata): Don't generate attributes.
+ (write_automata): Don't generate state_alts functions.
+ (main): New function.
+ (it_is_empty_reserv_sets, output_state_alts_full_vect_name)
+ (output_state_alts_comb_vect_name, output_state_alts_check_vect_name)
+ (AUTOMATON_STATE_ALTS_MACRO_NAME, INTERNAL_STATE_ALTS_FUNC_NAME)
+ (STATE_ALTS_FUNC_NAME, INSN_DEFAULT_LATENCY_FUNC_NAME)
+ (BYPASS_P_FUNC_NAME, output_state_alts_table)
+ (output_automata_list_state_alts_code, output_internal_state_alts_func)
+ (output_state_alts_func, make_insn_alts_attr, make_bypass_attr)
+ (make_internal_dfa_insn_code_attr, make_default_insn_latency_attr):
+ Delete.
+ * genattr.c: Declare internal_dfa_insn_code in insn-attr.h.
+ * genattrtab.h: Delete file.
+ * Makefile.in (OBJS-common): Add insn-automata.o.
+ (insn-automata.o): New rule.
+ (simple_generated_c): Add insn-automata.c.
+ (build/genattrtab.o, build/genautomata.o): Update dependencies.
+ (genprogmd): Add automata.
+ (build/genattrtab): Needs no extra objects nor libraries.
+ (build/genautomata): Needs build/vec.o and -lm.
+
+2006-01-22 Zack Weinberg <zackw@panix.com>
+
+ * genautomata.c (process_state_longest_path, max_dfa_issue_rate)
+ (output_dfa_max_issue_rate, locked_states_num): Delete.
+ (struct automaton): Add locked_states field.
+ (output_dead_lock_vect): Save number of locked states in
+ automaton->locked_states. If it is zero, don't print anything.
+ (output_max_insn_queue_index_def): Define max_insn_queue_index const.
+ (output_internal_dead_lock_func): Only test the dead_lock_vect
+ for automata that have locked states.
+ (output_statistics): Always print the number of locked states for
+ each automaton. Calculate total number of locked states here.
+ (write_automata): Don't call output_dfa_max_issue_rate.
+ * genattrtab.c: Define length_unit_log as a const variable.
+ * genattr.c: Don't emit MAX_DFA_ISSUE_RATE. Declare
+ max_insn_queue_index const.
+ * final.c (length_unit_log): Declare const.
+ * doc/tm.texi: Remove all references to MAX_DFA_ISSUE_RATE.
+
+2006-01-22 Zack Weinberg <zackw@panix.com>
+
+ * genautomata.c: Include vec.h, not varray.h.
+ Delete vla_ptr_t, all of the VLA_PTR_ macros, and all of the
+ VLA_HWINT_ macros. Change vla_hwint_t to a typedef for
+ VEC(vect_el_t,heap) *. Convert all uses of VLA_* macros to
+ VEC_* macros operating on appropriately typed vectors, or to
+ malloced arrays when the size is known in advance. Const-ify
+ many char* variables and function arguments. No functional changes.
+ * Makefile.in (build/varray.o): Delete rule.
+ (build/genattrtab): Depend on build/vec.o instead of build/varray.o.
+ (build/genautomata.o): Depend on vec.h instead of $(VARRAY_H).
+
+2006-01-22 Zack Weinberg <zackw@panix.com>
+
+ * gensupport.c: Define get_insn_name and record_insn_name here.
+ (read_md_rtx): Call record_insn_name as appropriate.
+ * genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c
+ * genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c
+ * genpreds.c, genrecog.c: Don't define get_insn_name nor
+ record_insn_name.
+ * Makefile.in (BUILD_SUPPORT, BUILD_PRINT): Fold into BUILD_RTL.
+ (BUILD_VARRAY): Delete.
+ (genprognormal): Rename genprogmd. Fold in all programs from
+ genprognoprint; also attrtab.
+ (build/genattrtab): Just mention genautomata.o and varray.o.
+ Reorganize a bit, add comments to make the categories clearer.
+
+2006-01-22 Zack Weinberg <zackw@panix.com>
+
+ * genconditions.c (condition_table, add_condition): Delete.
+ (write_conditions): Don't emit n_insn_conditions nor
+ insn_elision_unavailable. Issue the gcc version #ifdef here,
+ inside the table, with no #else clause ...
+ (write_header): ...not here.
+ (write_writer): New function.
+ (main): Don't initialize condition_table. Use add_c_test.
+ Call write_writer.
+ * gensupport.c (init_md_reader_args_cb): Handle multiple input
+ files on the command line.
+ (maybe_eval_c_test): Don't check insn_elision_unavailable.
+ Return -1 if there is no entry in the table, don't abort.
+ (add_c_test, traverse_c_tests): New functions.
+ * gensupport.h (insn_elision_unavailable, insn_conditions)
+ (n_insn_conditions): Delete declarations.
+ (add_c_test, traverse_c_tests): Declare.
+ * read-rtl.c: Include gensupport.h.
+ (read_conditions): New function.
+ (read_rtx): If read_rtx_1 returns 0, treat as EOF.
+ (read_rtx_1): If we get EOF when we were looking for an initial
+ open paren, return 0. Call read_conditions when appropriate.
+ * Makefile.in: Kill BUILD_EARLY_SUPPORT and all references to
+ dummy-conditions.o. Eliminate references to insn-conditions.o,
+ or change them to build/gencondmd.o, as appropriate. Remove
+ insn-constants.h from $(simple_generated_h) and insn-conditions.c
+ from $(simple_generated_c). For all files remaining in those
+ two lists, add insn-conditions.md to the generator command line.
+ Give insn-constants.h/s-constants their own rules. Add rules
+ for build/gencondmd.c, s-conditions, insn-conditions.md, s-condmd.
+ (build/read-rtl.o): Depend on gensupport.h.
+ (genprognormal): Include preds.
+ (genprogearly): Rename genprognoprint; only difference is now that
+ they don't link with $(BUILD_PRINT).
+ * dummy-conditions.c: Delete.
+
2006-01-22 Zack Weinberg <zackw@panix.com>
* genextract.c: Don't include insn-config.h. Do include vec.h.
mips-tdump.c (main), mips-tfile.c (main): Update copyright notice
dates.
-2005-01-21 Kenneth Zadeck <zadeck@naturalbridge.com>
+2006-01-21 Kenneth Zadeck <zadeck@naturalbridge.com>
* df-scan.c (problem_SCAN): Added NULL reset function.
(df_scan_reset_blocks): Added code to call reset block function
* c-common.c (empty_body_warning): Add (from c_finish_if_stmt).
Now uses IS_EMPTY_STMT() instead of special NOP markers.
-2005-01-20 Paul Brook <paul@codesourcery.com>
+2006-01-20 Paul Brook <paul@codesourcery.com>
* Makefile.in (lang_checks): Keep going if mkdir fails.
-2005-01-19 Kenneth Zadeck <zadeck@naturalbridge.com>
+2006-01-19 Kenneth Zadeck <zadeck@naturalbridge.com>
* df-scan.c (df_scan_free_bb_info): Added basic block parameter to
be able to clean out basic block when not necessary.
Fixed to properly delete information if df is unused before
calling df_finish.
-2005-01-19 Kenneth Zadeck <zadeck@naturalbridge.com>
+2006-01-19 Kenneth Zadeck <zadeck@naturalbridge.com>
PR rtl-optimization/25799
* df-problems.c (df_ru_confluence_n, df_rd_confluence_n):
2006-01-16 Rafael Ãvila de EspÃndola <rafael.espindola@gmail.com>
- * cppspec.c (lang_specific_spec_functions): remove
- * gcc.c (lookup_spec_function): use static_spec_functions directelly
- * gcc.h (lang_specific_spec_functions): remove
- * gccspec.c (lang_specific_spec_functions): remove
+ * cppspec.c (lang_specific_spec_functions): Remove.
+ * gcc.c (lookup_spec_function): Use static_spec_functions directly.
+ * gcc.h (lang_specific_spec_functions): Remove.
+ * gccspec.c (lang_specific_spec_functions): Remove.
-2005-01-16 Paolo Bonzini <bonzini@gnu.org>
+2006-01-16 Paolo Bonzini <bonzini@gnu.org>
* combine.c (record_value_for_reg): Invalidate registers
if INSN is null.
* rtlanal.c (find_reg_note): Assert insn is not null.
-2005-01-11 Kenneth Zadeck <zadeck@naturalbridge.com>
+2006-01-11 Kenneth Zadeck <zadeck@naturalbridge.com>
* df-scan.c (df_hard_reg_init): Move declaration of i outside
ifdef.
* tree-cfg.c (init_empty_tree_cfg, build_tree_cfg, create_bb):
Likewise.
-2005-01-11 Kenneth Zadeck <zadeck@naturalbridge.com>
+2006-01-11 Kenneth Zadeck <zadeck@naturalbridge.com>
* Makefile.in: Removed rotted odf.c entry.
optimizations.
* doc/tm.texi (Misc): Document TARGET_MIN_DIVISIONS_FOR_RECIP_MUL.
-2005-01-11 Danny Berlin <dberlin@dberlin.org>
+2006-01-11 Danny Berlin <dberlin@dberlin.org>
Kenneth Zadeck <zadeck@naturalbridge.com>
* df.h (DF_SCAN, DF_RU, DF_RD, DF_LR, DF_UR, DF_UREC, DF_CHAIN,