OSDN Git Service

* tree.c (type_hash_add): Don't violate strict aliasing rules.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 0d0f62b..83a3ee8 100644 (file)
@@ -1,3 +1,640 @@
+2007-11-26  Alexandre Oliva  <aoliva@redhat.com>
+
+       * tree.c (type_hash_add): Don't violate strict aliasing rules.
+
+2007-11-26  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR c/27898
+       * c-typeck.c (tagged_types_tu_compatible_p): Enable exact
+       matches between anonymous union fields.
+
+2007-11-26  Alexandre Oliva  <aoliva@redhat.com>, Jan Hubicka  <jh@suse.cz>
+
+       * tree-ssa-live.c (remove_unused_scope_block_p): Drop
+       declarations and blocks only after inlining.  Check that
+       non-empty blocks are not dropped.
+       * tree-inline.c (expand_call_inline): Check that functions are
+       not inlined too late.
+
+2007-11-26  Ben Elliston  <bje@au.ibm.com>
+
+       * unwind-dw2-fde.c: Fix comment typo.
+       * unwind-generic.h: Likewise, fix comment typos.
+       
+2007-11-25  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * tree-sra.c (scalarize_use): Adjust the vpos argument to
+       sra_explode_bitfield_assignment in cases where the type is
+       wider than the bitfield.
+
+2007-11-25  Richard Guenther  <rguenther@suse.de>
+
+       * tree.h (struct tree_block): Move locus member next to
+       flags.
+       * c-decl.c (SCOPE_LIST_APPEND): Use BLOCK_CHAIN.
+       (SCOPE_LIST_CONCAT): Likewise.
+       (pop_scope): Likewise.
+       * function.c (instantiate_decls_1): Likewise.
+       (setjmp_vars_warning): Likewise.
+       * emit-rtl.c (set_used_decls): Likewise.
+       * tree-inline.c (add_lexical_block): Likewise.
+
+2007-11-24  Hans-Peter Nilsson  <hp@axis.com>
+
+       * rtlanal.c (label_is_jump_target_p): Return true for a matching
+       REG_LABEL_TARGET.
+       * reorg.c (fill_slots_from_thread): Correct last change to use
+       NULL_RTX, not NULL.  Outside of REG_NOTES loop, increase and
+       decrease LABEL_NUSES for JUMP_LABEL (trial), not XEXP (note, 0).
+       * jump.c (mark_jump_label_1): Add comment for last change
+       regarding JUMP_LABEL setting.
+       * gcse.c (add_label_notes): Remove conditional that the label is
+       mentioned in insn before adding regnote.
+       * sched-rgn.c (is_cfg_nonregular): Don't return 1 for a
+       single_set insn only feeding a label to a jump through a
+       register that dies there.
+
+2007-11-23  Dirk Mueller  <dmueller@suse.de>
+       Richard Guenther <rguenther@suse.de>
+
+       PR middle-end/34197
+       * tree-vrp.c (check_array_ref): Move check for valid location..
+       (check_array_bounds) here. Use EXPR_HAS_LOCATION().
+
+2007-11-23  Hans-Peter Nilsson  <hp@axis.com>
+
+       * reload.c (find_reloads_address_1) <autoincdec cases>:
+       Call REG_OK_FOR_CONTEXT with the autoincdec code, not
+       outer_code.
+
+2007-11-23  Richard Guenther  <rguenther@suse.de>
+       Michael Matz  <matz@suse.de>
+
+       PR tree-optimization/34176
+       * alloc-pool.h (empty_alloc_pool): Declare.
+       * alloc-pool.c (empty_alloc_pool): New function.
+       * tree-ssa-sccvn.c (vn_reference_lookup): Also lookup from the
+       valid table if a lookup from the optimistic table failed.
+       (vn_unary_op_lookup): Likewise.
+       (vn_binary_op_lookup): Likewise.
+       (vn_phi_lookup): Likewise.
+       (process_scc): Clear optimistic tables before every iteration.
+
+2007-11-23  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-copy.c (may_propagate_copy): Remove redundant
+       checks.
+       (merge_alias_info): Do verification only if checking is
+       enabled.  Merge flow-sensitive alias information in simple
+       cases.
+       * tree-ssa-operands.c (get_addr_dereference_operands): Also
+       complain about missing NMTs.
+
+2007-11-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/34198
+       * c-common.c (conversion_warning): For INTEGER_TYPE to
+       INTEGER_TYPE conversions call get_narrower on expr to avoid
+       spurious warnings from binop shortening or when the implicit
+       conversion can't change the value.
+
+2007-11-22  Joseph Myers  <joseph@codesourcery.com>
+
+       PR c/14050
+       * c-decl.c (set_array_declarator_inner): Don't give error for
+       static or type qualifiers in abstract declarator.  Remove
+       abstract_p parameter.
+       * c-tree.h (set_array_declarator_inner): Update prototype.
+       * c-parser.c (c_parser_direct_declarator_inner): Update call to
+       set_array_declarator_inner.
+       * doc/standards.texi: Update for C99 TC3.
+
+2007-11-22  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * config/mmix/mmix.c (mmix_encode_section_info): Remove duplicate
+       line in my edit of the last change.
+
+2007-11-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/33947
+       * config/arm/arm.c (arm_init_tls_builtins): Set TREE_NOTHROW
+       and TREE_READONLY on the fn decl rather than passing a chain
+       of attributes.
+
+2007-11-22  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.md (divsi_inv_m3): Handle zero dividend
+       specially.
+
+2007-11-22  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Change checking
+       of ix86_arch and ix86_tune into a switch statement.
+       (enum processor_type): Default PROCESSOR_I386 to 0.
+       * config/i386/i386.c (ix86_decompose_address): Use TARGET_K6 instead
+       of "ix86_tune == PROCESSOR_K6".
+       (ia32_multipass_dfa_lookahead): Change checking of ix86_tune into
+       a switch statement.
+
+2007-11-22  Tom Tromey  <tromey@redhat.com>
+
+       * config/mmix/mmix.c (mmix_encode_section_info): Use alloca to
+       avoid writing into string allocated by ggc_alloc_string.
+
+2007-11-21  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       PR target/34155
+       * config/sh/sh.md (binary_sf_op): Remove.
+       (binary_sf_op0, binary_sf_op1): New define_insn_and_split.
+       * config/sh/sh.c (sh_expand_binop_v2sf): Use gen_binary_sf_op0
+       and gen_binary_sf_op1.
+
+2007-11-21  Hans-Peter Nilsson  <hp@axis.com>
+
+       * regclass.c (init_reg_autoinc): Fix typo preventing test of
+       secondary output reload when setting forbidden_inc_dec_class.
+
+2007-11-21  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/34148
+       * tree-ssa-structalias.c (create_variable_info_for): Do not use
+       field-sensitive PTA for single-element structures.
+       * tree-ssa-alias.c (create_overlap_variables_for): Do not create
+       SFTs for single-element structures.
+
+2007-11-20  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/34154
+       * gimplify.c (gimplify_switch_expr): Use tree_int_cst_lt instead
+       of the signed INT_CST_LT.
+       * stmt.c (expand_case): Likewise.
+       (estimate_case_costs): Likewise.
+
+2007-11-20  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+       * read-rtl.c (fatal_expected_char): Print EOF as text rather that
+       its binary representation.
+
+2007-11-20  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-operands.c (add_virtual_operand): Consistently prune
+       accesses.
+
+2007-11-20  Thiemo Seufer  <ths@mips.com>
+
+       * config/mips/mips.c (mips_file_start): Add support for
+       flagging 32-bit code with -mfp64 floating-point.
+
+2007-11-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/34146
+       * c-gimplify.c (optimize_compound_literals_in_ctor): New function.
+       (c_gimplify_expr): Use it.
+
+2007-11-20  Ben Elliston  <bje@au.ibm.com>
+
+       * config/spu/spu_mfcio.h: Fix typo.
+
+2007-11-20  Ben Elliston  <bje@au.ibm.com>
+
+       * unwind.inc: Comment that unwind-sjlj.c includes this file.
+
+2007-11-20  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+           Ben Elliston  <bje@au.ibm.com>
+
+       * config/spu/mfc_tag_release.c: New file.
+       * config/spu/mfc_multi_tag_release.c: Likewise.
+       * config/spu/mfc_multi_tag_reserve.c: Likewise.
+       * config/spu/mfc_tag_release.c: Likewise.
+       * config/spu/mfc_tag_reserve.c: Likewise.
+       * config/spu/mfc_tag_table.c: Likewise.
+       * config/spu/t-spu-elf (LIB2FUNCS_STATIC_EXTRA): Compile them.
+       (TARGET_LIBGCC2_CFLAGS): Define __IN_LIBGCC2.
+       * config/spu/spu_mfcio.h: Avoid <stdint.h>.
+       (uint64_t): Typedef if __IN_LIBGCC2 is defined.
+       (MFC_TAG_INVALID, MFC_TAG_VALID): New macros.
+       (mfc_tag_reserve, mfc_tag_release, mfc_multi_tag_reserve,
+       mfc_multi_tag_release): Likewise.
+       (__mfc_tag_reserve, __mfc_tag_release, __mfc_multi_tag_reserve,
+       __mfc_multi_tag_release): Declare.
+
+2007-11-19  Jason Merrill  <jason@redhat.com>
+
+       PR debug/28834, debug/29436, c/32326
+       * tree.c (build_type_attribute_qual_variant): Refuse to make
+       a distinct copy of a struct/enum type.  Use build_distinct_type_copy.
+       * doc/extend.texi (Type Attributes): Don't encourage people to add
+       attributes to struct/enum types in a typedef.  Fix
+       transparent_union example.
+
+       * tree-inline.c (remap_type_1): Remove code that's redundant with
+       remap_type.
+       (build_duplicate_type): Set id.copy_decl.
+       * c-common.c (handle_transparent_union_attribute): Simplify logic.
+
+2007-11-19  Peter Bergner  <bergner@vnet.ibm.com>
+
+       * config/rs6000/rs6000.c (invalid_e500_subreg,
+       rs6000_legitimate_offset_address_p, legitimate_lo_sum_address_p,
+       rs6000_legitimize_address, rs6000_legitimize_reload_address,
+       rs6000_legitimate_address, function_arg_advance,
+       spe_build_register_parallel, rs6000_spe_function_arg,
+       rs6000_split_multireg_move, spe_func_has_64bit_regs_p,
+       emit_frame_save, gen_frame_mem_offset, rs6000_function_value,
+       rs6000_libcall_value, rs6000_dwarf_register_span): Handle DDmode and
+       TDmode similarly to DFmode and TFmode.
+       * config/rs6000/rs6000.h (LOCAL_ALIGNMENT, MEMBER_TYPE_FORCES_BLK,
+       DATA_ALIGNMENT, CLASS_MAX_NREGS, CANNOT_CHANGE_MODE_CLASS): Likewise.
+
+2007-11-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * stor-layout.c (lang_adjust_rli): Delete.
+       (set_lang_adjust_rli): Likewise.
+       (layout_type): Do not call lang_adjust_rli hook.
+       * tree.h (set_lang_adjust_rli): Delete.
+
+2007-11-19  Bernd Schmidt  <bernd.schmidt@analog.com>
+       
+       * config/bfin/bfin.c (must_save_p): New function, mostly broken out of
+       n_dregs_to_save and n_pregs_to_save.
+       (n_pregs_to_save, n_dregs_to_save): Use it.  New argument CONSECUTIVE;
+       all callers changed.
+       (expand_prologue_reg_save, expand_epilogue_reg_restore): Enhance to be
+       able to save single D/P registers that aren't saved by the push/pop
+       multiple insns.
+
+2007-11-19  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/34099
+       * tree-ssa-ccp.c (likely_value): Exclude all but PLUS_EXPR,
+       MINUS_EXPR and POINTER_PLUS_EXPR from handling as UNDEFINED
+       if only one operand is undefined.
+
+2007-11-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR tree-optimization/34036
+       * opts.c (set_fast_math_flags): Do not set flags in common
+       with set_unsafe_math_optimizations_flags, invoke it directly.
+       (set_unsafe_math_optimizations_flags): Unset flag_trapping_math
+       and flag_signed_zeros.
+       * toplev.c (process_options): Force flag_associative_math to 0 and
+       warn, if it is set and either flag_trapping_math or flag_signed_zeros
+       is set too.
+       * doc/invoke.texi (Optimize Options): Document the new behavior
+       of -funsafe-math-optimizations, that -fassociative-math requires
+       both -fno-signed-zeros and -fno-trapping-math and make it clear
+       that -fno-trapping-math requires -fno-signaling-nans.  Refactor
+       documentation of -ffast-math.
+
+2007-11-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/34132
+       * gcse.c (try_replace_reg): Avoid rtx sharing between REG_EQUAL note
+       and insn.
+
+       PR middle-end/33335
+       * optabs.h (optab_table): Change type to struct optab from optab.
+       (convert_optab_table): Similarly.
+       Adjust all _optab macros to expand to addresses of optab_table
+       resp. convert_optab_table elements rather than the values of the
+       elements.
+       * optabs.c (optab_table): Change typype to struct optab from optab.
+       If compiled by recent GCC, initialize all the insn_code fields in
+       the array using designated range initializers.
+       (convert_optab_table): Similarly.
+       (convert_optab_libfunc, optab_libfunc, set_optab_libfunc,
+       set_conv_libfunc): Into libfunc_entry's optab field store index within
+       optab_table resp. convert_optab_table array instead of difference
+       between two separately malloced addresses.
+       (new_optab): Add op argument, don't return anything.  Initialize
+       just the insn_code field in handlers array and only when needed.
+       (init_optab, init_optabv): Add op argument, don't return anything.
+       Adjust new_optab caller.
+       (new_convert_optab): Removed.
+       (init_convert_optab): Add op argument, don't return anything, don't
+       call new_convert_optab.  If needed, initialize insn_code field in
+       handlers array.
+       (init_optabs): Adjust init_optab, init_optabv and init_convert_optab
+       callers.
+       (debug_optab_libfuncs): Adjust uses of optab_table and
+       convert_optab_table arrays.
+
+2007-11-18  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/34127
+       * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
+       Make code match up the comments, require compatibility of the
+       pointed-to types.
+
+2007-11-17  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/34130
+       * fold-const.c (extract_muldiv_1): Do not move negative
+       constants inside ABS_EXPR.
+
+2007-11-16  Ian Lance Taylor  <iant@google.com>
+
+       * collect2.c (dump_file): If a demangled symbol is followed by a
+       space, make sure we output at least one space.
+
+2007-11-16  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/34030
+       * fold-const.c (fold_binary): Use correct types for folding
+       1 << X & Y to Y >> X & 1.
+
+2007-11-16  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/33870
+       * tree.h (struct tree_memory_tag): Add base_for_components flag.
+       (struct tree_struct_field_tag): Remove nesting_level field.
+       (SFT_NESTING_LEVEL): Remove.
+       (SFT_BASE_FOR_COMPONENTS_P): Add.
+       * tree-flow.h (struct fieldoff): Remove nesting_level field.  Add
+       base_for_components flag.
+       (push_fields_onto_fieldstack): Remove nesting_level parameter.
+       * tree-ssa-alias.c (create_sft): Likewise.  Add base_for_components
+       parameter.
+       (create_overlap_variables_for): Deal with it.
+       * tree-dfa.c (dump_subvars_for): Likewise.
+       (dump_variable): Likewise.
+       * tree-ssa-structalias.c (push_fields_onto_fieldstack): Likewise.
+       Set base_for_components for first elements of sub-structures.
+       (create_variable_info_for): Handle base_for_components.
+       (set_uids_in_ptset): Always set SFT_UNPARTITIONABLE_P for
+       pointed-to SFTs if SFT_BASE_FOR_COMPONENTS_P is set.
+       * tree-ssa-operands.c (ref_nesting_level): Remove.
+       (add_vars_for_offset): Remove full_ref parameter, always add
+       the offset of the pointed-to SFT.
+       (add_virtual_operand): Adjust for changed signature of
+       add_vars_for_offset.
+
+2007-11-16  Sa Liu  <saliu@de.ibm.com>
+
+       * config/spu/spu.md (floatunssidf2, floatunsdidf2): Inlined 
+       floatunssidf2 and floatunsdidf2.
+
+2007-11-16  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/34113
+       * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
+       Use correct conversion direction for checking type compatibility.
+
+2007-11-16  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/34099
+       * tree-ssa-ccp.c (likely_value): Use a whitelist for operators
+       that produce UNDEFINED result if at least one of its operands
+       is UNDEFINED.  By default the result is only UNDEFINED if all
+       operands are UNDEFINED.
+
+2007-11-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR driver/30460
+       * gcc.c (init_spec): Don't initialize asm_debug here...
+       (main): ... but here.
+
+2007-11-07  Tom Tromey  <tromey@redhat.com>
+
+       * tree-ssa-structalias.c (ipa_pta_execute): Rename 'cfun' to
+       'func'. 
+       * tree-parloops.c (create_loop_fn): Use set_cfun.
+       * gengtype.c (open_base_files): Emit #undef cfun.
+       * ipa-struct-reorg.c (do_reorg_1): Use set_cfun.
+       * function.h (cfun): New define.
+       * function.c: Undefine cfun.
+
+2007-11-07  Eric B. Weddington  <eweddington@cso.atmel.com>
+
+       * config/avr/avr.c (avr_mcu_types): Add attiny88.
+       * config/avr/avr.h (LINK_SPEC): Likewise.
+       (CRT_BINUTILS_SPECS): Likewsie.
+       * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
+
+2007-11-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/23848
+       * tree-ssa-ccp.c (optimize_stack_restore): New function.
+       (execute_fold_all_builtins): Call optimize_stack_restore for
+       BUILT_IN_STACK_RESTORE.
+
+2007-11-15  Paolo Bonzini  <bonzini@gnu.org>
+
+       * fwprop.c (try_fwprop_subst): Skip profitability check for forward
+       propagation into an address; that's done in should_replace_address.
+               
+2007-11-15  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       * config/spu/spu-protos.h (legitimate_const): Remove prototype.
+       * config/spu/spu.c (legitimate_const): Remove.
+       (classify_immediate): Inline call to legitimate_const.
+       (spu_legitimate_address): Likewise.  Allow SYMBOL_REF + CONST_INT
+       for any constant, not just -512 .. 511.
+
+2007-11-15  Sa Liu  <saliu@de.ibm.com>
+
+       * config/spu/spu.c (spu_emit_branch_or_set): Remove PROCESSOR_CELL
+       condition from HONOR_NANS test.
+       * config/spu/spu.md (ceq_df): Always generate comparison code
+       inline, including checks for NaNs and infinities.
+       (cgt_df): Likewise.
+       (cgt_v2df): Likewise.
+       (cmpdf): Make this expander unconditional.
+
+2007-11-15  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-alias.c (create_overlap_variables_for): Make sure
+       to only create SFTs if we also create variable infos for PTA.
+       * tree-ssa-structalias.c (set_uids_in_ptset): Add all overlapping
+       SFTs.
+
+2007-11-15  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-structalias.c (set_uids_in_ptset): Use the pointed-to
+       type for TBAA pruning.
+       (find_what_p_points_to): Call set_uids_in_ptset with the original
+       pointer, not the decl of the solution we collapsed to.
+
+2007-11-14  David Daney  <ddaney@avtrex.com>
+
+       * config/mips/linux-unwind.h (mips_fallback_frame_state): Use CFA
+       to find sigcontext.
+
+2007-11-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR target/33923
+       * config/ia64/ia64.h (CANNOT_CHANGE_MODE_CLASS): Forbid mode changes
+       for registers in BR_REGS class.
+
+2007-11-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/34088
+       * tree-ssa.c (delete_tree_ssa): Don't call fini_ssa_operands if
+       init_ssa_operands has not been called for cfun.
+
+2007-11-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR tree-optimization/34046
+       * cfg.c (update_bb_profile_for_threading): Avoid the division for the
+       scaling if the old probability is greater than the new base.
+
+2007-11-14  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Remove
+       unused edges after loop duplication.
+
+2007-11-14  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.h (TARGET_CPU_DEFAULT_*): Substitute with ...
+       (enum target_cpu_default): ... this enum.
+       (TARGET_CPU_DEFAULT_NAMES): Remove macro.  Move initializer to ...
+       * config/i386/i386.c (override_options): ... here.
+       * config/i386/i386-interix.h (TARGET_CPU_DEFAULT): Use
+       TARGET_CPU_DEFAULT_i486.
+
+2007-11-14  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+       * global.c (rest_of_handle_global_alloc): Fix comment typos.
+       * config/sh/sh.c (sh_rtx_costs): Likewise.
+       * ChangeLog: Likewise.
+
+2007-11-13  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-chrec.h (build_polynomial_chrec): RHS of a chrec
+       should not be of pointer type.
+
+2007-11-13  Michael Meissner  <michael.meissner@amd.com>
+
+       * config/i386/i386.c (ix86_sse5_valid_op_p): Put type on separate
+       line.
+
+2007-11-13  Sterling Augustine  <sterling@tensilica.com>
+           Bob Wilson  <bob.wilson@acm.org>
+       
+       * config/xtensa/unwind-dw2-xtensa.c: New.
+       * config/xtensa/unwind-dw2-xtensa.h: New.
+       * config/xtensa/xtensa.h (MUST_USE_SJLJ_EXCEPTIONS): Remove.
+       (DWARF2_UNWIND_INFO): Remove.
+       (DWARF_FRAME_REGISTERS): Define.
+       (EH_RETURN_DATA_REGNO): Define.
+       * config/xtensa/xtensa.md (UNSPECV_EH_RETURN): Define.
+       (eh_return): New.
+       * config/xtensa/t-xtensa (LIB2ADDEH): Define.
+       
+2007-11-13  Jakub Jelinek  <jakub@redhat.com>
+
+       * doc/invoke.texi: Fix description of -fsched-stalled-insns=0,
+       -fsched-stalled-insns.
+
+       PR tree-optimization/34063
+       * tree-chrec.c (chrec_evaluate): Put CHREC_LEFT based argument
+       as first chrec_fold_plus operand rather than second.
+
+2007-11-13  Diego Novillo  <dnovillo@google.com>
+
+       PR tree-optimization/33870
+       * tree.h (strcut tree_memory_tag): add field unpartitionable.
+       remove field in_nested_struct.
+       (struct tree_struct_field_tag): add field nesting_level.
+       (sft_in_nested_struct): remove.
+       (sft_nesting_level): define.
+       (sft_unpartitionable_p): define.
+       * tree-ssa-alias.c (mem_sym_score): if mp->var is not
+       partitionable, return long_max.
+       (compute_memory_partitions): do not partition sfts marked
+       unpartitionable.
+       (create_sft): add argument nesting_level.  set
+       sft_nesting_level with it.  update all users.
+       (create_overlap_variables_for): show nesting level.
+       * tree-dfa.c (dump_subvars_for): likewise.
+       (dump_variable): likewise.
+       show whether the sft is partitionable or not.
+       * tree-flow.h (struct fieldoff): remove field
+       in_nested_struct.
+       add field nesting_level.
+       * tree-ssa-structalias.c (struct variable_info): remove
+       field in_nested_struct.
+       (push_fields_onto_fieldstack): add argument
+       nesting_level.  update all users.
+       update documentation.
+       update pair->nesting_level with nesting_level.
+       make recursive calls with nesting_level + 1.
+       (set_uids_in_ptset): if an sft is added to the points-to
+       set, mark it as unpartitionable.
+       * tree-ssa-operands.c (ref_nesting_level): new.
+       (add_vars_for_offset): call it.
+       add argument full_ref.  update
+       callers.
+       if var is inside a nested structure and the nesting level
+       of full_ref is lower than the nesting level of var,
+       adjust offset by the offset of var.
+
+2007-11-13  Victor Kaplansky  <victork@il.ibm.com>
+
+       PR tree-optimization/32582
+       * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-tree-vectorize
+
+2007-11-12  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * doc/extend.texi (dllimport): Document that pointers to dllimport'd
+       functions can be used as constant.
+
+2007-11-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR rtl-optimization/34035
+       * cse.c (cse_cfg_altered): New global variable.
+       (cse_jumps_altered): Make boolean.
+       (recorded_label_ref): Likewise.
+       (cse_insn): Adjust for above changes.
+       (cse_extended_basic_block): Likewise.  Set cse_cfg_altered
+       if dead edges have been purged.
+       (cse_main): Change return value specification and adjust code.
+       (rest_of_handle_cse): Adjust for above change.
+       (rest_of_handle_cse2): Likewise.
+       * gcse.c (rest_of_handle_gcse): Likewise.
+
+2007-11-12  Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
+           Michael Meissner  <michael.meissner@amd.com>
+
+       * config/i386/i386.md (sse5_setcc<mode>): Use <ssemodefsuffix> to
+       get the appropriate suffix for the coms* instruction.
+       (sse5_pcmov_<mode>): Restrict operands of pcmov
+       for scalar case to be only xmm registers and not memory.
+
+       * config/i386/sse.md (sse5_pcmov_<mode>): Correct the operand
+       constraints to follow the mnemonics for the pcmov instruction   
+
+2007-11-12  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       PR target/34042
+       * config/mips/mips.c (mips_return_fpr_single): New function.
+       (mips_function_value): Use it when returning single-field
+       aggregates in FPRs.
+       (mips_expand_call): Handle the PARALLELs created by
+       mips_return_fpr_single.
+
+2007-11-12  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/34070
+       * fold-const.c (fold_binary): If testing for non-negative
+       operands with tree_expr_nonnegative_warnv_p make sure to
+       use op0 which has all (sign) conversions retained.
+
+2007-11-12  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/34027
+       * fold-const.c (fold_binary): Fold n - (n / m) * m to n % m.
+       (fold_binary): Fold unsinged FLOOR_DIV_EXPR to TRUNC_DIV_EXPR.
+
+2007-11-12  Ira Rosen  <irar@il.ibm.com>
+
+       PR tree-optimization/33953
+       * tree-vect-transform.c (vectorizable_operation): In case of SLP,
+       allocate vec_oprnds1 according to the number of created vector
+       statements. In case of shift with scalar argument, store scalar operand
+       for every vector statement to be created for the SLP node. Fix a
+       comment.
+
 2007-11-10  Steven Bosscher  <stevenb.gcc@gmail.com>
 
        * gcse.c (CUID_INSN): Remove.
 2007-11-07  Kenneth Zadeck <zadeck@naturalbridge.com>
 
        PR middle-end/33826
