OSDN Git Service

* config/spu/spu-protos.c (spu_split_address): Add.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 52452d5..d2a8743 100644 (file)
@@ -1,3 +1,309 @@
+2006-12-04  Trevor Smigiel  <trevor_smigiel@playstation.sony.com>
+
+       * config/spu/spu-protos.c (spu_split_address): Add.
+       * config/spu/spu.c (spu_split_address): Add.
+       (print_operand): Handle HIGH.
+       (spu_legitimate_address):  Don't test for aligned CONST.
+       (spu_expand_mov):  Don't split addresses here.
+       * config/spu/constraints.md (A): Don't test legitimate_const.
+       * config/spu/spu.md: Add split of movsi patterns for PIC mode.
+       (ceq_di): Use correct predicates.
+
+2006-12-04  Eric Christopher  <echristo@apple.com>
+
+       * config/darwin.h: Update copyright notice.
+       * config/i386/darwin.h: Ditto.
+
+2006-12-04  Jan Hubicka  <jh@suse.cz>
+
+       * builtins.c (fold_builtin_memory_op): Check that expr_size match.
+       * explow.c (expr_size, int_expr_size): Assert that size is non_NULL.
+
+2006-12-04  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-ssa-alias.c (compute_flow_sensitive_aliasing): Call
+       set_used_smts.
+       * tree-ssa-structalias.c (set_used_smts): Export.
+       (find_what_p_points_to): Don't call set_used_smts here.
+       * tree-ssa-structalias.h (set_used_smts): Add prototype.
+
+2006-12-04  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-ssa-alias.c (compute_may_aliases):
+       Compute flow sensitive before flow insensitive.
+       (compute_flow_sensitive_aliasing): Don't try to add
+       a symbol memory tag to itself.
+
+       * alias.h (alias_set_subset_of): New prototype.
+
+       * alias.c (alias_set_subset_of): New function.
+
+       * tree-ssa-structalias.c: Update comments.
+       (struct variable_info): Add finished_solution.
+       (new_varinfo): Set finished solution to NULL.
+       (var_escaped_vars): Remove.
+       (escaped_vars_tree): Remove.
+       (escaped_vars_id): Remove.
+       (nonlocal_vars_id): Remove.
+       (constraint_expr_type): Add INCLUDES.
+       (graph_size): Removed.
+       (dump_constraint): Support INCLUDES.
+       (build_constraint_graph): Ditto.
+       (collapse_nodes): Add merge_solutions argument.
+       Don't merge attributes.
+       (process_unification_queue): Just use collapse_nodes.
+       (perform_var_substitution): Update call to collapse_nodes.
+       (get_constraint_exp_from_ssa_var): Use INCLUDES.
+       (process_constraint): Fix non-field sensitive handling
+       Handle includes.
+       (get_constraint_for): Use INCLUDES.
+       (make_constraint_from_anything): Renamed from
+       make_constraint_from_escaped.
+       (make_constraint_to_escaped): Removed.
+       (find_global_initializers): Removed.
+       (create_variable_info_for): Do not make constraints to escaped
+       vars anymore.
+       (dump_solution_for_var): Don't print out the equivalent points-to
+       sets, just use the name of the variable it shares it with.
+       (intra_create_variable_infos): Use INCLUDES.
+       Change nonlocal variable sets to anything sets.
+       (init_base_vars): Remove escaped_vars and nonlocal_var
+       initialization.
+       (find_escape_constraints): Removed.
+       (delete_points_to_sets): Remove dead code.
+       (used_smt_calculated): New variable.
+       (set_used_smts): New function.
+       (merge_smts_into): New function.
+       (find_what_p_points_to): Modify to use SMTs.
+       (create_nonlocal_var): Remove.
+
+       * tree-ssa-operands.c (access_can_touch_variable): Remove
+       reference to nonlocal_all.
+
+       * tree-ssa.c (verify_name_tags): Remove.
+
+2006-12-04  Carlos O'Donell  <carlos@codesourcery.com>
+
+       * config/arm/unwind-arm.c: Adjust __cxa_type_match declaration.
+       (__gnu_unwind_pr_common): Pass is_reference to __cxa_type_match.
+
+2006-12-04  Andrew MacLeod  <amacleod@redhat.com>
+
+       * tree-outof-ssa.c (coalesce_ssa_name): Use calculate_live_ranges.
+       * tree-ssa-live.c (new_tree_live_info, delete_tree_live_info): Update.
+       (add_livein_if_notdef): Delete.
+       (loe_visit_block): New.  Propogate live on entry info for a block into
+       each predecessor.  If it changes, make sure it is visited again.
+       (live_worklist): Visit every block and update the live on entry info
+       for preds.  Iterate over any that changed.
+       (set_var_live_on_entry): Populate the live on entry blocks with bits
+       based on the immediate uses of a var.
+       (calculate_live_on_entry): Remove.
+       (calculate_live_on_exit): Calculate live on exit based on the newly
+       oriented live on entry bits.
+       (calculate_live_ranges): Build live on entry and exit vectors.
+       (dump_live_info): Use new orientation of live on entry bitmaps.
+       (verify_live_on_entry): New.  Split out verification code from old
+       calculate_live_on_entry routine.
+       * tree-ssa-live.h (struct tree_live_info_d): Add Working stack.
+       (live_entry_blocks): Rename to live_on_entry and return bitmap for a
+       basic_block instead of for a partition.
+       (live_merge_and_clear): Add asserts.
+       (make_live_on_entry): Set partition bit in basic block vector.
+
+2006-12-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libgomp/29947
+       * omp-low.c (expand_omp_for_static_nochunk,
+       expand_omp_for_static_chunk): Do all arithmetics in signed rather than
+       unsigned type.
+
+       PR middle-end/29965
+       * omp-low.c (determine_parallel_type): Don't try to optimize combined
+       parallels if region->exit or region->inner->exit is NULL.
+       (expand_omp_parallel): Handle NULL region->exit even if cfg is already
+       built.
+       (expand_omp_for_generic): Handle NULL region->cond and region->exit.
+       (expand_omp_for): Use expand_omp_for_generic if either region->cond
+       or region->exit is NULL.
+       (expand_omp_sections): Handle NULL region->cond or region->exit.
+       (expand_omp_synch):
+
+2006-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * config/sparc/sp64-elf.h (JUMP_TABLES_IN_TEXT_SECTION): Delete.
+       * config/sparc/sysv4.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
+
+2006-12-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree.c (walk_type_fields): Do not handle TYPE_MIN_VALUE and
+       TYPE_MAX_VALUE for scalar types here but...
+       (walk_tree): ...there instead.  Return NULL_TREE if the TYPE_DECL
+       is attached an error mark, and the return value of the callback
+       if it is not NULL_TREE.
+
+2006-12-04  Ben Elliston  <bje@au.ibm.com>
+
+       * config/spu/spu.md (_mulv4si3): Remove unused local variables.
+
+2006-12-03  Eric Christopher  <echristo@apple.com>
+
+       PR target/24598
+       * config/t-slibgcc-darwin: Pass -install_name.
+       * config/darwin.h (LINK_COMMAND_SPEC): Remove use of
+       libtool. Only pass through options that the linker recognizes.
+       (LINK_SPEC): Update comment. Translate options.
+       (STARTFILE_SPEC): Add dylib1.o for shared libraries.
+       * config/darwin9.h (LINK_COMMAND_SPEC): Ditto above.
+
+2006-12-03  Dorit Nuzman  <dorit@il.ibm.com>
+
+       * config/spu/spu.md (smaxv4sf3, sminv4sf3): New.
+
+2006-12-03  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/30041
+       * config/i386/sse.md ("*sse3_movddup"): Use operands[0] and
+       operands[1] in insn constraint.  Correct type attribute to sselog1.
+
+2006-12-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/30040
+       * config/i386/driver-i386.c: Include "coretypes.h" and "tm.h".
+       (bit_SSSE3): New.
+       (host_detect_local_cpu): Check -mtune= vs. -march=. Rewrite
+       processor detection.
+
+       * config/i386/i386.h (CC1_CPU_SPEC): Add -mtune=native for
+       -march=native if there is no -mtune=*.
+
+       * config/i386/x-i386 (driver-i386.o): Also depend on $(TM_H)
+       coretypes.h.
+
+2006-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * doc/install.texi: Update recommended MPFR version.  Remove
+       obsolete reference to cumulative patch.
+
+2006-12-02  Lee Millward  <lee.millward@codesourcery.com>
+
+       PR c/27953
+       * c-decl.c (store_parm_decls_oldstyle): Robustify.
+
+2006-11-30  Jan Hubicka  <jh@suse.cz>
+           Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (pentium4_cost, nocona_cost): Update
+       32bit memcpy/memset decriptors.
+       (decide_alg): With -minline-all-stringops and sizes that are best
+       to be copied via libcall still work hard enough to pick non-libcall
+       strategy.
+
+2006-12-02  Kazu Hirata  <kazu@codesourcery.com>
+
+       * doc/extend.texi, doc/invoke.texi, doc/md.texi: Fix typos.
+
+       * builtins.c, cfgloop.h, cgraph.h, config/arm/arm.c,
+       config/i386/i386.c, config/i386/i386.h, config/mips/mips.h,
+       config/rs6000/cell.md, config/rs6000/rs6000.c, config/sh/sh.c,
+       config/sh/sh4-300.md, config/spu/spu-builtins.def,
+       config/spu/spu-c.c, config/spu/spu-modes.def,
+       config/spu/spu.c, config/spu/spu.md,
+       config/spu/spu_internals.h, config/spu/vmx2spu.h,
+       fold-const.c, fwprop.c, predict.c, tree-data-ref.h,
+       tree-flow.h, tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
+       tree-ssa-pre.c, tree-vect-analyze.c, tree-vect-transform.c,
+       tree-vectorizer.c, tree-vrp.c: Fix comment typos.  Follow
+       spelling conventions.
+
+       * config/i386/i386.c: Fix a comment typo.
+
+2006-12-01  Trevor Smigiel  <trevor_smigiel@playstation.sony.com>
+
+       * config/spu/spu.c (spu_immediate): Remove trailing comma.
+       (reloc_diagnostic): Call warning when -mwarn-reloc is specified.
+       * config/spu/spu.md: (zero_extendhisi2): Expand instead of split for
+       better optimization.
+       (floatv4siv4sf2): New.
+       (fix_truncv4sfv4si2): New.
+       (floatunsv4siv4sf2): New.
+       (fixuns_truncv4sfv4si2): New.
+       (addv16qi3): New.
+       (subv16qi3): New.
+       (negv16qi2): New.
+       (mulv8hi3): New.
+       (mulsi3): Remove.
+       (mul<mode>3): New.
+       (_mulv4si3): New.
+       (cmp<mode>): Don't accept constant arguments for DI, TI and SF.
+       * config/spu/spu_internals.h: Handle overloaded intrinsics in C++ with
+       spu_resolve_overloaded_builtin instead of static inline functions.
+
+2006-12-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * fold-const.c (fold_binary) <LT_EXPR>: Use the precision of the
+       type instead of the size of its mode to compute the highest and
+       lowest possible values.  Still check the size of the mode before
+       flipping the signedness of the comparison.
+
+2006-12-01  Trevor Smigiel  <trevor_smigiel@playstation.sony.com>
+
+       * config/spu/predicates.md (spu_mov_operand): Add.
+       * config/spu/spu.c (spu_expand_extv): Remove unused code.
+       (print_operand_address, print_operand): Handle addresses containing AND.
+       (spu_split_load, spu_split_store): Use updated movti pattern.
+       * config/spu/spu.md: (_mov<mode>, _movdi, _movti): Handle loads and
+       stores in mov patterns for correct operation of reload.
+       (lq, lq_<mode>, stq, stq_<mode>): Remove.
+
+2006-12-01  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR c++/30021
+       * c-common.c (check_main_parameter_types): Check for error_mark_node.
+
+2006-12-01  Andrew MacLeod  <amacleod@redhat.com>
+
+       * common.opt (ftree-combine-temps): Remove.
+       * tree-outof-ssa.c (SSANORM_COMBINE_TEMPS): Remove.
+       (coalesce_ssa_name): Don't check for combine-temps.
+       (coalesce_vars): Remove.
+       (check_replaceable): Use num_imm_uses.
+       (remove_ssa_form, insert_backedge_copies, rewrite_out_of_ssa): Don't
+       check for combine-temps.
+       (rewrite_out_of_ssa): Never create a ref_count in the var_map.
+       * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Change parms
+       to register_ssa_partition calls.
+       * tree-ssa-live.c (register_ssa_partition): Remove prototype.
+       (init_var_map, delete_var_map): remove refernces to ref_count.
+       (create_ssa_var_map): Never calculate a ref count.
+       (type_var_init): Remove.
+       * tree-ssa-live.h (typedef struct _var_map): Remove ref_count.
+       (SSA_VAR_MAP_REF_COUNT): Delete.
+       (create_ssa_var_map): Change Prototype to have no parameters.
+       (version_ref_count): Delete.
+       (register_ssa_partition): Remove 'is_use' paramater and don't set the
+       ref_count vector.
+       (type_var_num, type_var, type_var_first_partition,
+       type_var_next_partition, type_var_dump, type_var_delete,
+       type_var_remove_partition, type_var_find, type_var_compact,
+       type_var_decompact): Remove.
+
+2006-12-01  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * config/bfin/bfin.md (pushsi_insn, popsi_insn): Set correct addrtype
+       attribute.
+
+2006-12-01  Richard Guenther  <rguenther@suse.de>
+
+       PR c++/29433
+       * dwarf2out.c (struct pubname_struct): Make name const.
+       (add_pubtype): Do not xstrdup identifiers.
+
+2006-12-01  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * config/bfin/bfin.c (bfin_valid_add): Fix the logic that ensures
+       multiword accesses are in range.
+
 2006-12-01  Zdenek Dvorak <dvorakz@suse.cz>
 
        PR tree-optimization/29921
 2006-11-30  Carlos O'Donell  <carlos@codesourcery.com>
 
        * doc/tm.texi (MAX_OFILE_ALIGNMENT): Document default.
