OSDN Git Service

* c-tree.h (start_enum): Update.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index c1ee9fb..98212c3 100644 (file)
@@ -1,3 +1,200 @@
+2007-06-04  Tom Tromey  <tromey@redhat.com>
+
+       * c-tree.h (start_enum): Update.
+       (build_enumerator): Likewise.
+       * c-decl.c (enum_next_value): Removed.
+       (enum_overflow): Likewise.
+       (start_enum): Add c_enum_contents argument.  Don't use globals.
+       (build_enumerator): Likewise.
+       * c-tree.h (struct c_enum_contents): New struct.
+
+2007-06-04  Tom Tromey  <tromey@redhat.com>
+
+       * c-common.c (c_common_get_alias_set): Fix indentation.
+
+2007-06-04  Ian Lance Taylor  <iant@google.com>
+
+       * 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-06-04  Kazu Hirata  <kazu@codesourcery.com>
+
+       * stor-layout.c (layout_type): Remove duplicate code.
+
+2007-06-04  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR c/32191
+       * gcc/c-common.c (c_define_builtins): Call targetm.init_builtins ()
+       before build_common_builtin_nodes ().
+
+2007-06-04  Steve Ellcey  <sje@cup.hp.com>
+
+       PR target/31733
+       * cfgrtl.c (rtl_verify_flow_info): Skip notes when looking for barrier.
+
+2007-05-31  Jan Hubicka  <jh@suse.cz>
+
+       * tree-predcom.c (replace_ref_with, initialize_root_vars_lm,
+       reassociate_to_the_same_stmt): Call build_gimple_modify_stmt
+       instead of _stat version.
+
+2007-06-03  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR tree-optimization/32194
+       * tree-predcom.c (determine_offset): Check that both references have
+       the same type.
+
+2007-06-03  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * cfgloopmanip.c (remove_path, loopify, duplicate_loop_to_header_edge):
+       Change dom_bbs to vector.  Add argument to iterate_fix_dominators call.
+       * loop-unroll.c (unroll_loop_runtime_iterations): Ditto.
+       * tree-cfg.c (tree_duplicate_sese_region): Change doms to vector.
+       Add argument to iterate_fix_dominators call.
+       (remove_edge_and_dominated_blocks): Pass vector to bbs_to_fix_dom.
+       * gcse.c (hoist_code): Change domby to vector.
+       * cfghooks.c (make_forwarder_block): Change doms_to_fix to vector.
+       Add argument to iterate_fix_dominators call.
+       * loop-doloop.c (doloop_modify): Changed recount_dominator to
+       recompute_dominator.
+       * lambda-code.c (perfect_nestify): Ditto.
+       * cfgloopanal.c: Include graphds.h.
+       (struct edge, struct vertex, struct graph, dump_graph, new_graph,
+       add_edge, dfs, for_each_edge, free_graph): Moved to graphds.c.
+       (mark_irreducible_loops): Use graphds_scc.  Remove argument from
+       add_edge call.
+       * graphds.c: New file.
+       * graphds.h: New file.
+       * dominance.c: Include vecprim.h, pointer-set.h and graphds.h.
+       (get_dominated_by, get_dominated_by_region): Change return type to
+       vector.
+       (verify_dominators): Recompute all dominators and compare the results.
+       (recount_dominator): Renamed to ...
+       (recompute_dominator): ... this.  Do not check that the block is
+       dominated by entry.
+       (iterate_fix_dominators): Reimplemented.
+       (prune_bbs_to_update_dominators, root_of_dom_tree,
+       determine_dominators_for_sons): New functions.
+       * et-forest.c (et_root): New function.
+       * et-forest.h (et_root): Declare.
+       * Makefile.in (graphds.o): Add.
+       (cfgloopanal.o): Add graphds.h dependency.
+       (dominance.o): Add graphds.h, vecprim.h and pointer-set.h dependency.
+       * basic-block.h (get_dominated_by, get_dominated_by_region,
+       iterate_fix_dominators): Declaration changed.
+       (recount_dominator): Renamed to ...
+       (recompute_dominator): ... this.
+       * tree-ssa-threadupdate.c (thread_block): Free dominance info.
+       (thread_through_all_blocks): Do not free dominance info.
+
+2007-06-03  Andreas Schwab  <schwab@suse.de>
+
+       * config/m68k/m68k.c (override_options): Don't override
+       REAL_MODE_FORMAT.
+       * config/m68k/m68k-modes.def (SF, DF): Define to use
+       motorola_single_format and motorola_double_format, resp.
+       * real.c (motorola_single_format): Renamed from
+       coldfire_single_format.
+       (motorola_double_format): Renamed from coldfire_double_format.
+       (encode_ieee_extended): Generate a proper canonical NaN image
+       respecting canonical_nan_lsbs_set.
+       (ieee_extended_motorola_format): Set canonical_nan_lsbs_set to
+       true.
+       * real.h: Adjust declarations.
+
+2007-06-03  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       PR target/32163
+       * config/sh/sh.md (symGOT_load): Don't schedule insns when
+       the symbol is generated with the stack protector.
+
+2007-06-03  Kazu Hirata  <kazu@codesourcery.com>
+
+       * config/m68k/m68k.c (m68k_attribute_table): Add "interrupt".
+       (m68k_get_function_kind): Return m68k_fk_interrupt_handler on
+       "interrupt".
+       * doc/extend.texi (interrupt): Mention m68k.
+
+2007-06-02  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (ix86_expand_sse_4_operands_builtin): Call
+       safe_vector_operand() if input operand is VECTOR_MODE_P operand.
+       (ix86_expand_sse_pcmpestr): Do not check operands for
+       "register_operand", when insn operand predicate is "register_operand".
+       (ix86_expand_sse_pcmpistr): Ditto.
+
+2007-06-02  H.J. Lu  <hongjiu.lu@intel.com>
+           Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.h (enum reg_class) [SSE_FIRST_REG]: New.
+       (SSE_CLASS_P): Use reg_class_subset_p between SSE_REGS.
+       (REG_CLASS_NAMES): Add "FIRST_SSE_REG" string.
+       (REG_CLASS_CONTENTS): Add members of FIRST_SSE_REG class.
+       * config/i386/constraints.md ("z"): New register constraint
+       for members of SSE_FIRST_REG class.
+       * config/i386/i386-modes.def (CCA, CCC, CCO, CCS): New compare modes.
+       * config/i386/i386.c (regclass_map): Change class of %xmm0 to
+       SSE_FIRST_REG class.
+       (put_condition_code) [EQ, NE]: Output suffixes for new compare modes.
+       (ix86_cc_modes_compatible): Handle CCA, CCC, CCO and CCS modes.
+       (IX86_BUILTIN_PCMPESTRI128): New for SSE4.2.
+       (IX86_BUILTIN_PCMPESTRM128): Likewise.
+       (IX86_BUILTIN_PCMPESTRA128): Likewise.
+       (IX86_BUILTIN_PCMPESTRC128): Likewise.
+       (IX86_BUILTIN_PCMPESTRO128): Likewise.
+       (IX86_BUILTIN_PCMPESTRS128): Likewise.
+       (IX86_BUILTIN_PCMPESTRZ128): Likewise.
+       (IX86_BUILTIN_PCMPISTRI128): Likewise.
+       (IX86_BUILTIN_PCMPISTRM128): Likewise.
+       (IX86_BUILTIN_PCMPISTRA128): Likewise.
+       (IX86_BUILTIN_PCMPISTRC128): Likewise.
+       (IX86_BUILTIN_PCMPISTRO128): Likewise.
+       (IX86_BUILTIN_PCMPISTRS128): Likewise.
+       (IX86_BUILTIN_PCMPISTRZ128): Likewise.
+       (struct builtin_description): Change "flag" field to unsigned.
+       (bdesc_pcmpestr): New builtin description table.
+       (bdesc_pcmpistr): Likewise.
+       (ix86_init_mmx_sse_builtins): Define int_ftype_v16qi_int_v16qi_int_int,
+       v16qi_ftype_v16qi_int_v16qi_int_int and int_ftype_v16qi_v16qi_int.
+       Initialize pcmp[ei]str[im] insns for SSE4.2.
+       (ix86_expand_sse_pcmpestr): New subroutine of ix86_expand_builtin.
+       (ix86_expand_sse_pcmpistr): Likewise.
+       (ix86_expand_builtin): Expand pcmp[ei]str[im] builtins for SSE4.2.
+       * config/i386/i386.md (UNSPEC_PCMPESTR): New for SSE4.2.
+       (UNSPEC_PCMPISTR): Likewise.
+       * config/i386/sse.md (sse4_2_pcmpestr): New insn patern and splitter.
+       (sse4_2_pcmpestri):New isns pattern.
+       (sse4_2_pcmpestrm): Likewise.
+       (sse4_2_pcmpestr_cconly): Likewise.
+       (sse4_2_pcmpistr): New insn patern and splitter.
+       (sse4_2_pcmpistri):New isns pattern.
+       (sse4_2_pcmpistrm): Likewise.
+       (sse4_2_pcmpistr_cconly): Likewise.
+       * config/i386/smmintrin.h: Enable pcmp[ei]str[im] intrinsics
+       in SSE4.2.
+
+2007-06-01  David Daney  <ddaney@avtrex.com>
+
+       * config/mips/mips.c (mips_output_mi_thunk): Only load gp if not
+       LOADGP_ABSOLUTE and not binds_local_p.
+       
+2007-06-01  Geoffrey Keating  <geoffk@apple.com>
+
+       * config/darwin.h (LINK_SPEC): Pass -fpie through to the linker.
+
+2007-06-01  Ian Lance Taylor  <iant@google.com>
+
+       * tree-vrp.c (compare_name_with_value): Always set
+       used_strict_overflow if we get a result from the variable itself.
+
+2007-06-01  Ian Lance Taylor  <iant@google.com>
+
+       PR rtl-optimization/31455
+       * lower-subreg.c (find_decomposable_subregs): Don't decompose
+       subregs which have a cast between modes which are not tieable.
+
 2007-06-01  Uros Bizjak  <ubizjak@gmail.com>
 
        * expr.c (force_operand) [DIV, MOD, UDIV, UMOD, ASHIFTRT]: Remove
 
 2007-05-31  H.J. Lu  <hongjiu.lu@intel.com>
 
