+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
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>