+2006-06-23 Olivier Hainque <hainque@adacore.com>
+
+ * tree.c (max_int_size_in_bytes): New function, inspired from
+ code in function.c:assign_temp.
+ * tree.h (max_int_size_in_bytes): Declare.
+ * function.c (assign_temp): Use it.
+ * gimplify.c (create_tmp_var): Relax the assertions on the type
+ properties, not mandating constant size any more.
+ (force_constant_size): New static function.
+ (gimple_add_tmp_var): Use it, forcing variable size to a
+ constant upper bound if it is not constant on entry.
+
+ * ada/misc.c (gnat_type_max_size): Look at TYPE_ADA_SIZE if we have
+ not been able to get a constant upper bound from TYPE_SIZE_UNIT.
+
+2006-06-23 Danny Smith <dannysmith@users.sourceforge.net>
+
+ PR target/27789
+ * config/i386/winnt.c (ix86_handle_selectany_attribute): Move check
+ for initialization and setting of one_only flag to ...
+ (i386_pe_encode_section_info): ...here.
+ (i386_pe_dllimport_p): Check for DECL_DLLIMPORT_P also.
+ Recheck that the symbol has not been defined.
+
+2006-06-23 Richard Guenther <rguenther@suse.de>
+
+ * ggc-page.c (init_ggc): Do not round up the extra_order_size_table
+ sizes to MAX_ALIGNMENT. Fix the size_lookup table to honour
+ alignment requests instead. Add verification code.
+ Add struct tree_function_decl and struct tree_binfo size to
+ extra_order_size_table. Add missing element to size_lookup
+ table.
+
+2006-06-22 Roger Sayle <roger@eyesopen.com>
+ John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR middle-end/28131
+ * expr.c (expand_expr_real_1) <VECTOR_CST>: Check whether the
+ call to lang_hooks.types.type_for_mode returned NULL_TREE.
+
+2006-06-23 Ben Elliston <bje@au.ibm.com>
+
+ * dfp.c (decimal_to_decnumber): Do not use decNumberNegate to
+ negate dn -- manipulate it directly.
+
+2006-06-22 Roger Sayle <roger@eyesopen.com>
+ Steven Bosscher <stevenb.gcc@gmail.com>
+
+ PR target/27531
+ * reload1.c (gen_reload): Call mark_jump_label on the new insns
+ generated by gen_move_insn to add REG_LABEL notes if necessary.
+
+2006-06-22 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/lib1funcs.asm (MIN_ESA): Delete.
+ (leaf_entry): Remove use of MIN_ESA.
+
+2006-06-22 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR rtl-optimization/28121
+ * cfgexpand.c (tree_expand_cfg): Clean EDGE_EXECUTABLE flag from
+ the entry edge.
+
+2006-06-21 DJ Delorie <dj@redhat.com>
+
+ * config/m32c/muldiv.md (mulhisi3_i): Only use registers for dest
+ (TN-16C-A156A/E).
+ (mulhisi3_r): Likewise.
+
+2006-06-21 Richard Sandiford <richard@codesourcery.com>
+
+ PR middle-end/28034
+ * coverage.c (coverage_counter_alloc): Leave the index type
+ unspecified.
+ (coverage_counter_alloc): Use null arguments for operands 2 and 3
+ of the ARRAY_REF.
+
+2006-06-21 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * doc/invoke.texi (-fopenmp) Move to "Options Controlling C Dialect"
+ section from the "Options for Code Generation Conventions".
+
+2006-06-21 Richard Henderson <rth@redhat.com>
+
+ PR target/26347
+ PR target/27082
+ * config/alpha/predicates.md (small_symbolic_operand): Deny weak
+ symbols.
+ (global_symbolic_operand): Allow weak symbols, even if local_p.
+
+2006-06-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): New function.
+ (find_interesting_uses_address): Punt if above function returns true.
+
+2006-06-21 Richard Guenther <rguenther@suse.de>
+
+ * configure: Regenerated.
+
+2006-06-21 Joseph Myers <joseph@codesourcery.com>
+
+ * config/mips/mips.c (function_arg): Where one part of a
+ complex argument is in registers and the other part in the stack,
+ return a REG not a PARALLEL.
+
+2006-06-21 Mark Mitchell <mark@codesourcery.com>
+
+ * configure.ac: Set gcc_gxx_include_dir to $target/include/c++
+ when cross-compiling. Do not substitute libstdcxx_incdir.
+ * configure: Regenerated.
+
+2006-06-21 Jakub Jelinek <jakub@redhat.com>
+
+ * varasm.c (mergeable_string_section): Check for embedded NULs and
+ NUL termination in the first int_size_in_bytes (TREE_TYPE (decl))
+ rather than TREE_STRING_LENGTH bytes.
+
+2006-06-21 Richard Guenther <rguenther@suse.de>
+
+ * ggc-page.c (extra_order_size_table): Add var_ann_d,
+ tree_ssa_name, bitmap_element and phi_node with 4 arguments
+ sizes.
+
+2006-06-21 Richrad Guenther <rguenther@suse.de>
+
+ * tree-ssa-loop-niter.c (simplify_using_initial_conditions):
+ Limit iteration over the dominators.
+
+2006-06-20 Roger Sayle <roger@eyesopen.com>
+
+ * config/mips/iris6.h (LIB_SPEC): Add support for -pthread.
+ (SUBTARGET_CPP_SPEC): Define _REENTERANT if -pthread specified.
+
+2006-06-20 Richard Guenther <rguenther@suse.de>
+ Michael Matz <matz@suse.de>
+
+ * alloc-pool.h (free_alloc_pool_if_empty): Prototype new
+ function.
+ * alloc-pool.c (free_alloc_pool_if_empty): New function.
+ * et-forest.h (et_free_pools): Prototype new function.
+ * et-forest.c (et_free_tree_force): Free parent occurrence.
+ (et_free_pools): New function.
+ * dominance.c (free_dominance_info): Free et-forest alloc
+ pools.
+
+2006-06-20 Roger Sayle <roger@eyesopen.com>
+
+ * expr.c (expand_expr_real_1) <VECTOR_CST>: For vector constants with
+ integer modes, attempt to directly construct an integer constant.
+
+ * fold-const.c (native_encode_vector): Determine the size of each
+ element from the vector type instead of the first vector element.
+
+ * tree.c (build_constructor_single): Mark a CONSTRUCTOR as constant,
+ if all of its elements/components are constant.
+ (build_constructor_from_list): Likewise.
+
+2006-06-20 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimization/27331
+ * tree-data-ref.c (free_data_ref): New function.
+ (create_data_ref): Fail if the data reference has unknown access
+ function.
+ (free_data_refs): Use free_data_ref.
+
+2006-06-19 Andrew Pinski <pinskia@gmail.com>
+
+ PR middle-end/28075
+ * tree-inline.c (setup_one_parameter): Strip useless
+ type conversion before adding it to the IR.
+ (declare_return_variable): Likewise.
+
+2006-06-19 Martin Michlmayr <tbm@cyrius.com>
+
+ PR c/27149
+ * c-common.c (c_common_truthvalue_conversion): Fix grammar in warning.
+
+2006-06-19 Mike Stump <mrs@apple.com>
+
+ * tree.c (variably_modified_type_p): VM arguments don't make the
+ type a VM type.
+
+2006-06-19 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-pre.c (try_combine_conversion): Strip useless
+ type conversions after folding.
+
+2006-06-19 Richard Guenther <rguenther@suse.de>
+
+ * ggc-page.c (extra_order_size_tab): Add entries with
+ size of struct function and basic_block.
+ (size_lookup): Extend to cover sizes up to 511.
+ (ggc_alloc_stat): Adjust user.
+ (ggc_pch_count_object): Likewise.
+ (ggc_pch_alloc_object): Likewise.
+ (ggc_pch_write_object): Likewise.
+
+2006-06-19 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-ssa-loop-niter.c (implies_ge_p): New function.
+ (derive_constant_upper_bound): Handle OP0 - CST in unsigned types
+ correctly.
+
+2006-06-19 Denis Chertykov <denisc@overta.ru>
+
+ * config/avr/libgcc.S : Correct my wrong previous commit.
+
+2006-06-19 Roger Sayle <roger@eyesopen.com>
+
+ PR target/27861
+ * expmed.c (expand_shift): On SHIFT_COUNT_TRUNCATED targets, we may
+ have stripped a SUBREG from the shift count, so we may need to
+ convert_to_mode back to the type's mode before calling make_tree.
+ Use new_amount instead of amount to avoid expanding a tree twice.
+
+2006-06-19 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/28045
+ * fold-const.c (operand_equal_p): Check if the argument types
+ have the same precision before stripping NOPs.
+
+2006-06-19 Daniel Berlin <dberlin@dberlin.org>
+
+ Fix PR tree-optimization/27341
+ * tree-cfg.c (gimplify_val): Call mark_new_vars_to_rename on the
+ statement we get.
+ * tree-complex.c (pass_lower_complex): Update SMT usage.
+
+2006-06-19 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * config/s390/s390.md ("doloop_si64", "doloop_si31", "doloop_di"):
+ Add a new alternative to the constraint strings. Add move of
+ operand 1 to 3 to the splitter definition.
+ ("doloop_si_long"): Second contraint alternative removed.
+
+2006-06-08 Anatoly Sokolov <aesok@post.ru>
+
+ * config/avr/avr.h (avr_have_movw_lpmx_p): Declare.
+ (TARGET_CPU_CPP_BUILTINS): Add __AVR_HAVE_MOVW__ and
+ __AVR_HAVE_LPMX__.
+ (AVR_HAVE_MOVW) Define.
+ (ASSEMBLER_DIALECT): Use AVR_HAVE_MOVW.
+ (ASM_SPEC): Add avr25.
+ (LINK_SPEC): Add avr25.
+ * config/avr/avr.c (avr_have_movw_lpmx_p): Add.
+ (base_arch_s): Add new member 'have_movw_lpmx'.
+ (avr_arch_types): Init 'have_movw_lpmx'.
+ (avr_mcu_types): Add 'avr25'. Move attiny13, attiny2313, attiny24,
+ attiny44, attiny84, attiny25, attiny45, attiny85, attiny261,
+ attiny461, attiny861 and at86rf401 in 'avr25' arhitecture.
+ (avr_override_options): Init 'avr_have_movw_lpmx_p'.
+ (output_movhi, output_movsisf, ashlsi3_out, avr_rtx_costs): Use
+ AVR_HAVE_MOVW.
+ (avr_file_start): Do not output '.arh' derective.
+ * config/avr/libgcc.S (mov_l): Use __AVR_HAVE_MOVW__.
+ (__do_copy_data): Use __AVR_HAVE_LPMX__.
+ * config/avr/avr.md (mcu_enhanced): Delete.
+ (mcu_have_movw): Define.
+ (negsi2, extendhisi2, zero_extendhisi2): Use 'mcu_have_movw'.
+ (call_insn, call_value_insn): Use 'call_insn' and __AVR_HAVE_MOVW__.
+ * config/avr/t-avr(MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add avr25.
+ (MULTILIB_MATCHES): Add attiny13, attiny2313, attiny24, attiny44,
+ attiny84, attiny25, attiny45, attiny85, attiny261, attiny461,
+ attiny861 and at86rf401 devices.
+
+2006-06-18 Jie Zhang <jie.zhang@analog.com>
+
+ * config/bfin/bfin.c (MAX_LOOP_LENGTH): Define to be 2042 instead
+ of 4096.
+
+2006-06-17 Karl Berry <karl@gnu.org>
+
+ * doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi,
+ doc/gccint.texi, doc/install.texi (@dircategory): Use
+ "Software development" instead of "Programming", following
+ the Free Software Directory.
+
+2006-06-17 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/i386/i386.c (legitimate_tls_address)
+ <TARGET_GNU2_TLS>: Add tp after DTPOFF.
+ * config/i386/i386.md (*tls_dynamic_gnu2_combine_32): Adjust.
+ (*tls_dynamic_gnu2_combine_64): Likewise.
+
+2006-06-16 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/27116
+ * fold-const.c (negate_expr_p): Do not introduce undefined
+ overflow in negating INTEGER_CSTs.
+ (fold_negate_expr): Rename from negate_expr. Revert last
+ change for folding BIT_NOT_EXPR. Change semantics to
+ return NULL_TREE for non-simplified negations. Do not
+ strip type conversions and unify type handling.
+ (negate_expr): New function, wrap around fold_negate_expr
+ but ensure building a tree always. Strip type conversions
+ here, fold to result type.
+ (fold_unary): Use fold_negate_expr for folding NEGATE_EXPR.
+
+2006-06-16 Roger Sayle <roger@eyesopen.com>
+
+ PR middle-end/27802
+ * reg-stack.c (subst_stack_regs): Handle noreturn function calls
+ that (would) return their results in stack registers.
+
+2006-06-16 Michael Matz <matz@suse.de>
+ Richard Guenther <rguenther@suse.de>
+
+ * fold-const.c (fold_truthop): Only return new tree node if
+ we canonicalized something.
+
+2006-06-16 Richard Guenther <rguenther@suse.de>
+
+ * function.h (enum function_frequency): Move declaration
+ out of struct function.
+ (struct function): Move bool fields and the enum to the bitfield
+ section. Reorder elements to avoid padding. Remove unused
+ fields left over from the RTL inliner removal.
+ * function.c (free_after_compilation): Do not zero removed fields.
+ * Makefile.in (ipa-reference.o): Add $(FUNCTION_H) dependency.
+ (ipa-type-escape.o): Likewise.
+
+2006-06-16 Richard Guenther <rguenther@suse.de>
+
+ * cgraph.h (struct cgraph_local_info): Turn bool elements
+ into a bitfield.
+ (struct cgraph_node): Likewise.
+ (struct cgraph_varpool_node): Likewise.
+
+2006-06-15 Richard Guenther <rguenther@suse.de>
+
+ * fold-const.c (fold_truth_not_expr): Rename from
+ invert_truthvalue. Give it fold_* semantics to avoid
+ generating garbage.
+ (invert_truthvalue): New function. Wrapper around
+ fold_truth_not_expr.
+ (optimize_minmax_comparison): Avoid creating garbage.
+ (fold_unary): Use fold_truth_not_expr for folding
+ TRUTH_NOT_EXPR.
+ (fold_ternary): Replace uses of invert_truthvalue with
+ fold_truth_not_expr where applicable.
+ * tree.h (fold_truth_not_expr): Prototype.
+
+2006-06-16 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/27781
+ * Makefile.in (ipa-pure-const.o): Add $(TARGET_H) dependency.
+ * ipa-pure-const.c (target.h): Include.
+ (analyze_function): Do not analyze functions that do not
+ bind locally.
+
+2006-06-15 Andrew MacLeod <amacleod@redhat.com>
+
+ PR middle-end/27793
+ * tree-dfa.c (referenced_vars_dup_list): Remove.
+ (find_referenced_vars): Remove assert.
+ (referenced_var_check_and_insert): Replace dup list with assert.
+ * tree-ssa.c (delete_tree_ssa): Remove dup list processing.
+ * tree-flow.h (referenced_vars_dup_list): Remove extern decl.
+
+2006-06-15 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (alias_get_name): Avoid creating
+ extra unused identifiers if not dumping.
+ (create_variable_info_for): Likewise.
+
+2006-06-15 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-ssa-loop-niter.c (implies_nonnegative_p): New function.
+ (derive_constant_upper_bound): Derive more precise upper bound in
+ common cases. Return type changed to double_int.
+ (record_estimate): Reflect the changed return type of
+ derive_constant_upper_bound.
+ * double-int.c (double_int_zext, double_int_sext): Fix.
+
+2006-06-15 Paolo Bonzini <bonzini@gnu.org>
+
+ * configure.ac (CFLAGS): Get them from the toplevel or from the
+ configure invocation.
+ * configure: Regenerate.
+ * Makefile.in (CFLAGS): Substitute value provided by configure.
+
+2006-06-14 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/26559
+ * c-common.h (c_finish_omp_atomic): Adjust declaration.
+ * c-omp.c (c_finish_omp_atomic): Return the expression to perform,
+ rather than calling add_stmt on it.
+ * c-parser.c (c_parser_omp_atomic): Adjust accordingly.
+
+2006-06-14 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ PR middle-end/27959
+ * reload1.c (reload): Remove registers returned by update_eliminables
+ from used_spill_regs.
+
+2006-06-13 DJ Delorie <dj@redhat.com>
+
+ * config/m32c/muldiv.md (mulpsi3): Expect arbitrary constants.
+
+2006-06-13 Carlos O'Donell <carlos@codesourcery.com>
+
+ * Makefile.in: Define HTMLS_BUILD, HTMLS_INSTALL,
+ html__strip_dir, html__mkdir_p. Enhance install-html target.
+ * configure.ac: AC_SUBST datarootdir, docdir and htmldir.
+ * configure: Regenerate.
+
+2006-06-13 Fariborz Jahanian <fjahanian@apple.com>
+
+ * fold-const.c (fold_cond_expr_with_comparison): Check for
+ Objective-C++ as language in deciding COND_EXPR transformation.
+
+2006-06-06 J"orn Rennecke <joern.rennecke@st.com>
+
+ PR target/28014:
+ * config/sh/t-sh (LIB1ASMFUNCS): Add _udiv_qrnnd16
+ * config/sh/sh.c (print_operand): Add !SHMEDIA functionality to 'M'.
+ * config/sh/lib1funcs.h (SL, SL1): Define.
+ * config/sh/lib1funcs.asm (__udiv_qrnnd16): New hidden function.
+ * longlong.h (__sh__): Define umul_ppmm, udiv_qrnnd and sub_ddmmss.
+ * config/sh/t-sh ($(T)unwind-dw2-Os-4-200.o): New rule.
+ (OBJS_Os_4_200): New variable.
+ ($(T)libgcc-Os-4-200.a): Use it.
+ * sh.md (udivsi3): For TARGET_DIVIDE_CALL_TABLE, avoid function call
+ when dividing 1 and/or by 0.
+
+2006-06-13 Roger Sayle <roger@eyesopen.com>
+
+ * configure.ac (HAS_MCONTEXT_T_UNDERSCORES): Include <sys/signal.h>
+ before <ucontext.h> to define sigset_t required by <sys/ucontext.h>.
+ * configure: Regenerate.
+
+2006-06-13 Jie Zhang <jie.zhang@analog.com>
+
+ * config/bfin/bfin.c (bfin_reorg_loops): Only call recog_memoized ()
+ for real instruction.
+
2006-06-13 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
PR middle-end/26807
2006-05-22 Gerald Pfeifer <gerald@pfeifer.com>
* doc/install.texi (Configuration): Remove reference to CrossGCC
- FAQ which was hijacked.
+ FAQ which was gone.
(Building): Ditto.
2006-05-22 Kazu Hirata <kazu@codesourcery.com>
2006-01-20 DJ Delorie <dj@redhat.com>
- * varasm.c (initialize_constant_valid_p): Allow pointers
+ * varasm.c (initializer_constant_valid_p): Allow pointers
initialized from integer constants of lesser precision.
(output_constant): Allow non-int-sized pointer modes to be
initialized from integer constants.