+2008-09-29 Tobias Grosser <grosser@fim.uni-passau.de>
+
+ * graphite.c (dot_all_scops_1): Remove unused checks. SCoPs always have
+ exit and entry.
+ (new_scop): Take entry and exit edge to define new SCoP.
+ (sd_region_p): New structure used during SCoP detection.
+ (move_scops): Delete.
+ (move_sd_regions): New.
+ (scopdet_info): Change the definition from edges back to basic_blocks.
+ (scopdet_edge_info): Work on basic_blocks and rename to
+ scopdet_basic_block_info.
+ (split_difficult_bb): At the moment removed. We should later
+ add it at another place.
+ (build_scops_1): Work on basic_blocks.
+ (bb_in_sd_region): New.
+ (find_single_entry_edge): New.
+ (find_single_exit_edge): New.
+ (create_single_entry_edge): New.
+ (sd_region_without_exit): New.
+ (create_single_exit_edge): New.
+ (unmark_exit_edges): New.
+ (mark_exit_edges): New.
+ (create_sese_edges): New.
+ (build_graphite_scops): New.
+ (build_scops): Make SCoPs SESE.
+ (limit_scops): Use the new functions.
+
+2008-09-29 Hans-Peter Nilsson <hp@axis.com>
+
+ * config/cris/cris.h (IRA_COVER_CLASSES): Define.
+
+2008-09-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ PR target/37640
+ * config/rs6000/rs6000.c (rs6000_expand_compare_and_swapqhi): Force
+ address to a register before taking the lower part.
+
+2008-09-28 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.h (OVERRIDE_OPTIONS): Unset flag_dwarf2_cfi_asm
+ for SHmedia.
+
+2008-09-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
+ Kaushal Kantawala <kaushal_kantawala@playstation.sony.com>
+
+ PR tree-opt/36891
+ * tree-ssa-loop-im.c (rewrite_reciprocal): Set DECL_GIMPLE_REG_P on
+ the newly created variable.
+ Create a VECTOR_CST of all 1s for vector types.
+
+2008-09-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/36575
+ * fold-const (div_and_round_double) <ROUND_DIV_EXPR>: Fix typo.
+
+2008-09-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * expmed.c (store_fixed_bit_field): Always use convert_to_mode in
+ order to convert between modes.
+ (extract_bit_field_1): Test TRULY_NOOP_TRUNCATION on the right mode.
+
+2008-09-27 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (sh_gimplify_va_arg_expr): Use VIEW_CONVERT_EXPR
+ if needed.
+
+2008-09-26 Vladimir Makarov <vmakarov@redhat.com>
+
+ Revert:
+ 2008-09-25 Vladimir Makarov <vmakarov@redhat.com>
+ * ira-lives.c:...
+ * doc/rtl.texi:...
+
+2008-09-26 Adam Nemet <anemet@caviumnetworks.com>
+
+ * config/mips/mips.h (ISA_HAS_DMUL3, ISA_HAS_BADDU, ISA_HAS_BBIT,
+ ISA_HAS_CINS, ISA_HAS_EXTS, ISA_HAS_SEQ_SNE, ISA_HAS_POP): Change
+ them to yield false with MIPS16.
+
+2008-09-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/37275
+ * dwarf2out.c (tls_mem_loc_descriptor): New function.
+ (mem_loc_descriptor): Use it for MEM. For PLUS fail if second
+ mem_loc_descriptor failed. Accept UNSPEC.
+ (loc_descriptor): Use tls_mem_loc_descriptor for MEM. For PARALLEL
+ fail if one of the loc_descriptor calls for pieces failed.
+ (loc_descriptor_from_tree_1): Handle even DECL_EXTERNAL __thread vars,
+ as long as they bind locally. For COMPONENT_REF, ARRAY_REF etc. fail
+ if loc_descriptor_from_tree_1 on offset failed.
+
+ PR middle-end/37576
+ * opts.c (common_handle_option): Don't call print_specific_help with
+ CL_SAVE as first argument.
+
+2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
+ Steve Ellcey <sje@cup.hp.com>
+
+ * configure: Regenerate for new libtool.
+ * aclocal.m4: Ditto.
+
+2008-09-26 Pat Haugen <pthaugen@us.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Use correct
+ alias set on MEM when saving stack pointer.
+ * config/rs6000/rs6000.md (allocate_stack): Likewise
+
+2008-09-26 Dorit Nuzman <dorit@il.ibm.com>
+
+ PR tree-optimization/37574
+ * tree-vectorizer.c (vect_is_simple_use): Fix indentation.
+ * tree-vect-transform.c (vect_get_constant_vectors): Use vectype
+ instead of vector_type for constants. Take computation out of loop.
+ (vect_get_vec_def_for_operand): Use only vectype for constant case,
+ and use only vector_type for invariant case.
+ (get_initial_def_for_reduction): Use vectype instead of vector_type.
+
+2008-09-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/37645
+ * c-common.c (handle_weakref_attribute): Ignore the attribute unless
+ the decl is a VAR_DECL or FUNCTION_DECL.
+
+2008-09-25 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR middle-end/37535
+ * ira-lives.c (mark_reg_live, mark_reg_dead): New functions.
+ (mark_ref_live, mark_ref_dead): Use them.
+ (def_conflicts_with_inputs_p): Remove.
+ (mark_early_clobbers): New function.
+ (process_bb_node_lives): Call preprocess_constraints and
+ mark_early_clobbers.
+
+ * doc/rtl.texi (clobber): Change how RA deals with clobbers.
+
+2008-09-25 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR middle-end/37448
+ * ira-int.h (IRA_ALLOCNO_TEMP): Rename to ALLOCNO_TEMP.
+ (ira_compress_allocno_live_ranges): New prototype.
+
+ * ira-color.c: Rename IRA_ALLOCNO_TEMP to ALLOCNO_TEMP.
+ (coalesced_allocnos_living_at_program_points): New.
+ (coalesced_allocnos_live_at_points_p,
+ set_coalesced_allocnos_live_points): New functions.
+ (coalesce_spill_slots): Rewrite.
+
+ * ira-lives.c (remove_some_program_points_and_update_live_ranges,
+ ira_compress_allocno_live_ranges): New functions.
+
+ * ira-build.c (ira_flattening): Call
+ ira_compress_allocno_live_ranges.
+ (ira_build): Ditto.
+
+2008-09-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.md: Check cmp/branch fuse for cmp peephole
+ optimization.
+
+2008-09-25 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * combine.c (make_compound_operation): Handle the 'E' format.
+ (count_rtxs): Likewise.
+ (update_table_tick): Likewise.
+ (get_last_value_validate): Likewise.
+
+2008-09-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * dbxout.c (dbxout_parms): Fetch the inner REG inside a PARALLEL.
+
+2008-09-25 Sergei Dyshel <sergeid@il.ibm.com>
+
+ * matrix-reorg.c (transform_allocation_sites): Initializers
+ added to avoid the warning.
+
+2008-09-25 Martin Jambor <mjambor@suse.cz>
+
+ * cgraph.c (free_nodes): New variable.
+ (NEXT_FREE_NODE): New macro.
+ (cgraph_create_node): Reuse nodes from the free list. Do not
+ update uid if doing so.
+ (cgraph_remove_node): Add the node to the free list.
+
+2008-09-25 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * config/freebsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
+
+2008-09-24 Richard Henderson <rth@redhat.com>
+
+ * dwarf2.h (DW_OP_GNU_encoded_addr): New.
+ * unwind-dw2.c (execute_stack_op): Handle it.
+
+2008-09-24 David Edelsohn <edelsohn@gnu.org>
+
+ Revert:
+ 2008-09-24 Michael J. Eager <eager@eagercon.com>
+
+2008-09-24 Aldy Hernandez <aldyh@redhat.com>
+
+ * c-common.c (fname_decl): New location argument.
+ * c-common.h (fname_decl): Same.
+ * c-parser.c (c_lex_one_token): Use {warning,error}_at instead of
+ {warning,error}.
+ (c_parser_typeof_specifier): Same.
+ (c_parser_parms_list_declarator): Same.
+ (c_parser_asm_string_literal): Same.
+ (c_parser_compound_statement_nostart): Same.
+ (c_parser_label): Same.
+ (c_parser_do_statement): Same.
+ (c_parser_asm_statement): Same.
+ (c_parser_unary_expression): Same.
+ (c_parser_sizeof_expression): Same.
+ (c_parser_postfix_expression): Same.
+ (c_parser_pragma): Same.
+ (c_parser_omp_clause_collapse): Same.
+ (c_parser_omp_clause_num_threads): Same.
+ (c_parser_omp_clause_schedule): Same.
+ (c_parser_omp_all_clauses): Same.
+ (c_parser_omp_sections_scope): Same.
+ (c_parser_omp_for_loop): Same. Pass condition's location to
+ c_objc_common_truthvalue_conversion.
+ (c_parser_enum_specifier): Remove comment.
+
+2008-09-24 Michael J. Eager <eager@eagercon.com>
+
+ * config/rs6000/predicates.md (easy_fp_constant): Single FP consts
+ are easy.
+ * config/rs6000/rs6000.c (rs6000_override_options): Move
+ rs6000_init_hard_regno_mode_ok after all options changed.
+ Set rs6000_single_float, rs6000_double_float if TARGET_HARD_FLOAT.
+ (rs6000_handle_option): Process -msingle-float, -mdouble-float,
+ -msimple-fpu flags. Add warning messages if single FP not configured.
+ (rs6000_file_start): Output gnu_attribute for single-float.
+ (legitimate_lo_sum_address_p): Condition on TARGET_DOUBLE_FLOAT.
+ (rs6000_legitimize_address): Likewise.
+ (rs6000_legitimize_reload_address): Likewise.
+ (rs6000_emit_move): Condition on TARGET_DOUBLE_FLOAT,
+ TARGET_SINGLE_FLOAT.
+ (function_arg_advance): Likewise.
+ (function_arg): Likewise.
+ (setup_incoming_varargs): Condition on TARGET_DOUBLE_FLOAT.
+ (rs6000_gimplify_va_arg): Condition on TARGET_DOUBLE_FLOAT,
+ TARGET_SINGLE_FLOAT.
+ (rs6000_split_multireg_move): Condition on TARGET_DOUBLE_FLOAT.
+ (rs6000_emit_prologue): Likewise.
+ (rs6000_function_value): Condition on TARGET_DOUBLE_FLOAT,
+ TARGET_SINGLE_FLOAT.
+ (rs6000_libcall_value): Likewise.
+ * config/rs6000/rs6000.h (TARGET_SINGLE_FLOAT): New default to 1.
+ (TARGET_DOUBLE_FLOAT): New default to 1
+ (TARGET_SIMPLE_FPU): New default to 0
+ (TARGET_SINGLE_FPU): New default to 0
+ (TARGET_SINGLE_FLOAT_MODE): New.
+ (TARGET_DOUBLE_FLOAT_MODE): New.
+ * config/rs6000/singlefp.h: New; redefine TARGET_SINGLE_FLOAT,
+ TARGET_DOUBLE_FLOAT, TARGET_SIMPLE_FPU, TARGET_SINGLE_FPU,
+ UNITS_PER_FP_WORD
+ * config/rs6000/rs6000.md (define_mode_iterator): Condition on
+ TARGET_DOUBLE_FLOAT, TARGET_SINGLE_FLOAT.
+ (extendsfdf2, extendsfdf2_fpr, truncdfsf2, truncdfsf2_fpr,
+ copysigndf3,fseldfsf4, negdf2, negdf2_fpr, absdf2, absdf2_fpr,
+ nabsdf2_fpr, adddf3, adddf3_fpr, subdf3, subdf3_fpr, muldf3,
+ muldf3_fpr, divdf3, divdf3_fpr, sqrtdf2, smaxdf3, smindf3,
+ movdfcc, *fseldfdf4, floatsidf2, *floatsidf2_internal,
+ floatunssidf2, *floatunssidf2_internal, fix_truncdfsi2,
+ *fix_truncdfsi2_internal, fix_truncdfsi2_internal_gfxopt,
+ fix_truncdfsi2_mfpgpr, fctiwz, btruncdf2, ceildf2, floordf2,
+ rounddf2, floatdidf2, floatsidf_ppc64_mfpgpr, floatsidf_ppc64,
+ floatunssidf_ppc64, fix_truncdfdi2, movdf_hardfloat32,
+ movdf_hardfloat64_mfpgpr, movdf_hardfloat64, extenddftf2_fprs,
+ extenddftf2_internal, trunctfdf2_internal2, fix_trunc_helper,
+ abstf2_internal, movdf_update1, movdf_update2, cmpdf_internal1,
+ cmptf_internal1, *cmptf_internal2): Condition on
+ TARGET_DOUBLE_FLOAT.
+ (aux_truncdfsf2, negsf2, *negsf2, abssf2, *abssf2, addsf3, subsf3,
+ mulsf3, divsf3, sqrtsf2, copysignsf3, smaxsf3, sminsf3, movsfcc,
+ *fselsfsf4, fixuns_truncsfsi2, fix_truncsfsi2, floatunssisf2,
+ btruncsf2, ceilsf2, floorsf2, roundsf2, floatdisf2_internal1,
+ floatdisf2_internal2, *movsf_hardfloat, trunctfsf2_fprs,
+ *movsf_update1, *movsf_update2, *cmpsf_internal1): Condition on
+ TARGET_SINGLE_FLOAT.
+ (divsf3, sqrtsf2, divdf3, divdf3_fpr): Condition on TARGET_SIMPLE_FPU.
+ * config/rs6000/rs6000.opt (-msingle-float): New.
+ (-mdouble-float): New.
+ (-msimple-fpu): New.
+ * doc/invoke.texi (RS/6000 and PowerPC Options): Add
+ -msingle-float, -mdouble-float, -msimple-fpu options.
+ * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Set
+ _SOFT_DOUBLE for -msingle-float.
+ * config.gcc: New config for target=powerpc-xilinx-eabi.
+
+2008-09-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/constraints.md: New file.
+ * config/sparc/sparc.md: Include it.
+ * config/sparc/sparc-protos.h (memory_ok_for_ldd): Declare.
+ (sparc_extra_constraint_check): Delete.
+ * config/sparc/sparc.c (register_ok_for_ldd): Minor tweaks.
+ (memory_ok_for_ldd): New predicate.
+ (sparc_extra_constraint_check): Delete.
+ * config/sparc/sparc.h (REG_CLASS_FROM_LETTER): Likewise.
+ (CONST_OK_FOR_LETTER_P): Likewise.
+ (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
+ (EXTRA_CONSTRAINT): Likewise.
+
+2008-08-23 Steve Ellcey <sje@cup.hp.com>
+
+ * regrename.c (do_replace): Copy REG_POINTER value to new reg.
+
+2008-09-23 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * alias.c (find_base_value): Use FIND_BASE_TERM.
+ * doc/tm.texi (FIND_BASE_TERM): Update documentation.
+
+2008-09-23 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/i386/i386.c: Include cselib.h.
+ (ix86_pic_register_p): New function.
+ (ix86_delegitimize_address): Use it to check for the PIC register.
+
+2008-09-23 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * doc/tm.texi (FIND_BASE_TERM): Expand documentation.
+ * config/i386/i386.c (ix86_find_base_term): Don't check for
+ SYMBOL_REF and LABEL_REF.
+
+2008-09-23 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/i386/i386.c (ix86_delegitimize_address): Wrap the
+ constant PLUS in a CONST.
+
+2008-09-23 Kai Tietz <kai.tietz@onevision.com>
+
+ * config/i386/i386.c (ix86_function_ok_for_sibcall): Correct
+ check for sibcall support for w64.
+
+2008-09-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * c-ppoutput.c (cb_used_define): Do nothing for a builtin node.
+
+2008-09-23 Aldy Hernandez <aldyh@redhat.com>
+
+ * c-tree.h: Add argument to c_objc_common_truthvalue_conversion,
+ parser_build_binary_op.
+ * c-decl.c (build_enumerator): Pass location to build_binary_op.
+ * c-typeck.c (build_array_ref): Same.
+ (parser_build_unary_op): New location argument.
+ (pointer_diff): Pass location to build_binary_op,
+ c_objc_common_truthvalue_conversion.
+ (build_modify_expr): Same.
+ (build_unary_op): New location argument.
+ (build_binary_op): New location argument.
+ (c_objc_common_truthvalue_conversion): Pass location to
+ c_*common_truthvalue_conversion.
+ * c-convert.c (convert): Same.
+ * c-common.c (binary_op_error): New location argument.
+ (pointer_int_sum): Pass location to build_binary_op.
+ (c_common_truthvalue_conversion): New location argument.
+ (warn_for_sign_compare): Same.
+ * c-common.h: Add location argument to c_common_truthvalue_conversion,
+ binary_op_error, build_binary_op, warn_for_sign_compare.
+ * c-parser.c (c_parser_condition): Pass location to
+ c_*common_truthvalue_conversion.
+ (c_parser_conditional_expression): Save condition's location and pass
+ it on down.
+ (c_parser_binary_expression): Same, but for the binary operator's
+ location.
+ (c_parser_omp_for_loop): Pass location to
+ c_objc_common_truthvalue_conversion.
+
+2008-09-23 Martin Jambor <mjambor@suse.cz>
+
+ * cgraph.c (cgraph_free_edge): Use sizeof(*e).
+ (cgraph_node_remove_callees): New temporary f. Hold the next item
+ in f when looping.
+ (cgraph_node_remove_callers): Likewise.
+
+ * ipa-prop.c (ipa_edge_removal_hook): Use ATTRIBUTE_UNUSED.
+ (ipa_node_removal_hook): Likewise.
+
+ * doc/gimple.texi (gimple_copy_call_skip_args): Changed to
+ gimple_call_copy_skip_args and moved to the gimple_call section.
+ * gimple.c (gimple_copy_call_skip_args): Renamed to
+ gimple_call_copy_skip_args. Changed al users.
+
+2008-09-22 Vladimir Makarov <vmakarov@redhat.com>
+
+ * ira-color.c (start_allocno_priorities): Rename to
+ setup_allocno_priorities. Use costs and
+ ALLOCNO_EXCESS_PRESSURE_POINTS_NUM instead of frequencies and
+ range lengths. Get rid off doubles.
+ (ira_fast_allocations): Call start_allocno_priorities.
+
+2008-09-22 David Daney <ddaney@avtrex.com>
+
+ PR target/37593
+ * config/mips/mips.h (FUNCTION_PROFILER): Call _mcount via a
+ register if TARGET_LONG_CALLS.
+
+2008-09-22 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/37145
+ * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Re-enable
+ value-numbering union accesses with their offset and size only.
+ (visit_reference_op_load): Fix simplification of inserted conversions.
+ * tree-ssa-pre.c (find_or_generate_expression): Do not
+ recursively generate expressions if running FRE.
+
+2008-09-22 Adam Nemet <anemet@caviumnetworks.com>
+
+ * config/mips/mips.h (ISA_HAS_BADDU): New macro.
+ * config/mips/mips.md (*baddu_si_eb, *baddu_si_el,
+ *baddu_di<mode>): New patterns.
+
+2008-09-22 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/37145
+ * tree-ssa-pre.c (fully_constant_expression): Simplify builtin calls.
+ (phi_translate_1): Constant fold references.
+
+2008-09-22 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/37482
+ * tree-vectorizer.h (struct _slp_instance): Add new field.
+ (SLP_INSTANCE_FIRST_LOAD_STMT): New.
+ (get_earlier_stmt): New function.
+ * tree-vect-analyze.c (vect_find_first_load_in_slp_instance): New
+ function.
+ (vect_analyze_slp_instance): Set SLP_INSTANCE_FIRST_LOAD_STMT.
+ * tree-vect-transform.c (vect_finish_stmt_generation): Remove the
+ asserts that GSI points to the scalar statement being vectorized.
+ Set new statement location according to GSI.
+ (vect_schedule_slp_instance): Use GSI of
+ SLP_INSTANCE_FIRST_LOAD_STMT when vectorizing loads.
+
+2008-09-21 Jan Hubicka <jh@suse.cz>
+
+ * ipa-cp.c (ipcp_estimate_growth): Check recursive calls.
+ (ipcp_insert_stage): Update dead_nodes bitmap.
+
+2008-09-22 Danny Smith <dannysmith@users.sourceforge.net>
+
+ PR target/37528
+ * config/i386/t-cygming (SHLIB_LC): Remove.
+ (SHLIB_LINK): Don't add static objects to SHLIB_IMPLIB
+ * config/i386/t-cygwin (SHLIB_LC): Specify all required
+ libraries.
+
+2008-09-22 Hans-Peter Nilsson <hp@axis.com>
+
+ PR middle-end/37170
+ PR middle-end/37280
+ * final.c (mark_symbol_ref_as_used): New helper function.
+ (output_operand): Instead of just looking inside MEMs for
+ SYMBOL_REFs, use new helper function and for_each_rtx.
+ * varasm.c (assemble_external): Move #ifndef ASM_OUTPUT_EXTERNAL
+ to after weak-handling. Don't mark decls with TREE_STATIC as weak.
+ Make head comment more general.
+ * config/darwin.c (machopic_output_indirection): Handle weak
+ references here, like in assemble_external.
+
+2008-09-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc-protos.h (gen_compare_operator): Declare.
+ (sparc_emit_float_lib_cmp): Change return type.
+ * config/sparc/sparc.c (gen_compare_reg): Add comment about TFmode.
+ (gen_compare_operator): New function.
+ (sparc_emit_float_lib_cmp): Return the new operator to be used in
+ the comparison sequence. Minor tweaks.
+ * config/sparc/sparc.md (seq, sne, sgt, slt, sge, sle): Assert
+ that the final operator and the result of sparc_emit_float_lib_cmp
+ match for software TFmode; use emit_insn in lieu of emit_jump_insn.
+ (beq, bne, bgt, blt, bge, ble, bunordered, bordered, bungt, bunlt,
+ buneq, bunge, bunle, bltgt): Assert that the final operator and the
+ result of sparc_emit_float_lib_cmp match for software TFmode.
+ (movqicc, movhicc, movsicc, movdicc): Merge into...
+ (mov<I:mode>cc): ...this.
+ (movsfcc, movdfcc, movtfcc): Merge into...
+ (mov<F:mode>cc): ...this.
+ (movqi_cc_sp64, movhi_cc_sp64, movsi_cc_sp64, movdi_cc_sp64): Merge
+ into...
+ (mov<I:mode>_cc_v9): ...this.
+ (movdi_cc_sp64_trunc): Delete.
+ (movqi_cc_reg_sp64, movhi_cc_reg_sp64, movsi_cc_reg_sp64,
+ movdi_cc_reg_sp64): Merge into...
+ (mov<I:mode>_cc_reg_sp64): ...this.
+ (movsf_cc_sp64): Rename into...
+ (movsf_cc_v9): ...this.
+ (movdf_cc_sp64): Rename into...
+ (movdf_cc_v9): ...this.
+ (movtf_cc_hq_sp64): Rename into...
+ (movtf_cc_hq_v9): ...this.
+ (movtf_cc_sp64): Rename into...
+ (movtf_cc_v9): ...this. Adjust for renaming of movdf_cc_sp64.
+
+2008-09-21 Diego Novillo <dnovillo@google.com>
+
+ * doc/gccint.texi: Include generic.texi and gimple.texi.
+ Re-order index.
+ * doc/tree-ssa.texi (GENERIC): Move to generic.texi.
+ (GIMPLE): Move to gimple.texi.
+ (Annotations): Remove references to to stmt_ann_t and
+ ssa_name_ann_t.
+ (SSA Operands): Rename from 'Statement Operands'.
+ * doc/generic.texi: New.
+ * doc/gimple.texi: New.
+ * Makefile.in (TEXI_GCCINT_FILES): Add generic.texi and
+ gimple.texi.
+ * Makefile.in (TEXI_GCCINT_FILES):
+ * gimple.c (gimple_copy_call_skip_args): Rename from
+ giple_copy_call_skip_args. Update all users.
+ * doc/gimple.texi (gimple_copy_call_skip_args): Document.
+
+2008-09-21 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/37539
+ * tree-vect-transform.c (vect_transform_strided_load): Save vector
+ statement in related statement field only for the first load of the
+ group of loads with the same data reference.
+
+2008-09-20 Adam Nemet <anemet@caviumnetworks.com>
+
+ * config/mips/mips.h (TUNE_OCTEON): New macro.
+ * config/mips/mips.c (mips_issue_rate): Return 2 for Octeon.
+ (mips_multipass_dfa_lookahead): Return 2 for Octeon.
+ * config/mips/octeon.md: New file.
+ * config/mips/mips.md: Include octeon.md. Restore
+ semi-alphabetical order of include files.
+
+2008-09-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/37571
+ * config/i386/i386.md (*jcc_fused_1): Removed.
+ (*jcc_fused_2): Likewise.
+ (*jcc_fused_3): Likewise.
+ (*jcc_fused_4): Likewise.
+
+2008-09-20 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * doc/tm.texi (TARGET_IRA_COVER_CLASSES): Define.
+ (IRA_COVER_CLASSES): Refer to TARGET_IRA_COVER_CLASSES.
+ * target.h (gcc_target): Add ira_cover_classes.
+ * ira.c: Remove IRA_COVER_CLASSES guards.
+ (setup_cover_and_important_classes): Use targetm.ira_cover_classes
+ instead of IRA_COVER_CLASSES.
+ (setup_cover_and_important_classes): Remove IRA_COVER_CLASSES guard.
+ (setup_class_translate): Likewise.
+ (setup_reg_class_intersect_union): Likewise.
+ (find_reg_class_closure): Replace IRA_COVER_CLASSES guard with a
+ test of targetm.ira_cover_classes.
+ * opts.c (decode_options): Use targetm.ira_cover_classes instead
+ of IRA_COVER_CLASSES.
+ * target-def.h (TARGET_IRA_COVER_CLASSES): Define.
+ (TARGET_INITIALIZER): Include it.
+ * targhooks.h (default_ira_cover_classes): Declare.
+ * targhooks.c (default_ira_cover_classes): New function.
+
+2008-09-19 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/xtensa.md (reload<mode>_literal): Handle MEM operands.
+
+2008-09-19 Ian Lance Taylor <iant@google.com>
+
+ * varasm.c (narrowing_initializer_constant_valid_p): Return
+ NULL_TREE if ENDTYPE is not an integer.
+
+2008-09-19 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ PR tree-opt/30930
+ * tree-ssa.c (execute_update_addresses_taken): Also update
+ DECL_GIMPLE_REG_P for vector and complex types.
+
+2008-09-19 Andrew MacLeod <amacleod@redhat.com>
+ Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/37567
+ * tree-ssa-ter.c (free_temp_expr_table): Make sure fields are actually
+ empty before freeing them.
+ (find_replaceable_exprs): Move asserts to free_temp_expr_table.
+
+2008-09-18 Bob Wilson <bob.wilson@acm.org>
+
+ * configure.ac: Add HAVE_AS_TLS check for Xtensa.
+ * config/xtensa/predicates.md (tls_symbol_operand): New.
+ * config/xtensa/xtensa.c (TARGET_HAVE_TLS): Define.
+ (TARGET_CANNOT_FORCE_MEM): Define.
+ (xtensa_tls_symbol_p): New.
+ (xtensa_emit_move_sequence): Check for and legitimize TLS addresses.
+ (xtensa_legitimate_address_p): Disallow constant pool TLS references.
+ (xtensa_tls_module_base): New.
+ (xtensa_call_tls_desc): New.
+ (xtensa_legitimize_tls_address): New.
+ (xtensa_legitimize_address): Handle TLS symbols.
+ (xtensa_tls_referenced_p_1): New.
+ (xtensa_tls_referenced_p): New.
+ (xtensa_output_addr_const_extra): Handle UNSPEC_TPOFF and UNSPEC_DTPOFF.
+ (XTENSA_BUILTIN_THREAD_POINTER): New.
+ (XTENSA_BUILTIN_SET_THREAD_POINTER): New.
+ (xtensa_init_builtins): Set NOTHROW and READONLY for umulsidi3 builtin.
+ Add declarations for __builtin_thread_pointer and
+ __builtin_set_thread_pointer.
+ (xtensa_fold_builtin): Recognize new builtins.
+ (xtensa_expand_builtin): Expand new builtins.
+ * config/xtensa/xtensa.h (XCHAL_HAVE_THREADPTR): Define default value.
+ (TARGET_THREADPTR): Define.
+ (HAVE_AS_TLS): Define default value.
+ (LEGITIMATE_CONSTANT_P): Disallow TLS references.
+ * config/xtensa/xtensa.md (UNSPEC_TPOFF, UNSPEC_DTPOFF): New.
+ (UNSPEC_TLS_FUNC, UNSPEC_TLS_ARG, UNSPEC_TLS_CALL, UNSPEC_TP): New.
+ (UNSPECV_SET_TP): New.
+ (sym_TPOFF, sym_DTPOFF): New.
+ (load_tp, set_tp, tls_func, tls_arg, tls_call): New.
+ * config/xtensa/xtensa-protos.h (xtensa_tls_referenced_p): Declare.
+ * configure: Regenerated.
+
+2008-09-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/37394
+ * config/ia64/ia64.c (ia64_optimization_options): Move
+ checking and setting flag_schedule_insns_after_reload and
+ ia64_flag_schedule_insns2 back to ...
+ (ia64_override_options): Here.
+
+2008-09-18 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ PR rtl-opt/37451
+ * loop-doloop.c (doloop_modify): New argument zero_extend_p and
+ zero extend count after the correction to it is done.
+ (doloop_optimize): Update call to doloop_modify, don't zero extend
+ count before call.
+
+2008-09-18 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-cp.c (ipcp_estimate_growth): Return 0 instead of false.
+
+ * ipa-prop.c: Correct comments.
+ * ipa-prop.h: Likewise.
+
+2008-09-18 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/37448
+ * ipa-reference.c (ipa_reference_local_vars_info_d,
+ ipa_reference_global_vars_info_d,
+ ipa_reference_local_vars_info_t, ipa_reference_global_vars_info_t,
+ ipa_reference_vars_info_t): Move here from ipa-reference.h
+ (node_duplication_hook_holder, node_removal_hook_holder): New.
+ (get_reference_vars_info_from_cgraph): Rename to ...
+ (get_reference_vars_info): ... this one, use cgraph uids.
+ (get_local_reference_vars_info, get_global_reference_vars_info):
+ Use cgraph instead of decl.
+ (ipa_reference_get_read_local, ipa_reference_get_written_local): Remove.
+ (ipa_reference_get_read_global, ipa_reference_get_not_read_global
+ ipa_reference_get_written_global, ipa_reference_get_not_written_global): Use
+ cgraph argument.
+ (check_call): Simplify avail check.
+ (scan_stmt_for_static_refs): Update.
+ (propagate_bits): Update.
+ (merge_callee_local_info): Remove.
+ (init_function_info): Use cgraph nodes.
+ (clean_function_local_data): Break out from ...
+ (clean_function): ... here.
+ (copy_local_bitmap, copy_global_bitmap): New functions.
+ (duplicate_node_data, remove_node_data): New functions.
+ (generate_summary): Register hooks; use visibility instead of
+ master clones.
+ (propafate): Use cgraph nodes; copy bitmap to each node in cycle.
+ * ipa-reference.h (ipa_reference_local_vars_info_d,
+ ipa_reference_global_vars_info_d,
+ ipa_reference_local_vars_info_t, ipa_reference_global_vars_info_t,
+ ipa_reference_vars_info_t): Move to ipa-reference.c
+ (ipa_reference_get_read_local, ipa_reference_get_written_local):
+ Remove.
+ (ipa_reference_get_read_global, ipa_reference_get_written_global,
+ ipa_reference_get_not_read_global, ipa_reference_get_not_written_global):
+ Update prototype.
+ * ipa-pure-const.c (funct_state_vec): Turn into VECtor.
+ (init_state): Remove.
+ (node_duplication_hook_holder, node_removal_hook_holder): New.
+ (get_function_state, set_function_state): Use VECtor.
+ (analyze_function): Check body availability.
+ (add_new_function): Likewise.
+ (duplicate_node_data, remove_node_data): New.
+ (generate_summary): Register hooks; do not care about clones.
+ (propafate): Do not care about clones; recursive functions are not looping.
+ * ipa-utils.c (searchc, ipa_utils_reduced_inorder): Do not skip clones.
+ * ipa-prop.c (edge_removal_hook_holder, node_removal_hook_holder,
+ * edge_duplication_hook_holder, node_duplication_hook_holder): Make
+ static.
+ * tree-flow.h (function_ann_d): Remove reference_vars_info.
+ * tree-ssa-opreands.c (add_call_clobber_ops, add_call_read_ops): Update call of
+ ipa-reference accesors.
+
+2008-09-18 Simon Baldwin <simonb@google.com>
+
+ * c-opts.c (c_common_handle_option): Add handling for
+ -Wbuiltin-macro-redefined command line option.
+ * c.opt: Added builtin-macro-redefined option.
+ * doc/invoke.texi (Warning Options): Add -Wbuiltin-macro-redefined
+ documentation.
+
+2008-09-18 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/37258
+ * tree-ssa-sccvn.c (vn_phi_compute_hash): Include the precision
+ and signedness for integral types.
+ (vn_phi_eq): Require compatible types.
+
+2008-09-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/34037
+ * gimplify.c (gimplify_type_sizes): When not optimizing, ensure
+ TYPE_MIN_VALUE and TYPE_MAX_VALUE is not is not DECL_IGNORED_P
+ VAR_DECL.
+ * cfgexpand.c (expand_used_vars): Keep DECL_ARTIFICIAL
+ !DECL_IGNORED_P vars in local_decls list for instantiate_decls,
+ ggc_free other TREE_LIST nodes from that chain.
+ * function.c (instantiate_decls): Instantiate also DECL_RTL
+ of vars in cfun->local_decls, free that list afterwards.
+
+2008-09-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sol2.h (WIDEST_HARDWARE_FP_SIZE): Move to...
+ * config/sparc/sparc.h (WIDEST_HARDWARE_FP_SIZE): ...here.
+
+2008-09-18 Andrew MacLeod <amacleod@redhat.com>
+
+ * tree-outof-ssa.c (eliminate_useless_phis): Fix formatting.
+ * tree-flow-.h (struct immediate_use_iterator_d): Fix comment.
+
+2008-09-18 Andrew MacLeod <amacleod@redhat.com>
+
+ PR tree-optimization/37102
+ * tree-outof-ssa.c (remove_gimple_phi_args): Remove all the PHI args
+ from a node. Check to see if another PHI is dead.
+ (eliminate_useless_phis): Rename from eliminate_virtual_phis and
+ remove real PHIs which have no uses.
+ (rewrite_out_of_ssa): Call eliminate_useless_phis.
+
+2008-09-18 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/37284
+ * tree-cfg.c (remove_useless_stmts_1): Remove
+ GIMPLE_CHANGE_DYNAMIC_TYPE if not optimizing.
+
+2008-09-18 Nick Clifton <nickc@redhat.com>
+
+ * config/frv/frv.h (IRA_COVER_CLASSES): Define.
+ (SECONDARY_INPUT_RELOAD_CLASS): Omit unused argument in call
+ to frv_secondary_reload_class.
+ (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
+ * config/frv/frv.c (TARGET_SECONDARY_RELOAD): Define.
+ (frv_secondary_reload_class): Omit unused parameter.
+ (frv_secondary_reload): New function. Handle the case when
+ secondary_reload_class() is called before the reload_(in|out)
+ _optabs have been initialised.
+ * config/frv/frv-protos.h (frv_secondary_reload_class): Omit
+ unused parameter.
+ * config/frv/frv.md: Define an exclusion set between fr550_m0
+ and fr550_f0.
+
2008-09-18 Richard Guenther <rguenther@suse.de>
PR tree-optimization/37456
PR ada/36554
* dwarf2out.c (is_subrange_type): Deal with BOOLEAN_TYPE.
-2008-07-30 Rafael Ã\81vila de Espíndola <espindola@google.com>
+2008-07-30 Rafael Ãvila de EspÃndola <espindola@google.com>
PR 36974
* final.c (call_from_call_insn): Handle COND_EXEC.
* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Add clause for
vector modes.
-2008-07-30 Rafael Ã\81vila de Espíndola <espindola@google.com>
+2008-07-30 Rafael Ãvila de EspÃndola <espindola@google.com>
* final.c (call_from_call_insn): New.
(final_scan_insn): Call assemble_external on FUNCTION_DECLs.
(TARGET_OPTION_PRINT): Ditto.
(TARGET_CAN_INLINE_P): Ditto.
-2008-07-22 Rafael Ã\81vila de Espíndola <espindola@google.com>
+2008-07-22 Rafael Ãvila de EspÃndola <espindola@google.com>
* c-typeck.c (build_external_ref): Don't call assemble_external.
* final.c (output_operand): Call assemble_external.
highest magnitude if this is still less or equal to the true
quotient in magnitude.
-2008-07-21 Rafael Ã\81vila de Espíndola <espindola@google.com>
+2008-07-21 Rafael Ãvila de EspÃndola <espindola@google.com>
* Makefile.in: Replace toplev.h with TOPLEV_H.
* c-decl.c (merge_decls): Don't set DECL_IN_SYSTEM_HEADER.
(m32c_legitimate_address_p): Handle "++rii" addresses created by
m32c_legitimize_reload_address.
-2007-07-16 Rafael Ã\81vila de Espíndola <espindola@google.com>
+2007-07-16 Rafael Ãvila de EspÃndola <espindola@google.com>
* c-decl.c (merge_decls): Keep DECL_SOURCE_LOCATION and
DECL_IN_SYSTEM_HEADER in sync.
* emit-rtl.c (set_mem_attributes_minus_bitpos): Improve comment.
-2007-07-14 Rafael Ã\81vila de Espíndola <espindola@google.com>
+2007-07-14 Rafael Ãvila de EspÃndola <espindola@google.com>
* c-decl.c (diagnose_mismatched_decls): Don't warn if TREE_NO_WARNING
is set.