OSDN Git Service

* c-tree.h (start_enum): Update.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 3b03140..98212c3 100644 (file)
@@ -1,3 +1,736 @@
+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
+       breaks after return statements.
+
+2007-06-01  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.c (fpscr_set_from_mem): Call get_free_reg
+       only after no_new_pseudos.
+
+2007-05-31  Eric Christopher  <echristo@apple.com>
+
+       * expr.c (convert_move): Assert that we don't have a BLKmode
+       operand.
+       (store_expr): Handle BLKmode moves by calling emit_block_move.
+
+2007-05-31  Daniel Berlin  <dberlin@dberlin.org>
+
+       * c-typeck.c (build_indirect_ref): Include type in error message.
+       (build_binary_op): Pass types to binary_op_error.
+       * c-common.c (binary_op_error): Take two type arguments, print out
+       types with error.
+       * c-common.h (binary_op_error): Update prototype.
+
+2007-05-31  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.c: Correct coments on -mno-sse4.
+
+2007-05-31  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * 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_SSE2_UNSET): Likewise.
+       (OPTION_MASK_ISA_SSE3_UNSET): Likewise.
+       (OPTION_MASK_ISA_SSSE3_UNSET): Likewise.
+       (OPTION_MASK_ISA_SSE4_1_UNSET): Likewise.
+       (OPTION_MASK_ISA_SSE4_2_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.
+       (override_options): Support SSE4.2.
+       (ix86_build_const_vector): Support SImode and DImode.
+       (ix86_build_signbit_mask): Likewise.
+       (ix86_expand_int_vcond): Support V2DImode.
+       (IX86_BUILTIN_CRC32QI): New for SSE4.2.
+       (IX86_BUILTIN_CRC32HI): Likewise.
+       (IX86_BUILTIN_CRC32SI): Likewise.
+       (IX86_BUILTIN_CRC32DI): Likewise.
+       (IX86_BUILTIN_PCMPGTQ): Likewise.
+       (bdesc_crc32): Likewise.
+       (bdesc_sse_3arg): 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/smmintrin.h: Add SSE4.2 intrinsics.
+       * 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>
+
+       PR tree-optimization/32160
+       * tree-predcom.c (predcom_tmp_var): New function.  Mark created
+       variable as gimple reg.
+       (initialize_root_vars, initialize_root_vars_lm): Use predcom_tmp_var.
+
+2007-05-31  Kazu Hirata  <kazu@codesourcery.com>
+
+       * gcc.c (main): Don't consider linker options when issuing the
+       warning about a linker input file not being used.
+
+2007-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * tree-vrp.c (compare_names): Initialize sop.
+
+2007-05-30  Dirk Mueller  <dmueller@suse.de>
+
+       * cgraphunit.c (cgraph_analyze_function): Remove
+       computation of inline parameters.
+
+2007-05-30  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/darwin.h (TARGET_SUBTARGET_DEFAULT): Undef before define.
+
+2007-05-30  Richard Sandiford  <richard@codesourcery.com>
+
+       * config.gcc (arm-wrs-vxworks): Remove dbxelf.h from tm_file.
+       Add vx-common.h.  Include vxworks.h between vx-common.h and
+       arm/vxworks.h.
+       * config/vx-common.h (DWARF2_UNWIND_INFO): Undefine before
+       redefining.
+       * config/vxworks.h (TARGET_ASM_CONSTRUCTOR): Likewise.
+       (TARGET_ASM_DESTRUCTOR): Likewise.
+       * config/arm/vxworks.h (TARGET_OS_CPP_BUILTINS): Check arm_arch_xscale
+       instead of arm_is_xscale.  Use VXWORKS_OS_CPP_BUILTINS.
+       (OVERRIDE_OPTIONS, SUBTARGET_CPP_SPEC): Define.
+       (CC1_SPEC): Add -tstrongarm.  Line up backslashes.
+       (VXWORKS_ENDIAN_SPEC): Define.
+       (ASM_SPEC): Add VXWORKS_ENDIAN_SPEC.
+       (LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Redefine to their
+       VXWORKS_* equivalents.
+       (LINK_SPEC): Likewise, but add VXWORKS_ENDIAN_SPEC.
+       (ASM_FILE_START): Delete.
+       (TARGET_VERSION): Reformat.
+       (FPUTYPE_DEFAULT, FUNCTION_PROFILER): Define.
+       (DEFAULT_STRUCTURE_SIZE_BOUNDARY): Define.
+       * config/arm/t-vxworks (LIB1ASMSRC, LIB1ASMFUNCS): Define.
+       (FPBIT, DPBIT): Define.
+       (fp-bit.c, dp-bit.c): New rules.
+       (MULTILIB_OPTIONS): Add strongarm, -mrtp and -mrtp/-fPIC multilibs.
+       (MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Define.
+       * config/arm/arm-protos.h (arm_emit_call_insn): Declare.
+       * config/arm/arm.h: Include vxworks-dummy.h.
+       * config/arm/arm.c (arm_elf_asm_constructor, arm_elf_asm_destructor):
+       Mark with ATTRIBUTE_UNUSED.
+       (arm_override_options): Do not allow VxWorks RTP PIC to be used
+       for Thumb.  Force r9 to be the PIC register for VxWorks RTPs and
+       make it incompatible with -msingle-pic-base.
+       (arm_function_ok_for_sibcall): Return false for calls that might
+       go through a VxWorks PIC PLT entry.
+       (require_pic_register): New function, split out from...
+       (legitimize_pic_address): ...here.  Do not use GOTOFF accesses
+       for VxWorks RTPs.
+       (arm_load_pic_register): Handle the VxWorks RTP initialization
+       sequence.  Use pic_reg as a shorthand for cfun->machine->pic_reg.
+       (arm_emit_call_insn): New function.
+       (arm_assemble_integer): Do not use GOTOFF accesses for VxWorks RTP.
+       * config/arm/arm.md (UNSPEC_PIC_OFFSET): New unspec number.
+       (pic_offset_arm): New pattern.
+       (call, call_value): Use arm_emit_call_insn.
+       (call_internal, call_value_internal): New expanders.
+       * config/arm/lib1funcs.asm (__PLT__): Define to empty for
+       VxWorks unless __PIC__.
+
+2007-05-30  Eric Christopher  <echristo@gmail.com>
+
+       * genrecog.c: Include regs.h in generated file.
+       * genemit.c: Ditto. Fix up formatting.
+       * config/mn10300/constraints.md: New.
+       * config/mn10300/mn10300.md: Include.
+       * config/mn10300/mn10300.c(mn10300_secondary_reload_class):
+       Fix up for removed macro.
+       * config/mn10300/predicates.md (call_address_operand):  Ditto.
+       * config/mn10300/mn10300.h (REG_CLASS_FROM_LETTER): Delete.
+       (CONST_OK_FOR_I): Ditto.
+       (CONST_OK_FOR_J): Ditto.
+       (CONST_OK_FOR_K): Ditto.
+       (CONST_OK_FOR_L): Ditto.
+       (CONST_OK_FOR_M): Ditto.
+       (CONST_OK_FOR_N): Ditto.
+       (CONST_DOUBLE_OK_FOR_LETTER_P): Ditto.
+       (OK_FOR_Q): Ditto.
+       (OK_FOR_R): Ditto.
+       (OK_FOR_T): Ditto.
+       (EXTRA_CONSTRAINT): Ditto.
+
+2007-05-30 Uros Bizjak <ubizjak@gmail.com>
+
+       * config/i386/i386.h (MASK_64BIT, MASK_MMX, MASK_3DNOW*, MASK_SSE*):
+       Remove defines.
+       * config/i386/biarch.h (TARGET_64BIT_DEFAULT): Define to
+       OPTION_MASK_ISA_64BIT.
+       * config/i386/i386.c: Rename MASK_* macros to OPTION_MASK_ISA_*.
+
+2007-05-30  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/32152
+       * gimplify.c (gimplify_omp_atomic_pipeline): Use correct
+       types for comparison.
+       * fold-const.c (fold_comparison): Call maybe_canonicalize_comparison
+       with original typed arguments.
+       * config/i386/i386.c (ix86_gimplify_va_arg): Fix type mismatches.
+
+2007-05-30  Jakub Jelinek  <jakub@redhat.com>
+
+       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-30  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * tree-scalar-evolution.c (scev_const_prop): Do not create labels.
+       * tree-ssa-sink.c (statement_sink_location): Return basic block and
+       bsi of the location where statements should be inserted.
+       (sink_code_in_bb): Take bsi from statement_sink_location.
+       * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Use bsi_after_labels
+       instead of bsi_start.
+       * tree-profile.c (tree_gen_ic_func_profiler): Pass BSI_NEW_STMT to
+       bsi_insert_after.
+       * tree-cfg.c (bsi_move_after): Pass BSI_NEW_STMT to bsi_insert_after.
+       (bsi_move_before): Document inconsistency with bsi_move_after.
+       (tree_redirect_edge_and_branch): Do not create labels if not necessary.
+
+2007-05-30 Uros Bizjak <ubizjak@gmail.com>
+
+       * config/i386/i386.h (TARGET_ABM): New define.
+       (TARGET_POPCNT): Ditto.
+       (TARGET_64BIT, TARGET_MMX, TARGET_3DNOW, TARGET_3DNOW_A, TARGET_SSE*):
+       New temporary defines to redefine from OPTION_ISA_* defines.
+       (MASK_64BIT, MASK_MMX, MASK_3DNOW, MASK_3DNOW_A, MASK_SSE*):
+       New temporary defines to redefine from OPTION_MASK_ISA_* defines.
+       (ix86_isa_flags): New extern int declaration.
+       (TARGET_SUBTARGET_DEFAULT): New define.
+       (TARGET_SUBTARGET_ISA_DEFAULT): Ditto.
+       (TARGET_SUBTARGET32_DEFAULT): Ditto.
+       (TARGET_SUBTARGET32_ISA_DEFAULT): Ditto.
+       (TARGET_SUBTARGET64_ISA_DEFAULT): Ditto.
+       * config/i386/unix.h: Undef TARGET_SUBTARGET_DEFAULT before define.
+       * config/i386/darwin.h: Change TARGET_64BIT define to
+       OPTION_ISA_64BIT.
+
+       * config/i386/i386.opt (m3dnowa): Define as undocumented option
+       using existing "ix86_isa_flags" varible.
+       (m32, m64): Use existing "ix86_isa_flags" variable.
+       (mmmx, m3dnow): Ditto.
+       (msse, msse2, msse3, mssse3, msse4.1, msse4a): Ditto.
+       (mabm): Define as non-negative option using "x86_abm" variable.
+       (mpopcnt): Define as non-negative option using "x86_popcnt" variable.
+
+       * config/i386/i386.c (ix86_arch_features) [X86_ARCH_CMOVE]:
+       Rewrite feature test bitmap.
+       (ix86_isa_flags): New initialized global int varible.
+       (ix86_isa_flags_explicit): New static int variable.
+       (ix86_handle_option): Set "ix86_isa_flags_explicit" when mmmx, m3dnow,
+       msse, msse2, msse3, msse4.1 and msse4a option is processed.  Change
+       i86_isa_flags and ix86_isa_flags_explicit, not target_flags and
+       target_flags_explicit.
+       (override_options): Remove "target_enable" and "target_disable" fields
+       from "struct ptt". Update processor_target_table accordingly. Remove
+       PTA_PREFETCH_SSE from processor_alias_table entry if PTE_SSE is
+       defined and rearrange PTA_* bits.  Use "ix86_isa_flags" instead of
+       "target_flags" and "ix86_isa_flags_explicit" instead of
+       "target_flags_explicit" when masked with MASK_64BIT, MASK_MMX,
+       MASK_3DNOW, MASK_3DNOW_A or MASK_SSE*.  Set "x86_abm" to true when
+       PTA_ABM is set in processor_alias_table flags entry.  Set "x86_popcnt"
+       to true when either of PTA_POPCNT or PTA_ABM is set in
+       processor_alias_table flags entry.  Set "x86_prefetch_sse" to true
+       when either of PTA_PREFETCH_SSE or PTA_SSE is set in
+       processor_alias_table flags entry.  Remove handling of
+       "target_enable" and "target_disable" fields of processor_target_table.
+       Mask "target_flags" with TARGET_SUBTARGET32_DEFAULT for 32-bit
+       targets or with TARGET_SUBTARGET64_DEFAULT for 64-bit targets.
+       Mask "ix86_isa_flags" with TARGET_SUBTARGET32_ISA_DEFAULT for 32-bit
+       targets or with TARGET_SUBTARGET64_ISA_DEFAULT for 64-bit targets.
+       (def_builtin): Mask "mask" variable with "ix86_isa_flags", not
+       "target_flags".
+       (TARGET_DEFAULT_TARGET_FLAGS): Do not include TARGET_64BIT_DEFAULT.
+
+2007-05-29  David Daney  <ddaney@avtrex.com>
+
+       PR gcc/31975
+       * config/mips/mips.c (mips_output_mi_thunk): Emit
+       NOTE_INSN_PROLOGUE_END at beginning of the thunk.
+
+2007-05-29  Hui-May Chang  <hm.chang@apple.com>
+       * config/i386/i386.c (ix86_function_regparm): Added checking of
+       ix86_force_align_arg_pointer to determine the number of
+       register parameters.
+
+2007-05-29  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * tree-vectorizer.h (DR_MISALIGNMENT): Cast aux to integer.
+       (SET_DR_MISALIGNMENT): New.
+       * tree-vect-analyze.c (vect_compute_data_ref_alignment,
+       vect_update_misalignment_for_peel, vect_enhance_data_refs_alignment):
+       Use SET_DR_MISALIGNMENT.
+       * tree-predcom.c (split_data_refs_to_components): Cast dr->aux from
+       pointer.
+       * tree-data-ref.c (create_data_ref, compute_all_dependences,
+       find_loop_nest): Export.
+       * tree-data-ref.h (struct data_reference): Change aux field to pointer.
+       (create_data_ref, compute_all_dependences, find_loop_nest): Declare.
+       * tree-ssa-loop-prefetch.c: Include tree-data-ref.h.
+       (L1_CACHE_SIZE_BYTES, L2_CACHE_SIZE_BYTES, NONTEMPORAL_FRACTION):
+       New macros.
+       (struct mem_ref): Add field reuse_distance.
+       (find_or_create_group, record_ref): Use XNEW instead of xcalloc.
+       Initialize reuse_distance field.
+       (issue_prefetch_ref): Select temporality of prefetch according to
+       reuse_distance.
+       (volume_of_references, volume_of_dist_vector, add_subscript_strides,
+       self_reuse_distance, determine_loop_nest_reuse): New functions.
+       (loop_prefetch_arrays): Call determine_loop_nest_reuse.
+       (tree_ssa_prefetch_arrays): Dump L2 cache size.
+       * Makefile.in (tree-ssa-loop-prefetch.o): Add TREE_DATA_REF_H
+       dependency.
+
+2007-05-29  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-ssa-alias.c: Add aliasing overview.
+
+2007-05-29  Zuxy Meng  <zuxy.meng@gmail.com>
+           Danny Smith  <dannysmith@users.sourceforge.net>
+
+       PR target/29498
+       * config/i386/t-crtfm: Compile crtfastmath.o with
+       -minline-all-stringops.
+       * config/i386/cygwin.h (ENDFILE_SPECS): Add crtfastmath.o.
+       * config/i386/mingw32.h (ENDFILE_SPECS): Add crtfastmath.o.
+
+2007-05-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * doc/md.texi: Document constraints on HP PA-RISC.
+
+       * pa/constraints.md: New file.
+       * pa.md: Include constraints.md.
+       * pa.c (cint_ok_for_move): Avoid using CONST_OK_FOR_LETTER_P.
+       (integer_store_memory_operand, ldil_cint_p): New functions.
+       * pa-protos.h (integer_store_memory_operand, ldil_cint_p): Declare.
+       * pa.h (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P,
+       IS_RELOADING_PSEUDO_P, EXTRA_CONSTRAINT): Remove.
+       * pa32-regs.h (REG_CLASS_FROM_LETTER): Remove.
+       * pa64-regs.h (REG_CLASS_FROM_LETTER): Remove.
+
+2007-05-28  Andrew Pinski  <Andrew_pinski@playstation.sony.com>
+
+       PR c/31339
+       * c-typeck.c (build_unary_op <case PREINCREMENT_EXPR,
+       case POSTINCREMENT_EXPR, case PREDECREMENT_EXPR,
+       case POSTDECREMENT_EXPR>): Return the error_mark_node
+       if either the real or imaginary parts would an
+       error_mark_node.
+
+2007-05-28  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-ssa-dce.c (eliminate_unnecessary_stmts): Release LHS SSA
+       name when we remove it from a call.
+
+2007-05-28  Kazu Hirata  <kazu@codesourcery.com>
+
+       * targhooks.c (default_narrow_bitfield): Remove.
+       * targhooks.h: Remove the prototype for
+       default_narrow_bitfield.
+
+       * langhooks-def.h: Remove the prototype for
+       hook_get_alias_set_0.
+       * langhooks.c (hook_get_alias_set_0): Remove.
+
+       * global.c (EXECUTE_IF_CONFLICT): Remove.
+
+2007-05-28  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       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-28  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/install.texi (Prerequisites): We no longer require Autoconf
+       2.13 for the top-level.
+
+2007-05-28  Uros Bizjak  <ubizjak@gmail.com>
+
+       * target/i386/i386.c (ix86_expand_vector_move): Expand unaligned
+       memory access via x86_expand_vector_move_misalign() only for
+       TImode values on 32-bit targets.
+
+2007-05-28  Razya Ladelsky  <razya@il.ibm.com>
+
+       * matrix-reorg.c: New file. Implement matrix flattening and
+       transposing optimization.
+       * tree-pass.h: Add matrix reorg pass.
+       * common.opt: Add fipa-mreorg flag.
+       * Makefile.in: Add matrix-reorg.c.
+       * passes.c: Add matrix reorg pass.
+       * varpool.c (add_new_static_var): New function.
+       * cgraph.h (add_new_static_var): Declare.
+
+2007-05-27  Eric Christopher  <echristo@apple.com>
+
+       * config/rs6000/rs6000.c (rs6000_emit_prologue): Update
+       sp_offset depending on stack size. Save r12 depending
+       on registers we're saving later.
+       (rs6000_emit_epilogue): Update sp_offset depending only
+       on stack size.
+
+2007-05-27  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * tree-vrp.c (execute_vrp): Do not check whether current_loops == NULL.
+       * tree-chrec.c (evolution_function_is_invariant_rec_p): Ditto.
+       * ifcvt.c (if_convert): Ditto.
+       * tree-ssa-threadupdate.c (thread_block): Ditto.
+       (thread_through_all_blocks): Ditto.  Assert that loops were analysed.
+       * tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa,
+       verify_loop_closed_ssa): Check number_of_loops instead of
+       current_loops.
+       * predict.c (tree_estimate_probability): Ditto.
+       * tree-if-conv.c (main_tree_if_conversion): Ditto.
+       * tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
+       * modulo-sched.c (sms_schedule): Ditto.
+       * tree-scalar-evolution.c (scev_const_prop): Ditto.
+       (scev_finalize): Do not do anything if scev analysis was not
+       initialized.
+       * cfgloopanal.c (mark_irreducible_loops): Do not check whether
+       current_loops == NULL.
+       (mark_loop_exit_edges): Check number_of_loops instead of current_loops.
+       * loop-init.c (loop_optimizer_init): Do not free current_loops when
+       there are no loops.
+       (loop_optimizer_finalize): Assert that loops were analyzed.
+       (rtl_move_loop_invariants, rtl_unswitch, rtl_unroll_and_peel_loops,
+       rtl_doloop): Check number_of_loops instead of current_loops.
+       * tree-ssa-loop.c (tree_loop_optimizer_init): Do not check whether
+       current_loops == NULL.
+       (tree_ssa_loop_init, tree_ssa_loop_im, tree_ssa_loop_unswitch,
+       gate_tree_vectorize tree_linear_transform, check_data_deps,
+       tree_ssa_loop_ivcanon, tree_ssa_empty_loop, tree_ssa_loop_bounds,
+       tree_complete_unroll, tree_ssa_loop_prefetch, tree_ssa_loop_ivopts):
+       Check number_of_loops instead of current_loops.
+       (tree_ssa_loop_done): Do not check whether current_loops == NULL.
+       * tree-ssa-pre.c (fini_pre): Do not take do_fre argument.  Always
+       free loops if available.
+       (execute_pre): Do not pass do_fre to fini_pre.
+
+2007-05-27  Tobias Burnus  <burnus@net-b.de>
+
+       PR middle-end/32083
+       * real.c (mpfr_from_real): Fix sign of -Inf.
+
+2007-05-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * tree-vect-transform.c (vectorizable_conversion): Initialize
+       tree_code variables to ERROR_MARK.
+       (vectorizable_type_demotion): Likewise.
+       (vectorizable_type_promotion): Likewise.
+
+2007-05-26  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/32065
+       * config/i386/i386.md (movti): Handle push operands via
+       ix86_expand_push().
+
+2007-05-26  Kazu Hirata  <kazu@codesourcery.com>
+
+       * basic-block.h: Remove the prototype for merge_seq_blocks.
+       * cfgcleanup.c (merge_seq_blocks): Remove.
+
+       * tree-flow.h: Remove the prototype for is_aliased_with.
+       * tree-ssa-alias.c (is_aliased_with): Remove.
+
+2007-05-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386-protos.h (ix86_expand_sse4_unpack): New.
+
+       * config/i386/i386.c (ix86_expand_sse4_unpack): New.
+
+       * config/i386/sse.md (vec_unpacku_hi_v16qi): Call
+       ix86_expand_sse4_unpack if SSE4.1 is enabled.
+       (vec_unpacks_hi_v16qi): Likewise.
+       (vec_unpacku_lo_v16qi): Likewise.
+       (vec_unpacks_lo_v16qi): Likewise.
+       (vec_unpacku_hi_v8hi): Likewise.
+       (vec_unpacks_hi_v8hi): Likewise.
+       (vec_unpacku_lo_v8hi): Likewise.
+       (vec_unpacks_lo_v8hi): Likewise.
+       (vec_unpacku_hi_v4si): Likewise.
+       (vec_unpacks_hi_v4si): Likewise.
+       (vec_unpacku_lo_v4si): Likewise.
+       (vec_unpacks_lo_v4si): Likewise.
+
+2007-05-26  Kazu Hirata  <kazu@codesourcery.com>
+
+       * c-typeck.c, config/arm/arm.c, config/darwin.c,
+       config/sh/symbian.c, gcc.c, ipa-cp.c, ipa-inline.c, loop-iv.c,
+       omega.c, tree-ssa-loop-niter.c, treestruct.def: Fix typos and
+       follow spelling conventions in various
+       warning/error/diagnostic messages.
+
+       * config/i386/i386.c, config/pa/pa.c, config/spu/spu.c,
+       df-problems.c, df-scan.c, domwalk.c, ebitmap.c, ebitmap.h,
+       fold-const.c, gcc.c, ipa-type-escape.c, omega.c, omega.h,
+       tree-ssa-coalesce.c, tree-ssa-live.c, tree-ssa-structalias.c,
+       tree-vrp.c: Fix comment typos.  Follow spelling conventions.
+       * doc/tm.texi: Follow spelling conventions.
+
+2007-05-25  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       PR tree-opt/32090
+       * tree-ssa-forwprop.c
+       (forward_propagate_addr_into_variable_array_index): Remove
+       the lhs argument.  Use the type of def_rhs instead of lhs.
+       (forward_propagate_addr_expr_1): Update use of
+       forward_propagate_addr_into_variable_array_index.
+
+2007-05-25  Sandra Loosemore  <sandra@codesourcery.com>
+           Nigel Stephens  <nigel@mips.com>
+
+       * config/mips/mips.c (mips_attribute_table): Add "near" and "far"
+       function attributes, "far" being an alias for "long_call".
+       (TARGET_COMP_TYPE_ATTRIBUTES): Define as mips_comp_type_attributes.
+       (mips_near_type_p, mips_far_type_p): New.
+       (mips_comp_type_attributes): New function to check that attributes
+       attached to a function type are compatible.
+       (mips_output_mi_thunk): Test SYMBOL_REF_LONG_CALL_P() rather than
+       TARGET_LONG_CALLS when deciding whether we can do a direct sibcall
+       to the target function of the thunk.
+       (mips_encode_section_info): Check for "near" and "far" function
+       attributes, and always set the SYMBOL_FLAG_LONG_CALL bit explicitly.
+
+       * config/mips/predicates.md (const_call_insn_operand): Test only
+       SYMBOL_REF_LONG_CALL_P() and not TARGET_LONG_CALLS.
+
+       * doc/extend.texi (Function Attributes): Document MIPS "near" and
+       "far" attributes.
+
+       * testsuite/gcc.target/mips/near-far-1.c:  New test case.
+       * testsuite/gcc.target/mips/near-far-2.c:  New test case.
+       * testsuite/gcc.target/mips/near-far-3.c:  New test case.
+       * testsuite/gcc.target/mips/near-far-4.c:  New test case.
+
+2007-05-25  Eric Christopher  <echristo@apple.com>
+
+       * config.gcc: Add i386/t-fprules-softfp64 and soft-fp/t-softfp
+       to x86-darwin configurations.
+       * config/i386/t-darwin: Add softfp support.
+       * config/i386/t-darwin64: Ditto.
+       * config/i386/sfp-machine.h: If mach then don't use
+       aliasing, emit a stub to call.
+
 2007-05-25  Kazu Hirata  <kazu@codesourcery.com>
 
        * cfglayout.c, cgraphunit.c, config/avr/avr.c, fold-const.c,
        support for complex modes.  Fill in DECL_RESULT for stubdecl.
        (mips_init_libfuncs): Remove redundant TARGET_MIPS16 check.
 
-       * config/mips/mips16.S 
+       * config/mips/mips16.S
        (RET, ARG1, ARG2): New.
        (MERGE_GPRf, MERGE_GPRt): New.
        (DELAYt, DELAYf): New.
        (__mips16_call_stub_dc_6): New.
        (__mips16_call_stub_dc_9): New.
        (__mips16_call_stub_dc_10): New.
-       
+
        * config/mips/t-elf (LIB1ASMFUNCS): Add MIPS16 floating-point stubs.
        * config/mips/t-isa3264 (LIB1ASMFUNCS): Likewise.
        * config/mips/t-r2900 (LIB1ASMFUNCS): Likewise.
        PR target/30474
        * config/score/score.c (score_print_operand): Make sure that only
        lower bits are used.
-       
+
 2007-05-22  Ian Lance Taylor  <iant@google.com>
 
        * tree-vrp.c (avoid_overflow_infinity): New static function,
        * stmt.c (expand_case): Do not call squeeze_notes.
 
 2007-05-20  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-       
+
        PR middle-end/7651
        PR c++/11856
        PR c/12963
        * doc/invoke.texi (Wreturn-type): Complete description.
        (Wextra): Delete item about return-type warning.
        * c-decl.c: Delete redundant Wextra warning.
-       
+
 2007-05-20  Uros Bizjak  <ubizjak@gmail.com>
 
        PR target/31585
 2007-05-19 Andy Hutchinson <HutchinsonAndy@netscape.net>
           Anatoly Sokolov <aesok@dol.ru>
 
-       * config/avr/avr-protos.h (expand_prologue, expand_epilogue, 
+       * config/avr/avr-protos.h (expand_prologue, expand_epilogue,
        avr_epilogue_uses) : Add declaration.
        * config/avr/predicates.md (avr_sp_immediate_operand): New predicate.
        * config/avr/constraints.md (R): New constraint.
-       config/avr/avr.md (SREG_ADDR, UNSPEC_SEI, UNSPEC_CLI, 
+       config/avr/avr.md (SREG_ADDR, UNSPEC_SEI, UNSPEC_CLI,
        UNSPECV_PROLOGUE_SAVES, UNSPECV_EPILOGUE_RESTORES): New constants.
        (*pop1, *pop2, *pop3, *pop4, *pop5): Combine into ...
        (*addhi3_sp_R_pc2, *addhi3_sp_R_pc3): ... these patterns.
-       (*movhi_sp, popqi, pophi, enable_interrupt, disable_interrupt, 
+       (*movhi_sp, popqi, pophi, enable_interrupt, disable_interrupt,
        call_prologue_saves, epilogue_restores, return_from_epilogue,
-       return_from_main_epilogue, return_from_interrupt_epilogue, 
+       return_from_main_epilogue, return_from_interrupt_epilogue,
        return_from_naked_epilogue, prologue, epilogue): New patterns.
        (jump): Handle symbol reference.
-       * config/avr/avr.c (out_adj_frame_ptr, out_set_stack_ptr, 
-       avr_output_function_prologue, avr_output_function_epilogue): Remove 
+       * config/avr/avr.c (out_adj_frame_ptr, out_set_stack_ptr,
+       avr_output_function_prologue, avr_output_function_epilogue): Remove
        functions.
-       (avr_init_machine_status, expand_prologue, expand_epilogue, 
-       avr_asm_function_end_prologue, avr_epilogue_uses, 
+       (avr_init_machine_status, expand_prologue, expand_epilogue,
+       avr_asm_function_end_prologue, avr_epilogue_uses,
        avr_asm_function_begin_epilogue): New functions.
-       (prologue_size, epilogue_size, jump_tables_size): Remove global 
+       (prologue_size, epilogue_size, jump_tables_size): Remove global
        variables.
        (TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
        (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
        and soft-fp/t-softfp to tmake_file.
        (i[34567]86-*-linux*, i[34567]86-*-kfreebsd*-gnu,
        i[34567]86-*-knetbsd*-gnu): Ditto for --enable-targets=all.
-       
+
        * config/i386/t-linux64 (softfp_wrap_start): New.
        (softfp_wrap_end): New.
        * config/i386/i386.c (ix86_scalar_mode_supported): TFmode is
 
 2007-05-16  Rafael Avila de Espindola  <espindola@google.com>
 
-       * c-common.c (c_common_signed_or_unsigned_type): Emulate 
+       * c-common.c (c_common_signed_or_unsigned_type): Emulate
        c_common_unsigned_type behavior.
 
 2007-05-16  Paolo Bonzini  <bonzini@gnu.org>