OSDN Git Service

2004-11-12 Ralf Corsepius <ralf.corsepius@rtems.org>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index a3f0026..5408d08 100644 (file)
@@ -1,3 +1,168 @@
+2004-11-12  Ralf Corsepius  <ralf.corsepius@rtems.org>
+
+       * config/rs6000/t-rtems (MULTILIB_NEW_EXCEPTIONS_ONLY):
+       Remove m505/roe multilib variant.
+
+2004-11-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * expr.c (emit_group_load) <CONCAT>: Use extract_bit_field
+       to load from the stack.
+
+2004-11-12  Richard Henderson  <rth@redhat.com>
+
+       * toplev.c (floor_log2): Rename from floor_log2_wide, use CLZ_HWI.
+       (exact_log2): Rename from exact_log2_wide, use CTZ_HWI.
+       * toplev.h (FL2T__): Remove.
+       (CLZ_HWI): Rename from FL2T_CLZ__.
+       (CTZ_HWI): New.
+       (floor_log2): Simplify.
+       (exact_log2): New.
+
+2004-11-12  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       * tree-data-ref.c (analyze_subscript_affine_affine): Correctly
+       compute the first overlapping iterations.
+
+2004-11-12  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       PR middle-end/18005
+       * tree-data-ref.c (estimate_niter_from_size_of_data): Ensure 
+       that arguments of EXACT_DIV_EXPR are INTEGER_CST.
+
+2004-11-12  Steven Bosscher  <stevenb@suse.de>
+
+       PR tree-optimization/18419
+       * tree-ssa.c (walk_use_def_chains_1): Make the visited map a
+       pointer set instead of a bitmap.
+       (walk_use_def_chains): Create, pass and clean up that pointer_set.
+
+       * tree-ssa-alias.c (struct alias_info): Make the ssa_names_visited
+       field an sbitmap.
+       (init_alias_info): Allocate and zero it here.
+       (delete_alias_info): Delete it here.
+       (collect_points_to_info_for): Use it.
+
+2004-11-11  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * alias.c (record_alias_subset, addr_side_effect_eval):
+       Make them static.
+       * alias.h: Remove the prototype for record_alias_subset.
+       * expr.h: Remove the commented-out prototype for
+       record_alias_subset.
+       * rtl.h: Remove the prototype for addr_side_effect_eval.
+
+       * cfglayout.c (choose_inner_scope): Make it static.
+       * rtl.h: Remove the corresponding prototype.
+
+       * cfgloopmanip.c (update_single_exits_after_duplication,
+       unloop): Make them static.
+       * cfgloop.h: Remove the corresponding prototypes.
+
+       * c-typeck.c (c_size_in_bytes, record_maybe_used_decl):
+       Make them static.
+       * c-tree.h: Remove the corresponding prototypes.
+
+       * explow.c (round_push): Make it static.
+       * expr.h: Remove the corresponding prototype.
+
+       * varasm.c (get_named_section_flags, decl_tls_model): Make
+       them static.
+       * output.h: Remove the prototype for get_named_section_flags.
+       * tree.h: Remove the prototype for decl_tls_model.
+
+2004-11-11  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * function.c (expand_function_end): Remove an "if" statement
+       that always triggers.
+       * stmt.c (expand_null_return_1): Likewise.
+
+2004-11-11  James E. Wilson  <wilson@specifixinc.com>
+
+       * config/ia64/ia64.h (HARD_REGNO_NREGS): Handle XCmode.
+       (HARD_REGNO_MODE_OK, MODES_TIEABLE_P, SECONDARY_MEMORY_NEEDED,
+       CLASS_MAX_NREGS): Likewise.
+
+2004-11-11  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR tree-optimization/17742
+       * tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Handle
+       MINUS_EXPR correctly.
+
+2004-11-11  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       * tree-scalar-evolution.c (follow_ssa_edge_in_condition_phi): 
+       Give up as soon as the evolution is known not computable.
+
+2004-11-11  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR target/16457
+       * config/rs6000/rs6000.c (mask64_2_operand): Stub to call
+       mask64_1or2_operand.
+       (mask64_1or2_operand): Broken out of mask64_2_operand, add flag
+       to spot rlwinm opportunities.
+       (and64_2_operand): Use mask_1or2_operand.
+       * config/rs6000/rs6000.md (anddi3): Use rlwinm when possible.
+
+2004-11-11  Dorit Naishlos  <dorit@il.ibm.com>
+
+       * tree-vectorizer.c (update_phi_nodes_for_guard): Call reverse_phis.
+       (vect_update_ivs_after_vectorizer): Update function documentation.
+       Avoid quadratic behavior and direct write to PHI_ARG_DEF.
+
+2004-11-11  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/arm/arm.c: Fix a comment typo.
+
+2004-11-11  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * bitmap.h (nBITMAP_WORD_BITS): Remove.
+       (BITMAP_WORD_BITS): Force unsigned by use of 1u.
+       (BITMAP_ELEMENT_WORDS, BITMAP_ELEMENT_ALL_BITS): Remove
+       unnecessary casts.
+       (bitmap_first_set_bit): Return unsigned, use ctzl.
+       (bitmap_last_set_bit): Remove.
+       * bitmap.c (bitmap_element_zerop, bitmap_copy): Make iterator
+       unsigned.
+       (bitmap_first_set_bit): Return unsigned, require non-empty bitmap,
+       remove special case code for two word elements.
+       (bitmap_last_set_bit): Remove.
+       * ra-build.c (livethrough_conflicts_bb): Replace unnecessary use of
+       bitmap_first_set_bit with bitmap_empty_p.
+       * tree-outof-ssa.c (analyze_edges_for_bb): Likewise.
+       * tree-ssa-pre.c (bitmap_print_value): Use simple flag rather than
+       bitmap_last_bit_set.
+
+2004-11-11  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR target/16796
+       * config/rs6000/rs6000.md: Add DF & SF reg move peepholes.
+
+       PR target/16458
+       * config/rs6000/rs6000.c (rs6000_generate_compare): Generate an
+       unsigned equality compare when we know the operands are unsigned.
+
+2004-11-10  Peter S. Mazinger  <ps.m@gmx.net>
+
+       * config/mips/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Define
+       __PIC__ and __pic__ only if TARGET_ABICALLS.
+       (SUBTARGET_CPP_SPECS): Don't define or undefine __PIC__ and __pic__.
+       (SUBTARGET_ASM_SPECS): Don't pass -non_shared to assembler; pass
+       -KPIC only if not -mno-abicalls.
+
+       * config/alpha/linux.h, config/arm/linux-elf.h, config/pa/pa-linux.h
+       * config/sparc/linux.h, config/sparc/linux64.h
+       (TARGET_OS_CPP_BUILTINS): Define __PIC__ and __pic__ if flag_pic.
+
+       * config/arm/linux-gas.h (CPP_SPEC): Don't define __PIC__ or __pic__.
+       * config/pa/pa/linux.h (CPP_SPEC): Likewise.
+       * config/sparc/linux.h (CPP_SUBTARGET_SPEC): Likewise.
+       * config/sparc/linux64.h (CPP_SUBTARGET_SPEC): Likewise.
+
+2004-11-11  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/arm.c (arm_compute_save_reg0_reg12_mask): Save PIC
+       register if current_function_uses_pic_offset_table is set.
+
 2004-11-10  David Edelsohn  <edelsohn@gnu.org>
 
        * config/rs6000/rs6000.md (define_attr "type"): Add two and three.
 
        * tree-data-ref.c (build_classic_dist_vector): If either loop
        is outside of the nest we asked about, the dependence can't
