+2008-01-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/34618
+ * tree-outof-ssa.c (create_temp): Copy over DECL_GIMPLE_REG_P
+ flag from T.
+
+2008-01-05 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/34673
+ * config/i386/i386.c (ix86_emit_swsqrtsf): Swap input operands
+ in the call to gen_rtx_NE. Remove unneeded VECTOR_MODE_P check.
+ Update copyright year.
+
+ * config/i386/i386.md (rsqrtsf2): Enable for TARGET_SSE_MATH.
+ Update copyright year.
+ * config/i386/sse.md (rsqrtv4sf2): Ditto. Unconditionally expand
+ using NR fixup.
+
+2008-01-05 Zhouyi Zhou <zhouzhouyi@FreeBSD.org>
+
+ * tree-vrp.c (find_conditional_asserts): Remove redundant check that
+ edge does not point to current bb before changing need_assert.
+
+2008-01-04 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/34029
+ * tree-cfg.c (verify_expr): Do not look inside ADDR_EXPRs
+ for verifying purposes if they are is_gimple_min_invariant.
+
+2008-01-04 Aldy Hernandez <aldyh@redhat.com>
+
+ PR tree-optimization/34448
+ PR tree-optimization/34465
+ * gimplify.c (gimplify_init_constructor): Add new parameter
+ notify_temp_creation. Use it.
+ (gimplify_modify_expr_rhs): Take volatiles into account when
+ optimizing constructors.
+ Do not optimize constructors if gimplify_init_constructor will dump to
+ memory.
+ * gcc.dg/tree-ssa/pr32901.c: Tests const volatiles.
+ * gcc.c-torture/compile/pr34448.c: New.
+
+2008-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR gcov-profile/34609
+ * tree-inline.c (declare_return_variable): Set TREE_ADDRESSABLE on
+ return_slot if result is TREE_ADDRESSABLE.
+
+2008-01-04 Richard Sandiford <rsandifo@nildram.co.uk>
+
+ * config/mips/mips.md (sqrt_condition): Tweak comment.
+ (recip_condition): Likewise. Require TARGET_FLOAT64 for DFmode.
+
+2008-01-03 Tom Tromey <tromey@redhat.com>
+
+ PR c/34457
+ * c-common.c (c_type_hash): Handle VLAs.
+
+2008-01-03 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/31081
+ * tree-inline.c (remap_ssa_name): Initialize uninitialized SSA vars to
+ 0 when inlining and not inlining to first basic block.
+ (remap_decl): When var is initialized to 0, don't set default_def.
+ (expand_call_inline): Set entry_bb.
+ * tree-inline.h (copy_body_data): Add entry_bb.
+
+2008-01-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/34619
+ * cgraphunit.c (cgraph_build_static_cdtor): set_cfun back to NULL
+ before returning.
+
+ PR tree-optimization/29484
+ * tree-inline.c (inline_forbidden_p_2): New function.
+ (inline_forbidden_p): Disallow inlining if some static var
+ has an address of a local LABEL_DECL in its initializer.
+ * doc/extend.texi (Labels as Values): Document &&foo behaviour
+ vs. inlining.
+
+2008-01-03 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/34635
+ * tree-data-ref.c (add_other_self_distances): Make sure that the
+ evolution step is constant.
+
+2008-01-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/34608
+ * omp-low.c (expand_omp_parallel): Purge dead EH edges in the child fn.
+
+2008-01-02 Richard Sandiford <rsandifo@nildram.co.uk>
+
+ * tree-sra.c (scalarize_init): Insert the generate_element_init
+ statements after the generate_element_zero statements.
+
+2008-01-02 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/34093
+ PR middle-end/31976
+ * tree-ssa-operands.c (ssa_operand_alloc): Also allocate a buffer
+ for very large number of operands instead of ICEing.
+
+2008-01-02 Arthur Norman <acn1@cam.ac.uk>
+
+ PR target/34013
+ * gcc/config/i386/i386.c (ix86_expand_prologue): Save red-zone
+ while stack probing.
+
+2008-01-01 Douglas Gregor <doug.gregor@gmail.com>
+
+ * c-opts.c (sanitize_cpp_opts): Don't warn about "long long" when
+ in C++0x mode.
+
+2008-01-01 Volker Reichelt <v.reichelt@netcologne.de>
+
+ PR libmudflap/26442
+ * tree-mudflap.c (mx_register_decls): Guard warning by
+ !DECL_ARTIFICIAL check.
+
+2008-01-01 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/sse.md (sse5_pperm, sse5_pperm_pack_v2di_v4si,
+ sse5_pperm_pack_v4si_v8hi, sse5_pperm_pack_v8hi_v16qi,
+ sse5_perm<mode>): Fix constraints.
+
+2007-12-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR driver/33772
+ * collect2.c (SHLIB_SUFFIX): Define if not defined.
+ (write_c_file_stat): Use SHLIB_SUFFIX.
+ * som.h (SHLIB_SUFFIX): Define.
+ * doc/tm.texi (SHLIB_SUFFIX): Document.
+
+2007-12-29 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md ("*divv4sf3"): Rename to "sse_divv4sf3".
+ ("*sse_rsqrtv4sf2"): Export.
+ ("*sse_sqrtv4sf2"): Ditto.
+ * config/i386/i386.c (enum ix86_builtins) [IX86_BUILTIN_RSQRTPS_NR,
+ IX86_BUILTIN_SQRTPS_NR]: New constants.
+ (struct builtin_description) [IX86_BUILTIN_DIVPS]: Use
+ CODE_FOR_sse_divv4sf3.
+ [IX86_BUILTIN_SQRTPS]: Use CODE_FOR_sse_sqrtv4sf2.
+ [IX86_BUILTIN_SQRTPS_NR]: New.
+ [IX86_BUILTIN_RSQRTPS_NR]: Ditto.
+ (ix86_init_mmx_sse_builtins): Initialize __builtin_ia32_rsqrtps_nr and
+ __builtin_ia32_sqrtps_nr.
+ (ix86_builtin_vectorized_function): Convert BUILT_IN_SQRTF to
+ IX86_BUILTIN_SQRTPS_NR.
+ (ix86_builtin_reciprocal): Convert IX86_BUILTIN_SQRTPS_NR to
+ IX86_BUILTIN_RSQRTPS_NR.
+
+2007-12-27 Brian Dessent <brian@dessent.net>
+
+ * doc/invoke.texi (Optimize Options): Add missing opindex for
+ -fno-toplevel-reorder.
+
+2007-12-27 Dorit Nuzman <dorit@il.ibm.com>
+
+ PR tree-optimization/34591
+ * tree-vect-trasnform.c (vect_estimate_min_profitable_iters): Skip
+ stmts (including reduction stmts) that are not live.
+
+2007-12-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/34281
+ * config/arm/arm.c (arm_setup_incoming_varargs): If last named
+ argument needs double word alignment and cum->nregs is odd, account
+ for the inserted padding.
+
+ PR debug/34535
+ * tree-mudflap.c (mf_make_builtin): Make decl artificial
+ and don't emit debug info for it.
+
+2007-12-26 Anatoly Sokolov <aesok@post.ru>
+
+ * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Move AT90USB82
+ and AT90USB162 devices from 'avr5' to 'avr35' architecture.
+ (ASM_SPEC): Add 'avr35' architecture.
+ * config/avr/avr.c (avr_mcu_types): Move AT90USB82 and AT90USB162
+ devices from 'avr5' to 'avr35' architecture.
+ (avr_arch_types): Add "avr23" entries.
+ (avr_arch): Add 'ARCH_AVR35'.
+ * config/avr/t-avr (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add 'avr35'.
+ (MULTILIB_MATCHES): Move AT90USB82 and AT90USB162 devices from 'avr5'
+ to 'avr35' architecture.
+
+2007-12-22 David Daney <ddaney@avtrex.com>
+
+ * doc/install.texi (disable-libgcj-bc): Document new option.
+
+2007-12-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * config/pa/pa.c (hppa_legitimize_address): Use INT14_OK_STRICT in
+ mask selection.
+
+ PR target/34525
+ * pa.c (legitimize_pic_address): Emit insn to load function label
+ forced to memory.
+
+2007-12-21 Andrew Pinski <pinskia@gmail.com>
+ Rask Ingemann Lambertsen <rask@sygehus.dk>
+
+ PR target/8835
+ * config/mcore/mcore.c (mcore_function_value): Call promote_mode
+ instead of PROMOTE_MODE.
+
+2007-12-21 Sebastian Pop <sebastian.pop@amd.com>
+
+ * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Fix typo.
+
+2007-12-21 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-data-ref.c (signed_type_for_types): New.
+ (affine_fn_op): Use signed_type_for_types and signed_type_for instead
+ of long_integer_type_node.
+ (analyze_ziv_subscript): Same.
+ (analyze_siv_subscript_cst_affine): Same.
+ (analyze_miv_subscript): Same.
+ (omega_setup_subscript): Same.
+
+2007-12-21 Richard Sandiford <rsandifo@nildram.co.uk>
+
+ * config/mips/mips.c (mips_emit_loadgp): Replace gen_* calls with
+ separate gen_*_si and gen_*_di calls. Pass pic_offset_table_rtx
+ as the first argument.
+ * config/mips/mips.md (loadgp_newabi, loadgp_absolute)
+ (loadgp_rtp): Rename to...
+ (loadgp_newabi_<mode>, loadgp_absolute<mode>, loadgp_rtp<mode>):
+ ...these. Add modes to all operands. Add the target register
+ as an operand. Combine loadgp_rtp<mode> with its splitter.
+
+2007-12-20 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/xtensa.md (fix_return_addr): Remove.
+ * config/xtensa/xtensa-protos.h (xtensa_initialize_trampoline): New.
+ (xtensa_trampoline_template): New.
+ * config/xtensa/xtensa.c (MIN_FRAME_SIZE): Moved here from xtensa.h.
+ (xtensa_return_addr): Expand to standard Xtensa insns instead of
+ fix_return_addr. Get high bits from a local label.
+ (xtensa_trampoline_template): New function with code moved from
+ TRAMPOLINE_TEMPLATE in xtensa.h. Use L32R instead of CALL0 except
+ when using CONST16 or absolute-mode literals.
+ (xtensa_initialize_trampoline): New function with code moved from
+ INITIALIZE_TRAMPOLINE in xtensa.h. Use different offsets depending
+ on which trampoline version is used.
+ * config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Add comment.
+ * config/xtensa/xtensa.h (TARGET_ABSOLUTE_LITERALS): Define.
+ (MIN_FRAME_SIZE): Moved to xtensa.c.
+ (TRAMPOLINE_TEMPLATE): Use xtensa_trampoline_template.
+ (TRAMPOLINE_SIZE): Two versions of the trampoline have different sizes.
+ (INITIALIZE_TRAMPOLINE): Use xtensa_initialize_trampoline.
+ * config/xtensa/ieee754-df.S (XCHAL_NO_MUL): Define.
+ (__muldf3): Use CALL12 instead of CALL0 to invoke .Lmul_mulsi3
+ helper when not using the CALL0 ABI. Change .Lmul_mulsi3 to match.
+ * config/xtensa/lib1funcs.asm (__umulsidi3): Likewise.
+ * config/xtensa/ieee754-sf.S (__mulsf3): Likewise.
+
+2007-12-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/34459
+ * tree-ssa-dse.c (dse_optimize_stmt): Don't eliminate store if
+ USE_STMT not only stores into the same object as STMT, but might
+ read it too.
+
+2007-12-19 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/34413
+ * tree-data-ref.c (affine_fn_op, analyze_ziv_subscript,
+ analyze_siv_subscript_cst_affine, analyze_miv_subscript,
+ omega_setup_subscript): Use long_integer_type_node instead of
+ integer_type_node.
+
+2007-12-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/34525
+ * pa.c (legitimize_pic_address): Force function labels into memory.
+
+2007-12-19 Zdenek Dvorak <ook@ucw.cz>
+
+ * omp-low.c (build_omp_regions_1): Recognition of combined parallels
+ moved ...
+ (expand_omp): ... here.
+
+2007-12-19 Zdenek Dvorak <ook@ucw.cz>
+
+ PR tree-optimization/34355
+ * tree-parloops.c (take_address_of): Handle expresions
+ instead of just variables.
+ (eliminate_local_variables_1): Force whole invariant
+ address to ssa name.
+
+2007-12-19 Alexander Monakov <amonakov@ispras.ru>
+ Revital Eres <eres@il.ibm.com>
+
+ * modulo-sched.c (generate_reg_moves): Insert the reg-moves
+ right before the notes which precedes the insn, if they exists.
+ (loop_canon_p): Add dump info.
+ (sms_schedule): Likewise.
+
+2007-12-19 Richard Sandiford <rsandifo@nildram.co.uk>
+
+ * tree.h (set_decl_incoming_rtl): Add a by_reference_p parameter.
+ * emit-rtl.c (set_decl_incoming_rtl): Likewise. Don't set the
+ rtl's register attributes when the parameter is true.
+ * function.c (assign_parms_unsplit_complex, assign_parms)
+ (expand_function_start): Update calls to set_decl_incoming_rtl.
+
+2007-12-19 Richard Sandiford <rsandifo@nildram.co.uk>
+
+ * rtl.def (SUBREG): Update comments.
+ * rtl.h (reg_attrs): Be explicit about the type of offset used.
+ (set_reg_attrs_from_mem): Rename to...
+ (set_reg_attrs_from_value): ...this.
+ (adjust_reg_mode, byte_lowpart_offset): Declare.
+ * emit-rtl.c (byte_lowpart_offset): New function.
+ (update_reg_offset): Remove special offset handling for big-endian
+ targets.
+ (gen_rtx_REG_offset, gen_reg_rtx_offset): Explicitly say that the
+ offset parameter is added to REG_OFFSET.
+ (adjust_reg_mode): New function.
+ (set_reg_attrs_for_mem): Rename to...
+ (set_reg_attrs_for_value): ...this and generalize to all values.
+ If the register is a lowpart of the value, adjust the offset
+ accordingly.
+ (set_reg_attrs_for_parm): Update after the above renaming.
+ (set_reg_attrs_for_decl_rtl): New function, split out from
+ set_decl_incoming_rtl. Set the offset of plain REGs to the
+ offset of the REG's mode from the decl's. Assert that all
+ subregs are lowparts and handle their inner registers in the
+ same way as plain REGs.
+ (set_decl_rtl, set_incoming_decl_rtl): Use reg_attrs_for_decl_rtl.
+ (subreg_lowpart_offset): Explicitly say that the returned offset
+ is a SUBREG_BYTE.
+ * combine.c (do_SUBST_MODE, try_combine, undo_all): Use adjust_reg_mode
+ instead of PUT_MODE.
+ * final.c (alter_subreg): Fix/update argument to gen_rtx_REG_offset.
+ * config/ia64/ia64.c (ia64_expand_load_address): Likewise.
+ * regclass.c (reg_scan_mark_refs): Use set_reg_attrs_from_value.
+ * reload.c (find_reloads_subreg_address): Call set_mem_offset
+ when offseting a MEM.
+ * var-tracking.c (offset_valid_for_tracked_p): Delete.
+ (mode_for_reg_attrs): Replace with...
+ (track_loc_p): ...this new function. Return the mode and offset
+ to the caller, checking that the latter is valid. If the rtx is
+ a paradoxical lowpart of the decl, use the decl's mode instead.
+ Do the same when storing to a register that contains the entire decl.
+ (var_lowpart): Use byte_lowpart_offset rather than
+ subreg_lowpart_offset when adjusting the offset attribute.
+ (count_uses, add_uses, add_stores): Use track_reg_p instead of
+ REG_EXPR, MEM_EXPR, REG_OFFSET, INT_MEM_OFFSET, track_expr_p,
+ offset_valid_for_tracked_p and mode_for_reg_attrs. Generate
+ lowparts for MEMs as well as REGs.
+ (vt_add_function_parameters): When obtaining the information from
+ the decl_rtl, adjust the offset to match incoming. Use track_loc_p
+ and var_lowpart.
+
+2007-12-18 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/34123
+ * lambda-code.c (can_duplicate_iv): New.
+ (cannot_convert_modify_to_perfect_nest): New.
+ (cannot_convert_bb_to_perfect_nest): New.
+ (can_convert_to_perfect_nest): Split up.
+
+2007-12-18 David Daney <ddaney@avtrex.com>
+
+ * config/mips/mips.md (clear_hazard): Use PRINT_OPERAND punctuation
+ instead of .set push and .set pop.
+
+2007-12-18 Rask Ingemann Lambertsen <rask@sygehus.dk>
+
+ PR target/33474
+ * config/bfin/bfin.c (bfin_adjust_cost): Dig into PARALLELs to find
+ the SET.
+
+2007-12-18 Razya Ladelsky <razya@il.ibm.com>
+
+ * tree-parloops.c (reduiction_info): Change documentation of
+ reduction_initial field.
+ (initialize_reductions): Remove creation of reduction_initial variable.
+ (create_loads_for_reductions): don't join reduction_initial to
+ the loaded value.
+
+2007-12-18 Kaz Kylheku <kaz@zeugmasystems.com>
+
+ PR rtl-optimization/34456
+ * resource.c (mark_set_resources): Use regs_invalidated_by_call
+ rather than call_used_regs and global_regs.
+
+2007-12-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/34490
+ * simplify-rtx.c (simplify_const_relational_operation): If !sign,
+ don't reduce mmin/mmax using num_sign_bit_copies.
+
+2007-12-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * doc/install.texi: Change recommended MPFR from 2.2.1 > 2.3.0.
+
+2007-12-17 Andreas Schwab <schwab@suse.de>
+
+ * doc/invoke.texi (Warning Options): Use @itemx.
+
+2007-12-17 Dorit Nuzman <dorit@il.ibm.com>
+
+ * tree-vectorizer.h (verbosity_levels): Add new verbosity level
+ REPORT_COST.
+ * tree-vect-transform.c (vect_estimate_min_profitable_iters): Change
+ verbosity level to REPORT_COST.
+ (vect_model_reduction_cost): Likewise.
+ (vect_model_induction_cost): Likewise.
+ (vect_model_simple_cost): likewise.
+ (vect_model_store_cost): likewise.
+ (vect_model_load_cost): likewise.
+ (conservative_cost_threshold): Likewise. Remove print.
+
2007-12-17 Rask Ingemann Lambertsen <rask@sygehus.dk>
* doc/tm.texi (TARGET_SECONDARY_RELOAD): Fix typos.
2007-12-06 Tom Tromey <tromey@redhat.com>
- PR c/29172:
+ PR c/29172
* c-opts.c (c_common_parse_file): Call cpp_clear_file_cache.
2007-12-06 Richard Sandiford <rsandifo@nildram.co.uk>
2007-11-06 Tom Tromey <tromey@redhat.com>
- PR c++/32256, PR c++/32368:
+ PR c++/32256
+ PR c++/32368
* function.c (saved_in_system_header): New global.
(push_cfun): Save in_system_header.
(pop_cfun): Restore in_system_header.
* config/s390/s390.c (s390_dump_pool): Create copy of constant
pool entries since they might hold values that must not be shared.
+2007-09-10 Robert Kidd <rkidd@crhc.uiuc.edu>
+
+ * bb-reorder.c (rest_of_handler_reorder_blocks): Removed call to
+ RTL level tracer pass.
+ * passes.c (init_optimization_passes): Move pass_tracer from
+ after pass_rtl_ifcvt to after pass_dce.
+ * tracer.c: Update copyright.
+ (layout_superblocks): Remove function.
+ (mark_bb_seen): New.
+ (bb_seen_p): New.
+ (count_insns): Change to estimate instructions in a Tree-SSA
+ statement.
+ (find_trace): Use bb_seen_p.
+ (tail_duplicate): Use bb_seen_p. Call add_phi_args_after_copy
+ after duplicate_block.
+ (tracer): Change prototype to match that of a pass execute
+ callback.
+ (gate_tracer): Rename from gate_handle_tracer.
+ (rest_of_handle_tracer): Remove function.
+ * rtl.h: Remove prototype for tracer.
+ * testsuite/gcc.dg/tree-prof/tracer-1.c: New.
+
2007-09-10 Uros Bizjak <ubizjak@gmail.com>
PR target/33369
2007-03-13 David Taylor <taylor@candd.org>
- PR driver/12448:
+ PR driver/12448
* gcc.c (cpp_unique_options): If -MT or -MQ is seen, don't pass
default -MQ.
2007-01-11 Tom Tromey <tromey@redhat.com>
- PR preprocessor/15185, PR preprocessor/20989:
+ PR preprocessor/15185
+ PR preprocessor/20989
* doc/cppopts.texi <-MT>: Update description of algorithm for
computing default target.
<-M, -MD>: Reword "basename" text.