-       * config.gcc (i[34567]86-*-*): Add nmmintrin.h to
-       extra_headers.
+       * config.gcc (i[34567]86-*-*): Add nmmintrin.h to extra_headers.
        (x86_64-*-*): Likewise.
-
        * config/i386/i386.c (OPTION_MASK_ISA_MMX_UNSET): New.
        (OPTION_MASK_ISA_3DNOW_UNSET): Likewise.
        (OPTION_MASK_ISA_SSE_UNSET): Likewise.
        (OPTION_MASK_ISA_SSE4): Likewise.
        (OPTION_MASK_ISA_SSE4_UNSET): Likewise.
        (OPTION_MASK_ISA_SSE4A_UNSET): Likewise.
-       (ix86_handle_option): Use OPTION_MASK_ISA_*_UNSET.  Handle
-       SSE4.2.
+       (ix86_handle_option): Use OPTION_MASK_ISA_*_UNSET.  Handle SSE4.2.
        (override_options): Support SSE4.2.
        (ix86_build_const_vector): Support SImode and DImode.
        (ix86_build_signbit_mask): Likewise.
        (ix86_expand_crc32): Likewise.
        (ix86_init_mmx_sse_builtins): Support SSE4.2.
        (ix86_expand_builtin): Likewise.
-
        * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
        __SSE4_2__ for -msse4.2.
-
        * config/i386/i386.md (UNSPEC_CRC32): New for SSE4.2.
        (CRC32MODE): Likewise.
        (crc32modesuffix): Likewise.
        (crc32modeconstraint): Likewise.
        (sse4_2_crc32<mode>): Likewise.
        (sse4_2_crc32di): Likewise.
-
        * config/i386/i386.opt (msse4.2): New for SSE4.2.
        (msse4): Likewise.
-
-       * config/i386/nmmintrin.h: New. The dummy SSE4.2 intrinsic header
-       file.
-
+       * config/i386/nmmintrin.h: New. The dummy SSE4.2 intrinsic header file.
        * config/i386/smmintrin.h: Add SSE4.2 intrinsics.
-
-       * config/i386/sse.md (sse4_2_gtv2di3): New pattern for
-       SSE4.2.
+       * config/i386/sse.md (sse4_2_gtv2di3): New pattern for SSE4.2.
        (vcond<mode>): Use SSEMODEI instead of SSEMODE124.
        (vcondu<mode>): Likewise.
-
        * doc/extend.texi: Document SSE4.2 built-in functions.
-
        * doc/invoke.texi: Document -msse4.2/-msse4.
 
 2007-05-31  Zdenek Dvorak  <dvorakz@suse.cz>