+2006-06-01 Per Bothner <bothner@bothner.com>
+
+ Suppress extra '#1 <built-in> or '#1 <command line>' on -dD output.
+ * c-opts.c (finish_options): Use internal line 0 for <command-line>.
+ * c-ppoutput.c (cb_define): Don't increment line 0.
+
+2006-06-01 Pete Steinmetz <steinmtz@us.ibm.com>
+
+ * doc/invoke.texi: Add cpu_type power6.
+ * config.gcc: Add cpu_type power6.
+ * config/rs6000/rs6000.c (rs6000_override_options): Alias power6
+ to power5+ with Altivec.
+ * config/rs6000/aix52.h (ASM_CPU_SPEC): Add power6.
+ * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add power6.
+
+2006-05-30 Anatoly Sokolov <aesok@post.ru>
+
+ * config/avr/avr.h (SET_ASM_OP): Define.
+
+2006-06-01 Kazu Hirata <kazu@codesourcery.com>
+
+ * config/bfin/bfin.c: Fix comment typos.
+
+2006-06-01 Paolo Bonzini <bonzini@gnu.org>
+
+ PR 25453
+ * doc/install.texi: Document --enable-bootstrap and
+ --disable-bootstrap.
+
+2006-06-01 Paolo Bonzini <bonzini@gnu.org>
+
+ * doc/install.texi: Document that InfoZIP can replace jar.
+
+2006-05-31 Roger Sayle <roger@eyesopen.com>
+
+ * config/i386/i386.c (ix86_expand_fp_absneg_operator): When SSE
+ isn't available, directly generate the simpler x87 patterns without
+ the (use (const_int 0)).
+ * config/i386/i386.md (*negsf2_1): Enable pre-reload if the SSE
+ implementation isn't available.
+ (*negdf2_1): Likewise.
+ (*negxf2_1): XF mode negation is always done using the x87.
+ (*abssf2_1, *absdf2_1, *absxf2_1): Likewise^3 for fabs.
+
+2006-05-31 Roger Sayle <roger@eyesopen.com>
+
+ * builtins.c (fold_builtin_cabs): Delete prototype. Require an
+ additional FNDECL argument. Optimize cabs(-z) and cabs(~z) as
+ cabs(z).
+ (fold_builtin_decl) <BUILT_IN_CABS>: Update fold_builtin_cabs call.
+
+2006-05-31 Jie Zhang <jie.zhang@analog.com>
+
+ * config/bfin/bfin-protos.h (bfin_hardware_loop): Declare.
+ * config/bfin/bfin.c (basic-block.h): Include.
+ (struct machine_function): New.
+ (bfin_init_machine_status): New.
+ (override_options): Initialize init_machine_status.
+ (bfin_hardware_loop): New.
+ (MAX_LOOP_DEPTH, MAX_LOOP_LENGTH): Define.
+ (DEF_VEC_P (loop_info)): New.
+ (DEF_VEC_ALLOC_P (loop_info,heap)): New.
+ (struct loop_info): New.
+ (loop_info): New typedef.
+ (struct loop_work): New.
+ (loop_work): New typedef.
+ (DEF_VEC_O (loop_work)): New.
+ (DEF_VEC_ALLOC_O (loop_work,heap)): New.
+ (bfin_dump_loops): New.
+ (bfin_bb_in_loop): New.
+ (bfin_scan_loop): New.
+ (bfin_optimize_loop): New.
+ (bfin_reorg_loops): New.
+ (bfin_reorg): Use bfin_reorg_loops.
+ * config/bfin/bfin.h (FIRST_PSEUDO_REGISTER): Adjust for adding
+ loop registers.
+ (I_REGNO_P): Simplify.
+ (DP_REGNO_P, DPREG_P): New macros.
+ (REGISTER_NAMES, FIXED_REGISTERS, CALL_USED_REGISTERS,
+ REG_ALLOC_ORDER): Add LT0, LT1, LC0, LC1, LB0, LB1.
+ (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
+ Add LT_REGS, LC_REGS, LB_REGS.
+ (REG_CLASS_FROM_LETTER): Add 't' for LT_REGS, 'k' for LC_REGS,
+ 'l' for LB_REGS.
+ (REGNO_REG_CLASS): Deal with loop registers.
+ * config/bfin/bfin.md: Add comment for 't', 'k', 'l' constraint
+ letters.
+ (REG_LT0, REG_LT1, REG_LC0, REG_LC1, REG_LB0, REG_LB1):
+ New constants for loop registers.
+ (UNSPEC_LSETUP_END): New.
+ (seq_insns): New define_attr. Set it for appropriate insns.
+ (movsi_insn): Add alternatives for move from/to
+ loop count registers.
+ (doloop_end): New define_expand.
+ (loop_end): New define_insn.
+ (define_split for bad doloop_end): New.
+ (lsetup_with_autoinit): New define_insn.
+ (lsetup_without_autoinit): New define_insn.
+ (rep_movsi, rep_movhi): Clobber LT1, LC1, LB1.
+ * config/bfin/predicates.md (lc_register_operand): New.
+ (lt_register_operand): New.
+ (lb_register_operand): New.
+ (nondp_register_operand): New.
+ (nondp_reg_or_memory_operand): New.
+ * doc/md.texi: Document Blackfin new 't', 'k', 'l' constraint letters.
+
+2006-05-31 Jie Zhang <jie.zhang@analog.com>
+
+ * config/bfin/bfin.c (bfin_delegitimize_address): New.
+ (TARGET_DELEGITIMIZE_ADDRESS): Define.
+
+2006-05-31 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * Makefile.in (CATALOGS): Add po/ prefix.
+ * configure: Regenerated.
+
+2006-05-31 Richard Earnshaw <richard.earnshaw@arm.com>
+
+ PR target/27829
+ * arm.c (arm_print_operand case 'S'): Validate that the operand is
+ a shift operand before calling shift_op. Avoid redundant call of
+ shift_op.
+
+2006-05-30 Naveen.H.S <naveenh@kpitcummins.com>
+ DJ Delorie <dj@redhat.com>
+
+ * config/m32c/m32c.c (m32c_expand_insv): Check that the value
+ we're inserting is a singlt-bit constant.
+
+2006-05-30 Roger Sayle <roger@eyesopen.com>
+
+ * simplify-rtx.c (simplify_binary_operation_1) <LSHIFTRT>: Cast
+ width to HOST_WIDE_INT to avoid comparison warnings on some targets.
+
+2006-05-30 Roger Sayle <roger@eyesopen.com>
+
+ PR tree-optimization/23452
+ * fold-const.c (fold_mult_zconjz): New subroutine of fold_binary,
+ to optimize z * conj(z) as realpart(z)^2 + imagpart(z)^2.
+ (fold_binary) <MULT_EXPR>: Call fold_mult_zconjz for integral
+ complex values and with -ffast-math for FP complex values.
+
+2006-05-30 Kazu Hirata <kazu@codesourcery.com>
+
+ * c-common.h: Remove the prototype for yyparse.
+ * rtl.h: Remove the prototype for init_loop.
+
+2006-05-30 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * cse.c (validate_canon_reg, cse_insn): Don't change insns without
+ calling recog.
+
+2006-05-30 Roger Sayle <roger@eyesopen.com>
+
+ * simplify-rtx.c (simplify_binary_operation): Unfactor the shift
+ and rotate cases.
+ <LSHIFTRT>: Optimize (lshiftrt (clz X) C) as (eq X 0) where C is
+ log2(GET_MODE_BITSIZE(X)) on targets with the appropriate semantics.
+
+2006-05-30 Dirk Mueller <dmueller@suse.de>
+
+ PR c/27273
+ * c-common.c (convert_and_check): Only track TREE_CONSTANT_OVERFLOW
+ for CONSTANT_CLASS_P expresisons.
+
+2006-05-30 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c/27718
+ * c-typeck.c (c_expr_sizeof_type): Handle invalid types.
+
+2006-05-30 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimization/27779
+ * tree-data-ref.c (analyze_siv_subscript_cst_affine): Use
+ initial_condition instead of CHREC_LEFT.
+
+2006-05-30 Steven Bosscher <stevenb.gcc@gmail.com>
+
+ * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Fix type of begin_label.
+ * config/m32r/initfini.c (__do_global_dtors, __do_global_ctors):
+ Make prototypes ISO C90.
+
+2006-05-30 Mircea Namolaru <namolaru@il.ibm.com>
+ Leehod Baruch <leehod.baruch@weizmann.ac.il>
+
+ * see.c (see_analyze_one_def): Correct check.
+ (see_get_extension_data): Check if extension is parallel.
+ (see_get_extension_reg): Likewise.
+
+2006-05-30 Uros Bizjak <uros@kss-loka.si>
+
+ PR target/27790
+ * config/i386/i386.c (ix86_expand_int_vcond): Force cop0
+ into register for (code == GTU).
+
+2006-05-29 Roger Sayle <roger@eyesopen.com>
+
+ PR tree-optimization/24964
+ * simplify-rtx.c (simplify_binary_operation_1): Add function comment.
+ <MULT>: Minor clean-up. Don't convert x*-1.0 into -x if we honor
+ signaling NaNs. Optimize -x*-x as x*x for all float modes, and
+ abs(x)*abs(x) as x*x for scalar floating point modes.
+
+2006-05-29 Sebastian Pop <pop@cri.ensmp.fr>
+
+ PR middle-end/27745
+ * lambda-code.c (perfect_nestify): Don't copy statements
+ in the inner loop: move them to the inner loop header.
+
+2006-05-29 Diego Novillo <dnovillo@redhat.com>
+
+ PR 26237
+ * c-tree.texi: Document OpenMP directives and clauses.
+
+2006-05-29 Kazu Hirata <kazu@codesourcery.com>
+
+ * varasm.c (globalize_decl): Fix indentation.
+
+2006-05-29 Diego Novillo <dnovillo@redhat.com>
+
+ PR 26242
+ * doc/passes.texi: Add documentation for pass_vrp, pass_ipa_pta,
+ pass_fre, pass_store_ccp, pass_copy_prop,
+ pass_store_copy_prop, pass_merge_phi, pass_nrv,
+ pass_return_slot, pass_object_size, pass_lim,
+ pass_linear_transform, pass_empty_loop, pass_complete_unroll,
+ pass_loop_prefetch and pass_stdarg.
+
+2005-05-29 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ * config/bfin/bfin.opt (mfdpic): New option.
+ * config/bfin/t-bfin-elf (EXTRA_PARTS): Add crtbeginS.o and crtendS.o.
+ (EXTRA_MULTILIB_PARTS): Likewise.
+ (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS): Use -fpic.
+ (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Build one extra -mfdpic
+ multilib.
+ * config/bfin/elf.h (STARTFILE_SPEC): Don't link in crt0.o if -shared.
+ (CRT_CALL_STATIC_FUNCTION): New.
+ * config/bfin/uclinux.h (STARTFILE_SPEC): Don't link in crt0.o if
+ -shared.
+ (CRT_CALL_STATIC_FUNCTION): New.
+ * config/bfin/bfin.c (legitimize_pic_address): Now static. Handle
+ FD-PIC moves.
+ (n_pregs_to_save): PIC register doesn't need to be saved with FD-PIC.
+ (print_operand): Handle UNSPEC_MOVE_FDPIC and UNSPEC_FUNCDESC_GOT17M4.
+ (initialize_trampoline): Changed to handle FD-PIC code generation.
+ (expand_move): If TARGET_FDPIC, use emit_pic_move as needed.
+ (bfin_expand_call): Generate FD-PIC calls if TARGET_FDPIC.
+ (override_options): Disallow -mid-shared-library -mfdpic combination.
+ Can't do unaligned ops if FD-PIC.
+ Turn off flag_pic if trying to generate non-id-shared-library
+ non-fdpic code, since it's not supported.
+ (bfin_assemble_integer): New function.
+ (TARGET_ASM_INTEGER): Define.
+ * config/bfin/crti.s (__init, __fini): Save P3 on the stack if
+ __BFIN_FDPIC__.
+ * config/bfin/crtn.s: Restore them.
+ * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __BFIN_FDPIC__
+ if TARGET_FDPIC.
+ (DRIVER_SELF_SPECS, SUBTARGET_DRIVER_SELF_SPECS,
+ LINK_GCC_C_SEQUENCE_SPEC, ASM_SPEC, LINK_SPEC): New macros.
+ (FDPIC_FPTR_REGNO, FDPIC_REGNO, OUR_FDPIC_REG): New macros.
+ (TRAMPOLINE_SIZE, TRAMPOLINE_TEMPLATE): Adjust for FD-PIC.
+ (CONDITIONAL_REGISTER_USAGE): If TARGET_FDPIC, FDPIC_REGNO is
+ call-used.
+ (enum reg_class, REG_CLASS_CONTENTS, REG_CLASS_NAMES): Add
+ FDPIC_REGS and FDPIC_FPTR_REGS.
+ (REG_CLASS_FROM_LETTER): Use 'Z' and 'Y' for them.
+ * config/bfin/bfin.md (UNSPEC_MOVE_FDPIC, UNSPEC_FUNCDESC_GOT17M4,
+ UNSPEC_VOLATILE_LOAD_FUNCDESC): New constants.
+ (load_funcdescsi): New pattern.
+ (call_symbol_fdpic, sibcall_symbol_fdpic, call_value_symbol_fdpic,
+ sibcall_value_symbol_fdpic, call_insn_fdpic, sibcall_insn_fdpic,
+ call_value_insn_fdpic, sibcall_value_insn_fdpic): New patterns.
+
+2006-05-29 Kazu Hirata <kazu@codesourcery.com>
+
+ * gcse.c, rtlanal.c: Remove obsolete comments associated with
+ loop.c.
+
+ * config/bfin/bfin.h (PARM_BOUNDRY, STACK_BOUNDRY): Remove.
+
+ * tree-flow.h: Remove the prototype for add_type_alias.
+ * tree-ssa-alias.c (add_type_alias): Remove.
+
+2006-05-28 Kazu Hirata <kazu@codesourcery.com>
+
+ * cfgcleanup.c, cfgexpand.c, cgraphunit.c, config/arm/arm.c,
+ config/fr30/fr30.md, config/i386/i386-interix.h,
+ config/i386/i386.c, config/i386/i386.md, config/sh/superh.h,
+ config/sh/superh64.h, config/v850/v850.c, df-core.c,
+ df-problems.c, df.h, except.c, final.c, haifa-sched.c,
+ lambda-code.c, libgcc2.h, omp-low.c, optabs.c, predict.c,
+ reload.c, tree-flow.h, tree-outof-ssa.c, tree-ssa-dce.c,
+ tree-ssa-pre.c, tree-vect-transform.c: Fix comment typos.
+ Follow spelling conventions.
+ * doc/invoke.texi, doc/rtl.texi, doc/tm.texi: Fix typos.
+ Follow spelling conventions.
+
+2006-05-27 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/27773
+ * fold-const.c (fold_plusminus_mult_expr): Use fold_convert
+ to produce a constant of value 1 of generic type.
+
+2006-05-27 Dirk Mueller <dmueller@suse.de>
+
+ * cgraphunit.c (decide_is_function_needed): Fix wrong
+ PR reference.
+
+2006-05-26 Ulrich Weigand <uweigand@de.ibm.com>
+
+ PR rtl-optimization/27661
+ * reload.c (find_reloads): When reloading a VOIDmode constant
+ as address due to an EXTRA_MEMORY_CONSTRAINT or 'o' constraint,
+ use Pmode as mode of the reload register.
+
+2006-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * doc/invoke.texi (Optimize Options): Document that -funit-at-a-time
+ is enabled at -O and above.
+
+2006-05-26 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR target/27571
+ * config/alpha/alpha.c (alpha_does_function_need_gp): Skip jump
+ table data.
+
+2006-05-25 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/20103
+ * gimplify.c (gimplify_decl_expr): Do not call gimple_add_tmp_var
+ for anonymous variables explicitly declared by front ends.
+
+2006-05-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-ssa-structalias.h (PTR_IS_REF_ALL): New macro.
+ (struct alias_info): Add new field ref_all_symbol_mem_tag.
+ * tree-ssa-alias.c (compute_may_aliases): If the program contains
+ ref-all pointers, run a finalization pass for them.
+ (compute_flow_insensitive_aliasing): Skip ref-all pointers.
+ (finalize_ref_all_pointers): New function.
+ (is_escape_site): Return ESCAPE_BAD_CAST for conversion from a
+ regular pointer type to a ref-all pointer type.
+ (get_tmt_for): Return the special memory tag for ref-all pointers.
+
+2006-05-25 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/27743
+ * fold-const.c (fold_binary): Do not look at the stripped
+ op0 for (a OP c1) OP c2 to a OP (c1+c2) shift optimization.
+
2006-05-25 Eric Botcazou <ebotcazou@adacore.com>
* tree-vrp.c (extract_range_from_assert): Set the range to VARYING
2006-05-08 Jan Hubicka <jh@suse.cz>
- PR middle-end/25962
+ PR middle-end/24561
* cgraphunit.c (decide_is_function_needed): When not optimizing even
unused static functions are needed.
* doc/invoke.texi (C++ Dialect Options): Rewrite
-fvisibility-inlines-hidden documentation to describe something
entirely different, although in practise compatible.
- (Code Gen Options): Warn about system headers in -fvisibiltity=
+ (Code Gen Options): Warn about system headers in -fvisibility=
documentation.
* doc/extend.texi (Other Builtins): Document that