-       * config/elfos.h [!MAX_OFILE_ALIGNMENT] (MAX_OFILE_ALIGNMENT): 
-       Default is the largest alignment supported for 32-bit ELF and 
+       * config/elfos.h [!MAX_OFILE_ALIGNMENT] (MAX_OFILE_ALIGNMENT):
+       Default is the largest alignment supported for 32-bit ELF and
        representable on a 32-bit host.
 
 2006-11-30  Janis Johnson  <janis187@us.ibm.com>
        PR target/29945
        * config/spu/spu.md  (extend_compare<mode>): New pattern.
        (extend_compare): Change to expand and use the above pattern.
-       
+
 2006-11-29  Janis Johnson  <janis187@us.ibm.com>
 
        * config/dfp-bit.c (DFP_TO_INT): Fix rounding mode.
        * haifa-sched.c: Remove define LINE_NOTE(INSN).  Remove line_note_head.
        Update documentation.
        (associate_line_notes_with_blocks): Kill.
-       (extend_bb): Remove basic block argument, put void instead. 
-       Remove line number handling for each bb. 
+       (extend_bb): Remove basic block argument, put void instead.
+       Remove line number handling for each bb.
        (save_line_notes): Kill.
        (restore_line_notes): Kill.
        (sched_init): Remove line_note_head initialization.
        * sched-int.h (struct haifa_insn_data): Remove line_note.
        (save_line_notes): Remove declaration.
        (restore_line_notes): Remove declaration.
