1 2004-11-05 James E Wilson <wilson@specifixinc.com>
3 * config/ia64/ia64.c (rtx_needs_barrier, case UNSPEC_GR_SPILL): Change
6 2004-11-05 Andreas Krebbel <krebbel1@de.ibm.com>
8 * config/s390/s390.c (s390_fixed_condition_code_regs): New function.
9 (TARGET_FIXED_CONDITION_CODE_REGS): Macro defined.
11 2004-11-05 Nathan Sidwell <nathan@codesourcery.com>
13 * bitmap.h (enum bitmap_bits): Remove.
14 (bitmap_operation): Remove.
15 (bitmap_and, bitmap_and_into, bitmap_and_compl,
16 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
17 bitmap_xor_into): Prototype.
18 * bitmap.c (bitmap_elt_insert_after, bitmap_elt_clear_from): New.
19 (bitmap_operation): Remove.
20 (bitmap_and, bitmap_and_into, bitmap_and_compl,
21 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
22 bitmap_xor_into): New.
23 (bitmap_ior_and_compl, bitmap_ior_and_compl_into): Adjust.
25 PR tree-optimization/18307
26 * tree-ssa-alias.c (merge_pointed_to_info): Protected against DEST
27 and ORIG being the same node.
29 2004-11-04 Geoffrey Keating <geoffk@apple.com>
31 * Makefile.in (distclean): Don't delete nonexistent fixinc/ directory.
32 (install-mkheaders): Install the version built for the
33 host, not for the build machine.
34 * configure.ac: Always run fixincludes.
35 (all_outputs): Remove mkheaders.
36 * configure: Regenerate.
37 * fixinc.in: Move to fixincludes/.
38 * mkfixinc.sh: Likewise.
39 * mkheaders.in: Likewise.
40 * README-fixinc: Likewise.
42 2004-11-05 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
45 * config/arc/lib1funcs.asm (___umulsidi3): Change use of cmp to the
48 2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
50 * doc/c-tree.texi, doc/cfg.texi, doc/contrib.texi, doc/cpp.texi,
51 doc/cppopts.texi, doc/extend.texi, doc/fragments.texi,
52 doc/frontends.texi, doc/gcov.texi, doc/hostconfig.texi,
53 doc/implement-c.texi, doc/install.texi, doc/invoke.texi,
54 doc/libgcc.texi, doc/md.texi, doc/passes.texi,
55 doc/portability.texi, doc/rtl.texi, doc/sourcebuild.texi,
56 doc/standards.texi, doc/tm.texi, doc/tree-ssa.texi,
57 doc/trouble.texi: Correct end-of-sentence markup and markup of
58 "etc.", "e.g." and "i.e.". Use @code in various places where
61 2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
63 * doc/c-tree.texi, doc/cfg.texi, doc/extend.texi, doc/gty.texi,
64 doc/install.texi, doc/invoke.texi, doc/md.texi, doc/passes.texi,
65 doc/rtl.texi, doc/tm.texi, doc/tree-ssa.texi: Remove trailing
68 2004-11-04 Mark Mitchell <mark@codesourcery.com>
70 * config/arm/arm.c (arm_handle_notshared_attribute): New function.
71 * doc/extend.texi: Document "notshared" attribute.
73 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
75 * tree-phinodes.c (make_phi_node): Make it static.
76 * tree.h: Remove the prototypes for make_phi_node.
78 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
80 * stmt.c (expand_asm, expand_asm_operands): Make them static.
81 * tree.h: Remove the prototypes for expand_asm and
84 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
86 * passes.c (rest_of_compilation): Make it static.
87 * toplev.h: Remove the prototype for rest_of_compilation.
89 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
91 * jump.c (cleanup_barriers): Use delete_insn instead of
93 (delete_barrier): Remove.
94 * rtl.h: Remove the corresponding prototype.
96 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
98 * expr.c (mostly_zero_p): Make it static.
99 * tree.h: Remove the prototype for mostly_zeros_p.
101 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
103 * cfgrtl.c (force_nonfallthru_and_redirect): Make it static.
105 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
107 * builtins.c (expand_builtin_return_addr,
108 expand_builtin_longjmp, expand_builtin_trap): Make them static.
109 * expr.h: Remove the prototypes for expand_builtin_longjmp and
111 * tree.h: Remove the prototype for expand_builtin_return_addr.
113 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
115 * tree-cfg.c (find_taken_edge): Reject VAL begin NULL.
116 * tree-ssa-ccp.c (visit_cond_stmt): Don't call find_taken_edge
119 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
121 * cfghooks.c (delete_basic_block): Remove code to truncate
124 2004-11-04 Andrew Pinski <pinskia@physics.uc.edu>
126 * flow.c (init_propagate_block_info): Change the type of i to
129 2004-11-04 Ulrich Weigand <uweigand@de.ibm.com>
131 PR tree-optimization/18184
132 * c-typeck.c (comptypes): Do not treat pointers of different
133 modes or alias-all flags as equivalent.
134 * tree-ssa.c (tree_ssa_useless_type_conversion_1): Likewise.
136 2004-11-04 Joseph S. Myers <joseph@codesourcery.com>
138 * doc/gty.texi, doc/makefile.texi, doc/sourcebuild.texi: Don't
139 reference specific C parser files in examples.
141 2004-11-04 Richard Sandiford <rsandifo@redhat.com>
144 * regrename.c (scan_rtx): Treat the destinations of SETs and CLOBBERs
145 as OP_INOUT if the instruction is predicated.
147 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
149 * bitmap.h: Fix a comment typo. Follow spelling conventions.
150 * tree-vectorizer.c: Fix a comment typo.
152 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
154 * sdbout.c (SDB_GENERATE_FAKE): Remove.
155 (gen_fake_label): Don't use SDB_GENERATE_FAKE.
156 * system.h: Poison SDB_GENERATE_FAKE.
157 * doc/tm.texi (SDB_GENERATE_FAKE): Remove.
159 2004-11-04 Ulrich Weigand <uweigand@de.ibm.com>
161 * config/s390/s390.md ("*addsi3_sign"): Use canonical RTL.
163 2004-11-04 Eric Botcazou <ebotcazou@libertysurf.fr>
166 * gthr-posix.h (__gthread_recursive_mutex_init_function): Revert
169 2004-11-04 Nathan Sidwell <nathan@codesourcery.com>
171 * predict.c (propagate_freq): Make bitno unsigned. Move
172 npredecessors update out of loop.
174 * bitmap.h (bitmap_iterator): Remove word_bit and bit
175 fields. Rename others.
176 (bmp_iter_common_next_1, bmp_iter_single_next_1,
177 bmp_iter_single_init, bmp_iter_end_p, bmp_iter_single_next,
178 bmp_iter_and_not_next_1, bmp_iter_and_not_init,
179 bmp_iter_and_not_next, bmp_iter_and_next_1, bmp_iter_and_init,
180 bmp_iter_and_next): Remove.
181 (bmp_iter_set_init, bmp_iter_and_init, bmp_iter_and_compl_init,
182 bmp_iter_next, bmp_iter_set, bmp_iter_and, bmp_iter_and_compl):
184 (EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_AND_IN_BITMAP,
185 EXECUTE_IF_AND_COMPL_IN_BITMAP): Adjust.
187 * bitmap.h (bitmap_a_or_b, bitmap_a_and_b): Remove.
188 * df.c (dataflow_set_a_op_b): Use bitmap_and, bitmap_ior,
189 bitmap_and_into, bitmap_ior_into as appropriate.
190 * except.c (remove_eh_handler): Likewise.
191 * global.c (modify_bb_reg_pav, make_accurate_live_analysis): Likewise.
192 * tree-dfa.c (mark_new_vars_to_rename): Likewise.
193 * tree-ssa-alias.c (merge_pointed_to_info): Likewise.
194 * tree-ssa-live.h (live_merge_and_clear): Likewise.
195 * tree-ssa-loop-ivopts.c (find_best_candidate, try_add_cand_for):
198 * bitmap.c (bitmap_print): Make bitno unsigned.
199 * bt-load.c (clear_btr_from_live_range,
200 btr_def_live_range): Likewise.
201 * caller-save.c (save_call_clobbered_regs): Likewise.
202 * cfganal.c (compute_dominance_frontiers_1): Likewise.
203 * cfgcleanup.c (thread_jump): Likewise.
204 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
205 * conflict.c (conflict_graph_compute): Likewise.
206 * ddg.c (add_deps_for_use): Likewise.
207 * df.c (df_refs_update): Likewise.
208 * except.c (remove_eh_handler): Likewise.
209 * flow.c (verify_local_live_at_start, update_life_info,
210 initialize_uninitialized_subregs, propagate_one_insn,
211 free_propagate_block_info, propagate_block, find_use_as_address,
212 reg_set_to_hard_reg_set): Likewise.
213 * gcse.c (clear_modify_mem_tables): Likewise.
214 * global.c (global_conflicts, build_insn_chain): Likewise.
215 * ifcvt.c (dead_or_predicable): Likewise.
216 * local-alloc.c (update_equiv_regs): Likewise.
217 * loop.c (load_mems): Likewise.
218 * ra-build.c (livethrough_conflicts_bb, conflicts_between_webs):
220 * ra-rewrite.c (reloads_to_loads, rewrite_program2, actual_spill):
222 * reload1.c (order_regs_for_reload, finish_spills): Likewise.
223 * sched-deps.c (sched_analyze_insn, free_deps): Likewise.
224 * sched-rgn.c (propagate_deps
225 * tree-cfg.c (tree_purge_all_dead_eh_edges): Likewise.
226 * tree-dfa.c (dump_dfa_stats
227 tree-into-ssa.c (compute_global_livein, insert_phi_nodes,
228 insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags):
230 * tree-outof-ssa.c (coalesce_ssa_name, coalesce_vars,
231 free_temp_expr_table, find_replaceable_exprs): Likewise.
232 * tree-sra.c (scan_function, scalarize_parms): Likewise.
233 * tree-ssa-alias.c (init_alias_info,
234 compute_points_to_and_addr_escape,
235 compute_flow_sensitive_aliasing, maybe_create_global_var): Likewise.
236 * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Likewise.
237 * tree-ssa-live.c (new_tree_live_info, live_worklist,
238 calculate_live_on_entry, calculate_live_on_exit, compare_pairs,
239 sort_coalesce_list, build_tree_conflict_graph, dump_live_info
240 tree-ssa-loop-manip.c (add_exit_phis_var): Likewise.
241 tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops,
242 add_call_read_ops): Likewise.
243 * tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Likewise.
244 * tree-ssa-live.h (num_var_partitions): Return unsigned.
246 2004-11-03 Dorit Naishlos <dorit@il.ibm.com>
248 PR tree-optimization/18009
249 * tree-vectorizer.h (enum dr_alignment_support): New type.
250 (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): Removed.
251 (LOOP_UNALIGNED_DR): replaced with LOOP_VINFO_UNALIGNED_DR and holds a
252 single data_reference (instead of a varray of references).
253 * tree-vectorizer.c (new_loop_vec_info): Likewise.
254 (vect_gen_niters_for_prolog_loop): Likewise.
255 (vect_update_inits_of_drs): Likewise.
257 (vect_update_inits_of_drs): Setting of DR_MISALIGNMENT moved to
258 vect_enhance_data_refs_alignment.
259 (vect_do_peeling_for_alignment): Likewise.
260 (vect_enhance_data_refs_alignment): Decide if and by how much to peel;
261 this functionality used to be in vect_analyze_data_refs_alignment.
262 Also update DR_MISALIGNMENT due to peeling; this functionality used to
263 be in vect_update_inits_of_drs and vect_do_peeling_for_alignment).
264 (vect_analyze_data_refs_alignment): Decision on whether and by how much
265 to peel moved to vect_enhance_data_refs_alignment. Call
266 vect_supportable_dr_alignment.
268 (vect_compute_data_ref_alignment): Set STMT_VINFO_VECTYPE.
269 (vect_compute_data_refs_alignment): Return bool. Consider return value
270 of vect_compute_data_ref_alignment and return true/false accordingly.
271 (vect_enhance_data_refs_alignment): Consider return value of
272 vect_compute_data_refs_alignment and return true/false accordingly.
274 (vect_supportable_dr_alignment): New function.
275 (vectorizable_store): Call vect_supportable_dr_alignment.
276 (vectorizable_load): Call vect_supportable_dr_alignment. Alignment
277 support checks moved from here to vect_supportable_dr_alignment.
279 (vect_transform_loop): Avoid 80 columns overflow.
281 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
283 * timevar.c (timevar_enable): Change from
285 (timevar_push): Rename to ...
286 (timevar_push_1): this and remove the
288 (timevar_pop): Rename to ...
289 (timevar_pop_1): this and remove the
291 * timevar.h (POP_TIMEVAR_AND_RETURN): Use do/while loops.
292 (timevar_pop): New macro.
293 (timevar_push): New macro.
294 (timevar_enable): Declare.
296 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
298 * config/darwin.h (REAL_LIBGCC_SPEC): Define to use shared
299 libgcc for shared libraries.
301 2004-11-03 Ulrich Weigand <uweigand@de.ibm.com>
303 * config/s390/s390-protos.h (s390_split_access_reg): Add prototype.
304 * config/s390/s390.c (s390_split_access_reg): New function.
305 (regclass_map): Add access registers.
306 (get_thread_pointer): Use access register instead of UNSPEC_TP.
307 * config/s390/s390.h (FIRST_PSEUDO_REGISTER): Set to 38.
308 (ACCESS_REGNO_P, ACCESS_REG_P): New macros.
309 (TP_REGNUM): New define.
310 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
311 REG_ALLOC_ORDER): Add access registers.
312 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS,
313 CANNOT_CHANGE_MODE_CLASS): Support access registers.
314 (enum reg_class): Add ACCESS_REGS.
315 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise.
316 (REG_CLASS_FROM_LETTER): Add 't' constraint.
317 (REGISTER_NAMES): Add access registers.
318 * config/s390/s390.md (UNSPEC_TP): Remove.
319 ("*movdi_64"): Add access register alternatives. Provide splitters
320 to split DImode access register <-> GPR moves into SImode moves.
321 ("*movsi_zarch", "*movsi_esa"): Add access register alternatives.
322 ("movstrictsi"): Likewise.
323 ("get_tp_64", "get_tp_31"): Reimplement using access registers.
324 ("set_tp_64", "set_tp_31"): Likewise.
325 ("*set_tp"): New insn.
327 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
329 * tree-phinodes.c (resize_phi_node): Copy only a portion of
330 the PHI node currently in use.
332 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
335 * tree.c (staticp) <case FUNCTION_DECL>: Nested functions are static
338 2004-11-03 Andrew MacLeod <amacleod@redhat.com>
340 PR tree-optimization/18270
341 * tree-outof-ssa.c (analyze_edges_for_bb): If a block has incoming
342 abnormal edges, commit all pending stmts on incoming edges.
344 2004-11-03 Ulrich Weigand <uweigand@de.ibm.com>
346 * tree-ssa-loop-ivopts.c (get_address_cost): Offset zero does not
347 cause extra costs. Generate canonical RTL.
349 2004-11-02 Daniel Berlin <dberlin@dberlin.org>
351 * lambda-code.c (lambda_compute_auxillary_space): Update comments.
352 (lambda_compute_target_space). Ditto.
353 * lambda.h (lambda_trans_matrix): Ditto.
354 (lambda_linear_expression): Ditto.
355 (lambda_body_vector): Ditto.
356 (lambda_loopnest): Ditto.
357 * tree-loop-linear.c (gather_interchange_stats): Combine tests,
358 update comments, and remove pointless addition of 0.
359 (linear_transform_loops): Update comments.
361 2004-11-03 Sebastian Pop <pop@cri.ensmp.fr>
363 * tree.c (tree_fold_gcd): Use FLOOR_MOD_EXPR instead of
366 2004-11-03 Jeff Law <law@redhat.com>
368 * predict.c (struct block_info_def): Kill "tovisit" field.
369 (propagate_freq): Accept new "tovisit" parameter. Change
370 read/write access methods for "tovisit" to check the "tovisit"
371 bitmap instead of a bit in block_info_def.
372 (estimate_loops_at_level): Allocate "tovisit" bitmap. Pass
373 it to propagate_freq.
375 * stmt.c (expand_case): Speed up code to detect duplicate case
376 label targets and count unique case label targets.
378 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
380 * cppdefault.c, cppdefault.h, timevar.h: Update copyright.
382 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
384 * bitmap.h, dbxout.c, tree-mudflap.c: Fix comment formatting.
386 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
388 * tree-cfg.c (find_taken_edge): Abort if we are given a
389 statement that is neither COND_EXPR nor SWITCH_EXPR.
391 2004-11-02 Zdenek Dvorak <dvorakz@suse.cz>
393 * fold-const.c (fold): Reassociate also (x - mult) + mult and
394 (mult - x) + mult. Cast operands of expression after applying
395 distributive law to the correct types. Apply distributive law
396 to a * c - b * c for all non-float types.
398 2004-11-02 Geoffrey Keating <geoffk@apple.com>
400 * configure.ac: Don't clear STMP_FIXINC or STMP_FIXPROTO just
401 because we don't want to run them now; instead, set them to
402 stmp-install-fixproto or stmp-install-fixinc.
403 * Makefile.in (stmp-install-fixproto): New.
404 (stmp-install-fixinc): New.
405 * configure: Regenerate.
407 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
409 * flow.c (init_propagate_block_info): Use bitmap_empty_p on result
412 2004-11-02 Ziemowit Laski <zlaski@apple.com>
414 * c-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.
415 (c_types_compatible_p): Move function definition...
416 * c-objc-common.c (c_types_compatible_p): ...here.
417 * c-objc-common.h (LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from
420 2004-11-02 Steven Bosscher <stevenb@suse.de>
422 * cfgloop.h (struct loop): Update comment.
423 * cse.c (cse_main): Remove obsolete comment.
425 * expr.h (gen_cond_trap): Move prototype under functions provided
427 (canonicalize_condition, get_condition): Move to...
428 * rtl.h (canonicalize_condition, get_condition): ...here.
429 (branch_target_load_optimize): Add comment that this function is
431 * loop.c (canonicalize_condition, get_condition): Move to...
432 * rtlanal.c (canonicalize_condition, get_condition): ...here.
433 * sched-deps.c (get_condition): Rename to sched_get_condition.
434 (add_dependence): Update this caller.
436 2004-11-02 Andrew Pinski <pinskia@physics.uc.edu>
439 * tree-ssa.c (replace_immediate_uses): If we call fold_stmt, make sure
440 that the vops get marked for renaming.
442 2004-11-02 Andreas Krebbel <krebbel1@de.ibm.com>
444 * config/s390/s390.md ("movcc"): Set type attribute.
446 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
448 * tree-phinodes.c (add_phi_arg): Add an assertion that the
451 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
453 * tree-phinodes.c (remove_phi_arg_num): Do not zero the
454 element that's being removed.
456 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
458 * tree-ssa-threadupdate.c (copy_phis_to_block): Install PHI
459 arguments using PENDING_STMT.
460 (thread_block): Call copy_phis_to_block after redirecting an
463 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
465 * bitmap.h (bitmap_and, bitmap_and_into, bitmap_and_compl,
466 bitmap_and_compl_into, bitmap_ior, bitmap_iot_into,
467 bitmap_ior_compl, bitmap_xor, bitmap_xor_into): Produce void.
468 (bitmap_ior_and_compl_into): Produce bool.
469 (bitmap_union_of_diff): Rename to ...
470 (bitmap_ior_and_compl): ... here. Produce bool.
471 * bitmap.c (bitmap_ior_and_compl_into): Return bool. Use
472 bitmap_operation directly.
473 (bitmap_union_of_diff): Rename to ...
474 (bitmap_ior_and_compl): ... here. Return bool, use
475 bitmap_operation directly.
476 * df.c (df_rd_transfer_function): Use bitmap_ior_and_compl.
477 (df_ru_transfer_function, df_lr_transfer_function): Likewise.
478 * global.c (modify_bb_reg_pav): Likewise.
480 * bitmap.h (bitmap_equal_p): Return bool.
481 (bitmap_intersect_p, bitmap_intersect_compl_p): Declare.
482 * bitmap.c (bitmap_equal_p): Return bool. Compare directly.
483 (bitmap_intersect_p, bitmap_intersect_compl_p): New.
484 * flow.c (calculate_global_regs_live): Use bitmap_intersect_p and
485 bitmap_intersect_compl_p.
486 * ifcvt (dead_or_predicable): Likewise.
488 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
490 PR rtl-optimization/17104
491 * config/rs6000/rs6000.c (rs6000_emit_move): Don't wrap small
492 loads in zero_extend.
494 2004-11-02 Danny Smith <dannysmith@users.sourceforge.net>
497 * toplev.c (debug_type_names): Remove "dwarf-1".
499 2004-11-02 Ben Elliston <bje@au.ibm.com>
501 * timevar.h (timevar_get): Remove.
502 * timevar.c (timevar_get): Remove unused function.
504 2004-11-02 Joseph S. Myers <joseph@codesourcery.com>
506 * doc/include/texinfo.tex: Update from Texinfo CVS.
508 2004-11-02 Ben Elliston <bje@au.ibm.com>
510 * cppdefault.h (cpp_SYSROOT): Remove.
511 * cppdefault.c (cpp_SYSROOT): Likewise.
513 2004-11-01 Andrew MacLeod <amacleod@redhat.com>
515 PR tree-optimization/16447
516 * tree-cfg.c (bsi_commit_one_edge_insert): Rename from
517 bsi_commit_edge_inserts_1, and make funtion external. Return new block.
518 (bsi_commit_edge_inserts): Use renamed bsi_commit_one_edge_insert.
519 * tree-optimize.c (pass_cleanup_cfg_post_optimizing): Enable listing.
520 * tree-flow.h (bsi_commit_one_edge_insert): Extern decl.
521 * tree-outof-ssa.c (rewrite_trees): Don't commit edges here.
522 (same_stmt_list_p): New. Return TRUE if edge is to be forwarded.
523 (identical_copies_p): New. Return true is two copies are the same.
524 (identical_stmt_lists_p): New. Return true if stmt lists are the same.
525 (analyze_edges_for_bb): New. Determine how best to insert edge stmts
527 (perform_edge_inserts): New. Determine what to do with all stmts that
528 have been inserted on edges.
529 (remove_ssa_form): Analyze and commit edges from here.
531 2004-11-01 Andrew Pinski <pinskia@physics.uc.edu>
534 * bitmap.h (bmp_iter_end_p): Take a const pointer instead of a struct.
535 (EXECUTE_IF_SET_IN_BITMAP): Update call to bmp_iter_end_p.
536 (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
537 (EXECUTE_IF_AND_IN_BITMAP): Likewise.
539 2004-11-01 Joseph S. Myers <joseph@codesourcery.com>
542 * c-decl.c (get_parm_info): Allow FUNCTION_DECLs to appear amongst
543 parameter declarations.
545 2004-11-01 Andreas Krebbel <krebbel1@de.ibm.com>
547 * config/s390/s390.c (regclass_map): Put reg 33 (cc) to CC_REGS group.
548 (s390_secondary_input_reload_class)
549 (s390_secondary_output_reload_class): Use GENERAL_REGS to reload a cc
551 (s390_expand_cmpmem): Enable cmpmem implementation.
552 * config/s390/s390.h (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
553 Added three new classes: CC_REGS, ADDR_CC_REGS, GENERAL_CC_REGS.
554 (REG_CLASS_FROM_LETTER): New constraint 'c' added.
555 * config/s390/s390.md ("movcc"): New insn pattern.
556 * doc/md.texi: Document 'c' constraint for s390.
558 2004-11-01 Nathan Sidwell <nathan@codesourcery.com>
561 * doc/extend.texi (Deprecated Features): Deprecate G++ covariant
564 2004-10-16 Daniel Berlin <dberlin@dberlin.org>
566 Fix PR tree-optimization/17672
567 Fix PR tree-optimization/18168
569 * lambda-code.c (lambda_lattice_compute_base): Fix reversed
571 (gcc_tree_to_linear_expression): Add extra to existing constant.
572 (depth_of_nest): Factor out function used in various places.
573 (gcc_loop_to_lambda_loop): Clean up code a little bit. No
575 (find_induction_var_from_exit_cond): Stop guessing, and just
576 get the right answer :).
577 (gcc_loopnest_to_lambda_loopnest): Remove useless pre-allocation.
578 Print out message about result of attempt to create perfect nest.
579 (lbv_to_gcc_expression): Add type argument, use it to do math
580 and induction variable creation.
581 (lle_to_gcc_expression): Ditto.
582 (lambda_loopnest_to_gcc_loopnest): Create new iv with same type as
583 oldiv. Pass type argument to lle_to_gcc_expression and
584 lbv_to_gcc_expression.
585 Reset number of iterations after transformation.
586 (perfect_nestify): Remove useless pre-allocation, and cleanup
589 * tree-data-ref.c (build_classic_dist_vector): Return false for
590 dependences completely outside of the loop nest we asked about.
591 (build_classic_dir_vector): Ditto.
592 (compute_data_dependences_for_loop): Only add dependence relations
593 inside the loop we asked about.
595 * tree-loop-linear.c (linear_transform_loops): Use DDR_SIZE_VECT.
596 Compute immediate uses.
598 * tree-optimize.c: Move linear_transform_loops to before ivcanon.
600 2004-11-01 Kazu Hirata <kazu@cs.umass.edu>
602 * tree-cfg.c (thread_jumps): Fix a comment typo.
604 2004-11-01 Kazu Hirata <kazu@cs.umass.edu>
606 * tree-cfg.c (thread_jumps): Fix a comment typo.
608 2004-10-31 Nicolas Pitre <nico@cam.org>
610 * config/arm/ieee754-sf.S (floatdisf): Fix regression with
611 values smaller than 2^32.
613 2004-10-31 Jeff Law <law@redhat.com>
615 * cfgloop.h (struct loop): Remove unused "nodes" field.
616 * timevar.def (TV_TREE_LOOP_BOUNDS): New.
617 * tree-data-ref.c (find_data_references_in_loop): Use get_loop_body
618 instead of calling flow_bb_inside_loop_p for every basic block
620 * tree-ssa-loop.c (pass_record_bounds): Use TV_TREE_LOOP_BOUNDS.
622 2004-10-31 Graham Stott <graham.stott@btinternet.com>
624 * config/pa/pa.md: (prefetch_64, prefetch_32): Fix typo. Use
625 INT_5_BITS instead of VAL_5_BITS_P.
627 2004-10-31 Roger Sayle <roger@eyesopen.com>
630 * tree-inline.c (inline_forbidden_p_1): Use %qF instead of '%F'
631 for consistent quoting in diagnostic messages.
632 (expand_call_inline): Likewise.
633 * tree-optimize.c (tree_rest_of_compilation): Likewise.
634 * tree-ssa.c (warn_uninitialized_var): Likewise.
635 (warn_uninitialized_phi): Likewise.
637 2004-10-31 Richard Sandiford <rsandifo@redhat.com>
639 * config/mips/mips.c (mips_cannot_change_mode_class): Use a stricter
642 2004-10-31 Kazu Hirata <kazu@cs.umass.edu>
644 * c-common.c: Fix a comment typo.
646 2004-10-31 Jason Merrill <jason@redhat.com>
649 * tree-gimple.c (is_gimple_mem_rhs): Also require a val for
650 aggregate types that are not BLKmode.
652 2004-10-30 Ziemowit Laski <zlaski@apple.com>
654 * c-common.h (objc_lookup_ivar): Add second parameter to
656 * c-typeck.c (build_external_ref): After looking up symbol,
657 pass it to objc_lookup_ivar() to decide whether it or the
658 ivar should be used, rather than deciding the issue locally.
659 * stub-objc.c (objc_lookup_ivar): Add an OTHER parameter,
660 which is simply returned in the non-ObjC case.
662 2004-10-30 Danny Smith <dannysmith@users.sourceforge.net>
664 * sdbout.c (sdbout_symbol): Do not output type .def statements
667 2004-10-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
669 * c-common.c (catenate_strings): New.
670 (c_parse_error): Use it. Don't over-escape.
672 2004-10-30 Kaz Kojima <kkojima@gcc.gnu.org>
674 * config/sh/sh.c (calc_live_regs): Declare reg as unsigned and
675 modify the for loop expressions for it. Remove unnecessary casts.
676 (sh_expand_prologue): Declare reg as unsigned.
677 (sh_gimplify_va_arg_expr): Initinalize lab_over.
678 (sh_handle_sp_switch_attribute): Add const qualifier appropriately.
680 2004-10-30 Geoffrey Keating <geoffk@apple.com>
682 * doc/invoke.texi (Darwin Options): Improve description of
683 how the subtype is chosen.
685 2004-10-30 Roger Sayle <roger@eyesopen.com>
688 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Check that
689 the stack adjustment, "size", is valid for Pmode. If the stack
690 frame is too large, generate a trap insn and issue a warning.
692 2004-10-30 Kazu Hirata <kazu@cs.umass.edu>
694 * tree-ssa-dom.c: Fix comment typos.
696 2004-10-30 Kaz Kojima <kkojima@gcc.gnu.org>
698 * config/sh/sh.c (prepare_move_operands): Use operands[0]
699 for the output rtl if no_new_pseudos is set. Remove redundant
702 2004-10-30 Joseph S. Myers <joseph@codesourcery.com>
705 * c-decl.c (start_function): Don't check for DECL_BUILT_IN when
706 determining whether to copy parameter types from a previous
707 prototype declaration.
709 2004-10-29 Roger Sayle <roger@eyesopen.com>
711 PR rtl-optimization/17581
712 * cselib.c (cselib_process_insn): The last instruction of a libcall
713 block, with the REG_RETVAL note, should be considered in the libcall.
714 * gcse.c (do_local_cprop): Allow constants to be propagated outside
716 (adjust_libcall_notes): Use simplify_replace_rtx instead of
717 replace_rtx to avoid creating invalid RTL in REG_RETVAL notes.
719 2004-10-30 Kazu Hirata <kazu@cs.umass.edu>
721 * tree-phinodes.c (create_phi_node): Don't zero PHI_REWRITTEN.
723 2004-10-29 Jeff Law <law@redhat.com>
725 * tree-ssa-dom.c (struct edge_info): New structure holding
726 edge equivalences and edge redirection information.
727 (get_eq_expr_value, record_dominating_conditions): Kill.
728 (propagate_to_outgoing_edges): Renamed from cprop_into_phis.
729 Call record_edge_info.
730 (allocate_edge_info, free_edge_info): New.
731 (tree_ssa_dominator_optimize): Use propagate_to_outgoing_edges
732 rather than cprop_into_phis. Free all edge infos before threading
734 (thread_across_edge): Allocate new edge info structures as needed
735 and store the redirection target into the edge info structure
736 instead of the edge's AUX field.
737 (dom_opt_initialize_block): Mark unused argument with ATTRIBUTE_UNUSED.
738 (record_equivalence_from_incoming_edge): Lose unnecessary argument.
739 Revamp code which finds and records equivalences associated with
740 edges to use saved data in the edge_info structure.
741 (record_equivalencs_from_phis): Similarly.
742 (dom_opt_finalize_block): Revamp code which finds and records
743 equivalences associated with edges to use saved data in the
745 (build_and_record_new_cond): New function.
746 (record_conditions): Use build_and_record_new_cond to record
747 dominating conditions.
748 (record_edge_info): New function.
749 (record_range): Tighten test for conditions which create
750 useful range records.
752 2004-10-29 Geoffrey Keating <geoffk@apple.com>
754 * config/i386/darwin.h (ASM_SPEC): Simplify.
755 (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
756 * config/rs6000/darwin.h (DARWIN_SUBARCH_SPEC): New.
757 (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
758 * config/darwin.h (LINK_COMMAND_SPEC): Don't pass -arch here.
759 (LINK_SPEC): Do pass -arch here. Handle -force_cpusubtype_ALL
760 in all cases. Pass the right -arch or -arch_only based on -mcpu.
761 (ASM_SPEC): Handle -force_cpusubtype_ALL.
762 * doc/invoke.texi (Darwin Options): Improve documentation for
763 Darwin linker (and libtool) switches.
765 * config/rs6000/darwin-fallback.c: Include <mach/thread_status.h>.
767 2004-10-29 Stan Shebs <shebs@apple.com>
769 * config/rs6000/darwin-tramp.asm: Make more 64-bit-friendly.
771 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
773 * tree-phinodes.c (allocate_phi_node): New.
774 (make_phi_node, resize_phi_node): Use it.
776 2004-10-29 David Edelsohn <edelsohn@gnu.org>
778 * config/rs6000/sysv4.h (TARGET_POWER): Define as 0.
779 * config/rs6000/darwin.h (TARGET_POWER): Define as 0.
781 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
783 * tree-phinodes.c (make_phi_node, resize_phi_node): Don't zero
785 * tree.h (tree_phi_node): Tell the garbage collector to chase
788 2004-10-29 Richard Earnshaw <rearnsha@arm.com>
790 * opts.c (decode_options): Lower the crossjump threshold for -Os.
792 2004-10-29 Diego Novillo <dnovillo@redhat.com>
794 * tree.h (struct tree_ssa_name): Remove field 'equiv'.
796 2004-10-28 Nathan Sidwell <nathan@codesourcery.com>
798 * bitmap.h (bitmap_empty_p): New.
799 (bitmap_and, bitmap_and_into, bitmap_and_compl,
800 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into,
801 bitmap_ior_compl, bitmap_xor, bitmap_xor_into): New bitmap
803 (bitmap_ior_and_compl): Rename to ...
804 (bitmap_ior_and_compl_into): ... here.
805 * bitmap.c (bitmap_equal_p): Use bitmap_xor.
806 (bitmap_ior_and_compl): Rename to ...
807 (bitmap_ior_and_compl_into): ... here. Adjust. Return changed
809 (bitmap_union_of_diff): Use renamed bitmap functions.
810 * basic-block.h (AND_REG_SET, AND_COMPL_REG_SET, IOR_REG_SET,
811 XOR_REG_SET, IOR_AND_COMPL_REG_SET): Likewise.
812 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
813 * df.c (df_bb_rd_local_compute)
814 * flow.c (calculate_global_regs_live,
815 init_propagate_block_info): Likewise.
816 * ifcvt.c (find_if_case_1, find_if_case_2,
817 dead_or_predicable): Likewise.
818 * ra-build.c (union_web_part_roots, livethrough_conflicts_bb,
819 reset_conflicts, conflicts_between_webs): Likewise.
820 * ra-rewrite.c (reloads_to_loads, rewrite_program2,
821 detect_web_parts_to_rebuild): Likewise.
822 * sched-ebb.c (compute_jump_reg_dependencies): Likewise.
823 * tree-int-ssa.c (insert_phi_nodes_for, rewrite_into_ssa): Likewise.
824 * tree-sra.c (decide_instantiations): Likewise.
825 * tree-ssa-alias.c (create_name_tags,
826 merge_pointed_to_info): Likewise.
827 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
828 * tree-ssa-loop-im.c (move_computations): Likewise.
829 * tree-ssa-operands.c (get_call_expr_operands): Likewise.
830 * tree-ssa-pre.c (fini_pre): Likewise.
831 * tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
832 * tree-ssanames.c (any_marked_for_rewrite_p): Likewise.
833 * tree-vectorizer.c (vectorize_loops): Likewise.
835 2004-10-29 Nick Clifton <nickc@redhat.com>
837 config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): When
838 adding the PIC register to the fixed_regs array, also add it
839 to the call_used_regs array.
841 2004-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
843 * gthr-posix.h (__gthread_recursive_mutex_init_function): Guard
844 with #ifdef PTHREAD_MUTEX_RECURSIVE/#endif pairs.
846 2004-10-28 Daniel Berlin <dberlin@dberlin.org>
848 * tree-into-ssa.c (rewrite_virtual_phi_arguments): New function.
849 (rewrite_blocks): Modify argument, and use it to decide which
851 (rewrite_def_def_chains): Call rewrite_blocks with true here.
852 (rewrite_into_ssa): and call it with false here.
854 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
856 * tree-phinodes.c (add_phi_arg): Turn an "if" that always
857 triggers into gcc_assert.
859 2004-10-28 Diego Novillo <dnovillo@redhat.com>
861 PR tree-optimization/16728
862 * tree-flow.h (get_ptr_info): Declare.
863 * tree-ssa-alias.c (get_ptr_info): Make extern.
864 * tree-ssa-copy.c (merge_alias_info): Merge flow-sensitive
867 2004-10-28 Stan Shebs <shebs@apple.com>
869 * config/rs6000/darwin.h (SUBTARGET_EXTRA_SPECS): Handle -m64.
870 * config/rs6000/rs6000.c (rs6000_darwin_file_start): Add ppc64
873 2004-10-28 Frank Ch. Eigler <fche@redhat.com>
875 * tree-mudflap.c (mudflap_init): Mark cache-lookup decls to
876 prevent their later unnecessary registration.
877 (mf_build_check_statement_for): Remove "addr" argument, and
878 related "__mf_value" generated code. Update callers.
879 (mf_decl_eligible_p): New function, factored from mx_register_decls.
880 (mx_register_decls): Call it.
881 (mf_xform_derefs_1): Rewrite COMPONENT_REF and ARRAY_REF cases
882 to restore support for complex nested expressions.
883 (mudflap_enqueue_decl): Simplify. Move registration call emission
885 (mudflap_finish_file): ... to here.
886 (mudflap_enqueue_constant): Remove dump code.
888 2004-10-28 Zack Weinberg <zack@codesourcery.com>
891 * dbxout.c (dbxout_begin_complex_stabs_noforcetext): New function.
892 (DBX_FINISH_STABS): Add (unused by default) SYM parameter.
893 (dbxout_finish_complex_stabs): Update to match.
894 (dbxout_symbol_location): Call emit_pending_bincls_if_required
895 and FORCE_TEXT before DBX_STATIC_BLOCK_START. Use
896 dbxout_begin_complex_stabs_noforcetext.
897 * xcoffout.h (DBX_FINISH_STABS): Restore special case for
898 N_GSYM, using new SYM parameter. Correct logic for special
901 * varasm.c (function_section): If DECL is NULL_TREE, don't try
902 to do anything else. Do not call get_insns if cfun or
905 2004-10-28 Adam Nemet <anemet@lnxw.com>
908 * c-typeck.c (c_mark_addressable): Issue error if address of a
909 register variable is taken. Use "%qD" to print DECL_NAME.
911 2004-10-28 Diego Novillo <dnovillo@redhat.com>
913 * opts.c (decode_options): Don't run PRE at -Os.
915 2004-10-28 Richard Henderson <rth@redhat.com>
917 * config/alpha/alpha.md (movqicc_internal): Allow exactly one
918 zero in the conditional.
919 (movhicc_internal, movsicc_internal, movdicc_internal): Likewise.
921 2004-10-28 Richard Henderson <rth@redhat.com>
923 * cse.c (memory_extend_rtx): Remove.
924 (cse_main): Don't set it.
925 (cse_insn): Use a local buffer instead.
927 2004-10-28 Andreas Krebbel <krebbel1@de.ibm.com>
929 * profile.c (branch_prob): Call to init_edge_profiler added.
930 * rtl-profile.c (rtl_init_edge_profiler): New function.
931 (rtl_gen_edge_profiler): Replaced call to insert_insn_on_edge with
932 call to safe_insert_insn_on_edge.
933 (rtl_profile_hooks): rtl_init_edge_profiler added.
934 * tree-profile.c (tree_init_edge_profiler): New function.
935 (tree_profile_hooks): tree_init_edge_profiler added.
936 * value-prof.h (profile_hooks) init_edge_profiler prototype added.
938 2004-10-28 Nick Clifton <nickc@redhat.com>
940 * config/iq2000/iq2000.c (iq2000_expand_epilogue): Use
941 emit_jump_insn() to generate the return instruction.
943 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
945 * tree-phinodes.c: Remove trailing whitespace.
947 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
949 * tree-ssa-loop-ivopts.c: Fix a comment typo.
950 * doc/invoke.texi: Fix a typo.
952 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
954 * Makefile.in (OBJS-common): Remove duplicates.
956 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
958 * lambda-code.c (nestify_update_pending_stmts): Remove.
959 (perfect_nestify): Use flush_pending_stmts instead of
960 nestify_update_pending_stmts.
961 * tree-cfg.c (tree_make_forwarder_block): Use
963 * tree-flow.h: Add a prototype for flush_pending_stmts.
964 * tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge):
965 Use flush_pending_stmts.
966 (lv_update_pending_stmts): Remove.
967 (tree_ssa_loop_version): Use flush_pending_stmts instead of
968 lv_update_pending_stmts.
969 * tree-ssa.c (flush_pending_stmts): New.
971 2004-10-28 Ulrich Weigand <uweigand@de.ibm.com>
974 * final.c (alter_subreg): Compute correct offset to use with
975 paradoxical SUBREGs of memory operands.
976 * recog.c (general_operand): Allow paradoxical SUBREGs of
977 memory operands after reload.
978 * simplify-rtx.c (simplify_gen_subreg): Fail if simplify_subreg
979 has failed when passed a hard register.
981 2004-10-28 Aldy Hernandez <aldyh@redhat.com>
983 * function.c (assign_parm_setup_block): Handle parallels correctly.
985 2004-10-28 Kaz Kojima <kkojima@gcc.gnu.org>
987 * final.c (shorten_branches): Initialize flags structure.
989 2004-10-28 Nathan Sidwell <nathan@codesourcery.com>
991 * tree.c (int_cst_node, int_cst_hash_table): New variables.
992 (init_ttree): Initialize them.
993 (int_cst_hash_hash, int_cst_hash_eq): New hashing functions.
994 (build_int_cst_wide): Use hash table for oversized integers.
996 2004-10-28 Nick Clifton <nickc@redhat.com>
998 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Define
1001 2004-10-27 Richard Henderson <rth@redhat.com>
1004 * expr.c (emit_group_load): Don't go force temporary for memory
1006 (emit_group_store): Similarly.
1008 2004-10-27 Andrew Pinski <pinskia@physics.uc.edu>
1011 * common.opt (--param): Fix spelling of parameter.
1013 2004-10-27 Andrew Pinski <pinskia@physics.uc.edu>
1016 * tree-cfg.c (remove_useless_stmts_1) <case SWITCH_EXPR>:
1017 Don't fold statement.
1018 <case ASM_EXPR>: Fold the statement.
1020 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
1022 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
1023 <COND_EXPR>: Use EDGE_COUNT instead of GOTO_DESTINATION.
1025 2004-10-28 Joseph S. Myers <jsm@polyomino.org.uk>
1027 * doc/contrib.texi, doc/cpp.texi, doc/cppopts.texi,
1028 doc/extend.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
1029 doc/libgcc.texi, doc/md.texi, doc/passes.texi,
1030 doc/sourcebuild.texi, doc/tm.texi: Improve Texinfo formatting.
1032 2004-10-28 Joseph S. Myers <jsm@polyomino.org.uk>
1034 * doc/c-tree.texi, doc/cpp.texi, doc/implement-c.texi,
1035 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/tm.texi: Put
1036 punctuation outside quotes.
1038 2004-10-27 David Mosberger <davidm@hpl.hp.com>
1039 James E Wilson <wilson@specifixinc.com>
1042 * config/ia64/ia64.c (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on
1043 sibcall alloc instruction.
1044 (process_set): Handle sibcall alloc instruction.
1046 2004-10-27 Geoffrey Keating <geoffk@apple.com>
1048 * config/rs6000/rs6000.c (rs6000_attribute_table): Add
1049 SUBTARGET_ATTRIBUTE_TABLE.
1050 * config/darwin.h (ASM_WEAKEN_DECL): Handle weak_import.
1051 (SUBTARGET_ATTRIBUTE_TABLE): Define.
1052 * config/darwin.c (darwin_handle_weak_import_attribute): New.
1053 (HAVE_DEAD_STRIP): Delete.
1054 (no_dead_strip): Don't test HAVE_DEAD_STRIP.
1055 * config/darwin-protos.h (darwin_handle_weak_import_attribute):
1058 * doc/tm.texi (USE_SELECT_SECTION_FOR_FUNCTIONS): Document.
1060 * config/darwin.h (GTHREAD_USE_WEAK): Define.
1062 2004-10-28 Ben Elliston <bje@au.ibm.com>
1064 * params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): New.
1065 (PARAM_SRA_FIELD_STRUCTURE_RATIO): Likewise.
1066 * params.h (SRA_MAX_STRUCTURE_SIZE): New.
1067 (SRA_FIELD_STRUCTURE_RATIO): Likewise.
1068 * tree-sra.c: Include "params.h".
1069 (decide_block_copy): Use new parameters.
1070 * doc/invoke.texi (Optimize Options): Document new SRA pass
1071 parameters sra-max-structure-size and sra-field-structure-ratio.
1073 2004-10-27 Nicolas Pitre <nico@cam.org>
1075 * config/arm/ieee754-df.S (floatdidf): Fix regression with big values.
1077 2004-10-27 Zdenek Dvorak <dvorakz@suse.cz>
1079 PR tree-optimization/18048
1080 * fold-const.c (try_move_mult_to_index): New function.
1081 (fold): Use try_move_mult_to_index.
1082 * tree-ssa-loop-ivopts.c (try_add_cand_for): Prefer common candidates.
1083 * tree-ssa-loop-niter.c (number_of_iterations_cond): Produce
1084 an all-ones unsigned constant without extra bits.
1085 * tree.c (build_low_bits_mask): New function.
1086 * tree.h (build_low_bits_mask): Declare.
1088 2004-10-27 David Edelsohn <edelsohn@gnu.org>
1091 * config/rs6000/rs6000.md (maxsf3): Add !flag_trapping_math to
1097 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
1099 * tree-cfg.c (thread_jumps): Speed up by reordering the two
1100 conditions for entering basic blocks into worklist.
1102 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
1104 * tree-cfg.c (thread_jumps): Speed up by pretending to have
1105 ENTRY_BLOCK_PTR in worklist.
1107 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
1109 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
1110 <GOTO_EXPR>: Don't let an explicit GOTO_EXPR slip through.
1112 2004-10-27 Daniel Berlin <dberlin@dberlin.org>
1114 Fix PR tree-optimization/17133
1116 * tree-cfg.c (rewrite_to_new_ssa_names_bb): Also rewrite must
1119 * tree-flow-inline.h: V_MUST_DEF_OP became V_MUST_DEF_RESULT.
1120 (get_v_must_def_result_ptr): Modify for new structure of
1122 (get_v_must_def_kill_ptr): New.
1123 (op_iter_next_use): Add support for the kill that occurs in V_MUST_DEFs.
1124 (op_iter_next_tree): Ditto. Also V_MAY_DEF_OP became V_MAY_DEF_RESULT.
1125 (op_iter_next_def): V_MAY_DEF_OP became V_MAY_DEF_RESULT.
1126 (op_iter_init): Initialize new mustu members.
1127 (op_iter_next_mustdef): New function.
1128 (op_iter_init_mustdef): Ditto.
1130 * tree-flow.h (rewrite_def_def_chains): New function.
1132 * tree-into-ssa.c (mark_def_sites): Handle mustdefkill operands.
1133 (ssa_mark_def_sites): Ditto.
1134 (rewrite_stmt): Ditto.
1135 (ssa_rewrite_stmt): Ditto.
1136 (rewrite_blocks): Factor out from rewrite_into_ssa.
1137 (mark_def_block_sites): Ditto.
1138 (rewrite_def_def_chains): New function, just rewrites def-def
1139 chains without phi node insertion.
1141 * tree-pass.h (TODO_fix_def_def_chains): New todo flag.
1143 * tree-optimize.c (execute_todo): Handle TODO_fix_def_def_chains.
1145 * tree-pretty-print.c (dump_vops): Print out MUST_DEF's so that
1146 they include the rhs now.
1148 * tree-ssa-ccp.c (visit_assignment): V_MUST_DEF_OP became
1151 * tree-ssa-dce.c (mark_operand_necessary): Add phionly argument.
1153 (mark_really_necessary_kill_operand_phis): New function.
1154 (perform_tree_ssa_dce): Call it.
1155 (pass_dce): Add TODO_fix_def_def_chains.
1156 (pass_cd_dce): Ditto.
1158 * tree-ssa-loop-im.c (determine_max_movement): Look at kills as
1160 (rewrite_mem_refs): Ditto.
1162 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Look at kills
1165 * tree-ssa-operands.c (allocate_v_may_def_optype):
1166 v_may_def_operand_type_t became v_def_use_operand_type_t.
1167 (allocate_v_must_def_optype) Ditto.
1168 (finalize_ssa_v_must_defs): Update for new operand type, as well
1169 as setting the use portion as well.
1170 (copy_virtual_operands): Copy the kill operand as well.
1171 (create_ssa_artficial_load_stmt): V_MUST_DEF_OP became
1174 * tree-ssa-operands.h (v_may_def_operand_type): Renamed to
1175 v_def_use_operand_type.
1176 (v_must_def_optype_d): Use v_def_use_operand_type.
1177 (V_MUST_DEF_OP_*): Renamed to V_MUST_DEF_RESULT_*
1178 (V_MUST_DEF_KILL_*): New macros.
1179 (struct ssa_operand_iterator_d): Add num_v_mustu and v_mustu_i
1181 Rename existing must_i and num_v_must members to mustd_i and
1183 (SSA_OP_VMUSTDEFKILL): New flag.
1184 (SSA_OP_VIRTUAL_KILLS): New flag.
1185 (SSA_OP_ALL_OPERANDS): Add in SSA_OP_ALL_KILLS.
1186 (SSA_OP_ALL_KILLS): New flag.
1187 (FOR_EACH_SSA_MUSTDEF_OPERAND): New macro.
1189 * tree-ssa.c (verify_ssa): Verify virtual kills as well.
1191 * tree-vectorizer.c (vect_create_data_ref_ptr): V_MUST_DEF_OP
1192 became V_MUST_DEF_RESULT.
1193 (rename_variables_in_bb): Rename kill pointer as well.
1195 * tree-dfa.c (compute_immediate_uses_for_stmt): Add kills into the
1198 2004-10-27 Richard Sandiford <rsandifo@redhat.com>
1200 * dbxout.c (dbxout_source_line): Move declaration of begin_label to
1201 the block that needs it.
1203 2004-10-27 Zack Weinberg <zack@codesourcery.com>
1205 * dbxout.c (dbxout_finish_complex_stabs): Mark 'line' variable
1208 2004-10-27 Zack Weinberg <zack@codesourcery.com>
1210 * c-lex.c (cb_def_pragma): Clean up code for making location
1211 palatable to diagnostic.c.
1213 2004-10-27 Steven Bosscher <stevenb@suse.de>
1215 PR tree-optimization/17757
1216 * tree-phinodes.c (remove_phi_arg_num): Don't remove PHIs
1217 without any PHI arguments left. Make sure the argument that
1218 we're supposed to remove exists at all.
1220 2004-10-27 Paul Brook <paul@codesourcery.com>
1222 * configure.ac: Don't test for [build] __cxa_atexit when building a
1224 * configure: Regenerate.
1226 2004-10-27 Paul Brook <paul@codeosurcery.com>
1228 * configure.ac: Use build_exeext not host_exeext when lookin for
1230 * configure: Regenerate.
1232 2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com>
1234 * config/s390/s390.md ("*subdf3_cc"): Replaced plus by minus.
1236 2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com>
1237 patch originally created by Kelley Cook <kcook@gcc.gnu.org>
1240 * opts.c (OPT_fprofile_generate): Default to -funroll-loops
1241 to match -fprofile-use.
1243 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
1245 * config/rs6000/rs6000.c: Fix a comment typo.
1247 2004-10-27 Zack Weinberg <zack@codesourcery.com>
1249 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Increment line
1252 2004-10-27 Andreas Schwab <schwab@suse.de>
1254 * varasm.c (default_stabs_asm_out_destructor): Mark symbol as
1256 (default_stabs_asm_out_constructor): Likewise.
1258 2004-10-26 Geoffrey Keating <geoffk@apple.com>
1260 * builtins.c (fold_builtin_unordered_cmp): Always bring both
1261 operands to the same type.
1263 2004-10-26 James E Wilson <wilson@specifixinc.com>
1266 * emit-rtl.c (emit_copy_of_insn_after): Copy RTX_FRAME_RELATED_P.
1268 2004-10-26 Zack Weinberg <zack@codesourcery.com>
1270 * dbxout.c: Include obstack.h.
1271 (ASM_STABS_OP): Take XCOFF_DEBUGGING_INFO into account in
1273 (ASM_STABD_OP, NO_DBX_MAIN_SOURCE_DIRECTORY, DBX_CONTIN_CHAR):
1274 Default-define here.
1275 (DBX_CONTIN_LENGTH): Move definition with others.
1276 (DBX_FINISH_STABS): New target macro.
1277 (current_sym_code, current_sym_value, current_sym_addr)
1278 (current_sym_nchars, CHARS, dbxout_continue)
1279 (print_int_cst_octal, print_octal, print_wide_int)
1280 (dbxout_prepare_symbol, dbxout_finish_symbol): Delete.
1281 (stabstr_ob, stabstr_last_contin_point): New variables.
1282 (NUMBER_FMT_LOOP): New improper macro.
1283 (dbxout_int, dbxout_stab_value_zero, dbxout_stab_value_label)
1284 (dbxout_stab_value_label_diff, dbxout_stab_value_internal_label)
1285 (dbxout_stab_value_internal_label_diff, dbxout_stabd)
1286 (dbxout_begin_stabn, dbxout_begin_stabn_sline)
1287 (dbxout_begin_simple_stabs, dbxout_begin_simple_stabs_desc)
1288 (dbxout_begin_complex_stabs, dbxout_finish_complex_stabs)
1289 (stabstr_C, stabstr_S, stabstr_I, stabstr_D, stabstr_U, stabstr_O)
1290 (stabstr_continue, DECL_ACCESSIBILITY_CHAR)
1291 New functions and/or proper function-like macros.
1292 (CONTIN): Use stabstr_continue, unconditionally.
1293 (get_lang_number): Define unconditionally, with ATTRIBUTE_UNUSED.
1294 (dbxout_init): Initialize stabstr_ob. Check
1295 NO_DBX_MAIN_SOURCE_DIRECTORY. Only write out the Ltext label
1296 if it was used. Use the new interfaces.
1297 (dbxout_source_file): Remove file argument; always write to
1298 asm_out_file. Use the new interfaces.
1299 (dbxout_type_method_1): Remove second argument which is always
1300 DECL_ASSEMBLER_NAME of the first argument. Use the new interfaces.
1301 (dbxout_type_methods): Remove write-only variables. Use the
1303 (dbxout_parms): Refactor to remove code duplicated in each of
1304 several successive if-else-if blocks. Use the new interfaces.
1305 (dbxout_function_end, emit_bincl_stab, dbxout_end_source_file)
1306 (dbxout_source_line, dbxout_finish, dbxout_type_index)
1307 (dbxout_type_fields, dbxout_range_type, dbxout_type, dbxout_type_name)
1308 (dbxout_class_name_qualifiers, dbxout_symbol, dbxout_symbol_location)
1309 (dbxout_symbol_name, dbxout_reg_parms, dbxout_args)
1310 (dbx_output_lbrac, dbx_output_rbrac, dbxout_block):
1311 Use the new interfaces.
1312 * Makefile.in (dbxout.o): Update dependencies.
1314 * defaults.h: Don't define ASM_STABD_OP.
1315 * output.h: Prototype new dbxout_* interfaces.
1316 * system.h: Poison DBX_OUTPUT_GCC_MARKER and DBX_FINISH_SYMBOL.
1317 * varasm.c: Don't define ASM_STABS_OP.
1318 (default_stabs_asm_out_constructor, default_stabs_asm_out_destructor):
1319 Use the new dbxout.c interfaces. Call sorry if neither
1320 DBX_DEBUGGING_INFO nor XCOFF_DEBUGGING_INFO is defined.
1322 * xcoffout.h: Don't define ASM_STABS_OP.
1323 (DBX_FINISH_SYMBOL): Rewrite and rename DBX_FINISH_STABS.
1324 (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY, DBX_OUTPUT_GCC_MARKER): Delete.
1325 (NO_DBX_MAIN_SOURCE_DIRECTORY, NO_DBX_GCC_MARKER): Define.
1326 (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Change bare block to
1327 do { ... } while (0) idiom.
1329 * config/alpha/alpha.c (num_source_filenames): Export.
1330 * config/alpha/alpha.h (num_source_filenames): Declare.
1331 (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
1332 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
1333 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
1334 Always use .debugsym. Update commentary.
1335 * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
1336 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
1337 * config/rs6000/linux64.h (DBX_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC):
1339 * config/rs6000/rs6000.c: If TARGET_MACHO, include gstab.h.
1340 (macho_branch_islands): Use new interfaces.
1342 * doc/tm.texi: Update.
1344 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
1346 * expr.c (emit_group_store): Do not treat floats as BLKmode.
1347 (emit_group_load): Same.
1349 2004-10-26 Joseph S. Myers <jsm@polyomino.org.uk>
1351 * c-parse.in (datadef): Use pedwarn rather than error and warning
1352 for diagnostic in case of no declaration specifiers.
1354 2004-10-26 Richard Sandiford <rsandifo@redhat.com>
1357 * doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been
1358 reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh
1359 can be used to work around this.
1361 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
1363 * config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Adjust for e500
1366 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
1368 * stmt.c (expand_case): Update a comment.
1370 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
1372 * stmt.c (expand_case): Put an assertion that index_expr is
1373 never INTEGER_CST. Don't special case for constant
1376 2004-10-26 Andrew Pinski <pinskia@physics.uc.edu>
1379 * c-parse.in (designator): Finish with a semi-colon.
1381 2004-10-26 Fariborz Jahanian <fjahanian@apple.com>
1383 * config/rs6000/rs6000.md (andsi3_internal8): Set CR when splitting
1386 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
1388 * stmt.c (expand_case): Remove code to handle SWITCH_EXPR with
1389 a default case only.
1391 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
1393 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs): Adjust for
1395 (spe_build_register_parallel): New.
1396 (rs6000_spe_function_arg): Handle e500 doubles.
1397 (function_arg): Same.
1398 (spe_func_has_64bit_regs_p): Same.
1399 (rs6000_function_value): Same.
1400 (rs6000_libcall_value): Same.
1401 (legitimate_lo_sum_address_p): Return false for e500 doubles.
1403 * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): Adjust for e500
1405 (DATA_ALIGNMENT): Same.
1406 (CANNOT_CHANGE_MODE_CLASS): Same.
1408 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
1410 * expr.c (emit_group_load): Handle floats.
1411 (emit_group_store): Same.
1413 2004-10-26 Nathan Sidwell <nathan@codesourcery.com>
1415 * c-lex.c (get_nonpadding_token): Remove.
1416 (c_lex_with_flags): Push timevar and eat padding here. Improve
1417 stray token diagnostic.
1418 (lex_string): Replace logic with switch statement, eat padding
1421 2004-10-26 Geoffrey Keating <geoffk@apple.com>
1424 * config/i386/darwin.h (ASM_SPEC): Undef it before defining.
1426 2004-10-25 Geoffrey Keating <geoffk@apple.com>
1428 * config/darwin.h (LINK_SPEC): Default weak_reference_mismatches
1430 (MAKE_DECL_ONE_ONLY): Set DECL_WEAK.
1431 (ASM_MAKE_LABEL_LINKONCE): Delete.
1432 (ASM_WEAKEN_DECL): New.
1433 (ASM_DECLARE_OBJECT_NAME): Look at DECL_WEAK not DECL_ONE_ONLY.
1434 (ASM_DECLARE_FUNCTION_NAME): Likewise.
1435 (TEXT_SECTION_ASM_OP): Add a tab.
1436 (DATA_SECTION_ASM_OP): Likewise.
1437 (SECTION_FUNCTION): Add a tab. Use fputs. Don't call
1438 data_section on every section change.
1439 (EXTRA_SECTIONS): Add a bunch of new extra sections.
1440 (EXTRA_SECTION_FUNCTIONS): Likewise.
1441 (USE_SELECT_SECTION_FOR_FUNCTIONS): Define.
1442 (JCR_SECTION_NAME): Define.
1443 (TARGET_SECTION_TYPE_FLAGS): Don't define.
1444 * config/darwin.c (darwin_encode_section_info): A symbol is defined
1445 in this file if it is not weak.
1446 (textcoal_section): Delete.
1447 (datacoal_section): Delete.
1448 (darwin_make_decl_one_only): Delete.
1449 (machopic_select_section): Handle functions.
1450 (darwin_asm_named_section): Add a tab.
1451 (darwin_section_type_flags): Delete.
1452 (darwin_unique_section): Delete contents.
1453 (darwin_emit_unwind_label): Add a tab. Make decls weak if
1455 * config/darwin-protos.h (darwin_section_type_flags): Delete.
1456 (darwin_make_decl_one_only): Delete.
1457 (text_coal_section): New.
1458 (text_unlikely_section): New.
1459 (text_unlikely_coal_section): New.
1460 (const_coal_section): New.
1461 (data_coal_section): New.
1462 (const_data_coal_section): New.
1463 * varasm.c (function_section): Honour
1464 USE_SELECT_SECTION_FOR_FUNCTIONS.
1465 * dwarf2out.c (output_call_frame_info): Look at DECL_WEAK when
1466 TARGET_USES_WEAK_UNWIND_INFO is in effect.
1467 * dbxout.c (dbxout_source_file): Don't change sections while
1468 a function is being output.
1470 2004-10-25 David Ayers <d.ayers@inode.at>
1472 * c-common.h: Remove RID_ID.
1473 * c-parse.in: Remove OBJECTNAME and references to RID_ID.
1474 (typespec_reserved_attr): Add rule for TYPENAME
1475 non_empty_protocolrefs.
1476 (yylexname): Remove special handling of RID_ID.
1478 2004-10-25 James E Wilson <wilson@specifixinc.com>
1480 * doc/invoke.texi (-fcrossjumping): Not enabled at -O.
1482 2004-10-25 Joseph S. Myers <jsm@polyomino.org.uk>
1485 * c-parse.in (array_designator): New.
1486 (designator): Use it.
1487 (initelt): Only permit array_designator without '=', not ".foo".
1489 2004-10-25 Kenneth Zadeck <zadeck@naturalbridge.com>
1490 * gcc/Makefile.in: removed ggc for cgraphunit.
1491 * gcc/cgraph.c.dump_cgraph_node: removed static var analysis.
1492 * gcc/cgraph.h: removed static var analysis data structures and calls.
1494 cgraph_mark_local_and_external_functions:changed name to
1495 cgraph_mark_local_functions
1496 (print_order,convert_UIDs_in_bitmap,new_static_vars_info,
1497 cgraph_reset_static_var_maps,get_global_static_vars_info,
1498 get_global_statics_not_read,get_global_statics_not_written,searchc,
1499 cgraph_reduced_inorder,has_proper_scope_for_analysis,check_rhs_var,
1500 check_lhs_var,get_asm_expr_operands,process_call_for_static_vars,
1501 scan_for_static_refs,cgraph_characterize_statics_local,
1502 clear_static_vars_maps,cgraph_propagate_bits,cgraph_characterize_statics):
1504 (cgraph_optimize,init_cgraph): removed calls to static vars analysis
1505 * gcc/tree-dfa.c find_referenced_vars: removed call to static vars
1507 * gcc/tree-flow.h static_vars_info: removed
1508 * gcc/tree-ssa-operands.c (add_call_clobber_ops,add_call_read_ops):
1509 removed calls to static vars analysis.
1510 get_call_expr_operands: removed callee variable.
1512 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
1514 * cfg.c (unchecked_make_edge, redirect_edge_succ,
1515 redirect_edge_pred): Use VEC_safe_push instead of
1517 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
1519 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
1521 * cfgloopmanip.c (loopify): Take two more arguments true_edge
1523 * cfgloop.h: Adjust the corresponding prototype.
1524 * loop-unswitch.c (unswitch_loop): Adjust a call to loopify.
1525 * tree-ssa-loop-manip.c (tree_ssa_loop_version): Likewise.
1527 2004-10-25 Jakub Jelinek <jakub@redhat.com>
1529 * dwarf2out.c (rtl_for_decl_location): Avoid segfault if
1530 DECL_INCOMING_RTL is NULL.
1532 2004-10-25 Steven Bosscher <stevenb@suse.de>
1534 * timevar.def (TV_FIND_REFERENCED_VARS): New.
1535 * tree-dfa.c (pass_referenced_var): Use it.
1537 2004-10-25 Roger Sayle <roger@eyesopen.com>
1538 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1540 * cse.c: Change encoding of quantity numbers to avoid undefined
1541 pointer arithmetic on qty_table.
1542 (REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative.
1543 (get_cse_reg_info): Initialize reg_qty to a unique negative value.
1544 (new_basic_block): Assign "real" quantity numbers from zero.
1545 (delete_reg_equiv): Do nothing if quantity is invalid. Reset the
1546 REG_QTY to its unique negative value.
1547 (merge_equiv_classes): Calculate need_rehash if quantity is valid.
1548 (cse_main): Don't include max_reg when determining max_qty.
1549 (cse_basic_block): Avoid subtracting a large offset from qty_table,
1550 which causes undefined C99 behaviour. Only allocate needed memory.
1552 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
1554 * stmt.c (expand_case): Remove an obsolete comment.
1556 2004-10-25 Andrew Pinski <pinskia@physics.uc.edu>
1559 * c-decl.c (grokdeclarator) <case cdk_array>: Remove the call
1560 layout_type as it is already done by build_array_type.
1561 * tree.c (build_array_type): Layout the type even
1563 2004-10-25 Alexandre Oliva <aoliva@redhat.com>
1565 * config/frv/linux.h (TARGET_C99_FUNCTIONS): Define to 0.
1567 2004-10-25 Alexandre Oliva <aoliva@redhat.com>
1569 * config/frv/frv.md (movdi, movdf): Handle wide-constant splits
1570 with wider-than-32-bit HOST_WIDE_INTs.
1572 2004-10-25 David Billinghurst <David.Billinghurst@riotinto.com>
1574 * config/mips/mips.c(mips_output_filename): Remove unused
1575 array ltext_label_name
1577 2004-10-24 Geoffrey Keating <geoffk@geoffk.org>
1579 * config/rs6000/darwin.h (BLOCK_REG_PADDING): Define.
1581 2004-10-25 Ben Elliston <bje@au.ibm.com>
1583 * cfgcleanup.c (outgoing_edges_match): Fix typo in dump output.
1585 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
1587 * predict.c (predict_loops): Call scev_finalize instead of
1590 2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
1592 * config/dbxcoff.h, config/dbxelf.h, config/libgloss.h,
1593 config/openbsd.h, config/mips/r3900.h, config/pdp11/pdp11.md,
1594 config/sh/ushmedia.h, config/sparc/elf.h,
1595 config/sparc/sp64-elf.h: Update copyright.
1597 2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
1599 * stmt.c (expand_case): Handle the default label outside of
1600 the for loop. Remove code to handle a missing default label.
1602 2004-10-23 Kazu Hirata <kazu@cs.umass.edu>
1604 * dbxout.c (dbxout_function_decl): Don't use
1605 DBX_OUTPUT_FUNCTION_END.
1606 * system.h: Poison DBX_OUTPUT_FUNCTION_END.
1607 * doc/tm.texi (DBX_OUTPUT_FUNCTION_END): Remove.
1609 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
1612 * tree-cfg.c (remove_usless_stmts_cond): Don't Fold statement.
1614 2004-10-23 Daniel Berlin <dberlin@dberlin.org>
1616 * tree-ssa-dom.c (record_equality): Use loop depth to determine
1617 which way to record the equality as well.
1618 (loop_depth_of_name): New function.
1620 2004-10-23 Eric Botcazou <ebotcazou@libertysurf.fr>
1623 * gimplify.c (gimplify_addr_expr) <VIEW_CONVERT_EXPR>: Look
1624 through the operand if it is a useless type conversion.
1626 2004-10-23 Ben Elliston <bje@au.ibm.com>
1628 * cfg.c (remove_edge): Use VEC_unordered_remove.
1629 (redirect_edge_succ): Likewise.
1630 (redirect_edge_pred): Likewise.
1631 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
1633 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1635 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Don't access PTR
1638 2004-10-22 Eric Christopher <echristo@redhat.com>
1640 * config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode
1643 2004-10-22 Aldy Hernandez <aldyh@redhat.com>
1645 * config/rs6000/spe.md (spe_extendsfdf2): New.
1646 (movdf_e500_double): New.
1647 (spe_truncdfsf2): New.
1654 (spe_floatsidf2): New.
1655 (spe_floatunssidf2): New.
1656 (fix_truncdfsi2): New.
1657 (spe_fixuns_truncdfsi2): New.
1659 * config/rs6000/rs6000.md (truncdfsf2): Change to expander.
1660 (fpr_truncdfsf2): New.
1661 (negdf2): Change to expander.
1663 (fpr_nabsdf2): Name pattern.
1664 (adddf3): Change to expander.
1666 (subdf3): Change to expander.
1668 (muldf3): Change to expander.
1670 (divdf3): Change to expander.
1672 (movdf_softfloat32): Change !TARGET_FPRS to TARGET_E500_SINGLE.
1673 (cmpdf): Allow for TARGET_E500_DOUBLE.
1675 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1677 * c-semantics.c (re_push_stmt_list): Remove.
1678 * c-common.h: Remove the corresponding prototype.
1680 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1682 * stmt.c (asm_op_is_mem_input): Remove.
1683 * tree.h: Remove the corresponding prototype.
1685 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1687 * tree-gimple.c (is_gimple_constructor_elt): Remove.
1688 * tree-gimple.h: Remove the corresponding prototype.
1690 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1692 * varasm.c (get_pool_mode_for_function, get_pool_offset):
1694 * rtl.h: Remove the corresponding prototypes.
1696 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1698 * tree-cfg.c (thread_jumps_from_bb): Speed up by extracting
1699 edge information when we commit ourselves to threading a
1702 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1704 * tree-cfg.c (thread_jumps): Speed up by putting basic blocks
1705 into worklist instead of their indexes.
1707 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1709 * alias.c, basic-block.h, cgraphunit.c, combine.c, domwalk.h,
1710 final.c, gengtype.c, genpreds.c, ggc-page.c, insn-notes.def,
1711 lambda-code.c, loop-unroll.c, modulo-sched.c, pointer-set.c,
1712 pretty-print.c, ra-colorize.c, sbitmap.c, tree-complex.c,
1713 tree-data-ref.c, tree-dfa.c, tree-inline.c, tree-into-ssa.c,
1714 tree-scalar-evolution.c, tree-ssa-dom.c,
1715 tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
1716 tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-threadupdate.c,
1717 tree-vectorizer.c, vec.h: Fix comment formatting.
1719 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1721 * dwarf.h, gthr-dce.h, gthr-single.h, gthr-solaris.h, gthr.h,
1722 libfuncs.h, libgcc2.h, stab.def, tsystem.h: Update copyright.
1724 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1726 * config/ptx4.h, config/mcore/mcore-pe.h,
1727 config/rs6000/eabi.h, config/vax/elf.h: Update copyright.
1729 2004-10-22 Peter Barada <peter@the-baradas.com>
1731 * config/m68k/m68k.h (HARD_REGNO_RENAME_OK): New macro.
1732 * config/m68k/m68k.c (m68k_hard regno_rename_ok): Disallow
1733 renaming of non-live registers in interrupt functions.
1734 * config/m68k/m68k-protos.h (m68k_hard_regno_rename_ok): Add prototype.
1736 2004-10-22 Zdenek Dvorak <dvorakz@suse.cz>
1738 * tree-ssa-loop-niter.c (inverse): Count in HOST_WIDE_INT if possible.
1739 Use integer for loop counter.
1740 (num_ending_zeros): New function.
1741 (number_of_iterations_cond): Use num_ending_zeros.
1743 2004-10-21 Aldy Hernandez <aldyh@redhat.com>
1745 * config.gcc: Add support for --enable-e500_double.
1747 * config/rs6000/e500-double.h: New file.
1749 * config/rs6000/rs6000.h: Define TARGET_E500_SINGLE and
1752 * config/rs6000/eabi.h: Define TARGET_E500_SINGLE and
1755 * config/rs6000/linuxspe.h: Same.
1757 * doc/invoke.texi (Option Summary): Document new options for
1759 (RS/6000 and PowerPC Options): Same.
1761 * config/rs6000/rs6000.c (rs6000_parse_float_gprs_option): New
1763 (rs6000_override_options): Use it. Use
1764 SUB3TARGET_OVERRIDE_OPTIONS.
1765 Add 8548 to processor_target_table.
1766 (rs6000_legitimate_address): Handle e500 doubles.
1767 (rs6000_legitimize_address): Same.
1768 (rs6000_legitimize_reload_address): Same.
1769 (rs6000_hard_regno_nregs): Same.
1770 (spe_func_has_64bit_regs_p): Same.
1771 (emit_frame_save): Same.
1772 (gen_frame_mem_offset): Same.
1773 (rs6000_dwarf_register_span): Same.
1774 (rs6000_generate_compare): Same.
1775 (easy_fp_constant): Same.
1776 (legitimate_offset_address_p): Same.
1778 * config/rs6000/spe.md: (cmdfeq_gpr): New.
1787 2004-10-21 Giovanni Bajo <giovannibajo@gcc.gnu.org>
1789 * config/arc/lib1funcs.asm (___umulsidi3): Fix typo.
1791 2004-10-21 Zack Weinberg <zack@codesourcery.com>
1793 * dbxout.c: Remove unnecessary #undefs.
1794 (GDB_INV_REF_REGPARM_STABS_LETTER, DBX_MEMPARM_STABS_LETTER)
1795 (FILE_NAME_JOINER, STABS_GCC_MARKER): Remove; fold sole
1796 definition into use sites.
1797 (cwd): Make local to dbxout_init.
1798 (dbxout_init): Restructure cwd-using logic for clarity. Use
1800 * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Definition of
1801 STABS_GCC_MARKER folded in here.
1802 * system.h: Poison now-unused macros.
1803 * doc/tm.texi: Remove documentation of now-unused macros.
1805 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
1808 * c-opts.c (push_command_line_include): Use the current file
1809 name instead of the main one.
1811 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
1814 * tree.c (staticp): A CONST_DECL has static storage if either
1815 TREE_STATIC or DECL_EXTERNAL is set.
1816 * c-decl.c (pushdecl_top_level): Accept CONST_DECLs which can
1819 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
1821 * expr.c (store_expr): Remove dont_store_target.
1823 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
1825 * tree-cfg.c (thread_jumps): Speed up by using a worklist.
1827 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
1829 * tree-cfg.c (thread_jumps): Move a part of it to ...
1830 (thread_jumps_from_bb): ... here.
1832 2004-10-21 David Edelsohn <edelsohn@gnu.org>
1834 * dbxout.c (DBX_FINISH_SYMBOL): Add asm_out_file argument.
1835 * xcoffout.h (DBX_FINISH_SYMBOL): Change asmfile to (ASMFILE).
1837 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
1839 * expr.c (store_expr): Clean up by renaming want_value to
1842 2004-10-21 Kaz Kojima <kkojima@gcc.gnu.org>
1844 * config/sh/linux-unwind.h (sh_fallback_frame_state): Don't
1847 2004-10-21 Aldy Hernandez <aldyh@redhat.com>
1850 * expmed.c (store_bit_field): Pass original 'value' before
1853 2004-10-21 Nicolas Pitre <nico@cam.org>
1855 * config/arm/ieee754-sf.S: Large speed improvements. Fix NAN handling.
1856 * config/arm/ieee754-df.S: Ditto.
1858 2004-10-20 Zack Weinberg <zack@codesourcery.com>
1860 * dbxout.c (asmfile): Delete. All uses changed to asm_out_file.
1861 (DBX_BLOCKS_FUNCTION_RELATIVE, DBX_LINES_FUNCTION_RELATIVE):
1863 (dbxout_source_line): Use DBX_OUTPUT_SOURCE_LINE when defined.
1864 When it is not, but DBX_LINES_FUNCTION_RELATIVE is true, emit
1865 an internal label and an N_SLINE .stabn whose value is the
1866 difference between that label and the function entry label.
1867 (dbxout_finish): If DBX_OUTPUT_MAIN_SOURCE_FILE_END is not defined,
1868 but DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END is, emit a
1869 label and an N_SO stab with an empty string referring to it.
1870 (dbx_output_lbrac, dbx_output_rbrac): Use if statement instead
1871 of #ifdef directive to test DBX_BLOCKS_FUNCTION_RELATIVE.
1872 (dbxout_type_methods, dbxout_symbol): Remove #if 0 block.
1873 (dbxout_prepare_symbol): Remove #ifdef WINNING_GDB block, this
1874 macro is never defined.
1875 * sdbout.c (sdbout_source_line_counter): Delete.
1876 (PUT_SDB_SRC_FILE): Delete. Uses replaced with sole definition.
1877 (sdbout_source_line): Use SDB_OUTPUT_SOURCE_LINE, which takes
1879 * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Rename ASM_OUTPUT_LINE.
1881 * config/dbxcoff.h, config/dbxelf.h: Remove unncessary #undefs.
1882 * config/c4x/c4x.h, config/pa/pa.h: Remove unnecessary macro
1883 definitions (identical to default).
1884 * config/darwin.h, config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
1885 * config/h8300/coff.h, config/pa/som.h, config/sh/elf.h:
1886 Define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END, not
1887 DBX_OUTPUT_MAIN_SOURCE_FILE_END.
1888 * config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
1889 * config/mcore/mcore-pe.h, config/pa/som.h, config/sh/elf.h:
1890 Define DBX_LINES_FUNCTION_RELATIVE, not ASM_OUTPUT_SOURCE_LINE.
1891 * config/alpha/alpha-protos.h: Don't prototype alpha_output_lineno.
1892 * config/alpha/alpha.c: Move declaration of num_source_filenames up.
1893 (alpha_start_function): Use SDB_OUTPUT_SOURCE_LINE.
1894 (sym_lineno): Delete.
1895 (alpha_output_filename): Do not emit N_SOL stabs here. Remove
1896 now-unused variable.
1897 (alpha_output_lineno): Delete.
1898 * config/mips/mips-protos.h: Don't prototype mips_output_lineno.
1899 * config/mips/mips.c (mips_output_filename): Don't use
1900 ASM_OUTPUT_FILENAME. Don't emit N_SOL stabs here.
1901 (mips_output_lineno): Delete.
1902 (mips_output_function_prologue: Use SDB_OUTPUT_SOURCE_LINE.
1903 * config/alpha/alpha.h: Define DBX_OUTPUT_SOURCE_LINE and
1904 SDB_OUTPUT_SOURCE_LINE, not ASM_OUTPUT_SOURCE_LINE.
1905 * config/mips/mips.h: Likewise. Don't define ASM_OUTPUT_FILENAME.
1906 * config/mips/sdb.h: Use SDB_OUTPUT_SOURCE_LINE.
1907 * config/avr/avr.h: Don't define ASM_OUTPUT_SOURCE_LINE.
1908 * config/mmix/mmix.h: Likewise.
1909 * config/mmix/mmix.c (mmix_asm_output_source_line): Delete.
1910 * config/mmix/mmix-protos.h: Don't prototype it.
1911 * config/alpha/unicosmk.h: Also #undef PREFERRED_DEBUGGING_TYPE;
1912 no need to #undef ASM_OUTPUT_SOURCE_LINE.
1913 * config/arm/aout.h: Remove RISCiX-specific definition of
1914 DBX_OUTPUT_MAIN_SOURCE_FILENAME.
1915 * config/m32r/m32r.h: Define DBX_OUTPUT_SOURCE_LINE, not
1916 ASM_OUTPUT_SOURCE_LINE.
1917 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Rename to
1918 DBX_OUTPUT_SOURCE_LINE. Don't use current_function_func_begin_label.
1919 * config/vax/elf.h: No need to define DBX_OUTPUT_FUNCTION_END.
1921 * doc/tm.texi: Update.
1923 2004-10-20 Richard Henderson <rth@redhat.com>
1925 * tree-sra.c (instantiate_element): Copy DECL_IGNORED_P also.
1927 2004-10-20 Kelley Cook <kcook@gcc.gnu.org>
1929 * configure.ac: Revert my previous patch.
1930 * configure: Regenerate.
1932 2004-10-20 Ben Elliston <bje@au.ibm.com>
1934 * config/rs6000/rs6000.c
1935 (rs6000_va_start): Use build_va_arg_indirect_ref.
1936 (rs6000_gimplify_va_arg): Likewise.
1938 2004-10-20 Bryce McKinlay <mckinlay@redhat.com>
1941 * configure.ac: Declare AM_LANGINFO_CODESET.
1942 * aclocal.m4: Define AM_LANGINFO_CODESET.
1943 * configure, config.in: Rebuilt.
1945 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
1947 * expr.c (store_expr): Remove code that is run when
1948 want_value & 1 is nonzero.
1950 2004-10-20 Mark Mitchell <mark@codesourcery.com>
1952 * gthr-posix.h (__gthread_active_p): Use __extension__ around cast
1953 from function pointer to void *.
1955 2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
1958 * config/sh/sh.c (sh_expand_epilogue): Emit a blockage insn before
1959 the frame pointer adjustment when exception handling is enabled.
1961 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
1963 * stor-layout.c: Fix a comment typo.
1965 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
1967 * expr.c (store_field): Remove two arguments value_mode and
1969 (expand_assignment, store_constructor_field,
1970 expand_expr_real_1): Adjust calls to store_field.
1972 2004-10-18 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
1974 * config/arc/lib1funcs.asm (___umulsidi3): Correct usage of flags.
1977 * config/arc/arc.h (REGNO_OK_FOR_BASE_P,REGNO_OK_FOR_INDEX_P,
1978 REG_OK_FOR_BASE, REG_OK_FOR_INDEX): Consider blink(r31) as a valid
1979 base and index register for loads.
1981 * config/arc/t-arc: Fix multilib handling.
1983 2004-10-20 Hans-Peter Nilsson <hp@bitrange.com>
1985 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
1986 don't inspect BLOCK_FOR_INSN for barriers.
1987 * emit-rtl.c (emit_barrier_before): Revert last change.
1988 (emit_barrier_after, emit_barrier): Ditto.
1990 * doc/extend.texi (Extended Asm): Warn and provide example
1991 solution for using a call-clobbered asm register.
1992 (Local Reg Vars): Similar. Cross-reference example.
1994 2004-10-19 Andrew Pinski <pinskia@physics.uc.edu>
1996 * tree-cfg.c (group_case_labels): Look at the second to last
1997 case statement for combing with the default case.
1999 2004-10-19 Richard Hendeson <rth@redhat.com>
2002 * stor-layout.c (layout_type): Set TYPE_ALIGN for vectors.
2004 2004-10-19 Richard Hendeson <rth@redhat.com>
2006 * builtins.c (expand_builtin_memmove): If fold_builtin_memmove
2007 succeeds, only expand the result.
2009 2004-10-19 Richard Hendeson <rth@redhat.com>
2012 * tree.c (recompute_tree_invarant_for_addr_expr): Always poll address
2015 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
2017 * tree-cfg.c (thread_jumps): Use a do-while loop instead of a
2020 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
2022 * expr.c (expand_assignment): Remove the last argument.
2023 Change the return type to void.
2024 * expr.h: Update the prototype of expand_assignment.
2025 * function.c (assign_parm_setup_reg): Update a call to
2027 * stmt.c (expand_asm_expr): Likewise.
2029 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
2031 * expr.c (expand_expr_real_1) <MODIFY_EXPR>: Remove
2032 unnecessary assignments to temp. Return const0_rtx.
2034 2004-10-19 Kaz Kojima <kkojima@gcc.gnu.org>
2036 * config/sh/sh.c (sh5_schedule_saves): Fix typo.
2038 2004-10-18 Kelley Cook <kcook@gcc.gnu.org>
2040 * configure.ac (powerpc-*-darwin*): Require assembler to support
2042 * configure: Regenerate.
2044 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2046 * reload1.c (ior_hard_reg_set): Remove.
2047 (finish_spills): Use IOR_HARD_REG_SET instead of
2050 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2052 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Speed up by shifting
2053 the currently visited word to right.
2055 2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2058 * expmed.c (expand_smod_pow2): Handle modes whose size
2059 is greater than that of HOST_WIDE_INT.
2061 2004-10-18 Ziemowit Laski <zlaski@apple.com>
2063 * c-parse.in (reservedwords): Add OBJC_TYPE_QUAL as alternative.
2065 2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2066 Roger Sayle <roger@eyesopen.com>
2069 * dojump.c (discard_pending_stack_adjust): New function.
2070 (clear_pending_stack_adjust): Call it.
2071 * expr.h (discard_pending_stack_adjust): Declare it.
2072 * explow.c (emit_stack_save): Emit pending stack adjustments
2073 before saving the stack pointer.
2074 (emit_stack_restore): Discard pending stack adjustments before
2075 restoring the stack pointer.
2077 2004-10-18 Richard Henderson <rth@redhat.com>
2079 * c-common.c (handle_mode_attribute): Allow scalar->vector
2082 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2084 * expr.c (expand_expr_real_1) [MODIFY_EXPR]: Don't request a
2085 value to expand_assignment.
2087 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2089 * tree-cfg.c (cleanup_tree_cfg): Don't iterate on
2091 (thread_jumps): Iterate until no new forwarder block arises.
2093 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2095 * tree-cfg.c (tree_forwarder_block_p): Don't set forwardable.
2096 (thread_jumps): Use forwardable as cache of
2097 tree_forwarder_block_p throughout the function.
2099 2004-10-18 Andreas Krebbel <krebbel1@de.ibm.com>
2101 * cfg.c (dump_flow_info): Remove redundant dump of reg life info.
2103 2004-10-18 Andrew Pinski <pinskia@physics.uc.edu>
2107 * tree-cfg.c (remove_bb): If we have a label expression in the
2108 basic block and the label we have taken the address, move the
2109 label expression to the basic block which is previous in the
2111 (tree_verify_flow_info): Fix printing out the label name of the
2112 problematic label expression.
2114 2004-10-18 Pat Haugen <pthaugen@us.ibm.com>
2116 PR rtl-optimization/18002
2117 * simplify-rtx.c (mode_signbit_p): Externalize function...
2118 * rtl.h (mode_signbit_p): ... to here.
2119 * combine.c (simplify_shift_const): Recognize PLUS signbit as
2120 canonical form of XOR signbit and move to outer op.
2122 2004-10-18 Diego Novillo <dnovillo@redhat.com>
2124 * tree-cfg.c (bsi_for_stmt): Rename from stmt_for_bsi.
2126 * tree-ssa.c (replace_immediate_uses): Call bsi_for_stmt.
2127 Don't call fold_stmt more than once, use bsi_replace.
2129 2004-10-18 Diego Novillo <dnovillo@redhat.com>
2131 PR tree-optimization/17656
2132 * tree-ssa.c (replace_immediate_uses): When replacing a
2133 constant, if the call to fold_stmt produced a different
2134 statement, get an appropriate statement pointer by scanning
2137 2004-10-18 Richard Henderson <rth@redhat.com>
2139 * pointer-set.c (hash1): Don't use libm functions in fallback case.
2141 2004-10-18 H.J. Lu <hongjiu.lu@intel.com>
2144 * Makefile.in (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?.
2145 (stage1-start): Remove and copy libunwind.a and
2146 libunwind*$(SHLIB_EXT) instead of libunwind*.
2147 (stage2-start): Likewise.
2148 (stage3-start): Likewise.
2149 (stage4-start): Likewise.
2150 (stageprofile-start): Likewise.
2151 (stagefeedback-start): Likewise.
2153 * config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for
2154 the shared library to be created and don't remove the existing
2156 * config/arm/t-netbsd (SHLIB_LINK): Likewise.
2157 * config/i386/t-nwld (SHLIB_LINK): Likewise.
2158 * config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise.
2159 * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
2160 * config/sh/t-linux (SHLIB_LINK): Likewise.
2161 * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
2162 * config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
2163 * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
2164 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
2166 * mklibgcc.in (libgcc-stage-start): Also move "*${objext}s"
2169 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2171 * basic-block.h (reg_set_iterator): New.
2172 (EXECUTE_IF_SET_IN_REG_SET): Make it iterator style.
2173 (EXECUTE_IF_AND_COMPL_IN_REG_SET): Likewise.
2174 (EXECUTE_IF_AND_IN_REG_SET): Likewise.
2175 * caller-save.c (save_call_clobbered_regs): Adjust to the new
2177 * cfgcleanup.c (thread_jump): Likewise.
2178 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
2179 * conflict.c (conflict_graph_compute): Likewise.
2180 * flow.c (verify_local_live_at_start, update_life_info,
2181 initialize_uninitialized_subregs, propagate_one_insn,
2182 init_propagate_block_info, free_propagate_block_info,
2183 propagate_block, dump_regset): Likewise.
2184 * global.c (global_conflicts): Likewise.
2185 * graph.c (start_bb): Likewise.
2186 * local-alloc.c (update_equiv_regs): Likewise.
2187 * loop.c (load_mems): Likewise.
2188 * reload1.c (compute_use_by_pseudos, order_regs_for_reload,
2189 find_reg, finish_spills): Likewise.
2190 * resource.c (mark_target_live_regs): Likewise.
2191 * sched-deps.c (sched_analyze_insn): Likewise.
2192 * sched-rgn.c (sched-rgn.c): Likewise.
2193 * config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
2195 2004-10-18 Jakub Jelinek <jakub@redhat.com>
2197 * config/i386/i386.md (addqi_1_slp): Test for incdec_operand
2198 operand 1 instead of 2
2200 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2202 * loop-unroll.c: Fix comment typos.
2204 2004-10-18 Revital Eres <eres@il.ibm.com>
2206 * Makefile.in (loop-unroll.o): Add VARRAY_H dependency.
2207 * loop-unroll.c: Include varray.h.
2208 (struct var_to_expand, struct opt_info): Rename split_ivs_info to
2209 opt_info and expand it to support variable expansion.
2210 (analyze_insns_in_loop): Rename analyze_ivs_to_split and
2211 expand it to support variable expansion.
2212 (pt_info_start_duplication): Rename si_info_start_duplication.
2213 (apply_opt_in_copies): Rename split_ivs_in_copies and add support
2214 to the variable expansion optimization.
2215 (free_opt_info): Rename free_si_info.
2216 (analyze_insn_to_expand_var, referenced_in_one_insn_in_loop_p,
2217 expand_var_during_unrolling, insert_var_expansion_initialization,
2218 combine_var_copies_in_loop_exit, release_var_copies,
2219 get_expansion): New functions.
2220 (peel_loop_completely, unroll_loop_constant_iterations,
2221 unroll_loop_runtime_iterations, peel_loop_simple,
2222 unroll_loop_stupid): Change uses of struct si_info
2224 and add uses of fvariable-expansion-in-unroller flag.
2225 * params.def: Add parameter to restrict the number of expansions.
2226 * params.h: (MAX_VARIABLE_EXPANSIONS): New define to restrict
2227 the number of expansions.
2228 * common.opt: (fvariable-expansion-in-unroller): New flag.
2229 * doc/invoke.texi: (fvariable-expansion-in-unroller): Document.
2231 2004-10-18 Danny Smith <dannysmith@users.sourceforge.net>
2233 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
2234 __GXX_MERGED_TYPEINFO_NAMES to 0.
2236 2004-10-17 Hans-Peter Nilsson <hp@bitrange.com>
2238 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
2239 handle barriers in a bb by checking that it points to a NULL bb.
2240 * emit-rtl.c (emit_barrier_before): Set BLOCK_FOR_INSN to NULL.
2241 (emit_barrier_after, emit_barrier): Ditto.
2243 2004-10-18 Joseph S. Myers <jsm@polyomino.org.uk>
2245 * doc/extend.texi (Attribute Syntax): Clarify details of
2246 attributes on parameters.
2248 2004-10-17 Zdenek Dvorak <dvorakz@suse.cz>
2250 * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Move checking out of
2253 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
2256 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
2258 * c-typeck.c (default_function_array_conversion): Always create
2259 &a[0] for array types.
2260 (build_unary_op): Do not fold &a[x] into a + x.
2262 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
2265 * cfgexpand.c (expand_gimple_cond_expr): Emit line notes for next basic
2266 block if there is a goto with a locus.
2268 2004-10-17 Kazu Hirata <kazu@cs.umass.edu>
2270 * config/elfos.h, config/gofast.h, config/interix.h,
2271 config/netbsd.h, config/svr3.h, config/vxworks.h,
2272 config/alpha/alpha-modes.def, config/alpha/alpha-protos.h,
2273 config/alpha/ev4.md, config/alpha/ev5.md, config/alpha/ev6.md,
2274 config/alpha/netbsd.h, config/arm/arm-modes.def,
2275 config/arm/unknown-elf.h, config/c4x/c4x-modes.def,
2276 config/cris/aout.h, config/frv/frv-modes.def,
2277 config/i386/beos-elf.h, config/i386/gas.h,
2278 config/i386/i386-coff.h, config/i386/i386-modes.def,
2279 config/i386/linux.h, config/i386/linux64.h,
2280 config/i386/mingw32.h, config/i386/netbsd-elf.h,
2281 config/i386/netbsd64.h, config/i386/sco5.h,
2282 config/i386/sol2.h, config/i386/uwin.h, config/i860/i860.md,
2283 config/ia64/ia64-modes.def, config/ia64/itanium1.md,
2284 config/ia64/itanium2.md, config/m68k/m68k-modes.def,
2285 config/mips/mips-modes.def, config/mips/sdb.h,
2286 config/mips/vr.h, config/mips/vxworks.h,
2287 config/pa/pa-hpux10.h, config/pa/pa-hpux11.h,
2288 config/pa/pa32-linux.h, config/rs6000/40x.md,
2289 config/rs6000/7450.md, config/rs6000/8540.md,
2290 config/rs6000/linuxspe.h, config/rs6000/power4.md,
2291 config/rs6000/rs6000-modes.def, config/rs6000/rtems.h,
2292 config/rs6000/spe.h, config/s390/2064.md, config/s390/linux.h,
2293 config/s390/s390-modes.def, config/sh/elf.h,
2294 config/sh/sh-modes.def, config/sh/sh64.h,
2295 config/sparc/ultra1_2.md, config/sparc/ultra3.md,
2296 config/stormy16/stormy16.md, config/v850/v850-protos.h,
2297 config/vax/vax.md: Update copyright.
2299 2004-10-17 Kazu Hirata <kazu@cs.umass.edu>
2301 * expr.c (expand_expr_real_1): Remove an obsolete comment.
2303 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
2305 * c-typeck.c (default_function_array_conversion): Always create
2306 &a[0] for array types.
2307 (build_unary_op): Do not fold &a[x] into a + x.
2309 2004-10-17 Jakub Jelinek <jakub@redhat.com>
2311 * pointer-set.c (hash1): Use integer part of 2^64 / phi
2312 instead 2^32 / phi if long is 64-bit.
2314 2004-10-17 Joseph S. Myers <jsm@polyomino.org.uk>
2316 * c-common.h (enum rid): Remove RID_PTRBASE, RID_PTREXTENT and
2318 * c-parse.in (PTR_VALUE, PTR_BASE, PTR_EXTENT): Remove %token
2320 (reswords): Remove __ptrbase, __ptrbase__, __ptrextent,
2321 __ptrextent__, __ptrvalue and __ptrvalue__.
2322 (rid_to_yy): Remove RID_PTRBASE, RID_PTREXTENT and RID_PTRVALUE
2325 2004-10-16 Dale Johannesen <dalej@apple.com>
2327 * c-common.c (c_common_get_alias_set): Use GGC for type_hash_table.
2329 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
2331 PR tree-optimization/17766
2332 * basic-block.h (enum dom_state): DOM_CONS_OK removed.
2333 (dom_info_available_p): Declare.
2334 * cfghooks.c (split_block, make_forwarder_block): Use
2335 dom_info_available_p.
2336 * dominance.c (compute_dom_fast_query, calculate_dominance_info,
2337 free_dominance_info, verify_dominators): Ditto.
2338 (dom_info_available_p): New function.
2339 * tree-cfg.c (cleanup_control_expr_graph): Free dominance information.
2340 (thread_jumps): Use dom_info_available_p.
2341 * tree-complex.c (expand_complex_div_wide): Ditto.
2342 * tree-mudflap.c (mf_build_check_statement_for): Ditto.
2344 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
2346 * tree-ssa-loop-ivopts.c (struct ivopts_data): New field important_candidates.
2347 (find_best_candidate): Take also important candidates into account.
2348 (find_optimal_iv_set): Initialize important_candidates bitmap.
2350 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
2352 PR tree-optimization/17560
2353 * predict.c (tree_estimate_probability): Mark irreducible
2356 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
2358 PR rtl-optimization/17723
2359 * cfgcleanup.c (merge_memattrs): Handle case when
2360 MEM_SIZE == NULL_RTX.
2362 2004-10-15 Andrew Pinski <pinskia@physics.uc.edu>
2364 * toplev.c (dump_file_name): Change type to be const.
2366 2004-10-15 Joseph S. Myers <jsm@polyomino.org.uk>
2368 * c-typeck.c (build_compound_expr, build_c_cast): Don't try to use
2369 non_lvalue to stop something being a null pointer constant.
2371 2004-10-15 Aldy Hernandez <aldyh@redhat.com>
2373 * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): FPRs are only
2374 available for TARGET_FPRS.
2375 (FUNCTION_VALUE_REGNO_P): Same.
2377 2004-10-15 Geoffrey Keating <geoffk@apple.com>
2379 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
2380 -maltivec in same style as other ISA options.
2382 2004-10-15 Jon Grimm <jgrimm2@us.ibm.com>
2384 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __powerpc__
2387 2004-10-15 Kazu Hirata <kazu@cs.umass.edu>
2389 * bitmap.c, bitmap.h, builtin-attrs.def, cfglayout.h,
2390 collect2.h, conflict.c, coretypes.h, coverage.h, errors.h,
2391 gcc.h, gcov-dump.c, gen-protos.c, gencheck.c, gencodes.c,
2392 genconstants.c, gengenrtl.c, genmodes.c, genpeep.c,
2393 gensupport.h, graph.h, gthr-gnat.c, gthr-gnat.h, gthr-posix.c,
2394 gthr-posix.h, hard-reg-set.h, hwint.h, integrate.h, libgcc2.c,
2395 lists.c, machmode.def, mips-tdump.c, opts.h, params.c,
2396 predict.def, predict.h, protoize.c, reload.h, resource.h,
2397 rtl-error.c, sbitmap.c, sbitmap.h, sreal.c, tlink.c,
2398 tree-dump.h, tree-inline.h, unwind-dw2-fde.c, unwind-dw2.c,
2399 unwind-sjlj.c, value-prof.h: Update copyright.
2401 2004-10-15 Kazu Hirata <kazu@cs.umass.edu>
2403 * pointer-set.c, tree-vectorizer.c: Fix comment typos.
2405 2004-10-15 Diego Novillo <dnovillo@redhat.com>
2407 * tree-optimize.c (execute_one_pass): Stop timer right after
2410 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
2413 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
2416 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
2417 (remove_useless_stmts_1): Fold trees we know how to fold.
2419 2004-10-14 David Edelsohn <edelsohn@gnu.org>
2421 * configure.ac: Add .machine power4 directive when testing for
2423 * configure: Regenerate.
2425 2004-10-14 Geoffrey Keating <geoffk@apple.com>
2427 * config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Don't define.
2429 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
2431 * tree-vectorizer.c (vect_transform_loop): Declare vectorization_factor
2434 2004-10-14 Daniel Jacobowitz <dan@codesourcery.com>
2436 * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Return NO_REGS
2437 for 'f' if !TARGET_FPRS.
2439 2004-10-14 Richard Henderson <rth@redhat.com>
2442 * dwarf2out.c (loc_descriptor_from_tree_1): Handle FIX_*_EXPR.
2444 2004-10-14 Richard Henderson <rth@redhat.com>
2447 * c-decl.c (store_parm_decls_oldstyle): Care for parameter type
2449 * c-parse.in (compstmt_primary_start): Check cur_stmt_list non-null
2450 instaed of current_function_decl non-null.
2452 2004-10-14 Matt Austern <austern@apple.com>
2454 * pointer-set.c: New file, special-purpose hash table.
2455 * pointer-set.h: New file.
2456 * tree.h (struct pointer_set_t): Declare as opaque type.
2457 (tree_walk): Last argument is pointer_set_t* now.
2458 * tree-inline.c (WALK_SUBTREE): Convert from htab to pset.
2460 (walk_tree): Convert from htab_t to pointer_set_t for keeping
2461 track of which nodes have already been visited.
2462 (walk_tree_without_duplicates): Convert from htab_t to pointer_set_t.
2463 * cgraphunit.c (cgraph_create_edges): Likewise.
2464 (cgraph_characterize_statics_local): Likewise.
2465 * tree-dfa.c (collect_dfa_stats): Likewise.
2466 * langhooks-def.h (lhd_tree_inlining_walk_subtrees): Last arg is
2468 * langhooks.c (lhd_tree_inlining_walk_subtrees): Likewise.
2469 * langhooks.h (struct lang_hooks_for_tree_inlining): Last arg type
2470 of walk_subtrees is pointer_set_t* now.
2471 * Makefile.in (OBJS-common): add pointer-set.o
2472 (tree-inline.o): Depends on pointer-set.h
2473 (tree-dfa.o): Likewise
2474 (cgraphunit.o): Likewise
2476 2004-10-14 Geoffrey Keating <geoffk@apple.com>
2478 * config/rs6000/darwin.h (ASM_SPEC): Delete.
2479 (TARGET_ASM_FILE_START): Define.
2480 * config/darwin.h (ASM_SPEC): Define.
2481 * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Don't supply
2482 -mlong-double-128, it's the default. Update comment about reason
2483 for force_cpusubtype_ALL.
2484 * config/rs6000/darwin-vecsave.asm: Supply .machine.
2485 * config/rs6000/darwin-world.asm: Likewise.
2486 * config/rs6000/rs6000.c (rs6000_darwin_file_start): New.
2487 (symbolic_operand): Delete #if 0ed code.
2489 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
2491 * stmt.c (add_case_node): Make sure that we have integer
2492 constant before calling tree_int_cst_compare.
2494 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
2498 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
2499 (remove_useless_stmts_1): Fold trees we know how to fold.
2501 2004-10-14 Joseph S. Myers <joseph@codesourcery.com>
2503 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS),
2504 config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow
2507 2004-10-14 Ulrich Weigand <uweigand@de.ibm.com>
2509 * reload.c (find_reloads): When reloading a PLUS with constant
2510 operand, make sure the constant is pushed to the constant pool
2512 * config/s390/s390.c (s390_secondary_input_reload_class): Remove
2513 reload bug workaround.
2514 (s390_expand_plus_operand): Likewise.
2516 2004-10-14 David Edelsohn <edelsohn@gnu.org>
2518 * opts.c (common_handle_option): Do not enable
2519 flag_speculative_prefetching for -fprofile-generate/use.
2521 2004-10-14 Devang Patel <dpatel@apple.com>
2524 * tree-if-conv.c (process_phi_nodes): Process latch block.
2525 (combine_blocks): Process latch block and update loop structure.
2527 2004-10-14 Olga Golovanevsky <olga@il.ibm.com>
2529 * tree-vectorizer.c (vect_generate_tmps_on_preheader):
2530 (vect_update_ivs_after_vectorizer):
2531 (vect_transform_for_unknown_loop_bound):
2532 (tree_duplicate_loop_to_edge):
2533 (allocate_new_names):
2536 (rename_variables_in_bb):
2538 (rename_variables_in_loop):
2540 (update_phis_for_duplicate_loop):
2541 (update_phi_nodes_for_guard):
2542 (make_loop_iterate_ntimes):
2543 (tree_duplicate_loop_to_edge_cfg):
2545 (vect_analyze_loop_with_symbolic_num_of_iters):
2546 (verify_loop_for_duplication):
2547 (vect_gen_niters_for_prolog_loop):
2548 (vect_update_niters_after_peeling):
2549 (vect_update_inits_of_dr):
2550 (vect_update_inits_of_drs):
2551 (vect_build_loop_niters):
2552 (vect_do_peeling_for_alignment): New functions.
2553 (vect_transform_loop): Add unknown and known but indivisible loop
2554 bound support; add peeling for unalignment support.
2555 (vect_analyze_loop_form): Support symbolic number of iterations.
2556 (vect_transform_loop_bound): New input parameter.
2557 (vect_get_loop_niters): Change input parameter type.
2558 (new_loop_vec_info): LOOP_VINFO_NITERS is tree now.
2559 (vectorizable_store): Allow unaligned access.
2560 (vectorize_loops): Add rewrite_into_loop_closed_ssa.
2561 (vect_analyze_data_refs_alignment): Allowed one unaligned
2563 * tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined
2565 (LOOP_VINFO_INT_NITERS): New macro.
2566 (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): New define.
2567 (do_peeling_for_alignment):
2568 (unaligned_drs): New members of _loop_vec_info.
2569 (LOOP_DO_PEELING_FOR_ALIGNMENT): New macro.
2571 2004-10-14 Ranjit Mathew <rmathew@hotmail.com>
2573 * tree.h (TREE_STRING_POINTER): Wrap in "const char *".
2574 (struct tree_string): Remove "const" qualifier for "str".
2576 2004-10-14 Ira Rosen <irar@il.ibm.com>
2578 * tree-vectorizer.c (vect_analyze_data_refs): Call
2579 vect_get_base_and_bit_offset to get memory tag for array ref.
2580 (vect_create_addr_base_for_vector_ref): Remove redundant checks.
2582 2004-10-14 Richard Earnshaw <rearnsha@arm.com>
2584 * configure.ac: Use $LN_S for creating symlinks (not $LN).
2585 * configure: Regenerate.
2587 2004-10-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2589 * doc/install.texi (*-*-solaris2*): Update with info about kernel
2590 patches to solve spurious testsuite failures.
2592 2004-10-14 Dorit Naishlos <dorit@il.bim.com>
2594 * tree-vectorizer.c (get_vectype_for_scalar_type): Added debug prinouts.
2595 Added check that vectype is VECTOR_MODE_P, instead of check for BLKmode.
2596 (vect_analyze_operations): Make sure the vectorization factor > 1. Add
2597 gcc_assert under ENABLE_CHECKING.
2598 (vectorizable_operation): Remove check for VECTOR_MODE_P (moved to
2599 get_vectype_for_scalar_type).
2601 (vect_get_vec_def_for_operand): Remove redundant variables.
2602 (vect_transform_loop): Likewise.
2604 2004-10-14 Richard Sandiford <rsandifo@redhat.com>
2606 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Make r11 fixed and
2607 global for -mcaller-super-interworking.
2608 (CALLER_INTERWORKING_SLOT_SIZE): New macro.
2609 * config/arm/arm.c (thumb_compute_save_reg_mask): Save r11 if
2610 CALLER_INTERWORKING_SLOT_SIZE is nonzero and the function does
2611 not need a frame pointer.
2612 (arm_get_frame_offsets): Add CALLER_INTERWORKING_SLOT_SIZE bytes to
2613 the soft frame pointer offset.
2614 (thumb_expand_prologue): Set up r11 for -mcaller-super-interworking.
2615 * config/arm/arm.md (*call_reg_thumb, *call_value_reg_thumb): Use
2616 _interwork_{r7,r11}_call_via_rN if some arguments are passed on
2617 the stack. Use frame_pointer_needed to choose between them.
2618 * config/arm/lib1funcs.asm (_arm_return_{r7,r11}): New functions.
2619 (interwork_with_frame): New macro.
2620 (interwork): Add _interwork_{r7,r11}_call_via_rN().
2622 2004-10-14 Ben Elliston <bje@au.ibm.com>
2625 * diagnostic.c (trim_filename): Fix logic bug in walking backwards
2626 up the filename looking for a previous directory separator.
2628 2004-10-14 Joseph S. Myers <jsm@polyomino.org.uk>
2630 * c-tree.h (enum c_typespec_kind, struct c_typespec,
2631 parser_xref_tag): New.
2632 (struct c_declspecs): Add tag_defined_p. Adjust definition of
2634 (declspecs_add_type): Adjust prototypes.
2635 * c-parse.in (%union): Add tstype.
2636 (typespec_nonattr, typespec_attr, typespec_reserved_nonattr,
2637 typespec_reserved_attr, typespec_nonreserved_nonattr,
2638 structsp_attr, structsp_nonattr): Change to tstype. Update
2640 * c-decl.c (build_null_declspecs): Initialize tag_defined_p.
2641 (declspecs_add_type): Update to take struct c_typespec argument.
2642 Set tag_defined_p and typedef_p as appropriate.
2643 (xref_tag): Rename to parser_xref_tag and replace by wrapper.
2644 Update to return struct c_typespec.
2645 (shadow_tag_warned): Don't let empty declarations with qualifiers
2646 or storage class specifiers redeclare a tag if a previous
2647 declaration is visible.
2649 2004-10-13 Richard Henderson <rth@redhat.com>
2652 * dwarf2out.c (rtl_for_decl_location): Apply big-endian correction
2653 for DECL_INCOMING_RTL.
2655 2004-10-14 Hans-Peter Nilsson <hp@axis.com>
2658 * config/cris/cris.md (asrandb, asrandw, lsrandb, lsrandw): Apply
2659 trunc_int_for_mode for constants used in shortened mode.
2661 2004-10-13 Richard Henderson <rth@redhat.com>
2664 * c-common.c (handle_mode_attribute): Disallow mode changes that
2665 alter the CODE of the top-level type.
2667 * crtstuff.c (__FRAME_END__): Remove mode attribute. Find 32-bit
2668 integer from internal limits macros.
2669 * config/i386/mm3dnow.h (__v2sf): Fix base type.
2671 2004-10-13 Richard Henderson <rth@redhat.com>
2674 * function.c (instantiate_decl): Recurse for CONCAT.
2676 2004-10-13 David Edelsohn <edelsohn@gnu.org>
2678 * config/rs6000/rs6000.md (andsi3): Add attribute "compare" for
2681 (extzvdi_internal1): Add attribute "compare".
2682 (extzvdi_internal2): Same.
2684 2004-10-12 Tom Tromey <tromey@redhat.com>
2686 * doc/md.texi (Insn Canonicalizations): Removed extraneous quote.
2688 2004-10-13 Dale Johannesen <dalej@apple.com>
2690 * doc/extend.texi (Extended Asm): Rewrite asm volatile description.
2692 2004-10-13 Frank Ch. Eigler <fche@redhat.com>
2694 * toplev.c (compile_file): Call mudflap_finish_file from here ...
2695 * c-decl.c (c_write_global_declarations): ... instead of here ...
2696 * cp/decl.c (cp_finish_file): ... and here.
2697 * tree-mudflap.c (mudflap_enqueue_decl): Reword a warning message.
2699 2004-10-13 Andrew Pinski <pinskia@physics.uc.edu>
2701 * tree-ssa-dom.c (record_range): Free the element if we are not
2704 2004-10-13 Tom Tromey <tromey@redhat.com>
2707 * gcc.c (option_map): Added --extdirs and --encoding.
2709 2004-10-13 Eric Botcazou <ebotcazou@libertysurf.fr>
2712 * config/sparc/sparc.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Set to
2713 sparc_can_output_mi_thunk.
2714 (sparc_output_mi_thunk): Simplify handling of delta offset. Add
2715 handling of vcall offset.
2716 (sparc_can_output_mi_thunk): New predicate.
2717 * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Document VCALL_OFFSET.
2718 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Delete.
2719 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New target hook.
2721 * config/sparc/sparc.c (emit_and_preserve): Preserve stack alignment.
2723 * config/sparc/sparc.md (movdi): Remove redundant test.
2725 2004-10-13 Paolo Bonzini <bonzini@gnu.org>
2727 * tree-dump.c (dump_options): Remove TDF_TREE, TDF_RTL,
2728 TDF_IPA from -fdump-tree-*-all.
2730 2004-10-13 Paul Brook <paul@codesourcery.com>
2732 * config/arm/arm-protos.h (arm_load_pic_register): Update prototype.
2733 * config/arm/arm.c (thumb_find_work_register): Update comments.
2734 (arm_load_pic_register): Add argument for scratch register.
2735 (arm_expand_prologue, thumb_expand_prologue): Pass extra argument.
2736 * config/arm/arm.md (builtin_setjmp_receiver): Ditto.
2738 2004-10-13 Kazu Hirata <kazu@cs.umass.edu>
2740 * tree-data-ref.c: Fix comment typos.
2742 2004-10-13 Jakub Jelinek <jakub@redhat.com>
2743 Zdenek Dvorak <dvorakz@suse.cz>
2745 PR tree-optimization/17724
2746 * tree-cfg.c (tree_purge_dead_eh_edges): Free dominance info.
2748 2004-10-13 Dorit Naishlos <dorit@il.ibm.com>
2750 * rs6000.c (altivec_builtin_mask_for_load): Made static GTY(()).
2751 (altivec_builtin_mask_for_store): Likewise.
2752 (altivec_init_builtins): Use lang_hooks.builtin_function to
2753 create the decls for builtin_altivec_mask_for_load/store.
2755 2004-10-13 Nick Clifton <nickc@redhat.com>
2757 * config/c4x/c4x.c: Remove inclusion of loop.h.
2759 2004-10-12 Ben Elliston <bje@au.ibm.com>
2761 * basic-block.h (edge_iterator): Keep the address of VEC(edge) *.
2762 (ei_container): New; renamed.
2763 (ei_start, ei_last): New macros.
2764 (ei_start_1, ei_last_1): Renamed from ei_start.
2765 (ei_last_1, ei_end_p): Use ei_container() where applicable.
2766 (ei_one_before_end_p, ei_next, ei_edge): Likewise.
2767 * gcse.c (remove_reachable_equiv_notes): Use ei_container().
2769 2004-10-11 Sebastian Pop <pop@cri.ensmp.fr>
2771 * Makefile.in (tree-ssa-loop-niter.o): Depends on tree-data-ref.h.
2772 * cfgloop.c (initialize_loops_parallel_p): New.
2773 (flow_loops_find): Initialize the parallel_p field to true for all
2775 * tree-ssa-loop-niter.c: Include "tree-data-ref.h".
2776 (estimate_numbers_of_iterations_loop): Infers the loop bounds from
2777 the size of the data accessed in the loop.
2778 (struct nb_iter_bound): Moved...
2779 * cfgloop.h (struct nb_iter_bound): ... here.
2780 (estimated_nb_iterations, parallel_p): New fields in struct loop.
2781 (record_estimate): Declare extern here.
2782 * tree-chrec.c: Fix comments.
2783 (nb_vars_in_chrec): New function.
2784 * tree-chrec.h (nb_vars_in_chrec): Declared here.
2785 * tree-data-ref.c: Don't include lambda.h, that is already included
2787 (tree_fold_divides_p): Don't check for integer_onep.
2788 (tree_fold_bezout): Removed.
2789 (gcd): New static duplicated function.
2790 (int_divides_p, dump_subscript): New.
2791 (dump_data_dependence_relation): Use dump_subscript.
2792 (dump_dist_dir_vectors, dump_ddrs, compute_estimated_nb_iterations,
2793 estimate_niter_from_size_of_data): New.
2794 (analyze_array_indexes, analyze_array): Call
2795 estimate_niter_from_size_of_data during the detection of array
2796 references. Pass in a pointer to the statement that contains the
2798 (all_chrecs_equal_p): New.
2799 (compute_distance_vector): Renamed compute_subscript_distance.
2800 Deal with multivariate conflict functions.
2801 (initialize_data_dependence_relation): Initialize DDR_AFFINE_P,
2802 DDR_SIZE_VECT, DDR_DIST_VECT, and DDR_DIR_VECT.
2803 (non_affine_dependence_relation): New.
2804 (analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
2805 analyze_siv_subscript, analyze_miv_subscript,
2806 analyze_overlapping_iterations, subscript_dependence_tester):
2807 Initialize and return last_conflicts function.
2808 (initialize_matrix_A, FLOOR, compute_overlap_steps_for_affine_univar,
2809 compute_overlap_steps_for_affine_1_2): New.
2810 (analyze_siv_subscript_affine_cst): Removed.
2811 (analyze_subscript_affine_affine): Disprove dependences based on the
2812 iteration domains. Solve the univariate dependence case as before,
2813 but use lambda_matrix_right_hermite instead of tree_fold_bezout.
2814 Implement the multivariate case of 2 versus 1 variables.
2815 (build_classic_dist_vector, build_classic_dir_vector): Implement some
2817 (find_data_references_in_loop): Compute and initialize
2818 loop->estimated_nb_iterations and loop->parallel_p.
2819 (analyze_all_data_dependences): Modify the debug dump order.
2820 * tree-data-ref.h (SUB_LAST_CONFLICT_IN_A, SUB_LAST_CONFLICT_IN_B,
2821 subscript->last_conflict_in_a, subscript->last_conflict_in_b): Removed.
2822 (SUB_LAST_CONFLICT, subscript->last_conflict,
2823 data_dependence_relation->affine_p, data_dependence_relation->size_vect,
2824 DDR_AFFINE_P, DDR_SIZE_VECT): New.
2825 (find_data_references_in_loop, initialize_data_dependence_relation,
2826 dump_subscript, dump_ddrs, dump_dist_dir_vectors): Declared here.
2828 2004-10-12 Kelley Cook <kcook@gcc.gnu.org>
2830 * configure: Regenerate.
2832 2004-10-12 Fariborz Jahanian <fjahanian@apple.com>
2835 * tree-ssa-dom.c (unsafe_associative_fp_binop): New function.
2836 (simplify_rhs_and_lookup_avail_expr): Disallow associativity
2837 and constant folding of floating point MULT_EXPR/PLUS_EXPR
2840 2004-10-12 Ulrich Weigand <uweigand@de.ibm.com>
2842 * config/s390/s390.c (s390_va_start): Use build_va_arg_indirect_ref.
2843 (s390_gimplify_va_arg): Likewise.
2845 2004-10-12 Daniel Jacobowitz <dan@debian.org>
2847 * defaults.h (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P)
2848 (MODE_BASE_REG_REG_CLASS, REGNO_MODE_OK_FOR_REG_BASE_P)
2849 (REG_MODE_OK_FOR_REG_BASE_P): Provide default definitions.
2850 * regclass.c (record_address_regs): Remove ifdef. Use
2851 REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
2852 * regrename.c (REG_MODE_OK_FOR_BASE_P): Remove unnecessary
2854 (scan_rtx_address, replace_oldest_value_addr): Use
2855 REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
2856 * reload.c (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Remove
2857 unnecessary definitions.
2858 (find_reloads_address_1): Support REG_MODE_OK_FOR_REG_BASE_P
2859 and MODE_BASE_REG_REG_CLASS.
2860 * config/arm/arm.h (MODE_BASE_REG_CLASS): Don't check reload_completed.
2861 (MODE_BASE_REG_REG_CLASS): Define.
2862 (REGNO_MODE_OK_FOR_REG_BASE_P): Define.
2863 (REG_MODE_OK_FOR_REG_BASE_P): Define.
2864 * doc/tm.texi (Register Classes): Document MODE_BASE_REG_REG_CLASS,
2865 REG_MODE_OK_FOR_REG_BASE_P, and REGNO_MODE_OK_FOR_REG_BASE_P.
2867 2004-10-12 Daniel Berlin <dberlin@dberlin.org>
2869 * tree-ssa-alias.c (verify_name_tags): New function.
2870 (verify_flow_sensitive_alias_info): Remove code that used to check name tags.
2871 (verify_alias_info): Call verify_name_tags.
2873 2004-10-12 Kazu Hirata <kazu@cs.umass.edu>
2875 PR rtl-optimization/17931
2876 * config/i386/i386.c (ix86_rtx_costs): Handle COMPARE with
2879 2004-10-12 Richard Earnshaw <rearnsha@arm.com>
2881 * arm.c (arm_print_operand): Use output_operand_lossage where possible
2882 rather than aborting.
2884 2004-10-12 Paul Brook <paul@coudesourcery.com>
2886 * config.gcc: Add armv6{k,z,zk}
2887 * config/arm/arm-cores.def: Add arm1176 and mpcore.
2888 * config/arm/tune.md: Regenerate.
2889 * config/arm/arm.c (FL_FOR_ARCH6K, FL_FOR_ARCH6Z, FL_FOR_ARCH6ZK):
2891 (all_architectures): Add armv6k, armv6z, armv6zk.
2892 * config/arm/lib1funcs.asm: Recognise new arm arcitectures.
2893 * doc/invoke.texi: Document new arch and cpu values.
2895 2004-10-12 Paul Brook <paul@coodesourcery.com>
2897 * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Change meabi=3 to
2900 2004-10-12 Paul Brook <paul@codesourcery.com>
2902 * config/arm/arm.md (addsi3_cbranch_scratch): Correct constraints.
2903 Handle negative constants.
2905 2004-10-12 Joseph S. Myers <jsm@polyomino.org.uk>
2908 * c-typeck.c (convert_arguments): Return error_mark_node if there
2909 are too few arguments.
2910 (build_function_call): Handle error_mark_node return from
2913 2004-10-06 Paolo Bonzini <bonzini@gnu.org>
2915 * configure.ac (symbolic_link): Replace with $LN_S.
2916 (Assembler/Linker): Hard link from gas and binutils trees.
2917 * aclocal.m4 (gcc_AC_PROG_LN_S): Try "cp -p" before cp.
2918 * configure: Regenerate.
2920 2004-10-12 Paul Brook <paul@codesourcery.com>
2922 * configure.ac: Don't look for host assembler when building a canadian
2924 * configure: Regenerate.
2926 2004-10-11 Roger Sayle <roger@eyesopen.com>
2929 * c-opts.c (permit_fortran_options): Delete/obsolete global variable.
2930 (c_common_init_options): Remove #ifdef CL_F77 code. Scan command
2931 line options for "-lang-asm" and if found allow any of the C-family
2933 (c_common_handle_option): Remove last use of permit_fortran_options.
2935 2004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
2937 * config/s390/s390.c (print_operand): Support 'S' format flag.
2938 * config/s390/s390.md ("*tmqi_mem"): Use 'S' format flag.
2939 ("*tstsi", "*tstsi_cconly", "*tstsi_cconly2"): Likewise.
2940 ("*tsthiCCT", "*tsthiCCT_cconly", "*tsthi", "*tsthi_cconly"): Likewise.
2941 ("*tstqiCCT", "*tstqiCCT_cconly", "*tstqi", "*tstqi_cconly"): Likewise.
2942 ("*cmphi_ccu", "*cmpqi_ccu", "*clc"): Likewise
2943 ("movti", "*movdi_31", "*movqi", "*movdf_31", "*mvc"): Likewise.
2944 ("*movstricthi"): Likewise.
2945 ("*load_multiple_di", "*load_multiple_si"): Likewise.
2946 ("*store_multiple_di", "*store_multiple_si"): Likewise.
2947 ("*sethiqisi", "*sethihisi"): Likewise.
2948 ("*sethiqidi_64", "*sethiqidi_31"): Likewise.
2949 ("*andqi3_zarch", "*andqi3_esa", "*nc"): Likewise.
2950 ("*iorqi3_zarch", "*iorqi3_esa", "*oc"): Likewise.
2951 ("*xorqi3", "*xc", "*xc_zero"): Likewise.
2952 ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): Likewise.
2954 ("*tmhi_full"): Fix incorrect op_type attribute.
2956 ("*adddi3_alc_cc", "*adddi3_alc"): Remove double backslash.
2957 ("*subdi3_slb_cc", "*subdi3_slb"): Likewise.
2958 ("*addsi3_alc_cc", "*addsi3_alc"): Likewise.
2959 ("*subsi3_slb_cc", "*subsi3_slb"): Likewise.
2961 2004-10-11 Andrew Pinski <pinskia@physics.uc.edu
2964 * function.c (temp_slots_at_level): Fix typo which creates too
2965 many temp stack slots levels.
2967 2004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
2969 * config/s390/s390.c (s390_trampoline_template): Generate shorter
2971 (s390_trampoline_instantiate): Adapt.
2972 * config/s390/s390.h (TRAMPOLINE_SIZE): Adapt to new code.
2974 2004-10-11 Roger Sayle <roger@eyesopen.com>
2977 * stmt.c (add_case_node): Add additional type argument. Declare
2978 as static to match prototype. Convert the upper and lower bounds
2979 to the specified index type. Optimize away case ranges/values
2980 that are outside the index type's bounds. Truncate case ranges
2981 that span the index type's bounds.
2982 (expand_case): Avoid unnessary computation and memory allocation
2983 when index type is error_mark_node. Pass index_type as required
2984 by change to add_case_node API. No need to convert case range
2985 bounds to index_type, this is now done by add_case_node.
2987 2004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
2989 * config/s390/s390-protos.h (s390_offset_p): Add prototype.
2990 * config/s390/s390.c (s390_offset_p): New function.
2991 * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccu",
2992 "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use splitter to
2993 transform Q->Q alternatives to *clc pattern.
2995 ("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
2996 "*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf"): Use splitter
2997 to transform Q->Q alternatives to *mvc pattern.
2998 ("*mvc"): Move. Add peephole to merge adjacent MVCs.
2999 ("*anddi3", "*andsi3_zarch", "*andsi3_esa", "*andhi3_zarch",
3000 "*andhi3_esa", "*andqi3_zarch", "*andqi3_esa"): Use splitter to
3001 transform Q->Q alternatives to *nc pattern.
3002 ("*nc"): New insn. New peephole to merge adjacent NCs.
3003 ("*iordi3", "*iorsi3_zarch", "*iorsi3_esa", "*iorhi3_zarch",
3004 "*iorhi3_esa", "*iorqi3_zarch", "*iorqi3_esa"): Use splitter to
3005 transform Q->Q alternatives to *oc pattern.
3006 ("*oc"): New insn. New peephole to merge adjacent OCs.
3007 ("*xordi3", "*xorsi3", "*xorhi3", "*xorqi3"): Use splitter to
3008 transform Q->Q alternatives to *xc pattern.
3009 ("*xc"): New insn. New peephole to merge adjacent XCs.
3010 ("*xc_zero"): Move. Add peephole to merge adjacent XCs.
3012 2004-10-11 Andrew Pinski <pinskia@physics.uc.edu>
3014 * gimplify.c (gimple_push_condition): Make sure that we don't
3015 have any saved condition cleanup if we were at the top level.
3017 2004-10-11 Richard Sandiford <rsandifo@redhat.com>
3019 * config/frv/frv.md (*adddi3_internal): Change name to...
3020 (adddi3): ...replacing the exisiting define_expand. Combine
3021 alternatives. Fix the range of the constant constraints ('J' instead
3022 of 'NOP'). Remove bogus operands[2] check. Use simplify_gen_subreg
3023 to extract the lower and upper halves of the DImode operands.
3024 Always use addi3_lower and adddi3_upper, not the subdi3 forms.
3025 (adddi3_lower): Fix the range of the constant constraints and
3026 remove the bogus operands[2] check.
3027 (adddi3_upper): Use gpr_or_int10_operand as the predicate for
3028 operand 2. Use addxi to handle constant operands.
3029 (subdi3_lower, subdi3_upper): Don't handle constant operands.
3031 2004-10-11 Nathan Sidwell <nathan@codesourcery.com>
3033 * gengtype-lex.l: Add commented } & ) characters to unconfuse
3034 editor's paren matching. Allow #define inside a struct.
3036 2004-10-10 Andrew Pinski <pinskia@physics.uc.edu>
3039 part of PR c++/17657
3040 * fold-const.c (fold_build_cleanup_point_expr): New function.
3041 * tree.h (fold_build_cleanup_point_expr): Prototype.
3043 2004-10-10 Eric Christopher <echristo@redhat.com>
3045 * dwarf2out.c: Move attribute to subprogram declaration
3046 instead of subroutine type.
3048 2004-10-10 Kazu Hirata <kazu@cs.umass.edu>
3050 * basic-block.h: Remove the prototypes for can_hoist_insn_p,
3051 hoist_insn_after, and hoist_insn_to_edge.
3052 * rtl.h: Remove the prototypes for reg_referenced_between_p,
3053 no_jumps_between_p, and insn_dependent_p.
3054 * rtlanal.c (no_jumps_between_p, reg_referenced_between_p,
3055 insn_dependent_p, insn_dependent_p_1, hoist_test_store,
3056 can_hoist_insn_p, hoist_update_store, hoist_insn_after,
3057 hoist_insn_to_edge): Remove.
3059 2004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
3062 * c-decl.c (grokparms): Don't warn for parameters of incomplete
3063 type in declarations that are not definitions except for the case
3064 of parameters of void type.
3066 2004-10-10 Kazu Hirata <kazu@cs.umass.edu>
3068 * tree-cfg.c: Fix comment typos.
3070 2004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
3073 * builtins.c (expand_builtin_va_start): Check for too few
3074 arguments to va_start.
3076 2004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
3079 * c-decl.c (grokfield): Make diagnostic for bad cases of unnamed
3080 fields a pedwarn. Pedwarn here for unnamed structs/unions if
3082 * c-parse.in (component_decl): Don't pedwarn here for unnamed
3085 2004-10-09 Zdenek Dvorak <dvorakz@suse.cz>
3087 PR tree-optimization/17906
3088 * tree-tailcall.c (tree_optimize_tail_calls_1): Do not attempt to
3089 copy non-gimple reg arguments.
3091 2004-10-09 Roger Sayle <roger@eyesopen.com>
3093 PR rtl-optimization/17853
3094 * simplify-rtx.c (simplify_relational_operation): Correct comment.
3095 Reorganize handling of comparison operations with floating point
3096 results (always return 0.0 even without FLOAT_STORE_FLAG_VALUE).
3097 Likewise, introduce support for comparison operations with vector
3098 result types, introducing a new VECTOR_STORE_FLAG_VALUE target macro.
3100 * doc/rtl.texi: Document new VECTOR_STORE_FLAG_VALUE target macro.
3101 * doc/tm.texi: Likewise.
3103 2004-10-09 Steven Bosscher <stevenb@suse.de>
3105 * regs.h (struct reg_info_def): Remove the last_node_uid and
3106 changes_mode fields.
3107 (REGNO_LAST_NOTE_UID): Don't define.
3108 * regclass.c (reg_scan_mark_refs): Don't set REGNO_LAST_NOTE_UID.
3109 * regmove.c (copy_src_to_dest): Likewise.
3111 2004-10-09 Roger Sayle <roger@eyesopen.com>
3114 * fold-const.c (fold_div_compare): When optimizing X/C1 op C2, the
3115 relational comparison operator op needs to be swapped/reversed when
3116 C1 is negative. i.e. X/-10 < 1 becomes X >= -9, not X < -9.
3118 2004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
3121 * tree-ssa-phiopt.c (conditional_replacement): Use bsi_after_labels
3122 instead of bsi_start.
3123 (value_replacement): Likewise.
3124 (abs_replacement): Likewise
3126 2004-10-09 Steven Bosscher <stevenb@suse.de>
3128 * cfgexpand.c (maybe_dump_rtl_for_tree_stmt): New function.
3129 (expand_gimple_cond_expr, expand_gimple_tailcall,
3130 expand_gimple_basic_block): Use it to dump RTL for each stmt.
3131 (tree_expand_cfg): Announce full RTL function dump.
3132 * tree-optimize.c (execute_one_pass): Use normal RTL printing,
3133 not the graph version.
3134 * tree-pretty-print.c (dump_generic_node): Allow empty statements
3135 in the arms of a COND_EXPR for lowered nodes.
3137 2004-10-08 Joseph S. Myers <joseph@codesourcery.com>
3139 * config/rs6000/spe.h (atosfix16, atosfix32, atosfix64, atoufix16,
3140 atoufix32, atoufix64, strtosfix16, strtosfix32, strtosfix64,
3141 strtoufix16, strtoufix32, strtoufix64): Declare.
3143 2004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
3145 * c-lex.c (interpret_float): Give a pedwarn rather than a warning
3146 for an out-of-range floating point constant.
3147 * builtins.c (fold_builtin_inf): Give a pedwarn rather than a
3148 warning if the target format does not support infinities.
3150 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
3152 * emit-rtl.c (last_label_num, base_label_num): Remove.
3153 (max_label_num): Always return label_num.
3154 (set_new_last_label_num, restore_emit_status): Remove.
3155 (init_emit): Don't initialize last_label_num.
3156 * function.c (pop_function_context_from): Don't call
3157 restore_emit_status.
3158 * function.h: Remove the prototype for restore_emit_status.
3159 * rtl.h: Remove the prototype for set_new_last_label_num.
3161 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
3163 * stmt.c (expand_decl_init): Remove.
3164 * tree.h: Remove the corresponding prototype.
3166 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
3168 * integrate.c (try_constants, subst_constants, mark_stores):
3170 * integrate.h: Remove the prototype for try_constants.
3172 2004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
3174 * c-typeck.c (enum impl_conv): Add ic_argpass_nonproto.
3175 (convert_for_assignment): Handle ic_argpass_nonproto. Add
3176 comments about its relevance to errors.
3177 (c_convert_parm_for_inlining): Use ic_argpass_nonproto.
3179 2004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
3182 * c-ppoutput.c (cb_ident): Don't quote string as it is already
3185 2004-10-08 Diego Novillo <dnovillo@redhat.com>
3187 * tree-ssa-pre.c (init_pre): Use size of ARRAY_REF to allocate
3188 reference_node_pool.
3190 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
3192 * tree-cfg.c: Fix a comment typo.
3194 2004-10-08 Andreas Krebbel <krebbel1@de.ibm.com>
3196 * config/s390/s390.c (s390_register_info): Don't save fprs for
3198 (s390_conditional_register_usage): Make fprs 'fixed' for -msoft-float.
3200 2004-10-08 Ulrich Weigand <uweigand@de.ibm.com>
3202 * config/s390/s390.h (TARGET_DEFAULT_BACKCHAIN): New define.
3203 (TARGET_DEFAULT): Use symbolic values.
3204 * config/s390/tpf.h (TARGET_DEFAULT_BACKCHAIN): Redefine.
3205 (TARGET_DEFAULT): Use symbolic values.
3206 * config/s390/s390.c (s390_backchain_string): Initialize to
3207 TARGET_DEFAULT_BACKCHAIN.
3209 2004-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3211 * builtins.c (expand_builtin_mempcpy): Move tree handling code to
3212 fold_builtin_mempcpy. Accept a type parameter. Delete duplicate
3214 (expand_builtin_strcat): Accept a type parameter.
3215 (fold_builtin_mempcpy): Accept a type and endp parameter.
3217 * builtins.c (expand_builtin_strncpy): Delete duplicate code.
3218 Accept an `exp' instead of an `arglist'.
3220 2004-10-08 Nathan Sidwell <nathan@codesourcery.com>
3222 * tree-tailcall.c (tree_optimize_tail_calls_1): Use fold_convert,
3223 reverting my 2004-09-07 patch to use build_int_cst.
3225 2004-10-08 Eric Botcazou <ebotcazou@libertysurf.fr>
3228 * config/sparc/sparc.c (input_operand): Remove redundant code
3229 for handling LO_SUM.
3230 (legitimate_address_p) <REG+REG>: Do not recheck TARGET_V9.
3231 <LO_SUM>: If LO_SUM is offsettable, accept it for TFmode on V9.
3232 Otherwise only accept it for TFmode if quad move insns are available.
3234 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
3236 * tree-cfg.c (tree_forwarder_block_p): Reorder checks so that
3237 common cases will be caught earlier than others.
3239 2004-10-08 Michael Matz <matz@suse.de>
3241 * loop-doloop.c (doloop_optimize): Extend count.
3243 2004-10-08 Kaz Kojima <kkojima@gcc.gnu.org>
3245 * config/sh/sh.md (prefetch_media, prefetch_i4): New insns.
3246 (prefetch): Convert to expander.
3248 2004-10-08 Kaz Kojima <kkojima@gcc.gnu.org>
3250 * config/sh/sh.md (tls_global_dynamic): Use MEM pattern for the
3251 first argument of CALL.
3252 (tls_local_dynamic): Likewise.
3254 2004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
3256 * c-typeck.c (enum impl_conv): New.
3257 (convert_for_assignment): Use it. Take tree for function called
3258 instead of its name. Handle ObjC selectors for diagnostics at
3259 start of function. Select diagnostic text within the function
3260 using full sentences for diagnsotics. Use %qE to name functions
3262 (convert_arguments, build_modify_expr,
3263 c_convert_parm_for_inlining, digest_init, c_finish_return): Update
3264 callers to convert_for_assignment.
3265 (warn_for_assignment): Remove.
3267 2004-10-08 Nick Clifton <nickc@redhat.com>
3269 * config/sh/symbian.c (symbian_possibly_export_base_class):
3270 Replace use of deleted TYPE_USES_VIRTUAL_BASECLASSES macro with
3271 TYPE_CONTAINS_VPTR_P.
3273 2004-10-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
3275 * config/m32r/m32r.h (CONDITIONAL_REGISTER_USAGE): Don't exclude
3276 fixed registers form all_used_regs. Update call_really_used_regs.
3277 (CALL_REALLY_USED_REGISTERS): Define.
3278 * config/m32r/m32r.c (MUST_SAVE_REGISTER): Replace call_used_regs
3279 with call_really_used_regs.
3281 2004-10-08 Alan Modra <amodra@bigpond.net.au>
3283 * config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Choose gcrt1.o
3284 for -profile as well as -p and -pg.
3286 2004-10-07 Andrew Pinski <pinskia@physics.uc.edu>
3288 * libgcc2.c (__moddi3): Cast &w to UDWtype*.
3290 2004-10-07 Kazu Hirata <kazu@cs.umass.edu>
3292 * tree-cfg.c (tree_block_forwards_to): Remove.
3293 * tree-flow.h: Remove the corresponding prototype.
3295 2004-10-07 Kazu Hirata <kazu@cs.umass.edu>
3297 * tree-flow-inline.h (phi_nodes): Remove an unnecessary check
3298 for ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR.
3300 2004-10-07 Geoffrey Keating <geoffk@apple.com>
3303 * config/rs6000/rs6000.c (rs6000_generate_compare): When
3304 flag_trapping_math is in effect, don't generate subtract
3307 2004-10-07 Ulrich Weigand <uweigand@de.ibm.com>
3309 * config/s390/s390-protos.h (s390_narrow_logical_operator): Add.
3310 * config/s390/s390.c (s390_narrow_logical_operator): New function.
3311 (s390_extra_constraint_str): Add 'A' constraints.
3312 (s390_const_ok_for_constraint_p): Add 'Nx' constraints.
3313 * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Add 'A' constraint.
3314 (CONSTRAINT_LEN): Likewise.
3315 * config/s390/s390.md ("*anddi3"): Add NI alternative and splitter.
3316 ("*andsi3_zarch", "*andsi3_esa"): Likewise.
3317 ("*andhi3_zarch", "*andhi3_esa"): Likewise.
3318 ("*iordi3"): Add OI alternative and splitter.
3319 ("*iorsi3_zarch", "*iorsi3_esa"): Likewise.
3320 ("*iorhi3_zarch", "*iorhi3_esa"): Likewise.
3321 ("*xordi3"): Add XI alternative and splitter.
3322 ("*xorsi3", "*xorhi3"): Likewise.
3324 2004-10-07 Richard Sandiford <rsandifo@redhat.com>
3326 * config/mips/mips.c (mips_function_rodata_section): New function.
3327 (TARGET_ASM_FUNCTION_RODATA_SECTION): Use it.
3329 2004-10-07 Devang Patel <dpatel@apple.com>
3331 * rs6000/altivec.md (UNSPEC_VCMPBFP, UNSPEC_VCMPEQUB, UNSPEC_VCMPEQUH,
3332 UNSPEC_VCMPEQUW, UNSPEC_VCMPGEFP, UNSPEC_VCMPGTUB, UNSPEC_VCMPGTSB,
3333 UNSPEC_VCMPGTUH, UNSPEC_VCMPGTSH, UNSPEC_VCMPGTUW, UNSPEC_VCMPGTSW,
3334 UNSPEC_VCMPGTFP, UNSPEC_VSEL4SI, UNSPEC_VSEL4SF, UNSPEC_VSEL8HI,
3335 UNSPEC_VSEL16QI, UNSPEC_VCOND_V4SI, UNSPEC_VCOND_V4SF, UNSPEC_VCOND_V8HI,
3336 UNSPEC_VCOND_V16QI, UNSPEC_VCONDU_V4SI, UNSPEC_VCONDU_V8HI,
3337 UNSPEC_VCONDU_V16QI): New constant defines.
3338 (vcondv4si, vcondv4sf, vcondv8hi, vcondv16qi, vconduv4si, vconduv8hi,
3339 vconduv16qi): New patterns.
3340 * rs6000/rs6000-protos.h (rs6000_emit_vector_cond_expr): New function.
3341 * rs6000/rs6000.c (rs6000_emit_vector_cond_expr): New function.
3342 (get_vec_cmp_insn): Same.
3343 (get_vsel_insn): Same.
3344 (rs6000_emit_vector_compare): Same.
3345 (rs6000_emit_vector_select): Same.
3346 (INSN_NOT_AVAILABLE): New.
3348 2004-10-07 Zdenek Dvorak <dvorakz@suse.cz>
3350 PR tree-optimization/17749
3351 * tree-tailcall.c (find_tail_calls): Check that parameter is
3354 2004-10-07 Kazu Hirata <kazu@cs.umass.edu>
3356 * config/ia64/ia64.c: Fix a comment typo.
3358 2004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
3360 * doc/install.texi (*-*-solaris2*): Fix marker for URL.
3362 2004-10-07 Giovanni Bajo <giovannibajo@gcc.gnu.org>
3365 * tree-inline.c (expand_call_inline): Do not warn for functions
3366 marked with attribute noinline.
3368 2004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
3371 * config/sparc/sparc.c (sparc_output_mi_thunk): Set
3372 current_function_uses_only_leaf_regs as well as sparc_leaf_function_p.
3374 * config/sparc/sparc.c (sparc_gimplify_va_arg): Pass 'false' instead
3375 of 0 as 4th argument to pass_by_reference.
3376 Call build_va_arg_indirect_ref instead of build_fold_indirect_ref.
3378 2004-10-06 Eric Christopher <echristo@redhat.com>
3380 * config/sh/sh.c (sh_dwarf_calling_convention): Fix renesas dwarf
3383 2004-10-07 Richard Sandiford <rsandifo@redhat.com>
3386 * config/mips/mips.md (mov_<load>l): Remove hazard=none attribute.
3388 2004-10-07 Zdenek Dvorak <dvorakz@suse.cz>
3390 PR rtl-optimization/17791
3391 * loop-doloop.c (doloop_modify): Take number of iterations as
3393 (doloop_optimize): Extend or shorten the number of iterations
3394 when changing mode of counter register.
3395 * loop-iv.c (lowpart_subreg): Export.
3396 * rtl.h (lowpart_subreg): Declare.
3398 2004-10-07 Zdenek Dvorak <dvorakz@suse.cz>
3400 PR tree-optimization/17806
3401 * cfghooks.c (split_edge): Update IRREDUCIBLE_LOOP flags.
3402 * cfgloopmanip.c (loop_split_edge_with): Updating of IRREDUCIBLE_LOOP
3403 flags moved to split_edge.
3405 2004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
3408 * expmed.c (expand_sdiv_pow2): Force a stack adjustment
3409 before tentatively building the conditional move sequence.
3411 2004-10-07 Richard Sandiford <rsandifo@redhat.com>
3414 * function.c (assign_parm_setup_block_p): Tighten BLOCK_REG_PADDING
3416 * config/pa/pa.h (BLOCK_REG_PADDING): Define in terms of
3417 function_arg_padding.
3419 2004-10-07 Richard Sandiford <rsandifo@redhat.com>
3422 * Makefile.in (stmp-fixproto): Pass FIX_HEADER=build/... to fixproto.
3424 2004-10-07 Kazu Hirata <kazu@cs.umass.edu>
3426 * hooks.c (hook_int_void_1, hook_void_int): Remove.
3427 * hooks.h: Remove the corresponding prototypes.
3429 2004-10-06 Andrew Pinski <pinskia@physics.uc.edu>
3432 * tree-nested.c (walk_stmt_info): Add changed field.
3433 (convert_nonlocal_reference): Set changed to when we
3434 change a decl to unnested decl.
3435 <case ADDR_EXPR>: Instead of checking if the immediate part
3436 of the ADDR_EXPR changed, check the field changed.
3437 Use recompute_tree_invarant_for_addr_expr instead of unsetting
3439 (convert_local_reference): Set changed to when we
3440 change a decl to unnested decl.
3441 <case ADDR_EXPR>: Instead of checking if the immediate part
3442 of the ADDR_EXPR changed, check the field changed.
3443 Also call recompute_tree_invarant_for_addr_expr on the ADDR_EXPR.
3445 2004-10-06 Kazu Hirata <kazu@cs.umass.edu>
3447 * defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
3448 * dwarf2out.c (dwarf2out_init): Remove references to
3449 DWARF2_GENERATE_TEXT_SECTION_LABEL.
3450 * system.h: Poison DWARF2_GENERATE_TEXT_SECTION_LABEL.
3451 * doc/tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
3453 2004-10-06 Joseph S. Myers <jsm@polyomino.org.uk>
3455 * c-typeck.c (convert_arguments): Take expression for called
3456 function rather than its name. Handle ObjC selectors directly
3457 rather than relying on warn_for_assignment to do so. Call warning
3458 directly rather than warn_for_assignment. Use %qE in diagnostics.
3459 Say "argument" rather than "arg" in diagnostics.
3460 (build_function_call): Update call to convert_arguments.
3462 2004-10-06 Andrew Pinski <pinskia@physics.uc.edu>
3465 * dbxout.c (dbxout_symbol): Really handle RECORD, UNION, and
3466 ENUMs specially instead of just saying we do.
3468 2004-10-06 Eric Christopher <echristo@redhat.com>
3470 * dwarf2.h: Sync with include/elf/dwarf2.h
3472 2004-10-06 Daniel Berlin <dberlin@dberlin.org>
3474 * tree-pretty-print.c (dump_generic_node): Fix printing of BINFO
3477 2004-10-06 Daniel Berlin <dberlin@dberlin.org>
3479 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Convert
3480 to use FOR_EACH_SSA_USE_OPERAND iterator, and propagate_value.
3482 2004-10-06 Daniel Berlin <dberlin@dberlin.org>
3484 * lambda-code.c (compute_nest_using_fourier_motzkin): New
3486 (lambda_compute_auxillary_space):&