-       * ipa-pure-const (static_execute): Added code to keep recursive
+       * ipa-pure-const.c (static_execute): Added code to keep recursive
        functions from being marked as pure or const.
-       * ipa-utils (searchc): Fixed comment.
+       * ipa-utils.c (searchc): Fixed comment.
                
 2007-11-08  Tom Tromey  <tromey@redhat.com>
 
 
 2007-11-07  Kenneth Zadeck <zadeck@naturalbridge.com>
 
-        * common.opt: Add pointer to doc/options.texi.
-        * doc/invoke.texi (-fdse, -fdce, -fauto-inc-dec, -fipa-pure-const,
-        -fipa-reference): Add or correct doc.  Sorted options list for -Os
-        -O, -O2.
-       
+       * common.opt: Add pointer to doc/options.texi.
+       * doc/invoke.texi (-fdse, -fdce, -fauto-inc-dec, -fipa-pure-const,
+       -fipa-reference): Add or correct doc.  Sorted options list for -Os
+       -O, -O2.
+
 2007-11-07  Bernhard Fischer  <aldot@gcc.gnu.org>
 
        PR target/16350
        (struct data_arg): Remove.
        (add_field_for_reduction, create_stores_for_reduction): New functions.
        (add_field_for_name): Remove reduction handling.
