From owner-p4-projects@FreeBSD.ORG Tue Aug 14 16:02:35 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5C3C916A41A; Tue, 14 Aug 2007 16:02:35 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C4ECF16A417 for ; Tue, 14 Aug 2007 16:02:34 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B815213C465 for ; Tue, 14 Aug 2007 16:02:34 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l7EG2Yx7053093 for ; Tue, 14 Aug 2007 16:02:34 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l7EG2TrY053088 for perforce@freebsd.org; Tue, 14 Aug 2007 16:02:29 GMT (envelope-from gonzo@FreeBSD.org) Date: Tue, 14 Aug 2007 16:02:29 GMT Message-Id: <200708141602.l7EG2TrY053088@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 125144 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Aug 2007 16:02:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=125144 Change 125144 by gonzo@gonzo_jeeves on 2007/08/14 16:01:29 o IFC Affected files ... .. //depot/projects/mips2/src/contrib/gcc/BASE-VER#2 integrate .. //depot/projects/mips2/src/contrib/gcc/ChangeLog#4 integrate .. //depot/projects/mips2/src/contrib/gcc/DATESTAMP#2 integrate .. //depot/projects/mips2/src/contrib/gcc/Makefile.in#3 integrate .. //depot/projects/mips2/src/contrib/gcc/calls.c#3 integrate .. //depot/projects/mips2/src/contrib/gcc/combine.c#4 integrate .. //depot/projects/mips2/src/contrib/gcc/config/arm/arm.c#4 integrate .. //depot/projects/mips2/src/contrib/gcc/config/arm/cirrus.md#3 integrate .. //depot/projects/mips2/src/contrib/gcc/config/i386/i386.c#4 integrate .. //depot/projects/mips2/src/contrib/gcc/config/i386/i386.h#3 integrate .. //depot/projects/mips2/src/contrib/gcc/config/i386/i386.md#4 integrate .. //depot/projects/mips2/src/contrib/gcc/config/i386/sse.md#2 integrate .. //depot/projects/mips2/src/contrib/gcc/config/rs6000/predicates.md#2 integrate .. //depot/projects/mips2/src/contrib/gcc/config/rs6000/rs6000.c#4 integrate .. //depot/projects/mips2/src/contrib/gcc/config/soft-fp/double.h#2 integrate .. //depot/projects/mips2/src/contrib/gcc/config/soft-fp/extended.h#2 integrate .. //depot/projects/mips2/src/contrib/gcc/config/soft-fp/floatundidf.c#2 integrate .. //depot/projects/mips2/src/contrib/gcc/config/soft-fp/floatundisf.c#2 integrate .. //depot/projects/mips2/src/contrib/gcc/config/soft-fp/floatunsidf.c#2 integrate .. //depot/projects/mips2/src/contrib/gcc/config/soft-fp/floatunsisf.c#2 integrate .. //depot/projects/mips2/src/contrib/gcc/config/soft-fp/op-2.h#2 integrate .. //depot/projects/mips2/src/contrib/gcc/config/soft-fp/op-4.h#2 integrate .. //depot/projects/mips2/src/contrib/gcc/config/soft-fp/op-common.h#2 integrate .. //depot/projects/mips2/src/contrib/gcc/config/soft-fp/quad.h#2 integrate .. //depot/projects/mips2/src/contrib/gcc/config/sparc/sparc.c#4 integrate .. //depot/projects/mips2/src/contrib/gcc/cp/ChangeLog#4 integrate .. //depot/projects/mips2/src/contrib/gcc/cp/call.c#4 integrate .. //depot/projects/mips2/src/contrib/gcc/cp/class.c#4 integrate .. //depot/projects/mips2/src/contrib/gcc/cp/cp-tree.h#4 integrate .. //depot/projects/mips2/src/contrib/gcc/cp/decl.c#4 integrate .. //depot/projects/mips2/src/contrib/gcc/cp/decl2.c#4 integrate .. //depot/projects/mips2/src/contrib/gcc/cp/init.c#4 integrate .. //depot/projects/mips2/src/contrib/gcc/cp/parser.c#4 integrate .. //depot/projects/mips2/src/contrib/gcc/cp/pt.c#4 integrate .. //depot/projects/mips2/src/contrib/gcc/cp/semantics.c#4 integrate .. //depot/projects/mips2/src/contrib/gcc/cp/typeck.c#4 integrate .. //depot/projects/mips2/src/contrib/gcc/cp/typeck2.c#3 integrate .. //depot/projects/mips2/src/contrib/gcc/doc/cpp.1#3 integrate .. //depot/projects/mips2/src/contrib/gcc/doc/gcc.1#3 integrate .. //depot/projects/mips2/src/contrib/gcc/doc/gcov.1#3 integrate .. //depot/projects/mips2/src/contrib/gcc/dwarf2out.c#3 integrate .. //depot/projects/mips2/src/contrib/gcc/except.c#3 integrate .. //depot/projects/mips2/src/contrib/gcc/fold-const.c#4 integrate .. //depot/projects/mips2/src/contrib/gcc/function.c#4 integrate .. //depot/projects/mips2/src/contrib/gcc/gimplify.c#2 integrate .. //depot/projects/mips2/src/contrib/gcc/gthr-posix.c#3 integrate .. //depot/projects/mips2/src/contrib/gcc/gthr-posix.h#3 integrate .. //depot/projects/mips2/src/contrib/gcc/loop-iv.c#2 integrate .. //depot/projects/mips2/src/contrib/gcc/objc/ChangeLog#2 integrate .. //depot/projects/mips2/src/contrib/gcc/omp-low.c#2 integrate .. //depot/projects/mips2/src/contrib/gcc/pointer-set.c#2 integrate .. //depot/projects/mips2/src/contrib/gcc/pointer-set.h#2 integrate .. //depot/projects/mips2/src/contrib/gcc/reload.c#3 integrate .. //depot/projects/mips2/src/contrib/gcc/tree-if-conv.c#2 integrate .. //depot/projects/mips2/src/contrib/gcc/tree-ssa-loop-niter.c#2 integrate .. //depot/projects/mips2/src/contrib/gcc/tree-ssa-operands.c#2 integrate .. //depot/projects/mips2/src/contrib/gcc/tree-ssa-structalias.c#2 integrate .. //depot/projects/mips2/src/contrib/gcc/tree-vrp.c#2 integrate .. //depot/projects/mips2/src/contrib/gcc/version.c#4 integrate .. //depot/projects/mips2/src/contrib/gcclibs/include/ChangeLog#2 integrate .. //depot/projects/mips2/src/contrib/gcclibs/libcpp/ChangeLog#2 integrate .. //depot/projects/mips2/src/contrib/gcclibs/libdecnumber/ChangeLog#2 integrate .. //depot/projects/mips2/src/contrib/gcclibs/libgomp/ChangeLog#2 integrate .. //depot/projects/mips2/src/contrib/gcclibs/libgomp/config/posix/lock.c#2 integrate .. //depot/projects/mips2/src/contrib/gcclibs/libgomp/sections.c#2 integrate .. //depot/projects/mips2/src/contrib/gcclibs/libiberty/ChangeLog#2 integrate .. //depot/projects/mips2/src/contrib/gcclibs/libmudflap/ChangeLog#2 integrate .. //depot/projects/mips2/src/contrib/gcclibs/libssp/ChangeLog#2 integrate .. //depot/projects/mips2/src/contrib/less/main.c#5 integrate .. //depot/projects/mips2/src/contrib/libobjc/ChangeLog#4 integrate .. //depot/projects/mips2/src/contrib/libstdc++/ChangeLog#4 integrate .. //depot/projects/mips2/src/contrib/libstdc++/acinclude.m4#3 integrate .. //depot/projects/mips2/src/contrib/libstdc++/config.h.in#3 integrate .. //depot/projects/mips2/src/contrib/libstdc++/configure#3 integrate .. //depot/projects/mips2/src/contrib/libstdc++/include/Makefile.am#3 integrate .. //depot/projects/mips2/src/contrib/libstdc++/include/Makefile.in#3 integrate .. //depot/projects/mips2/src/contrib/libstdc++/include/bits/ostream.tcc#3 integrate .. //depot/projects/mips2/src/contrib/libstdc++/include/bits/ostream_insert.h#2 integrate .. //depot/projects/mips2/src/contrib/libstdc++/include/ext/throw_allocator.h#2 integrate .. //depot/projects/mips2/src/contrib/libstdc++/include/std/std_fstream.h#3 integrate .. //depot/projects/mips2/src/contrib/libstdc++/libsupc++/exception#3 integrate .. //depot/projects/mips2/src/contrib/libstdc++/libsupc++/new#3 integrate .. //depot/projects/mips2/src/contrib/libstdc++/libsupc++/typeinfo#3 integrate .. //depot/projects/mips2/src/etc/etc.arm/ttys#3 integrate .. //depot/projects/mips2/src/lib/libarchive/archive_write_disk.c#4 integrate .. //depot/projects/mips2/src/lib/libarchive/test/test_read_format_gtar_sparse.c#2 integrate .. //depot/projects/mips2/src/lib/libarchive/test/test_write_disk_perms.c#4 integrate .. //depot/projects/mips2/src/release/doc/en_US.ISO8859-1/hardware/article.sgml#3 integrate .. //depot/projects/mips2/src/sbin/atacontrol/atacontrol.c#2 integrate .. //depot/projects/mips2/src/sbin/tunefs/tunefs.8#3 integrate .. //depot/projects/mips2/src/share/man/man4/mfi.4#3 integrate .. //depot/projects/mips2/src/share/man/man4/ng_fec.4#3 integrate .. //depot/projects/mips2/src/share/mk/sys.mk#4 integrate .. //depot/projects/mips2/src/sys/conf/NOTES#8 integrate .. //depot/projects/mips2/src/sys/dev/ata/ata-raid.c#3 integrate .. //depot/projects/mips2/src/sys/dev/cxgb/cxgb_adapter.h#4 integrate .. //depot/projects/mips2/src/sys/dev/cxgb/cxgb_main.c#4 integrate .. //depot/projects/mips2/src/sys/dev/cxgb/cxgb_offload.c#2 integrate .. //depot/projects/mips2/src/sys/dev/cxgb/cxgb_sge.c#5 integrate .. //depot/projects/mips2/src/sys/dev/ichwd/ichwd.c#3 integrate .. //depot/projects/mips2/src/sys/dev/ichwd/ichwd.h#2 integrate .. //depot/projects/mips2/src/sys/dev/mfi/mfi.c#4 integrate .. //depot/projects/mips2/src/sys/dev/mfi/mfi_disk.c#4 integrate .. //depot/projects/mips2/src/sys/dev/mfi/mfi_pci.c#4 integrate .. //depot/projects/mips2/src/sys/dev/mfi/mfireg.h#4 integrate .. //depot/projects/mips2/src/sys/dev/mfi/mfivar.h#4 integrate .. //depot/projects/mips2/src/sys/dev/re/if_re.c#7 integrate .. //depot/projects/mips2/src/sys/dev/usb/ehci.c#4 integrate .. //depot/projects/mips2/src/sys/fs/tmpfs/tmpfs.h#3 integrate .. //depot/projects/mips2/src/sys/fs/tmpfs/tmpfs_subr.c#3 integrate .. //depot/projects/mips2/src/sys/fs/tmpfs/tmpfs_vnops.c#3 integrate .. //depot/projects/mips2/src/sys/kern/vfs_subr.c#7 integrate .. //depot/projects/mips2/src/sys/modules/netgraph/bluetooth/Makefile#3 integrate .. //depot/projects/mips2/src/sys/netgraph/bluetooth/drivers/h4/TODO#2 integrate .. //depot/projects/mips2/src/sys/netgraph/bluetooth/drivers/h4/ng_h4.c#4 integrate .. //depot/projects/mips2/src/sys/netgraph/bluetooth/drivers/h4/ng_h4_prse.h#2 integrate .. //depot/projects/mips2/src/sys/netgraph/bluetooth/drivers/h4/ng_h4_var.h#2 integrate .. //depot/projects/mips2/src/sys/powerpc/include/intr_machdep.h#4 integrate .. //depot/projects/mips2/src/sys/powerpc/include/md_var.h#4 integrate .. //depot/projects/mips2/src/sys/powerpc/include/openpicvar.h#3 integrate .. //depot/projects/mips2/src/sys/powerpc/powermac/hrowpic.c#3 integrate .. //depot/projects/mips2/src/sys/powerpc/powermac/hrowpicvar.h#2 integrate .. //depot/projects/mips2/src/sys/powerpc/powermac/openpic_macio.c#2 integrate .. //depot/projects/mips2/src/sys/powerpc/powerpc/autoconf.c#2 integrate .. //depot/projects/mips2/src/sys/powerpc/powerpc/interrupt.c#3 integrate .. //depot/projects/mips2/src/sys/powerpc/powerpc/intr_machdep.c#5 integrate .. //depot/projects/mips2/src/sys/powerpc/powerpc/nexus.c#4 integrate .. //depot/projects/mips2/src/sys/powerpc/powerpc/openpic.c#3 integrate .. //depot/projects/mips2/src/sys/powerpc/powerpc/pic_if.m#3 integrate .. //depot/projects/mips2/src/sys/powerpc/psim/openpic_iobus.c#2 integrate .. //depot/projects/mips2/src/sys/sys/ata.h#3 integrate .. //depot/projects/mips2/src/tools/regression/tmpfs/h_tools.c#2 integrate .. //depot/projects/mips2/src/tools/regression/tmpfs/t_mount#2 integrate .. //depot/projects/mips2/src/tools/regression/tmpfs/t_rename#2 integrate .. //depot/projects/mips2/src/usr.sbin/rpc.statd/file.c#2 integrate .. //depot/projects/mips2/src/usr.sbin/sysinstall/menus.c#4 integrate Differences ... ==== //depot/projects/mips2/src/contrib/gcc/BASE-VER#2 (text+ko) ==== @@ -1,1 +1,1 @@ -4.2.0 +4.2.1 ==== //depot/projects/mips2/src/contrib/gcc/ChangeLog#4 (text+ko) ==== @@ -1,3 +1,441 @@ +2007-07-19 Release Manager + + * GCC 4.2.1 released. + +2007-07-18 Paolo Bonzini + + Revert: + + 2007-07-09 Paolo Bonzini + + PR middle-end/32004 + * function.c (rest_of_match_asm_constraints): Pass PROP_REG_INFO. + + 2007-07-06 Paolo Bonzini + + PR middle-end/32004 + * function.c (match_asm_constraints_1, rest_of_match_asm_constraints, + pass_match_asm_constraints): New. + * passes.c (init_optimization_passes): Add new pass. + * stmt.c (expand_asm_operands): Set cfun->has_asm_statement. + * function.h (struct function): Add has_asm_statement bit. + (current_function_has_asm_statement): New. + * tree-pass.h (pass_match_asm_constraints): New. + +2007-07-16 Paul Brook + + PR target/32753 + gcc/ + * config/arm/cirrus.md (cirrus_arm_movsi_insn): Remove dead insn. + +2007-07-10 Rainer Orth + + PR target/32538 + * config/mips/iris6.h (LIBGCC_SPEC): Add libm. + +2007-07-09 Paolo Bonzini + + PR middle-end/32004 + * function.c (rest_of_match_asm_constraints): Pass PROP_REG_INFO. + +2007-07-09 Uros Bizjak + + PR tree-optimization/32681 + * tree-if-conv.c (find_phi_replacement_condition): Use the condition + saved in second_edge->aux when first_bb is a loop header. + +2007-07-07 Anatoly Sokolov + + PR target/31331 + * config/avr/avr.c (avr_naked_function_p): Handle receiving a type + rather than a decl. + (avr_attribute_table): Make "naked" attribute apply to function types + rather than to decls. + (avr_handle_fntype_attribute): New function. + +2007-07-06 Paolo Bonzini + + PR middle-end/32004 + * function.c (match_asm_constraints_1, rest_of_match_asm_constraints, + pass_match_asm_constraints): New. + * passes.c (init_optimization_passes): Add new pass. + * stmt.c (expand_asm_operands): Set cfun->has_asm_statement. + * function.h (struct function): Add has_asm_statement bit. + (current_function_has_asm_statement): New. + * tree-pass.h (pass_match_asm_constraints): New. + +2007-07-06 Uros Bizjak + + PR rtl-optimization/32450 + * function.c (thread_prologue_and_epilogue_insns): Emit blockage insn + to ensure that instructions are not moved into the prologue when + profiling is on. + +2007-07-04 Richard Guenther + + PR tree-optimization/32500 + * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): + Only use basic blocks that are always executed to infer loop bounds. + +2007-07-04 Uros Bizjak + + PR tree-optimization/31966 + PR tree-optimization/32533 + * tree-if-conv.c (add_to_dst_predicate_list): Use "edge", not + "basic_block" description as its third argument. Update function + calls to get destination bb from "edge" argument. Save "cond" into + aux field of the edge. Update prototype for changed arguments. + (if_convertible_loop_p): Clear aux field of incoming edges if bb + contains phi node. + (find_phi_replacement_condition): Operate on incoming edges, not + on predecessor blocks. If there is a condition saved in the + incoming edge aux field, AND it with incoming bb predicate. + Return source bb of the first edge. + (clean_predicate_lists): Clean aux field of outgoing node edges. + (tree_if_conversion): Do not initialize cond variable. Move + variable declaration into the loop. + (replace_phi_with_cond_gimple_modify_stmt): Remove unneded + initializations of new_stmt, arg0 and arg1 variables. + +2007-07-04 Kaz Kojima + + PR target/32506 + Backport from mainline. + * config/sh/sh.md (udivsi3_i1_media): Use target_reg_operand + predicate instead of target_operand. + (divsi3_i1_media, divsi3_media_2): Likewise. + +2007-07-03 Richard Guenther + + Backport from mainline: + 2006-12-11 Zdenek Dvorak + + PR rtl-optimization/30113 + * loop-iv.c (implies_p): Require the mode of the operands to be + scalar. + +2007-07-03 Rainer Orth + + PR target/28307 + * gthr-posix.h [SUPPORTS_WEAK && GTHREAD_USE_WEAK] + (__gthrw_pragma): Provide default definition. + (__gthrw2): Use it. + * gthr-posix.c (__gthrw_pragma): Define. + +2007-07-02 Jakub Jelinek + + PR libgomp/32468 + * omp-low.c (check_combined_parallel): New function. + (lower_omp_parallel): Call it via walk_stmts, set + OMP_PARALLEL_COMBINED if appropriate. + (determine_parallel_type): If OMP_FOR resp. OMP_SECTIONS + isn't the only statement in WS_ENTRY_BB or OMP_RETURN + the only one in PAR_EXIT_BB and not OMP_PARALLEL_COMBINED, + don't consider it as combined parallel. + +2007-06-30 Alexandre Oliva + + * dwarf2out.c (dwarf2out_finish): Accept namespaces as context of + limbo die nodes. + +2007-06-28 Seongbae Park + + * config/arm/arm.c (arm_get_frame_offsets): Set + offsets->locals_base to avoid negative stack size. + (thumb_expand_prologue): Assert on negative stack size. + +2007-06-28 Jakub Jelinek + + * config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Ensure + decl is non-external for AIX ABI. + +2007-06-28 David Edelsohn + + * config/rs6000/predicates.md (current_file_function_operand): + Ensure the symbol is non-external for AIX ABI. + +2007-06-21 H.J. Lu + + * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_VEC_EXT_V16QI. + (ix86_init_mmx_sse_builtins): Add __builtin_ia32_vec_ext_v16qi. + (ix86_expand_builtin): Handle IX86_BUILTIN_VEC_EXT_V16QI. + +2007-06-21 Jakub Jelinek + + PR middle-end/32362 + * omp-low.c (lookup_decl_in_outer_ctx): Don't ICE if t is NULL, + but decl is a global var, instead return decl. + * gimplify.c (gimplify_adjust_omp_clauses_1): Add shared clauses + even for is_global_var decls, if they are private in some outer + context. + +2007-06-21 Uros Bizjak + + PR target/32389 + * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_VIRTUAL. + * config/i386/i386.c (assign_386_stack_local): Assert that + SLOT_VIRTUAL is valid only before virtual regs are instantiated. + (ix86_expand_builtin) [IX86_BUILTIN_LDMXCSR, IX86_BUILTIN_STMXCSR]: + Use SLOT_VIRTUAL stack slot instead of SLOT_TEMP. + * config/i386/i386.md (truncdfsf2, truncxfsf2, truncxfdf2): Ditto. + +2007-06-20 Jakub Jelinek + + PR inline-asm/32109 + * gimplify.c (gimplify_asm_expr): Issue error if type is addressable + and !allows_mem. + + PR middle-end/32285 + * calls.c (precompute_arguments): Also precompute CALL_EXPR arguments + if ACCUMULATE_OUTGOING_ARGS. + +2007-06-20 Kaz Kojima + + PR rtl-optimization/28011 + Backport from mainline. + * reload.c (push_reload): Set dont_share if IN appears in OUT + also when IN is a PLUS rtx. + (reg_overlap_mentioned_for_reload_p): Return true if X and IN + are same PLUS rtx. + +2007-06-19 Richard Guenther + Michael Matz + + PR tree-optimization/30252 + * tree-ssa-structalias.c (solution_set_add): Make sure to + preserve all relevant vars. + (handle_ptr_arith): Make sure to only handle positive + offsets. + (push_fields_onto_fieldstack): Create fields for empty + bases. + +2007-06-19 Jakub Jelinek + + PR tree-optimization/32353 + * tree-ssa-structalias.c (set_uids_in_ptset): Also handle RESULT_DECL. + +2007-06-17 Eric Botcazou + + * config/sparc/sparc.c (sparc_vis_init_builtins): Retrieve the + return mode from the builtin itself. + (sparc_fold_builtin): Fix cast of zero constant. + +2007-06-15 Diego Novillo + + PR 32327 + * tree-ssa-operands.c (build_ssa_operands): Initially assume + that the statement does not take any addresses. + +2007-06-13 Eric Botcazou + + * config/sparc/sparc.c (sparc_override_options): Initialize + fpu mask correctly. + +2007-06-09 Ian Lance Taylor + + PR tree-optimization/32169 + * tree-vrp.c (extract_range_from_unary_expr): For NOP_EXPR and + CONVERT_EXPR, check whether min and max both converted to an + overflow infinity representation. + +2007-06-08 Kaz Kojima + + PR target/32163 + Backport from mainline. + * config/sh/sh.md (symGOT_load): Don't schedule insns when + the symbol is generated with the stack protector. + +2007-06-06 Ian Lance Taylor + + * fold-const.c (merge_ranges): If range_successor or + range_predecessor fail, just return 0. + +2007-06-05 Ian Lance Taylor + + * tree-vrp.c (compare_values_warnv): Check TREE_NO_WARNING on a + PLUS_EXPR or MINUS_EXPR node before setting *strict_overflow_p. + (extract_range_from_assert): Set TREE_NO_WARNING when creating an + expression. + (test_for_singularity): Likewise. + +2007-06-04 Ian Lance Taylor + + * tree-vrp.c (adjust_range_with_scev): When loop is not expected + to overflow, reduce overflow infinity to regular infinity. + (vrp_var_may_overflow): New static function. + (vrp_visit_phi_node): Check vrp_var_may_overflow. + +2007-05-31 H.J. Lu + + Backport from mainline: + 2007-05-25 H.J. Lu + + * config/i386/i386.c (__builtin_ia32_vec_ext_v2df): Mark it + with MASK_SSE2. + (__builtin_ia32_vec_ext_v2di): Likewise. + (__builtin_ia32_vec_ext_v4si): Likewise. + (__builtin_ia32_vec_ext_v8hi): Likewise. + (__builtin_ia32_vec_set_v8hi): Likewise. + +2007-05-31 John David Anglin + + Backport from mainline: + 2007-05-05 Aurelien Jarno + + * config/pa/pa.md: Split tgd_load, tld_load and tie_load + into pic and non-pic versions. Mark r19 as used for + tgd_load_pic, tld_load_pic and tie_load_pic. Mark r27 as used + for tgd_load, tld_load and tie_load . + * config/pa/pa.c (legitimize_tls_address): Emit pic or non-pic + version of tgd_load, tld_load and tie_load depending on the + value of flag_pic. + +2007-05-27 Daniel Berlin + + Fix PR/30052 + Backport PTA solver from mainline + + * pointer-set.c: Copy from mainline + * pointer-set.h: Ditto. + * tree-ssa-structalias.c: Copy solver portions from mainline. + * Makefile.in (tree-ssa-structalias.o): Update dependencies + +2007-05-30 Ralf Wildenhues + + * tree-vrp.c (compare_names): Initialize sop. + +2007-05-30 Jakub Jelinek + + PR tree-optimization/31769 + * except.c (duplicate_eh_regions): Clear prev_try if + ERT_MUST_NOT_THROW region is inside of ERT_TRY region. + +2007-05-28 Andrew Pinski + + PR tree-opt/32100 + * fold-const.c (tree_expr_nonnegative_warnv_p): Don't + return true when truth_value_p is true and the type + is of signed:1. + +2007-05-27 H.J. Lu + + Backport from mainline: + 2007-05-25 Uros Bizjak + + * config/i386/sse.md (*vec_extractv2di_1_sse2): Do not calculate + "memory" attribute for "sseishft" type insn without operands[2]. + + 2007-05-25 H.J. Lu + + * config/i386/sse.md (*vec_extractv2di_1_sse2): Correct shift. + +2007-05-22 Ian Lance Taylor + + * tree-vrp.c (avoid_overflow_infinity): New static function, + broken out of set_value_range_to_value. + (set_value_range_to_value): Call avoid_overflow_infinity. + (extract_range_from_assert): Likewise. + +2007-05-23 Chen Liqin + + PR target/30987 + * config/score/misc.md (bitclr_c, bitset_c, bittgl_c): remove. + * config/score/predicate.md (const_pow2, const_npow2): remove. + * config/score/score.h (ASM_OUTPUT_EXTERNAL): add ASM_OUTPUT_EXTERNAL undef. + PR target/30474 + * config/score/score.c (score_print_operand): makes sure that only lower + bits are used. + +2007-05-21 Uros Bizjak + + PR target/31167 + Backport from mainline. + * config/i386/i386.md (*addti3_1, *addti3_1 splitter): Use + x86_64_general_operand as operand[2] predicate. Remove "iF" + from operand constraints and use "e" constraint instead. + (*subti3_1, *subti3_1 splitter): Ditto. + (*negti2_1, *negti2_1 splitter): Use nonimmediate_operand as + operand[1] predicate. + +2007-05-21 Uros Bizjak + + PR target/30041 + Backport from mainline. + * config/i386/sse.md ("*sse3_movddup"): Use operands[0] and + operands[1] in insn constraint. Correct type attribute to sselog1. + +2007-05-20 Kaz Kojima + + PR target/31701 + Backport from mainline. + * config/sh/sh.c (output_stack_adjust): Avoid using the frame + register itself to hold the offset constant. Tell flow the use + of r4 and r5 when they are used. + +2007-05-20 Kaz Kojima + + PR target/31480 + Backport from mainline. + * config/sh/sh.md (length): Check if prev_nonnote_insn (insn) + is null. + +2007-05-20 Kaz Kojima + + PR target/31022 + Backport from mainline. + * config/sh/sh.c (sh_adjust_cost): Use the result of single_set + instead of PATTERN. + +2007-05-20 Kaz Kojima + + PR target/27405 + Backport from mainline. + * config/sh/sh.md (cmp{eq,gt,gtu}{si,di}_media): Remove. + (cmpsi{eq,gt,gtu}{si,di}_media): Rename to + cmp{eq,gt,gtu}{si,di}_media. + (*cmpne0si_media): Remove. + (*movsicc_umin): Adjust gen_cmp*_media call. + (unordered): Change the mode of unordered and operands[1] to + SImode. + (seq): Adjust gen_cmp*_media calls. Make the mode of + a temporary result of compare SImode if needed. If the mode + of operands[0] is DImode, extend the temporary result to DImode. + (slt, sle, sgt, sge, sgtu, sltu, sleu, sgue, sne): Likewise. + (sunorderd): Change the mode of match_operand and unorderd to + SImode. + (cmpeq{sf,df}_media): Remove. + (cmpsieq{sf,df}_media): Rename to cmpeq{sf,df}_media. + (cmp{gt,ge,un}{sf,df}_media): Change the mode of match_operand + and compare operation to SImode. + +2007-05-18 Joseph Myers + + * config/soft-fp/double.h, config/soft-fp/extended.h, + config/soft-fp/floatundidf.c, config/soft-fp/floatundisf.c, + config/soft-fp/floatunsidf.c, config/soft-fp/floatunsisf.c, + config/soft-fp/op-2.h, config/soft-fp/op-4.h, + config/soft-fp/op-common.h, config/soft-fp/quad.h: Update from + glibc CVS. + +2007-05-17 Ian Lance Taylor + + PR tree-optimization/31953 + * tree-vrp.c (set_value_range_to_value): Add equiv parameter. + Change all callers. + (set_value_range_to_null): Call set_value_range_to_value. + (extract_range_from_comparison): Likewise. + +2007-05-17 Eric Botcazou + + PR rtl-optimization/31691 + * combine.c (simplify_set): Build a new src pattern instead of + substituting its operands in the COMPARE case. + +2007-05-14 Mark Mitchell + + * BASE-VER: Set to 4.2.1. + * DEV-PHASE: Set to prerelease. + 2007-05-13 Release Manager * GCC 4.2.0 released. @@ -307,7 +745,8 @@ 2007-04-03 Stuart Hastings PR 31281 - * objc/objc-act.c (next_sjlj_build_catch_list): Delete volatile from rethrow decl. + * objc/objc-act.c (next_sjlj_build_catch_list): Delete volatile + from rethrow decl. * cse.c (record_jump_equiv): Bail out on CCmode comparisons. 2007-04-03 Jakub Jelinek ==== //depot/projects/mips2/src/contrib/gcc/DATESTAMP#2 (text+ko) ==== @@ -1,1 +1,1 @@ -20070514 +20070719 ==== //depot/projects/mips2/src/contrib/gcc/Makefile.in#3 (text+ko) ==== @@ -1839,7 +1839,7 @@ tree-ssa-structalias.o: tree-ssa-structalias.c tree-ssa-structalias.h \ $(SYSTEM_H) $(CONFIG_H) $(GGC_H) $(TREE_H) $(TREE_FLOW_H) \ $(TM_H) coretypes.h $(CGRAPH_H) tree-pass.h $(TIMEVAR_H) \ - gt-tree-ssa-structalias.h $(PARAMS_H) + gt-tree-ssa-structalias.h $(PARAMS_H) pointer-set.h tree-ssa.o : tree-ssa.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \ $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) output.h $(DIAGNOSTIC_H) \ toplev.h $(FUNCTION_H) $(TIMEVAR_H) $(TM_H) coretypes.h \ ==== //depot/projects/mips2/src/contrib/gcc/calls.c#3 (text+ko) ==== @@ -1238,13 +1238,25 @@ /* If this is a libcall, then precompute all arguments so that we do not get extraneous instructions emitted as part of the libcall sequence. */ - if ((flags & ECF_LIBCALL_BLOCK) == 0) + + /* If we preallocated the stack space, and some arguments must be passed + on the stack, then we must precompute any parameter which contains a + function call which will store arguments on the stack. + Otherwise, evaluating the parameter may clobber previous parameters + which have already been stored into the stack. (we have code to avoid + such case by saving the outgoing stack arguments, but it results in + worse code) */ + if ((flags & ECF_LIBCALL_BLOCK) == 0 && !ACCUMULATE_OUTGOING_ARGS) return; for (i = 0; i < num_actuals; i++) { enum machine_mode mode; + if ((flags & ECF_LIBCALL_BLOCK) == 0 + && TREE_CODE (args[i].tree_value) != CALL_EXPR) + continue; + /* If this is an addressable type, we cannot pre-evaluate it. */ gcc_assert (!TREE_ADDRESSABLE (TREE_TYPE (args[i].tree_value))); ==== //depot/projects/mips2/src/contrib/gcc/combine.c#4 (text+ko) ==== @@ -5341,14 +5341,14 @@ } else if (GET_MODE (op0) == compare_mode && op1 == const0_rtx) { - SUBST(SET_SRC (x), op0); + SUBST (SET_SRC (x), op0); src = SET_SRC (x); } - else + /* Otherwise, update the COMPARE if needed. */ + else if (XEXP (src, 0) != op0 || XEXP (src, 1) != op1) { - /* Otherwise, update the COMPARE if needed. */ - SUBST (XEXP (src, 0), op0); - SUBST (XEXP (src, 1), op1); + SUBST (SET_SRC (x), gen_rtx_COMPARE (compare_mode, op0, op1)); + src = SET_SRC (x); } } else ==== //depot/projects/mips2/src/contrib/gcc/config/arm/arm.c#4 (text+ko) ==== @@ -10555,6 +10555,7 @@ if (leaf && frame_size == 0) { offsets->outgoing_args = offsets->soft_frame; + offsets->locals_base = offsets->soft_frame; return offsets; } @@ -13874,6 +13875,7 @@ amount = offsets->locals_base - offsets->saved_regs; } + gcc_assert (amount >= 0); if (amount) { if (amount < 512) ==== //depot/projects/mips2/src/contrib/gcc/config/arm/cirrus.md#3 (text+ko) ==== @@ -404,28 +404,6 @@ ;; Cirrus SI values have been outlawed. Look in arm.h for the comment ;; on HARD_REGNO_MODE_OK. -(define_insn "*cirrus_arm_movsi_insn" - [(set (match_operand:SI 0 "general_operand" "=r,r,r,m,*v,r,*v,T,*v") - (match_operand:SI 1 "general_operand" "rI,K,mi,r,r,*v,T,*v,*v"))] - "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0 - && (register_operand (operands[0], SImode) - || register_operand (operands[1], SImode))" - "@ - mov%?\\t%0, %1 - mvn%?\\t%0, #%B1 - ldr%?\\t%0, %1 - str%?\\t%1, %0 - cfmv64lr%?\\t%Z0, %1 - cfmvr64l%?\\t%0, %Z1 - cfldr32%?\\t%V0, %1 - cfstr32%?\\t%V1, %0 - cfsh32%?\\t%V0, %V1, #0" - [(set_attr "type" "*, *, load1,store1, *, *, load1,store1, *") - (set_attr "pool_range" "*, *, 4096, *, *, *, 1024, *, *") - (set_attr "neg_pool_range" "*, *, 4084, *, *, *, 1012, *, *") - (set_attr "cirrus" "not,not, not, not,move,normal,normal,normal,normal")] -) - (define_insn "*cirrus_movsf_hard_insn" [(set (match_operand:SF 0 "nonimmediate_operand" "=v,v,v,r,m,r,r,m") (match_operand:SF 1 "general_operand" "v,mE,r,v,v,r,mE,r"))] ==== //depot/projects/mips2/src/contrib/gcc/config/i386/i386.c#4 (text+ko) ==== @@ -19,7 +19,7 @@ the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -/* $FreeBSD: src/contrib/gcc/config/i386/i386.c,v 1.24 2007/05/19 02:26:26 kan Exp $ */ +/* $FreeBSD: src/contrib/gcc/config/i386/i386.c,v 1.25 2007/08/14 03:04:42 kan Exp $ */ #include "config.h" #include "system.h" @@ -13480,6 +13480,9 @@ gcc_assert (n < MAX_386_STACK_LOCALS); + /* Virtual slot is valid only before vregs are instantiated. */ + gcc_assert ((n == SLOT_VIRTUAL) == !virtuals_instantiated); + for (s = ix86_stack_locals; s; s = s->next) if (s->mode == mode && s->n == n) return s->rtl; @@ -14570,6 +14573,7 @@ IX86_BUILTIN_VEC_EXT_V4SF, IX86_BUILTIN_VEC_EXT_V4SI, IX86_BUILTIN_VEC_EXT_V8HI, + IX86_BUILTIN_VEC_EXT_V16QI, IX86_BUILTIN_VEC_EXT_V2SI, IX86_BUILTIN_VEC_EXT_V4HI, IX86_BUILTIN_VEC_SET_V8HI, @@ -15542,13 +15546,13 @@ /* Access to the vec_extract patterns. */ ftype = build_function_type_list (double_type_node, V2DF_type_node, integer_type_node, NULL_TREE); - def_builtin (MASK_SSE, "__builtin_ia32_vec_ext_v2df", + def_builtin (MASK_SSE2, "__builtin_ia32_vec_ext_v2df", ftype, IX86_BUILTIN_VEC_EXT_V2DF); ftype = build_function_type_list (long_long_integer_type_node, V2DI_type_node, integer_type_node, NULL_TREE); - def_builtin (MASK_SSE, "__builtin_ia32_vec_ext_v2di", + def_builtin (MASK_SSE2, "__builtin_ia32_vec_ext_v2di", ftype, IX86_BUILTIN_VEC_EXT_V2DI); ftype = build_function_type_list (float_type_node, V4SF_type_node, @@ -15558,12 +15562,12 @@ ftype = build_function_type_list (intSI_type_node, V4SI_type_node, integer_type_node, NULL_TREE); - def_builtin (MASK_SSE, "__builtin_ia32_vec_ext_v4si", + def_builtin (MASK_SSE2, "__builtin_ia32_vec_ext_v4si", ftype, IX86_BUILTIN_VEC_EXT_V4SI); ftype = build_function_type_list (intHI_type_node, V8HI_type_node, integer_type_node, NULL_TREE); - def_builtin (MASK_SSE, "__builtin_ia32_vec_ext_v8hi", + def_builtin (MASK_SSE2, "__builtin_ia32_vec_ext_v8hi", ftype, IX86_BUILTIN_VEC_EXT_V8HI); ftype = build_function_type_list (intHI_type_node, V4HI_type_node, @@ -15576,11 +15580,15 @@ def_builtin (MASK_MMX, "__builtin_ia32_vec_ext_v2si", ftype, IX86_BUILTIN_VEC_EXT_V2SI); + ftype = build_function_type_list (intQI_type_node, V16QI_type_node, + integer_type_node, NULL_TREE); + def_builtin (MASK_SSE2, "__builtin_ia32_vec_ext_v16qi", ftype, IX86_BUILTIN_VEC_EXT_V16QI); + /* Access to the vec_set patterns. */ ftype = build_function_type_list (V8HI_type_node, V8HI_type_node, intHI_type_node, integer_type_node, NULL_TREE); - def_builtin (MASK_SSE, "__builtin_ia32_vec_set_v8hi", + def_builtin (MASK_SSE2, "__builtin_ia32_vec_set_v8hi", ftype, IX86_BUILTIN_VEC_SET_V8HI); ftype = build_function_type_list (V4HI_type_node, V4HI_type_node, @@ -16124,13 +16132,13 @@ case IX86_BUILTIN_LDMXCSR: op0 = expand_normal (TREE_VALUE (arglist)); - target = assign_386_stack_local (SImode, SLOT_TEMP); + target = assign_386_stack_local (SImode, SLOT_VIRTUAL); emit_move_insn (target, op0); emit_insn (gen_sse_ldmxcsr (target)); return 0; case IX86_BUILTIN_STMXCSR: - target = assign_386_stack_local (SImode, SLOT_TEMP); + target = assign_386_stack_local (SImode, SLOT_VIRTUAL); emit_insn (gen_sse_stmxcsr (target)); return copy_to_mode_reg (SImode, target); @@ -16492,6 +16500,7 @@ case IX86_BUILTIN_VEC_EXT_V4SF: case IX86_BUILTIN_VEC_EXT_V4SI: case IX86_BUILTIN_VEC_EXT_V8HI: + case IX86_BUILTIN_VEC_EXT_V16QI: case IX86_BUILTIN_VEC_EXT_V2SI: case IX86_BUILTIN_VEC_EXT_V4HI: return ix86_expand_vec_ext_builtin (arglist, target); ==== //depot/projects/mips2/src/contrib/gcc/config/i386/i386.h#3 (text+ko) ==== @@ -2166,7 +2166,8 @@ enum ix86_stack_slot { - SLOT_TEMP = 0, + SLOT_VIRTUAL = 0, + SLOT_TEMP, SLOT_CW_STORED, SLOT_CW_TRUNC, SLOT_CW_FLOOR, ==== //depot/projects/mips2/src/contrib/gcc/config/i386/i386.md#4 (text+ko) ==== @@ -3716,7 +3716,7 @@ ; else { - rtx temp = assign_386_stack_local (SFmode, SLOT_TEMP); + rtx temp = assign_386_stack_local (SFmode, SLOT_VIRTUAL); emit_insn (gen_truncdfsf2_with_temp (operands[0], operands[1], temp)); DONE; } @@ -3868,7 +3868,7 @@ DONE; } else - operands[2] = assign_386_stack_local (SFmode, SLOT_TEMP); + operands[2] = assign_386_stack_local (SFmode, SLOT_VIRTUAL); }) (define_insn "*truncxfsf2_mixed" @@ -3966,7 +3966,7 @@ DONE; } else - operands[2] = assign_386_stack_local (DFmode, SLOT_TEMP); + operands[2] = assign_386_stack_local (DFmode, SLOT_VIRTUAL); }) (define_insn "*truncxfdf2_mixed" @@ -4749,7 +4749,7 @@ (define_insn "*addti3_1" [(set (match_operand:TI 0 "nonimmediate_operand" "=r,o") (plus:TI (match_operand:TI 1 "nonimmediate_operand" "%0,0") - (match_operand:TI 2 "general_operand" "roiF,riF"))) + (match_operand:TI 2 "x86_64_general_operand" "roe,re"))) (clobber (reg:CC FLAGS_REG))] "TARGET_64BIT && ix86_binary_operator_ok (PLUS, TImode, operands)" "#") @@ -4757,7 +4757,7 @@ (define_split [(set (match_operand:TI 0 "nonimmediate_operand" "") (plus:TI (match_operand:TI 1 "nonimmediate_operand" "") - (match_operand:TI 2 "general_operand" ""))) + (match_operand:TI 2 "x86_64_general_operand" ""))) (clobber (reg:CC FLAGS_REG))] "TARGET_64BIT && reload_completed" [(parallel [(set (reg:CC FLAGS_REG) (unspec:CC [(match_dup 1) (match_dup 2)] @@ -6483,7 +6483,7 @@ (define_insn "*subti3_1" [(set (match_operand:TI 0 "nonimmediate_operand" "=r,o") (minus:TI (match_operand:TI 1 "nonimmediate_operand" "0,0") - (match_operand:TI 2 "general_operand" "roiF,riF"))) + (match_operand:TI 2 "x86_64_general_operand" "roe,re"))) (clobber (reg:CC FLAGS_REG))] "TARGET_64BIT && ix86_binary_operator_ok (MINUS, TImode, operands)" "#") @@ -6491,7 +6491,7 @@ (define_split [(set (match_operand:TI 0 "nonimmediate_operand" "") (minus:TI (match_operand:TI 1 "nonimmediate_operand" "") - (match_operand:TI 2 "general_operand" ""))) + (match_operand:TI 2 "x86_64_general_operand" ""))) (clobber (reg:CC FLAGS_REG))] "TARGET_64BIT && reload_completed" [(parallel [(set (reg:CC FLAGS_REG) (compare:CC (match_dup 1) (match_dup 2))) @@ -9326,7 +9326,7 @@ (define_insn "*negti2_1" [(set (match_operand:TI 0 "nonimmediate_operand" "=ro") - (neg:TI (match_operand:TI 1 "general_operand" "0"))) + (neg:TI (match_operand:TI 1 "nonimmediate_operand" "0"))) (clobber (reg:CC FLAGS_REG))] "TARGET_64BIT && ix86_unary_operator_ok (NEG, TImode, operands)" @@ -9334,7 +9334,7 @@ (define_split [(set (match_operand:TI 0 "nonimmediate_operand" "") - (neg:TI (match_operand:TI 1 "general_operand" ""))) + (neg:TI (match_operand:TI 1 "nonimmediate_operand" ""))) (clobber (reg:CC FLAGS_REG))] "TARGET_64BIT && reload_completed" [(parallel ==== //depot/projects/mips2/src/contrib/gcc/config/i386/sse.md#2 (text+ko) ==== @@ -2055,11 +2055,11 @@ (match_dup 1)) (parallel [(const_int 0) (const_int 2)])))] - "TARGET_SSE3 && !(MEM_P (operands[1]) && MEM_P (operands[2]))" + "TARGET_SSE3 && !(MEM_P (operands[0]) && MEM_P (operands[1]))" "@ movddup\t{%1, %0|%0, %1} #" - [(set_attr "type" "sselog,ssemov") + [(set_attr "type" "sselog1,ssemov") (set_attr "mode" "V2DF")]) (define_split @@ -3494,9 +3494,10 @@ "TARGET_SSE2 && !(MEM_P (operands[0]) && MEM_P (operands[1]))" "@ movhps\t{%1, %0|%0, %1} - psrldq\t{$4, %0|%0, 4} + psrldq\t{$8, %0|%0, 8} movq\t{%H1, %0|%0, %H1}" [(set_attr "type" "ssemov,sseishft,ssemov") + (set_attr "memory" "*,none,*") (set_attr "mode" "V2SF,TI,TI")]) ;; Not sure this is ever used, but it doesn't hurt to have it. -aoliva ==== //depot/projects/mips2/src/contrib/gcc/config/rs6000/predicates.md#2 (text+ko) ==== @@ -694,7 +694,9 @@ (define_predicate "current_file_function_operand" (and (match_code "symbol_ref") (match_test "(DEFAULT_ABI != ABI_AIX || SYMBOL_REF_FUNCTION_P (op)) - && (SYMBOL_REF_LOCAL_P (op) + && ((SYMBOL_REF_LOCAL_P (op) + && (DEFAULT_ABI != ABI_AIX + || !SYMBOL_REF_EXTERNAL_P (op))) || (op == XEXP (DECL_RTL (current_function_decl), 0)))"))) ==== //depot/projects/mips2/src/contrib/gcc/config/rs6000/rs6000.c#4 (text+ko) ==== @@ -13515,7 +13515,8 @@ } } if (DEFAULT_ABI == ABI_DARWIN - || (*targetm.binds_local_p) (decl)) + || ((*targetm.binds_local_p) (decl) + && (DEFAULT_ABI != ABI_AIX || !DECL_EXTERNAL (decl)))) { tree attr_list = TYPE_ATTRIBUTES (TREE_TYPE (decl)); ==== //depot/projects/mips2/src/contrib/gcc/config/soft-fp/double.h#2 (text+ko) ==== @@ -1,6 +1,6 @@ /* Software floating-point emulation. Definitions for IEEE Double Precision - Copyright (C) 1997,1998,1999,2006 Free Software Foundation, Inc. + Copyright (C) 1997,1998,1999,2006,2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com), Jakub Jelinek (jj@ultra.linux.cz), @@ -168,13 +168,13 @@ DFtype flt; struct { #if __BYTE_ORDER == __BIG_ENDIAN - unsigned sign : 1; - unsigned exp : _FP_EXPBITS_D; - unsigned long frac : _FP_FRACBITS_D - (_FP_IMPLBIT_D != 0); >>> TRUNCATED FOR MAIL (1000 lines) <<<