-       * modulo-sched.c (loop_canon_p): Update debug info printing 
+       * modulo-sched.c (loop_canon_p): Update debug info printing
        by using insn locators instead of line note.
-       (sms_schedule): Update debug info printing, by using insn 
+       (sms_schedule): Update debug info printing, by using insn
        locators instead of line note.
-       * sched-rgn.c (debug_dependencies): Remove handling of case 
+       * sched-rgn.c (debug_dependencies): Remove handling of case
        n>0 (line number), since it's a dead code.
-       (schedule_region): Remove save_line_notes and 
+       (schedule_region): Remove save_line_notes and
        restore_line_notes calls.
 
 2006-11-29  Joseph Myers  <joseph@codesourcery.com>
 
        * Makefile.in (tree-ssanames.o): Remove gt-tree-ssanames.h,
        since it no longer exists.
-           
+
 2006-11-29  Duncan Sands  <baldrick@free.fr>
 
        PR tree-optimization/23744
        PR target/29319
        * config/s390/predicates.md (larl_operand): Check addend of larl
        operand to be in range of -/+2GB.
-       * config/s390/s390.c (legitimize_pic_address): Likewise.  
+       * config/s390/s390.c (legitimize_pic_address): Likewise.
        Changed type of variable even to HOST_WIDE_INT.
 
 2006-11-27  Jan Hubicka  <jh@suse.cz>
 
        * builtins.c (fold_builtin_fmin_fmax): Handle NaN arguments.
 