-       matter. 
+       matter.
        (build_classic_dir_vector): Ditto.
 
 2004-11-10  Zdenek Dvorak  <dvorakz@suse.cz>
 2004-11-10  Fariborz Jahanian <fjahanian@apple.com>
 
        PR tree-optimization/17892
-       * tree-ssa-dom.c (unsafe_associative_fp_binop): Add test for
+       * tree-ssa-dom.c (unsafe_associative_fp_binop): Add test for
        MINUS_EXPR operator.
 
 2004-11-10  James A. Morrison  <phython@gcc.gnu.org>
        * reload.h: Remove the corresponding prototypes.
 
 2004-11-09  James A. Morrison  <phython@gcc.gnu.org>
-            Eric Botcazou  <ebotcazou@libertysurf.fr>
+           Eric Botcazou  <ebotcazou@libertysurf.fr>
 
        PR target/18230
        * doc/md.texi (SPARC constraints): Document 'Y' constraint.
        when eliminating an UNSPEC_CMPINT.
        (s390_secondary_input_reload_class): Fix test for CC register reload.
        (s390_secondary_output_reload_class): Likewise.
-       (s390_expand_cmpmem): Swap operands.  Use gen_cmpint. 
+       (s390_expand_cmpmem): Swap operands.  Use gen_cmpint.
        * config/s390/s390.md ("*cmpint_si", "*cmpint_di"): Remove.
        ("cmpint", "*cmpint_cc", "*cmpint_sign", "*cmpint_sign_cc"): New
        insn patterns with splitters.
        ("*cmpint_si", "*cmpint_di", "fix_truncdfsi2_ibm", "floatsidf2_ibm",
        "*negdi2_31"):
        Do not set type attribute to "other" where already default.
