X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=c5f37aa2356353cadd43d583b0e0516aa1202816;hb=108cf1776caa5e59c4cb1ab3dedcdcf5c5ba5ef5;hp=db2574eda78f8eca88cd5be37e180b8056c3de41;hpb=674b377bd843707d228580b96d26c5ca8af08a9e;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index db2574eda78..94f768f6a20 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,990 @@ +2006-07-06 Paul Eggert + + Port to hosts whose 'sort' and 'tail' implementations + treat operands with leading '+' as file names, as POSIX + has required since 2001. However, make sure the code still + works on pre-POSIX hosts. + * Makefile.in (slowcompare): Port to POSIX 1003.1-2001, + which says you should use "tail -c +N" rather than "tail +Nc". + Fix a bug: the old code incorrectly skipped 15 bytes, not 16. + +2006-07-06 Zdenek Dvorak + + * tree-ssa-loop-niter.c (scev_probably_wraps_p): Fix typo in argument name. + +2006-07-06 David Edelsohn + + PR target/28150 + * config/rs6000/rs6000.c (rs6000_legitimate_address): Do not allow + PRE_{INC,DEC} of TFmode. + +2006-07-06 David Edelsohn + Alan Modra + + PR target/28170 + * config/rs6000/rs6000.c (insvdi_rshift_rlwimi_p): Correct shiftop + bounds. Simplify. + +2006-07-06 Rainer Orth + + PR target/28285 + * config/alpha/predicates.md (alpha_swapped_comparison_operator): + Remove duplicate gtu. + +2006-07-05 Jason Merrill + + PR c++/13983 + PR c++/17519 + * stor-layout.c (finish_record_layout): Copy TYPE_PACKED to variants. + * c-common.c (handle_packed_attribute): So don't copy it here. + * c-decl.c (finish_struct): Don't copy TYPE_ALIGN. + +2006-07-05 Mike Stump + + * doc/invoke.texi (Invoking G++): Clarify prose for g++. + +2006-07-05 H.J. Lu + + PR target/26146 + * config.gcc: Check with_cpu for i[34567]86--*-solaris2.1[0-9]*. + +2006-07-05 Richard Guenther + + PR target/28158 + * config/i386/i386.md (*negdf2_1): Restrict pattern to + TARGET_SSE2 targets if using SSE math. + (*absdf2_1): Likewise. + +2006-07-05 Richard Guenther + + PR tree-optimization/28162 + * fold-const.c (fold_binary): For (-A) * (-B) -> A * B + make sure to convert the operands to the correct type. + +2006-07-04 Paolo Bonzini + + PR tree-optimization/28218 + + * tree-ssa-math-opts.c (execute_cse_reciprocals): Fix calls + to calculate and free the dominator information. + +2006-07-04 Peter O'Gorman + + * mklibgcc.in: chmod 644 before ranlib during install. + +2006-07-04 Andrew Stubbs + J"orn Rennecke + + * configure.ac (.eh_frame data check): Use diff -b. + +2006-07-04 Eric Botcazou + + PR bootstrap/18058 + * Makefile.in (BUILD_RTL): Add build/vec.o. + (build/gencondmd.o): Filter out -fkeep-inline-functions. + (build/genextract): Delete. + (build/genautomata): Likewise. + +2006-07-04 Alan Modra + + PR target/28207 + * config/rs6000/rs6000.c (function_arg_boundary): Double-word align + 128-bit IBM long doubles for ABI_V4. + +2006-07-03 Eric Botcazou + + * tree.c (range_in_array_bounds_p): New predicate. + * tree.h (range_in_array_bounds_p): Declare it. + * tree-eh.c (tree_could_trap_p) : Use it to + return a less conservative answer. + * tree-sra.c (struct sra_elt): Add new pointer field 'groups' + and flag 'is_group'. + (IS_ELEMENT_FOR_GROUP): New macro. + (FOR_EACH_ACTUAL_CHILD): Likewise. + (next_child_for_group): New helper function. + (can_completely_scalarize_p): Take into account groups. + (sra_hash_tree): Handle RANGE_EXPR. + (sra_elt_eq): Likewise. + (lookup_element): Be prepared for handling groups. + (is_valid_const_index): Delete. + (maybe_lookup_element_for_expr) : Use in_array_bounds_p + instead of is_valid_const_index. + : New case. + (sra_walk_expr) : Use in_array_bounds_p instead of + is_valid_const_index. + : Do not unconditionally punt. + (scan_dump): Dump info for groups too. + (decide_instantiation_1): Likewise. + (decide_block_copy): Assert that the element is not a group. + Propagate decision to groups. + (generate_one_element_ref): Handle RANGE_EXPR. + (mark_no_warning): Iterate over actual childs. + (generate_copy_inout): Likewise. + (generate_element_copy): Likewise. + (generate_element_zero): Likewise. + (generate_element_init_1): Likewise. + (dump_sra_elt_name): Handle RANGE_EXPR. + +2006-07-03 Roger Sayle + + PR tree-optimization/26251 + * tree-ssa-threadupdate.c (redirection_block_p): New function. + (thread_block): When optimizing for size refuse to thread jumps + that would require duplication of blocks other than redirection + blocks. + +2006-07-03 Paolo Bonzini + + * configure.ac: Fix thinko in previous check-in. + * configure: Regenerate. + +2006-07-03 Paolo Bonzini + + PR other/27063 + * configure.ac (for lang...): Simplify nesting of conditionals. + Test subdir_requires for non-enabled languages. Move processing + of lang_opt_files and lang_tree_fiels below that test. + * configure: Regenerate. + * doc/sourcebuild.texi (Front End Config): Document subdir_requires. + +2006-07-01 Martin Michlmayr + + * doc/gcov.texi (Invoking Gcov): Add a missing word. + +2006-06-30 Kazu Hirata + + * cfgexpand.c, config/i386/i386.c, genpreds.c, tree-cfg.c: Fix + comment typos. + +2006-06-29 Jason Merrill + + PR c++/26905 + PR c++/26612 + PR c++/27000 + PR c++/26984 + PR c++/19134 + * tree.c (build_decl_stat): Don't hande #pragma visibility here. + * c-common.c (c_determine_visibility): Handle it here. + * c-decl.c (finish_decl): Call c_determine_visibility for + functions, too. + * flags.h (enum symbol_visibility): Sort from most to least visibility. + * tree.h: Likewise. + * varasm.c (default_assemble_visibility): Likewise. + * c-common.c (handle_visibility_attribute): Complain about trying + to give visibility to an already defined class, or trying to change + declared visibility. Always attach the attribute. + + PR c++/26905 + PR c++/21675 + PR c++/17470 + * attribs.c (decl_attributes): Ignore type-in-place attributes + once the type has been defined. + +2006-06-29 Roger Sayle + + PR middle-end/27428 + * c-lex.c (c_lex_with_flags) : Increment errorcount + to indicate the cpplib has issued an error message for us. + +2006-06-29 Asher Langton + + PR target/25765 + * config/i386/i386.c (ix86_output_function_epilogue): Don't + insert a label at the end of an function under Mach-O. + +2006-06-29 Eric Christopher + Evan Cheng + + * predicates.md (vector_all_ones_operand): New. + (nonimmediate_or_sse_const_operand): Ditto. + * config/i386/i386-protos.h (standard_sse_constant_opcode): Declare. + * config/i386/i386.c (standard_sse_constant_opcode): Define. + (standard_sse_mode_p): Ditto. + (standard_sse_constant_p): Add case for -1 vector. + (ix86_expand_vector_move): Try to use. + * sse.md (*mov_internal): Use nonimmediate_or_sse_const_operand. + Call standard_sse_constant_opcode. + (*movv4sf_internal): Ditto. + (*movv2df_internal): Ditto. + +2006-06-29 Roger Sayle + + * genpreds.c (write_match_code_switch): Correctly use XSTR instead + of XEXP to extract the operands of a MATCH_CODE rtx. + +2006-06-28 Andrew Pinski + + * tree.c (tree_size): Do not waste tail padding in + struct tree_string and make the size be the same as + build_string will generate. + +2006-06-28 Jason Merrill + + PR c++/27768 + * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add + may_aliases already in the tag's annotations to the bitmap. + +2006-06-28 Roger Sayle + + * genpreds.c (write_predicate_stmts) : Add missing break. + +2006-06-28 Roger Sayle + + * genpreds.c (generate_switch_p): New function. + (add_mode_tests): Push the new mode test down inside an AND expr + if this allows the switch-suitable MATCH_CODE to be near the root. + (write_match_code_switch): New function to write a MATCH_CODE as + a switch statement. + (write_predicate_stmts): New function to write a predicate RTX + expression as a sequence of statements. + (write_one_predicate_function): Use write_predicate_stmts. + (write_tm_constrs_h): Likewise. + +2006-06-26 Fred Fish + + * config/mips/t-sb1: New file. + * config.gcc (mipsisa64sb1-*-elf*): Add mips/t-sb1 to + tmake_file list. + +2006-06-26 DJ Delorie + + * config/m32c/m32c.c (m32c_print_operand): Fix sign-merging logic. + +2006-06-26 Naveen H.S + Jayant Sonar + Jaydeep Vipradas + + * config/m32c/addsub.md (addsi3, addsi3_1, addsi3_2): New. + (subsi3, subsi3_1, subsi3_2): New. + * config/m32c/bitops.md (andsi3, iorsi3, xorsi3): New. + * config/m32c/mov.md (SI mov peephole): New. + * config/m32c/m32.c (m32c_immd_dbl_mov): New. + * config/m32c/m32c-protos.h (m32c_immd_dbl_mov): New. + +2006-06-26 Olivier Hainque + + * function.c (aggregate_value_p): Honor DECL_BY_REFERENCE on + a CALL_EXPR target function declaration. + +2006-06-26 Richard Guenther + + * tree.c (build_string): Do not waste tail padding in + struct tree_string. + +2006-06-26 Richard Guenther + + * ggc-page.c (init_ggc): Add missing element to size_lookup + table. + + Revert + 2006-06-23 Richard Guenther + + * 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-25 Eric Botcazou + + PR middle-end/28151 + * fold-const.c (const_binop): Be prepared for self returning zero. + Simplify code handling complex values. + +2006-06-24 Olivier Hainque + + * gimplify.c (gimplify_scalar_mode_aggregate_compare): New function. + (gimplify_expr): Use it for tcc_comparison of operands of non BLKmode + aggregate types. + +2006-06-24 Olivier Hainque + + * tree-ssa-loop-im.c (for_each_index): Handle ARRAY_RANGE_REF as + ARRAY_REF, so have the callback called for the low bound expression. + +2006-06-23 Janis Johnson + + * tree.h (DECIMAL_FLOAT_TYPE_P): New. + * c-typeck.c (c_common_type): Disallow operations on decimal float + types and other float types. + * convert.c (convert_to_real): Don't ignore conversions involving + decimal float types. + +2006-06-23 Olivier Hainque + + * 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. + +2006-06-23 Danny Smith + + 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 + + * 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 + John David Anglin + + PR middle-end/28131 + * expr.c (expand_expr_real_1) : Check whether the + call to lang_hooks.types.type_for_mode returned NULL_TREE. + +2006-06-23 Ben Elliston + + * dfp.c (decimal_to_decnumber): Do not use decNumberNegate to + negate dn -- manipulate it directly. + +2006-06-22 Roger Sayle + Steven Bosscher + + 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 + + * config/xtensa/lib1funcs.asm (MIN_ESA): Delete. + (leaf_entry): Remove use of MIN_ESA. + +2006-06-22 Zdenek Dvorak + + PR rtl-optimization/28121 + * cfgexpand.c (tree_expand_cfg): Clean EDGE_EXECUTABLE flag from + the entry edge. + +2006-06-21 DJ Delorie + + * config/m32c/muldiv.md (mulhisi3_i): Only use registers for dest + (TN-16C-A156A/E). + (mulhisi3_r): Likewise. + +2006-06-21 Richard Sandiford + + 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 + + * doc/invoke.texi (-fopenmp) Move to "Options Controlling C Dialect" + section from the "Options for Code Generation Conventions". + +2006-06-21 Richard Henderson + + 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 + + * 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 + + * configure: Regenerated. + +2006-06-21 Joseph Myers + + * 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 + + * 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 + + * 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 + + * 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 + + * tree-ssa-loop-niter.c (simplify_using_initial_conditions): + Limit iteration over the dominators. + +2006-06-20 Roger Sayle + + * config/mips/iris6.h (LIB_SPEC): Add support for -pthread. + (SUBTARGET_CPP_SPEC): Define _REENTERANT if -pthread specified. + +2006-06-20 Richard Guenther + Michael Matz + + * 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 + + * expr.c (expand_expr_real_1) : 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 + + 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 + + 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 + + PR c/27149 + * c-common.c (c_common_truthvalue_conversion): Fix grammar in warning. + +2006-06-19 Mike Stump + + * tree.c (variably_modified_type_p): VM arguments don't make the + type a VM type. + +2006-06-19 Richard Guenther + + * tree-ssa-pre.c (try_combine_conversion): Strip useless + type conversions after folding. + +2006-06-19 Richard Guenther + + * 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 + + * 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 + + * config/avr/libgcc.S : Correct my wrong previous commit. + +2006-06-19 Roger Sayle + + 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 + + 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 + + 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 + + * 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 + + * 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 + + * config/bfin/bfin.c (MAX_LOOP_LENGTH): Define to be 2042 instead + of 4096. + +2006-06-17 Karl Berry + + * 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 + + * config/i386/i386.c (legitimate_tls_address) + : 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 + + 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 + + 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 + Richard Guenther + + * fold-const.c (fold_truthop): Only return new tree node if + we canonicalized something. + +2006-06-16 Richard Guenther + + * 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 + + * 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 + + * 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 + + 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 + + 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 + + * 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 + + * 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 + + * 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 + + 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 + + PR middle-end/27959 + * reload1.c (reload): Remove registers returned by update_eliminables + from used_spill_regs. + +2006-06-13 DJ Delorie + + * config/m32c/muldiv.md (mulpsi3): Expect arbitrary constants. + +2006-06-13 Carlos O'Donell + + * 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 + + * 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 + + 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 + + * configure.ac (HAS_MCONTEXT_T_UNDERSCORES): Include + before to define sigset_t required by . + * configure: Regenerate. + +2006-06-13 Jie Zhang + + * config/bfin/bfin.c (bfin_reorg_loops): Only call recog_memoized () + for real instruction. + +2006-06-13 Maxim Kuvyrkov + + PR middle-end/26807 + * haifa-sched.c (check_cfg): Handle special case. + +2006-06-13 Eric Botcazou + + PR debug/26754 + * gimplify.c (declare_tmp_vars): Rename into declare_vars. + Add debug_info parameter. Chain the vars to the BLOCK instead + of the BIND_EXPR if debug info are requested for them. + (pop_gimplify_context): Adjust for above change. + (gimple_add_tmp_var): Likewise. + * tree-gimple.h (declare_tmp_vars): Rename into declare_vars. + Add bool parameter. + * tree-nested.c (convert_nonlocal_reference): Adjust for above change. + (convert_local_reference): Likewise. + (get_local_debug_decl): Set DECL_IGNORED_P on the original variable. + (finalize_nesting_tree_1): Request that debug info be emitted + for debug_var_chain. + +2006-06-13 Maxim Kuvyrkov + + * haifa-sched.c (unlink_other_notes, unlink_line_notes): Fix the patch + for PR target/27863. + +2006-06-13 Richard Guenther + + PR middle-end/27536 + * except.c (output_ttype): Expand type with EXPAND_INITIALIZER. + +2006-06-13 Richard Guenther + + PR tree-optimization/27830 + * tree-inline.c (copy_body_r): For copying the operand + of an ADDR_EXPR make sure to fold &* afterwards. + +2006-06-12 Eric Botcazou + + * gimplify.c (gimplify_expr): Treat VIEW_CONVERT_EXPR like other + lvalues in the fb_none case with side-effects. + +2006-06-12 Kazu Hirata + + * tree-flow.h: Remove the prototype for + compute_phi_arg_on_exit. + * tree-ssa-loop-ivopts.c (protect_loop_closed_ssa_form_use, + protect_loop_closed_ssa_form, compute_phi_arg_on_exit): + Remove. + +2006-06-12 Mark Shinwell + + * builtins.c (expand_builtin_return_addr): Only use + frame_pointer_rtx when count == 0 and we are expanding + __builtin_return_address. + +2006-06-12 Fred Fish + + * config/mips/mips.c (mips_file_start): Create special section + ".gcc_compiled_longXX" for o64 ABI as well as EABI. + +2006-06-11 Eric Christopher + + PR middle-end/27948 + * stor-layout.c (place_field): Remove check for + remaining_in_alignment when aligning at the end of a run. + +2006-06-11 Eric Christopher + + PR 27542 + * doc/extend.texi (Structure-Packing Pragmas): Document ms_struct + pragma. + +2006-06-11 Roger Sayle + + PR target/27858 + Revert incorrect fix for PR target/27158 + 2006-05-08 Roger Sayle + * reload.c (find_reloads_toplev): Only return the simplified SUBREG + of a reg_equiv_constant if the result is a legitimate constant. + +2006-06-11 Roger Sayle + + PR target/27158 + * config/rs6000/rs6000.c (const_vector_elt_as_int): New function to + extract a CONST_VECTOR element and interpret it as an integer. + (vspltis_constant): Use const_vector_elt_as_int instead of the + macro CONST_VECTOR_ELT in order to handle FP vector modes. + * config/rs6000/predicates.md (easy_vector_const): Consider + floating point ALTIVEC_VECTOR_MODEs via easy_altivec_constant. + +2006-06-11 Kaz Kojima + + PR middle-end/27942 + * stor-layout.c (update_alignment_for_field): Don't add extra + alignment for packed non-bitfield fields in ms_bitfield_layout_p + code. + +2006-06-09 Ralf Corsepius + + * config/mips/t-rtems: Add EL/EB multilib variants. + +2006-06-09 Mike Stump + + * c-typeck.c (c_begin_vm_scope): Fix file_scope processing. + +2006-06-09 David Daney + + * doc/install.texi: Add binutils version recommendation for mips-*-*. + +2006-06-09 Andreas Krebbel + + * reload.c (find_reloads): Unset force_reload for 'X' constraint. + +2006-06-09 Richard Guenther + + PR tree-optimization/26998 + * tree-vrp.c (extract_range_from_unary_expr): For NEGATE_EXPR + of signed types, only TYPE_MIN_VALUE is special, but for both, + minimum and maximum value. Likewise VR_ANTI_RANGE is special + in this case, as is -fwrapv. + +2006-06-08 Mike Stump + + PR target/26427 + * config/darwin.c (darwin_asm_output_anchor): Disable + -fsection-anchors on darwin for now. + * config/darwin.h (TARGET_ASM_OUTPUT_ANCHOR): Likewise. + * rs6000/rs6000.c (optimization_options): Likewise. + +2006-06-08 Volker Reichelt + + PR target/27421 + * config/i386/i386.c (classify_argument): Skip fields with invalid + types in unions. + +2006-06-08 Steven Bosscher + + * cse.c (flush_hash_table): Use VOIDmode to invalidate a REG. + (cse_insn): Likewise for the stack_pointer_rtx. + +2006-06-08 Roger Sayle + + * tree-ssa-dom.c (record_conditions): Only record "unordered" + conditions from floating point comparisons. + +2006-06-08 Paolo Bonzini + + PR middle-end/27733 + * expmed.c (struct alg_hash_entry): Fix type of field T + to match synth_mult argument. + (NUM_ALG_HASH_ENTRIES): Make it bigger for 64-bit HOST_WIDE_INT. + +2006-06-08 Maxim Kuvyrkov + + PR target/27863 + * haifa-sched.c (unlink_other_notes, unlink_line_notes): Update basic + block boundaries. + +2006-06-08 Richard Guenther + + PR middle-end/27116 + * fold-const.c (negate_expr_p): We can negate BIT_NOT_EXPR + only, if overflow is defined and not trapping. + (negate_expr): Likewise. + +2006-06-07 Zdenek Dvorak + + PR tree-optimization/27872 + * tree-ssa-loop-manip.c (tree_unroll_loop): Set EDGE_IRREDUCIBLE_LOOP + flag on the new exit edge of the unrolled loop. + +2006-06-07 Zdenek Dvorak + + PR rtl-optimization/26449 + * loop-invariant.c (move_invariant_reg): Fail if force_operand fails. + +2006-06-07 Andrew MacLeod + + PR middle-end/27793 + * tree-dfa.c (referenced_vars_dup_list): New. List of duplicate + referenced_variables with matching DECL_UID's. + (find_referenced_vars): Make sure duplicate list is empty to start. + (referenced_var_p): Remove. + (referenced_var_check_and_insert): Renamed from referenced_var_insert. + Check if var is in the list, and add if needed. Update the duplicate + list if a different var is in the list with the same DECL_UID. + (add_referenced_var): Call routine to check and insert. + * tree-ssa.c (delete_tree_ssa): Clear var_ann's on duplicates. + * tree-flow.h (referenced_vars_dup_list): External declaration. + +2006-06-07 Fred Fish + + * config/mips/t-elf (MULTILIB_MATCHES): Combine two entries + into single entry. + +2006-06-07 Paolo Bonzini + + PR target/27390 + * reg-stack.c (subst_stack_regs_pat): Reorder resetting of + the imaginary and real parts of a clobbered register. + Emit insn to set the imaginary part. + +2006-06-06 Peter Lemieszewski + + * config/s390/t-tpf (LIB2ADDEH): Include unwind-dw2-fde-glibc.c + in lieu of unwind-dw2-fde.c. + +2006-06-06 Francois-Xavier Coudert + + * config/i386/mingw32.h (GOMP_SELF_SPECS): Define. + +2006-06-06 Ulrich Weigand + + PR target/27842 + * config/rs6000/altivec.md (UNSPEC_VSLW): Remove. + ("altivec_vspltisw_v4sf", "altivec_vslw_v4sf"): Remove. + ("mulv4sf3", "absv4sf3", "negv4sf3"): Adapt users to use + V4SImode temporaries and operations instead. + +2006-06-06 Joseph S. Myers + + * config/mips/t-linux64 (tp-bit.c): Append to tp-bit.c, not + dp-bit.c. + +2006-06-06 Mike Stump + + * Makefile.in: Rename to htmldir to build_htmldir to avoid + installing during build. + +2006-06-06 Maxim Kuvyrkov + + * params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): Change default + value to 0. + * doc/invoke.texi (max-sched-extend-regions-iters): Document. + * config/ia64/ia64.c (params.h): New header. + (ia64_optimization_options): New function to adjust parameters. + * config/ia64/ia64-protos.h (ia64_optimization_options): New prototype. + * config/ia64/ia64.h (OPTIMIZATION_OPTIONS): New macro. + * config/ia64/t-ia64 (ia64.o): Add dependence from params.h . + 2006-06-05 Kazu Hirata * stor-layout.c (debug_rli): Fix a typo in a debug message. @@ -608,7 +1595,7 @@ 2006-05-22 Gerald Pfeifer * doc/install.texi (Configuration): Remove reference to CrossGCC - FAQ which was hijacked. + FAQ which was gone. (Building): Ditto. 2006-05-22 Kazu Hirata @@ -9640,7 +10627,7 @@ 2006-01-20 DJ Delorie - * 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.