-2006-11-26  Razya Ladklesky  <razya@il.ibm.com> 
+2006-11-26  Razya Ladklesky  <razya@il.ibm.com>
 
        * testsuite/gcc.dg/ipa/ipa-6.c: New.
 
 2006-11-26  Razya Ladklesky  <razya@il.ibm.com>
-       
+
        PR tree-optimization/29122
-       * tree-inline.c (tree_function_versioning): Update DECL_ASSEMBLER_NAME 
-       for the new version.  Assign NULL to DECL_RTL of the new version. 
+       * tree-inline.c (tree_function_versioning): Update DECL_ASSEMBLER_NAME
+       for the new version.  Assign NULL to DECL_RTL of the new version.
 
 2006-11-25  Uros Bizjak  <ubizjak@gmail.com>
 
        (fmodsf3, fmoddf3, remaindersf3, remainderdf3): Use noop
        truncation patterns.
 
-       * reg-stack.c (get_true_reg): Handle UNSPEC_TRUNC_NOOP. 
-       
+       * reg-stack.c (get_true_reg): Handle UNSPEC_TRUNC_NOOP.
+
 2006-11-24  Jakub Jelinek  <jakub@redhat.com>
 
        PR c/29955
        PR tree-opt/29964
        * ipa-pure-const.c (check_tree): If the original tree
        is volatile return early and say the function is not pure