-       ("movti", "*movdi_64", "*movdi_31", "*movdf_31", 
+       ("movti", "*movdi_64", "*movdi_31", "*movdf_31",
        "*strlendi", "*strlensi",
        "*movmem_long_64", "*movmem_long_31",
        "*clrmem_long_64", "*clrmem_long_31",
        "*cmpmem_long_64", "*cmpmem_long_31",
-       "*cmpint_si", "*cmpint_di", 
-       "addti3", "*adddi3_31z", "*adddi3_31", 
+       "*cmpint_si", "*cmpint_di",
+       "addti3", "*adddi3_31z", "*adddi3_31",
        "subti3", "*subdi3_31z", "*subdi3_31", "*negdi2_31",
        "*sconddi", "*scondsi", "*sconddi_neg", "*scondsi_neg",
        "fix_truncdfsi2_ibm", "floatsidf2_ibm", "extendsfdf2_ibm",
        "*pool_entry", "pool_align", "pool_section_start",
        "pool_section_end", "main_pool", "reload_base_31", "pool"):
        Do not set op_type attribute to "NN" where already default.
-       ("*extractqi", "*extracthi", "*zero_extendhisi2_31", 
+       ("*extractqi", "*extracthi", "*zero_extendhisi2_31",
        "*zero_extendqisi2_31", "*zero_extendqihi2_31",
-       "fix_truncdfsi2_ibm", "floatsidf2_ibm"): 
+       "fix_truncdfsi2_ibm", "floatsidf2_ibm"):
        Do not set atype attribute to "agen" where already default.
        ("*movmem_short", "*clrmem_short", "*cmpmem_short"): Don't set op_type.
 
        ("floatsisf2", "floatsisf2_ieee"): Likewise.
        ("truncdfsf2", "truncdfsf2_ieee"): Only allow "register_operand".
        ("truncdfsf2_ibm"): Only allow "nonimmediate_operand".  Use LER
-       instead of LRER. 
+       instead of LRER.
        ("extendsfdf2_ibm"): Do not set atype.  Set type to "floads".
        ("sqrtdf2"): Set type to "fsqrtd".
        ("sqrtsf2"): Set type to "fsqrts".
 
        * config/arm/arm.c (arm_handle_notshared_attribute): New function.
        * doc/extend.texi: Document "notshared" attribute.
-       
+
 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
 
        * tree-phinodes.c (make_phi_node): Make it static.
 
 2004-11-04  Andrew Pinski  <pinskia@physics.uc.edu>
 
-       * flow.c (init_propagate_block_info): Change the type of i to 
+       * flow.c (init_propagate_block_info): Change the type of i to
        unsigned.
 
 2004-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
        Also update DR_MISALIGNMENT due to peeling; this functionality used to
        be in vect_update_inits_of_drs and vect_do_peeling_for_alignment).
        (vect_analyze_data_refs_alignment): Decision on whether and by how much
