OSDN Git Service

* gcc.target/i386/sse-13.c: Include <mm_malloc.h>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index a2e4e20..fc1bb04 100644 (file)
+2008-03-26  Richard Guenther  <rguenther@suse.de>
+
+       * fold-const.c (target.h): Include.
+       (fold_comparison): Fold comparison of addresses of two decls
+       that bind locally.  Consolidate address folding code.
+
+2008-03-26  Nick Clifton  <nickc@redhat.com>
+
+       PR target/31232
+       * config/stormy16/stormy16.c (xstormy16_legitimate_address_p): Do
+       not allow INT+INT as a legitimate addressing mode.
+
+2008-03-26  Richard Guenther  <rguenther@suse.de>
+
+       * tree-flow.h (widen_bitfield): Remove declaration.
+       * tree-ssa-ccp.c (visit_assignment): Remove unneeded code.
+       (widen_bitfield): Remove function.
+       * tree-ssa-dom.c (record_equivalences_from_stmt): Remove unneeded
+       code.
+
+2008-03-25  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       PR target/31558
+       * config/rs6000/rs6000-c.c (rs6000_builtin_type_compatible): Handle
+       error_mark_node's.
+
+2008-03-25  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       PR rtl-optimization/35232
+       * reload1.c (reg_reloaded_call_part_clobbered): Clarify comment.
+       (forget_old_reloads_1, forget_marked_reloads): Don't clear
+       reg_reloaded_call_part_clobbered here.
+       (reload_regs_reach_end_p): New function.
+       (reload_reg_rtx_for_input): New variable.
+       (reload_reg_rtx_for_output): Likewise.
+       (emit_input_reload_insns): Use reloadreg rather than rl->reg_rtx
+       when reassigning a pseudo register.  Load reloadreg from 
+       reload_reg_rtx_for_input, moving the mode and register
+       calculation to...
+       (do_input_reload): ...here.  Use the mode-adjusted reg_rtx
+       instead of the original when deciding whether an input reload
+       would be a no-op or whether an output reload can be deleted.
+       (emit_output_reload_insns): Use the mode-adjusted reg_rtx
+       when setting up new_spill_reg_store.  Load it from
+       reload_reg_rtx_for_output, moving the mode and register
+       calculation to...
+       (do_output_reload): ...here.  Use the mode-adjusted reg_rtx
+       instead of the original when deciding whether an output reload
+       would be a no-op.  Do the same when modifying insn notes.
+       Use rtx_equal_p instead of == to compare the registers.
+       (inherit_piecemeal_p): Take a mode and two register numbers
+       as argument.
+       (emit_reload_insns): Clear new_spill_reg_store for every hard
+       register in the reload register.  Remove spill registers
+       from reg_reloaded_valid before considering whether to record
+       inheritance information for them.  Use reload_reg_rtx_for_output
+       instead of reg_rtx when recording output reloads.  Use
+       reload_reg_rtx_for_input instead of reg_rtx when recording
+       input reloads.  Set or clear reg_reloaded_call_part_clobbered
+       at the same time as setting reg_reloaded_valid.
+       (delete_output_reload): Add a new_reload_reg parameter and use it
+       instead of rld[j].reg_rtx.
+       (emit_input_reload_insns, do_input_reload, do_output_reload): Adjust
+       calls accordingly.
+
+2008-03-25  Tom Tromey  <tromey@redhat.com>
+
+       * Makefile.in (build/gensupport.o): Depend on insn-modes.h.
+       (build/genattr.o): Likewise.
+       (build/genattrtab.o): Likewise.
+       (build/gencodes.o): Likewise.
+       (build/genconfig.o): Likewise.
+       (build/genconstants.o): Likewise.
+       (build/genemit.o): Likewise.
+       (build/genextract.o): Likewise.
+       (build/genflags.o): Likewise.
+
+2008-03-25  Bob Wilson  <bob.wilson@acm.org>
+       
+       * config/xtensa/xtensa.c (xtensa_va_start): Use build_int_cst
+       instead of size_int for integer types.
+       (xtensa_gimplify_va_arg_expr): Likewise.  Convert index to sizetype
+       to match type of MINUS_EXPR.
+       
+2008-03-25  Tom Tromey  <tromey@redhat.com>
+
+       * configure: Rebuilt.
+       * configure.ac (BUILD_DEPMODE): Extract CCDEPMODE from temporary
+       Makefile.
+
+2008-03-25  Tom Tromey  <tromey@redhat.com>
+
+       * config/x-solaris (host-solaris.o): Update.
+       * config/x-linux (host-linux.o): Update.
+       * config/x-hpux (host-hpux.o): Update.
+       * config/x-darwin (host-darwin.o): Update.
+       * config/v850/t-v850e (v850-c.o): Update.
+       * config/v850/t-v850 (v850-c.o): Update.
+       * config/t-vxworks (vxworks.o): Update.
+       * config/t-sol2 (sol2-c.o, sol2.o): Update.
+       * config/t-darwin (darwin.o, darwin-c.o, darwin-driver.o): Update.
+       * config/spu/t-spu-elf (spu-c.o): Update.
+       (spu.o): Remove.
+       * config/sh/t-symbian (sh-c.o): Update.
+       (symbian.o): Update.
+       * config/sh/t-sh (sh-c.o): Update.
+       * config/score/t-score-elf (score7.o, score3.o): Update.
+       * config/rs6000/x-rs6000 (driver-rs6000.o): Update.
+       * config/rs6000/x-darwin64 (host-ppc64-darwin.o): Update.
+       * config/rs6000/x-darwin (host-ppc-darwin.o): Update.
+       * config/rs6000/t-rs6000 (rs6000-c.o): Update.
+       (rs6000.o): Remove.
+       * config/m68k/t-uclinux (generated_files): Add sysroot-suffix.h.
+       * config/m32c/t-m32c (m32c-pragma.o): Update.
+       * config/ia64/t-ia64 (ia64-c.o): Update.
+       * config/i386/x-mingw32 (host-mingw32.o): Update.
+       * config/i386/x-i386 (driver-i386.o): Update.
+       * config/i386/x-darwin (host-i386-darwin.o): Update.
+       * config/i386/x-cygwin (host-cygwin.o): Update.
+       * config/i386/t-nwld (nwld.o): Update.
+       * config/i386/t-netware (netware.o): Update.
+       * config/i386/t-interix (winnt.o): Update.
+       * config/i386/t-cygwin (cygwin1.o, cygwin2.o): Update.
+       * config/i386/t-cygming (winnt.o, winnt-cxx.o, winnt-stubs.o,
+       msformat-c.o): Update.
+       * config/bfin/t-bfin-linux (generated_files): Add
+       linux-sysroot-suffix.h.
+       * config/arm/t-wince-pe (pe.o): Update.
+       * config/arm/t-strongarm-pe (pe.o): Update.
+       * config/arm/t-pe (pe.o): Update.
+       * config/arm/t-arm (arm-c.o): Update.
+       * doc/install.texi (Prerequisites): Require make 3.80.
+       * Makefile.in: Remove .o targets.
+       (CCDEPMODE, DEPDIR, depcomp, BUILD_DEPMODE): New variables.
+       (OBSTACK_H, FIBHEAP_H, PARTITION_H, MD5_H, BCONFIG_H): Remove.
+       (simple_generated_h, simple_generated_c): Move earlier.
+       (generated_files): New variable.
+       (TARGET_H, MACHMODE_H, HOOKS_H, HOSTHOOKS_DEF_H, LANGHOOKS_DEF_H,
+       TARGET_DEF_H, RTL_BASE_H, RTL_H, PARAMS_H, BUILTINS_DEF, TREE_H,
+       BASIC_BLOCK_H, GCOV_IO_H, COVERAGE_H, DEMANGLE_H, RECOG_H,
+       ALIAS_H, EMIT_RTL_H, FLAGS_H, FUNCTION_H, EXPR_H, OPTABS_H,
+       REGS_H, RA_H, RESOURCE_H, SCHED_INT_H, INTEGRATE_H, CFGLAYOUT_H,
+       CFGLOOP_H, IPA_UTILS_H, IPA_REFERENCE_H, IPA_TYPE_ESCAPE_H,
+       CGRAPH_H, DF_H, RESOURCE_H, DDG_H, GCC_H, GGC_H, TIMEVAR_H,
+       INSN_ATTR_H, C_COMMON_H, C_PRAGMA_H, C_TREE_H, SYSTEM_H,
+       PREDICT_H, DECNUM_H, MKDEPS_H, SYMTAB_H, TREE_DUMP_H,
+       TREE_GIMPLE_H, TREE_FLOW_H, TREE_SSA_LIVE_H, PRETTY_PRINT_H,
+       DIAGNOSTIC_H, C_PRETTY_PRINT_H, SCEV_H, LAMBDA_H, TREE_DATA_REF_H,
+       VARRAY_H, TREE_INLINE_H, REAL_H, DBGCNT_H, EBIMAP_H): Remove.
+       (.c.o): Remove.
+       (COMPILE.base, COMPILE): New variables.
+       (%.o): New pattern rule.
+       (ALL_HOST_OBJS): New variable.
+       (xgcc$(exeext), cpp$(exeext)): Remove extra version.o.
+       (dummy-checksum.o, cc1-checksum.o): Remove.
+       (DRIVER_SHLIB): New variable.
+       (DRIVER_DEFINES): Use it.
+       (gencondmd.c): Move out of build/.
+       (s-conditions): Update.
+       (BUILDCOMPILE.base, BUILDCOMPILE): New variables.
+       (ALL_BUILD_OBJS): Likewise.
+       (build/%.o): Use BUILDCOMPILE.
+       (build/ggc-none.o, build/ggc-none.o, build/min-insn-modes.o,
+       build/print-rtl.o, build/read-rtl.o, build/rtl.o, build/vec.o,
+       build/gencondmd.o, build/genattrtab.o, build/genautomata.o,
+       build/gencheck.o, build/gencodes.o, build/genconditions.o,
+       build/genconfig.o, build/genconstants.o, build/genemit.o,
+       build/genextract.o, build/genflags.o, build/genmddeps.o,
+       build/genopinit.o, build/genoutput.o, build/genpeep.o,
+       build/genpreds.o, build/genrecog.o, build/gcov-iov.o,
+       build/gen-protos.o, build/scan.o, build/fix-header.o,
+       build/scan-decls.o): Simplify.
+       (collect2.o, c-opts.o, gcc.o, gccspec.o, gcc-options.o,
+       cppdefault.o, protoize.o, unprotoize.o, intl.o, version.o,
+       prefix.o, toplev.o): Reduce to variable setting.
+       (libbackend.o): Use COMPILE.  Remove most dependencies.  Move later.
+       ($(out_object_file), gcc-options.o): New targets.
+       ($(ALL_HOST_OBJS)): New target.  Include dependency files.
+       * configure: Rebuilt.
+       * configure.ac: Call ZW_CREATE_DEPDIR, ZW_PROG_COMPILER_DEPENDENCIES.
+       * doc/sourcebuild.texi (Front End Directory): Document new variable.
+
+2008-03-25  Douglas Gregor  <doug.gregor@gmail.com>
+
+       * c-common.c (c_sizeof_or_alignof_type): If we're not allowed to
+       complain when we hit an error, return ERROR_MARK_NODE.
+
+2008-03-25  Naveen.H.S  <naveen.hs@kpitcummins.com>
+
+       * config/sh/constraints.md (Pso, Psz): New constraints.
+       * config/sh/sh.c (print_operand): Add %V and %W operand codes.
+       * config/sh/sh.md (*andsi3_bclr, *iorsi3_bset): New insns.
+
+2008-03-25  Naveen.H.S  <naveen.hs@kpitcummins.com>
+
+       * config/sh/sh.c (sh_expand_t_scc): Emit movrt for SH2A if possible.
+       * config/sh/sh.md (xorsi3_movrt, movrt): New insns.
+
+2008-03-25  Naveen.H.S  <naveen.hs@kpitcummins.com>
+
+       * config/sh/sh.md (prefetch): Add condition for SH2A target.
+       (prefetch_sh2a): New.   
+
+2008-03-25  Jayant Sonar  <Jayant.sonar@kpitcummins.com>
+           Naveen.H.S  <naveen.hs@kpitcummins.com>
+
+       * config/sh/constraints.md (I28): New constraint.
+       * config/sh/sh.c (broken_move): Add support for movi20s.
+       * config/sh/sh.md (movsi_ie): Add the alternative for movi20s.
+
+2008-03-25  Anil Paranjape  <anil.paranjape@kpitcummins.com>
+           Jayant Sonar  <Jayant.sonar@kpitcummins.com>
+           Naveen.H.S  <naveen.hs@kpitcummins.com>
+
+       * config/sh/sh.c (SH_ATTRIBUTES): Define.
+       (SYMBOL_FLAG_FUNCVEC_FUNCTION): Define.
+       (print_operand): Handle resbank in %@ operand code.
+       (sh_encode_section_info): New.
+       (push_regs): Add conditions for resbank.
+       (sh_expand_epilogue): Likewise.
+       (sh_insert_attributes): Likewise.
+       (sh_attribute_table): Likewise.
+       (sh_handle_resbank_handler_attribute): New.
+       (sh2a_handle_function_vector_handler_attribute): New.
+       (sh2a_is_function_vector_call): New.
+       (sh2a_get_function_vector_number): New.
+       (sh2a_function_vector_p): New.
+       (sh_cfun_resbank_handler_p): New.
+       * config/sh/sh.md (calli): Emit jsr/n if possible.
+       (calli_tbr_rel): New.
+       (calli_pcrel): Emit jsr/n if possible.
+       (return_i): Emit rts/n if possible.
+       (call_valuei_tbr_rel): New.
+       (call_valuei_pcrel): Add condition for SH2A target.
+       (call_value): Likewise.
+       * config/sh/sh-protos.h (sh_cfun_resbank_handler_p): Declare.
+       (sh2a_get_function_vector_number): Likewise.
+       (sh2a_is_function_vector_call): Likewise.
+       * doc/extend.texi: Document TBR relative addressing of SH2A.
+       (resbank): Add description for SH2A.
+
+2008-03-24  Richard Guenther  <rguenther@suse.de>
+
+       PR c/22371
+       * gimplify.c (gimplify_modify_expr): For frontend type-correct
+       pointer assignments change conversions according to middle-end rules.
+       (gimplify_modify_expr_rhs): Deal with NULL TARGET_EXPR_INITIAL.
+       * configure.ac: Include type checking in yes.
+       * configure: Regenerate.
+
+2008-03-24  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+       * diagnostic.c (diagnostic_count_diagnostic): Delete.
+       (diagnostic_report_diagnostic): Update. Handle ICEs here.
+       
+2008-03-24  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * gthr-vxworks.h (UNUSED): Define.
+
+2008-03-23  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.h (STATIC_CHAIN_REGNUM): Use R10_REG and
+       CX_REG.
+
+2008-03-23  Zuxy Meng <zuxy.meng@gmail.com>
+
+       * doc/extend.texi (Function Attributes): Add missing comma in the
+       example of the "alloc_size" attribute.
+       
+2008-03-23  Uros Bizjak  <ubizjak@gmail.com>
+
+       Revert:
+       2008-03-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386-modes.def: Use 4 byte alignment on DI for
+       32bit host.
+
+       2008-03-19  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/35496
+       * stor-layout.c (update_alignment_for_field): Set minimum alignment
+       of the underlying type of a MS bitfield layout to the natural
+       alignment of the type.
+
+       2008-03-22  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (assign_386_stack_local): Align DImode slots
+       to their natural alignment to avoid store forwarding stalls.
+
+2008-03-22  Richard Guenther  <rguenther@suse.de>
+
+       * tree-cfg.c (verify_expr): Recurse again for invariant addresses.
+       For PHI nodes verify the address is invariant.
+       * tree-ssa-ccp.c (ccp_decl_initial_min_invariant): Remove.
+       (get_symbol_constant_value): Use is_gimple_min_invariant.
+       (maybe_fold_stmt_indirect): Likewise.
+
+2008-03-22  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       PR rtl-optimization/33927
+       * Makefile.in (dse.o): Depend on $(TM_P_H).
+       * expr.h (extract_low_bits): Declare.
+       * expmed.c (extract_low_bits): New function.
+       * rtlhooks.c (gen_lowpart_general): Generalize SUBREG handling.
+       * dse.c: Include tm_p.h.
+       (find_shift_sequence): Remove the read_reg argument and return the
+       read value.  Emit the instructions instead of returning them.
+       Iterate on new_mode rather than calculating it each time.
+       Check MODES_TIEABLE_P.  Use simplify_gen_subreg to convert the
+       source to NEW_MODE and extract_low_bits to convert the shifted
+       value to READ_MODE.
+       (replace_read): Allow the load and store to have different mode
+       classes.  Use extract_low_bits when SHIFT == 0.  Create the shift
+       or extraction instructions before trying the replacement.  Update
+       dump-file code accordingly, avoiding use of REGNO (store_info->rhs).
+
+2008-03-22  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (assign_386_stack_local): Align DImode slots
+       to their natural alignment to avoid store forwarding stalls.
+
+2008-03-21  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       PR target/27946
+       * config/rs6000/rs6000.md (floatdidf2): Discouraging fprs and
+       encouraging but not allowing gprs for input;
+       change the input constraint to !f#r.
+       (fix_truncdfdi2): Discouraging fprs and encouraging but not allowing
+       gprs for output;
+       change the output constraint to !f#r.
+
+2008-03-21  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/13958
+       * config/i386/i386.md ("*floatunssi<mode2>_1"): New pattern with
+       corresponding post-reload splitters.
+       ("floatunssi<mode>2"): Expand to unsigned_float x87 insn pattern
+       when x87 FP math is selected.
+       * config/i386/i386-protos.h (ix86_expand_convert_uns_sixf_sse):
+       New function prototype.
+       * config/i386/i386.c (ix86_expand_convert_uns_sixf_sse): New
+       unreachable function to ease macroization of insn patterns.
+
+2008-03-21  Martin Jambor  <mjambor@suse.cz>
+
+       * tree-data-ref.c (dump_data_dependence_relation): Avoid data
+       reference dumps if ddr is NULL or dependence is unknown.
+
+2008-03-20  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/linux-atomic.asm (ATOMIC_TEST_AND_SET): Take
+       unsigned extension into account.
+       (ATOMIC_COMPARE_AND_SWAP): Likewise.
+       (ATOMIC_FETCH_AND_OP, ATOMIC_FETCH_AND_COMBOP): Likewise.
+       Do computations on a scratch register.
+
+2008-03-21  Richard Guenther  <rguenther@suse.de>
+
+       * tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop):
+       Use is_gimple_min_invariant instead of TREE_INVARIANT.
+       * tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Likewise.
+       * tree-ssa-dom.c (record_equality): Likewise.
+       * tree-inline.c (copy_body_r): Likewise.
+       * tree-ssa-pre.c (make_values_for_stmt): Remove test for
+       TREE_INVARIANT.
+
+2008-03-20  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.c (split_branches): Pass zero to redirect_jump
+       as 'delete_unused' argument.
+
+2008-03-20  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Remove
+       special casing of constant qualifiers.
+       * tree-ssa.c (useless_type_conversion_p_1): Instead do not
+       care about them in general.
+       * tree-ssa-ccp.c (ccp_fold): Addresses are constant or not
+       regardless of their type.
+       (fold_stmt_r): Forcefully fold *& if we end up with that.
+
+2008-03-20  Paul Brook  <paul@codesourcery.com>
+
+       * config.gcc (arm*-*-uclinux*): Remove duplicate arm/uclinux-elf.h.
+       * config/arm/uclinux-eabi.h (SUBTARGET_EXTRA_LINK_SPEC): Add extra
+       linker flags.
+       * config/arm/bpabi.h (SUBTARGET_EXTRA_LINK_SPEC): Provide default
+       definition.
+       (LINK_SPEC): Use SUBTARGET_EXTRA_LINK_SPEC.
+       * config/arm/unwind-arm.h (_Unwind_decode_target2): Add uClinux.
+
+2008-03-20  Volker Reichelt  <v.reichelt@netcologne.de>
+
+       * common.opt (Wmudflap): New option.
+       * tree-mudflap.c (mf_xform_derefs_1): Guard warning by OPT_Wmudflap.
+       (mx_register_decls): Likewise.
+       (mudflap_finish_file): Likewise.
+       * doc/invoke.texi: Document -Wno-mudflap.
+
+2008-03-20  Kai Tietz  <kai.tietz@onevision.com>
+
+       * c-format.c (replace_format_name_to_system_name): New.
+       (cmp_attribs): New.
+       (convert_format_name_to_system_name): New.
+       (decode_format_attr): Add use of convert_format_name_to_system_name.
+       (format_types_orig): Add gnu_ prefix to names.
+       (check_format_info_main): Special treating of \0 escaped names for
+       supporting multi-character format specifiers as I32, I64.
+       (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): Use of user defined attributes.
+       (gnu_target_overrides_format_attributes): New.
+       * c-format.h: Add structure target_ovr_attr to hold
+       system specific formatter names.
+       * config.gcc: Add for x86&x86_64 cygwin and mingw32 targets the
+       msformat-c.o file to c_target_objs and cxx_target_objs.
+       * config/i386/mingw32.h (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): New.
+       (TARGET_OVERRIDES_FORMAT_ATTRIBUTES_COUNT): New.
+       (TARGET_N_FORMAT_TYPES): New.
+       * config/i386/msformat-c.c: New.
+       * config/i386/t-cygming: Add build rule for msformat-c.o.
+       * doc/extend.texi: Add new format names gnu_* and ms_* and
+       further details.
+       * doc/tm.texi: (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): New.
+
+2008-03-20  Ira Rosen  <irar@il.ibm.com>
+
+       * doc/invoke.texi (-O3): Add -ftree-vectorize to the list of
+       optimizations turned on under -O3.
+       (ftree-vectorize): Add that the flag is turned on with -O3.
+
+2008-03-20  Ben Elliston  <bje@au.ibm.com>
+
+       * regmove.c (try_auto_increment): Fix spelling error in comment.
+       * final.c (final_scan_insn): Likewise.
+
+2008-03-20  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/14552
+       * config/i386/mmx.md (*mov<mode>_internal_rex64"): Adjust register
+       allocator preferences for "y" and "r" class registers.
+       ("*mov<mode>_internal"): Ditto.
+       ("*movv2sf_internal_rex64"): Ditto.
+       ("*movv2sf_internal"): Ditto.
+
+2008-03-19  Michael Matz  <matz@suse.de>
+
+       PR middle-end/35616
+       * calls.c (expand_call): Check overlap of arguments with call
+       address for sibcalls.
+
+2008-03-19  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/35496
+       * stor-layout.c (update_alignment_for_field): Set minimum alignment
+       of the underlying type of a MS bitfield layout to the natural
+       alignment of the type.
+
+2008-03-19  Jan Hubicka  <jh@suse.cz>
+
+       PR other/35094
+       * toplev.c (decode_d_option): Handle all CPP flags.
+       * tree-vrp.c: Update tree_pass descriptors.
+       * regrename.c: Update tree_pass descriptors.
+       * fwprop.c: Update tree_pass descriptors.
+       * doc/invoke.texi: Remove documentation of dropped -d? flags.
+       * tree-into-ssa.c: Update tree_pass descriptors.
+       * tree-dump.c: Update tree_pass descriptors.
+       * tree-complex.c: Update tree_pass descriptors.
+       * tree-dump.h: Update tree_pass descriptors.
+       * see.c: Update tree_pass descriptors.
+       * cgraphbuild.c: Update tree_pass descriptors.
+       * tracer.c: Update tree_pass descriptors.
+       * tree-loop-distribution.c: Update tree_pass descriptors.
+       * cgraph.c: Update tree_pass descriptors.
+       * postreload-gcse.c: Update tree_pass descriptors.
+       * postreload.c: Update tree_pass descriptors.
+       * tree-ssa-loop-ch.c: Update tree_pass descriptors.
+       * tree-tailcall.c: Update tree_pass descriptors.
+       * tree-pass.h (tree_opt_pass): Rename to ...
+       (opt_pass) ... this one; add "type" field and remove letter field.
+       (gimple_opt_pass, rtl_opt_pass, simple_ipa_opt_pass): New.
+       (execute_pass_list, execute_ipa_pass_list, all_passes, all_ipa_passes,
+       all_lowering_passes): Update declaration.
+       * ipa-cp.c: Update tree_pass descriptors.
+       * final.c: Update tree_pass descriptors.
+       * omp-low.c: Update tree_pass descriptors.
+       * tree-ssa-dse.c: Update tree_pass descriptors.
+       * ipa-reference.c: Update tree_pass descriptors.
+       * tree-ssa-uncprop.c: Update tree_pass descriptors.
+       * auto-inc-dec.c: Update tree_pass descriptors.
+       * reorg.c: Update tree_pass descriptors.
+       * cgraphunit.c: Update tree_pass descriptors.
+       * tree-ssa-copyrename.c: Update tree_pass descriptors.
+       * tree-ssa-ccp.c: Update tree_pass descriptors.
+       * df-core.c: Update tree_pass descriptors.
+       * mode-switching.c: Update tree_pass descriptors.
+       * tree-nomudflap.c: Update tree_pass descriptors.
+       * modulo-sched.c: Update tree_pass descriptors.
+       * ipa-pure-const.c: Update tree_pass descriptors.
+       * cse.c: Update tree_pass descriptors.
+       * web.c: Update tree_pass descriptors.
+       * tree-stdarg.c: Update tree_pass descriptors.
+       * tree-ssa-math-opts.c: Update tree_pass descriptors.
+       * tree-ssa-dom.c: Update tree_pass descriptors.
+       * tree-nrv.c: Update tree_pass descriptors.
+       * tree-ssa-alias.c: Update tree_pass descriptors.
+       * loop-init.c: Update tree_pass descriptors.
+       * gimple-low.c: Update tree_pass descriptors.
+       * ipa-inline.c: Update tree_pass descriptors.
+       * tree-ssa-sink.c: Update tree_pass descriptors.
+       * global.c: Update tree_pass descriptors.
+       * ifcvt.c: Update tree_pass descriptors.
+       * jump.c: Update tree_pass descriptors.
+       * predict.c: Update tree_pass descriptors.
+       * tree-ssa-loop.c: Update tree_pass descriptors.
+       * recog.c: Update tree_pass descriptors.
+       * dse.c: Update tree_pass descriptors.
+       * tree-ssa-ifcombine.c: Update tree_pass descriptors.
+       * tree-eh.c: Update tree_pass descriptors.
+       * regmove.c: Update tree_pass descriptors.
+       * local-alloc.c
+       * function.c: Update tree_pass descriptors.
+       * tree-vectorizer.c: Update tree_pass descriptors.
+       * gcse.c: Update tree_pass descriptors.
+       * ipa-type-escape.c: Update tree_pass descriptors.
+       * tree-if-conv.c: Update tree_pass descriptors.
+       * init-regs.c: Update tree_pass descriptors.
+       * ipa.c: Update tree_pass descriptors.
+       * tree-ssa-phiopt.c: Update tree_pass descriptors.
+       * rtl-factoring.c: Update tree_pass descriptors.
+       * lower-subreg.c: Update tree_pass descriptors.
+       * bt-load.c: Update tree_pass descriptors.
+       * tree-dfa.c: Update tree_pass descriptors.
+       * except.c: Update tree_pass descriptors.
+       * emit-rtl.c: Update tree_pass descriptors.
+       * cfgexpand.c: Update tree_pass descriptors.
+       * tree-cfgcleanup.c: Update tree_pass descriptors.
+       * cfgcleanup.c: Update tree_pass descriptors.
+       * tree-ssa-pre.c: Update tree_pass descriptors.
+       * tree-sra.c: Update tree_pass descriptors.
+       * tree-mudflap.c: Update tree_pass descriptors.
+       * tree-ssa-copy.c: Update tree_pass descriptors.
+       * cfglayout.c: Update tree_pass descriptors.
+       * tree-ssa-forwprop.c: Update tree_pass descriptors.
+       * tree-ssa-dce.c: Update tree_pass descriptors.
+       * tree-ssa.c: Update tree_pass descriptors.
+       * regclass.c: Update tree_pass descriptors.
+       * integrate.c: Update tree_pass descriptors.
+       * tree-optimize.c: Update tree_pass descriptors.
+       * tree-ssa-phiprop.c: Update tree_pass descriptors.
+       * tree-object-size.c: Update tree_pass descriptors.
+       * combine.c: Update tree_pass descriptors.
+       * tree-outof-ssa.c: Update tree_pass descriptors.
+       * bb-reorder.c: Update tree_pass descriptors.
+       * stack-ptr-mod.c: Update tree_pass descriptors.
+       * var-tracking.c: Update tree_pass descriptors.
+       * tree-profile.c: Update tree_pass descriptors.
+       * tree-vect-generic.c: Update tree_pass descriptors.
+       * reg-stack.c: Update tree_pass descriptors.
+       * sched-rgn.c: Update tree_pass descriptors.
+       * tree-ssa-structalias.c: Update tree_pass descriptors.
+       * tree-cfg.c: Update tree_pass descriptors.
+       * passes.c (current_pass): Update declaration.
+       (finish_optimization_passes): Update.
+       (all_passes, all_ipa_passes, all_lowering_passes): Update declaration.
+       (register_one_dump_file, register_dump_files_1, next_pass_1):
+       Update arguments.
+       (init_optimization_passes): Update handling of new types.
+       (execute_one_pass, execute_pass_list, execute_ipa_pass_list): Update.
+       * ipa-struct-reorg.c: Update tree_pass descriptors.
+       * tree-ssa-reassoc.c: Update tree_pass descriptors.
+       * combine-stack-adj.c: Update tree_pass descriptors.
+       * cfgrtl.c: Update tree_pass descriptors.
+       * dce.c: Update tree_pass descriptors.
+       * tree-ssanames.c: Update tree_pass descriptors.
+
+2008-03-19  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/35609
+       * tree-ssa.c (walk_data): New structure.
+       (warn_uninitialized_var): If not always_executed warn with "maybe"
+       instead of "is".
+       (execute_early_warn_uninitialized): Compute post-dominators.
+       Initialize always_executed before processing each basic block.
+
+2008-03-18  Mikulas Patocka  <mikulas@artax.karlin.mff.cuni.cz>
+
+       PR target/35504
+       * config/i386/i386.c (x86_this_parameter): Calculate correct location
+       of "this" pointer when "regparm = N" or "fastcall" is in effect.
+
+2008-03-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * doc/include/texinfo.tex: Update to version 2008-03-17.10.
+
+2008-03-18  Paolo Bonzini  <bonzini@gnu.org>
+
+       * expr.c (store_expr): Assume lang_hooks.reduce_bit_field_operations
+       is true.
+       (expand_expr_real_1) <REDUCE_BIT_FIELD>: Don't look at ignore.
+       (expand_expr_real_1): Assume lang_hooks.reduce_bit_field_operations
+       is true.  Add "&& !ignore" condition to reduce_bit_field.  Modify
+       target after ignore has been set, and move there also the commputation
+       of subtarget and original_target.
+       * langhooks-def.h (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Delete.
+       (LANG_HOOKS_INITIALIZER): Remove it.
+       * langhooks.h (struct lang_hooks): Remove reduce_bit_field_operations.
+
+2008-03-18  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-sccvn.c (visit_reference_op_load): If the lookup
+       found an expression with constants, note that in the VN for the lhs.
+       * tree-ssa-pre.c (eliminate): Visit COND_EXPR statements and
+       fold them to constants if possible.  Run cleanup_cfg if done so.
+       (execute_pre): Return todo.
+       (do_pre): Likewise.
+       (execute_fre): Likewise.
+       * tree-ssa-forwprop.c (can_propagate_from): Allow propagation
+       of constants.
+       (get_prop_source_stmt): Look through pointer conversions.
+
+2008-03-18  Jan Hubicka  <jh@suse.cz>
+
+       * tree-pretty-print.c: Include predict.h.
+       (dump_generic_node): Dump predictor.
+       * tree.h (PREDICT_EXPR_OUTCOME, PREDICT_EXPR_PREDICTION): Update.
+       * tree-gimple.c (is_gimple_stmt): Add PREDICT_EXPR.
+       * gimple-low.c (lower_stmt): Likewise.
+       * expr.c (expand_expr_real): Likewise.
+       * predict.c (tree_bb_level_predictions): Use PREDICT_EXPRs and remove
+       them.
+       (build_predict_expr, build_predict_expr): New.
+       * predict.h (predictor_name, build_predict_expr): Update.
+       * c-typeck.c (c_finish_bc_stmt): Add prediction.
+       * gimplify.c (gimplify_expr): Add PREDICT_EXPR.
+       * predict.def (PRED_CONTINUE): Update hitrate.
+       * tree.def (PREDICT_EXPR): Define.
+       * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Mark PREDICT_EXPR;
+       do not handle BIND_EXPR.
+       * tree-inline.c (estimate_num_insns_1): PREDICT_EXPR is free.
+       * tree-cfg.c (verify_gimple_stmt): PREDICT_EXPR is valid.
+       * tree-ssa-operands.c (get_expr_operands): PREDICT_EXPR takes no
+       operands.
+
+2008-03-18  Michael Matz  <matz@suse.de>
+
+       * gcov-io.h (__gcov_merge_ior, __gcov_fork): Mark hidden.
+
+2008-03-18  Richard Guenther  <rguenther@suse.de>
+
+       * tree-gimple.h (is_gimple_invariant_address): Declare.
+       (is_gimple_constant): Likewise.
+       * tree-gimple.c (is_gimple_constant): New function.
+       (is_gimple_invariant_address): Likewise.
+       (is_gimple_min_invariant): Implement in terms of is_gimple_constant
+       and is_gimple_invariant_address.
+       * tree-ssa-loop-niter.c (expand_simple_operations): Revert
+       previous change.
+       * tree-data-ref.c (get_references_in_stmt): A SSA_NAME is not
+       an addressable base.
+
+2008-03-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/35611
+       * gimplify.c (gimplify_expr): Gimplify second operand of
+       OMP_ATOMIC_LOAD.
+
+2008-03-17  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/19637
+       * fold-const.c (fold_unary): Remove restrictions of removing
+       intermediate pointer-conversions (P2)(P1)P0.
+       * tree-ssa-ccp.c (maybe_fold_stmt_addition): Recover from
+       conversion to void pointer.
+       (get_maxval_strlen): Handle addresses of the form &(*p)[0].
+
+2008-03-16  James E. Wilson  <wilson@tuliptree.org>
+
+       PR debug/31510
+       * dbxout.c (dbxout_expand_expr, case VAR_DECL): Return NULL for
+       emulated thread local variables.
+
+2008-03-16  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/35607
+       * tree-ssa-loop-niter.c (expand_simple_operations): Do not
+       expand TREE_INVARIANT operations that are not gimple invariant.
+
+2008-03-16  Hans-Peter Nilsson  <hp@axis.com>
+
+       * doc/extend.texi (Alignment): Say that the ABI controls
+       the __alignof__ for non-strict-alignment targets rather
+       than being a recommendation.
+
+2008-03-15  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/arm.c (arm_unwind_emit): Suppress unused unwinding
+       annotations.
+       (arm_output_fn_unwind): Mark functions that can not be unwound.
+
+2008-03-15  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/arm.c (arm_rtx_costs_1): Add costs for ARMv6 value
+       extension instructions.
+
+2008-03-15  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-ccp.c (ccp_fold): Also read from constant values
+       and fold constant aggregate refs.
+       (fold_const_aggregate_ref): Handle string constants
+       and constructors in ARRAY_REFs.  Handle INDIRECT_REF.
+       (evaluate_stmt): Simplify now that ccp_fold folds constant
+       aggregate refs.
+
+2008-03-15  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/arm.md (insv): Use gen_insv_t2 and gen_insv_zero.
+       (extzv): Use gen_extzv_t2.
+       (insv_t2, insv_zero, extv, extzv_t2): New patterns.
+
+2008-03-15  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-ccp.c (get_symbol_constant_value): Export.
+       (fold_const_aggregate_ref): Likewise.
+       (get_value): Return NULL if we don't have any values.
+       (ccp_finalize): Set const_val to NULL after freeing it.
+       * tree-flow.h (get_symbol_constant_value): Declare.
+       (fold_const_aggregate_ref): Likewise.
+       * tree-ssa-sccvn.c (try_to_simplify): Use them.
+
+2008-03-15  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/35593
+       * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Make sure
+       to not produce negative array indices if not allowed.  Add
+       parameter to indicate that.
+       (maybe_fold_offset_to_component_ref): Allow negative array
+       indices only for the first member of a structure.
+       (maybe_fold_offset_to_reference): Allow negative array indices.
+       (maybe_fold_stmt_addition): Likewise.
+
+2008-03-15  Bjoern Haase  <bjoern.m.haase@web.de>
+           Anatoly Sokolov <aesok@post.ru>
+
+       * gcc/gcc/config/avr/avr.c (avr_arch_types): Add avr6 entry.
+       (avr_arch): Add ARCH_AVR6.
+       (avr_mcu_types): Add 'atmega2560' and 'atmega2561' entry.
+       (initial_elimination_offset): Initialize and use 'avr_pc_size' 
+       instead of fixed value 2.
+       (print_operand_address): Use gs() asm specifier instead of pm().
+       (avr_assemble_integer): (Ditto.).
+       (avr_output_addr_vec_elt): (Ditto.).
+       (print_operand): Handle "!" code.
+       * gcc/gcc/config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Add 
+       __AVR_3_BYTE_PC__, __AVR_2_BYTE_PC__ and __AVR_HAVE_JMP_CALL__.
+       (AVR_HAVE_EIJMP_EICALL): Define.
+       (AVR_3_BYTE_PC): Redefine.
+       (AVR_2_BYTE_PC): (Ditto.).
+       (PRINT_OPERAND_PUNCT_VALID_P): Add '!' code.
+       (LINK_SPEC): Add atmega2560 and atmega2561.
+       (CRT_BINUTILS_SPEC): Add atmega2560 (crtm2560.o) and atmega2561 
+       (crtm2561.o).
+       * gcc/gcc/config/avr/avr.md (call_insn): Use eicall instead of icall 
+       for 3 byte PC devices.
+       (call_value_insn): (Ditto.).
+       (*tablejump_enh): Use eijmp instead of ijmp for 3 byte PC devices.
+       (indirect_jump): Use only for for 2 byte PC devices.
+       (*tablejump): (Ditto.).
+       (*indirect_jump_avr6): Add insn.
+       (*tablejump_rjmp): Don't use for 3 byte PC devices.
+       * gcc/gcc/config/avr/libgcc.S (__prologue_saves__): Use eijmp 
+       instead of ijmp for 3 byte PC devices.
+       (__tablejump2__): (Ditto.).
+       * gcc/gcc/config/avr/t-avr (MULITLIB_OPTIONS): Add avr6 architecture.
+       (MULITLIB_DIRNAMES): (Ditto.). 
+       (MULTILIB_MATCHES): Add atmega2560 and atmega2561 to list.
+
+2008-03-15  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/mmx.md ("sse2_umulv1siv2di3"): Rename from
+       "sse2_umulsidi3".  Use V1DI mode for operand 0.
+       ("mmx_psadbw"): Use V1DI mode for operand 0.
+       * config/i386/i386-modes.def (V1SI): New vector mode.
+       * config/i386/i386.c (struct builtin_description)
+       [IX86_BUILTIN_PMULUDQ]: Use CODE_FOR_sse2_umulv1siv1di3.
+       (v1di_ftype_v8qi_v8qi): Rename from di_ftype_v8qi_v8qi.
+       (v1di_ftype_v2si_v2si): Rename from di_ftype_v2si_v2si.
+       (ix86_init_mmx_sse_builtins) [__builtin_ia32_psadbw]: Use
+       v1di_ftype_v8qi_v8qi type.
+       [__builtin_ia32_pmuludq]: Use v1di_ftype_v2si_v2si type.
+
+       * doc/extend.texi (X86 Built-in Functions) [__builtin_ia32_psadbw,
+       __builtin_ia32_pmuludq]: Fix the mode of return value.
+
+2008-03-15  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/35595
+       * tree-ssa-pre.c (bitmap_find_leader): Handle expression
+       being a PHI_NODE.
+
+2008-03-14  Bob Wilson  <bob.wilson@acm.org>
+       
+       * doc/invoke.texi (Option Summary, Xtensa Options): Document
+       -mserialize-volatile and -mno-serialize-volatile Xtensa options.
+       * config/xtensa/xtensa.c (print_operand): Do not emit MEMW instructions
+       unless TARGET_SERIALIZE_VOLATILE is enabled.
+       * config/xtensa/xtensa.md (*lsiu, *ssiu): Likewise.
+       * config/xtensa/xtensa.h (TARGET_DEFAULT): Add MASK_SERIALIZE_VOLATILE.
+       * config/xtensa/xtensa.opt (mserialize_volatile): New option.
+
+2008-03-14  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/34172
+       * tree-flow.h (refs_may_alias_p): Declare.
+       (get_single_def_stmt): Likewise.
+       (get_single_def_stmt_from_phi): Likewise.
+       (get_single_def_stmt_with_phi): Likewise.
+       * tree-dfa.c (refs_may_alias_p): New function.
+       (get_single_def_stmt): Likewise.
+       (get_single_def_stmt_from_phi): Likewise.
+       (get_single_def_stmt_with_phi): Likewise.
+       * tree-ssa-sccvn.c (get_def_ref_stmt_vuses): New function.
+       (vn_reference_lookup_1): New helper function.
+       (vn_reference_lookup): Walk the virtual use-def chain to
+       continue searching for a match if the def does not alias the
+       reference we are looking for.
+
+2008-03-14  David Edelsohn  <edelsohn@gnu.org>
+
+       * doc/install.texi (Binaries): Remove UCLA archive.  Add HVCC
+       archive and Perzl.  Update The Written Word listing.
+
+2008-03-14  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/34043
+       PR tree-optimization/33989
+       * tree-ssa-pre.c (execute_pre): Allow SCCVN to do insertion
+       when doing FRE.
+       (bitmap_find_leader): Use extra argument to verify dominance
+       relationship inside a basic-block.
+       (can_PRE_operation): Add VIEW_CONVERT_EXPR.
+       (find_leader_in_sets): Adjust.
+       (create_component_ref_by_pieces): Take extra argument for
+       dominance check, handle lookup failures.
+       (find_or_generate_expression): Likewise.
+       (create_expression_by_pieces): Likewise.
+       (insert_into_preds_of_block): Adjust.
+       (create_value_expr_from): If asked for, verify all operands
+       are in the blocks AVAIL_OUT set.
+       (make_values_for_stmt): Check for SSA_NAMEs that are life
+       over an abnormal edge.
+       (compute_avail): Remove such check.
+       (do_SCCVN_insertion): New function.
+       (eliminate): If we do not find a leader suitable for replacement
+       insert a replacement expression from SCCVN if available.
+       * tree-ssa-sccvn.h (run_scc_vn): Update prototype.
+       (struct vn_ssa_aux): Add needs_insertion flag.
+       * tree-ssa-sccvn.c (may_insert): New global flag.
+       (copy_reference_ops_from_ref): Value-number union member access
+       based on its size, not type and member if insertion is allowed.
+       (visit_reference_op_load): For a weak match from union type
+       punning lookup a view-converted value and insert a SSA_NAME
+       for that value if that is not found.
+       (visit_use): Make dumps shorter.  Do not disallow value numbering
+       SSA_NAMEs that are life over an abnormal edge to constants.
+       (free_scc_vn): Release inserted SSA_NAMEs.
+       (run_scc_vn): New flag to specify whether insertion is allowed.
+       Process SSA_NAMEs in forward order.
+       * tree-ssa-loop-im.c (for_each_index): Handle invariant
+       ADDR_EXPRs inside VIEW_CONVERT_EXPR.
+       * fold-const.c (fold_unary): Fold VIEW_CONVERT_EXPRs from/to
+       pointer type to/from integral types that do not change the
+       precision to regular conversions.
+
+2008-03-13  Uros Bizjak  <ubizjak@gmail.com>
+
+       * doc/extend.texi (X86 Built-in Functions) [__builtin_ia32_psll?,
+       __builtin_ia32_psrl?, __builtin_ia32_psra?, __builtin_ia32_psll?i,
+       __builtin_ia32_psrl?i, __builtin_ia32_psra?i, __builtin_ia32_psll?128,
+       __builtin_ia32_psrl?128, __builtin_ia32_psra?128]: Fix the mode of
+       input arguments and the mode of return value.  Built-in functions
+       that operate on whole 64-bit MMX register now use V1DI mode.
+
+2008-03-13  Alon Dayan  <alond@il.ibm.com>
+           Olga Golovanevsky  <olga@il.ibm.com>
+
+       PR tree-optimization/35041
+       * ipa-struct-reorg.c (find_pos_in_stmt_1): Add another option
+       to locate the right position in a statement.
+
+2008-03-13  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/34000
+       PR target/35553
+       * config/i386/xmmintrin.h:  Change all static inline functions to
+       extern inline and add __gnu_inline__ attribute.
+       * config/i386/bmintrin.h: Ditto.
+       * config/i386/smmintrin.h: Ditto.
+       * config/i386/tmmintrin.h: Ditto.
+       * config/i386/mmintrin-common.h: Ditto.
+       * config/i386/ammintrin.h: Ditto.
+       * config/i386/emmintrin.h: Ditto.
+       * config/i386/pmmintrin.h: Ditto.
+       * config/i386/mmintrin.h: Ditto.
+       * config/i386/mm3dnow.h: Ditto.
+
+2008-03-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/35185
+       * omp-low.c (lower_regimplify, init_tmp_var, save_tmp_var): Removed.
+       (lower_omp_2): New function.
+       (lower_omp_1, lower_omp): Rewritten.
+
+2008-03-13  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       PR 35054
+       * doc/extend.texi (Structure-Packing Pragmas): Replace "Win32"
+       with the phrase "Microsoft Windows compilers".
+       (Push/Pop Macro Pragmas): New subsection. Document
+       #pragma push_macro and pragma pop_macro.
+
+2008-03-12  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/arm.c (output_move_double): Prefer LDRD to LDM.
+
+2008-03-12  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/thumb2.md: Extend peephole to cover 3-arg subs.
+       (thumb2_alusi3_short): Exclude PLUS and MINUS.
+       (thumb2_addsi_shortim): Rename ...
+       (thumb2_addsi_short): ... to this.  Allow register operands.
+       (thumb2_subsi_short): New pattern.
+       (thumb2_one_cmplsi2_short,
+       thumb2_negsi2_short): New patterns and peepholes.
+
+2008-03-12  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/arm.c (arm_size_rtx_costs): Use ARM costs for Thumb-2.
+
+2008-03-12  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (int_cond): New code iterator.
+       (fp_cond): Ditto.
+       ("s<code>"): Macroize expander from seq, sne, sgt, sgtu, slt, sltu,
+       sge, sgeu, sle and sleu expanders usign int_cond code iterator.
+       ("s<code>"): Macroize expander from sunordered, sordered, suneq, sunge,
+       sungt, sunle, sunlt and sltgt expanders usign fp_cond code iterator.
+       ("b<code>"): Macroize expander from beq, bne, bgt, bgtu, blt, bltu,
+       bge, bgeu, ble and bleu expanders usign int_cond code iterator.
+       ("b<code>"): Macroize expander from bunordered, bordered, buneq, bunge,
+       bungt, bunle, bunlt and bltgt expanders usign fp_cond code iterator.
+
+2008-03-12  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/arm.c (use_return_insn): Use offsets->saved_regs_mask
+       instead of {arm,thumb}_compute_save_reg_mask.
+       (output_return_instruction): Ditto.
+       (thumb_unexpanded_epilogue): Ditto.
+       (thumb1_expand_prologue): Ditto.
+       (thumb1_output_function_prologue): Ditto.
+       (arm_set_return_address): Ditto.
+       (thumb_set_return_address): Ditto.
+       (arm_get_frame_offsets): Set offsets->saved_regs_mask.  Push extra
+       regs to achieve stack alignment.
+       (thumb1_compute_save_reg_mask): Fix compiler warning.
+       (arm_output_epilogue): Use offsets->saved_regs_mask.
+       Adjust stack pointer by poping call clobered registers.
+       (arm_expand_prologue): Use offsets->saved_regs_mask.
+       Adjust stack pointer by pushing extra registers.
+       * config/arm.h (arm_stack_offsets): Add saved_regs_mask.
+
+2008-03-12  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR tree-opt/35422
+       * fold-const.c (fold_unary) <NOP_EXPR>: Distribute a narrowing
+       conversion to the operands of a multiplication.
+
+2008-03-12  Richard Guenther  <rguenther@suse.de>
+
+       * Makefile.in (OBJS-common): Add tree-ssa-phiprop.o
+       (tree-ssa-phiprop.o): Copy dependencies from tree-ssa-forwprop.o.
+       * timevar.def (TV_TREE_PHIPROP): Add.
+       * tree-ssa-phiprop.c: Split from tree-ssa-forwprop.c, added
+       pass description.  Use TV_TREE_PHIPROP.
+       * tree-ssa-forwprop.c: Remove phiprop code.
+
+2008-03-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/35549
+       * omp-low.c (maybe_lookup_decl): Constify first argument.
+       (use_pointer_for_field): Change last argument from bool to
+       omp_context *.  Disallow shared copy-in/out in nested
+       parallel if decl is shared in outer parallel too.
+       (build_outer_var_ref, scan_sharing_clauses,
+       lower_rec_input_clauses, lower_copyprivate_clauses,
+       lower_send_clauses, lower_send_shared_vars): Adjust callers.
+
+2008-03-12  Victor Kaplansky  <victork@il.ibm.com>
+           Ira Rosen  <irar@il.ibm.com>
+
+       * tree-vectorizer.c (free_stmt_vec_info): New function.
+       (destroy_loop_vec_info): Move code to free_stmt_vec_info().
+       Call free_stmt_vec_info(). Free LOOP_VINFO_STRIDED_STORES..
+       * tree-vectorizer.h (free_stmt_vec_info): Declare.
+       * tree-vect-transform.c (vectorizable_conversion): Free
+       vec_oprnds0 if it was allocated.
+       (vect_permute_store_chain): Remove unused VECs.
+       (vectorizable_store): Free VECs that are allocated in the..
+       function.
+       (vect_transform_strided_load, vectorizable_load): Likewise.
+       (vect_remove_stores): Simplify the code.
+       (vect_transform_loop): Move code to vect_remove_stores().
+       Call vect_remove_stores() and free_stmt_vec_info().
+
+2008-03-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa.h (TARGET_LONG_PIC_SDIFF_CALL): Conditionalize define on
+       TARGET_HPUX.  Revise comment.
+       (TARGET_LONG_PIC_PCREL_CALL): Revise comment.
+       * pa.c (output_call): Update for revised TARGET_LONG_PIC_SDIFF_CALL.
+       Use sr4 variant of `be' instruction when not generating PIC code.
+       (attr_length_call): Adjust for above change.
+
+2008-03-11  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       * ipa-reference.c (static_execute): Remove module_statics_const and
+       associated setting code.
+
+2008-03-11  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/35540
+       * config/i386/i386.md (paritysi2, paritydi2): Use register_operand
+       predicate for operand 1.
+       (paritysi2_cmp): Use register_operand predicate for operand 2.
+       Use earlyclobber modifier for operand 1.  Remove support for
+       memory operands.
+       (paritydi2_cmp): Use register_operand predicate for operand 3.
+       Use earlyclobber modifier for operand 1.  Remove support for
+       memory operands.
+
+2008-03-11  Paul Brook  <paul@codesourcery.com>
+           Vladimir Prus  <vladimir@codesourcery.com>
+
+       * config/arm/arm.c (use_return_insn): Check TARGET_APCS_FRAME.
+       (arm_compute_save_reg0_reg12_mask): Always
+       check if register 11 must be saved.  Always safe hard frame pointer
+       when frame_pointer_needeed.
+       (arm_compute_save_reg_mask): Save IP and PC
+       only with apcs frames.
+       (arm_output_epilogue): Adjust Thumb2 codepath to
+       be also invoked and work for ARM non-apcs frames.
+       (arm_expand_prologue): Don't bother saving IP
+       for non-apcs frame, since it's not clobbered by
+       prologue code.  Implement non-apcs frame
+       layout.
+
+2008-03-11  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR rtl-optimization/35281
+       * expr.c (convert_move): Use a new pseudo for the intermediate
+       from_mode->word_mode result.
+
+2008-03-11  Paolo Bonzini  <bonzini@gnu.org>
+
+       * langhooks-def.h (LANG_HOOKS_CLEAR_BINDING_STACK): Delete.
+       * langhooks.h (struct lang_hooks): Delete clear_binding_stack member.
+       * toplev.c (compile_file): Don't call it.
+
 2008-03-11  Uros Bizjak  <ubizjak@gmail.com>
 
        PR middle-end/35526
 2008-03-04  Danny Smith  <dannysmith@users.sourceforge.net>
 
        * config/i386/i386.md (allocate_stack_worker_32): Use  __chkstk
-        label to probe the stack.
+       label to probe the stack.
 
 2008-03-04  Danny Smith  <dannysmith@users.sourceforge.net>
 
 
 2008-02-26  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
 
-        PR 26264
+       PR 26264
        * builtins.def (BUILT_IN_STDARG_START): Remove.
        * builtins.c (expand_builtin): Remove BUILT_IN_STDARG_START.
        * tree-stdarg.c (execute_optimize_stdarg): Likewise.
        PR fortran/29549
        * doc/invoke.texi (-fcx-limited-range): Document new option.
        * toplev.c (process_options): Handle -fcx-fortran-rules.
-        * common.opt: Add documentation for -fcx-fortran-rules.
+       * common.opt: Add documentation for -fcx-fortran-rules.
 
 2008-02-25  Janne Blomqvist  <jb@gcc.gnu.org>
 
 2008-02-17  Uros Bizjak  <ubizjak@gmail.com>
 
        Revert:
-
        2008-02-15  Uros Bizjak  <ubizjak@gmail.com>    
        * config/i386/sfp-machine.h (CMPtype): Define as typedef using
        libgcc_cmp_return mode.
 2008-01-02  Arthur Norman <acn1@cam.ac.uk>
 
        PR target/34013
-       * gcc/config/i386/i386.c (ix86_expand_prologue): Save red-zone
+       * config/i386/i386.c (ix86_expand_prologue): Save red-zone
        while stack probing.
 
 2008-01-01  Douglas Gregor  <doug.gregor@gmail.com>