-       (separate_decls_in_loop): Call add_field_for_reduction, 
+       (separate_decls_in_loop): Call add_field_for_reduction,
        create_stores_for_reduction.
 
 2007-11-06  Jakub Jelinek  <jakub@redhat.com>
        * modulo-sched.c (sms_schedule): Add DF_UD_CHAIN problem.
 
 2007-10-29  Razya Ladelsky  <razya@il.ibm.com>
-            Zdenek Dvorak  <ook@ucw.cz>
+           Zdenek Dvorak  <ook@ucw.cz>
 
        OMP_ATOMIC Changes,
        reduction support for automatic parallelization.
        (vect-max-version-for-alignment-checks): Document.
        (vect-max-version-for-alias-checks): Document.
        (vect-max-version-checks): Remove.
-     
+
 2007-08-16  Uros Bizjak  <ubizjak@gmail.com>
 
        * config/i386/i386.md (*rep_movdi_rex64): Emit "rep" prefix on
 
 2007-07-27  Douglas Gregor  <doug.gregor@gmail.com>
        
-       * c-common.h (enum rid): Add RID_DECLTYPE, update RID_LAST_CXX0X.
+       * c-common.h (enum rid): Add RID_DECLTYPE, update RID_LAST_CXX0X.
 
 2007-07-26  Kenneth Zadeck <zadeck@naturalbridge.com>
 
        and adjust recursive call accordingly.
        (prescan_insns_for_dce): Update call to delete_insn_p.
 
