+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 (always_executed): New global flag.
+ (warn_uninitialized_var): If !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
(maybe_fold_stmt_addition): Likewise.
2008-03-15 Bjoern Haase <bjoern.m.haase@web.de>
- Anatoly Sokolov <aesok@post.ru>
+ Anatoly Sokolov <aesok@post.ru>
* gcc/gcc/config/avr/avr.c (avr_arch_types): Add avr6 entry.
(avr_arch): Add ARCH_AVR6.
PR target/35540
* config/i386/i386.md (paritysi2, paritydi2): Use register_operand
- constraint for operand 1.
- (paritysi2_cmp): Use register_operand constraint for operand 2.
+ 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 constraint for operand 3.
+ (paritydi2_cmp): Use register_operand predicate for operand 3.
Use earlyclobber modifier for operand 1. Remove support for
memory operands.
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.