-       nor const.  Remove the volatile check for writes.  
+       nor const.  Remove the volatile check for writes.
        (analyze_function): Print out the result of the local
        analysis pass.
 
 2006-11-24  Andreas Krebbel  <krebbel1@de.ibm.com>
 
        * config/s390.c (s390_emit_compare_and_swap): New function.
-       (s390_expand_cs_hqi, s390_expand_atomic): Call 
+       (s390_expand_cs_hqi, s390_expand_atomic): Call
        s390_emit_compare_and_swap.
 
 2006-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
 
 2006-11-23  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
 
-       PR c/9072 
+       PR c/9072
        * c.opt (Wtraditional-conversion): New.
        (Wconversion): Update description.
        * c-typeck.c (convert_arguments): Warnings for prototypes causing
 2006-11-20  Carlos O'Donell  <carlos@codesourcery.com>
            Mark Mitchell  <mark@codesourcery.com>
 
-       * cppdefault.c: Define cpp_PREFIX, cpp_PREFIX_len, and 
+       * cppdefault.c: Define cpp_PREFIX, cpp_PREFIX_len, and
        gcc_exec_prefix.
        (cpp_relocated): New function.
-       * cppdefault.h: Declare cpp_PREFIX, cpp_PREFIX_len, gcc_exec_prefix 
-       and cpp_relocated. 
+       * cppdefault.h: Declare cpp_PREFIX, cpp_PREFIX_len, gcc_exec_prefix
+       and cpp_relocated.
        * Makefile.in (PREPROCESSOR_DEFINES): Add -DPREFIX option.
        * c-incpath.c (add_standard_paths): Call cpp_relocated. If relocated,
