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