-       to peel moved to vect_enhance_data_refs_alignment. Call 
+       to peel moved to vect_enhance_data_refs_alignment. Call
        vect_supportable_dr_alignment.
 
        (vect_compute_data_ref_alignment): Set STMT_VINFO_VECTYPE.
        (vect_compute_data_refs_alignment): Return bool. Consider return value
        of vect_compute_data_ref_alignment and return true/false accordingly.
-       (vect_enhance_data_refs_alignment): Consider return value of 
+       (vect_enhance_data_refs_alignment): Consider return value of
        vect_compute_data_refs_alignment and return true/false accordingly.
 
        (vect_supportable_dr_alignment): New function.
        * rtlanal.c (canonicalize_condition, get_condition): ...here.
        * sched-deps.c (get_condition): Rename to sched_get_condition.
        (add_dependence): Update this caller.
+
 2004-11-02  Andrew Pinski  <pinskia@physics.uc.edu>
 
        PR tree-opt/16808
 
 2004-11-02  Ben Elliston  <bje@au.ibm.com>
 
-       * timevar.h (timevar_get): Remove. 
+       * timevar.h (timevar_get): Remove.
        * timevar.c (timevar_get): Remove unused function.
 
 2004-11-02  Joseph S. Myers  <joseph@codesourcery.com>
 2004-11-01  Andrew MacLeod  <amacleod@redhat.com>
 
        PR tree-optimization/16447
-       * tree-cfg.c (bsi_commit_one_edge_insert): Rename from 
+       * tree-cfg.c (bsi_commit_one_edge_insert): Rename from
        bsi_commit_edge_inserts_1, and make funtion external.  Return new block.
        (bsi_commit_edge_inserts): Use renamed bsi_commit_one_edge_insert.
        * tree-optimize.c (pass_cleanup_cfg_post_optimizing): Enable listing.
        (same_stmt_list_p): New.  Return TRUE if edge is to be forwarded.
        (identical_copies_p): New.  Return true is two copies are the same.
        (identical_stmt_lists_p): New.  Return true if stmt lists are the same.
-       (analyze_edges_for_bb): New.  Determine how best to insert edge stmts 
+       (analyze_edges_for_bb): New.  Determine how best to insert edge stmts
        for a basic block.
        (perform_edge_inserts): New.  Determine what to do with all stmts that
        have been inserted on edges.
 
        Fix PR tree-optimization/17672
        Fix PR tree-optimization/18168
-       
+
        * lambda-code.c (lambda_lattice_compute_base): Fix reversed
        assert test.
        (gcc_tree_to_linear_expression): Add extra to existing constant.
        and induction variable creation.
        (lle_to_gcc_expression): Ditto.
        (lambda_loopnest_to_gcc_loopnest): Create new iv with same type as
-       oldiv. Pass type argument to lle_to_gcc_expression and 
+       oldiv. Pass type argument to lle_to_gcc_expression and
        lbv_to_gcc_expression.
        Reset number of iterations after transformation.
        (perfect_nestify): Remove useless pre-allocation, and cleanup
        (build_classic_dir_vector): Ditto.
        (compute_data_dependences_for_loop): Only add dependence relations
        inside the loop we asked about.
-       
+
        * tree-loop-linear.c (linear_transform_loops): Use DDR_SIZE_VECT.
        Compute immediate uses.
-       
+
        * tree-optimize.c: Move linear_transform_loops to before ivcanon.
-       
+
 2004-11-01  Kazu Hirata  <kazu@cs.umass.edu>
 
        * tree-cfg.c (thread_jumps): Fix a comment typo.
 
        config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): When
        adding the PIC register to the fixed_regs array, also add it
-       to the call_used_regs array.  
+       to the call_used_regs array.
 
 2004-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
 
        function to call.
        (rewrite_def_def_chains): Call rewrite_blocks with true here.
        (rewrite_into_ssa): and call it with false here.
-       
+
 2004-10-29  Kazu Hirata  <kazu@cs.umass.edu>
 
        * tree-phinodes.c (add_phi_arg): Turn an "if" that always