-       replace configured prefix with gcc_exec_prefix. 
+       replace configured prefix with gcc_exec_prefix.
 
 2006-11-20  Bernd Schmidt  <bernd.schmidt@analog.com>
 
        x86_pad_returns): Add m_CORE2.
        (override_options): Add entries for Core2.
        (ix86_issue_rate): Add case for Core2.
-       
+
 2006-11-18  Aldy Hernandez  <aldyh@redhat.com>
 
        * doc/invoke.texi: Fix mno-isel typo.
        * config.gcc: Add suppport for darwin9.h.
        * config/darwin9.h: Add.
        * doc/install.texi (Specific): Clarify darwin documentation.
-       
+
 2006-11-16  Richard Earnshaw  <rearnsha@arm.com>
 
        * arm.h (CONSTANT_ALIGNMENT): Don't over-align strings when
        (cstoresi_nltu_thumb, thumb_addsi3_addgeu): New patterns.
 
 2006-11-14  Caroline Tice  <ctice@apple.com>
-               
+
        * dwarf2out.c (debug_pubtypes_section): New static global variable.
        (pubname_entry):  Add DEF_VEC_O and DEF_VEC_ALLOC_O statements for
        this type.
        (pubname_table_allocated): Remove static global variable.
        (pubname_table_in_use): Remove static global variable.
        (PUBNAME_TABLE_INCREMENT): Remove constant.
-       (size_of_pubnames): Add parameter to deal with either pubnames or 
+       (size_of_pubnames): Add parameter to deal with either pubnames or
        pubtypes, and change code to deal with table being a vector.
        (add_pubname):  Change to deal with table being a vector.
        (add_pubtype):  New function.
-       (output_pubnames): Add parameter to deal with either pubnames or 
+       (output_pubnames): Add parameter to deal with either pubnames or
        pubtypes, and change code to deal with table being a vector.
        (gen_array_type_die):  Add call to add_pubtype.
        (gen_enumeration_type_die): Add call to add_pubtype.
        (gen_struct_or_union_type_die): Add call to add_pubtype.
        (gen_subroutine_type_die): Add call to add_pubtype.
        (gen_typedef_die):  Add call to add_pubtype.
-       (dwarf2out_init): Add code to initialize pubname_table and 
+       (dwarf2out_init): Add code to initialize pubname_table and
        pubtype_table vectors; also initialize debug_pubtypes_section.
        (prune_unused_types):  Change to deal with pubnames being a vector.
-       (dwarf2out_finish): Change to deal with pubnames being a vector; add 
-       pubnames table to call to output_pubnames;  Add code to output pubtypes 
+       (dwarf2out_finish): Change to deal with pubnames being a vector; add
+       pubnames table to call to output_pubnames;  Add code to output pubtypes
        table if DEBUG_PUBTYPES_SECTION is defined.
-       * config/darwin.c (darwin_file_start):  Add DEBUG_PUBTYPES_SECTION to 
+       * config/darwin.c (darwin_file_start):  Add DEBUG_PUBTYPES_SECTION to
        debugnames.
        * config/darwin.h (DEBUG_PUBTYPES_SECTION): Define new global variable.