+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.
+ Change multi-instruction sequences to new attribute.
+ * config/rs6000/{40x.md,440.md,603.md,6xx.md,
+ 7450.md,7xx.md,8540.md,mpc.md,power4.md,power5.md,
+ rios1.md,rios2.md,rs64.md}: Add descriptions for two and three.
+
+2004-11-10 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-data-ref.c (build_classic_dist_vector): If either loop
+ is outside of the nest we asked about, the dependence can't
+ matter.
+ (build_classic_dir_vector): Ditto.
+
+2004-11-10 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-ssa-loop-ivopts.c (get_address_cost): Add address elements in
+ right order.
+ (force_var_cost): Determine cost of addition and multiplication more
+ precisely.
+ (get_computation_cost_at): Add cost for computing address elements to
+ the final cost.
+
+ * fold-const.c (fold): Attempt to use ptr_difference_const whenever
+ one of the arguments of MINUS_EXPR is an address.
+ (split_address_to_core_and_offset): New function.
+ (ptr_difference_const): Handle case when one of the operands is a
+ pointer.
+ * tree-ssa-loop-ivopts.c (determine_base_object): Fold &*addr.
+ (ptr_difference_cost): Pass addresses instead of objects to
+ ptr_difference_const.
+
+2004-11-10 Nathan Sidwell <nathan@codesourcery.com>
+
+ * tree.c (tree_check_failed): Emit general error if the list of
+ node types is empty.
+
+2004-11-10 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * config/sparc/sparc.c (function_arg_union_value): New 'slotno'
+ argument. When the union is passed in the 6th slot, build a
+ PARALLEL with only one element.
+ (function_arg): Adjust call to function_arg_union_value.
+ (function_value): Likewise.
+
+2004-11-10 Fariborz Jahanian <fjahanian@apple.com>
+
+ PR tree-optimization/17892
+ * tree-ssa-dom.c (unsafe_associative_fp_binop): Add test for
+ MINUS_EXPR operator.
+
+2004-11-10 James A. Morrison <phython@gcc.gnu.org>
+
+ PR target/18230
+ (addsi3, subsi3): Set "fptype" attribute.
+ (addv2si, addv4hi, addv2hi, subv2si, subv4hi, subv2hi): New patterns.
+
+2004-11-10 Steven Bosscher <stevenb@suse.de>
+
+ * basic-block.h (XMALLOC_REG_SET, XFREE_REG_SET): New.
+ (struct basic_block_def): Remove local_set and cond_local_set
+ fields. Update comment for global_live_at_start.
+ * flow.c (calculate_global_regs_live): Allocate local_sets and
+ cond_local_sets here as arrays of bitmaps previously stored in
+ bb->local_set and bb->cond_local_set. Use xmalloc instead of
+ obstack allocated bitmaps.
+
+2004-11-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/18380
+ * config/ia64/unwind-ia64.h (_Unwind_FindTableEntry): Mark it
+ hidden.
+
+ * unwind-dw2.c (_Unwind_FindTableEntry): Removed.
+
+2004-11-09 Jeff Law <law@redhat.com>
+
+ * cfganal.c (flow_dfs_compute_reverse_execute): Accept new
+ argument holding last unvisited block. Start search for
+ unvisited blocks at LAST_UNVISITED rather than EXIT_BLOCK.
+ (connect_infinite_loops_to_exit): Supply last unvisited block
+ to flow_dfs_compute_reverse_execute.
+
+2004-10-22 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.md (fix_truncdfsi2): Handle e500
+ doubles.
+ (floatunssidf2): Same.
+ (floatsidf2): Same.
+ ("extendsfdf2"): New expander.
+ (*extendsfdf2_fpr): Rename.
+ (*truncdfsf2_fpr): Same.
+ (*negdf2_fpr): Same.
+ (*absdf2_fpr): Same.
+ (*nabsdf2_fpr): Same.
+ (*adddf3_fpr): Same.
+ (*subdf3_fpr): Same.
+ (*muldf3_fpr): Same.
+ (*divdf3_fpr): Same.
+
+ * config/rs6000/spe.md ("spe_extendsfdf2"): Remove FIXME comment.
+ ("spe_fix_truncdfsi2"): Same.
+ (spe_floatunssidf2): Same.
+ (spe_floatsidf2): Same.
+
+2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR c/18322
+ * c-common.c (fname_decl): Don't use line number of decl in
+ diagnostic.
+
+2004-11-09 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390-protos.h (s390_pool_operand): Remove.
+ * config/s390/s390.c (s390_pool_operand): Likewise.
+ (s390_extra_constraint_str): Handle 'B' constraints.
+ * config/s390/s390.h (CONSTRAINT_LEN): Handle 'B' constraints.
+ * config/s390/s390.md: Document 'B' constraints.
+ ("*cmpdi_cct", "*cmpsi_cct"): Use 'B' constraint instead of
+ s390_pool_operand to prevent insns with two literal pool
+ references. Make pattern commutative.
+ ("*cmpdi_ccu", "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use
+ 'B' constraint instead of s390_pool_operand.
+
+2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-cfg.c (create_bb): Remove unnecessary memset.
+
+2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-ssa-threadupdate.c (copy_phis_to_block): Remove.
+ (thread_block): Call flush_pending_stmt instead of
+ copy_phis_to_block.
+
+2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
+
+ * loop-iv.c (iv_number_of_iterations): Make it static.
+ * cfgloop.h: Remove the corresponding prototype.
+
+2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
+
+ * function.c (combine_temp_slots, assign_parms,
+ expand_pending_sizes): Make them static.
+ * tree.h: Remove the corresponding prototypes.
+
+2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
+
+ * emit-rtl.c (copy_most_rtx): Remove.
+ * rtl.h: Remove the corresponding prototype.
+
+2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
+
+ * cfgloop.c (flow_loops_update): Remove.
+ * cfgloop.h: Remove the corresponding prototype.
+
+2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
+
+ * conflict.c (mark_reg, conflict_graph_compute): Remove.
+ * basic-block.h: Remove the prototype for
+ conflict_graph_compute.
+
2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
* tree-if-conv.c (add_to_dst_predicate_list): Change the
* 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