-2007-06-30  Rask Ingemann Lambertsen <rask@sygehus.dk>
+2007-06-30  Rask Ingemann Lambertsen  <rask@sygehus.dk>
 
        * combine.c (combine_validate_cost): New parameter NEWOTHERPAT.
        (try_combine): Move potential calls to undo_all() so they happen
        before we commit to using the combined insns.
 
-2006-06-30  Jan Hubicka  <jh@suse.cz>
+2007-06-30  Jan Hubicka  <jh@suse.cz>
 
        * loop-unroll.c (unroll_loop_runtime_iterations): Unshare newly emit
        code.
 
-2006-06-30  Thomas Neumann  <tneumann@users.sourceforge.net>
+2007-06-30  Thomas Neumann  <tneumann@users.sourceforge.net>
 
        * ipa.c (cgraph_postorder): Cast according to the coding conventions.
        (cgraph_remove_unreachable_nodes): Likewise.
 
 2007-06-13  Dave Korn  <dave.korn@artimi.com>
 
-       * config/i386/i386.c (ix86_eax_live_at_start_p): Use
-       df_get_live_out.
+       * config/i386/i386.c (ix86_eax_live_at_start_p): Use df_get_live_out.
 
 2007-06-13  Kazu Hirata  <kazu@codesourcery.com>
 
 
 2007-06-12  Seongbae Park  <seongbae.park@gmail.com>
 
-       * df-scan.c (df_get_exit-block_use_set): Always add the stack pointer
-       to the exit block use set.
-       (df_insn_delete, df_insn_rescan): Fixed spelling of "deferring". 
-       * gcse.c (cpro_jump): Don't emit barrier in cfglayout mode.
-       * config/sparc/sparc.c (sparc_check_64): Check df != NULL.
+       * df-scan.c (df_get_exit-block_use_set): Always add the stack pointer
+       to the exit block use set.
+       (df_insn_delete, df_insn_rescan): Fixed spelling of "deferring". 
+       * gcse.c (cpro_jump): Don't emit barrier in cfglayout mode.
+       * config/sparc/sparc.c (sparc_check_64): Check df != NULL.
 
 2007-06-12  Seongbae Park  <seongbae.park@gmail.com>