1 2004-11-03 Sebastian Pop <pop@cri.ensmp.fr>
3 * tree.c (tree_fold_gcd): Use FLOOR_MOD_EXPR instead of
6 2004-11-03 Jeff Law <law@redhat.com>
8 * stmt.c (expand_case): Speed up code to detect duplicate case
9 label targets and count unique case label targets.
11 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
13 * cppdefault.c, cppdefault.h, timevar.h: Update copyright.
15 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
17 * bitmap.h, dbxout.c, tree-mudflap.c: Fix comment formatting.
19 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
21 * tree-cfg.c (find_taken_edge): Abort if we are given a
22 statement that is neither COND_EXPR nor SWITCH_EXPR.
24 2004-11-02 Zdenek Dvorak <dvorakz@suse.cz>
26 * fold-const.c (fold): Reassociate also (x - mult) + mult and
27 (mult - x) + mult. Cast operands of expression after applying
28 distributive law to the correct types. Apply distributive law
29 to a * c - b * c for all non-float types.
31 2004-11-02 Geoffrey Keating <geoffk@apple.com>
33 * configure.ac: Don't clear STMP_FIXINC or STMP_FIXPROTO just
34 because we don't want to run them now; instead, set them to
35 stmp-install-fixproto or stmp-install-fixinc.
36 * Makefile.in (stmp-install-fixproto): New.
37 (stmp-install-fixinc): New.
38 * configure: Regenerate.
40 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
42 * flow.c (init_propagate_block_info): Use bitmap_empty_p on result
45 2004-11-02 Ziemowit Laski <zlaski@apple.com>
47 * c-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.
48 (c_types_compatible_p): Move function definition...
49 * c-objc-common.c (c_types_compatible_p): ...here.
50 * c-objc-common.h (LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from
53 2004-11-02 Steven Bosscher <stevenb@suse.de>
55 * cfgloop.h (struct loop): Update comment.
56 * cse.c (cse_main): Remove obsolete comment.
58 * expr.h (gen_cond_trap): Move prototype under functions provided
60 (canonicalize_condition, get_condition): Move to...
61 * rtl.h (canonicalize_condition, get_condition): ...here.
62 (branch_target_load_optimize): Add comment that this function is
64 * loop.c (canonicalize_condition, get_condition): Move to...
65 * rtlanal.c (canonicalize_condition, get_condition): ...here.
66 * sched-deps.c (get_condition): Rename to sched_get_condition.
67 (add_dependence): Update this caller.
69 2004-11-02 Andrew Pinski <pinskia@physics.uc.edu>
72 * tree-ssa.c (replace_immediate_uses): If we call fold_stmt, make sure
73 that the vops get marked for renaming.
75 2004-11-02 Andreas Krebbel <krebbel1@de.ibm.com>
77 * config/s390/s390.md ("movcc"): Set type attribute.
79 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
81 * tree-phinodes.c (add_phi_arg): Add an assertion that the
84 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
86 * tree-phinodes.c (remove_phi_arg_num): Do not zero the
87 element that's being removed.
89 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
91 * tree-ssa-threadupdate.c (copy_phis_to_block): Install PHI
92 arguments using PENDING_STMT.
93 (thread_block): Call copy_phis_to_block after redirecting an
96 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
98 * bitmap.h (bitmap_and, bitmap_and_into, bitmap_and_compl,
99 bitmap_and_compl_into, bitmap_ior, bitmap_iot_into,
100 bitmap_ior_compl, bitmap_xor, bitmap_xor_into): Produce void.
101 (bitmap_ior_and_compl_into): Produce bool.
102 (bitmap_union_of_diff): Rename to ...
103 (bitmap_ior_and_compl): ... here. Produce bool.
104 * bitmap.c (bitmap_ior_and_compl_into): Return bool. Use
105 bitmap_operation directly.
106 (bitmap_union_of_diff): Rename to ...
107 (bitmap_ior_and_compl): ... here. Return bool, use
108 bitmap_operation directly.
109 * df.c (df_rd_transfer_function): Use bitmap_ior_and_compl.
110 (df_ru_transfer_function, df_lr_transfer_function): Likewise.
111 * global.c (modify_bb_reg_pav): Likewise.
113 * bitmap.h (bitmap_equal_p): Return bool.
114 (bitmap_intersect_p, bitmap_intersect_compl_p): Declare.
115 * bitmap.c (bitmap_equal_p): Return bool. Compare directly.
116 (bitmap_intersect_p, bitmap_intersect_compl_p): New.
117 * flow.c (calculate_global_regs_live): Use bitmap_intersect_p and
118 bitmap_intersect_compl_p.
119 * ifcvt (dead_or_predicable): Likewise.
121 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
123 PR rtl-optimization/17104
124 * config/rs6000/rs6000.c (rs6000_emit_move): Don't wrap small
125 loads in zero_extend.
127 2004-11-02 Danny Smith <dannysmith@users.sourceforge.net>
130 * toplev.c (debug_type_names): Remove "dwarf-1".
132 2004-11-02 Ben Elliston <bje@au.ibm.com>
134 * timevar.h (timevar_get): Remove.
135 * timevar.c (timevar_get): Remove unused function.
137 2004-11-02 Joseph S. Myers <joseph@codesourcery.com>
139 * doc/include/texinfo.tex: Update from Texinfo CVS.
141 2004-11-02 Ben Elliston <bje@au.ibm.com>
143 * cppdefault.h (cpp_SYSROOT): Remove.
144 * cppdefault.c (cpp_SYSROOT): Likewise.
146 2004-11-01 Andrew MacLeod <amacleod@redhat.com>
148 PR tree-optimization/16447
149 * tree-cfg.c (bsi_commit_one_edge_insert): Rename from
150 bsi_commit_edge_inserts_1, and make funtion external. Return new block.
151 (bsi_commit_edge_inserts): Use renamed bsi_commit_one_edge_insert.
152 * tree-optimize.c (pass_cleanup_cfg_post_optimizing): Enable listing.
153 * tree-flow.h (bsi_commit_one_edge_insert): Extern decl.
154 * tree-outof-ssa.c (rewrite_trees): Don't commit edges here.
155 (same_stmt_list_p): New. Return TRUE if edge is to be forwarded.
156 (identical_copies_p): New. Return true is two copies are the same.
157 (identical_stmt_lists_p): New. Return true if stmt lists are the same.
158 (analyze_edges_for_bb): New. Determine how best to insert edge stmts
160 (perform_edge_inserts): New. Determine what to do with all stmts that
161 have been inserted on edges.
162 (remove_ssa_form): Analyze and commit edges from here.
164 2004-11-01 Andrew Pinski <pinskia@physics.uc.edu>
167 * bitmap.h (bmp_iter_end_p): Take a const pointer instead of a struct.
168 (EXECUTE_IF_SET_IN_BITMAP): Update call to bmp_iter_end_p.
169 (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
170 (EXECUTE_IF_AND_IN_BITMAP): Likewise.
172 2004-11-01 Joseph S. Myers <joseph@codesourcery.com>
175 * c-decl.c (get_parm_info): Allow FUNCTION_DECLs to appear amongst
176 parameter declarations.
178 2004-11-01 Andreas Krebbel <krebbel1@de.ibm.com>
180 * config/s390/s390.c (regclass_map): Put reg 33 (cc) to CC_REGS group.
181 (s390_secondary_input_reload_class)
182 (s390_secondary_output_reload_class): Use GENERAL_REGS to reload a cc
184 (s390_expand_cmpmem): Enable cmpmem implementation.
185 * config/s390/s390.h (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
186 Added three new classes: CC_REGS, ADDR_CC_REGS, GENERAL_CC_REGS.
187 (REG_CLASS_FROM_LETTER): New constraint 'c' added.
188 * config/s390/s390.md ("movcc"): New insn pattern.
189 * doc/md.texi: Document 'c' constraint for s390.
191 2004-11-01 Nathan Sidwell <nathan@codesourcery.com>
194 * doc/extend.texi (Deprecated Features): Deprecate G++ covariant
197 2004-10-16 Daniel Berlin <dberlin@dberlin.org>
199 Fix PR tree-optimization/17672
200 Fix PR tree-optimization/18168
202 * lambda-code.c (lambda_lattice_compute_base): Fix reversed
204 (gcc_tree_to_linear_expression): Add extra to existing constant.
205 (depth_of_nest): Factor out function used in various places.
206 (gcc_loop_to_lambda_loop): Clean up code a little bit. No
208 (find_induction_var_from_exit_cond): Stop guessing, and just
209 get the right answer :).
210 (gcc_loopnest_to_lambda_loopnest): Remove useless pre-allocation.
211 Print out message about result of attempt to create perfect nest.
212 (lbv_to_gcc_expression): Add type argument, use it to do math
213 and induction variable creation.
214 (lle_to_gcc_expression): Ditto.
215 (lambda_loopnest_to_gcc_loopnest): Create new iv with same type as
216 oldiv. Pass type argument to lle_to_gcc_expression and
217 lbv_to_gcc_expression.
218 Reset number of iterations after transformation.
219 (perfect_nestify): Remove useless pre-allocation, and cleanup
222 * tree-data-ref.c (build_classic_dist_vector): Return false for
223 dependences completely outside of the loop nest we asked about.
224 (build_classic_dir_vector): Ditto.
225 (compute_data_dependences_for_loop): Only add dependence relations
226 inside the loop we asked about.
228 * tree-loop-linear.c (linear_transform_loops): Use DDR_SIZE_VECT.
229 Compute immediate uses.
231 * tree-optimize.c: Move linear_transform_loops to before ivcanon.
233 2004-11-01 Kazu Hirata <kazu@cs.umass.edu>
235 * tree-cfg.c (thread_jumps): Fix a comment typo.
237 2004-11-01 Kazu Hirata <kazu@cs.umass.edu>
239 * tree-cfg.c (thread_jumps): Fix a comment typo.
241 2004-10-31 Nicolas Pitre <nico@cam.org>
243 * config/arm/ieee754-sf.S (floatdisf): Fix regression with
244 values smaller than 2^32.
246 2004-10-31 Jeff Law <law@redhat.com>
248 * cfgloop.h (struct loop): Remove unused "nodes" field.
249 * timevar.def (TV_TREE_LOOP_BOUNDS): New.
250 * tree-data-ref.c (find_data_references_in_loop): Use get_loop_body
251 instead of calling flow_bb_inside_loop_p for every basic block
253 * tree-ssa-loop.c (pass_record_bounds): Use TV_TREE_LOOP_BOUNDS.
255 2004-10-31 Graham Stott <graham.stott@btinternet.com>
257 * config/pa/pa.md: (prefetch_64, prefetch_32): Fix typo. Use
258 INT_5_BITS instead of VAL_5_BITS_P.
260 2004-10-31 Roger Sayle <roger@eyesopen.com>
263 * tree-inline.c (inline_forbidden_p_1): Use %qF instead of '%F'
264 for consistent quoting in diagnostic messages.
265 (expand_call_inline): Likewise.
266 * tree-optimize.c (tree_rest_of_compilation): Likewise.
267 * tree-ssa.c (warn_uninitialized_var): Likewise.
268 (warn_uninitialized_phi): Likewise.
270 2004-10-31 Richard Sandiford <rsandifo@redhat.com>
272 * config/mips/mips.c (mips_cannot_change_mode_class): Use a stricter
275 2004-10-31 Kazu Hirata <kazu@cs.umass.edu>
277 * c-common.c: Fix a comment typo.
279 2004-10-31 Jason Merrill <jason@redhat.com>
282 * tree-gimple.c (is_gimple_mem_rhs): Also require a val for
283 aggregate types that are not BLKmode.
285 2004-10-30 Ziemowit Laski <zlaski@apple.com>
287 * c-common.h (objc_lookup_ivar): Add second parameter to
289 * c-typeck.c (build_external_ref): After looking up symbol,
290 pass it to objc_lookup_ivar() to decide whether it or the
291 ivar should be used, rather than deciding the issue locally.
292 * stub-objc.c (objc_lookup_ivar): Add an OTHER parameter,
293 which is simply returned in the non-ObjC case.
295 2004-10-30 Danny Smith <dannysmith@users.sourceforge.net>
297 * sdbout.c (sdbout_symbol): Do not output type .def statements
300 2004-10-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
302 * c-common.c (catenate_strings): New.
303 (c_parse_error): Use it. Don't over-escape.
305 2004-10-30 Kaz Kojima <kkojima@gcc.gnu.org>
307 * config/sh/sh.c (calc_live_regs): Declare reg as unsigned and
308 modify the for loop expressions for it. Remove unnecessary casts.
309 (sh_expand_prologue): Declare reg as unsigned.
310 (sh_gimplify_va_arg_expr): Initinalize lab_over.
311 (sh_handle_sp_switch_attribute): Add const qualifier appropriately.
313 2004-10-30 Geoffrey Keating <geoffk@apple.com>
315 * doc/invoke.texi (Darwin Options): Improve description of
316 how the subtype is chosen.
318 2004-10-30 Roger Sayle <roger@eyesopen.com>
321 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Check that
322 the stack adjustment, "size", is valid for Pmode. If the stack
323 frame is too large, generate a trap insn and issue a warning.
325 2004-10-30 Kazu Hirata <kazu@cs.umass.edu>
327 * tree-ssa-dom.c: Fix comment typos.
329 2004-10-30 Kaz Kojima <kkojima@gcc.gnu.org>
331 * config/sh/sh.c (prepare_move_operands): Use operands[0]
332 for the output rtl if no_new_pseudos is set. Remove redundant
335 2004-10-30 Joseph S. Myers <joseph@codesourcery.com>
338 * c-decl.c (start_function): Don't check for DECL_BUILT_IN when
339 determining whether to copy parameter types from a previous
340 prototype declaration.
342 2004-10-29 Roger Sayle <roger@eyesopen.com>
344 PR rtl-optimization/17581
345 * cselib.c (cselib_process_insn): The last instruction of a libcall
346 block, with the REG_RETVAL note, should be considered in the libcall.
347 * gcse.c (do_local_cprop): Allow constants to be propagated outside
349 (adjust_libcall_notes): Use simplify_replace_rtx instead of
350 replace_rtx to avoid creating invalid RTL in REG_RETVAL notes.
352 2004-10-30 Kazu Hirata <kazu@cs.umass.edu>
354 * tree-phinodes.c (create_phi_node): Don't zero PHI_REWRITTEN.
356 2004-10-29 Jeff Law <law@redhat.com>
358 * tree-ssa-dom.c (struct edge_info): New structure holding
359 edge equivalences and edge redirection information.
360 (get_eq_expr_value, record_dominating_conditions): Kill.
361 (propagate_to_outgoing_edges): Renamed from cprop_into_phis.
362 Call record_edge_info.
363 (allocate_edge_info, free_edge_info): New.
364 (tree_ssa_dominator_optimize): Use propagate_to_outgoing_edges
365 rather than cprop_into_phis. Free all edge infos before threading
367 (thread_across_edge): Allocate new edge info structures as needed
368 and store the redirection target into the edge info structure
369 instead of the edge's AUX field.
370 (dom_opt_initialize_block): Mark unused argument with ATTRIBUTE_UNUSED.
371 (record_equivalence_from_incoming_edge): Lose unnecessary argument.
372 Revamp code which finds and records equivalences associated with
373 edges to use saved data in the edge_info structure.
374 (record_equivalencs_from_phis): Similarly.
375 (dom_opt_finalize_block): Revamp code which finds and records
376 equivalences associated with edges to use saved data in the
378 (build_and_record_new_cond): New function.
379 (record_conditions): Use build_and_record_new_cond to record
380 dominating conditions.
381 (record_edge_info): New function.
382 (record_range): Tighten test for conditions which create
383 useful range records.
385 2004-10-29 Geoffrey Keating <geoffk@apple.com>
387 * config/i386/darwin.h (ASM_SPEC): Simplify.
388 (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
389 * config/rs6000/darwin.h (DARWIN_SUBARCH_SPEC): New.
390 (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
391 * config/darwin.h (LINK_COMMAND_SPEC): Don't pass -arch here.
392 (LINK_SPEC): Do pass -arch here. Handle -force_cpusubtype_ALL
393 in all cases. Pass the right -arch or -arch_only based on -mcpu.
394 (ASM_SPEC): Handle -force_cpusubtype_ALL.
395 * doc/invoke.texi (Darwin Options): Improve documentation for
396 Darwin linker (and libtool) switches.
398 * config/rs6000/darwin-fallback.c: Include <mach/thread_status.h>.
400 2004-10-29 Stan Shebs <shebs@apple.com>
402 * config/rs6000/darwin-tramp.asm: Make more 64-bit-friendly.
404 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
406 * tree-phinodes.c (allocate_phi_node): New.
407 (make_phi_node, resize_phi_node): Use it.
409 2004-10-29 David Edelsohn <edelsohn@gnu.org>
411 * config/rs6000/sysv4.h (TARGET_POWER): Define as 0.
412 * config/rs6000/darwin.h (TARGET_POWER): Define as 0.
414 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
416 * tree-phinodes.c (make_phi_node, resize_phi_node): Don't zero
418 * tree.h (tree_phi_node): Tell the garbage collector to chase
421 2004-10-29 Richard Earnshaw <rearnsha@arm.com>
423 * opts.c (decode_options): Lower the crossjump threshold for -Os.
425 2004-10-29 Diego Novillo <dnovillo@redhat.com>
427 * tree.h (struct tree_ssa_name): Remove field 'equiv'.
429 2004-10-28 Nathan Sidwell <nathan@codesourcery.com>
431 * bitmap.h (bitmap_empty_p): New.
432 (bitmap_and, bitmap_and_into, bitmap_and_compl,
433 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into,
434 bitmap_ior_compl, bitmap_xor, bitmap_xor_into): New bitmap
436 (bitmap_ior_and_compl): Rename to ...
437 (bitmap_ior_and_compl_into): ... here.
438 * bitmap.c (bitmap_equal_p): Use bitmap_xor.
439 (bitmap_ior_and_compl): Rename to ...
440 (bitmap_ior_and_compl_into): ... here. Adjust. Return changed
442 (bitmap_union_of_diff): Use renamed bitmap functions.
443 * basic-block.h (AND_REG_SET, AND_COMPL_REG_SET, IOR_REG_SET,
444 XOR_REG_SET, IOR_AND_COMPL_REG_SET): Likewise.
445 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
446 * df.c (df_bb_rd_local_compute)
447 * flow.c (calculate_global_regs_live,
448 init_propagate_block_info): Likewise.
449 * ifcvt.c (find_if_case_1, find_if_case_2,
450 dead_or_predicable): Likewise.
451 * ra-build.c (union_web_part_roots, livethrough_conflicts_bb,
452 reset_conflicts, conflicts_between_webs): Likewise.
453 * ra-rewrite.c (reloads_to_loads, rewrite_program2,
454 detect_web_parts_to_rebuild): Likewise.
455 * sched-ebb.c (compute_jump_reg_dependencies): Likewise.
456 * tree-int-ssa.c (insert_phi_nodes_for, rewrite_into_ssa): Likewise.
457 * tree-sra.c (decide_instantiations): Likewise.
458 * tree-ssa-alias.c (create_name_tags,
459 merge_pointed_to_info): Likewise.
460 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
461 * tree-ssa-loop-im.c (move_computations): Likewise.
462 * tree-ssa-operands.c (get_call_expr_operands): Likewise.
463 * tree-ssa-pre.c (fini_pre): Likewise.
464 * tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
465 * tree-ssanames.c (any_marked_for_rewrite_p): Likewise.
466 * tree-vectorizer.c (vectorize_loops): Likewise.
468 2004-10-29 Nick Clifton <nickc@redhat.com>
470 config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): When
471 adding the PIC register to the fixed_regs array, also add it
472 to the call_used_regs array.
474 2004-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
476 * gthr-posix.h (__gthread_recursive_mutex_init_function): Guard
477 with #ifdef PTHREAD_MUTEX_RECURSIVE/#endif pairs.
479 2004-10-28 Daniel Berlin <dberlin@dberlin.org>
481 * tree-into-ssa.c (rewrite_virtual_phi_arguments): New function.
482 (rewrite_blocks): Modify argument, and use it to decide which
484 (rewrite_def_def_chains): Call rewrite_blocks with true here.
485 (rewrite_into_ssa): and call it with false here.
487 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
489 * tree-phinodes.c (add_phi_arg): Turn an "if" that always
490 triggers into gcc_assert.
492 2004-10-28 Diego Novillo <dnovillo@redhat.com>
494 PR tree-optimization/16728
495 * tree-flow.h (get_ptr_info): Declare.
496 * tree-ssa-alias.c (get_ptr_info): Make extern.
497 * tree-ssa-copy.c (merge_alias_info): Merge flow-sensitive
500 2004-10-28 Stan Shebs <shebs@apple.com>
502 * config/rs6000/darwin.h (SUBTARGET_EXTRA_SPECS): Handle -m64.
503 * config/rs6000/rs6000.c (rs6000_darwin_file_start): Add ppc64
506 2004-10-28 Frank Ch. Eigler <fche@redhat.com>
508 * tree-mudflap.c (mudflap_init): Mark cache-lookup decls to
509 prevent their later unnecessary registration.
510 (mf_build_check_statement_for): Remove "addr" argument, and
511 related "__mf_value" generated code. Update callers.
512 (mf_decl_eligible_p): New function, factored from mx_register_decls.
513 (mx_register_decls): Call it.
514 (mf_xform_derefs_1): Rewrite COMPONENT_REF and ARRAY_REF cases
515 to restore support for complex nested expressions.
516 (mudflap_enqueue_decl): Simplify. Move registration call emission
518 (mudflap_finish_file): ... to here.
519 (mudflap_enqueue_constant): Remove dump code.
521 2004-10-28 Zack Weinberg <zack@codesourcery.com>
524 * dbxout.c (dbxout_begin_complex_stabs_noforcetext): New function.
525 (DBX_FINISH_STABS): Add (unused by default) SYM parameter.
526 (dbxout_finish_complex_stabs): Update to match.
527 (dbxout_symbol_location): Call emit_pending_bincls_if_required
528 and FORCE_TEXT before DBX_STATIC_BLOCK_START. Use
529 dbxout_begin_complex_stabs_noforcetext.
530 * xcoffout.h (DBX_FINISH_STABS): Restore special case for
531 N_GSYM, using new SYM parameter. Correct logic for special
534 * varasm.c (function_section): If DECL is NULL_TREE, don't try
535 to do anything else. Do not call get_insns if cfun or
538 2004-10-28 Adam Nemet <anemet@lnxw.com>
541 * c-typeck.c (c_mark_addressable): Issue error if address of a
542 register variable is taken. Use "%qD" to print DECL_NAME.
544 2004-10-28 Diego Novillo <dnovillo@redhat.com>
546 * opts.c (decode_options): Don't run PRE at -Os.
548 2004-10-28 Richard Henderson <rth@redhat.com>
550 * config/alpha/alpha.md (movqicc_internal): Allow exactly one
551 zero in the conditional.
552 (movhicc_internal, movsicc_internal, movdicc_internal): Likewise.
554 2004-10-28 Richard Henderson <rth@redhat.com>
556 * cse.c (memory_extend_rtx): Remove.
557 (cse_main): Don't set it.
558 (cse_insn): Use a local buffer instead.
560 2004-10-28 Andreas Krebbel <krebbel1@de.ibm.com>
562 * profile.c (branch_prob): Call to init_edge_profiler added.
563 * rtl-profile.c (rtl_init_edge_profiler): New function.
564 (rtl_gen_edge_profiler): Replaced call to insert_insn_on_edge with
565 call to safe_insert_insn_on_edge.
566 (rtl_profile_hooks): rtl_init_edge_profiler added.
567 * tree-profile.c (tree_init_edge_profiler): New function.
568 (tree_profile_hooks): tree_init_edge_profiler added.
569 * value-prof.h (profile_hooks) init_edge_profiler prototype added.
571 2004-10-28 Nick Clifton <nickc@redhat.com>
573 * config/iq2000/iq2000.c (iq2000_expand_epilogue): Use
574 emit_jump_insn() to generate the return instruction.
576 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
578 * tree-phinodes.c: Remove trailing whitespace.
580 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
582 * tree-ssa-loop-ivopts.c: Fix a comment typo.
583 * doc/invoke.texi: Fix a typo.
585 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
587 * Makefile.in (OBJS-common): Remove duplicates.
589 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
591 * lambda-code.c (nestify_update_pending_stmts): Remove.
592 (perfect_nestify): Use flush_pending_stmts instead of
593 nestify_update_pending_stmts.
594 * tree-cfg.c (tree_make_forwarder_block): Use
596 * tree-flow.h: Add a prototype for flush_pending_stmts.
597 * tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge):
598 Use flush_pending_stmts.
599 (lv_update_pending_stmts): Remove.
600 (tree_ssa_loop_version): Use flush_pending_stmts instead of
601 lv_update_pending_stmts.
602 * tree-ssa.c (flush_pending_stmts): New.
604 2004-10-28 Ulrich Weigand <uweigand@de.ibm.com>
607 * final.c (alter_subreg): Compute correct offset to use with
608 paradoxical SUBREGs of memory operands.
609 * recog.c (general_operand): Allow paradoxical SUBREGs of
610 memory operands after reload.
611 * simplify-rtx.c (simplify_gen_subreg): Fail if simplify_subreg
612 has failed when passed a hard register.
614 2004-10-28 Aldy Hernandez <aldyh@redhat.com>
616 * function.c (assign_parm_setup_block): Handle parallels correctly.
618 2004-10-28 Kaz Kojima <kkojima@gcc.gnu.org>
620 * final.c (shorten_branches): Initialize flags structure.
622 2004-10-28 Nathan Sidwell <nathan@codesourcery.com>
624 * tree.c (int_cst_node, int_cst_hash_table): New variables.
625 (init_ttree): Initialize them.
626 (int_cst_hash_hash, int_cst_hash_eq): New hashing functions.
627 (build_int_cst_wide): Use hash table for oversized integers.
629 2004-10-28 Nick Clifton <nickc@redhat.com>
631 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Define
634 2004-10-27 Richard Henderson <rth@redhat.com>
637 * expr.c (emit_group_load): Don't go force temporary for memory
639 (emit_group_store): Similarly.
641 2004-10-27 Andrew Pinski <pinskia@physics.uc.edu>
644 * common.opt (--param): Fix spelling of parameter.
646 2004-10-27 Andrew Pinski <pinskia@physics.uc.edu>
649 * tree-cfg.c (remove_useless_stmts_1) <case SWITCH_EXPR>:
650 Don't fold statement.
651 <case ASM_EXPR>: Fold the statement.
653 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
655 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
656 <COND_EXPR>: Use EDGE_COUNT instead of GOTO_DESTINATION.
658 2004-10-28 Joseph S. Myers <jsm@polyomino.org.uk>
660 * doc/contrib.texi, doc/cpp.texi, doc/cppopts.texi,
661 doc/extend.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
662 doc/libgcc.texi, doc/md.texi, doc/passes.texi,
663 doc/sourcebuild.texi, doc/tm.texi: Improve Texinfo formatting.
665 2004-10-28 Joseph S. Myers <jsm@polyomino.org.uk>
667 * doc/c-tree.texi, doc/cpp.texi, doc/implement-c.texi,
668 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/tm.texi: Put
669 punctuation outside quotes.
671 2004-10-27 David Mosberger <davidm@hpl.hp.com>
672 James E Wilson <wilson@specifixinc.com>
675 * config/ia64/ia64.c (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on
676 sibcall alloc instruction.
677 (process_set): Handle sibcall alloc instruction.
679 2004-10-27 Geoffrey Keating <geoffk@apple.com>
681 * config/rs6000/rs6000.c (rs6000_attribute_table): Add
682 SUBTARGET_ATTRIBUTE_TABLE.
683 * config/darwin.h (ASM_WEAKEN_DECL): Handle weak_import.
684 (SUBTARGET_ATTRIBUTE_TABLE): Define.
685 * config/darwin.c (darwin_handle_weak_import_attribute): New.
686 (HAVE_DEAD_STRIP): Delete.
687 (no_dead_strip): Don't test HAVE_DEAD_STRIP.
688 * config/darwin-protos.h (darwin_handle_weak_import_attribute):
691 * doc/tm.texi (USE_SELECT_SECTION_FOR_FUNCTIONS): Document.
693 * config/darwin.h (GTHREAD_USE_WEAK): Define.
695 2004-10-28 Ben Elliston <bje@au.ibm.com>
697 * params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): New.
698 (PARAM_SRA_FIELD_STRUCTURE_RATIO): Likewise.
699 * params.h (SRA_MAX_STRUCTURE_SIZE): New.
700 (SRA_FIELD_STRUCTURE_RATIO): Likewise.
701 * tree-sra.c: Include "params.h".
702 (decide_block_copy): Use new parameters.
703 * doc/invoke.texi (Optimize Options): Document new SRA pass
704 parameters sra-max-structure-size and sra-field-structure-ratio.
706 2004-10-27 Nicolas Pitre <nico@cam.org>
708 * config/arm/ieee754-df.S (floatdidf): Fix regression with big values.
710 2004-10-27 Zdenek Dvorak <dvorakz@suse.cz>
712 PR tree-optimization/18048
713 * fold-const.c (try_move_mult_to_index): New function.
714 (fold): Use try_move_mult_to_index.
715 * tree-ssa-loop-ivopts.c (try_add_cand_for): Prefer common candidates.
716 * tree-ssa-loop-niter.c (number_of_iterations_cond): Produce
717 an all-ones unsigned constant without extra bits.
718 * tree.c (build_low_bits_mask): New function.
719 * tree.h (build_low_bits_mask): Declare.
721 2004-10-27 David Edelsohn <edelsohn@gnu.org>
724 * config/rs6000/rs6000.md (maxsf3): Add !flag_trapping_math to
730 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
732 * tree-cfg.c (thread_jumps): Speed up by reordering the two
733 conditions for entering basic blocks into worklist.
735 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
737 * tree-cfg.c (thread_jumps): Speed up by pretending to have
738 ENTRY_BLOCK_PTR in worklist.
740 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
742 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
743 <GOTO_EXPR>: Don't let an explicit GOTO_EXPR slip through.
745 2004-10-27 Daniel Berlin <dberlin@dberlin.org>
747 Fix PR tree-optimization/17133
749 * tree-cfg.c (rewrite_to_new_ssa_names_bb): Also rewrite must
752 * tree-flow-inline.h: V_MUST_DEF_OP became V_MUST_DEF_RESULT.
753 (get_v_must_def_result_ptr): Modify for new structure of
755 (get_v_must_def_kill_ptr): New.
756 (op_iter_next_use): Add support for the kill that occurs in V_MUST_DEFs.
757 (op_iter_next_tree): Ditto. Also V_MAY_DEF_OP became V_MAY_DEF_RESULT.
758 (op_iter_next_def): V_MAY_DEF_OP became V_MAY_DEF_RESULT.
759 (op_iter_init): Initialize new mustu members.
760 (op_iter_next_mustdef): New function.
761 (op_iter_init_mustdef): Ditto.
763 * tree-flow.h (rewrite_def_def_chains): New function.
765 * tree-into-ssa.c (mark_def_sites): Handle mustdefkill operands.
766 (ssa_mark_def_sites): Ditto.
767 (rewrite_stmt): Ditto.
768 (ssa_rewrite_stmt): Ditto.
769 (rewrite_blocks): Factor out from rewrite_into_ssa.
770 (mark_def_block_sites): Ditto.
771 (rewrite_def_def_chains): New function, just rewrites def-def
772 chains without phi node insertion.
774 * tree-pass.h (TODO_fix_def_def_chains): New todo flag.
776 * tree-optimize.c (execute_todo): Handle TODO_fix_def_def_chains.
778 * tree-pretty-print.c (dump_vops): Print out MUST_DEF's so that
779 they include the rhs now.
781 * tree-ssa-ccp.c (visit_assignment): V_MUST_DEF_OP became
784 * tree-ssa-dce.c (mark_operand_necessary): Add phionly argument.
786 (mark_really_necessary_kill_operand_phis): New function.
787 (perform_tree_ssa_dce): Call it.
788 (pass_dce): Add TODO_fix_def_def_chains.
789 (pass_cd_dce): Ditto.
791 * tree-ssa-loop-im.c (determine_max_movement): Look at kills as
793 (rewrite_mem_refs): Ditto.
795 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Look at kills
798 * tree-ssa-operands.c (allocate_v_may_def_optype):
799 v_may_def_operand_type_t became v_def_use_operand_type_t.
800 (allocate_v_must_def_optype) Ditto.
801 (finalize_ssa_v_must_defs): Update for new operand type, as well
802 as setting the use portion as well.
803 (copy_virtual_operands): Copy the kill operand as well.
804 (create_ssa_artficial_load_stmt): V_MUST_DEF_OP became
807 * tree-ssa-operands.h (v_may_def_operand_type): Renamed to
808 v_def_use_operand_type.
809 (v_must_def_optype_d): Use v_def_use_operand_type.
810 (V_MUST_DEF_OP_*): Renamed to V_MUST_DEF_RESULT_*
811 (V_MUST_DEF_KILL_*): New macros.
812 (struct ssa_operand_iterator_d): Add num_v_mustu and v_mustu_i
814 Rename existing must_i and num_v_must members to mustd_i and
816 (SSA_OP_VMUSTDEFKILL): New flag.
817 (SSA_OP_VIRTUAL_KILLS): New flag.
818 (SSA_OP_ALL_OPERANDS): Add in SSA_OP_ALL_KILLS.
819 (SSA_OP_ALL_KILLS): New flag.
820 (FOR_EACH_SSA_MUSTDEF_OPERAND): New macro.
822 * tree-ssa.c (verify_ssa): Verify virtual kills as well.
824 * tree-vectorizer.c (vect_create_data_ref_ptr): V_MUST_DEF_OP
825 became V_MUST_DEF_RESULT.
826 (rename_variables_in_bb): Rename kill pointer as well.
828 * tree-dfa.c (compute_immediate_uses_for_stmt): Add kills into the
831 2004-10-27 Richard Sandiford <rsandifo@redhat.com>
833 * dbxout.c (dbxout_source_line): Move declaration of begin_label to
834 the block that needs it.
836 2004-10-27 Zack Weinberg <zack@codesourcery.com>
838 * dbxout.c (dbxout_finish_complex_stabs): Mark 'line' variable
841 2004-10-27 Zack Weinberg <zack@codesourcery.com>
843 * c-lex.c (cb_def_pragma): Clean up code for making location
844 palatable to diagnostic.c.
846 2004-10-27 Steven Bosscher <stevenb@suse.de>
848 PR tree-optimization/17757
849 * tree-phinodes.c (remove_phi_arg_num): Don't remove PHIs
850 without any PHI arguments left. Make sure the argument that
851 we're supposed to remove exists at all.
853 2004-10-27 Paul Brook <paul@codesourcery.com>
855 * configure.ac: Don't test for [build] __cxa_atexit when building a
857 * configure: Regenerate.
859 2004-10-27 Paul Brook <paul@codeosurcery.com>
861 * configure.ac: Use build_exeext not host_exeext when lookin for
863 * configure: Regenerate.
865 2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com>
867 * config/s390/s390.md ("*subdf3_cc"): Replaced plus by minus.
869 2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com>
870 patch originally created by Kelley Cook <kcook@gcc.gnu.org>
873 * opts.c (OPT_fprofile_generate): Default to -funroll-loops
874 to match -fprofile-use.
876 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
878 * config/rs6000/rs6000.c: Fix a comment typo.
880 2004-10-27 Zack Weinberg <zack@codesourcery.com>
882 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Increment line
885 2004-10-27 Andreas Schwab <schwab@suse.de>
887 * varasm.c (default_stabs_asm_out_destructor): Mark symbol as
889 (default_stabs_asm_out_constructor): Likewise.
891 2004-10-26 Geoffrey Keating <geoffk@apple.com>
893 * builtins.c (fold_builtin_unordered_cmp): Always bring both
894 operands to the same type.
896 2004-10-26 James E Wilson <wilson@specifixinc.com>
899 * emit-rtl.c (emit_copy_of_insn_after): Copy RTX_FRAME_RELATED_P.
901 2004-10-26 Zack Weinberg <zack@codesourcery.com>
903 * dbxout.c: Include obstack.h.
904 (ASM_STABS_OP): Take XCOFF_DEBUGGING_INFO into account in
906 (ASM_STABD_OP, NO_DBX_MAIN_SOURCE_DIRECTORY, DBX_CONTIN_CHAR):
908 (DBX_CONTIN_LENGTH): Move definition with others.
909 (DBX_FINISH_STABS): New target macro.
910 (current_sym_code, current_sym_value, current_sym_addr)
911 (current_sym_nchars, CHARS, dbxout_continue)
912 (print_int_cst_octal, print_octal, print_wide_int)
913 (dbxout_prepare_symbol, dbxout_finish_symbol): Delete.
914 (stabstr_ob, stabstr_last_contin_point): New variables.
915 (NUMBER_FMT_LOOP): New improper macro.
916 (dbxout_int, dbxout_stab_value_zero, dbxout_stab_value_label)
917 (dbxout_stab_value_label_diff, dbxout_stab_value_internal_label)
918 (dbxout_stab_value_internal_label_diff, dbxout_stabd)
919 (dbxout_begin_stabn, dbxout_begin_stabn_sline)
920 (dbxout_begin_simple_stabs, dbxout_begin_simple_stabs_desc)
921 (dbxout_begin_complex_stabs, dbxout_finish_complex_stabs)
922 (stabstr_C, stabstr_S, stabstr_I, stabstr_D, stabstr_U, stabstr_O)
923 (stabstr_continue, DECL_ACCESSIBILITY_CHAR)
924 New functions and/or proper function-like macros.
925 (CONTIN): Use stabstr_continue, unconditionally.
926 (get_lang_number): Define unconditionally, with ATTRIBUTE_UNUSED.
927 (dbxout_init): Initialize stabstr_ob. Check
928 NO_DBX_MAIN_SOURCE_DIRECTORY. Only write out the Ltext label
929 if it was used. Use the new interfaces.
930 (dbxout_source_file): Remove file argument; always write to
931 asm_out_file. Use the new interfaces.
932 (dbxout_type_method_1): Remove second argument which is always
933 DECL_ASSEMBLER_NAME of the first argument. Use the new interfaces.
934 (dbxout_type_methods): Remove write-only variables. Use the
936 (dbxout_parms): Refactor to remove code duplicated in each of
937 several successive if-else-if blocks. Use the new interfaces.
938 (dbxout_function_end, emit_bincl_stab, dbxout_end_source_file)
939 (dbxout_source_line, dbxout_finish, dbxout_type_index)
940 (dbxout_type_fields, dbxout_range_type, dbxout_type, dbxout_type_name)
941 (dbxout_class_name_qualifiers, dbxout_symbol, dbxout_symbol_location)
942 (dbxout_symbol_name, dbxout_reg_parms, dbxout_args)
943 (dbx_output_lbrac, dbx_output_rbrac, dbxout_block):
944 Use the new interfaces.
945 * Makefile.in (dbxout.o): Update dependencies.
947 * defaults.h: Don't define ASM_STABD_OP.
948 * output.h: Prototype new dbxout_* interfaces.
949 * system.h: Poison DBX_OUTPUT_GCC_MARKER and DBX_FINISH_SYMBOL.
950 * varasm.c: Don't define ASM_STABS_OP.
951 (default_stabs_asm_out_constructor, default_stabs_asm_out_destructor):
952 Use the new dbxout.c interfaces. Call sorry if neither
953 DBX_DEBUGGING_INFO nor XCOFF_DEBUGGING_INFO is defined.
955 * xcoffout.h: Don't define ASM_STABS_OP.
956 (DBX_FINISH_SYMBOL): Rewrite and rename DBX_FINISH_STABS.
957 (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY, DBX_OUTPUT_GCC_MARKER): Delete.
958 (NO_DBX_MAIN_SOURCE_DIRECTORY, NO_DBX_GCC_MARKER): Define.
959 (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Change bare block to
960 do { ... } while (0) idiom.
962 * config/alpha/alpha.c (num_source_filenames): Export.
963 * config/alpha/alpha.h (num_source_filenames): Declare.
964 (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
965 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
966 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
967 Always use .debugsym. Update commentary.
968 * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
969 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
970 * config/rs6000/linux64.h (DBX_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC):
972 * config/rs6000/rs6000.c: If TARGET_MACHO, include gstab.h.
973 (macho_branch_islands): Use new interfaces.
975 * doc/tm.texi: Update.
977 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
979 * expr.c (emit_group_store): Do not treat floats as BLKmode.
980 (emit_group_load): Same.
982 2004-10-26 Joseph S. Myers <jsm@polyomino.org.uk>
984 * c-parse.in (datadef): Use pedwarn rather than error and warning
985 for diagnostic in case of no declaration specifiers.
987 2004-10-26 Richard Sandiford <rsandifo@redhat.com>
990 * doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been
991 reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh
992 can be used to work around this.
994 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
996 * config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Adjust for e500
999 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
1001 * stmt.c (expand_case): Update a comment.
1003 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
1005 * stmt.c (expand_case): Put an assertion that index_expr is
1006 never INTEGER_CST. Don't special case for constant
1009 2004-10-26 Andrew Pinski <pinskia@physics.uc.edu>
1012 * c-parse.in (designator): Finish with a semi-colon.
1014 2004-10-26 Fariborz Jahanian <fjahanian@apple.com>
1016 * config/rs6000/rs6000.md (andsi3_internal8): Set CR when splitting
1019 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
1021 * stmt.c (expand_case): Remove code to handle SWITCH_EXPR with
1022 a default case only.
1024 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
1026 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs): Adjust for
1028 (spe_build_register_parallel): New.
1029 (rs6000_spe_function_arg): Handle e500 doubles.
1030 (function_arg): Same.
1031 (spe_func_has_64bit_regs_p): Same.
1032 (rs6000_function_value): Same.
1033 (rs6000_libcall_value): Same.
1034 (legitimate_lo_sum_address_p): Return false for e500 doubles.
1036 * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): Adjust for e500
1038 (DATA_ALIGNMENT): Same.
1039 (CANNOT_CHANGE_MODE_CLASS): Same.
1041 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
1043 * expr.c (emit_group_load): Handle floats.
1044 (emit_group_store): Same.
1046 2004-10-26 Nathan Sidwell <nathan@codesourcery.com>
1048 * c-lex.c (get_nonpadding_token): Remove.
1049 (c_lex_with_flags): Push timevar and eat padding here. Improve
1050 stray token diagnostic.
1051 (lex_string): Replace logic with switch statement, eat padding
1054 2004-10-26 Geoffrey Keating <geoffk@apple.com>
1057 * config/i386/darwin.h (ASM_SPEC): Undef it before defining.
1059 2004-10-25 Geoffrey Keating <geoffk@apple.com>
1061 * config/darwin.h (LINK_SPEC): Default weak_reference_mismatches
1063 (MAKE_DECL_ONE_ONLY): Set DECL_WEAK.
1064 (ASM_MAKE_LABEL_LINKONCE): Delete.
1065 (ASM_WEAKEN_DECL): New.
1066 (ASM_DECLARE_OBJECT_NAME): Look at DECL_WEAK not DECL_ONE_ONLY.
1067 (ASM_DECLARE_FUNCTION_NAME): Likewise.
1068 (TEXT_SECTION_ASM_OP): Add a tab.
1069 (DATA_SECTION_ASM_OP): Likewise.
1070 (SECTION_FUNCTION): Add a tab. Use fputs. Don't call
1071 data_section on every section change.
1072 (EXTRA_SECTIONS): Add a bunch of new extra sections.
1073 (EXTRA_SECTION_FUNCTIONS): Likewise.
1074 (USE_SELECT_SECTION_FOR_FUNCTIONS): Define.
1075 (JCR_SECTION_NAME): Define.
1076 (TARGET_SECTION_TYPE_FLAGS): Don't define.
1077 * config/darwin.c (darwin_encode_section_info): A symbol is defined
1078 in this file if it is not weak.
1079 (textcoal_section): Delete.
1080 (datacoal_section): Delete.
1081 (darwin_make_decl_one_only): Delete.
1082 (machopic_select_section): Handle functions.
1083 (darwin_asm_named_section): Add a tab.
1084 (darwin_section_type_flags): Delete.
1085 (darwin_unique_section): Delete contents.
1086 (darwin_emit_unwind_label): Add a tab. Make decls weak if
1088 * config/darwin-protos.h (darwin_section_type_flags): Delete.
1089 (darwin_make_decl_one_only): Delete.
1090 (text_coal_section): New.
1091 (text_unlikely_section): New.
1092 (text_unlikely_coal_section): New.
1093 (const_coal_section): New.
1094 (data_coal_section): New.
1095 (const_data_coal_section): New.
1096 * varasm.c (function_section): Honour
1097 USE_SELECT_SECTION_FOR_FUNCTIONS.
1098 * dwarf2out.c (output_call_frame_info): Look at DECL_WEAK when
1099 TARGET_USES_WEAK_UNWIND_INFO is in effect.
1100 * dbxout.c (dbxout_source_file): Don't change sections while
1101 a function is being output.
1103 2004-10-25 David Ayers <d.ayers@inode.at>
1105 * c-common.h: Remove RID_ID.
1106 * c-parse.in: Remove OBJECTNAME and references to RID_ID.
1107 (typespec_reserved_attr): Add rule for TYPENAME
1108 non_empty_protocolrefs.
1109 (yylexname): Remove special handling of RID_ID.
1111 2004-10-25 James E Wilson <wilson@specifixinc.com>
1113 * doc/invoke.texi (-fcrossjumping): Not enabled at -O.
1115 2004-10-25 Joseph S. Myers <jsm@polyomino.org.uk>
1118 * c-parse.in (array_designator): New.
1119 (designator): Use it.
1120 (initelt): Only permit array_designator without '=', not ".foo".
1122 2004-10-25 Kenneth Zadeck <zadeck@naturalbridge.com>
1123 * gcc/Makefile.in: removed ggc for cgraphunit.
1124 * gcc/cgraph.c.dump_cgraph_node: removed static var analysis.
1125 * gcc/cgraph.h: removed static var analysis data structures and calls.
1127 cgraph_mark_local_and_external_functions:changed name to
1128 cgraph_mark_local_functions
1129 (print_order,convert_UIDs_in_bitmap,new_static_vars_info,
1130 cgraph_reset_static_var_maps,get_global_static_vars_info,
1131 get_global_statics_not_read,get_global_statics_not_written,searchc,
1132 cgraph_reduced_inorder,has_proper_scope_for_analysis,check_rhs_var,
1133 check_lhs_var,get_asm_expr_operands,process_call_for_static_vars,
1134 scan_for_static_refs,cgraph_characterize_statics_local,
1135 clear_static_vars_maps,cgraph_propagate_bits,cgraph_characterize_statics):
1137 (cgraph_optimize,init_cgraph): removed calls to static vars analysis
1138 * gcc/tree-dfa.c find_referenced_vars: removed call to static vars
1140 * gcc/tree-flow.h static_vars_info: removed
1141 * gcc/tree-ssa-operands.c (add_call_clobber_ops,add_call_read_ops):
1142 removed calls to static vars analysis.
1143 get_call_expr_operands: removed callee variable.
1145 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
1147 * cfg.c (unchecked_make_edge, redirect_edge_succ,
1148 redirect_edge_pred): Use VEC_safe_push instead of
1150 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
1152 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
1154 * cfgloopmanip.c (loopify): Take two more arguments true_edge
1156 * cfgloop.h: Adjust the corresponding prototype.
1157 * loop-unswitch.c (unswitch_loop): Adjust a call to loopify.
1158 * tree-ssa-loop-manip.c (tree_ssa_loop_version): Likewise.
1160 2004-10-25 Jakub Jelinek <jakub@redhat.com>
1162 * dwarf2out.c (rtl_for_decl_location): Avoid segfault if
1163 DECL_INCOMING_RTL is NULL.
1165 2004-10-25 Steven Bosscher <stevenb@suse.de>
1167 * timevar.def (TV_FIND_REFERENCED_VARS): New.
1168 * tree-dfa.c (pass_referenced_var): Use it.
1170 2004-10-25 Roger Sayle <roger@eyesopen.com>
1171 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1173 * cse.c: Change encoding of quantity numbers to avoid undefined
1174 pointer arithmetic on qty_table.
1175 (REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative.
1176 (get_cse_reg_info): Initialize reg_qty to a unique negative value.
1177 (new_basic_block): Assign "real" quantity numbers from zero.
1178 (delete_reg_equiv): Do nothing if quantity is invalid. Reset the
1179 REG_QTY to its unique negative value.
1180 (merge_equiv_classes): Calculate need_rehash if quantity is valid.
1181 (cse_main): Don't include max_reg when determining max_qty.
1182 (cse_basic_block): Avoid subtracting a large offset from qty_table,
1183 which causes undefined C99 behaviour. Only allocate needed memory.
1185 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
1187 * stmt.c (expand_case): Remove an obsolete comment.
1189 2004-10-25 Andrew Pinski <pinskia@physics.uc.edu>
1192 * c-decl.c (grokdeclarator) <case cdk_array>: Remove the call
1193 layout_type as it is already done by build_array_type.
1194 * tree.c (build_array_type): Layout the type even
1196 2004-10-25 Alexandre Oliva <aoliva@redhat.com>
1198 * config/frv/linux.h (TARGET_C99_FUNCTIONS): Define to 0.
1200 2004-10-25 Alexandre Oliva <aoliva@redhat.com>
1202 * config/frv/frv.md (movdi, movdf): Handle wide-constant splits
1203 with wider-than-32-bit HOST_WIDE_INTs.
1205 2004-10-25 David Billinghurst <David.Billinghurst@riotinto.com>
1207 * config/mips/mips.c(mips_output_filename): Remove unused
1208 array ltext_label_name
1210 2004-10-24 Geoffrey Keating <geoffk@geoffk.org>
1212 * config/rs6000/darwin.h (BLOCK_REG_PADDING): Define.
1214 2004-10-25 Ben Elliston <bje@au.ibm.com>
1216 * cfgcleanup.c (outgoing_edges_match): Fix typo in dump output.
1218 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
1220 * predict.c (predict_loops): Call scev_finalize instead of
1223 2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
1225 * config/dbxcoff.h, config/dbxelf.h, config/libgloss.h,
1226 config/openbsd.h, config/mips/r3900.h, config/pdp11/pdp11.md,
1227 config/sh/ushmedia.h, config/sparc/elf.h,
1228 config/sparc/sp64-elf.h: Update copyright.
1230 2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
1232 * stmt.c (expand_case): Handle the default label outside of
1233 the for loop. Remove code to handle a missing default label.
1235 2004-10-23 Kazu Hirata <kazu@cs.umass.edu>
1237 * dbxout.c (dbxout_function_decl): Don't use
1238 DBX_OUTPUT_FUNCTION_END.
1239 * system.h: Poison DBX_OUTPUT_FUNCTION_END.
1240 * doc/tm.texi (DBX_OUTPUT_FUNCTION_END): Remove.
1242 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
1245 * tree-cfg.c (remove_usless_stmts_cond): Don't Fold statement.
1247 2004-10-23 Daniel Berlin <dberlin@dberlin.org>
1249 * tree-ssa-dom.c (record_equality): Use loop depth to determine
1250 which way to record the equality as well.
1251 (loop_depth_of_name): New function.
1253 2004-10-23 Eric Botcazou <ebotcazou@libertysurf.fr>
1256 * gimplify.c (gimplify_addr_expr) <VIEW_CONVERT_EXPR>: Look
1257 through the operand if it is a useless type conversion.
1259 2004-10-23 Ben Elliston <bje@au.ibm.com>
1261 * cfg.c (remove_edge): Use VEC_unordered_remove.
1262 (redirect_edge_succ): Likewise.
1263 (redirect_edge_pred): Likewise.
1264 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
1266 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1268 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Don't access PTR
1271 2004-10-22 Eric Christopher <echristo@redhat.com>
1273 * config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode
1276 2004-10-22 Aldy Hernandez <aldyh@redhat.com>
1278 * config/rs6000/spe.md (spe_extendsfdf2): New.
1279 (movdf_e500_double): New.
1280 (spe_truncdfsf2): New.
1287 (spe_floatsidf2): New.
1288 (spe_floatunssidf2): New.
1289 (fix_truncdfsi2): New.
1290 (spe_fixuns_truncdfsi2): New.
1292 * config/rs6000/rs6000.md (truncdfsf2): Change to expander.
1293 (fpr_truncdfsf2): New.
1294 (negdf2): Change to expander.
1296 (fpr_nabsdf2): Name pattern.
1297 (adddf3): Change to expander.
1299 (subdf3): Change to expander.
1301 (muldf3): Change to expander.
1303 (divdf3): Change to expander.
1305 (movdf_softfloat32): Change !TARGET_FPRS to TARGET_E500_SINGLE.
1306 (cmpdf): Allow for TARGET_E500_DOUBLE.
1308 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1310 * c-semantics.c (re_push_stmt_list): Remove.
1311 * c-common.h: Remove the corresponding prototype.
1313 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1315 * stmt.c (asm_op_is_mem_input): Remove.
1316 * tree.h: Remove the corresponding prototype.
1318 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1320 * tree-gimple.c (is_gimple_constructor_elt): Remove.
1321 * tree-gimple.h: Remove the corresponding prototype.
1323 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1325 * varasm.c (get_pool_mode_for_function, get_pool_offset):
1327 * rtl.h: Remove the corresponding prototypes.
1329 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1331 * tree-cfg.c (thread_jumps_from_bb): Speed up by extracting
1332 edge information when we commit ourselves to threading a
1335 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1337 * tree-cfg.c (thread_jumps): Speed up by putting basic blocks
1338 into worklist instead of their indexes.
1340 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1342 * alias.c, basic-block.h, cgraphunit.c, combine.c, domwalk.h,
1343 final.c, gengtype.c, genpreds.c, ggc-page.c, insn-notes.def,
1344 lambda-code.c, loop-unroll.c, modulo-sched.c, pointer-set.c,
1345 pretty-print.c, ra-colorize.c, sbitmap.c, tree-complex.c,
1346 tree-data-ref.c, tree-dfa.c, tree-inline.c, tree-into-ssa.c,
1347 tree-scalar-evolution.c, tree-ssa-dom.c,
1348 tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
1349 tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-threadupdate.c,
1350 tree-vectorizer.c, vec.h: Fix comment formatting.
1352 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1354 * dwarf.h, gthr-dce.h, gthr-single.h, gthr-solaris.h, gthr.h,
1355 libfuncs.h, libgcc2.h, stab.def, tsystem.h: Update copyright.
1357 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1359 * config/ptx4.h, config/mcore/mcore-pe.h,
1360 config/rs6000/eabi.h, config/vax/elf.h: Update copyright.
1362 2004-10-22 Peter Barada <peter@the-baradas.com>
1364 * config/m68k/m68k.h (HARD_REGNO_RENAME_OK): New macro.
1365 * config/m68k/m68k.c (m68k_hard regno_rename_ok): Disallow
1366 renaming of non-live registers in interrupt functions.
1367 * config/m68k/m68k-protos.h (m68k_hard_regno_rename_ok): Add prototype.
1369 2004-10-22 Zdenek Dvorak <dvorakz@suse.cz>
1371 * tree-ssa-loop-niter.c (inverse): Count in HOST_WIDE_INT if possible.
1372 Use integer for loop counter.
1373 (num_ending_zeros): New function.
1374 (number_of_iterations_cond): Use num_ending_zeros.
1376 2004-10-21 Aldy Hernandez <aldyh@redhat.com>
1378 * config.gcc: Add support for --enable-e500_double.
1380 * config/rs6000/e500-double.h: New file.
1382 * config/rs6000/rs6000.h: Define TARGET_E500_SINGLE and
1385 * config/rs6000/eabi.h: Define TARGET_E500_SINGLE and
1388 * config/rs6000/linuxspe.h: Same.
1390 * doc/invoke.texi (Option Summary): Document new options for
1392 (RS/6000 and PowerPC Options): Same.
1394 * config/rs6000/rs6000.c (rs6000_parse_float_gprs_option): New
1396 (rs6000_override_options): Use it. Use
1397 SUB3TARGET_OVERRIDE_OPTIONS.
1398 Add 8548 to processor_target_table.
1399 (rs6000_legitimate_address): Handle e500 doubles.
1400 (rs6000_legitimize_address): Same.
1401 (rs6000_legitimize_reload_address): Same.
1402 (rs6000_hard_regno_nregs): Same.
1403 (spe_func_has_64bit_regs_p): Same.
1404 (emit_frame_save): Same.
1405 (gen_frame_mem_offset): Same.
1406 (rs6000_dwarf_register_span): Same.
1407 (rs6000_generate_compare): Same.
1408 (easy_fp_constant): Same.
1409 (legitimate_offset_address_p): Same.
1411 * config/rs6000/spe.md: (cmdfeq_gpr): New.
1420 2004-10-21 Giovanni Bajo <giovannibajo@gcc.gnu.org>
1422 * config/arc/lib1funcs.asm (___umulsidi3): Fix typo.
1424 2004-10-21 Zack Weinberg <zack@codesourcery.com>
1426 * dbxout.c: Remove unnecessary #undefs.
1427 (GDB_INV_REF_REGPARM_STABS_LETTER, DBX_MEMPARM_STABS_LETTER)
1428 (FILE_NAME_JOINER, STABS_GCC_MARKER): Remove; fold sole
1429 definition into use sites.
1430 (cwd): Make local to dbxout_init.
1431 (dbxout_init): Restructure cwd-using logic for clarity. Use
1433 * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Definition of
1434 STABS_GCC_MARKER folded in here.
1435 * system.h: Poison now-unused macros.
1436 * doc/tm.texi: Remove documentation of now-unused macros.
1438 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
1441 * c-opts.c (push_command_line_include): Use the current file
1442 name instead of the main one.
1444 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
1447 * tree.c (staticp): A CONST_DECL has static storage if either
1448 TREE_STATIC or DECL_EXTERNAL is set.
1449 * c-decl.c (pushdecl_top_level): Accept CONST_DECLs which can
1452 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
1454 * expr.c (store_expr): Remove dont_store_target.
1456 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
1458 * tree-cfg.c (thread_jumps): Speed up by using a worklist.
1460 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
1462 * tree-cfg.c (thread_jumps): Move a part of it to ...
1463 (thread_jumps_from_bb): ... here.
1465 2004-10-21 David Edelsohn <edelsohn@gnu.org>
1467 * dbxout.c (DBX_FINISH_SYMBOL): Add asm_out_file argument.
1468 * xcoffout.h (DBX_FINISH_SYMBOL): Change asmfile to (ASMFILE).
1470 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
1472 * expr.c (store_expr): Clean up by renaming want_value to
1475 2004-10-21 Kaz Kojima <kkojima@gcc.gnu.org>
1477 * config/sh/linux-unwind.h (sh_fallback_frame_state): Don't
1480 2004-10-21 Aldy Hernandez <aldyh@redhat.com>
1483 * expmed.c (store_bit_field): Pass original 'value' before
1486 2004-10-21 Nicolas Pitre <nico@cam.org>
1488 * config/arm/ieee754-sf.S: Large speed improvements. Fix NAN handling.
1489 * config/arm/ieee754-df.S: Ditto.
1491 2004-10-20 Zack Weinberg <zack@codesourcery.com>
1493 * dbxout.c (asmfile): Delete. All uses changed to asm_out_file.
1494 (DBX_BLOCKS_FUNCTION_RELATIVE, DBX_LINES_FUNCTION_RELATIVE):
1496 (dbxout_source_line): Use DBX_OUTPUT_SOURCE_LINE when defined.
1497 When it is not, but DBX_LINES_FUNCTION_RELATIVE is true, emit
1498 an internal label and an N_SLINE .stabn whose value is the
1499 difference between that label and the function entry label.
1500 (dbxout_finish): If DBX_OUTPUT_MAIN_SOURCE_FILE_END is not defined,
1501 but DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END is, emit a
1502 label and an N_SO stab with an empty string referring to it.
1503 (dbx_output_lbrac, dbx_output_rbrac): Use if statement instead
1504 of #ifdef directive to test DBX_BLOCKS_FUNCTION_RELATIVE.
1505 (dbxout_type_methods, dbxout_symbol): Remove #if 0 block.
1506 (dbxout_prepare_symbol): Remove #ifdef WINNING_GDB block, this
1507 macro is never defined.
1508 * sdbout.c (sdbout_source_line_counter): Delete.
1509 (PUT_SDB_SRC_FILE): Delete. Uses replaced with sole definition.
1510 (sdbout_source_line): Use SDB_OUTPUT_SOURCE_LINE, which takes
1512 * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Rename ASM_OUTPUT_LINE.
1514 * config/dbxcoff.h, config/dbxelf.h: Remove unncessary #undefs.
1515 * config/c4x/c4x.h, config/pa/pa.h: Remove unnecessary macro
1516 definitions (identical to default).
1517 * config/darwin.h, config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
1518 * config/h8300/coff.h, config/pa/som.h, config/sh/elf.h:
1519 Define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END, not
1520 DBX_OUTPUT_MAIN_SOURCE_FILE_END.
1521 * config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
1522 * config/mcore/mcore-pe.h, config/pa/som.h, config/sh/elf.h:
1523 Define DBX_LINES_FUNCTION_RELATIVE, not ASM_OUTPUT_SOURCE_LINE.
1524 * config/alpha/alpha-protos.h: Don't prototype alpha_output_lineno.
1525 * config/alpha/alpha.c: Move declaration of num_source_filenames up.
1526 (alpha_start_function): Use SDB_OUTPUT_SOURCE_LINE.
1527 (sym_lineno): Delete.
1528 (alpha_output_filename): Do not emit N_SOL stabs here. Remove
1529 now-unused variable.
1530 (alpha_output_lineno): Delete.
1531 * config/mips/mips-protos.h: Don't prototype mips_output_lineno.
1532 * config/mips/mips.c (mips_output_filename): Don't use
1533 ASM_OUTPUT_FILENAME. Don't emit N_SOL stabs here.
1534 (mips_output_lineno): Delete.
1535 (mips_output_function_prologue: Use SDB_OUTPUT_SOURCE_LINE.
1536 * config/alpha/alpha.h: Define DBX_OUTPUT_SOURCE_LINE and
1537 SDB_OUTPUT_SOURCE_LINE, not ASM_OUTPUT_SOURCE_LINE.
1538 * config/mips/mips.h: Likewise. Don't define ASM_OUTPUT_FILENAME.
1539 * config/mips/sdb.h: Use SDB_OUTPUT_SOURCE_LINE.
1540 * config/avr/avr.h: Don't define ASM_OUTPUT_SOURCE_LINE.
1541 * config/mmix/mmix.h: Likewise.
1542 * config/mmix/mmix.c (mmix_asm_output_source_line): Delete.
1543 * config/mmix/mmix-protos.h: Don't prototype it.
1544 * config/alpha/unicosmk.h: Also #undef PREFERRED_DEBUGGING_TYPE;
1545 no need to #undef ASM_OUTPUT_SOURCE_LINE.
1546 * config/arm/aout.h: Remove RISCiX-specific definition of
1547 DBX_OUTPUT_MAIN_SOURCE_FILENAME.
1548 * config/m32r/m32r.h: Define DBX_OUTPUT_SOURCE_LINE, not
1549 ASM_OUTPUT_SOURCE_LINE.
1550 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Rename to
1551 DBX_OUTPUT_SOURCE_LINE. Don't use current_function_func_begin_label.
1552 * config/vax/elf.h: No need to define DBX_OUTPUT_FUNCTION_END.
1554 * doc/tm.texi: Update.
1556 2004-10-20 Richard Henderson <rth@redhat.com>
1558 * tree-sra.c (instantiate_element): Copy DECL_IGNORED_P also.
1560 2004-10-20 Kelley Cook <kcook@gcc.gnu.org>
1562 * configure.ac: Revert my previous patch.
1563 * configure: Regenerate.
1565 2004-10-20 Ben Elliston <bje@au.ibm.com>
1567 * config/rs6000/rs6000.c
1568 (rs6000_va_start): Use build_va_arg_indirect_ref.
1569 (rs6000_gimplify_va_arg): Likewise.
1571 2004-10-20 Bryce McKinlay <mckinlay@redhat.com>
1574 * configure.ac: Declare AM_LANGINFO_CODESET.
1575 * aclocal.m4: Define AM_LANGINFO_CODESET.
1576 * configure, config.in: Rebuilt.
1578 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
1580 * expr.c (store_expr): Remove code that is run when
1581 want_value & 1 is nonzero.
1583 2004-10-20 Mark Mitchell <mark@codesourcery.com>
1585 * gthr-posix.h (__gthread_active_p): Use __extension__ around cast
1586 from function pointer to void *.
1588 2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
1591 * config/sh/sh.c (sh_expand_epilogue): Emit a blockage insn before
1592 the frame pointer adjustment when exception handling is enabled.
1594 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
1596 * stor-layout.c: Fix a comment typo.
1598 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
1600 * expr.c (store_field): Remove two arguments value_mode and
1602 (expand_assignment, store_constructor_field,
1603 expand_expr_real_1): Adjust calls to store_field.
1605 2004-10-18 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
1607 * config/arc/lib1funcs.asm (___umulsidi3): Correct usage of flags.
1610 * config/arc/arc.h (REGNO_OK_FOR_BASE_P,REGNO_OK_FOR_INDEX_P,
1611 REG_OK_FOR_BASE, REG_OK_FOR_INDEX): Consider blink(r31) as a valid
1612 base and index register for loads.
1614 * config/arc/t-arc: Fix multilib handling.
1616 2004-10-20 Hans-Peter Nilsson <hp@bitrange.com>
1618 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
1619 don't inspect BLOCK_FOR_INSN for barriers.
1620 * emit-rtl.c (emit_barrier_before): Revert last change.
1621 (emit_barrier_after, emit_barrier): Ditto.
1623 * doc/extend.texi (Extended Asm): Warn and provide example
1624 solution for using a call-clobbered asm register.
1625 (Local Reg Vars): Similar. Cross-reference example.
1627 2004-10-19 Andrew Pinski <pinskia@physics.uc.edu>
1629 * tree-cfg.c (group_case_labels): Look at the second to last
1630 case statement for combing with the default case.
1632 2004-10-19 Richard Hendeson <rth@redhat.com>
1635 * stor-layout.c (layout_type): Set TYPE_ALIGN for vectors.
1637 2004-10-19 Richard Hendeson <rth@redhat.com>
1639 * builtins.c (expand_builtin_memmove): If fold_builtin_memmove
1640 succeeds, only expand the result.
1642 2004-10-19 Richard Hendeson <rth@redhat.com>
1645 * tree.c (recompute_tree_invarant_for_addr_expr): Always poll address
1648 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
1650 * tree-cfg.c (thread_jumps): Use a do-while loop instead of a
1653 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
1655 * expr.c (expand_assignment): Remove the last argument.
1656 Change the return type to void.
1657 * expr.h: Update the prototype of expand_assignment.
1658 * function.c (assign_parm_setup_reg): Update a call to
1660 * stmt.c (expand_asm_expr): Likewise.
1662 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
1664 * expr.c (expand_expr_real_1) <MODIFY_EXPR>: Remove
1665 unnecessary assignments to temp. Return const0_rtx.
1667 2004-10-19 Kaz Kojima <kkojima@gcc.gnu.org>
1669 * config/sh/sh.c (sh5_schedule_saves): Fix typo.
1671 2004-10-18 Kelley Cook <kcook@gcc.gnu.org>
1673 * configure.ac (powerpc-*-darwin*): Require assembler to support
1675 * configure: Regenerate.
1677 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
1679 * reload1.c (ior_hard_reg_set): Remove.
1680 (finish_spills): Use IOR_HARD_REG_SET instead of
1683 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
1685 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Speed up by shifting
1686 the currently visited word to right.
1688 2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
1691 * expmed.c (expand_smod_pow2): Handle modes whose size
1692 is greater than that of HOST_WIDE_INT.
1694 2004-10-18 Ziemowit Laski <zlaski@apple.com>
1696 * c-parse.in (reservedwords): Add OBJC_TYPE_QUAL as alternative.
1698 2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
1699 Roger Sayle <roger@eyesopen.com>
1702 * dojump.c (discard_pending_stack_adjust): New function.
1703 (clear_pending_stack_adjust): Call it.
1704 * expr.h (discard_pending_stack_adjust): Declare it.
1705 * explow.c (emit_stack_save): Emit pending stack adjustments
1706 before saving the stack pointer.
1707 (emit_stack_restore): Discard pending stack adjustments before
1708 restoring the stack pointer.
1710 2004-10-18 Richard Henderson <rth@redhat.com>
1712 * c-common.c (handle_mode_attribute): Allow scalar->vector
1715 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
1717 * expr.c (expand_expr_real_1) [MODIFY_EXPR]: Don't request a
1718 value to expand_assignment.
1720 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
1722 * tree-cfg.c (cleanup_tree_cfg): Don't iterate on
1724 (thread_jumps): Iterate until no new forwarder block arises.
1726 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
1728 * tree-cfg.c (tree_forwarder_block_p): Don't set forwardable.
1729 (thread_jumps): Use forwardable as cache of
1730 tree_forwarder_block_p throughout the function.
1732 2004-10-18 Andreas Krebbel <krebbel1@de.ibm.com>
1734 * cfg.c (dump_flow_info): Remove redundant dump of reg life info.
1736 2004-10-18 Andrew Pinski <pinskia@physics.uc.edu>
1740 * tree-cfg.c (remove_bb): If we have a label expression in the
1741 basic block and the label we have taken the address, move the
1742 label expression to the basic block which is previous in the
1744 (tree_verify_flow_info): Fix printing out the label name of the
1745 problematic label expression.
1747 2004-10-18 Pat Haugen <pthaugen@us.ibm.com>
1749 PR rtl-optimization/18002
1750 * simplify-rtx.c (mode_signbit_p): Externalize function...
1751 * rtl.h (mode_signbit_p): ... to here.
1752 * combine.c (simplify_shift_const): Recognize PLUS signbit as
1753 canonical form of XOR signbit and move to outer op.
1755 2004-10-18 Diego Novillo <dnovillo@redhat.com>
1757 * tree-cfg.c (bsi_for_stmt): Rename from stmt_for_bsi.
1759 * tree-ssa.c (replace_immediate_uses): Call bsi_for_stmt.
1760 Don't call fold_stmt more than once, use bsi_replace.
1762 2004-10-18 Diego Novillo <dnovillo@redhat.com>
1764 PR tree-optimization/17656
1765 * tree-ssa.c (replace_immediate_uses): When replacing a
1766 constant, if the call to fold_stmt produced a different
1767 statement, get an appropriate statement pointer by scanning
1770 2004-10-18 Richard Henderson <rth@redhat.com>
1772 * pointer-set.c (hash1): Don't use libm functions in fallback case.
1774 2004-10-18 H.J. Lu <hongjiu.lu@intel.com>
1777 * Makefile.in (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?.
1778 (stage1-start): Remove and copy libunwind.a and
1779 libunwind*$(SHLIB_EXT) instead of libunwind*.
1780 (stage2-start): Likewise.
1781 (stage3-start): Likewise.
1782 (stage4-start): Likewise.
1783 (stageprofile-start): Likewise.
1784 (stagefeedback-start): Likewise.
1786 * config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for
1787 the shared library to be created and don't remove the existing
1789 * config/arm/t-netbsd (SHLIB_LINK): Likewise.
1790 * config/i386/t-nwld (SHLIB_LINK): Likewise.
1791 * config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise.
1792 * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
1793 * config/sh/t-linux (SHLIB_LINK): Likewise.
1794 * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
1795 * config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
1796 * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
1797 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
1799 * mklibgcc.in (libgcc-stage-start): Also move "*${objext}s"
1802 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
1804 * basic-block.h (reg_set_iterator): New.
1805 (EXECUTE_IF_SET_IN_REG_SET): Make it iterator style.
1806 (EXECUTE_IF_AND_COMPL_IN_REG_SET): Likewise.
1807 (EXECUTE_IF_AND_IN_REG_SET): Likewise.
1808 * caller-save.c (save_call_clobbered_regs): Adjust to the new
1810 * cfgcleanup.c (thread_jump): Likewise.
1811 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
1812 * conflict.c (conflict_graph_compute): Likewise.
1813 * flow.c (verify_local_live_at_start, update_life_info,
1814 initialize_uninitialized_subregs, propagate_one_insn,
1815 init_propagate_block_info, free_propagate_block_info,
1816 propagate_block, dump_regset): Likewise.
1817 * global.c (global_conflicts): Likewise.
1818 * graph.c (start_bb): Likewise.
1819 * local-alloc.c (update_equiv_regs): Likewise.
1820 * loop.c (load_mems): Likewise.
1821 * reload1.c (compute_use_by_pseudos, order_regs_for_reload,
1822 find_reg, finish_spills): Likewise.
1823 * resource.c (mark_target_live_regs): Likewise.
1824 * sched-deps.c (sched_analyze_insn): Likewise.
1825 * sched-rgn.c (sched-rgn.c): Likewise.
1826 * config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
1828 2004-10-18 Jakub Jelinek <jakub@redhat.com>
1830 * config/i386/i386.md (addqi_1_slp): Test for incdec_operand
1831 operand 1 instead of 2
1833 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
1835 * loop-unroll.c: Fix comment typos.
1837 2004-10-18 Revital Eres <eres@il.ibm.com>
1839 * Makefile.in (loop-unroll.o): Add VARRAY_H dependency.
1840 * loop-unroll.c: Include varray.h.
1841 (struct var_to_expand, struct opt_info): Rename split_ivs_info to
1842 opt_info and expand it to support variable expansion.
1843 (analyze_insns_in_loop): Rename analyze_ivs_to_split and
1844 expand it to support variable expansion.
1845 (pt_info_start_duplication): Rename si_info_start_duplication.
1846 (apply_opt_in_copies): Rename split_ivs_in_copies and add support
1847 to the variable expansion optimization.
1848 (free_opt_info): Rename free_si_info.
1849 (analyze_insn_to_expand_var, referenced_in_one_insn_in_loop_p,
1850 expand_var_during_unrolling, insert_var_expansion_initialization,
1851 combine_var_copies_in_loop_exit, release_var_copies,
1852 get_expansion): New functions.
1853 (peel_loop_completely, unroll_loop_constant_iterations,
1854 unroll_loop_runtime_iterations, peel_loop_simple,
1855 unroll_loop_stupid): Change uses of struct si_info
1857 and add uses of fvariable-expansion-in-unroller flag.
1858 * params.def: Add parameter to restrict the number of expansions.
1859 * params.h: (MAX_VARIABLE_EXPANSIONS): New define to restrict
1860 the number of expansions.
1861 * common.opt: (fvariable-expansion-in-unroller): New flag.
1862 * doc/invoke.texi: (fvariable-expansion-in-unroller): Document.
1864 2004-10-18 Danny Smith <dannysmith@users.sourceforge.net>
1866 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
1867 __GXX_MERGED_TYPEINFO_NAMES to 0.
1869 2004-10-17 Hans-Peter Nilsson <hp@bitrange.com>
1871 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
1872 handle barriers in a bb by checking that it points to a NULL bb.
1873 * emit-rtl.c (emit_barrier_before): Set BLOCK_FOR_INSN to NULL.
1874 (emit_barrier_after, emit_barrier): Ditto.
1876 2004-10-18 Joseph S. Myers <jsm@polyomino.org.uk>
1878 * doc/extend.texi (Attribute Syntax): Clarify details of
1879 attributes on parameters.
1881 2004-10-17 Zdenek Dvorak <dvorakz@suse.cz>
1883 * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Move checking out of
1886 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
1889 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
1891 * c-typeck.c (default_function_array_conversion): Always create
1892 &a[0] for array types.
1893 (build_unary_op): Do not fold &a[x] into a + x.
1895 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
1898 * cfgexpand.c (expand_gimple_cond_expr): Emit line notes for next basic
1899 block if there is a goto with a locus.
1901 2004-10-17 Kazu Hirata <kazu@cs.umass.edu>
1903 * config/elfos.h, config/gofast.h, config/interix.h,
1904 config/netbsd.h, config/svr3.h, config/vxworks.h,
1905 config/alpha/alpha-modes.def, config/alpha/alpha-protos.h,
1906 config/alpha/ev4.md, config/alpha/ev5.md, config/alpha/ev6.md,
1907 config/alpha/netbsd.h, config/arm/arm-modes.def,
1908 config/arm/unknown-elf.h, config/c4x/c4x-modes.def,
1909 config/cris/aout.h, config/frv/frv-modes.def,
1910 config/i386/beos-elf.h, config/i386/gas.h,
1911 config/i386/i386-coff.h, config/i386/i386-modes.def,
1912 config/i386/linux.h, config/i386/linux64.h,
1913 config/i386/mingw32.h, config/i386/netbsd-elf.h,
1914 config/i386/netbsd64.h, config/i386/sco5.h,
1915 config/i386/sol2.h, config/i386/uwin.h, config/i860/i860.md,
1916 config/ia64/ia64-modes.def, config/ia64/itanium1.md,
1917 config/ia64/itanium2.md, config/m68k/m68k-modes.def,
1918 config/mips/mips-modes.def, config/mips/sdb.h,
1919 config/mips/vr.h, config/mips/vxworks.h,
1920 config/pa/pa-hpux10.h, config/pa/pa-hpux11.h,
1921 config/pa/pa32-linux.h, config/rs6000/40x.md,
1922 config/rs6000/7450.md, config/rs6000/8540.md,
1923 config/rs6000/linuxspe.h, config/rs6000/power4.md,
1924 config/rs6000/rs6000-modes.def, config/rs6000/rtems.h,
1925 config/rs6000/spe.h, config/s390/2064.md, config/s390/linux.h,
1926 config/s390/s390-modes.def, config/sh/elf.h,
1927 config/sh/sh-modes.def, config/sh/sh64.h,
1928 config/sparc/ultra1_2.md, config/sparc/ultra3.md,
1929 config/stormy16/stormy16.md, config/v850/v850-protos.h,
1930 config/vax/vax.md: Update copyright.
1932 2004-10-17 Kazu Hirata <kazu@cs.umass.edu>
1934 * expr.c (expand_expr_real_1): Remove an obsolete comment.
1936 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
1938 * c-typeck.c (default_function_array_conversion): Always create
1939 &a[0] for array types.
1940 (build_unary_op): Do not fold &a[x] into a + x.
1942 2004-10-17 Jakub Jelinek <jakub@redhat.com>
1944 * pointer-set.c (hash1): Use integer part of 2^64 / phi
1945 instead 2^32 / phi if long is 64-bit.
1947 2004-10-17 Joseph S. Myers <jsm@polyomino.org.uk>
1949 * c-common.h (enum rid): Remove RID_PTRBASE, RID_PTREXTENT and
1951 * c-parse.in (PTR_VALUE, PTR_BASE, PTR_EXTENT): Remove %token
1953 (reswords): Remove __ptrbase, __ptrbase__, __ptrextent,
1954 __ptrextent__, __ptrvalue and __ptrvalue__.
1955 (rid_to_yy): Remove RID_PTRBASE, RID_PTREXTENT and RID_PTRVALUE
1958 2004-10-16 Dale Johannesen <dalej@apple.com>
1960 * c-common.c (c_common_get_alias_set): Use GGC for type_hash_table.
1962 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
1964 PR tree-optimization/17766
1965 * basic-block.h (enum dom_state): DOM_CONS_OK removed.
1966 (dom_info_available_p): Declare.
1967 * cfghooks.c (split_block, make_forwarder_block): Use
1968 dom_info_available_p.
1969 * dominance.c (compute_dom_fast_query, calculate_dominance_info,
1970 free_dominance_info, verify_dominators): Ditto.
1971 (dom_info_available_p): New function.
1972 * tree-cfg.c (cleanup_control_expr_graph): Free dominance information.
1973 (thread_jumps): Use dom_info_available_p.
1974 * tree-complex.c (expand_complex_div_wide): Ditto.
1975 * tree-mudflap.c (mf_build_check_statement_for): Ditto.
1977 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
1979 * tree-ssa-loop-ivopts.c (struct ivopts_data): New field important_candidates.
1980 (find_best_candidate): Take also important candidates into account.
1981 (find_optimal_iv_set): Initialize important_candidates bitmap.
1983 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
1985 PR tree-optimization/17560
1986 * predict.c (tree_estimate_probability): Mark irreducible
1989 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
1991 PR rtl-optimization/17723
1992 * cfgcleanup.c (merge_memattrs): Handle case when
1993 MEM_SIZE == NULL_RTX.
1995 2004-10-15 Andrew Pinski <pinskia@physics.uc.edu>
1997 * toplev.c (dump_file_name): Change type to be const.
1999 2004-10-15 Joseph S. Myers <jsm@polyomino.org.uk>
2001 * c-typeck.c (build_compound_expr, build_c_cast): Don't try to use
2002 non_lvalue to stop something being a null pointer constant.
2004 2004-10-15 Aldy Hernandez <aldyh@redhat.com>
2006 * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): FPRs are only
2007 available for TARGET_FPRS.
2008 (FUNCTION_VALUE_REGNO_P): Same.
2010 2004-10-15 Geoffrey Keating <geoffk@apple.com>
2012 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
2013 -maltivec in same style as other ISA options.
2015 2004-10-15 Jon Grimm <jgrimm2@us.ibm.com>
2017 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __powerpc__
2020 2004-10-15 Kazu Hirata <kazu@cs.umass.edu>
2022 * bitmap.c, bitmap.h, builtin-attrs.def, cfglayout.h,
2023 collect2.h, conflict.c, coretypes.h, coverage.h, errors.h,
2024 gcc.h, gcov-dump.c, gen-protos.c, gencheck.c, gencodes.c,
2025 genconstants.c, gengenrtl.c, genmodes.c, genpeep.c,
2026 gensupport.h, graph.h, gthr-gnat.c, gthr-gnat.h, gthr-posix.c,
2027 gthr-posix.h, hard-reg-set.h, hwint.h, integrate.h, libgcc2.c,
2028 lists.c, machmode.def, mips-tdump.c, opts.h, params.c,
2029 predict.def, predict.h, protoize.c, reload.h, resource.h,
2030 rtl-error.c, sbitmap.c, sbitmap.h, sreal.c, tlink.c,
2031 tree-dump.h, tree-inline.h, unwind-dw2-fde.c, unwind-dw2.c,
2032 unwind-sjlj.c, value-prof.h: Update copyright.
2034 2004-10-15 Kazu Hirata <kazu@cs.umass.edu>
2036 * pointer-set.c, tree-vectorizer.c: Fix comment typos.
2038 2004-10-15 Diego Novillo <dnovillo@redhat.com>
2040 * tree-optimize.c (execute_one_pass): Stop timer right after
2043 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
2046 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
2049 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
2050 (remove_useless_stmts_1): Fold trees we know how to fold.
2052 2004-10-14 David Edelsohn <edelsohn@gnu.org>
2054 * configure.ac: Add .machine power4 directive when testing for
2056 * configure: Regenerate.
2058 2004-10-14 Geoffrey Keating <geoffk@apple.com>
2060 * config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Don't define.
2062 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
2064 * tree-vectorizer.c (vect_transform_loop): Declare vectorization_factor
2067 2004-10-14 Daniel Jacobowitz <dan@codesourcery.com>
2069 * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Return NO_REGS
2070 for 'f' if !TARGET_FPRS.
2072 2004-10-14 Richard Henderson <rth@redhat.com>
2075 * dwarf2out.c (loc_descriptor_from_tree_1): Handle FIX_*_EXPR.
2077 2004-10-14 Richard Henderson <rth@redhat.com>
2080 * c-decl.c (store_parm_decls_oldstyle): Care for parameter type
2082 * c-parse.in (compstmt_primary_start): Check cur_stmt_list non-null
2083 instaed of current_function_decl non-null.
2085 2004-10-14 Matt Austern <austern@apple.com>
2087 * pointer-set.c: New file, special-purpose hash table.
2088 * pointer-set.h: New file.
2089 * tree.h (struct pointer_set_t): Declare as opaque type.
2090 (tree_walk): Last argument is pointer_set_t* now.
2091 * tree-inline.c (WALK_SUBTREE): Convert from htab to pset.
2093 (walk_tree): Convert from htab_t to pointer_set_t for keeping
2094 track of which nodes have already been visited.
2095 (walk_tree_without_duplicates): Convert from htab_t to pointer_set_t.
2096 * cgraphunit.c (cgraph_create_edges): Likewise.
2097 (cgraph_characterize_statics_local): Likewise.
2098 * tree-dfa.c (collect_dfa_stats): Likewise.
2099 * langhooks-def.h (lhd_tree_inlining_walk_subtrees): Last arg is
2101 * langhooks.c (lhd_tree_inlining_walk_subtrees): Likewise.
2102 * langhooks.h (struct lang_hooks_for_tree_inlining): Last arg type
2103 of walk_subtrees is pointer_set_t* now.
2104 * Makefile.in (OBJS-common): add pointer-set.o
2105 (tree-inline.o): Depends on pointer-set.h
2106 (tree-dfa.o): Likewise
2107 (cgraphunit.o): Likewise
2109 2004-10-14 Geoffrey Keating <geoffk@apple.com>
2111 * config/rs6000/darwin.h (ASM_SPEC): Delete.
2112 (TARGET_ASM_FILE_START): Define.
2113 * config/darwin.h (ASM_SPEC): Define.
2114 * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Don't supply
2115 -mlong-double-128, it's the default. Update comment about reason
2116 for force_cpusubtype_ALL.
2117 * config/rs6000/darwin-vecsave.asm: Supply .machine.
2118 * config/rs6000/darwin-world.asm: Likewise.
2119 * config/rs6000/rs6000.c (rs6000_darwin_file_start): New.
2120 (symbolic_operand): Delete #if 0ed code.
2122 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
2124 * stmt.c (add_case_node): Make sure that we have integer
2125 constant before calling tree_int_cst_compare.
2127 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
2131 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
2132 (remove_useless_stmts_1): Fold trees we know how to fold.
2134 2004-10-14 Joseph S. Myers <joseph@codesourcery.com>
2136 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS),
2137 config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow
2140 2004-10-14 Ulrich Weigand <uweigand@de.ibm.com>
2142 * reload.c (find_reloads): When reloading a PLUS with constant
2143 operand, make sure the constant is pushed to the constant pool
2145 * config/s390/s390.c (s390_secondary_input_reload_class): Remove
2146 reload bug workaround.
2147 (s390_expand_plus_operand): Likewise.
2149 2004-10-14 David Edelsohn <edelsohn@gnu.org>
2151 * opts.c (common_handle_option): Do not enable
2152 flag_speculative_prefetching for -fprofile-generate/use.
2154 2004-10-14 Devang Patel <dpatel@apple.com>
2157 * tree-if-conv.c (process_phi_nodes): Process latch block.
2158 (combine_blocks): Process latch block and update loop structure.
2160 2004-10-14 Olga Golovanevsky <olga@il.ibm.com>
2162 * tree-vectorizer.c (vect_generate_tmps_on_preheader):
2163 (vect_update_ivs_after_vectorizer):
2164 (vect_transform_for_unknown_loop_bound):
2165 (tree_duplicate_loop_to_edge):
2166 (allocate_new_names):
2169 (rename_variables_in_bb):
2171 (rename_variables_in_loop):
2173 (update_phis_for_duplicate_loop):
2174 (update_phi_nodes_for_guard):
2175 (make_loop_iterate_ntimes):
2176 (tree_duplicate_loop_to_edge_cfg):
2178 (vect_analyze_loop_with_symbolic_num_of_iters):
2179 (verify_loop_for_duplication):
2180 (vect_gen_niters_for_prolog_loop):
2181 (vect_update_niters_after_peeling):
2182 (vect_update_inits_of_dr):
2183 (vect_update_inits_of_drs):
2184 (vect_build_loop_niters):
2185 (vect_do_peeling_for_alignment): New functions.
2186 (vect_transform_loop): Add unknown and known but indivisible loop
2187 bound support; add peeling for unalignment support.
2188 (vect_analyze_loop_form): Support symbolic number of iterations.
2189 (vect_transform_loop_bound): New input parameter.
2190 (vect_get_loop_niters): Change input parameter type.
2191 (new_loop_vec_info): LOOP_VINFO_NITERS is tree now.
2192 (vectorizable_store): Allow unaligned access.
2193 (vectorize_loops): Add rewrite_into_loop_closed_ssa.
2194 (vect_analyze_data_refs_alignment): Allowed one unaligned
2196 * tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined
2198 (LOOP_VINFO_INT_NITERS): New macro.
2199 (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): New define.
2200 (do_peeling_for_alignment):
2201 (unaligned_drs): New members of _loop_vec_info.
2202 (LOOP_DO_PEELING_FOR_ALIGNMENT): New macro.
2204 2004-10-14 Ranjit Mathew <rmathew@hotmail.com>
2206 * tree.h (TREE_STRING_POINTER): Wrap in "const char *".
2207 (struct tree_string): Remove "const" qualifier for "str".
2209 2004-10-14 Ira Rosen <irar@il.ibm.com>
2211 * tree-vectorizer.c (vect_analyze_data_refs): Call
2212 vect_get_base_and_bit_offset to get memory tag for array ref.
2213 (vect_create_addr_base_for_vector_ref): Remove redundant checks.
2215 2004-10-14 Richard Earnshaw <rearnsha@arm.com>
2217 * configure.ac: Use $LN_S for creating symlinks (not $LN).
2218 * configure: Regenerate.
2220 2004-10-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2222 * doc/install.texi (*-*-solaris2*): Update with info about kernel
2223 patches to solve spurious testsuite failures.
2225 2004-10-14 Dorit Naishlos <dorit@il.bim.com>
2227 * tree-vectorizer.c (get_vectype_for_scalar_type): Added debug prinouts.
2228 Added check that vectype is VECTOR_MODE_P, instead of check for BLKmode.
2229 (vect_analyze_operations): Make sure the vectorization factor > 1. Add
2230 gcc_assert under ENABLE_CHECKING.
2231 (vectorizable_operation): Remove check for VECTOR_MODE_P (moved to
2232 get_vectype_for_scalar_type).
2234 (vect_get_vec_def_for_operand): Remove redundant variables.
2235 (vect_transform_loop): Likewise.
2237 2004-10-14 Richard Sandiford <rsandifo@redhat.com>
2239 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Make r11 fixed and
2240 global for -mcaller-super-interworking.
2241 (CALLER_INTERWORKING_SLOT_SIZE): New macro.
2242 * config/arm/arm.c (thumb_compute_save_reg_mask): Save r11 if
2243 CALLER_INTERWORKING_SLOT_SIZE is nonzero and the function does
2244 not need a frame pointer.
2245 (arm_get_frame_offsets): Add CALLER_INTERWORKING_SLOT_SIZE bytes to
2246 the soft frame pointer offset.
2247 (thumb_expand_prologue): Set up r11 for -mcaller-super-interworking.
2248 * config/arm/arm.md (*call_reg_thumb, *call_value_reg_thumb): Use
2249 _interwork_{r7,r11}_call_via_rN if some arguments are passed on
2250 the stack. Use frame_pointer_needed to choose between them.
2251 * config/arm/lib1funcs.asm (_arm_return_{r7,r11}): New functions.
2252 (interwork_with_frame): New macro.
2253 (interwork): Add _interwork_{r7,r11}_call_via_rN().
2255 2004-10-14 Ben Elliston <bje@au.ibm.com>
2258 * diagnostic.c (trim_filename): Fix logic bug in walking backwards
2259 up the filename looking for a previous directory separator.
2261 2004-10-14 Joseph S. Myers <jsm@polyomino.org.uk>
2263 * c-tree.h (enum c_typespec_kind, struct c_typespec,
2264 parser_xref_tag): New.
2265 (struct c_declspecs): Add tag_defined_p. Adjust definition of
2267 (declspecs_add_type): Adjust prototypes.
2268 * c-parse.in (%union): Add tstype.
2269 (typespec_nonattr, typespec_attr, typespec_reserved_nonattr,
2270 typespec_reserved_attr, typespec_nonreserved_nonattr,
2271 structsp_attr, structsp_nonattr): Change to tstype. Update
2273 * c-decl.c (build_null_declspecs): Initialize tag_defined_p.
2274 (declspecs_add_type): Update to take struct c_typespec argument.
2275 Set tag_defined_p and typedef_p as appropriate.
2276 (xref_tag): Rename to parser_xref_tag and replace by wrapper.
2277 Update to return struct c_typespec.
2278 (shadow_tag_warned): Don't let empty declarations with qualifiers
2279 or storage class specifiers redeclare a tag if a previous
2280 declaration is visible.
2282 2004-10-13 Richard Henderson <rth@redhat.com>
2285 * dwarf2out.c (rtl_for_decl_location): Apply big-endian correction
2286 for DECL_INCOMING_RTL.
2288 2004-10-14 Hans-Peter Nilsson <hp@axis.com>
2291 * config/cris/cris.md (asrandb, asrandw, lsrandb, lsrandw): Apply
2292 trunc_int_for_mode for constants used in shortened mode.
2294 2004-10-13 Richard Henderson <rth@redhat.com>
2297 * c-common.c (handle_mode_attribute): Disallow mode changes that
2298 alter the CODE of the top-level type.
2300 * crtstuff.c (__FRAME_END__): Remove mode attribute. Find 32-bit
2301 integer from internal limits macros.
2302 * config/i386/mm3dnow.h (__v2sf): Fix base type.
2304 2004-10-13 Richard Henderson <rth@redhat.com>
2307 * function.c (instantiate_decl): Recurse for CONCAT.
2309 2004-10-13 David Edelsohn <edelsohn@gnu.org>
2311 * config/rs6000/rs6000.md (andsi3): Add attribute "compare" for
2314 (extzvdi_internal1): Add attribute "compare".
2315 (extzvdi_internal2): Same.
2317 2004-10-12 Tom Tromey <tromey@redhat.com>
2319 * doc/md.texi (Insn Canonicalizations): Removed extraneous quote.
2321 2004-10-13 Dale Johannesen <dalej@apple.com>
2323 * doc/extend.texi (Extended Asm): Rewrite asm volatile description.
2325 2004-10-13 Frank Ch. Eigler <fche@redhat.com>
2327 * toplev.c (compile_file): Call mudflap_finish_file from here ...
2328 * c-decl.c (c_write_global_declarations): ... instead of here ...
2329 * cp/decl.c (cp_finish_file): ... and here.
2330 * tree-mudflap.c (mudflap_enqueue_decl): Reword a warning message.
2332 2004-10-13 Andrew Pinski <pinskia@physics.uc.edu>
2334 * tree-ssa-dom.c (record_range): Free the element if we are not
2337 2004-10-13 Tom Tromey <tromey@redhat.com>
2340 * gcc.c (option_map): Added --extdirs and --encoding.
2342 2004-10-13 Eric Botcazou <ebotcazou@libertysurf.fr>
2345 * config/sparc/sparc.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Set to
2346 sparc_can_output_mi_thunk.
2347 (sparc_output_mi_thunk): Simplify handling of delta offset. Add
2348 handling of vcall offset.
2349 (sparc_can_output_mi_thunk): New predicate.
2350 * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Document VCALL_OFFSET.
2351 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Delete.
2352 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New target hook.
2354 * config/sparc/sparc.c (emit_and_preserve): Preserve stack alignment.
2356 * config/sparc/sparc.md (movdi): Remove redundant test.
2358 2004-10-13 Paolo Bonzini <bonzini@gnu.org>
2360 * tree-dump.c (dump_options): Remove TDF_TREE, TDF_RTL,
2361 TDF_IPA from -fdump-tree-*-all.
2363 2004-10-13 Paul Brook <paul@codesourcery.com>
2365 * config/arm/arm-protos.h (arm_load_pic_register): Update prototype.
2366 * config/arm/arm.c (thumb_find_work_register): Update comments.
2367 (arm_load_pic_register): Add argument for scratch register.
2368 (arm_expand_prologue, thumb_expand_prologue): Pass extra argument.
2369 * config/arm/arm.md (builtin_setjmp_receiver): Ditto.
2371 2004-10-13 Kazu Hirata <kazu@cs.umass.edu>
2373 * tree-data-ref.c: Fix comment typos.
2375 2004-10-13 Jakub Jelinek <jakub@redhat.com>
2376 Zdenek Dvorak <dvorakz@suse.cz>
2378 PR tree-optimization/17724
2379 * tree-cfg.c (tree_purge_dead_eh_edges): Free dominance info.
2381 2004-10-13 Dorit Naishlos <dorit@il.ibm.com>
2383 * rs6000.c (altivec_builtin_mask_for_load): Made static GTY(()).
2384 (altivec_builtin_mask_for_store): Likewise.
2385 (altivec_init_builtins): Use lang_hooks.builtin_function to
2386 create the decls for builtin_altivec_mask_for_load/store.
2388 2004-10-13 Nick Clifton <nickc@redhat.com>
2390 * config/c4x/c4x.c: Remove inclusion of loop.h.
2392 2004-10-12 Ben Elliston <bje@au.ibm.com>
2394 * basic-block.h (edge_iterator): Keep the address of VEC(edge) *.
2395 (ei_container): New; renamed.
2396 (ei_start, ei_last): New macros.
2397 (ei_start_1, ei_last_1): Renamed from ei_start.
2398 (ei_last_1, ei_end_p): Use ei_container() where applicable.
2399 (ei_one_before_end_p, ei_next, ei_edge): Likewise.
2400 * gcse.c (remove_reachable_equiv_notes): Use ei_container().
2402 2004-10-11 Sebastian Pop <pop@cri.ensmp.fr>
2404 * Makefile.in (tree-ssa-loop-niter.o): Depends on tree-data-ref.h.
2405 * cfgloop.c (initialize_loops_parallel_p): New.
2406 (flow_loops_find): Initialize the parallel_p field to true for all
2408 * tree-ssa-loop-niter.c: Include "tree-data-ref.h".
2409 (estimate_numbers_of_iterations_loop): Infers the loop bounds from
2410 the size of the data accessed in the loop.
2411 (struct nb_iter_bound): Moved...
2412 * cfgloop.h (struct nb_iter_bound): ... here.
2413 (estimated_nb_iterations, parallel_p): New fields in struct loop.
2414 (record_estimate): Declare extern here.
2415 * tree-chrec.c: Fix comments.
2416 (nb_vars_in_chrec): New function.
2417 * tree-chrec.h (nb_vars_in_chrec): Declared here.
2418 * tree-data-ref.c: Don't include lambda.h, that is already included
2420 (tree_fold_divides_p): Don't check for integer_onep.
2421 (tree_fold_bezout): Removed.
2422 (gcd): New static duplicated function.
2423 (int_divides_p, dump_subscript): New.
2424 (dump_data_dependence_relation): Use dump_subscript.
2425 (dump_dist_dir_vectors, dump_ddrs, compute_estimated_nb_iterations,
2426 estimate_niter_from_size_of_data): New.
2427 (analyze_array_indexes, analyze_array): Call
2428 estimate_niter_from_size_of_data during the detection of array
2429 references. Pass in a pointer to the statement that contains the
2431 (all_chrecs_equal_p): New.
2432 (compute_distance_vector): Renamed compute_subscript_distance.
2433 Deal with multivariate conflict functions.
2434 (initialize_data_dependence_relation): Initialize DDR_AFFINE_P,
2435 DDR_SIZE_VECT, DDR_DIST_VECT, and DDR_DIR_VECT.
2436 (non_affine_dependence_relation): New.
2437 (analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
2438 analyze_siv_subscript, analyze_miv_subscript,
2439 analyze_overlapping_iterations, subscript_dependence_tester):
2440 Initialize and return last_conflicts function.
2441 (initialize_matrix_A, FLOOR, compute_overlap_steps_for_affine_univar,
2442 compute_overlap_steps_for_affine_1_2): New.
2443 (analyze_siv_subscript_affine_cst): Removed.
2444 (analyze_subscript_affine_affine): Disprove dependences based on the
2445 iteration domains. Solve the univariate dependence case as before,
2446 but use lambda_matrix_right_hermite instead of tree_fold_bezout.
2447 Implement the multivariate case of 2 versus 1 variables.
2448 (build_classic_dist_vector, build_classic_dir_vector): Implement some
2450 (find_data_references_in_loop): Compute and initialize
2451 loop->estimated_nb_iterations and loop->parallel_p.
2452 (analyze_all_data_dependences): Modify the debug dump order.
2453 * tree-data-ref.h (SUB_LAST_CONFLICT_IN_A, SUB_LAST_CONFLICT_IN_B,
2454 subscript->last_conflict_in_a, subscript->last_conflict_in_b): Removed.
2455 (SUB_LAST_CONFLICT, subscript->last_conflict,
2456 data_dependence_relation->affine_p, data_dependence_relation->size_vect,
2457 DDR_AFFINE_P, DDR_SIZE_VECT): New.
2458 (find_data_references_in_loop, initialize_data_dependence_relation,
2459 dump_subscript, dump_ddrs, dump_dist_dir_vectors): Declared here.
2461 2004-10-12 Kelley Cook <kcook@gcc.gnu.org>
2463 * configure: Regenerate.
2465 2004-10-12 Fariborz Jahanian <fjahanian@apple.com>
2468 * tree-ssa-dom.c (unsafe_associative_fp_binop): New function.
2469 (simplify_rhs_and_lookup_avail_expr): Disallow associativity
2470 and constant folding of floating point MULT_EXPR/PLUS_EXPR
2473 2004-10-12 Ulrich Weigand <uweigand@de.ibm.com>
2475 * config/s390/s390.c (s390_va_start): Use build_va_arg_indirect_ref.
2476 (s390_gimplify_va_arg): Likewise.
2478 2004-10-12 Daniel Jacobowitz <dan@debian.org>
2480 * defaults.h (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P)
2481 (MODE_BASE_REG_REG_CLASS, REGNO_MODE_OK_FOR_REG_BASE_P)
2482 (REG_MODE_OK_FOR_REG_BASE_P): Provide default definitions.
2483 * regclass.c (record_address_regs): Remove ifdef. Use
2484 REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
2485 * regrename.c (REG_MODE_OK_FOR_BASE_P): Remove unnecessary
2487 (scan_rtx_address, replace_oldest_value_addr): Use
2488 REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
2489 * reload.c (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Remove
2490 unnecessary definitions.
2491 (find_reloads_address_1): Support REG_MODE_OK_FOR_REG_BASE_P
2492 and MODE_BASE_REG_REG_CLASS.
2493 * config/arm/arm.h (MODE_BASE_REG_CLASS): Don't check reload_completed.
2494 (MODE_BASE_REG_REG_CLASS): Define.
2495 (REGNO_MODE_OK_FOR_REG_BASE_P): Define.
2496 (REG_MODE_OK_FOR_REG_BASE_P): Define.
2497 * doc/tm.texi (Register Classes): Document MODE_BASE_REG_REG_CLASS,
2498 REG_MODE_OK_FOR_REG_BASE_P, and REGNO_MODE_OK_FOR_REG_BASE_P.
2500 2004-10-12 Daniel Berlin <dberlin@dberlin.org>
2502 * tree-ssa-alias.c (verify_name_tags): New function.
2503 (verify_flow_sensitive_alias_info): Remove code that used to check name tags.
2504 (verify_alias_info): Call verify_name_tags.
2506 2004-10-12 Kazu Hirata <kazu@cs.umass.edu>
2508 PR rtl-optimization/17931
2509 * config/i386/i386.c (ix86_rtx_costs): Handle COMPARE with
2512 2004-10-12 Richard Earnshaw <rearnsha@arm.com>
2514 * arm.c (arm_print_operand): Use output_operand_lossage where possible
2515 rather than aborting.
2517 2004-10-12 Paul Brook <paul@coudesourcery.com>
2519 * config.gcc: Add armv6{k,z,zk}
2520 * config/arm/arm-cores.def: Add arm1176 and mpcore.
2521 * config/arm/tune.md: Regenerate.
2522 * config/arm/arm.c (FL_FOR_ARCH6K, FL_FOR_ARCH6Z, FL_FOR_ARCH6ZK):
2524 (all_architectures): Add armv6k, armv6z, armv6zk.
2525 * config/arm/lib1funcs.asm: Recognise new arm arcitectures.
2526 * doc/invoke.texi: Document new arch and cpu values.
2528 2004-10-12 Paul Brook <paul@coodesourcery.com>
2530 * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Change meabi=3 to
2533 2004-10-12 Paul Brook <paul@codesourcery.com>
2535 * config/arm/arm.md (addsi3_cbranch_scratch): Correct constraints.
2536 Handle negative constants.
2538 2004-10-12 Joseph S. Myers <jsm@polyomino.org.uk>
2541 * c-typeck.c (convert_arguments): Return error_mark_node if there
2542 are too few arguments.
2543 (build_function_call): Handle error_mark_node return from
2546 2004-10-06 Paolo Bonzini <bonzini@gnu.org>
2548 * configure.ac (symbolic_link): Replace with $LN_S.
2549 (Assembler/Linker): Hard link from gas and binutils trees.
2550 * aclocal.m4 (gcc_AC_PROG_LN_S): Try "cp -p" before cp.
2551 * configure: Regenerate.
2553 2004-10-12 Paul Brook <paul@codesourcery.com>
2555 * configure.ac: Don't look for host assembler when building a canadian
2557 * configure: Regenerate.
2559 2004-10-11 Roger Sayle <roger@eyesopen.com>
2562 * c-opts.c (permit_fortran_options): Delete/obsolete global variable.
2563 (c_common_init_options): Remove #ifdef CL_F77 code. Scan command
2564 line options for "-lang-asm" and if found allow any of the C-family
2566 (c_common_handle_option): Remove last use of permit_fortran_options.
2568 2004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
2570 * config/s390/s390.c (print_operand): Support 'S' format flag.
2571 * config/s390/s390.md ("*tmqi_mem"): Use 'S' format flag.
2572 ("*tstsi", "*tstsi_cconly", "*tstsi_cconly2"): Likewise.
2573 ("*tsthiCCT", "*tsthiCCT_cconly", "*tsthi", "*tsthi_cconly"): Likewise.
2574 ("*tstqiCCT", "*tstqiCCT_cconly", "*tstqi", "*tstqi_cconly"): Likewise.
2575 ("*cmphi_ccu", "*cmpqi_ccu", "*clc"): Likewise
2576 ("movti", "*movdi_31", "*movqi", "*movdf_31", "*mvc"): Likewise.
2577 ("*movstricthi"): Likewise.
2578 ("*load_multiple_di", "*load_multiple_si"): Likewise.
2579 ("*store_multiple_di", "*store_multiple_si"): Likewise.
2580 ("*sethiqisi", "*sethihisi"): Likewise.
2581 ("*sethiqidi_64", "*sethiqidi_31"): Likewise.
2582 ("*andqi3_zarch", "*andqi3_esa", "*nc"): Likewise.
2583 ("*iorqi3_zarch", "*iorqi3_esa", "*oc"): Likewise.
2584 ("*xorqi3", "*xc", "*xc_zero"): Likewise.
2585 ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): Likewise.
2587 ("*tmhi_full"): Fix incorrect op_type attribute.
2589 ("*adddi3_alc_cc", "*adddi3_alc"): Remove double backslash.
2590 ("*subdi3_slb_cc", "*subdi3_slb"): Likewise.
2591 ("*addsi3_alc_cc", "*addsi3_alc"): Likewise.
2592 ("*subsi3_slb_cc", "*subsi3_slb"): Likewise.
2594 2004-10-11 Andrew Pinski <pinskia@physics.uc.edu
2597 * function.c (temp_slots_at_level): Fix typo which creates too
2598 many temp stack slots levels.
2600 2004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
2602 * config/s390/s390.c (s390_trampoline_template): Generate shorter
2604 (s390_trampoline_instantiate): Adapt.
2605 * config/s390/s390.h (TRAMPOLINE_SIZE): Adapt to new code.
2607 2004-10-11 Roger Sayle <roger@eyesopen.com>
2610 * stmt.c (add_case_node): Add additional type argument. Declare
2611 as static to match prototype. Convert the upper and lower bounds
2612 to the specified index type. Optimize away case ranges/values
2613 that are outside the index type's bounds. Truncate case ranges
2614 that span the index type's bounds.
2615 (expand_case): Avoid unnessary computation and memory allocation
2616 when index type is error_mark_node. Pass index_type as required
2617 by change to add_case_node API. No need to convert case range
2618 bounds to index_type, this is now done by add_case_node.
2620 2004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
2622 * config/s390/s390-protos.h (s390_offset_p): Add prototype.
2623 * config/s390/s390.c (s390_offset_p): New function.
2624 * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccu",
2625 "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use splitter to
2626 transform Q->Q alternatives to *clc pattern.
2628 ("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
2629 "*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf"): Use splitter
2630 to transform Q->Q alternatives to *mvc pattern.
2631 ("*mvc"): Move. Add peephole to merge adjacent MVCs.
2632 ("*anddi3", "*andsi3_zarch", "*andsi3_esa", "*andhi3_zarch",
2633 "*andhi3_esa", "*andqi3_zarch", "*andqi3_esa"): Use splitter to
2634 transform Q->Q alternatives to *nc pattern.
2635 ("*nc"): New insn. New peephole to merge adjacent NCs.
2636 ("*iordi3", "*iorsi3_zarch", "*iorsi3_esa", "*iorhi3_zarch",
2637 "*iorhi3_esa", "*iorqi3_zarch", "*iorqi3_esa"): Use splitter to
2638 transform Q->Q alternatives to *oc pattern.
2639 ("*oc"): New insn. New peephole to merge adjacent OCs.
2640 ("*xordi3", "*xorsi3", "*xorhi3", "*xorqi3"): Use splitter to
2641 transform Q->Q alternatives to *xc pattern.
2642 ("*xc"): New insn. New peephole to merge adjacent XCs.
2643 ("*xc_zero"): Move. Add peephole to merge adjacent XCs.
2645 2004-10-11 Andrew Pinski <pinskia@physics.uc.edu>
2647 * gimplify.c (gimple_push_condition): Make sure that we don't
2648 have any saved condition cleanup if we were at the top level.
2650 2004-10-11 Richard Sandiford <rsandifo@redhat.com>
2652 * config/frv/frv.md (*adddi3_internal): Change name to...
2653 (adddi3): ...replacing the exisiting define_expand. Combine
2654 alternatives. Fix the range of the constant constraints ('J' instead
2655 of 'NOP'). Remove bogus operands[2] check. Use simplify_gen_subreg
2656 to extract the lower and upper halves of the DImode operands.
2657 Always use addi3_lower and adddi3_upper, not the subdi3 forms.
2658 (adddi3_lower): Fix the range of the constant constraints and
2659 remove the bogus operands[2] check.
2660 (adddi3_upper): Use gpr_or_int10_operand as the predicate for
2661 operand 2. Use addxi to handle constant operands.
2662 (subdi3_lower, subdi3_upper): Don't handle constant operands.
2664 2004-10-11 Nathan Sidwell <nathan@codesourcery.com>
2666 * gengtype-lex.l: Add commented } & ) characters to unconfuse
2667 editor's paren matching. Allow #define inside a struct.
2669 2004-10-10 Andrew Pinski <pinskia@physics.uc.edu>
2672 part of PR c++/17657
2673 * fold-const.c (fold_build_cleanup_point_expr): New function.
2674 * tree.h (fold_build_cleanup_point_expr): Prototype.
2676 2004-10-10 Eric Christopher <echristo@redhat.com>
2678 * dwarf2out.c: Move attribute to subprogram declaration
2679 instead of subroutine type.
2681 2004-10-10 Kazu Hirata <kazu@cs.umass.edu>
2683 * basic-block.h: Remove the prototypes for can_hoist_insn_p,
2684 hoist_insn_after, and hoist_insn_to_edge.
2685 * rtl.h: Remove the prototypes for reg_referenced_between_p,
2686 no_jumps_between_p, and insn_dependent_p.
2687 * rtlanal.c (no_jumps_between_p, reg_referenced_between_p,
2688 insn_dependent_p, insn_dependent_p_1, hoist_test_store,
2689 can_hoist_insn_p, hoist_update_store, hoist_insn_after,
2690 hoist_insn_to_edge): Remove.
2692 2004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
2695 * c-decl.c (grokparms): Don't warn for parameters of incomplete
2696 type in declarations that are not definitions except for the case
2697 of parameters of void type.
2699 2004-10-10 Kazu Hirata <kazu@cs.umass.edu>
2701 * tree-cfg.c: Fix comment typos.
2703 2004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
2706 * builtins.c (expand_builtin_va_start): Check for too few
2707 arguments to va_start.
2709 2004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
2712 * c-decl.c (grokfield): Make diagnostic for bad cases of unnamed
2713 fields a pedwarn. Pedwarn here for unnamed structs/unions if
2715 * c-parse.in (component_decl): Don't pedwarn here for unnamed
2718 2004-10-09 Zdenek Dvorak <dvorakz@suse.cz>
2720 PR tree-optimization/17906
2721 * tree-tailcall.c (tree_optimize_tail_calls_1): Do not attempt to
2722 copy non-gimple reg arguments.
2724 2004-10-09 Roger Sayle <roger@eyesopen.com>
2726 PR rtl-optimization/17853
2727 * simplify-rtx.c (simplify_relational_operation): Correct comment.
2728 Reorganize handling of comparison operations with floating point
2729 results (always return 0.0 even without FLOAT_STORE_FLAG_VALUE).
2730 Likewise, introduce support for comparison operations with vector
2731 result types, introducing a new VECTOR_STORE_FLAG_VALUE target macro.
2733 * doc/rtl.texi: Document new VECTOR_STORE_FLAG_VALUE target macro.
2734 * doc/tm.texi: Likewise.
2736 2004-10-09 Steven Bosscher <stevenb@suse.de>
2738 * regs.h (struct reg_info_def): Remove the last_node_uid and
2739 changes_mode fields.
2740 (REGNO_LAST_NOTE_UID): Don't define.
2741 * regclass.c (reg_scan_mark_refs): Don't set REGNO_LAST_NOTE_UID.
2742 * regmove.c (copy_src_to_dest): Likewise.
2744 2004-10-09 Roger Sayle <roger@eyesopen.com>
2747 * fold-const.c (fold_div_compare): When optimizing X/C1 op C2, the
2748 relational comparison operator op needs to be swapped/reversed when
2749 C1 is negative. i.e. X/-10 < 1 becomes X >= -9, not X < -9.
2751 2004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
2754 * tree-ssa-phiopt.c (conditional_replacement): Use bsi_after_labels
2755 instead of bsi_start.
2756 (value_replacement): Likewise.
2757 (abs_replacement): Likewise
2759 2004-10-09 Steven Bosscher <stevenb@suse.de>
2761 * cfgexpand.c (maybe_dump_rtl_for_tree_stmt): New function.
2762 (expand_gimple_cond_expr, expand_gimple_tailcall,
2763 expand_gimple_basic_block): Use it to dump RTL for each stmt.
2764 (tree_expand_cfg): Announce full RTL function dump.
2765 * tree-optimize.c (execute_one_pass): Use normal RTL printing,
2766 not the graph version.
2767 * tree-pretty-print.c (dump_generic_node): Allow empty statements
2768 in the arms of a COND_EXPR for lowered nodes.
2770 2004-10-08 Joseph S. Myers <joseph@codesourcery.com>
2772 * config/rs6000/spe.h (atosfix16, atosfix32, atosfix64, atoufix16,
2773 atoufix32, atoufix64, strtosfix16, strtosfix32, strtosfix64,
2774 strtoufix16, strtoufix32, strtoufix64): Declare.
2776 2004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
2778 * c-lex.c (interpret_float): Give a pedwarn rather than a warning
2779 for an out-of-range floating point constant.
2780 * builtins.c (fold_builtin_inf): Give a pedwarn rather than a
2781 warning if the target format does not support infinities.
2783 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
2785 * emit-rtl.c (last_label_num, base_label_num): Remove.
2786 (max_label_num): Always return label_num.
2787 (set_new_last_label_num, restore_emit_status): Remove.
2788 (init_emit): Don't initialize last_label_num.
2789 * function.c (pop_function_context_from): Don't call
2790 restore_emit_status.
2791 * function.h: Remove the prototype for restore_emit_status.
2792 * rtl.h: Remove the prototype for set_new_last_label_num.
2794 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
2796 * stmt.c (expand_decl_init): Remove.
2797 * tree.h: Remove the corresponding prototype.
2799 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
2801 * integrate.c (try_constants, subst_constants, mark_stores):
2803 * integrate.h: Remove the prototype for try_constants.
2805 2004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
2807 * c-typeck.c (enum impl_conv): Add ic_argpass_nonproto.
2808 (convert_for_assignment): Handle ic_argpass_nonproto. Add
2809 comments about its relevance to errors.
2810 (c_convert_parm_for_inlining): Use ic_argpass_nonproto.
2812 2004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
2815 * c-ppoutput.c (cb_ident): Don't quote string as it is already
2818 2004-10-08 Diego Novillo <dnovillo@redhat.com>
2820 * tree-ssa-pre.c (init_pre): Use size of ARRAY_REF to allocate
2821 reference_node_pool.
2823 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
2825 * tree-cfg.c: Fix a comment typo.
2827 2004-10-08 Andreas Krebbel <krebbel1@de.ibm.com>
2829 * config/s390/s390.c (s390_register_info): Don't save fprs for
2831 (s390_conditional_register_usage): Make fprs 'fixed' for -msoft-float.
2833 2004-10-08 Ulrich Weigand <uweigand@de.ibm.com>
2835 * config/s390/s390.h (TARGET_DEFAULT_BACKCHAIN): New define.
2836 (TARGET_DEFAULT): Use symbolic values.
2837 * config/s390/tpf.h (TARGET_DEFAULT_BACKCHAIN): Redefine.
2838 (TARGET_DEFAULT): Use symbolic values.
2839 * config/s390/s390.c (s390_backchain_string): Initialize to
2840 TARGET_DEFAULT_BACKCHAIN.
2842 2004-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2844 * builtins.c (expand_builtin_mempcpy): Move tree handling code to
2845 fold_builtin_mempcpy. Accept a type parameter. Delete duplicate
2847 (expand_builtin_strcat): Accept a type parameter.
2848 (fold_builtin_mempcpy): Accept a type and endp parameter.
2850 * builtins.c (expand_builtin_strncpy): Delete duplicate code.
2851 Accept an `exp' instead of an `arglist'.
2853 2004-10-08 Nathan Sidwell <nathan@codesourcery.com>
2855 * tree-tailcall.c (tree_optimize_tail_calls_1): Use fold_convert,
2856 reverting my 2004-09-07 patch to use build_int_cst.
2858 2004-10-08 Eric Botcazou <ebotcazou@libertysurf.fr>
2861 * config/sparc/sparc.c (input_operand): Remove redundant code
2862 for handling LO_SUM.
2863 (legitimate_address_p) <REG+REG>: Do not recheck TARGET_V9.
2864 <LO_SUM>: If LO_SUM is offsettable, accept it for TFmode on V9.
2865 Otherwise only accept it for TFmode if quad move insns are available.
2867 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
2869 * tree-cfg.c (tree_forwarder_block_p): Reorder checks so that
2870 common cases will be caught earlier than others.
2872 2004-10-08 Michael Matz <matz@suse.de>
2874 * loop-doloop.c (doloop_optimize): Extend count.
2876 2004-10-08 Kaz Kojima <kkojima@gcc.gnu.org>
2878 * config/sh/sh.md (prefetch_media, prefetch_i4): New insns.
2879 (prefetch): Convert to expander.
2881 2004-10-08 Kaz Kojima <kkojima@gcc.gnu.org>
2883 * config/sh/sh.md (tls_global_dynamic): Use MEM pattern for the
2884 first argument of CALL.
2885 (tls_local_dynamic): Likewise.
2887 2004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
2889 * c-typeck.c (enum impl_conv): New.
2890 (convert_for_assignment): Use it. Take tree for function called
2891 instead of its name. Handle ObjC selectors for diagnostics at
2892 start of function. Select diagnostic text within the function
2893 using full sentences for diagnsotics. Use %qE to name functions
2895 (convert_arguments, build_modify_expr,
2896 c_convert_parm_for_inlining, digest_init, c_finish_return): Update
2897 callers to convert_for_assignment.
2898 (warn_for_assignment): Remove.
2900 2004-10-08 Nick Clifton <nickc@redhat.com>
2902 * config/sh/symbian.c (symbian_possibly_export_base_class):
2903 Replace use of deleted TYPE_USES_VIRTUAL_BASECLASSES macro with
2904 TYPE_CONTAINS_VPTR_P.
2906 2004-10-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2908 * config/m32r/m32r.h (CONDITIONAL_REGISTER_USAGE): Don't exclude
2909 fixed registers form all_used_regs. Update call_really_used_regs.
2910 (CALL_REALLY_USED_REGISTERS): Define.
2911 * config/m32r/m32r.c (MUST_SAVE_REGISTER): Replace call_used_regs
2912 with call_really_used_regs.
2914 2004-10-08 Alan Modra <amodra@bigpond.net.au>
2916 * config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Choose gcrt1.o
2917 for -profile as well as -p and -pg.
2919 2004-10-07 Andrew Pinski <pinskia@physics.uc.edu>
2921 * libgcc2.c (__moddi3): Cast &w to UDWtype*.
2923 2004-10-07 Kazu Hirata <kazu@cs.umass.edu>
2925 * tree-cfg.c (tree_block_forwards_to): Remove.
2926 * tree-flow.h: Remove the corresponding prototype.
2928 2004-10-07 Kazu Hirata <kazu@cs.umass.edu>
2930 * tree-flow-inline.h (phi_nodes): Remove an unnecessary check
2931 for ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR.
2933 2004-10-07 Geoffrey Keating <geoffk@apple.com>
2936 * config/rs6000/rs6000.c (rs6000_generate_compare): When
2937 flag_trapping_math is in effect, don't generate subtract
2940 2004-10-07 Ulrich Weigand <uweigand@de.ibm.com>
2942 * config/s390/s390-protos.h (s390_narrow_logical_operator): Add.
2943 * config/s390/s390.c (s390_narrow_logical_operator): New function.
2944 (s390_extra_constraint_str): Add 'A' constraints.
2945 (s390_const_ok_for_constraint_p): Add 'Nx' constraints.
2946 * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Add 'A' constraint.
2947 (CONSTRAINT_LEN): Likewise.
2948 * config/s390/s390.md ("*anddi3"): Add NI alternative and splitter.
2949 ("*andsi3_zarch", "*andsi3_esa"): Likewise.
2950 ("*andhi3_zarch", "*andhi3_esa"): Likewise.
2951 ("*iordi3"): Add OI alternative and splitter.
2952 ("*iorsi3_zarch", "*iorsi3_esa"): Likewise.
2953 ("*iorhi3_zarch", "*iorhi3_esa"): Likewise.
2954 ("*xordi3"): Add XI alternative and splitter.
2955 ("*xorsi3", "*xorhi3"): Likewise.
2957 2004-10-07 Richard Sandiford <rsandifo@redhat.com>
2959 * config/mips/mips.c (mips_function_rodata_section): New function.
2960 (TARGET_ASM_FUNCTION_RODATA_SECTION): Use it.
2962 2004-10-07 Devang Patel <dpatel@apple.com>
2964 * rs6000/altivec.md (UNSPEC_VCMPBFP, UNSPEC_VCMPEQUB, UNSPEC_VCMPEQUH,
2965 UNSPEC_VCMPEQUW, UNSPEC_VCMPGEFP, UNSPEC_VCMPGTUB, UNSPEC_VCMPGTSB,
2966 UNSPEC_VCMPGTUH, UNSPEC_VCMPGTSH, UNSPEC_VCMPGTUW, UNSPEC_VCMPGTSW,
2967 UNSPEC_VCMPGTFP, UNSPEC_VSEL4SI, UNSPEC_VSEL4SF, UNSPEC_VSEL8HI,
2968 UNSPEC_VSEL16QI, UNSPEC_VCOND_V4SI, UNSPEC_VCOND_V4SF, UNSPEC_VCOND_V8HI,
2969 UNSPEC_VCOND_V16QI, UNSPEC_VCONDU_V4SI, UNSPEC_VCONDU_V8HI,
2970 UNSPEC_VCONDU_V16QI): New constant defines.
2971 (vcondv4si, vcondv4sf, vcondv8hi, vcondv16qi, vconduv4si, vconduv8hi,
2972 vconduv16qi): New patterns.
2973 * rs6000/rs6000-protos.h (rs6000_emit_vector_cond_expr): New function.
2974 * rs6000/rs6000.c (rs6000_emit_vector_cond_expr): New function.
2975 (get_vec_cmp_insn): Same.
2976 (get_vsel_insn): Same.
2977 (rs6000_emit_vector_compare): Same.
2978 (rs6000_emit_vector_select): Same.
2979 (INSN_NOT_AVAILABLE): New.
2981 2004-10-07 Zdenek Dvorak <dvorakz@suse.cz>
2983 PR tree-optimization/17749
2984 * tree-tailcall.c (find_tail_calls): Check that parameter is
2987 2004-10-07 Kazu Hirata <kazu@cs.umass.edu>
2989 * config/ia64/ia64.c: Fix a comment typo.
2991 2004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
2993 * doc/install.texi (*-*-solaris2*): Fix marker for URL.
2995 2004-10-07 Giovanni Bajo <giovannibajo@gcc.gnu.org>
2998 * tree-inline.c (expand_call_inline): Do not warn for functions
2999 marked with attribute noinline.
3001 2004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
3004 * config/sparc/sparc.c (sparc_output_mi_thunk): Set
3005 current_function_uses_only_leaf_regs as well as sparc_leaf_function_p.
3007 * config/sparc/sparc.c (sparc_gimplify_va_arg): Pass 'false' instead
3008 of 0 as 4th argument to pass_by_reference.
3009 Call build_va_arg_indirect_ref instead of build_fold_indirect_ref.
3011 2004-10-06 Eric Christopher <echristo@redhat.com>
3013 * config/sh/sh.c (sh_dwarf_calling_convention): Fix renesas dwarf
3016 2004-10-07 Richard Sandiford <rsandifo@redhat.com>
3019 * config/mips/mips.md (mov_<load>l): Remove hazard=none attribute.
3021 2004-10-07 Zdenek Dvorak <dvorakz@suse.cz>
3023 PR rtl-optimization/17791
3024 * loop-doloop.c (doloop_modify): Take number of iterations as
3026 (doloop_optimize): Extend or shorten the number of iterations
3027 when changing mode of counter register.
3028 * loop-iv.c (lowpart_subreg): Export.
3029 * rtl.h (lowpart_subreg): Declare.
3031 2004-10-07 Zdenek Dvorak <dvorakz@suse.cz>
3033 PR tree-optimization/17806
3034 * cfghooks.c (split_edge): Update IRREDUCIBLE_LOOP flags.
3035 * cfgloopmanip.c (loop_split_edge_with): Updating of IRREDUCIBLE_LOOP
3036 flags moved to split_edge.
3038 2004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
3041 * expmed.c (expand_sdiv_pow2): Force a stack adjustment
3042 before tentatively building the conditional move sequence.
3044 2004-10-07 Richard Sandiford <rsandifo@redhat.com>
3047 * function.c (assign_parm_setup_block_p): Tighten BLOCK_REG_PADDING
3049 * config/pa/pa.h (BLOCK_REG_PADDING): Define in terms of
3050 function_arg_padding.
3052 2004-10-07 Richard Sandiford <rsandifo@redhat.com>
3055 * Makefile.in (stmp-fixproto): Pass FIX_HEADER=build/... to fixproto.
3057 2004-10-07 Kazu Hirata <kazu@cs.umass.edu>
3059 * hooks.c (hook_int_void_1, hook_void_int): Remove.
3060 * hooks.h: Remove the corresponding prototypes.
3062 2004-10-06 Andrew Pinski <pinskia@physics.uc.edu>
3065 * tree-nested.c (walk_stmt_info): Add changed field.
3066 (convert_nonlocal_reference): Set changed to when we
3067 change a decl to unnested decl.
3068 <case ADDR_EXPR>: Instead of checking if the immediate part
3069 of the ADDR_EXPR changed, check the field changed.
3070 Use recompute_tree_invarant_for_addr_expr instead of unsetting
3072 (convert_local_reference): Set changed to when we
3073 change a decl to unnested decl.
3074 <case ADDR_EXPR>: Instead of checking if the immediate part
3075 of the ADDR_EXPR changed, check the field changed.
3076 Also call recompute_tree_invarant_for_addr_expr on the ADDR_EXPR.
3078 2004-10-06 Kazu Hirata <kazu@cs.umass.edu>
3080 * defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
3081 * dwarf2out.c (dwarf2out_init): Remove references to
3082 DWARF2_GENERATE_TEXT_SECTION_LABEL.
3083 * system.h: Poison DWARF2_GENERATE_TEXT_SECTION_LABEL.
3084 * doc/tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
3086 2004-10-06 Joseph S. Myers <jsm@polyomino.org.uk>
3088 * c-typeck.c (convert_arguments): Take expression for called
3089 function rather than its name. Handle ObjC selectors directly
3090 rather than relying on warn_for_assignment to do so. Call warning
3091 directly rather than warn_for_assignment. Use %qE in diagnostics.
3092 Say "argument" rather than "arg" in diagnostics.
3093 (build_function_call): Update call to convert_arguments.
3095 2004-10-06 Andrew Pinski <pinskia@physics.uc.edu>
3098 * dbxout.c (dbxout_symbol): Really handle RECORD, UNION, and
3099 ENUMs specially instead of just saying we do.
3101 2004-10-06 Eric Christopher <echristo@redhat.com>
3103 * dwarf2.h: Sync with include/elf/dwarf2.h
3105 2004-10-06 Daniel Berlin <dberlin@dberlin.org>
3107 * tree-pretty-print.c (dump_generic_node): Fix printing of BINFO
3110 2004-10-06 Daniel Berlin <dberlin@dberlin.org>
3112 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Convert
3113 to use FOR_EACH_SSA_USE_OPERAND iterator, and propagate_value.
3115 2004-10-06 Daniel Berlin <dberlin@dberlin.org>
3117 * lambda-code.c (compute_nest_using_fourier_motzkin): New
3119 (lambda_compute_auxillary_space): Split from here.
3121 2004-10-06 Daniel Berlin <dberlin@dberlin.org>
3123 * tree-ssa-loop-ivopts.c (expr_invariant_in_loop): Make non-static.
3124 * tree-flow.h: Add prototype.
3125 * lambda-code.c (invariant_in_loop_and_outer_loops): Use
3126 expr_invariant_in_loop.
3128 2004-10-06 Kazu Hirata <kazu@cs.umass.edu>
3130 * tree-cfg.c (thread_jumps): Remove a duplicate check for
3133 2004-10-06 Ulrich Weigand <uweigand@de.ibm.com>
3135 * config/s390/s390-protos.h (s_imm_operand): Remove.
3136 (s390_pool_operand): Add prototype.
3137 * config/s390/s390.c (general_s_operand): Remove.
3138 (s_imm_operand): Remove.
3139 (s_operand): Merge contents of general_s_operand.
3140 (s390_pool_operand): New function.
3141 * config/s390/s390.h (PREDICATE_CODES): Remove s_imm_operand.
3142 * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct"): New insns.
3143 ("*cmpdi_ccu"): Merge Q->Q alternative.
3144 ("*cmpsi_ccu", "*cmphi_ccu"): Likewise.
3145 ("*cmpqi_ccu"): Merge Q->Q, n->Q, n->S alternatives.
3147 ("*cmpdi_ccu_mem", "*cmpsi_ccu_mem"): Likewise.
3148 ("*cmphi_ccu_mem", "*cmpqi_ccu_mem"): Likewise.
3149 ("*movstricthi"): Use memory_operand instead of s_imm_operand.
3151 2004-10-06 Steve Ellcey <sje@cup.hp.com>
3153 * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Change macro to
3154 call ia64_function_arg_boundary.
3155 * config/ia64/ia64-protos.h (ia64_function_arg_boundary): New.
3156 * config/ia64/ia64.c (ia64_function_arg_boundary): New.
3157 (ia64_function_arg_advance): Do not put 128 bit floats into
3160 2004-10-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3162 * builtins.c (expand_builtin_strcpy): Delete duplicate code.
3163 Accept an expression instead of an arglist.
3164 (expand_builtin_stpcpy): Accept an expression instead of an
3167 2004-10-06 Eric Botcazou <ebotcazou@libertysurf.fr>
3170 * doc/install.texi (*-*-solaris2*): Mention potential problem
3171 with Sun assembler + GNU linker and C++ programs.
3172 Document status of binutils 2.15 release.
3174 2004-10-06 Jan Hubicka <jh@suse.cz>
3176 * cse.c (cse_main): Kill push/pop context.
3178 2004-10-05 Zack Weinberg <zack@codesourcery.com>
3180 * pretty-print.c: Include tree.h.
3181 (pp_base_prepare_to_format): New function, logic from
3182 text_specifies_location.
3183 (pp_base_format_text): Use gcc_assert.
3184 * pretty-print.h (pp_prepare_to_format): New macro.
3185 (pp_base_prepare_to_format): Prototype.
3186 * diagnostic.c (text_specifies_location): Delete.
3187 (bug_report_request): Delete.
3188 (diagnostic_set_info): Don't call text_specifies_location.
3189 (diagnostic_action_after_output): Put text from
3190 bug_report_request inline here. Use gcc_unreachable.
3191 (diagnostic_report_current_function): Fix comment.
3192 (diagnostic_report_diagnostic): Clarify logic for error recursion.
3193 Call pp_prepare_to_format before diagnostic_starter.
3194 (trim_filename): Use IS_DIR_SEPARATOR.
3195 (fatal_error, internal_error): Use gcc_unreachable.
3196 (error_recursion): Call diagnostic_action_after_output to
3197 issue the bug_report_request message and exit.
3198 * Makefile.in (diagnostic.o, pretty-print.o): Update dependencies.
3200 * c-parse.in: Add list of diagnostic messages to insulate
3201 translation template from version of yacc/bison used to
3202 compile the grammar.
3204 2004-10-06 Alan Modra <amodra@bigpond.net.au>
3207 * doc/tm.texi (USE_LD_AS_NEEDED, LINK_EH_SPEC): Document.
3209 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
3211 * basic-block.h: Remove the prototype for
3212 flow_preorder_transversal_compute.
3213 * cfganal.c (dfst_node): Remove.
3214 (flow_preorder_transversal_compute): Likewise.
3215 * rtl.h: Remove the prototype for get_jump_table_offset.
3216 * rtlanal.c (get_jump_table_offset): Remove.
3218 2004-10-05 Richard Henderson <rth@redhat.com>
3221 * tree-ssa-operands.c (get_expr_operands): Handle CONST_DECL.
3223 2004-10-05 Kelley Cook <kcook@gcc.gnu.org>
3226 * Makefile.in: Stage the build directory too.
3228 2004-10-05 Aldy Hernandez <aldyh@redhat.com>
3230 * config/frv/frv.h (LEGITIMIZE_ADDRESS): New.
3232 * config/frv/frv-protos.h (frv_legitimize_address): Protoize.
3233 (frv_emit_move): Same.
3235 * config/frv/frv.c (frv_emit_move): New.
3236 (frv_legitimize_address): New.
3238 * config/frv/frv.md ("movsi"): Call frv_emit_move.
3245 2004-10-05 Joseph S. Myers <jsm@polyomino.org.uk>
3247 * c-decl.c (declspecs_add_type): Don't pedwarn for _Complex in
3250 2004-10-05 Joseph S. Myers <jsm@polyomino.org.uk>
3252 * c-decl.c (pushdecl): When an extern declaration at block scope
3253 refers to a visible entity with internal linkage, use the old DECL
3254 rather than the new one.
3256 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
3258 * tree-cfg.c (cleanup_tree_cfg): Remove extra parentheses in
3261 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
3263 * tree-cfg.c (thread_jumps): Remove a duplicate check for
3266 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
3268 * tree-cfg.c (thread_jumps): Iterate with FOR_EACH_BB instead
3269 of FOR_BB_BETWEEN. Remove a useless check for unreachable
3272 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
3274 * tree-cfg.c (cleanup_tree_cfg): Don't call
3275 delete_unreachable_blosk() after thread_jumps().
3276 (thread_jumps): Always remove basic blocks as they become
3279 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
3281 * tree-cfg.c (cleanup_tree_cfg): Remove variable
3282 something_changed. Simplify the while loop.
3284 2004-10-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3286 * builtins.c (expand_builtin_memmove): Delete duplicate code
3287 and accept a tree type for the result.
3288 (expand_builtin_bcopy): Accept a tree type for the result.
3289 (fold_builtin_memmove): Accept an arglist and tree type for
3292 2004-10-05 Ulrich Weigand <uweigand@de.ibm.com>
3294 * config/s390/s390.c (s390_dump_pool): Remove return value.
3295 Use gen_pool_align, gen_pool_section_start/end instead of
3296 gen_pool_start/end_31/64.
3297 * config/s390/s390.md (UNSPECV_POOL_START, UNSPECV_POOL_END): Remove.
3298 (UNSPECV_POOL_SECTION, UNSPECV_POOL_ALIGN): New constants.
3299 ("pool_start_31", "pool_end_31"): Remove.
3300 ("pool_start_64", "pool_end_64"): Likewise.
3301 ("pool_align", "pool_section_start", "pool_section_end": New insns.
3303 * config/s390/s390.c (s390_cannot_copy_insn_p): New function.
3304 (TARGET_CANNOT_COPY_INSN_P): Define.
3305 (s390_cannot_force_const_mem): Handle UNSPEC_INSN.
3306 (struct constant_pool): New member 'execute'.
3307 (s390_add_execute, s390_find_execute): New functions.
3308 (s390_execute_label, s390_execute_target): Likewise.
3309 (s390_dump_pool): Output in-pool execute target templates.
3310 (s390_dump_execute): New function.
3311 (s390_alloc_pool, s390_free_pool): Handle execute templates.
3312 (s390_mainpool_start, s390_mainpool_finish): Likewise.
3313 (s390_chunkify_start, s390_chunkify_finish): Likewise.
3314 * config/s390/s390.md (UNSPEC_INSN, UNSPEC_EXECUTE): New constants.
3315 ("*execute"): New insn pattern.
3316 ("movmem_short", "*movmem_short"): Use splitters to generate
3317 explicit execute pattern, remove embedded execute.
3318 ("clrmem_short", "*clrmem_short"): Likewise.
3319 ("cmpmem_short", "*cmpmem_short"): Likewise.
3321 2004-10-05 Daniel Berlin <dberlin@dberlin.org>
3323 * tree-ssa.c (verify_ssa): Verify phi arguments only
3324 contain renamed names.
3326 2004-10-05 Alan Modra <amodra@bigpond.net.au>
3328 * config/rs6000/linux.h: Formatting, whitespace.
3329 * config/rs6000/linux64.h: Likewise.
3330 * config/rs6000/rs6000-protos.h: Likewise.
3331 * config/rs6000/rs6000.c: Likewise.
3332 (easy_vector_splat_const): Add fall thru comments.
3333 (output_vec_const_move): Likewise.
3335 2004-10-05 Kelley Cook <kcook@gcc.gnu.org>
3337 * Makefile.in: Update -Wno-error exceptions for move to build dir.
3339 2004-10-05 Chao-Ying Fu <fu@mips.com>
3340 Richard Sandiford <rsandifo@redhat.com>
3342 * doc/invoke.texi (-mpaired-single): Link to the new description of the
3343 built-in functions. Document dependencies.
3344 (-mips3d): Add link here too.
3345 * doc/extend.texi (MIPS Paired-Single Support): New section.
3347 2004-10-04 Chao-ying Fu <fu@mips.com>
3349 * config/mips/mips.h (UNITS_PER_SIMD_WORD): Define.
3351 2004-10-04 Diego Novillo <dnovillo@redhat.com>
3353 * tree-ssa-dom.c (tree_ssa_dominator_optimize):
3354 Initialize OPT_STATS to 0.
3356 2004-10-04 Kazu Hirata <kazu@cs.umass.edu>
3358 * tree-data-ref.c: Fix comment typos.
3360 2004-10-04 Sebastian Pop <pop@cri.ensmp.fr>
3362 * tree-data-ref.c (array_base_name_differ_p): Fix comments. When
3363 the predicate cannot be computed, don't initialize the result to
3366 2004-10-01 Eric Christopher <echristo@redhat.com>
3368 * dwarf2.h (dwarf_calling_convention): Add GNU prefix to
3369 locally defined enum.
3370 * dwarf2out.c (add_calling_convention_attribute): Don't
3373 2004-10-03 Andrew Pinski <pinskia@physics.uc.edu>
3375 PR c/17178, PR c/17820
3376 * c-decl.c (pop_scope): Do not warn about unused static
3377 variables as they warned in the middle-end.
3379 2004-10-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3381 * builtins.c (expand_builtin_memcpy): Delete duplicate code
3382 and make the first parameter the expression not the arglist.
3384 2004-10-03 Ulrich Weigand <uweigand@de.ibm.com>
3386 * expr.c (expand_expr_addr_expr): Only accept Pmode or ptr_mode
3387 as valid modes to expand address expressions.
3389 2004-10-03 Joseph S. Myers <jsm@polyomino.org.uk>
3391 * c-aux-info.c, c-common.c, c-common.h, c-cppbuiltin.c, c-decl.c,
3392 c-format.c, c-incpath.c, c-lex.c, c-objc-common.c, c-opts.c,
3393 c-parse.in, c-pch.c, c-ppoutput.c, c-pragma.c, c-typeck.c: Follow
3394 code formatting conventions.
3396 2004-10-03 Richard Sandiford <rsandifo@redhat.com>
3398 * config/mips/mips.md (<u>mulsidi3_32bit_r4000): Fix unsigned case.
3400 2004-10-03 Kazu Hirata <kazu@cs.umass.edu>
3402 PR tree-optimization/16632
3403 * fold-const.c (fold) [EQ_EXPR]: When seeing if D & ~C != 0 to
3404 fold (A & C) == D into 0, fold ~C. Similarly, for the case
3405 where | is used instead of &.
3407 2004-10-03 Kazu Hirata <kazu@cs.umass.edu>
3409 * ginclude/stddef.h: Fix a comment typo.
3411 2004-10-03 Eric Botcazou <ebotcazou@libertysurf.fr>
3414 * config.gcc (i?86-*-solaris2*): Restore correct logic
3415 for --enable-threads option.
3416 (sparc64-*-solaris2*): Likewise.
3417 (sparc-*-solaris2*): Likewise.
3419 2004-10-03 Alan Modra <amodra@bigpond.net.au>
3421 * config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define.
3422 (OS_MISSING_POWERPC64): Move, and comment.
3423 * config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Define.
3424 (OS_MISSING_POWERPC64): Move, and comment.
3426 2004-10-02 Ian Lance Taylor <ian@wasabisystems.com>
3428 * arm.c (output_call_mem): Add missing \t.
3430 2004-10-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3432 * builtins.c (expand_builtin_memcmp, expand_builtin_strcmp,
3433 expand_builtin_strncmp): Delete duplicate code.
3435 2004-10-02 Frank Ch. Eigler <fche@redhat.com>
3437 * tree-mudflap.c (mf_build_check_statement_for): Reorganize to
3438 take check-base and -limit arguments.
3439 (mf_xform_derefs_1): Reorganize slightly to pass proper base/limit
3440 check ranges for ARRAY_REF and COMPONENT_REF.
3441 (execute_mudflap_fnction_ops, ..._decls): Limit unnecessary
3444 2004-10-02 Joseph S. Myers <jsm@polyomino.org.uk>
3446 * c-objc-common.c (c_tree_printer): Correct description of %E.
3447 Don't fall through after printing an expression.
3449 2004-10-02 Kazu Hirata <kazu@cs.umass.edu>
3451 * tree-cfg.c, config/s390/tpf-unwind.h: Fix comment typos.
3453 2004-10-02 Kazu Hirata <kazu@cs.umass.edu>
3455 * tree-cfg.c (cleanup_tree_cfg): Speed up by calling
3456 delete_unrechable_blocks() only when necessary.
3458 2004-10-02 P.J. Darcy <darcypj@us.ibm.com>
3460 * gthr-tpf.h (__gthread_recursive_mutex_t): New type.
3461 (__GTHREAD_RECURSIVE_MUTEX_INIT): Define.
3462 (__gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock,
3463 __gthread_recursive_mutex_unlock): New functions.
3465 2004-10-02 P.J. Darcy <darcypj@us.ibm.com>
3467 * config/s390/t-tpf (LIB2ADDEH): Remove tpf-eh.c.
3468 * config/s390/tpf-eh.c: Remove file.
3469 * config/s390/tpf-unwind.h: New file.
3470 * config/s390/tpf.h (MD_FALLBACK_FRAME_STATE_FOR): Remove.
3471 (MD_UNWIND_SUPPORT): Define.
3473 2004-10-02 Joseph S. Myers <jsm@polyomino.org.uk>
3475 * c-typeck.c (warn_for_assignment): Don't permit argnum == 0.
3477 2004-10-01 Ulrich Weigand <uweigand@de.ibm.com>
3479 * config/s390/s390-protos.h (s390_comparison): Add prototype.
3480 * config/s390/s390.c (s390_comparison): New function.
3481 (s390_branch_condition_mask): Return -1 for invalid comparisons.
3482 (s390_branch_condition_mnemonic): Assert valid comparison.
3483 * config/s390/s390.h (PREDICATE_CODES): Add s390_comparison.
3484 * config/s390/s390.md ("*cjump_64", "*cjump_31", "*cjump_long",
3485 "*icjump_64", "*icjump_31", "*icjump_long", "*trap"): Use
3486 s390_comparison instead of comparison_operator.
3488 * config/s390/s390.md (UNSPEC_CMPINT): New constant.
3489 ("cmpmemdi"): Remove.
3490 ("cmpmem_short", "*cmpmem_short"): Use CCUmode instead of CCSmode.
3491 ("cmpmem_long", "*cmpmem_long_64", "*cmpmem_long_31"): Likewise.
3492 ("cmpint_si"): Rename to ...
3493 ("*cmpint_si"): ... this. Use UNSPEC_CMPINT.
3494 ("cmpint_di", "*cmpint_di"): Likewise.
3495 * config/s390/s390.c (s390_canonicalize_comparison): Remove