OSDN Git Service

2008-09-29 Tobias Grosser <grosser@fim.uni-passau.de>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 461044b..45e4a66 100644 (file)
@@ -1,3 +1,317 @@
+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.
 
 2008-09-23  Kai Tietz  <kai.tietz@onevision.com>
 
-       *config/i386/i386.c (ix86_function_ok_for_sibcall): Correct
+       * config/i386/i386.c (ix86_function_ok_for_sibcall): Correct
        check for sibcall support for w64.
 
 2008-09-23  Eric Botcazou  <ebotcazou@adacore.com>
        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.