+2008-05-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/35767
+ PR target/35771
+ * config/i386/i386.c (ix86_function_arg_boundary): Use
+ alignment of canonical type.
+ (ix86_expand_vector_move): Check unaligned memory access for
+ all SSE modes.
+
+2008-05-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ * dwarf2out.c (current_fde): Change return type to dw_fde_ref.
+ Moved to the front of file.
+
+2008-05-27 Xuepeng Guo <xuepeng.guo@intel.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ * dwarf2out.c (current_fde): New.
+ (add_cfi): Use it.
+ (lookup_cfa:): Likewise.
+ (dwarf2out_end_epilogue): Likewise.
+ (dwarf2out_note_section_used): Likewise.
+
+2008-05-27 Michael Matz <matz@suse.de>
+
+ PR c++/27975
+ * c.opt (Wenum-compare): New warning option.
+ * doc/invoke.texi (Warning Options): Document -Wenum-compare.
+
+2008-05-27 Michael Matz <matz@suse.de>
+
+ PR middle-end/36326
+ * tree-gimple.c (is_gimple_mem_rhs): Remove work-around for
+ non-BLKmode types.
+ * tree-tailcall.c (find_tail_calls): Don't mark calls storing
+ into memory as tail calls.
+
+2008-05-27 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/36339
+ * tree-ssa-alias.c (set_initial_properties): Escaped pt_anything
+ pointers cause all addressable variables to be call clobbered.
+
+2008-05-27 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/36245
+ * tree-ssa-address.c (add_to_parts): Deal with non-pointer
+ bases.
+
+2008-05-27 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * config/s390/s390.md: Replace all occurences of the 'm'
+ constraint with 'RT'.
+
+2008-05-27 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * config/s390/s390.md ("cpu_facility", "enabled"): Attribute
+ definitions added.
+ ("*movdi_64dfp", "*movdi_64extimm", "*movdi_64"): Merged into
+ "*movdi_64".
+ ("*anddi3_extimm", "*anddi3"): Merged into "*anddi3".
+ ("*iordi3_extimm", "*iordi3"): Merged into "*iordi3".
+ ("*xordi3_extimm", "*xordi3"): Merged into "*xordi3".
+
+2008-05-27 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * reload.c: (find_reloads): Skip alternatives according to the
+ "enabled" attribute. Constify the constraint variable.
+ * recog.c (get_attr_enabled): Add default implementation.
+ (extract_insn): Set the alternative_enabled_p array
+ in the recog_data struct.
+ (preprocess_constraints, constrain_operands): Skip
+ alternatives according to the "enabled" attribute
+ * recog.h (struct recog_data): New field alternative_enabled_p.
+ (skip_alternative): New inline function.
+ * regclass.c: (record_operand_costs): Check the "enabled"
+ attribute.
+ (record_reg_classes): Skip alternative according to the
+ "enabled" attribute.
+
+ * doc/md.texi: Add documention for the "enabled" attribute.
+
+2008-05-27 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * defaults.h (TARGET_MEM_CONSTRAINT): New target macro added.
+ * postreload.c (reload_cse_simplify_operands): Replace 'm'
+ constraint with TARGET_MEM_CONSTRAINT.
+ * recog.c (asm_operand_ok, preprocess_constraints,
+ constrain_operands): Likewise.
+ * regclass.c (record_reg_classes): Likewise.
+ * reload.c (find_reloads, alternative_allows_const_pool_ref):
+ Likewise.
+ * reload1.c (maybe_fix_stack_asms): Likewise.
+ * stmt.c (parse_output_constraint, parse_input_constraint):
+ Likewise.
+ * recog.h: Adjust comment.
+ * genpreds.c (generic_constraint_letters): Remove 'm' constraint.
+ * genoutput.c (note_constraint): Don't emit error for 'm'
+ constraint.
+ * doc/md.texi: Add a note to description of 'm' constraint.
+ * doc/tm.texi: Document the new TARGET_MEM_CONSTRAINT macro.
+
+2008-05-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-sra.c (sra_type_can_be_decomposed_p) <RECORD_TYPE>: Make sure
+ that the bitfield is of integral type before testing its precision.
+
+2008-05-27 Trevor Smigiel <trevor_smigiel@playstation.sony.com>
+ Sa Liu <saliu@de.ibm.com>
+
+ * config/spu/spu.c (spu_init_libfuncs): Add __multi3, __divti3,
+ __modti3, __udivti3, __umodti3 and __udivmodti4.
+ * config/spu/t-spu-elf (LIB2FUNCS_STATIC_EXTRA): Add files
+ that implement TImode mul and div functions.
+ * config/spu/multi3.c: New. Implement __multi3.
+ * config/spu/divmodti4.c: New. Implement _udivmodti4 and others.
+ * testsuite/gcc.target/spu/muldivti3.c: New. Test TImode mul and div
+ functions on SPU.
+
+2008-05-26 Steven Bosscher <stevenb.gcc@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Generate
+ new tls_gd_* and tls_ld_* insns instead of an insn sequence.
+ * config/rs6000/rs6000.md (TLSmode, tls_abi_suffix, tls_insn_suffix,
+ tls_sysv_suffix): New mode and mode attribute iterators.
+ (tls_gd_32, tls_gd_64, tls_ld_32, tls_ld_64): Remove.
+ (lts_gd_aix*, tls_gd_sysv*, tls_ld_aix*, tls_ld_sysv*): New patterns.
+ (tls_dtprel_*, tls_dtprel_ha_*, tls_dtprel_lo_*, tls_got_dtprel_*,
+ tls_tprel_*, tls_tprel_ha_*, tls_tprel_lo_*, tls_got_tprel_*,
+ tls_tls_*): Merge 32 bit and 64 bit variants using aforementioned
+ iterators.
+
+2008-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR tree-optimization/36329
+ * tree.h (CALL_CANNOT_INLINE_P): Add access check.
+ * tree-gimple.h (CALL_STMT_CANNOT_INLINE_P): New macro.
+ * cgraphbuild.c (initialize_inline_failed): Use the latter
+ macro in lieu of the former.
+ * ipa-inline.c (cgraph_mark_inline): Likewise.
+ (cgraph_decide_inlining_of_small_function): Likewise.
+ (cgraph_decide_inlining): Likewise.
+ (cgraph_decide_inlining_incrementally): Likewise.
+
+2008-05-26 Tristan Gingold <gingold@adacore.com>
+ Anatoly Sokolov <aesok@post.ru>
+
+ * config/avr/avr.md ("call_prologue_saves"): Use hi8(gs())/lo8(gs())
+ instead of pm_lo8/pm_hi8 to makes this call working on avr6.
+ * config/avr/avr.c (expand_prologue): Tune "call_prologue"
+ optimization for 'avr6' architecture.
+
+2008-05-26 Andy Hutchinson <hutchinsonandy@aim.com>
+
+ PR target/34932
+ * config/avr/avr.md (*addhi3_zero_extend2): Remove.
+
+2008-05-26 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-sccvn.c (expr_has_constants): Declare.
+ (visit_reference_op_load): Initialize VN_INFO->has_constants
+ properly.
+
+2008-05-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/36253
+ * caller-save.c (insert_restore): Verify alignment of spill
+ space.
+ (insert_save): Likewise.
+
+ * cfgexpand.c (LOCAL_ALIGNMENT): Removed.
+
+ * defaults.h (LOCAL_ALIGNMENT): New. Provide default.
+ (STACK_SLOT_ALIGNMENT): Likewise.
+
+ * function.c (LOCAL_ALIGNMENT): Removed.
+ (get_stack_local_alignment): New.
+ (assign_stack_local): Use it. Set alignment on stack slot.
+ (assign_stack_temp_for_type): Use get_stack_local_alignment.
+
+ * config/i386/i386.h (LOCAL_ALIGNMENT): Updated.
+ (STACK_SLOT_ALIGNMENT): New.
+
+ * config/i386/i386.c (ix86_local_alignment): Handle caller-save
+ stack slot in XFmode.
+
+ * doc/tm.texi (STACK_SLOT_ALIGNMENT): New.
+
+2008-05-26 Kai Tietz <kai.tietz@onevision.com>
+
+ PR/36321
+ * config/i386/i386.md (allocate_stack_worker_64): Make sure
+ argument operand in rax isn't removed.
+
+2008-05-26 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/36300
+ * fold-const.c (extract_muldiv_1): Use TYPE_OVERFLOW_WRAPS,
+ not TYPE_UNSIGNED. Use TYPE_PRECISION instead of GET_MODE_SIZE.
+
+2008-05-26 Daniel Franke <franke.daniel@gmail.com>
+
+ PR bootstrap/36331
+ * c-cppbuiltin.c (define__GNUC__): Re-add definition of __GNUG__.
+
+2008-05-26 Dominique Dhumieres <dominiq@lps.ens.fr>
+
+ * config/darwin-c.c: Include "incpath.h" instead of "c-incpath.h".
+ * config/t-darwin: Use "incpath.h" instead of "c-incpath.h".
+
+2008-05-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-nested.c (convert_tramp_reference) <ADDR_EXPR>: Do not
+ build a trampoline if we don't want one.
+ * varasm.c (initializer_constant_valid_p) <ADDR_EXPR>: Do not
+ return zero for nested functions if we don't want a trampoline.
+
+2008-05-26 Daniel Franke <franke.daniel@gmail.com>
+
+ * doc/invoke.texi: Added f77, f77-cpp-input to list of file types.
+
+2008-05-26 Daniel Franke <franke.daniel@gmail.com>
+
+ PR fortran/18428
+ * c.opt: Removed undocumented option '-lang-fortran'.
+ * c-common.h: Removed global variable 'lang_fortran'.
+ * c-opts.c (c_common_handle_option): Removed code to handle
+ option '-lang-fortran'. Updated includes.
+ * c-cppbuiltin.c (c_cpp_builtins): Removed conditional
+ definition of '__GFORTRAN__'.
+ (define__GNUC__): Reimplemented to use BASEVER and
+ cpp_define_formatted.
+ (builtin_define_with_value_n): Removed.
+ * c-incpath.h: Renamed to ...
+ * incpath.h: ... this.
+ * c-incpath.c: Renamed to ...
+ * incpath.c: ... this. Updated includes.
+ * fix-header.c: Updated includes.
+ * Makefile.in: Replaced c-incpath.[ch] by incpath.[ch].
+ (c-cppbuiltin.o): Added dependency on and definition of BASEVER.
+ (OBJ-archive): Added cppdefault.o, incpath.o and prefix.o.
+
+2008-05-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree.h: Update the table of flags used on tree nodes.
+ (TREE_NO_TRAMPOLINE): New accessor for static_flag.
+ (SAVE_EXPR_RESOLVED_P): Use automatically-built access check.
+ (FORCED_LABEL): Add access check.
+ (CALL_EXPR_RETURN_SLOT_OPT): Likewise.
+ (ASM_INPUT_P): Likewise.
+ (ASM_VOLATILE_P): Likewise.
+ (EH_FILTER_MUST_NOT_THROW): Access static_flag directly.
+ (OMP_SECTION_LAST): Access private_flag directly.
+ (OMP_RETURN_NOWAIT): Likewise.
+ (OMP_PARALLEL_COMBINED): Likewise.
+ (OMP_CLAUSE_PRIVATE_DEBUG): Access public_flag directly.
+ (OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE): Likewise.
+ * tree-ssa-propagate.c (STMT_IN_SSA_EDGE_WORKLIST): Access
+ deprecated_flag directly.
+
+2008-05-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ * final.c (frame_pointer_needed): Removed.
+ * flags.h (frame_pointer_needed): Likewise.
+
+ * function.h (rtl_data): Add frame_pointer_needed.
+ (frame_pointer_needed): New.
+
+2008-05-25 Arthur Loiret <arthur.loiret@u-psud.fr>
+
+ * config.gcc (sh2[lbe]*-*-linux*): Allow target.
+
+2008-05-25 Steven Bosscher <stevenb.gcc@gmail.com>
+
+ * gcse.c (hash_scan_set): Do not pick up a REG_EQUAL value if
+ SRC is a REG.
+
+2008-05-25 Alan Modra <amodra@bigpond.net.au>
+
+ * c-common.c (strip_array_types): Move function to..
+ * tree.c: ..here.
+ (get_inner_array_type): Delete.
+ * c-common.h (strip_array_types): Move declaration to..
+ * tree.h: ..here.
+ (get_inner_array_type): Delete.
+ * config/i386/i386.c (x86_field_alignment): Use strip_array_types.
+ * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Likewise.
+ * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Likewise.
+ * config/pa/pa.c (emit_move_sequence): Likewise.
+
+2008-05-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.md (*sse_prologue_save_insn): Set length
+ attribute to 34.
+
+2008-05-24 Andy Hutchinson <hutchinsonandy@aim.com>
+
+ * function.c: Include target hook for nonlocal_goto frame value.
+
+2008-05-24 Richard Guenther <rguenther@suse.de>
+
+ * tree-dfa.c (refs_may_alias_p): Re-instantiate case that
+ a scalar variable can be only accessed through a pointer
+ or a union.
+
+2008-05-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtins.c (fold_builtin_fpclassify): Fix spelling of FP_INFINITE.
+ * doc/extend.texi: Likewise.
+
+2008-05-23 DJ Delorie <dj@redhat.com>
+
+ * config/m32c/jump.md (untyped_call): Add.
+
+ * config/m32c/m32c.c (m32c_return_addr_rtx): Change pointer type
+ for A24 to PSImode.
+ (m32c_address_cost): Detail costs for indirect offsets.
+
+2008-05-23 Rafael Espindola <espindola@google.com>
+
+ * see.c (see_get_extension_data): Don't use SUBREG_REG to test
+ if a node is a SUBREG.
+ (see_analyze_one_def): Don't use SUBREG_REG to test if a node
+ is a SUBREG.
+
+2008-05-23 Paul Brook <paul@codesourcery.com>
+ Carlos O'Donell <carlos@codesourcery.com>
+
+ * doc/extend.texi: Clarify use of __attribute__((naked)).
+ * doc/tm.texi: Document TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS.
+ * target.h (gcc_target): Add allocate_stack_slots_for_args.
+ * function.c (use_register_for_decl): Use
+ targetm.calls.allocate_stack_slots_for_args.
+ * target-def.h (TARGET_CALLS): Add
+ TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS.
+ * config/arm/arm.c (arm_allocate_stack_slots_for_args):
+ New function.
+ (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Define.
+
+2008-05-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * expr.c (highest_pow2_factor) <BIT_AND_EXPR>: New case.
+
+2008-05-23 Steven Munroe <sjmunroe@us.ibm.com>
+
+ * config/rs6000/darwin-ldouble.c (fmsub): Eliminate the full
+ PACK/UNPACK between FP_SUB_Q and FD_TRUNC so that the result
+ is only rounded once.
+
+2008-05-23 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-operands.c (mark_difference_for_renaming): Use
+ bitmap_xor.
+
+2008-05-23 Uros Bizjak <ubizjak@gmail.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR target/36079
+ * configure.ac: Handle --enable-cld.
+ * configure: Regenerated.
+ * config.gcc: Add USE_IX86_CLD to tm_defines for x86 targets.
+ * config/i386/i386.h (struct machine_function): Add needs_cld field.
+ (ix86_current_function_needs_cld): New define.
+ * config/i386/i386.md (UNSPEC_CLD): New unspec volatile constant.
+ (cld): New isns pattern.
+ (strmov_singleop, rep_mov, strset_singleop, rep_stos, cmpstrnqi_nz_1,
+ cmpstrnqi_1, strlenqi_1): Set ix86_current_function_needs_cld flag.
+ * config/i386/i386.opt (mcld): New option.
+ * config/i386/i386.c (ix86_expand_prologue): Emit cld insn if
+ TARGET_CLD and ix86_current_function_needs_cld.
+ (override_options): Use -mcld by default for 32-bit code if
+ USE_IX86_CLD.
+
+ * doc/install.texi (Options specification): Document --enable-cld.
+ * doc/invoke.texi (Machine Dependent Options)
+ [i386 and x86-64 Options]: Add -mcld option.
+ (Intel 386 and AMD x86-64 Options): Document -mcld option.
+
+2008-05-23 Kai Tietz <kai.tietz@onevison.com>
+ * config/i386/i386.c (return_in_memory_32): Add ATTRIBUTE_UNUSED.
+ (return_in_memory_64): Likewise.
+ (return_in_memory_ms_64): Likewise.
+
+2008-05-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtin-types.def (BT_FN_INT_INT_INT_INT_INT_INT_VAR): New.
+ * builtins.c (fold_builtin_fpclassify): New.
+ (fold_builtin_varargs): Handle BUILT_IN_FPCLASSIFY.
+ * builtins.def (BUILT_IN_FPCLASSIFY): New.
+ * c-common.c (handle_type_generic_attribute): Adjust to accept
+ fixed arguments before an elipsis.
+ (check_builtin_function_arguments): Handle BUILT_IN_FPCLASSIFY.
+ * doc/extend.texi: Document __builtin_fpclassify.
+
+2008-05-22 Aldy Hernandez <aldyh@redhat.com>
+
+ * omp-low.c (gate_expand_omp_ssa): Remove.
+ (pass_expand_omp_ssa): Remove.
+ (gate_expand_omp): Do not check for flag_openmp_ssa.
+ * common.opt (-fopenmp-ssa): Remove.
+ * passes.c (init_optimization_passes): Remove pass_expand_omp_ssa.
+
+2008-05-22 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.opt (mfixed-range): New option.
+ * config/sh/sh-protos.h (sh_fix_range): Declare.
+ * config/sh/sh.c (sh_fix_range): New function.
+ * config/sh/sh.h (sh_fixed_range_str): Declare.
+ (OVERRIDE_OPTIONS): Call sh_fix_range if sh_fixed_range_str
+ is not empty.
+ * doc/invoke.texi (SH Options): Document -mfixed-range.
+
+2008-05-22 Kai Tietz <kai.tietz@onevision.com>
+
+ * config/i386/sol2-10.h (SUBTARGET_RETURN_IN_MEMORY): Undefine
+ it before the redeclaration.
+
+2008-05-22 Anatoly Sokolov <aesok@post.ru>
+
+ * config/avr/avr.c (get_sequence_length): Add new function.
+ (expand_prologue, expand_epilogue): Remove duplicate code.
+
+2008-05-22 Rafael Espindola <espindola@google.com>
+
+ * see.c (see_pre_insert_extensions): Use copy_rtx to avoid invalid rtx
+ sharing.
+
+2008-05-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ * defaults.h (UNITS_PER_SIMD_WORD): Add scalar mode as argument.
+ * doc/tm.texi (UNITS_PER_SIMD_WORD): Likewise.
+
+ * tree-vect-analyze.c (vect_compute_data_ref_alignment): Replace
+ UNITS_PER_SIMD_WORD with GET_MODE_SIZE (TYPE_MODE (vectype)).
+ (vect_update_misalignment_for_peel): Likewise.
+ (vector_alignment_reachable_p): Likewise.
+ * tree-vect-transform.c (vectorizable_load): Likewise.
+ * tree-vectorizer.c (vect_supportable_dr_alignment): Likewise.
+ (get_vectype_for_scalar_type): Pass mode of scalar_type
+ to UNITS_PER_SIMD_WORD.
+
+ * config/arm/arm.h (UNITS_PER_SIMD_WORD): Updated.
+ * config/i386/i386.h (UNITS_PER_SIMD_WORD): Likewise.
+ * config/mips/mips.h (UNITS_PER_SIMD_WORD): Likewise.
+ * config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Likewise.
+ * config/sparc/sparc.h (UNITS_PER_SIMD_WORD): Likewise.
+
+2008-05-22 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/36293
+ * tree-vect-transform.c (vect_transform_strided_load): Don't check
+ if the first load must be skipped because of a gap.
+
+2008-05-22 Richard Guenther <rguenther@suse.de>
+
+ * tree-dfa.c (refs_may_alias_p): Exit early if possible. Handle
+ more cases of offset disambiguation that is possible if
+ strict-aliasing rules apply.
+ * tree-ssa-loop-im.c (mem_refs_may_alias_p): Use refs_may_alias_p
+ for basic offset and type-based disambiguation.
+
+2008-05-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_expand_vector_init_one_var): Use
+ ix86_expand_vector_set on V16QImode for SSE4.1.
+
+2008-05-21 Tom Tromey <tromey@redhat.com>
+
+ * c.opt (Wimport): Mark as undocumented.
+ * doc/invoke.texi (Option Summary): Don't mention -Wimport or
+ -Wno-import.
+ (Warning Options): Likewise.
+ * doc/cppopts.texi: Don't mention -Wimport.
+
+2008-05-21 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/36287
+ PR tree-optimization/36286
+ * lambda-code.c (build_access_matrix): Do not use the loop->num
+ for computing the number of induction variables: use the loop depth
+ instead.
+
+2008-05-21 Kai Tietz <kai.tietz@onevision.com>
+
+ PR/36280
+ * config/i386/cygming.h (ASM_OUTPUT_LABELREF): Honor
+ option -f(no-)leading-underscore.
+
+2008-05-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_expand_vector_init_general): Use
+ GET_MODE_NUNITS (mode).
+
+2008-05-21 Peter Bergner <bergner@vnet.ibm.com>
+
+ * doc/invoke.texi: Add cpu_type's 464 and 464fp.
+ (-mmulhw): Add 464 to description.
+ (-mdlmzb): Likewise.
+ * config.gcc: Handle --with-cpu=464 and --with-cpu=464fp.
+ * config/rs6000/rs6000.c (processor_target_table): Add 464 and
+ 464fp entries.
+ * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add 464 and 464fp support.
+ * config/rs6000/t-fprules (MULTILIB_MATCHES_FLOAT): Include -mcpu=464.
+ * config/rs6000/rs6000.md: Update comments for 464.
+
+2008-05-21 Janis Johnson <janis187@us.ibm.com>
+
+ * doc/sourcebuild.texi (Test Directives): Add dg-xfail-run-if.
+
+2008-05-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/sse.md (vec_extractv4sf): Removed.
+ (vec_extractv2df): Likewise.
+ (vec_extractv2di): Likewise.
+ (vec_extractv4si): Likewise.
+ (vec_extractv8hi): Likewise.
+ (vec_extractv16qi): Likewise.
+ (vec_extract<mode>): New.
+
+2008-05-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/sse.md (vec_setv4sf): Removed.
+ (vec_setv2df): Likewise.
+ (vec_setv2di): Likewise.
+ (vec_setv4si): Likewise.
+ (vec_setv8hi): Likewise.
+ (vec_setv16qi): Likewise.
+ (vec_set<mode>): New.
+
+2008-05-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_expand_vector_init_general): Remove
+ goto for vec_concat and vec_interleave.
+
+2008-05-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/sse.md (vec_initv4sf): Removed.
+ (vec_initv2df): Likewise.
+ (vec_initv2di): Likewise.
+ (vec_initv4si): Likewise.
+ (vec_initv8hi): Likewise.
+ (vec_initv16qi): Likewise.
+ (vec_init<mode>): New.
+
+2008-05-21 Joseph Myers <joseph@codesourcery.com>
+
+ * collect2.c (find_a_file): Use IS_ABSOLUTE_PATH.
+
+2008-05-21 Tom Tromey <tromey@redhat.com>
+
+ * ggc-zone.c (lookup_page_table_if_allocated): New function.
+ (zone_find_object_offset): Likewise.
+ (gt_ggc_m_S): Likewise.
+ (highest_bit): Likewise.
+ * ggc-page.c (gt_ggc_m_S): New function.
+ * stringpool.c (string_stack): Remove.
+ (init_stringpool): Update.
+ (ggc_alloc_string): Use ggc_alloc.
+ (maybe_delete_ident): New function.
+ (ggc_purge_stringpool): Likewise.
+ (gt_ggc_m_S): Remove.
+ * ggc-common.c (ggc_protect_identifiers): New global.
+ (ggc_mark_roots): Call ggc_purge_stringpool. Use
+ ggc_protect_identifiers.
+ * ggc.h (ggc_protect_identifiers): Declare.
+ (gt_ggc_m_S): Update.
+ (ggc_purge_stringpool): Declare.
+ * toplev.c (compile_file): Set and reset ggc_protect_identifiers.
+ * gengtype.c (write_types_process_field) <TYPE_STRING>: Remove
+ special case.
+ (write_root): Cast gt_ggc_m_S to gt_pointer_walker.
+
+2008-05-21 David S. Miller <davem@davemloft.net>
+
+ * config.gcc (sparc-*-linux*): Always include sparc/t-linux in
+ tmake_file.
+
+2008-05-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * cfgexpand.c (tree_expand_cfg): Zap the EH throw statement table
+ once finished.
+
+2008-05-20 David Daney <ddaney@avtrex.com>
+
+ * config/mips/mips.md (UNSPEC_SYNC_NEW_OP_12,
+ UNSPEC_SYNC_OLD_OP_12, UNSPEC_SYNC_EXCHANGE_12): New define_constants.
+ (UNSPEC_SYNC_EXCHANGE, UNSPEC_MEMORY_BARRIER, UNSPEC_SET_GOT_VERSION,
+ UNSPEC_UPDATE_GOT_VERSION): Renumber.
+ (optab, insn): Add 'plus' and 'minus' to define_code_attr.
+ (atomic_hiqi_op): New define_code_iterator.
+ (sync_compare_and_swap<mode>): Call mips_expand_atomic_qihi instead of
+ mips_expand_compare_and_swap_12.
+ (compare_and_swap_12): Use MIPS_COMPARE_AND_SWAP_12 instead of
+ MIPS_COMPARE_AND_SWAP_12_0. Pass argument to MIPS_COMPARE_AND_SWAP_12.
+ (sync_<optab><mode>, sync_old_<optab><mode>,
+ sync_new_<optab><mode>, sync_nand<mode>, sync_old_nand<mode>,
+ sync_new_nand<mode>): New define_expands for HI and QI mode operands.
+ (sync_<optab>_12, sync_old_<optab>_12, sync_new_<optab>_12,
+ sync_nand_12, sync_old_nand_12, sync_new_nand_12): New insns.
+ (sync_lock_test_and_set<mode>): New define_expand for HI and QI modes.
+ (test_and_set_12): New insn.
+ (sync_old_add<mode>, sync_new_add<mode>, sync_old_<optab><mode>,
+ sync_new_<optab><mode>, sync_old_nand<mode>,
+ sync_new_nand<mode>, sync_lock_test_and_set<mode>): Add early
+ clobber to operand 0 for SI and DI mode insns.
+ * config/mips/mips-protos.h (mips_gen_fn_6, mips_gen_fn_5,
+ mips_gen_fn_4): New typedefs.
+ (mips_gen_fn_ptrs): Define new union type.
+ (mips_expand_compare_and_swap_12): Remove declaration.
+ (mips_expand_atomic_qihi): Declare function.
+ * config/mips/mips.c (mips_expand_compare_and_swap_12): Rename to...
+ (mips_expand_atomic_qihi): ... this. Use new generator function
+ parameter.
+ * config/mips/mips.h (MIPS_COMPARE_AND_SWAP_12): Add OPS parameter.
+ (MIPS_COMPARE_AND_SWAP_12_0): Delete macro.
+ (MIPS_COMPARE_AND_SWAP_12_ZERO_OP,
+ MIPS_COMPARE_AND_SWAP_12_NONZERO_OP,
+ MIPS_SYNC_OP_12, MIPS_SYNC_OP_12_NOT_NOP,
+ MIPS_SYNC_OP_12_NOT_NOT, MIPS_SYNC_OLD_OP_12,
+ MIPS_SYNC_OLD_OP_12_NOT_NOP, MIPS_SYNC_OLD_OP_12_NOT_NOP_REG,
+ MIPS_SYNC_OLD_OP_12_NOT_NOT, MIPS_SYNC_OLD_OP_12_NOT_NOT_REG,
+ MIPS_SYNC_NEW_OP_12, MIPS_SYNC_NEW_OP_12_NOT_NOP,
+ MIPS_SYNC_NEW_OP_12_NOT_NOT, MIPS_SYNC_EXCHANGE_12,
+ MIPS_SYNC_EXCHANGE_12_ZERO_OP,
+ MIPS_SYNC_EXCHANGE_12_NONZERO_OP): New macros.
+
+2008-05-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Add
+ the missing break.
+
+2008-05-20 Anatoly Sokolov <aesok@post.ru>
+
+ * config/avr/avr.h (machine_function): Add 'is_OS_main' field.
+ * config/avr/avr.c (avr_OS_main_function_p): Add new function.
+ (avr_attribute_table): Add 'OS_main' function attribute.
+ (avr_regs_to_save, expand_prologue, expand_epilogue): Handle
+ functions with 'OS_main' attribute.
+
+2008-05-20 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/35204
+ * tree-ssa-sccvn.c (extract_and_process_scc_for_name): New
+ helper, split out from ...
+ (DFS): ... here. Make the DFS walk non-recursive.
+
+2008-05-20 Sebastian Pop <sebastian.pop@amd.com>
+ Jan Sjodin <jan.sjodin@amd.com>
+
+ PR tree-optimization/36181
+ * tree-parloops.c (loop_has_vector_phi_nodes): New.
+ (parallelize_loops): Don't parallelize when the loop has vector
+ phi nodes.
+
+2008-05-20 Jan Sjodin <jan.sjodin@amd.com>
+ Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-loop-linear.c (gather_interchange_stats): Look in the access
+ matrix, and never look at the tree representation of the memory
+ accesses.
+ (linear_transform_loops): Computes parameters and access matrices.
+ * tree-data-ref.c (compute_data_dependences_for_loop): Returns false
+ when fails.
+ (access_matrix_get_index_for_parameter): New.
+ * tree-data-ref.h (struct access_matrix): New.
+ (AM_LOOP_NEST_NUM, AM_NB_INDUCTION_VARS, AM_PARAMETERS, AM_MATRIX,
+ AM_NB_PARAMETERS, AM_CONST_COLUMN_INDEX, AM_NB_COLUMNS,
+ AM_GET_SUBSCRIPT_ACCESS_VECTOR, AM_GET_ACCESS_MATRIX_ELEMENT,
+ am_vector_index_for_loop): New.
+ (struct data_reference): Add field access_matrix.
+ (DR_ACCESS_MATRIX): New.
+ (compute_data_dependences_for_loop): Update declaration.
+ (lambda_collect_parameters, lambda_compute_access_matrices): Declared.
+ * lambda.h (lambda_vector_vec_p): Declared.
+ * lambda-code.c: Depend on pointer-set.h.
+ (lambda_collect_parameters_from_af, lambda_collect_parameters,
+ av_for_af_base, av_for_af, build_access_matrix,
+ lambda_compute_access_matrices): New.
+ * Makefile.in (lambda-code.o): Depend on pointer-set.h.
+
+2008-05-20 Joseph Myers <joseph@codesourcery.com>
+
+ * doc/install.texi2html: Generate gcc-vers.texi in $DESTDIR not
+ $SOURCEDIR/include.
+
+2008-05-20 Jan Sjodin <jan.sjodin@amd.com>
+ Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/36206
+ * tree-scalar-evolution.c: Remove enum INSERT_SUPERLOOP_CHRECS,
+ FOLD_CONVERSIONS.
+ (instantiate_scev_1): Rename flags to fold_conversions.
+ Do not check for INSERT_SUPERLOOP_CHRECS, keep SSA_NAMEs defined
+ outeside instantiation_loop.
+ * tree-chrec.h (evolution_function_is_affine_in_loop): New.
+ (evolution_function_is_affine_or_constant_p): Removed.
+ * tree-data-ref.c (dr_analyze_indices): Replace resolve_mixers with
+ instantiate_scev.
+ (analyze_siv_subscript): Pass in the loop nest number.
+ Call evolution_function_is_affine_in_loop instead of
+ evolution_function_is_affine_p.
+ (analyze_overlapping_iterations): Pass in the loop nest number.
+
+2008-05-20 Jan Sjodin <jan.sjodin@amd.com>
+ Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/36206
+ * tree-chrec.h (chrec_fold_op): New.
+ * tree-data-ref.c (initialize_matrix_A): Traverse NOP_EXPR, PLUS_EXPR,
+ and other trees.
+
+2008-05-20 Nathan Sidwell <nathan@codesourcery.com>
+
+ * c-incpath.c (INO_T_EQ): Do not define on non-inode systems.
+ (DIRS_EQ): New.
+ (remove_duplicates): Do not set inode on non-inode systems.
+ Use DIRS_EQ.
+
+2008-05-20 Sandra Loosemore <sandra@codesourcery.com>
+
+ * config.gcc (tm_file): Update comments about relative pathnames.
+
2008-05-20 Richard Guenther <rguenther@suse.de>
- * tree-ssa-reassoc.c (fini_reassoc): Use the statistics
- infrastructure.
+ * tree-ssa-reassoc.c (fini_reassoc): Use the statistics infrastructure.
* tree-ssa-sccvn.c (process_scc): Likewise.
* tree-ssa-sink.c (execute_sink_code): Likewise.
* tree-ssa-threadupdate.c (thread_through_all_blocks): Likewise.