1 2004-11-03 Jeff Law <law@redhat.com>
3 * stmt.c (expand_case): Speed up code to detect duplicate case
4 label targets and count unique case label targets.
6 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
8 * cppdefault.c, cppdefault.h, timevar.h: Update copyright.
10 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
12 * bitmap.h, dbxout.c, tree-mudflap.c: Fix comment formatting.
14 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
16 * tree-cfg.c (find_taken_edge): Abort if we are given a
17 statement that is neither COND_EXPR nor SWITCH_EXPR.
19 2004-11-02 Zdenek Dvorak <dvorakz@suse.cz>
21 * fold-const.c (fold): Reassociate also (x - mult) + mult and
22 (mult - x) + mult. Cast operands of expression after applying
23 distributive law to the correct types. Apply distributive law
24 to a * c - b * c for all non-float types.
26 2004-11-02 Geoffrey Keating <geoffk@apple.com>
28 * configure.ac: Don't clear STMP_FIXINC or STMP_FIXPROTO just
29 because we don't want to run them now; instead, set them to
30 stmp-install-fixproto or stmp-install-fixinc.
31 * Makefile.in (stmp-install-fixproto): New.
32 (stmp-install-fixinc): New.
33 * configure: Regenerate.
35 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
37 * flow.c (init_propagate_block_info): Use bitmap_empty_p on result
40 2004-11-02 Ziemowit Laski <zlaski@apple.com>
42 * c-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.
43 (c_types_compatible_p): Move function definition...
44 * c-objc-common.c (c_types_compatible_p): ...here.
45 * c-objc-common.h (LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from
48 2004-11-02 Steven Bosscher <stevenb@suse.de>
50 * cfgloop.h (struct loop): Update comment.
51 * cse.c (cse_main): Remove obsolete comment.
53 * expr.h (gen_cond_trap): Move prototype under functions provided
55 (canonicalize_condition, get_condition): Move to...
56 * rtl.h (canonicalize_condition, get_condition): ...here.
57 (branch_target_load_optimize): Add comment that this function is
59 * loop.c (canonicalize_condition, get_condition): Move to...
60 * rtlanal.c (canonicalize_condition, get_condition): ...here.
61 * sched-deps.c (get_condition): Rename to sched_get_condition.
62 (add_dependence): Update this caller.
64 2004-11-02 Andrew Pinski <pinskia@physics.uc.edu>
67 * tree-ssa.c (replace_immediate_uses): If we call fold_stmt, make sure
68 that the vops get marked for renaming.
70 2004-11-02 Andreas Krebbel <krebbel1@de.ibm.com>
72 * config/s390/s390.md ("movcc"): Set type attribute.
74 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
76 * tree-phinodes.c (add_phi_arg): Add an assertion that the
79 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
81 * tree-phinodes.c (remove_phi_arg_num): Do not zero the
82 element that's being removed.
84 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
86 * tree-ssa-threadupdate.c (copy_phis_to_block): Install PHI
87 arguments using PENDING_STMT.
88 (thread_block): Call copy_phis_to_block after redirecting an
91 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
93 * bitmap.h (bitmap_and, bitmap_and_into, bitmap_and_compl,
94 bitmap_and_compl_into, bitmap_ior, bitmap_iot_into,
95 bitmap_ior_compl, bitmap_xor, bitmap_xor_into): Produce void.
96 (bitmap_ior_and_compl_into): Produce bool.
97 (bitmap_union_of_diff): Rename to ...
98 (bitmap_ior_and_compl): ... here. Produce bool.
99 * bitmap.c (bitmap_ior_and_compl_into): Return bool. Use
100 bitmap_operation directly.
101 (bitmap_union_of_diff): Rename to ...
102 (bitmap_ior_and_compl): ... here. Return bool, use
103 bitmap_operation directly.
104 * df.c (df_rd_transfer_function): Use bitmap_ior_and_compl.
105 (df_ru_transfer_function, df_lr_transfer_function): Likewise.
106 * global.c (modify_bb_reg_pav): Likewise.
108 * bitmap.h (bitmap_equal_p): Return bool.
109 (bitmap_intersect_p, bitmap_intersect_compl_p): Declare.
110 * bitmap.c (bitmap_equal_p): Return bool. Compare directly.
111 (bitmap_intersect_p, bitmap_intersect_compl_p): New.
112 * flow.c (calculate_global_regs_live): Use bitmap_intersect_p and
113 bitmap_intersect_compl_p.
114 * ifcvt (dead_or_predicable): Likewise.
116 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
118 PR rtl-optimization/17104
119 * config/rs6000/rs6000.c (rs6000_emit_move): Don't wrap small
120 loads in zero_extend.
122 2004-11-02 Danny Smith <dannysmith@users.sourceforge.net>
125 * toplev.c (debug_type_names): Remove "dwarf-1".
127 2004-11-02 Ben Elliston <bje@au.ibm.com>
129 * timevar.h (timevar_get): Remove.
130 * timevar.c (timevar_get): Remove unused function.
132 2004-11-02 Joseph S. Myers <joseph@codesourcery.com>
134 * doc/include/texinfo.tex: Update from Texinfo CVS.
136 2004-11-02 Ben Elliston <bje@au.ibm.com>
138 * cppdefault.h (cpp_SYSROOT): Remove.
139 * cppdefault.c (cpp_SYSROOT): Likewise.
141 2004-11-01 Andrew MacLeod <amacleod@redhat.com>
143 PR tree-optimization/16447
144 * tree-cfg.c (bsi_commit_one_edge_insert): Rename from
145 bsi_commit_edge_inserts_1, and make funtion external. Return new block.
146 (bsi_commit_edge_inserts): Use renamed bsi_commit_one_edge_insert.
147 * tree-optimize.c (pass_cleanup_cfg_post_optimizing): Enable listing.
148 * tree-flow.h (bsi_commit_one_edge_insert): Extern decl.
149 * tree-outof-ssa.c (rewrite_trees): Don't commit edges here.
150 (same_stmt_list_p): New. Return TRUE if edge is to be forwarded.
151 (identical_copies_p): New. Return true is two copies are the same.
152 (identical_stmt_lists_p): New. Return true if stmt lists are the same.
153 (analyze_edges_for_bb): New. Determine how best to insert edge stmts
155 (perform_edge_inserts): New. Determine what to do with all stmts that
156 have been inserted on edges.
157 (remove_ssa_form): Analyze and commit edges from here.
159 2004-11-01 Andrew Pinski <pinskia@physics.uc.edu>
162 * bitmap.h (bmp_iter_end_p): Take a const pointer instead of a struct.
163 (EXECUTE_IF_SET_IN_BITMAP): Update call to bmp_iter_end_p.
164 (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
165 (EXECUTE_IF_AND_IN_BITMAP): Likewise.
167 2004-11-01 Joseph S. Myers <joseph@codesourcery.com>
170 * c-decl.c (get_parm_info): Allow FUNCTION_DECLs to appear amongst
171 parameter declarations.
173 2004-11-01 Andreas Krebbel <krebbel1@de.ibm.com>
175 * config/s390/s390.c (regclass_map): Put reg 33 (cc) to CC_REGS group.
176 (s390_secondary_input_reload_class)
177 (s390_secondary_output_reload_class): Use GENERAL_REGS to reload a cc
179 (s390_expand_cmpmem): Enable cmpmem implementation.
180 * config/s390/s390.h (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
181 Added three new classes: CC_REGS, ADDR_CC_REGS, GENERAL_CC_REGS.
182 (REG_CLASS_FROM_LETTER): New constraint 'c' added.
183 * config/s390/s390.md ("movcc"): New insn pattern.
184 * doc/md.texi: Document 'c' constraint for s390.
186 2004-11-01 Nathan Sidwell <nathan@codesourcery.com>
189 * doc/extend.texi (Deprecated Features): Deprecate G++ covariant
192 2004-10-16 Daniel Berlin <dberlin@dberlin.org>
194 Fix PR tree-optimization/17672
195 Fix PR tree-optimization/18168
197 * lambda-code.c (lambda_lattice_compute_base): Fix reversed
199 (gcc_tree_to_linear_expression): Add extra to existing constant.
200 (depth_of_nest): Factor out function used in various places.
201 (gcc_loop_to_lambda_loop): Clean up code a little bit. No
203 (find_induction_var_from_exit_cond): Stop guessing, and just
204 get the right answer :).
205 (gcc_loopnest_to_lambda_loopnest): Remove useless pre-allocation.
206 Print out message about result of attempt to create perfect nest.
207 (lbv_to_gcc_expression): Add type argument, use it to do math
208 and induction variable creation.
209 (lle_to_gcc_expression): Ditto.
210 (lambda_loopnest_to_gcc_loopnest): Create new iv with same type as
211 oldiv. Pass type argument to lle_to_gcc_expression and
212 lbv_to_gcc_expression.
213 Reset number of iterations after transformation.
214 (perfect_nestify): Remove useless pre-allocation, and cleanup
217 * tree-data-ref.c (build_classic_dist_vector): Return false for
218 dependences completely outside of the loop nest we asked about.
219 (build_classic_dir_vector): Ditto.
220 (compute_data_dependences_for_loop): Only add dependence relations
221 inside the loop we asked about.
223 * tree-loop-linear.c (linear_transform_loops): Use DDR_SIZE_VECT.
224 Compute immediate uses.
226 * tree-optimize.c: Move linear_transform_loops to before ivcanon.
228 2004-11-01 Kazu Hirata <kazu@cs.umass.edu>
230 * tree-cfg.c (thread_jumps): Fix a comment typo.
232 2004-11-01 Kazu Hirata <kazu@cs.umass.edu>
234 * tree-cfg.c (thread_jumps): Fix a comment typo.
236 2004-10-31 Nicolas Pitre <nico@cam.org>
238 * config/arm/ieee754-sf.S (floatdisf): Fix regression with
239 values smaller than 2^32.
241 2004-10-31 Jeff Law <law@redhat.com>
243 * cfgloop.h (struct loop): Remove unused "nodes" field.
244 * timevar.def (TV_TREE_LOOP_BOUNDS): New.
245 * tree-data-ref.c (find_data_references_in_loop): Use get_loop_body
246 instead of calling flow_bb_inside_loop_p for every basic block
248 * tree-ssa-loop.c (pass_record_bounds): Use TV_TREE_LOOP_BOUNDS.
250 2004-10-31 Graham Stott <graham.stott@btinternet.com>
252 * config/pa/pa.md: (prefetch_64, prefetch_32): Fix typo. Use
253 INT_5_BITS instead of VAL_5_BITS_P.
255 2004-10-31 Roger Sayle <roger@eyesopen.com>
258 * tree-inline.c (inline_forbidden_p_1): Use %qF instead of '%F'
259 for consistent quoting in diagnostic messages.
260 (expand_call_inline): Likewise.
261 * tree-optimize.c (tree_rest_of_compilation): Likewise.
262 * tree-ssa.c (warn_uninitialized_var): Likewise.
263 (warn_uninitialized_phi): Likewise.
265 2004-10-31 Richard Sandiford <rsandifo@redhat.com>
267 * config/mips/mips.c (mips_cannot_change_mode_class): Use a stricter
270 2004-10-31 Kazu Hirata <kazu@cs.umass.edu>
272 * c-common.c: Fix a comment typo.
274 2004-10-31 Jason Merrill <jason@redhat.com>
277 * tree-gimple.c (is_gimple_mem_rhs): Also require a val for
278 aggregate types that are not BLKmode.
280 2004-10-30 Ziemowit Laski <zlaski@apple.com>
282 * c-common.h (objc_lookup_ivar): Add second parameter to
284 * c-typeck.c (build_external_ref): After looking up symbol,
285 pass it to objc_lookup_ivar() to decide whether it or the
286 ivar should be used, rather than deciding the issue locally.
287 * stub-objc.c (objc_lookup_ivar): Add an OTHER parameter,
288 which is simply returned in the non-ObjC case.
290 2004-10-30 Danny Smith <dannysmith@users.sourceforge.net>
292 * sdbout.c (sdbout_symbol): Do not output type .def statements
295 2004-10-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
297 * c-common.c (catenate_strings): New.
298 (c_parse_error): Use it. Don't over-escape.
300 2004-10-30 Kaz Kojima <kkojima@gcc.gnu.org>
302 * config/sh/sh.c (calc_live_regs): Declare reg as unsigned and
303 modify the for loop expressions for it. Remove unnecessary casts.
304 (sh_expand_prologue): Declare reg as unsigned.
305 (sh_gimplify_va_arg_expr): Initinalize lab_over.
306 (sh_handle_sp_switch_attribute): Add const qualifier appropriately.
308 2004-10-30 Geoffrey Keating <geoffk@apple.com>
310 * doc/invoke.texi (Darwin Options): Improve description of
311 how the subtype is chosen.
313 2004-10-30 Roger Sayle <roger@eyesopen.com>
316 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Check that
317 the stack adjustment, "size", is valid for Pmode. If the stack
318 frame is too large, generate a trap insn and issue a warning.
320 2004-10-30 Kazu Hirata <kazu@cs.umass.edu>
322 * tree-ssa-dom.c: Fix comment typos.
324 2004-10-30 Kaz Kojima <kkojima@gcc.gnu.org>
326 * config/sh/sh.c (prepare_move_operands): Use operands[0]
327 for the output rtl if no_new_pseudos is set. Remove redundant
330 2004-10-30 Joseph S. Myers <joseph@codesourcery.com>
333 * c-decl.c (start_function): Don't check for DECL_BUILT_IN when
334 determining whether to copy parameter types from a previous
335 prototype declaration.
337 2004-10-29 Roger Sayle <roger@eyesopen.com>
339 PR rtl-optimization/17581
340 * cselib.c (cselib_process_insn): The last instruction of a libcall
341 block, with the REG_RETVAL note, should be considered in the libcall.
342 * gcse.c (do_local_cprop): Allow constants to be propagated outside
344 (adjust_libcall_notes): Use simplify_replace_rtx instead of
345 replace_rtx to avoid creating invalid RTL in REG_RETVAL notes.
347 2004-10-30 Kazu Hirata <kazu@cs.umass.edu>
349 * tree-phinodes.c (create_phi_node): Don't zero PHI_REWRITTEN.
351 2004-10-29 Jeff Law <law@redhat.com>
353 * tree-ssa-dom.c (struct edge_info): New structure holding
354 edge equivalences and edge redirection information.
355 (get_eq_expr_value, record_dominating_conditions): Kill.
356 (propagate_to_outgoing_edges): Renamed from cprop_into_phis.
357 Call record_edge_info.
358 (allocate_edge_info, free_edge_info): New.
359 (tree_ssa_dominator_optimize): Use propagate_to_outgoing_edges
360 rather than cprop_into_phis. Free all edge infos before threading
362 (thread_across_edge): Allocate new edge info structures as needed
363 and store the redirection target into the edge info structure
364 instead of the edge's AUX field.
365 (dom_opt_initialize_block): Mark unused argument with ATTRIBUTE_UNUSED.
366 (record_equivalence_from_incoming_edge): Lose unnecessary argument.
367 Revamp code which finds and records equivalences associated with
368 edges to use saved data in the edge_info structure.
369 (record_equivalencs_from_phis): Similarly.
370 (dom_opt_finalize_block): Revamp code which finds and records
371 equivalences associated with edges to use saved data in the
373 (build_and_record_new_cond): New function.
374 (record_conditions): Use build_and_record_new_cond to record
375 dominating conditions.
376 (record_edge_info): New function.
377 (record_range): Tighten test for conditions which create
378 useful range records.
380 2004-10-29 Geoffrey Keating <geoffk@apple.com>
382 * config/i386/darwin.h (ASM_SPEC): Simplify.
383 (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
384 * config/rs6000/darwin.h (DARWIN_SUBARCH_SPEC): New.
385 (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
386 * config/darwin.h (LINK_COMMAND_SPEC): Don't pass -arch here.
387 (LINK_SPEC): Do pass -arch here. Handle -force_cpusubtype_ALL
388 in all cases. Pass the right -arch or -arch_only based on -mcpu.
389 (ASM_SPEC): Handle -force_cpusubtype_ALL.
390 * doc/invoke.texi (Darwin Options): Improve documentation for
391 Darwin linker (and libtool) switches.
393 * config/rs6000/darwin-fallback.c: Include <mach/thread_status.h>.
395 2004-10-29 Stan Shebs <shebs@apple.com>
397 * config/rs6000/darwin-tramp.asm: Make more 64-bit-friendly.
399 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
401 * tree-phinodes.c (allocate_phi_node): New.
402 (make_phi_node, resize_phi_node): Use it.
404 2004-10-29 David Edelsohn <edelsohn@gnu.org>
406 * config/rs6000/sysv4.h (TARGET_POWER): Define as 0.
407 * config/rs6000/darwin.h (TARGET_POWER): Define as 0.
409 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
411 * tree-phinodes.c (make_phi_node, resize_phi_node): Don't zero
413 * tree.h (tree_phi_node): Tell the garbage collector to chase
416 2004-10-29 Richard Earnshaw <rearnsha@arm.com>
418 * opts.c (decode_options): Lower the crossjump threshold for -Os.
420 2004-10-29 Diego Novillo <dnovillo@redhat.com>
422 * tree.h (struct tree_ssa_name): Remove field 'equiv'.
424 2004-10-28 Nathan Sidwell <nathan@codesourcery.com>
426 * bitmap.h (bitmap_empty_p): New.
427 (bitmap_and, bitmap_and_into, bitmap_and_compl,
428 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into,
429 bitmap_ior_compl, bitmap_xor, bitmap_xor_into): New bitmap
431 (bitmap_ior_and_compl): Rename to ...
432 (bitmap_ior_and_compl_into): ... here.
433 * bitmap.c (bitmap_equal_p): Use bitmap_xor.
434 (bitmap_ior_and_compl): Rename to ...
435 (bitmap_ior_and_compl_into): ... here. Adjust. Return changed
437 (bitmap_union_of_diff): Use renamed bitmap functions.
438 * basic-block.h (AND_REG_SET, AND_COMPL_REG_SET, IOR_REG_SET,
439 XOR_REG_SET, IOR_AND_COMPL_REG_SET): Likewise.
440 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
441 * df.c (df_bb_rd_local_compute)
442 * flow.c (calculate_global_regs_live,
443 init_propagate_block_info): Likewise.
444 * ifcvt.c (find_if_case_1, find_if_case_2,
445 dead_or_predicable): Likewise.
446 * ra-build.c (union_web_part_roots, livethrough_conflicts_bb,
447 reset_conflicts, conflicts_between_webs): Likewise.
448 * ra-rewrite.c (reloads_to_loads, rewrite_program2,
449 detect_web_parts_to_rebuild): Likewise.
450 * sched-ebb.c (compute_jump_reg_dependencies): Likewise.
451 * tree-int-ssa.c (insert_phi_nodes_for, rewrite_into_ssa): Likewise.
452 * tree-sra.c (decide_instantiations): Likewise.
453 * tree-ssa-alias.c (create_name_tags,
454 merge_pointed_to_info): Likewise.
455 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
456 * tree-ssa-loop-im.c (move_computations): Likewise.
457 * tree-ssa-operands.c (get_call_expr_operands): Likewise.
458 * tree-ssa-pre.c (fini_pre): Likewise.
459 * tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
460 * tree-ssanames.c (any_marked_for_rewrite_p): Likewise.
461 * tree-vectorizer.c (vectorize_loops): Likewise.
463 2004-10-29 Nick Clifton <nickc@redhat.com>
465 config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): When
466 adding the PIC register to the fixed_regs array, also add it
467 to the call_used_regs array.
469 2004-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
471 * gthr-posix.h (__gthread_recursive_mutex_init_function): Guard
472 with #ifdef PTHREAD_MUTEX_RECURSIVE/#endif pairs.
474 2004-10-28 Daniel Berlin <dberlin@dberlin.org>
476 * tree-into-ssa.c (rewrite_virtual_phi_arguments): New function.
477 (rewrite_blocks): Modify argument, and use it to decide which
479 (rewrite_def_def_chains): Call rewrite_blocks with true here.
480 (rewrite_into_ssa): and call it with false here.
482 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
484 * tree-phinodes.c (add_phi_arg): Turn an "if" that always
485 triggers into gcc_assert.
487 2004-10-28 Diego Novillo <dnovillo@redhat.com>
489 PR tree-optimization/16728
490 * tree-flow.h (get_ptr_info): Declare.
491 * tree-ssa-alias.c (get_ptr_info): Make extern.
492 * tree-ssa-copy.c (merge_alias_info): Merge flow-sensitive
495 2004-10-28 Stan Shebs <shebs@apple.com>
497 * config/rs6000/darwin.h (SUBTARGET_EXTRA_SPECS): Handle -m64.
498 * config/rs6000/rs6000.c (rs6000_darwin_file_start): Add ppc64
501 2004-10-28 Frank Ch. Eigler <fche@redhat.com>
503 * tree-mudflap.c (mudflap_init): Mark cache-lookup decls to
504 prevent their later unnecessary registration.
505 (mf_build_check_statement_for): Remove "addr" argument, and
506 related "__mf_value" generated code. Update callers.
507 (mf_decl_eligible_p): New function, factored from mx_register_decls.
508 (mx_register_decls): Call it.
509 (mf_xform_derefs_1): Rewrite COMPONENT_REF and ARRAY_REF cases
510 to restore support for complex nested expressions.
511 (mudflap_enqueue_decl): Simplify. Move registration call emission
513 (mudflap_finish_file): ... to here.
514 (mudflap_enqueue_constant): Remove dump code.
516 2004-10-28 Zack Weinberg <zack@codesourcery.com>
519 * dbxout.c (dbxout_begin_complex_stabs_noforcetext): New function.
520 (DBX_FINISH_STABS): Add (unused by default) SYM parameter.
521 (dbxout_finish_complex_stabs): Update to match.
522 (dbxout_symbol_location): Call emit_pending_bincls_if_required
523 and FORCE_TEXT before DBX_STATIC_BLOCK_START. Use
524 dbxout_begin_complex_stabs_noforcetext.
525 * xcoffout.h (DBX_FINISH_STABS): Restore special case for
526 N_GSYM, using new SYM parameter. Correct logic for special
529 * varasm.c (function_section): If DECL is NULL_TREE, don't try
530 to do anything else. Do not call get_insns if cfun or
533 2004-10-28 Adam Nemet <anemet@lnxw.com>
536 * c-typeck.c (c_mark_addressable): Issue error if address of a
537 register variable is taken. Use "%qD" to print DECL_NAME.
539 2004-10-28 Diego Novillo <dnovillo@redhat.com>
541 * opts.c (decode_options): Don't run PRE at -Os.
543 2004-10-28 Richard Henderson <rth@redhat.com>
545 * config/alpha/alpha.md (movqicc_internal): Allow exactly one
546 zero in the conditional.
547 (movhicc_internal, movsicc_internal, movdicc_internal): Likewise.
549 2004-10-28 Richard Henderson <rth@redhat.com>
551 * cse.c (memory_extend_rtx): Remove.
552 (cse_main): Don't set it.
553 (cse_insn): Use a local buffer instead.
555 2004-10-28 Andreas Krebbel <krebbel1@de.ibm.com>
557 * profile.c (branch_prob): Call to init_edge_profiler added.
558 * rtl-profile.c (rtl_init_edge_profiler): New function.
559 (rtl_gen_edge_profiler): Replaced call to insert_insn_on_edge with
560 call to safe_insert_insn_on_edge.
561 (rtl_profile_hooks): rtl_init_edge_profiler added.
562 * tree-profile.c (tree_init_edge_profiler): New function.
563 (tree_profile_hooks): tree_init_edge_profiler added.
564 * value-prof.h (profile_hooks) init_edge_profiler prototype added.
566 2004-10-28 Nick Clifton <nickc@redhat.com>
568 * config/iq2000/iq2000.c (iq2000_expand_epilogue): Use
569 emit_jump_insn() to generate the return instruction.
571 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
573 * tree-phinodes.c: Remove trailing whitespace.
575 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
577 * tree-ssa-loop-ivopts.c: Fix a comment typo.
578 * doc/invoke.texi: Fix a typo.
580 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
582 * Makefile.in (OBJS-common): Remove duplicates.
584 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
586 * lambda-code.c (nestify_update_pending_stmts): Remove.
587 (perfect_nestify): Use flush_pending_stmts instead of
588 nestify_update_pending_stmts.
589 * tree-cfg.c (tree_make_forwarder_block): Use
591 * tree-flow.h: Add a prototype for flush_pending_stmts.
592 * tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge):
593 Use flush_pending_stmts.
594 (lv_update_pending_stmts): Remove.
595 (tree_ssa_loop_version): Use flush_pending_stmts instead of
596 lv_update_pending_stmts.
597 * tree-ssa.c (flush_pending_stmts): New.
599 2004-10-28 Ulrich Weigand <uweigand@de.ibm.com>
602 * final.c (alter_subreg): Compute correct offset to use with
603 paradoxical SUBREGs of memory operands.
604 * recog.c (general_operand): Allow paradoxical SUBREGs of
605 memory operands after reload.
606 * simplify-rtx.c (simplify_gen_subreg): Fail if simplify_subreg
607 has failed when passed a hard register.
609 2004-10-28 Aldy Hernandez <aldyh@redhat.com>
611 * function.c (assign_parm_setup_block): Handle parallels correctly.
613 2004-10-28 Kaz Kojima <kkojima@gcc.gnu.org>
615 * final.c (shorten_branches): Initialize flags structure.
617 2004-10-28 Nathan Sidwell <nathan@codesourcery.com>
619 * tree.c (int_cst_node, int_cst_hash_table): New variables.
620 (init_ttree): Initialize them.
621 (int_cst_hash_hash, int_cst_hash_eq): New hashing functions.
622 (build_int_cst_wide): Use hash table for oversized integers.
624 2004-10-28 Nick Clifton <nickc@redhat.com>
626 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Define
629 2004-10-27 Richard Henderson <rth@redhat.com>
632 * expr.c (emit_group_load): Don't go force temporary for memory
634 (emit_group_store): Similarly.
636 2004-10-27 Andrew Pinski <pinskia@physics.uc.edu>
639 * common.opt (--param): Fix spelling of parameter.
641 2004-10-27 Andrew Pinski <pinskia@physics.uc.edu>
644 * tree-cfg.c (remove_useless_stmts_1) <case SWITCH_EXPR>:
645 Don't fold statement.
646 <case ASM_EXPR>: Fold the statement.
648 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
650 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
651 <COND_EXPR>: Use EDGE_COUNT instead of GOTO_DESTINATION.
653 2004-10-28 Joseph S. Myers <jsm@polyomino.org.uk>
655 * doc/contrib.texi, doc/cpp.texi, doc/cppopts.texi,
656 doc/extend.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
657 doc/libgcc.texi, doc/md.texi, doc/passes.texi,
658 doc/sourcebuild.texi, doc/tm.texi: Improve Texinfo formatting.
660 2004-10-28 Joseph S. Myers <jsm@polyomino.org.uk>
662 * doc/c-tree.texi, doc/cpp.texi, doc/implement-c.texi,
663 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/tm.texi: Put
664 punctuation outside quotes.
666 2004-10-27 David Mosberger <davidm@hpl.hp.com>
667 James E Wilson <wilson@specifixinc.com>
670 * config/ia64/ia64.c (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on
671 sibcall alloc instruction.
672 (process_set): Handle sibcall alloc instruction.
674 2004-10-27 Geoffrey Keating <geoffk@apple.com>
676 * config/rs6000/rs6000.c (rs6000_attribute_table): Add
677 SUBTARGET_ATTRIBUTE_TABLE.
678 * config/darwin.h (ASM_WEAKEN_DECL): Handle weak_import.
679 (SUBTARGET_ATTRIBUTE_TABLE): Define.
680 * config/darwin.c (darwin_handle_weak_import_attribute): New.
681 (HAVE_DEAD_STRIP): Delete.
682 (no_dead_strip): Don't test HAVE_DEAD_STRIP.
683 * config/darwin-protos.h (darwin_handle_weak_import_attribute):
686 * doc/tm.texi (USE_SELECT_SECTION_FOR_FUNCTIONS): Document.
688 * config/darwin.h (GTHREAD_USE_WEAK): Define.
690 2004-10-28 Ben Elliston <bje@au.ibm.com>
692 * params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): New.
693 (PARAM_SRA_FIELD_STRUCTURE_RATIO): Likewise.
694 * params.h (SRA_MAX_STRUCTURE_SIZE): New.
695 (SRA_FIELD_STRUCTURE_RATIO): Likewise.
696 * tree-sra.c: Include "params.h".
697 (decide_block_copy): Use new parameters.
698 * doc/invoke.texi (Optimize Options): Document new SRA pass
699 parameters sra-max-structure-size and sra-field-structure-ratio.
701 2004-10-27 Nicolas Pitre <nico@cam.org>
703 * config/arm/ieee754-df.S (floatdidf): Fix regression with big values.
705 2004-10-27 Zdenek Dvorak <dvorakz@suse.cz>
707 PR tree-optimization/18048
708 * fold-const.c (try_move_mult_to_index): New function.
709 (fold): Use try_move_mult_to_index.
710 * tree-ssa-loop-ivopts.c (try_add_cand_for): Prefer common candidates.
711 * tree-ssa-loop-niter.c (number_of_iterations_cond): Produce
712 an all-ones unsigned constant without extra bits.
713 * tree.c (build_low_bits_mask): New function.
714 * tree.h (build_low_bits_mask): Declare.
716 2004-10-27 David Edelsohn <edelsohn@gnu.org>
719 * config/rs6000/rs6000.md (maxsf3): Add !flag_trapping_math to
725 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
727 * tree-cfg.c (thread_jumps): Speed up by reordering the two
728 conditions for entering basic blocks into worklist.
730 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
732 * tree-cfg.c (thread_jumps): Speed up by pretending to have
733 ENTRY_BLOCK_PTR in worklist.
735 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
737 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
738 <GOTO_EXPR>: Don't let an explicit GOTO_EXPR slip through.
740 2004-10-27 Daniel Berlin <dberlin@dberlin.org>
742 Fix PR tree-optimization/17133
744 * tree-cfg.c (rewrite_to_new_ssa_names_bb): Also rewrite must
747 * tree-flow-inline.h: V_MUST_DEF_OP became V_MUST_DEF_RESULT.
748 (get_v_must_def_result_ptr): Modify for new structure of
750 (get_v_must_def_kill_ptr): New.
751 (op_iter_next_use): Add support for the kill that occurs in V_MUST_DEFs.
752 (op_iter_next_tree): Ditto. Also V_MAY_DEF_OP became V_MAY_DEF_RESULT.
753 (op_iter_next_def): V_MAY_DEF_OP became V_MAY_DEF_RESULT.
754 (op_iter_init): Initialize new mustu members.
755 (op_iter_next_mustdef): New function.
756 (op_iter_init_mustdef): Ditto.
758 * tree-flow.h (rewrite_def_def_chains): New function.
760 * tree-into-ssa.c (mark_def_sites): Handle mustdefkill operands.
761 (ssa_mark_def_sites): Ditto.
762 (rewrite_stmt): Ditto.
763 (ssa_rewrite_stmt): Ditto.
764 (rewrite_blocks): Factor out from rewrite_into_ssa.
765 (mark_def_block_sites): Ditto.
766 (rewrite_def_def_chains): New function, just rewrites def-def
767 chains without phi node insertion.
769 * tree-pass.h (TODO_fix_def_def_chains): New todo flag.
771 * tree-optimize.c (execute_todo): Handle TODO_fix_def_def_chains.
773 * tree-pretty-print.c (dump_vops): Print out MUST_DEF's so that
774 they include the rhs now.
776 * tree-ssa-ccp.c (visit_assignment): V_MUST_DEF_OP became
779 * tree-ssa-dce.c (mark_operand_necessary): Add phionly argument.
781 (mark_really_necessary_kill_operand_phis): New function.
782 (perform_tree_ssa_dce): Call it.
783 (pass_dce): Add TODO_fix_def_def_chains.
784 (pass_cd_dce): Ditto.
786 * tree-ssa-loop-im.c (determine_max_movement): Look at kills as
788 (rewrite_mem_refs): Ditto.
790 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Look at kills
793 * tree-ssa-operands.c (allocate_v_may_def_optype):
794 v_may_def_operand_type_t became v_def_use_operand_type_t.
795 (allocate_v_must_def_optype) Ditto.
796 (finalize_ssa_v_must_defs): Update for new operand type, as well
797 as setting the use portion as well.
798 (copy_virtual_operands): Copy the kill operand as well.
799 (create_ssa_artficial_load_stmt): V_MUST_DEF_OP became
802 * tree-ssa-operands.h (v_may_def_operand_type): Renamed to
803 v_def_use_operand_type.
804 (v_must_def_optype_d): Use v_def_use_operand_type.
805 (V_MUST_DEF_OP_*): Renamed to V_MUST_DEF_RESULT_*
806 (V_MUST_DEF_KILL_*): New macros.
807 (struct ssa_operand_iterator_d): Add num_v_mustu and v_mustu_i
809 Rename existing must_i and num_v_must members to mustd_i and
811 (SSA_OP_VMUSTDEFKILL): New flag.
812 (SSA_OP_VIRTUAL_KILLS): New flag.
813 (SSA_OP_ALL_OPERANDS): Add in SSA_OP_ALL_KILLS.
814 (SSA_OP_ALL_KILLS): New flag.
815 (FOR_EACH_SSA_MUSTDEF_OPERAND): New macro.
817 * tree-ssa.c (verify_ssa): Verify virtual kills as well.
819 * tree-vectorizer.c (vect_create_data_ref_ptr): V_MUST_DEF_OP
820 became V_MUST_DEF_RESULT.
821 (rename_variables_in_bb): Rename kill pointer as well.
823 * tree-dfa.c (compute_immediate_uses_for_stmt): Add kills into the
826 2004-10-27 Richard Sandiford <rsandifo@redhat.com>
828 * dbxout.c (dbxout_source_line): Move declaration of begin_label to
829 the block that needs it.
831 2004-10-27 Zack Weinberg <zack@codesourcery.com>
833 * dbxout.c (dbxout_finish_complex_stabs): Mark 'line' variable
836 2004-10-27 Zack Weinberg <zack@codesourcery.com>
838 * c-lex.c (cb_def_pragma): Clean up code for making location
839 palatable to diagnostic.c.
841 2004-10-27 Steven Bosscher <stevenb@suse.de>
843 PR tree-optimization/17757
844 * tree-phinodes.c (remove_phi_arg_num): Don't remove PHIs
845 without any PHI arguments left. Make sure the argument that
846 we're supposed to remove exists at all.
848 2004-10-27 Paul Brook <paul@codesourcery.com>
850 * configure.ac: Don't test for [build] __cxa_atexit when building a
852 * configure: Regenerate.
854 2004-10-27 Paul Brook <paul@codeosurcery.com>
856 * configure.ac: Use build_exeext not host_exeext when lookin for
858 * configure: Regenerate.
860 2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com>
862 * config/s390/s390.md ("*subdf3_cc"): Replaced plus by minus.
864 2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com>
865 patch originally created by Kelley Cook <kcook@gcc.gnu.org>
868 * opts.c (OPT_fprofile_generate): Default to -funroll-loops
869 to match -fprofile-use.
871 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
873 * config/rs6000/rs6000.c: Fix a comment typo.
875 2004-10-27 Zack Weinberg <zack@codesourcery.com>
877 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Increment line
880 2004-10-27 Andreas Schwab <schwab@suse.de>
882 * varasm.c (default_stabs_asm_out_destructor): Mark symbol as
884 (default_stabs_asm_out_constructor): Likewise.
886 2004-10-26 Geoffrey Keating <geoffk@apple.com>
888 * builtins.c (fold_builtin_unordered_cmp): Always bring both
889 operands to the same type.
891 2004-10-26 James E Wilson <wilson@specifixinc.com>
894 * emit-rtl.c (emit_copy_of_insn_after): Copy RTX_FRAME_RELATED_P.
896 2004-10-26 Zack Weinberg <zack@codesourcery.com>
898 * dbxout.c: Include obstack.h.
899 (ASM_STABS_OP): Take XCOFF_DEBUGGING_INFO into account in
901 (ASM_STABD_OP, NO_DBX_MAIN_SOURCE_DIRECTORY, DBX_CONTIN_CHAR):
903 (DBX_CONTIN_LENGTH): Move definition with others.
904 (DBX_FINISH_STABS): New target macro.
905 (current_sym_code, current_sym_value, current_sym_addr)
906 (current_sym_nchars, CHARS, dbxout_continue)
907 (print_int_cst_octal, print_octal, print_wide_int)
908 (dbxout_prepare_symbol, dbxout_finish_symbol): Delete.
909 (stabstr_ob, stabstr_last_contin_point): New variables.
910 (NUMBER_FMT_LOOP): New improper macro.
911 (dbxout_int, dbxout_stab_value_zero, dbxout_stab_value_label)
912 (dbxout_stab_value_label_diff, dbxout_stab_value_internal_label)
913 (dbxout_stab_value_internal_label_diff, dbxout_stabd)
914 (dbxout_begin_stabn, dbxout_begin_stabn_sline)
915 (dbxout_begin_simple_stabs, dbxout_begin_simple_stabs_desc)
916 (dbxout_begin_complex_stabs, dbxout_finish_complex_stabs)
917 (stabstr_C, stabstr_S, stabstr_I, stabstr_D, stabstr_U, stabstr_O)
918 (stabstr_continue, DECL_ACCESSIBILITY_CHAR)
919 New functions and/or proper function-like macros.
920 (CONTIN): Use stabstr_continue, unconditionally.
921 (get_lang_number): Define unconditionally, with ATTRIBUTE_UNUSED.
922 (dbxout_init): Initialize stabstr_ob. Check
923 NO_DBX_MAIN_SOURCE_DIRECTORY. Only write out the Ltext label
924 if it was used. Use the new interfaces.
925 (dbxout_source_file): Remove file argument; always write to
926 asm_out_file. Use the new interfaces.
927 (dbxout_type_method_1): Remove second argument which is always
928 DECL_ASSEMBLER_NAME of the first argument. Use the new interfaces.
929 (dbxout_type_methods): Remove write-only variables. Use the
931 (dbxout_parms): Refactor to remove code duplicated in each of
932 several successive if-else-if blocks. Use the new interfaces.
933 (dbxout_function_end, emit_bincl_stab, dbxout_end_source_file)
934 (dbxout_source_line, dbxout_finish, dbxout_type_index)
935 (dbxout_type_fields, dbxout_range_type, dbxout_type, dbxout_type_name)
936 (dbxout_class_name_qualifiers, dbxout_symbol, dbxout_symbol_location)
937 (dbxout_symbol_name, dbxout_reg_parms, dbxout_args)
938 (dbx_output_lbrac, dbx_output_rbrac, dbxout_block):
939 Use the new interfaces.
940 * Makefile.in (dbxout.o): Update dependencies.
942 * defaults.h: Don't define ASM_STABD_OP.
943 * output.h: Prototype new dbxout_* interfaces.
944 * system.h: Poison DBX_OUTPUT_GCC_MARKER and DBX_FINISH_SYMBOL.
945 * varasm.c: Don't define ASM_STABS_OP.
946 (default_stabs_asm_out_constructor, default_stabs_asm_out_destructor):
947 Use the new dbxout.c interfaces. Call sorry if neither
948 DBX_DEBUGGING_INFO nor XCOFF_DEBUGGING_INFO is defined.
950 * xcoffout.h: Don't define ASM_STABS_OP.
951 (DBX_FINISH_SYMBOL): Rewrite and rename DBX_FINISH_STABS.
952 (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY, DBX_OUTPUT_GCC_MARKER): Delete.
953 (NO_DBX_MAIN_SOURCE_DIRECTORY, NO_DBX_GCC_MARKER): Define.
954 (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Change bare block to
955 do { ... } while (0) idiom.
957 * config/alpha/alpha.c (num_source_filenames): Export.
958 * config/alpha/alpha.h (num_source_filenames): Declare.
959 (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
960 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
961 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
962 Always use .debugsym. Update commentary.
963 * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
964 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
965 * config/rs6000/linux64.h (DBX_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC):
967 * config/rs6000/rs6000.c: If TARGET_MACHO, include gstab.h.
968 (macho_branch_islands): Use new interfaces.
970 * doc/tm.texi: Update.
972 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
974 * expr.c (emit_group_store): Do not treat floats as BLKmode.
975 (emit_group_load): Same.
977 2004-10-26 Joseph S. Myers <jsm@polyomino.org.uk>
979 * c-parse.in (datadef): Use pedwarn rather than error and warning
980 for diagnostic in case of no declaration specifiers.
982 2004-10-26 Richard Sandiford <rsandifo@redhat.com>
985 * doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been
986 reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh
987 can be used to work around this.
989 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
991 * config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Adjust for e500
994 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
996 * stmt.c (expand_case): Update a comment.
998 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
1000 * stmt.c (expand_case): Put an assertion that index_expr is
1001 never INTEGER_CST. Don't special case for constant
1004 2004-10-26 Andrew Pinski <pinskia@physics.uc.edu>
1007 * c-parse.in (designator): Finish with a semi-colon.
1009 2004-10-26 Fariborz Jahanian <fjahanian@apple.com>
1011 * config/rs6000/rs6000.md (andsi3_internal8): Set CR when splitting
1014 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
1016 * stmt.c (expand_case): Remove code to handle SWITCH_EXPR with
1017 a default case only.
1019 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
1021 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs): Adjust for
1023 (spe_build_register_parallel): New.
1024 (rs6000_spe_function_arg): Handle e500 doubles.
1025 (function_arg): Same.
1026 (spe_func_has_64bit_regs_p): Same.
1027 (rs6000_function_value): Same.
1028 (rs6000_libcall_value): Same.
1029 (legitimate_lo_sum_address_p): Return false for e500 doubles.
1031 * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): Adjust for e500
1033 (DATA_ALIGNMENT): Same.
1034 (CANNOT_CHANGE_MODE_CLASS): Same.
1036 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
1038 * expr.c (emit_group_load): Handle floats.
1039 (emit_group_store): Same.
1041 2004-10-26 Nathan Sidwell <nathan@codesourcery.com>
1043 * c-lex.c (get_nonpadding_token): Remove.
1044 (c_lex_with_flags): Push timevar and eat padding here. Improve
1045 stray token diagnostic.
1046 (lex_string): Replace logic with switch statement, eat padding
1049 2004-10-26 Geoffrey Keating <geoffk@apple.com>
1052 * config/i386/darwin.h (ASM_SPEC): Undef it before defining.
1054 2004-10-25 Geoffrey Keating <geoffk@apple.com>
1056 * config/darwin.h (LINK_SPEC): Default weak_reference_mismatches
1058 (MAKE_DECL_ONE_ONLY): Set DECL_WEAK.
1059 (ASM_MAKE_LABEL_LINKONCE): Delete.
1060 (ASM_WEAKEN_DECL): New.
1061 (ASM_DECLARE_OBJECT_NAME): Look at DECL_WEAK not DECL_ONE_ONLY.
1062 (ASM_DECLARE_FUNCTION_NAME): Likewise.
1063 (TEXT_SECTION_ASM_OP): Add a tab.
1064 (DATA_SECTION_ASM_OP): Likewise.
1065 (SECTION_FUNCTION): Add a tab. Use fputs. Don't call
1066 data_section on every section change.
1067 (EXTRA_SECTIONS): Add a bunch of new extra sections.
1068 (EXTRA_SECTION_FUNCTIONS): Likewise.
1069 (USE_SELECT_SECTION_FOR_FUNCTIONS): Define.
1070 (JCR_SECTION_NAME): Define.
1071 (TARGET_SECTION_TYPE_FLAGS): Don't define.
1072 * config/darwin.c (darwin_encode_section_info): A symbol is defined
1073 in this file if it is not weak.
1074 (textcoal_section): Delete.
1075 (datacoal_section): Delete.
1076 (darwin_make_decl_one_only): Delete.
1077 (machopic_select_section): Handle functions.
1078 (darwin_asm_named_section): Add a tab.
1079 (darwin_section_type_flags): Delete.
1080 (darwin_unique_section): Delete contents.
1081 (darwin_emit_unwind_label): Add a tab. Make decls weak if
1083 * config/darwin-protos.h (darwin_section_type_flags): Delete.
1084 (darwin_make_decl_one_only): Delete.
1085 (text_coal_section): New.
1086 (text_unlikely_section): New.
1087 (text_unlikely_coal_section): New.
1088 (const_coal_section): New.
1089 (data_coal_section): New.
1090 (const_data_coal_section): New.
1091 * varasm.c (function_section): Honour
1092 USE_SELECT_SECTION_FOR_FUNCTIONS.
1093 * dwarf2out.c (output_call_frame_info): Look at DECL_WEAK when
1094 TARGET_USES_WEAK_UNWIND_INFO is in effect.
1095 * dbxout.c (dbxout_source_file): Don't change sections while
1096 a function is being output.
1098 2004-10-25 David Ayers <d.ayers@inode.at>
1100 * c-common.h: Remove RID_ID.
1101 * c-parse.in: Remove OBJECTNAME and references to RID_ID.
1102 (typespec_reserved_attr): Add rule for TYPENAME
1103 non_empty_protocolrefs.
1104 (yylexname): Remove special handling of RID_ID.
1106 2004-10-25 James E Wilson <wilson@specifixinc.com>
1108 * doc/invoke.texi (-fcrossjumping): Not enabled at -O.
1110 2004-10-25 Joseph S. Myers <jsm@polyomino.org.uk>
1113 * c-parse.in (array_designator): New.
1114 (designator): Use it.
1115 (initelt): Only permit array_designator without '=', not ".foo".
1117 2004-10-25 Kenneth Zadeck <zadeck@naturalbridge.com>
1118 * gcc/Makefile.in: removed ggc for cgraphunit.
1119 * gcc/cgraph.c.dump_cgraph_node: removed static var analysis.
1120 * gcc/cgraph.h: removed static var analysis data structures and calls.
1122 cgraph_mark_local_and_external_functions:changed name to
1123 cgraph_mark_local_functions
1124 (print_order,convert_UIDs_in_bitmap,new_static_vars_info,
1125 cgraph_reset_static_var_maps,get_global_static_vars_info,
1126 get_global_statics_not_read,get_global_statics_not_written,searchc,
1127 cgraph_reduced_inorder,has_proper_scope_for_analysis,check_rhs_var,
1128 check_lhs_var,get_asm_expr_operands,process_call_for_static_vars,
1129 scan_for_static_refs,cgraph_characterize_statics_local,
1130 clear_static_vars_maps,cgraph_propagate_bits,cgraph_characterize_statics):
1132 (cgraph_optimize,init_cgraph): removed calls to static vars analysis
1133 * gcc/tree-dfa.c find_referenced_vars: removed call to static vars
1135 * gcc/tree-flow.h static_vars_info: removed
1136 * gcc/tree-ssa-operands.c (add_call_clobber_ops,add_call_read_ops):
1137 removed calls to static vars analysis.
1138 get_call_expr_operands: removed callee variable.
1140 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
1142 * cfg.c (unchecked_make_edge, redirect_edge_succ,
1143 redirect_edge_pred): Use VEC_safe_push instead of
1145 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
1147 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
1149 * cfgloopmanip.c (loopify): Take two more arguments true_edge
1151 * cfgloop.h: Adjust the corresponding prototype.
1152 * loop-unswitch.c (unswitch_loop): Adjust a call to loopify.
1153 * tree-ssa-loop-manip.c (tree_ssa_loop_version): Likewise.
1155 2004-10-25 Jakub Jelinek <jakub@redhat.com>
1157 * dwarf2out.c (rtl_for_decl_location): Avoid segfault if
1158 DECL_INCOMING_RTL is NULL.
1160 2004-10-25 Steven Bosscher <stevenb@suse.de>
1162 * timevar.def (TV_FIND_REFERENCED_VARS): New.
1163 * tree-dfa.c (pass_referenced_var): Use it.
1165 2004-10-25 Roger Sayle <roger@eyesopen.com>
1166 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1168 * cse.c: Change encoding of quantity numbers to avoid undefined
1169 pointer arithmetic on qty_table.
1170 (REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative.
1171 (get_cse_reg_info): Initialize reg_qty to a unique negative value.
1172 (new_basic_block): Assign "real" quantity numbers from zero.
1173 (delete_reg_equiv): Do nothing if quantity is invalid. Reset the
1174 REG_QTY to its unique negative value.
1175 (merge_equiv_classes): Calculate need_rehash if quantity is valid.
1176 (cse_main): Don't include max_reg when determining max_qty.
1177 (cse_basic_block): Avoid subtracting a large offset from qty_table,
1178 which causes undefined C99 behaviour. Only allocate needed memory.
1180 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
1182 * stmt.c (expand_case): Remove an obsolete comment.
1184 2004-10-25 Andrew Pinski <pinskia@physics.uc.edu>
1187 * c-decl.c (grokdeclarator) <case cdk_array>: Remove the call
1188 layout_type as it is already done by build_array_type.
1189 * tree.c (build_array_type): Layout the type even
1191 2004-10-25 Alexandre Oliva <aoliva@redhat.com>
1193 * config/frv/linux.h (TARGET_C99_FUNCTIONS): Define to 0.
1195 2004-10-25 Alexandre Oliva <aoliva@redhat.com>
1197 * config/frv/frv.md (movdi, movdf): Handle wide-constant splits
1198 with wider-than-32-bit HOST_WIDE_INTs.
1200 2004-10-25 David Billinghurst <David.Billinghurst@riotinto.com>
1202 * config/mips/mips.c(mips_output_filename): Remove unused
1203 array ltext_label_name
1205 2004-10-24 Geoffrey Keating <geoffk@geoffk.org>
1207 * config/rs6000/darwin.h (BLOCK_REG_PADDING): Define.
1209 2004-10-25 Ben Elliston <bje@au.ibm.com>
1211 * cfgcleanup.c (outgoing_edges_match): Fix typo in dump output.
1213 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
1215 * predict.c (predict_loops): Call scev_finalize instead of
1218 2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
1220 * config/dbxcoff.h, config/dbxelf.h, config/libgloss.h,
1221 config/openbsd.h, config/mips/r3900.h, config/pdp11/pdp11.md,
1222 config/sh/ushmedia.h, config/sparc/elf.h,
1223 config/sparc/sp64-elf.h: Update copyright.
1225 2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
1227 * stmt.c (expand_case): Handle the default label outside of
1228 the for loop. Remove code to handle a missing default label.
1230 2004-10-23 Kazu Hirata <kazu@cs.umass.edu>
1232 * dbxout.c (dbxout_function_decl): Don't use
1233 DBX_OUTPUT_FUNCTION_END.
1234 * system.h: Poison DBX_OUTPUT_FUNCTION_END.
1235 * doc/tm.texi (DBX_OUTPUT_FUNCTION_END): Remove.
1237 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
1240 * tree-cfg.c (remove_usless_stmts_cond): Don't Fold statement.
1242 2004-10-23 Daniel Berlin <dberlin@dberlin.org>
1244 * tree-ssa-dom.c (record_equality): Use loop depth to determine
1245 which way to record the equality as well.
1246 (loop_depth_of_name): New function.
1248 2004-10-23 Eric Botcazou <ebotcazou@libertysurf.fr>
1251 * gimplify.c (gimplify_addr_expr) <VIEW_CONVERT_EXPR>: Look
1252 through the operand if it is a useless type conversion.
1254 2004-10-23 Ben Elliston <bje@au.ibm.com>
1256 * cfg.c (remove_edge): Use VEC_unordered_remove.
1257 (redirect_edge_succ): Likewise.
1258 (redirect_edge_pred): Likewise.
1259 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
1261 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1263 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Don't access PTR
1266 2004-10-22 Eric Christopher <echristo@redhat.com>
1268 * config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode
1271 2004-10-22 Aldy Hernandez <aldyh@redhat.com>
1273 * config/rs6000/spe.md (spe_extendsfdf2): New.
1274 (movdf_e500_double): New.
1275 (spe_truncdfsf2): New.
1282 (spe_floatsidf2): New.
1283 (spe_floatunssidf2): New.
1284 (fix_truncdfsi2): New.
1285 (spe_fixuns_truncdfsi2): New.
1287 * config/rs6000/rs6000.md (truncdfsf2): Change to expander.
1288 (fpr_truncdfsf2): New.
1289 (negdf2): Change to expander.
1291 (fpr_nabsdf2): Name pattern.
1292 (adddf3): Change to expander.
1294 (subdf3): Change to expander.
1296 (muldf3): Change to expander.
1298 (divdf3): Change to expander.
1300 (movdf_softfloat32): Change !TARGET_FPRS to TARGET_E500_SINGLE.
1301 (cmpdf): Allow for TARGET_E500_DOUBLE.
1303 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1305 * c-semantics.c (re_push_stmt_list): Remove.
1306 * c-common.h: Remove the corresponding prototype.
1308 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1310 * stmt.c (asm_op_is_mem_input): Remove.
1311 * tree.h: Remove the corresponding prototype.
1313 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1315 * tree-gimple.c (is_gimple_constructor_elt): Remove.
1316 * tree-gimple.h: Remove the corresponding prototype.
1318 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1320 * varasm.c (get_pool_mode_for_function, get_pool_offset):
1322 * rtl.h: Remove the corresponding prototypes.
1324 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1326 * tree-cfg.c (thread_jumps_from_bb): Speed up by extracting
1327 edge information when we commit ourselves to threading a
1330 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1332 * tree-cfg.c (thread_jumps): Speed up by putting basic blocks
1333 into worklist instead of their indexes.
1335 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1337 * alias.c, basic-block.h, cgraphunit.c, combine.c, domwalk.h,
1338 final.c, gengtype.c, genpreds.c, ggc-page.c, insn-notes.def,
1339 lambda-code.c, loop-unroll.c, modulo-sched.c, pointer-set.c,
1340 pretty-print.c, ra-colorize.c, sbitmap.c, tree-complex.c,
1341 tree-data-ref.c, tree-dfa.c, tree-inline.c, tree-into-ssa.c,
1342 tree-scalar-evolution.c, tree-ssa-dom.c,
1343 tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
1344 tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-threadupdate.c,
1345 tree-vectorizer.c, vec.h: Fix comment formatting.
1347 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1349 * dwarf.h, gthr-dce.h, gthr-single.h, gthr-solaris.h, gthr.h,
1350 libfuncs.h, libgcc2.h, stab.def, tsystem.h: Update copyright.
1352 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1354 * config/ptx4.h, config/mcore/mcore-pe.h,
1355 config/rs6000/eabi.h, config/vax/elf.h: Update copyright.
1357 2004-10-22 Peter Barada <peter@the-baradas.com>
1359 * config/m68k/m68k.h (HARD_REGNO_RENAME_OK): New macro.
1360 * config/m68k/m68k.c (m68k_hard regno_rename_ok): Disallow
1361 renaming of non-live registers in interrupt functions.
1362 * config/m68k/m68k-protos.h (m68k_hard_regno_rename_ok): Add prototype.
1364 2004-10-22 Zdenek Dvorak <dvorakz@suse.cz>
1366 * tree-ssa-loop-niter.c (inverse): Count in HOST_WIDE_INT if possible.
1367 Use integer for loop counter.
1368 (num_ending_zeros): New function.
1369 (number_of_iterations_cond): Use num_ending_zeros.
1371 2004-10-21 Aldy Hernandez <aldyh@redhat.com>
1373 * config.gcc: Add support for --enable-e500_double.
1375 * config/rs6000/e500-double.h: New file.
1377 * config/rs6000/rs6000.h: Define TARGET_E500_SINGLE and
1380 * config/rs6000/eabi.h: Define TARGET_E500_SINGLE and
1383 * config/rs6000/linuxspe.h: Same.
1385 * doc/invoke.texi (Option Summary): Document new options for
1387 (RS/6000 and PowerPC Options): Same.
1389 * config/rs6000/rs6000.c (rs6000_parse_float_gprs_option): New
1391 (rs6000_override_options): Use it. Use
1392 SUB3TARGET_OVERRIDE_OPTIONS.
1393 Add 8548 to processor_target_table.
1394 (rs6000_legitimate_address): Handle e500 doubles.
1395 (rs6000_legitimize_address): Same.
1396 (rs6000_legitimize_reload_address): Same.
1397 (rs6000_hard_regno_nregs): Same.
1398 (spe_func_has_64bit_regs_p): Same.
1399 (emit_frame_save): Same.
1400 (gen_frame_mem_offset): Same.
1401 (rs6000_dwarf_register_span): Same.
1402 (rs6000_generate_compare): Same.
1403 (easy_fp_constant): Same.
1404 (legitimate_offset_address_p): Same.
1406 * config/rs6000/spe.md: (cmdfeq_gpr): New.
1415 2004-10-21 Giovanni Bajo <giovannibajo@gcc.gnu.org>
1417 * config/arc/lib1funcs.asm (___umulsidi3): Fix typo.
1419 2004-10-21 Zack Weinberg <zack@codesourcery.com>
1421 * dbxout.c: Remove unnecessary #undefs.
1422 (GDB_INV_REF_REGPARM_STABS_LETTER, DBX_MEMPARM_STABS_LETTER)
1423 (FILE_NAME_JOINER, STABS_GCC_MARKER): Remove; fold sole
1424 definition into use sites.
1425 (cwd): Make local to dbxout_init.
1426 (dbxout_init): Restructure cwd-using logic for clarity. Use
1428 * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Definition of
1429 STABS_GCC_MARKER folded in here.
1430 * system.h: Poison now-unused macros.
1431 * doc/tm.texi: Remove documentation of now-unused macros.
1433 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
1436 * c-opts.c (push_command_line_include): Use the current file
1437 name instead of the main one.
1439 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
1442 * tree.c (staticp): A CONST_DECL has static storage if either
1443 TREE_STATIC or DECL_EXTERNAL is set.
1444 * c-decl.c (pushdecl_top_level): Accept CONST_DECLs which can
1447 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
1449 * expr.c (store_expr): Remove dont_store_target.
1451 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
1453 * tree-cfg.c (thread_jumps): Speed up by using a worklist.
1455 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
1457 * tree-cfg.c (thread_jumps): Move a part of it to ...
1458 (thread_jumps_from_bb): ... here.
1460 2004-10-21 David Edelsohn <edelsohn@gnu.org>
1462 * dbxout.c (DBX_FINISH_SYMBOL): Add asm_out_file argument.
1463 * xcoffout.h (DBX_FINISH_SYMBOL): Change asmfile to (ASMFILE).
1465 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
1467 * expr.c (store_expr): Clean up by renaming want_value to
1470 2004-10-21 Kaz Kojima <kkojima@gcc.gnu.org>
1472 * config/sh/linux-unwind.h (sh_fallback_frame_state): Don't
1475 2004-10-21 Aldy Hernandez <aldyh@redhat.com>
1478 * expmed.c (store_bit_field): Pass original 'value' before
1481 2004-10-21 Nicolas Pitre <nico@cam.org>
1483 * config/arm/ieee754-sf.S: Large speed improvements. Fix NAN handling.
1484 * config/arm/ieee754-df.S: Ditto.
1486 2004-10-20 Zack Weinberg <zack@codesourcery.com>
1488 * dbxout.c (asmfile): Delete. All uses changed to asm_out_file.
1489 (DBX_BLOCKS_FUNCTION_RELATIVE, DBX_LINES_FUNCTION_RELATIVE):
1491 (dbxout_source_line): Use DBX_OUTPUT_SOURCE_LINE when defined.
1492 When it is not, but DBX_LINES_FUNCTION_RELATIVE is true, emit
1493 an internal label and an N_SLINE .stabn whose value is the
1494 difference between that label and the function entry label.
1495 (dbxout_finish): If DBX_OUTPUT_MAIN_SOURCE_FILE_END is not defined,
1496 but DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END is, emit a
1497 label and an N_SO stab with an empty string referring to it.
1498 (dbx_output_lbrac, dbx_output_rbrac): Use if statement instead
1499 of #ifdef directive to test DBX_BLOCKS_FUNCTION_RELATIVE.
1500 (dbxout_type_methods, dbxout_symbol): Remove #if 0 block.
1501 (dbxout_prepare_symbol): Remove #ifdef WINNING_GDB block, this
1502 macro is never defined.
1503 * sdbout.c (sdbout_source_line_counter): Delete.
1504 (PUT_SDB_SRC_FILE): Delete. Uses replaced with sole definition.
1505 (sdbout_source_line): Use SDB_OUTPUT_SOURCE_LINE, which takes
1507 * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Rename ASM_OUTPUT_LINE.
1509 * config/dbxcoff.h, config/dbxelf.h: Remove unncessary #undefs.
1510 * config/c4x/c4x.h, config/pa/pa.h: Remove unnecessary macro
1511 definitions (identical to default).
1512 * config/darwin.h, config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
1513 * config/h8300/coff.h, config/pa/som.h, config/sh/elf.h:
1514 Define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END, not
1515 DBX_OUTPUT_MAIN_SOURCE_FILE_END.
1516 * config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
1517 * config/mcore/mcore-pe.h, config/pa/som.h, config/sh/elf.h:
1518 Define DBX_LINES_FUNCTION_RELATIVE, not ASM_OUTPUT_SOURCE_LINE.
1519 * config/alpha/alpha-protos.h: Don't prototype alpha_output_lineno.
1520 * config/alpha/alpha.c: Move declaration of num_source_filenames up.
1521 (alpha_start_function): Use SDB_OUTPUT_SOURCE_LINE.
1522 (sym_lineno): Delete.
1523 (alpha_output_filename): Do not emit N_SOL stabs here. Remove
1524 now-unused variable.
1525 (alpha_output_lineno): Delete.
1526 * config/mips/mips-protos.h: Don't prototype mips_output_lineno.
1527 * config/mips/mips.c (mips_output_filename): Don't use
1528 ASM_OUTPUT_FILENAME. Don't emit N_SOL stabs here.
1529 (mips_output_lineno): Delete.
1530 (mips_output_function_prologue: Use SDB_OUTPUT_SOURCE_LINE.
1531 * config/alpha/alpha.h: Define DBX_OUTPUT_SOURCE_LINE and
1532 SDB_OUTPUT_SOURCE_LINE, not ASM_OUTPUT_SOURCE_LINE.
1533 * config/mips/mips.h: Likewise. Don't define ASM_OUTPUT_FILENAME.
1534 * config/mips/sdb.h: Use SDB_OUTPUT_SOURCE_LINE.
1535 * config/avr/avr.h: Don't define ASM_OUTPUT_SOURCE_LINE.
1536 * config/mmix/mmix.h: Likewise.
1537 * config/mmix/mmix.c (mmix_asm_output_source_line): Delete.
1538 * config/mmix/mmix-protos.h: Don't prototype it.
1539 * config/alpha/unicosmk.h: Also #undef PREFERRED_DEBUGGING_TYPE;
1540 no need to #undef ASM_OUTPUT_SOURCE_LINE.
1541 * config/arm/aout.h: Remove RISCiX-specific definition of
1542 DBX_OUTPUT_MAIN_SOURCE_FILENAME.
1543 * config/m32r/m32r.h: Define DBX_OUTPUT_SOURCE_LINE, not
1544 ASM_OUTPUT_SOURCE_LINE.
1545 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Rename to
1546 DBX_OUTPUT_SOURCE_LINE. Don't use current_function_func_begin_label.
1547 * config/vax/elf.h: No need to define DBX_OUTPUT_FUNCTION_END.
1549 * doc/tm.texi: Update.
1551 2004-10-20 Richard Henderson <rth@redhat.com>
1553 * tree-sra.c (instantiate_element): Copy DECL_IGNORED_P also.
1555 2004-10-20 Kelley Cook <kcook@gcc.gnu.org>
1557 * configure.ac: Revert my previous patch.
1558 * configure: Regenerate.
1560 2004-10-20 Ben Elliston <bje@au.ibm.com>
1562 * config/rs6000/rs6000.c
1563 (rs6000_va_start): Use build_va_arg_indirect_ref.
1564 (rs6000_gimplify_va_arg): Likewise.
1566 2004-10-20 Bryce McKinlay <mckinlay@redhat.com>
1569 * configure.ac: Declare AM_LANGINFO_CODESET.
1570 * aclocal.m4: Define AM_LANGINFO_CODESET.
1571 * configure, config.in: Rebuilt.
1573 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
1575 * expr.c (store_expr): Remove code that is run when
1576 want_value & 1 is nonzero.
1578 2004-10-20 Mark Mitchell <mark@codesourcery.com>
1580 * gthr-posix.h (__gthread_active_p): Use __extension__ around cast
1581 from function pointer to void *.
1583 2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
1586 * config/sh/sh.c (sh_expand_epilogue): Emit a blockage insn before
1587 the frame pointer adjustment when exception handling is enabled.
1589 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
1591 * stor-layout.c: Fix a comment typo.
1593 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
1595 * expr.c (store_field): Remove two arguments value_mode and
1597 (expand_assignment, store_constructor_field,
1598 expand_expr_real_1): Adjust calls to store_field.
1600 2004-10-18 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
1602 * config/arc/lib1funcs.asm (___umulsidi3): Correct usage of flags.
1605 * config/arc/arc.h (REGNO_OK_FOR_BASE_P,REGNO_OK_FOR_INDEX_P,
1606 REG_OK_FOR_BASE, REG_OK_FOR_INDEX): Consider blink(r31) as a valid
1607 base and index register for loads.
1609 * config/arc/t-arc: Fix multilib handling.
1611 2004-10-20 Hans-Peter Nilsson <hp@bitrange.com>
1613 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
1614 don't inspect BLOCK_FOR_INSN for barriers.
1615 * emit-rtl.c (emit_barrier_before): Revert last change.
1616 (emit_barrier_after, emit_barrier): Ditto.
1618 * doc/extend.texi (Extended Asm): Warn and provide example
1619 solution for using a call-clobbered asm register.
1620 (Local Reg Vars): Similar. Cross-reference example.
1622 2004-10-19 Andrew Pinski <pinskia@physics.uc.edu>
1624 * tree-cfg.c (group_case_labels): Look at the second to last
1625 case statement for combing with the default case.
1627 2004-10-19 Richard Hendeson <rth@redhat.com>
1630 * stor-layout.c (layout_type): Set TYPE_ALIGN for vectors.
1632 2004-10-19 Richard Hendeson <rth@redhat.com>
1634 * builtins.c (expand_builtin_memmove): If fold_builtin_memmove
1635 succeeds, only expand the result.
1637 2004-10-19 Richard Hendeson <rth@redhat.com>
1640 * tree.c (recompute_tree_invarant_for_addr_expr): Always poll address
1643 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
1645 * tree-cfg.c (thread_jumps): Use a do-while loop instead of a
1648 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
1650 * expr.c (expand_assignment): Remove the last argument.
1651 Change the return type to void.
1652 * expr.h: Update the prototype of expand_assignment.
1653 * function.c (assign_parm_setup_reg): Update a call to
1655 * stmt.c (expand_asm_expr): Likewise.
1657 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
1659 * expr.c (expand_expr_real_1) <MODIFY_EXPR>: Remove
1660 unnecessary assignments to temp. Return const0_rtx.
1662 2004-10-19 Kaz Kojima <kkojima@gcc.gnu.org>
1664 * config/sh/sh.c (sh5_schedule_saves): Fix typo.
1666 2004-10-18 Kelley Cook <kcook@gcc.gnu.org>
1668 * configure.ac (powerpc-*-darwin*): Require assembler to support
1670 * configure: Regenerate.
1672 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
1674 * reload1.c (ior_hard_reg_set): Remove.
1675 (finish_spills): Use IOR_HARD_REG_SET instead of
1678 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
1680 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Speed up by shifting
1681 the currently visited word to right.
1683 2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
1686 * expmed.c (expand_smod_pow2): Handle modes whose size
1687 is greater than that of HOST_WIDE_INT.
1689 2004-10-18 Ziemowit Laski <zlaski@apple.com>
1691 * c-parse.in (reservedwords): Add OBJC_TYPE_QUAL as alternative.
1693 2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
1694 Roger Sayle <roger@eyesopen.com>
1697 * dojump.c (discard_pending_stack_adjust): New function.
1698 (clear_pending_stack_adjust): Call it.
1699 * expr.h (discard_pending_stack_adjust): Declare it.
1700 * explow.c (emit_stack_save): Emit pending stack adjustments
1701 before saving the stack pointer.
1702 (emit_stack_restore): Discard pending stack adjustments before
1703 restoring the stack pointer.
1705 2004-10-18 Richard Henderson <rth@redhat.com>
1707 * c-common.c (handle_mode_attribute): Allow scalar->vector
1710 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
1712 * expr.c (expand_expr_real_1) [MODIFY_EXPR]: Don't request a
1713 value to expand_assignment.
1715 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
1717 * tree-cfg.c (cleanup_tree_cfg): Don't iterate on
1719 (thread_jumps): Iterate until no new forwarder block arises.
1721 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
1723 * tree-cfg.c (tree_forwarder_block_p): Don't set forwardable.
1724 (thread_jumps): Use forwardable as cache of
1725 tree_forwarder_block_p throughout the function.
1727 2004-10-18 Andreas Krebbel <krebbel1@de.ibm.com>
1729 * cfg.c (dump_flow_info): Remove redundant dump of reg life info.
1731 2004-10-18 Andrew Pinski <pinskia@physics.uc.edu>
1735 * tree-cfg.c (remove_bb): If we have a label expression in the
1736 basic block and the label we have taken the address, move the
1737 label expression to the basic block which is previous in the
1739 (tree_verify_flow_info): Fix printing out the label name of the
1740 problematic label expression.
1742 2004-10-18 Pat Haugen <pthaugen@us.ibm.com>
1744 PR rtl-optimization/18002
1745 * simplify-rtx.c (mode_signbit_p): Externalize function...
1746 * rtl.h (mode_signbit_p): ... to here.
1747 * combine.c (simplify_shift_const): Recognize PLUS signbit as
1748 canonical form of XOR signbit and move to outer op.
1750 2004-10-18 Diego Novillo <dnovillo@redhat.com>
1752 * tree-cfg.c (bsi_for_stmt): Rename from stmt_for_bsi.
1754 * tree-ssa.c (replace_immediate_uses): Call bsi_for_stmt.
1755 Don't call fold_stmt more than once, use bsi_replace.
1757 2004-10-18 Diego Novillo <dnovillo@redhat.com>
1759 PR tree-optimization/17656
1760 * tree-ssa.c (replace_immediate_uses): When replacing a
1761 constant, if the call to fold_stmt produced a different
1762 statement, get an appropriate statement pointer by scanning
1765 2004-10-18 Richard Henderson <rth@redhat.com>
1767 * pointer-set.c (hash1): Don't use libm functions in fallback case.
1769 2004-10-18 H.J. Lu <hongjiu.lu@intel.com>
1772 * Makefile.in (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?.
1773 (stage1-start): Remove and copy libunwind.a and
1774 libunwind*$(SHLIB_EXT) instead of libunwind*.
1775 (stage2-start): Likewise.
1776 (stage3-start): Likewise.
1777 (stage4-start): Likewise.
1778 (stageprofile-start): Likewise.
1779 (stagefeedback-start): Likewise.
1781 * config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for
1782 the shared library to be created and don't remove the existing
1784 * config/arm/t-netbsd (SHLIB_LINK): Likewise.
1785 * config/i386/t-nwld (SHLIB_LINK): Likewise.
1786 * config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise.
1787 * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
1788 * config/sh/t-linux (SHLIB_LINK): Likewise.
1789 * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
1790 * config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
1791 * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
1792 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
1794 * mklibgcc.in (libgcc-stage-start): Also move "*${objext}s"
1797 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
1799 * basic-block.h (reg_set_iterator): New.
1800 (EXECUTE_IF_SET_IN_REG_SET): Make it iterator style.
1801 (EXECUTE_IF_AND_COMPL_IN_REG_SET): Likewise.
1802 (EXECUTE_IF_AND_IN_REG_SET): Likewise.
1803 * caller-save.c (save_call_clobbered_regs): Adjust to the new
1805 * cfgcleanup.c (thread_jump): Likewise.
1806 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
1807 * conflict.c (conflict_graph_compute): Likewise.
1808 * flow.c (verify_local_live_at_start, update_life_info,
1809 initialize_uninitialized_subregs, propagate_one_insn,
1810 init_propagate_block_info, free_propagate_block_info,
1811 propagate_block, dump_regset): Likewise.
1812 * global.c (global_conflicts): Likewise.
1813 * graph.c (start_bb): Likewise.
1814 * local-alloc.c (update_equiv_regs): Likewise.
1815 * loop.c (load_mems): Likewise.
1816 * reload1.c (compute_use_by_pseudos, order_regs_for_reload,
1817 find_reg, finish_spills): Likewise.
1818 * resource.c (mark_target_live_regs): Likewise.
1819 * sched-deps.c (sched_analyze_insn): Likewise.
1820 * sched-rgn.c (sched-rgn.c): Likewise.
1821 * config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
1823 2004-10-18 Jakub Jelinek <jakub@redhat.com>
1825 * config/i386/i386.md (addqi_1_slp): Test for incdec_operand
1826 operand 1 instead of 2
1828 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
1830 * loop-unroll.c: Fix comment typos.
1832 2004-10-18 Revital Eres <eres@il.ibm.com>
1834 * Makefile.in (loop-unroll.o): Add VARRAY_H dependency.
1835 * loop-unroll.c: Include varray.h.
1836 (struct var_to_expand, struct opt_info): Rename split_ivs_info to
1837 opt_info and expand it to support variable expansion.
1838 (analyze_insns_in_loop): Rename analyze_ivs_to_split and
1839 expand it to support variable expansion.
1840 (pt_info_start_duplication): Rename si_info_start_duplication.
1841 (apply_opt_in_copies): Rename split_ivs_in_copies and add support
1842 to the variable expansion optimization.
1843 (free_opt_info): Rename free_si_info.
1844 (analyze_insn_to_expand_var, referenced_in_one_insn_in_loop_p,
1845 expand_var_during_unrolling, insert_var_expansion_initialization,
1846 combine_var_copies_in_loop_exit, release_var_copies,
1847 get_expansion): New functions.
1848 (peel_loop_completely, unroll_loop_constant_iterations,
1849 unroll_loop_runtime_iterations, peel_loop_simple,
1850 unroll_loop_stupid): Change uses of struct si_info
1852 and add uses of fvariable-expansion-in-unroller flag.
1853 * params.def: Add parameter to restrict the number of expansions.
1854 * params.h: (MAX_VARIABLE_EXPANSIONS): New define to restrict
1855 the number of expansions.
1856 * common.opt: (fvariable-expansion-in-unroller): New flag.
1857 * doc/invoke.texi: (fvariable-expansion-in-unroller): Document.
1859 2004-10-18 Danny Smith <dannysmith@users.sourceforge.net>
1861 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
1862 __GXX_MERGED_TYPEINFO_NAMES to 0.
1864 2004-10-17 Hans-Peter Nilsson <hp@bitrange.com>
1866 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
1867 handle barriers in a bb by checking that it points to a NULL bb.
1868 * emit-rtl.c (emit_barrier_before): Set BLOCK_FOR_INSN to NULL.
1869 (emit_barrier_after, emit_barrier): Ditto.
1871 2004-10-18 Joseph S. Myers <jsm@polyomino.org.uk>
1873 * doc/extend.texi (Attribute Syntax): Clarify details of
1874 attributes on parameters.
1876 2004-10-17 Zdenek Dvorak <dvorakz@suse.cz>
1878 * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Move checking out of
1881 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
1884 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
1886 * c-typeck.c (default_function_array_conversion): Always create
1887 &a[0] for array types.
1888 (build_unary_op): Do not fold &a[x] into a + x.
1890 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
1893 * cfgexpand.c (expand_gimple_cond_expr): Emit line notes for next basic
1894 block if there is a goto with a locus.
1896 2004-10-17 Kazu Hirata <kazu@cs.umass.edu>
1898 * config/elfos.h, config/gofast.h, config/interix.h,
1899 config/netbsd.h, config/svr3.h, config/vxworks.h,
1900 config/alpha/alpha-modes.def, config/alpha/alpha-protos.h,
1901 config/alpha/ev4.md, config/alpha/ev5.md, config/alpha/ev6.md,
1902 config/alpha/netbsd.h, config/arm/arm-modes.def,
1903 config/arm/unknown-elf.h, config/c4x/c4x-modes.def,
1904 config/cris/aout.h, config/frv/frv-modes.def,
1905 config/i386/beos-elf.h, config/i386/gas.h,
1906 config/i386/i386-coff.h, config/i386/i386-modes.def,
1907 config/i386/linux.h, config/i386/linux64.h,
1908 config/i386/mingw32.h, config/i386/netbsd-elf.h,
1909 config/i386/netbsd64.h, config/i386/sco5.h,
1910 config/i386/sol2.h, config/i386/uwin.h, config/i860/i860.md,
1911 config/ia64/ia64-modes.def, config/ia64/itanium1.md,
1912 config/ia64/itanium2.md, config/m68k/m68k-modes.def,
1913 config/mips/mips-modes.def, config/mips/sdb.h,
1914 config/mips/vr.h, config/mips/vxworks.h,
1915 config/pa/pa-hpux10.h, config/pa/pa-hpux11.h,
1916 config/pa/pa32-linux.h, config/rs6000/40x.md,
1917 config/rs6000/7450.md, config/rs6000/8540.md,
1918 config/rs6000/linuxspe.h, config/rs6000/power4.md,
1919 config/rs6000/rs6000-modes.def, config/rs6000/rtems.h,
1920 config/rs6000/spe.h, config/s390/2064.md, config/s390/linux.h,
1921 config/s390/s390-modes.def, config/sh/elf.h,
1922 config/sh/sh-modes.def, config/sh/sh64.h,
1923 config/sparc/ultra1_2.md, config/sparc/ultra3.md,
1924 config/stormy16/stormy16.md, config/v850/v850-protos.h,
1925 config/vax/vax.md: Update copyright.
1927 2004-10-17 Kazu Hirata <kazu@cs.umass.edu>
1929 * expr.c (expand_expr_real_1): Remove an obsolete comment.
1931 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
1933 * c-typeck.c (default_function_array_conversion): Always create
1934 &a[0] for array types.
1935 (build_unary_op): Do not fold &a[x] into a + x.
1937 2004-10-17 Jakub Jelinek <jakub@redhat.com>
1939 * pointer-set.c (hash1): Use integer part of 2^64 / phi
1940 instead 2^32 / phi if long is 64-bit.
1942 2004-10-17 Joseph S. Myers <jsm@polyomino.org.uk>
1944 * c-common.h (enum rid): Remove RID_PTRBASE, RID_PTREXTENT and
1946 * c-parse.in (PTR_VALUE, PTR_BASE, PTR_EXTENT): Remove %token
1948 (reswords): Remove __ptrbase, __ptrbase__, __ptrextent,
1949 __ptrextent__, __ptrvalue and __ptrvalue__.
1950 (rid_to_yy): Remove RID_PTRBASE, RID_PTREXTENT and RID_PTRVALUE
1953 2004-10-16 Dale Johannesen <dalej@apple.com>
1955 * c-common.c (c_common_get_alias_set): Use GGC for type_hash_table.
1957 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
1959 PR tree-optimization/17766
1960 * basic-block.h (enum dom_state): DOM_CONS_OK removed.
1961 (dom_info_available_p): Declare.
1962 * cfghooks.c (split_block, make_forwarder_block): Use
1963 dom_info_available_p.
1964 * dominance.c (compute_dom_fast_query, calculate_dominance_info,
1965 free_dominance_info, verify_dominators): Ditto.
1966 (dom_info_available_p): New function.
1967 * tree-cfg.c (cleanup_control_expr_graph): Free dominance information.
1968 (thread_jumps): Use dom_info_available_p.
1969 * tree-complex.c (expand_complex_div_wide): Ditto.
1970 * tree-mudflap.c (mf_build_check_statement_for): Ditto.
1972 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
1974 * tree-ssa-loop-ivopts.c (struct ivopts_data): New field important_candidates.
1975 (find_best_candidate): Take also important candidates into account.
1976 (find_optimal_iv_set): Initialize important_candidates bitmap.
1978 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
1980 PR tree-optimization/17560
1981 * predict.c (tree_estimate_probability): Mark irreducible
1984 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
1986 PR rtl-optimization/17723
1987 * cfgcleanup.c (merge_memattrs): Handle case when
1988 MEM_SIZE == NULL_RTX.
1990 2004-10-15 Andrew Pinski <pinskia@physics.uc.edu>
1992 * toplev.c (dump_file_name): Change type to be const.
1994 2004-10-15 Joseph S. Myers <jsm@polyomino.org.uk>
1996 * c-typeck.c (build_compound_expr, build_c_cast): Don't try to use
1997 non_lvalue to stop something being a null pointer constant.
1999 2004-10-15 Aldy Hernandez <aldyh@redhat.com>
2001 * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): FPRs are only
2002 available for TARGET_FPRS.
2003 (FUNCTION_VALUE_REGNO_P): Same.
2005 2004-10-15 Geoffrey Keating <geoffk@apple.com>
2007 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
2008 -maltivec in same style as other ISA options.
2010 2004-10-15 Jon Grimm <jgrimm2@us.ibm.com>
2012 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __powerpc__
2015 2004-10-15 Kazu Hirata <kazu@cs.umass.edu>
2017 * bitmap.c, bitmap.h, builtin-attrs.def, cfglayout.h,
2018 collect2.h, conflict.c, coretypes.h, coverage.h, errors.h,
2019 gcc.h, gcov-dump.c, gen-protos.c, gencheck.c, gencodes.c,
2020 genconstants.c, gengenrtl.c, genmodes.c, genpeep.c,
2021 gensupport.h, graph.h, gthr-gnat.c, gthr-gnat.h, gthr-posix.c,
2022 gthr-posix.h, hard-reg-set.h, hwint.h, integrate.h, libgcc2.c,
2023 lists.c, machmode.def, mips-tdump.c, opts.h, params.c,
2024 predict.def, predict.h, protoize.c, reload.h, resource.h,
2025 rtl-error.c, sbitmap.c, sbitmap.h, sreal.c, tlink.c,
2026 tree-dump.h, tree-inline.h, unwind-dw2-fde.c, unwind-dw2.c,
2027 unwind-sjlj.c, value-prof.h: Update copyright.
2029 2004-10-15 Kazu Hirata <kazu@cs.umass.edu>
2031 * pointer-set.c, tree-vectorizer.c: Fix comment typos.
2033 2004-10-15 Diego Novillo <dnovillo@redhat.com>
2035 * tree-optimize.c (execute_one_pass): Stop timer right after
2038 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
2041 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
2044 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
2045 (remove_useless_stmts_1): Fold trees we know how to fold.
2047 2004-10-14 David Edelsohn <edelsohn@gnu.org>
2049 * configure.ac: Add .machine power4 directive when testing for
2051 * configure: Regenerate.
2053 2004-10-14 Geoffrey Keating <geoffk@apple.com>
2055 * config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Don't define.
2057 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
2059 * tree-vectorizer.c (vect_transform_loop): Declare vectorization_factor
2062 2004-10-14 Daniel Jacobowitz <dan@codesourcery.com>
2064 * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Return NO_REGS
2065 for 'f' if !TARGET_FPRS.
2067 2004-10-14 Richard Henderson <rth@redhat.com>
2070 * dwarf2out.c (loc_descriptor_from_tree_1): Handle FIX_*_EXPR.
2072 2004-10-14 Richard Henderson <rth@redhat.com>
2075 * c-decl.c (store_parm_decls_oldstyle): Care for parameter type
2077 * c-parse.in (compstmt_primary_start): Check cur_stmt_list non-null
2078 instaed of current_function_decl non-null.
2080 2004-10-14 Matt Austern <austern@apple.com>
2082 * pointer-set.c: New file, special-purpose hash table.
2083 * pointer-set.h: New file.
2084 * tree.h (struct pointer_set_t): Declare as opaque type.
2085 (tree_walk): Last argument is pointer_set_t* now.
2086 * tree-inline.c (WALK_SUBTREE): Convert from htab to pset.
2088 (walk_tree): Convert from htab_t to pointer_set_t for keeping
2089 track of which nodes have already been visited.
2090 (walk_tree_without_duplicates): Convert from htab_t to pointer_set_t.
2091 * cgraphunit.c (cgraph_create_edges): Likewise.
2092 (cgraph_characterize_statics_local): Likewise.
2093 * tree-dfa.c (collect_dfa_stats): Likewise.
2094 * langhooks-def.h (lhd_tree_inlining_walk_subtrees): Last arg is
2096 * langhooks.c (lhd_tree_inlining_walk_subtrees): Likewise.
2097 * langhooks.h (struct lang_hooks_for_tree_inlining): Last arg type
2098 of walk_subtrees is pointer_set_t* now.
2099 * Makefile.in (OBJS-common): add pointer-set.o
2100 (tree-inline.o): Depends on pointer-set.h
2101 (tree-dfa.o): Likewise
2102 (cgraphunit.o): Likewise
2104 2004-10-14 Geoffrey Keating <geoffk@apple.com>
2106 * config/rs6000/darwin.h (ASM_SPEC): Delete.
2107 (TARGET_ASM_FILE_START): Define.
2108 * config/darwin.h (ASM_SPEC): Define.
2109 * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Don't supply
2110 -mlong-double-128, it's the default. Update comment about reason
2111 for force_cpusubtype_ALL.
2112 * config/rs6000/darwin-vecsave.asm: Supply .machine.
2113 * config/rs6000/darwin-world.asm: Likewise.
2114 * config/rs6000/rs6000.c (rs6000_darwin_file_start): New.
2115 (symbolic_operand): Delete #if 0ed code.
2117 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
2119 * stmt.c (add_case_node): Make sure that we have integer
2120 constant before calling tree_int_cst_compare.
2122 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
2126 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
2127 (remove_useless_stmts_1): Fold trees we know how to fold.
2129 2004-10-14 Joseph S. Myers <joseph@codesourcery.com>
2131 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS),
2132 config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow
2135 2004-10-14 Ulrich Weigand <uweigand@de.ibm.com>
2137 * reload.c (find_reloads): When reloading a PLUS with constant
2138 operand, make sure the constant is pushed to the constant pool
2140 * config/s390/s390.c (s390_secondary_input_reload_class): Remove
2141 reload bug workaround.
2142 (s390_expand_plus_operand): Likewise.
2144 2004-10-14 David Edelsohn <edelsohn@gnu.org>
2146 * opts.c (common_handle_option): Do not enable
2147 flag_speculative_prefetching for -fprofile-generate/use.
2149 2004-10-14 Devang Patel <dpatel@apple.com>
2152 * tree-if-conv.c (process_phi_nodes): Process latch block.
2153 (combine_blocks): Process latch block and update loop structure.
2155 2004-10-14 Olga Golovanevsky <olga@il.ibm.com>
2157 * tree-vectorizer.c (vect_generate_tmps_on_preheader):
2158 (vect_update_ivs_after_vectorizer):
2159 (vect_transform_for_unknown_loop_bound):
2160 (tree_duplicate_loop_to_edge):
2161 (allocate_new_names):
2164 (rename_variables_in_bb):
2166 (rename_variables_in_loop):
2168 (update_phis_for_duplicate_loop):
2169 (update_phi_nodes_for_guard):
2170 (make_loop_iterate_ntimes):
2171 (tree_duplicate_loop_to_edge_cfg):
2173 (vect_analyze_loop_with_symbolic_num_of_iters):
2174 (verify_loop_for_duplication):
2175 (vect_gen_niters_for_prolog_loop):
2176 (vect_update_niters_after_peeling):
2177 (vect_update_inits_of_dr):
2178 (vect_update_inits_of_drs):
2179 (vect_build_loop_niters):
2180 (vect_do_peeling_for_alignment): New functions.
2181 (vect_transform_loop): Add unknown and known but indivisible loop
2182 bound support; add peeling for unalignment support.
2183 (vect_analyze_loop_form): Support symbolic number of iterations.
2184 (vect_transform_loop_bound): New input parameter.
2185 (vect_get_loop_niters): Change input parameter type.
2186 (new_loop_vec_info): LOOP_VINFO_NITERS is tree now.
2187 (vectorizable_store): Allow unaligned access.
2188 (vectorize_loops): Add rewrite_into_loop_closed_ssa.
2189 (vect_analyze_data_refs_alignment): Allowed one unaligned
2191 * tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined
2193 (LOOP_VINFO_INT_NITERS): New macro.
2194 (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): New define.
2195 (do_peeling_for_alignment):
2196 (unaligned_drs): New members of _loop_vec_info.
2197 (LOOP_DO_PEELING_FOR_ALIGNMENT): New macro.
2199 2004-10-14 Ranjit Mathew <rmathew@hotmail.com>
2201 * tree.h (TREE_STRING_POINTER): Wrap in "const char *".
2202 (struct tree_string): Remove "const" qualifier for "str".
2204 2004-10-14 Ira Rosen <irar@il.ibm.com>
2206 * tree-vectorizer.c (vect_analyze_data_refs): Call
2207 vect_get_base_and_bit_offset to get memory tag for array ref.
2208 (vect_create_addr_base_for_vector_ref): Remove redundant checks.
2210 2004-10-14 Richard Earnshaw <rearnsha@arm.com>
2212 * configure.ac: Use $LN_S for creating symlinks (not $LN).
2213 * configure: Regenerate.
2215 2004-10-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2217 * doc/install.texi (*-*-solaris2*): Update with info about kernel
2218 patches to solve spurious testsuite failures.
2220 2004-10-14 Dorit Naishlos <dorit@il.bim.com>
2222 * tree-vectorizer.c (get_vectype_for_scalar_type): Added debug prinouts.
2223 Added check that vectype is VECTOR_MODE_P, instead of check for BLKmode.
2224 (vect_analyze_operations): Make sure the vectorization factor > 1. Add
2225 gcc_assert under ENABLE_CHECKING.
2226 (vectorizable_operation): Remove check for VECTOR_MODE_P (moved to
2227 get_vectype_for_scalar_type).
2229 (vect_get_vec_def_for_operand): Remove redundant variables.
2230 (vect_transform_loop): Likewise.
2232 2004-10-14 Richard Sandiford <rsandifo@redhat.com>
2234 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Make r11 fixed and
2235 global for -mcaller-super-interworking.
2236 (CALLER_INTERWORKING_SLOT_SIZE): New macro.
2237 * config/arm/arm.c (thumb_compute_save_reg_mask): Save r11 if
2238 CALLER_INTERWORKING_SLOT_SIZE is nonzero and the function does
2239 not need a frame pointer.
2240 (arm_get_frame_offsets): Add CALLER_INTERWORKING_SLOT_SIZE bytes to
2241 the soft frame pointer offset.
2242 (thumb_expand_prologue): Set up r11 for -mcaller-super-interworking.
2243 * config/arm/arm.md (*call_reg_thumb, *call_value_reg_thumb): Use
2244 _interwork_{r7,r11}_call_via_rN if some arguments are passed on
2245 the stack. Use frame_pointer_needed to choose between them.
2246 * config/arm/lib1funcs.asm (_arm_return_{r7,r11}): New functions.
2247 (interwork_with_frame): New macro.
2248 (interwork): Add _interwork_{r7,r11}_call_via_rN().
2250 2004-10-14 Ben Elliston <bje@au.ibm.com>
2253 * diagnostic.c (trim_filename): Fix logic bug in walking backwards
2254 up the filename looking for a previous directory separator.
2256 2004-10-14 Joseph S. Myers <jsm@polyomino.org.uk>
2258 * c-tree.h (enum c_typespec_kind, struct c_typespec,
2259 parser_xref_tag): New.
2260 (struct c_declspecs): Add tag_defined_p. Adjust definition of
2262 (declspecs_add_type): Adjust prototypes.
2263 * c-parse.in (%union): Add tstype.
2264 (typespec_nonattr, typespec_attr, typespec_reserved_nonattr,
2265 typespec_reserved_attr, typespec_nonreserved_nonattr,
2266 structsp_attr, structsp_nonattr): Change to tstype. Update
2268 * c-decl.c (build_null_declspecs): Initialize tag_defined_p.
2269 (declspecs_add_type): Update to take struct c_typespec argument.
2270 Set tag_defined_p and typedef_p as appropriate.
2271 (xref_tag): Rename to parser_xref_tag and replace by wrapper.
2272 Update to return struct c_typespec.
2273 (shadow_tag_warned): Don't let empty declarations with qualifiers
2274 or storage class specifiers redeclare a tag if a previous
2275 declaration is visible.
2277 2004-10-13 Richard Henderson <rth@redhat.com>
2280 * dwarf2out.c (rtl_for_decl_location): Apply big-endian correction
2281 for DECL_INCOMING_RTL.
2283 2004-10-14 Hans-Peter Nilsson <hp@axis.com>
2286 * config/cris/cris.md (asrandb, asrandw, lsrandb, lsrandw): Apply
2287 trunc_int_for_mode for constants used in shortened mode.
2289 2004-10-13 Richard Henderson <rth@redhat.com>
2292 * c-common.c (handle_mode_attribute): Disallow mode changes that
2293 alter the CODE of the top-level type.
2295 * crtstuff.c (__FRAME_END__): Remove mode attribute. Find 32-bit
2296 integer from internal limits macros.
2297 * config/i386/mm3dnow.h (__v2sf): Fix base type.
2299 2004-10-13 Richard Henderson <rth@redhat.com>
2302 * function.c (instantiate_decl): Recurse for CONCAT.
2304 2004-10-13 David Edelsohn <edelsohn@gnu.org>
2306 * config/rs6000/rs6000.md (andsi3): Add attribute "compare" for
2309 (extzvdi_internal1): Add attribute "compare".
2310 (extzvdi_internal2): Same.
2312 2004-10-12 Tom Tromey <tromey@redhat.com>
2314 * doc/md.texi (Insn Canonicalizations): Removed extraneous quote.
2316 2004-10-13 Dale Johannesen <dalej@apple.com>
2318 * doc/extend.texi (Extended Asm): Rewrite asm volatile description.
2320 2004-10-13 Frank Ch. Eigler <fche@redhat.com>
2322 * toplev.c (compile_file): Call mudflap_finish_file from here ...
2323 * c-decl.c (c_write_global_declarations): ... instead of here ...
2324 * cp/decl.c (cp_finish_file): ... and here.
2325 * tree-mudflap.c (mudflap_enqueue_decl): Reword a warning message.
2327 2004-10-13 Andrew Pinski <pinskia@physics.uc.edu>
2329 * tree-ssa-dom.c (record_range): Free the element if we are not
2332 2004-10-13 Tom Tromey <tromey@redhat.com>
2335 * gcc.c (option_map): Added --extdirs and --encoding.
2337 2004-10-13 Eric Botcazou <ebotcazou@libertysurf.fr>
2340 * config/sparc/sparc.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Set to
2341 sparc_can_output_mi_thunk.
2342 (sparc_output_mi_thunk): Simplify handling of delta offset. Add
2343 handling of vcall offset.
2344 (sparc_can_output_mi_thunk): New predicate.
2345 * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Document VCALL_OFFSET.
2346 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Delete.
2347 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New target hook.
2349 * config/sparc/sparc.c (emit_and_preserve): Preserve stack alignment.
2351 * config/sparc/sparc.md (movdi): Remove redundant test.
2353 2004-10-13 Paolo Bonzini <bonzini@gnu.org>
2355 * tree-dump.c (dump_options): Remove TDF_TREE, TDF_RTL,
2356 TDF_IPA from -fdump-tree-*-all.
2358 2004-10-13 Paul Brook <paul@codesourcery.com>
2360 * config/arm/arm-protos.h (arm_load_pic_register): Update prototype.
2361 * config/arm/arm.c (thumb_find_work_register): Update comments.
2362 (arm_load_pic_register): Add argument for scratch register.
2363 (arm_expand_prologue, thumb_expand_prologue): Pass extra argument.
2364 * config/arm/arm.md (builtin_setjmp_receiver): Ditto.
2366 2004-10-13 Kazu Hirata <kazu@cs.umass.edu>
2368 * tree-data-ref.c: Fix comment typos.
2370 2004-10-13 Jakub Jelinek <jakub@redhat.com>
2371 Zdenek Dvorak <dvorakz@suse.cz>
2373 PR tree-optimization/17724
2374 * tree-cfg.c (tree_purge_dead_eh_edges): Free dominance info.
2376 2004-10-13 Dorit Naishlos <dorit@il.ibm.com>
2378 * rs6000.c (altivec_builtin_mask_for_load): Made static GTY(()).
2379 (altivec_builtin_mask_for_store): Likewise.
2380 (altivec_init_builtins): Use lang_hooks.builtin_function to
2381 create the decls for builtin_altivec_mask_for_load/store.
2383 2004-10-13 Nick Clifton <nickc@redhat.com>
2385 * config/c4x/c4x.c: Remove inclusion of loop.h.
2387 2004-10-12 Ben Elliston <bje@au.ibm.com>
2389 * basic-block.h (edge_iterator): Keep the address of VEC(edge) *.
2390 (ei_container): New; renamed.
2391 (ei_start, ei_last): New macros.
2392 (ei_start_1, ei_last_1): Renamed from ei_start.
2393 (ei_last_1, ei_end_p): Use ei_container() where applicable.
2394 (ei_one_before_end_p, ei_next, ei_edge): Likewise.
2395 * gcse.c (remove_reachable_equiv_notes): Use ei_container().
2397 2004-10-11 Sebastian Pop <pop@cri.ensmp.fr>
2399 * Makefile.in (tree-ssa-loop-niter.o): Depends on tree-data-ref.h.
2400 * cfgloop.c (initialize_loops_parallel_p): New.
2401 (flow_loops_find): Initialize the parallel_p field to true for all
2403 * tree-ssa-loop-niter.c: Include "tree-data-ref.h".
2404 (estimate_numbers_of_iterations_loop): Infers the loop bounds from
2405 the size of the data accessed in the loop.
2406 (struct nb_iter_bound): Moved...
2407 * cfgloop.h (struct nb_iter_bound): ... here.
2408 (estimated_nb_iterations, parallel_p): New fields in struct loop.
2409 (record_estimate): Declare extern here.
2410 * tree-chrec.c: Fix comments.
2411 (nb_vars_in_chrec): New function.
2412 * tree-chrec.h (nb_vars_in_chrec): Declared here.
2413 * tree-data-ref.c: Don't include lambda.h, that is already included
2415 (tree_fold_divides_p): Don't check for integer_onep.
2416 (tree_fold_bezout): Removed.
2417 (gcd): New static duplicated function.
2418 (int_divides_p, dump_subscript): New.
2419 (dump_data_dependence_relation): Use dump_subscript.
2420 (dump_dist_dir_vectors, dump_ddrs, compute_estimated_nb_iterations,
2421 estimate_niter_from_size_of_data): New.
2422 (analyze_array_indexes, analyze_array): Call
2423 estimate_niter_from_size_of_data during the detection of array
2424 references. Pass in a pointer to the statement that contains the
2426 (all_chrecs_equal_p): New.
2427 (compute_distance_vector): Renamed compute_subscript_distance.
2428 Deal with multivariate conflict functions.
2429 (initialize_data_dependence_relation): Initialize DDR_AFFINE_P,
2430 DDR_SIZE_VECT, DDR_DIST_VECT, and DDR_DIR_VECT.
2431 (non_affine_dependence_relation): New.
2432 (analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
2433 analyze_siv_subscript, analyze_miv_subscript,
2434 analyze_overlapping_iterations, subscript_dependence_tester):
2435 Initialize and return last_conflicts function.
2436 (initialize_matrix_A, FLOOR, compute_overlap_steps_for_affine_univar,
2437 compute_overlap_steps_for_affine_1_2): New.
2438 (analyze_siv_subscript_affine_cst): Removed.
2439 (analyze_subscript_affine_affine): Disprove dependences based on the
2440 iteration domains. Solve the univariate dependence case as before,
2441 but use lambda_matrix_right_hermite instead of tree_fold_bezout.
2442 Implement the multivariate case of 2 versus 1 variables.
2443 (build_classic_dist_vector, build_classic_dir_vector): Implement some
2445 (find_data_references_in_loop): Compute and initialize
2446 loop->estimated_nb_iterations and loop->parallel_p.
2447 (analyze_all_data_dependences): Modify the debug dump order.
2448 * tree-data-ref.h (SUB_LAST_CONFLICT_IN_A, SUB_LAST_CONFLICT_IN_B,
2449 subscript->last_conflict_in_a, subscript->last_conflict_in_b): Removed.
2450 (SUB_LAST_CONFLICT, subscript->last_conflict,
2451 data_dependence_relation->affine_p, data_dependence_relation->size_vect,
2452 DDR_AFFINE_P, DDR_SIZE_VECT): New.
2453 (find_data_references_in_loop, initialize_data_dependence_relation,
2454 dump_subscript, dump_ddrs, dump_dist_dir_vectors): Declared here.
2456 2004-10-12 Kelley Cook <kcook@gcc.gnu.org>
2458 * configure: Regenerate.
2460 2004-10-12 Fariborz Jahanian <fjahanian@apple.com>
2463 * tree-ssa-dom.c (unsafe_associative_fp_binop): New function.
2464 (simplify_rhs_and_lookup_avail_expr): Disallow associativity
2465 and constant folding of floating point MULT_EXPR/PLUS_EXPR
2468 2004-10-12 Ulrich Weigand <uweigand@de.ibm.com>
2470 * config/s390/s390.c (s390_va_start): Use build_va_arg_indirect_ref.
2471 (s390_gimplify_va_arg): Likewise.
2473 2004-10-12 Daniel Jacobowitz <dan@debian.org>
2475 * defaults.h (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P)
2476 (MODE_BASE_REG_REG_CLASS, REGNO_MODE_OK_FOR_REG_BASE_P)
2477 (REG_MODE_OK_FOR_REG_BASE_P): Provide default definitions.
2478 * regclass.c (record_address_regs): Remove ifdef. Use
2479 REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
2480 * regrename.c (REG_MODE_OK_FOR_BASE_P): Remove unnecessary
2482 (scan_rtx_address, replace_oldest_value_addr): Use
2483 REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
2484 * reload.c (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Remove
2485 unnecessary definitions.
2486 (find_reloads_address_1): Support REG_MODE_OK_FOR_REG_BASE_P
2487 and MODE_BASE_REG_REG_CLASS.
2488 * config/arm/arm.h (MODE_BASE_REG_CLASS): Don't check reload_completed.
2489 (MODE_BASE_REG_REG_CLASS): Define.
2490 (REGNO_MODE_OK_FOR_REG_BASE_P): Define.
2491 (REG_MODE_OK_FOR_REG_BASE_P): Define.
2492 * doc/tm.texi (Register Classes): Document MODE_BASE_REG_REG_CLASS,
2493 REG_MODE_OK_FOR_REG_BASE_P, and REGNO_MODE_OK_FOR_REG_BASE_P.
2495 2004-10-12 Daniel Berlin <dberlin@dberlin.org>
2497 * tree-ssa-alias.c (verify_name_tags): New function.
2498 (verify_flow_sensitive_alias_info): Remove code that used to check name tags.
2499 (verify_alias_info): Call verify_name_tags.
2501 2004-10-12 Kazu Hirata <kazu@cs.umass.edu>
2503 PR rtl-optimization/17931
2504 * config/i386/i386.c (ix86_rtx_costs): Handle COMPARE with
2507 2004-10-12 Richard Earnshaw <rearnsha@arm.com>
2509 * arm.c (arm_print_operand): Use output_operand_lossage where possible
2510 rather than aborting.
2512 2004-10-12 Paul Brook <paul@coudesourcery.com>
2514 * config.gcc: Add armv6{k,z,zk}
2515 * config/arm/arm-cores.def: Add arm1176 and mpcore.
2516 * config/arm/tune.md: Regenerate.
2517 * config/arm/arm.c (FL_FOR_ARCH6K, FL_FOR_ARCH6Z, FL_FOR_ARCH6ZK):
2519 (all_architectures): Add armv6k, armv6z, armv6zk.
2520 * config/arm/lib1funcs.asm: Recognise new arm arcitectures.
2521 * doc/invoke.texi: Document new arch and cpu values.
2523 2004-10-12 Paul Brook <paul@coodesourcery.com>
2525 * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Change meabi=3 to
2528 2004-10-12 Paul Brook <paul@codesourcery.com>
2530 * config/arm/arm.md (addsi3_cbranch_scratch): Correct constraints.
2531 Handle negative constants.
2533 2004-10-12 Joseph S. Myers <jsm@polyomino.org.uk>
2536 * c-typeck.c (convert_arguments): Return error_mark_node if there
2537 are too few arguments.
2538 (build_function_call): Handle error_mark_node return from
2541 2004-10-06 Paolo Bonzini <bonzini@gnu.org>
2543 * configure.ac (symbolic_link): Replace with $LN_S.
2544 (Assembler/Linker): Hard link from gas and binutils trees.
2545 * aclocal.m4 (gcc_AC_PROG_LN_S): Try "cp -p" before cp.
2546 * configure: Regenerate.
2548 2004-10-12 Paul Brook <paul@codesourcery.com>
2550 * configure.ac: Don't look for host assembler when building a canadian
2552 * configure: Regenerate.
2554 2004-10-11 Roger Sayle <roger@eyesopen.com>
2557 * c-opts.c (permit_fortran_options): Delete/obsolete global variable.
2558 (c_common_init_options): Remove #ifdef CL_F77 code. Scan command
2559 line options for "-lang-asm" and if found allow any of the C-family
2561 (c_common_handle_option): Remove last use of permit_fortran_options.
2563 2004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
2565 * config/s390/s390.c (print_operand): Support 'S' format flag.
2566 * config/s390/s390.md ("*tmqi_mem"): Use 'S' format flag.
2567 ("*tstsi", "*tstsi_cconly", "*tstsi_cconly2"): Likewise.
2568 ("*tsthiCCT", "*tsthiCCT_cconly", "*tsthi", "*tsthi_cconly"): Likewise.
2569 ("*tstqiCCT", "*tstqiCCT_cconly", "*tstqi", "*tstqi_cconly"): Likewise.
2570 ("*cmphi_ccu", "*cmpqi_ccu", "*clc"): Likewise
2571 ("movti", "*movdi_31", "*movqi", "*movdf_31", "*mvc"): Likewise.
2572 ("*movstricthi"): Likewise.
2573 ("*load_multiple_di", "*load_multiple_si"): Likewise.
2574 ("*store_multiple_di", "*store_multiple_si"): Likewise.
2575 ("*sethiqisi", "*sethihisi"): Likewise.
2576 ("*sethiqidi_64", "*sethiqidi_31"): Likewise.
2577 ("*andqi3_zarch", "*andqi3_esa", "*nc"): Likewise.
2578 ("*iorqi3_zarch", "*iorqi3_esa", "*oc"): Likewise.
2579 ("*xorqi3", "*xc", "*xc_zero"): Likewise.
2580 ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): Likewise.
2582 ("*tmhi_full"): Fix incorrect op_type attribute.
2584 ("*adddi3_alc_cc", "*adddi3_alc"): Remove double backslash.
2585 ("*subdi3_slb_cc", "*subdi3_slb"): Likewise.
2586 ("*addsi3_alc_cc", "*addsi3_alc"): Likewise.
2587 ("*subsi3_slb_cc", "*subsi3_slb"): Likewise.
2589 2004-10-11 Andrew Pinski <pinskia@physics.uc.edu
2592 * function.c (temp_slots_at_level): Fix typo which creates too
2593 many temp stack slots levels.
2595 2004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
2597 * config/s390/s390.c (s390_trampoline_template): Generate shorter
2599 (s390_trampoline_instantiate): Adapt.
2600 * config/s390/s390.h (TRAMPOLINE_SIZE): Adapt to new code.
2602 2004-10-11 Roger Sayle <roger@eyesopen.com>
2605 * stmt.c (add_case_node): Add additional type argument. Declare
2606 as static to match prototype. Convert the upper and lower bounds
2607 to the specified index type. Optimize away case ranges/values
2608 that are outside the index type's bounds. Truncate case ranges
2609 that span the index type's bounds.
2610 (expand_case): Avoid unnessary computation and memory allocation
2611 when index type is error_mark_node. Pass index_type as required
2612 by change to add_case_node API. No need to convert case range
2613 bounds to index_type, this is now done by add_case_node.
2615 2004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
2617 * config/s390/s390-protos.h (s390_offset_p): Add prototype.
2618 * config/s390/s390.c (s390_offset_p): New function.
2619 * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccu",
2620 "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use splitter to
2621 transform Q->Q alternatives to *clc pattern.
2623 ("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
2624 "*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf"): Use splitter
2625 to transform Q->Q alternatives to *mvc pattern.
2626 ("*mvc"): Move. Add peephole to merge adjacent MVCs.
2627 ("*anddi3", "*andsi3_zarch", "*andsi3_esa", "*andhi3_zarch",
2628 "*andhi3_esa", "*andqi3_zarch", "*andqi3_esa"): Use splitter to
2629 transform Q->Q alternatives to *nc pattern.
2630 ("*nc"): New insn. New peephole to merge adjacent NCs.
2631 ("*iordi3", "*iorsi3_zarch", "*iorsi3_esa", "*iorhi3_zarch",
2632 "*iorhi3_esa", "*iorqi3_zarch", "*iorqi3_esa"): Use splitter to
2633 transform Q->Q alternatives to *oc pattern.
2634 ("*oc"): New insn. New peephole to merge adjacent OCs.
2635 ("*xordi3", "*xorsi3", "*xorhi3", "*xorqi3"): Use splitter to
2636 transform Q->Q alternatives to *xc pattern.
2637 ("*xc"): New insn. New peephole to merge adjacent XCs.
2638 ("*xc_zero"): Move. Add peephole to merge adjacent XCs.
2640 2004-10-11 Andrew Pinski <pinskia@physics.uc.edu>
2642 * gimplify.c (gimple_push_condition): Make sure that we don't
2643 have any saved condition cleanup if we were at the top level.
2645 2004-10-11 Richard Sandiford <rsandifo@redhat.com>
2647 * config/frv/frv.md (*adddi3_internal): Change name to...
2648 (adddi3): ...replacing the exisiting define_expand. Combine
2649 alternatives. Fix the range of the constant constraints ('J' instead
2650 of 'NOP'). Remove bogus operands[2] check. Use simplify_gen_subreg
2651 to extract the lower and upper halves of the DImode operands.
2652 Always use addi3_lower and adddi3_upper, not the subdi3 forms.
2653 (adddi3_lower): Fix the range of the constant constraints and
2654 remove the bogus operands[2] check.
2655 (adddi3_upper): Use gpr_or_int10_operand as the predicate for
2656 operand 2. Use addxi to handle constant operands.
2657 (subdi3_lower, subdi3_upper): Don't handle constant operands.
2659 2004-10-11 Nathan Sidwell <nathan@codesourcery.com>
2661 * gengtype-lex.l: Add commented } & ) characters to unconfuse
2662 editor's paren matching. Allow #define inside a struct.
2664 2004-10-10 Andrew Pinski <pinskia@physics.uc.edu>
2667 part of PR c++/17657
2668 * fold-const.c (fold_build_cleanup_point_expr): New function.
2669 * tree.h (fold_build_cleanup_point_expr): Prototype.
2671 2004-10-10 Eric Christopher <echristo@redhat.com>
2673 * dwarf2out.c: Move attribute to subprogram declaration
2674 instead of subroutine type.
2676 2004-10-10 Kazu Hirata <kazu@cs.umass.edu>
2678 * basic-block.h: Remove the prototypes for can_hoist_insn_p,
2679 hoist_insn_after, and hoist_insn_to_edge.
2680 * rtl.h: Remove the prototypes for reg_referenced_between_p,
2681 no_jumps_between_p, and insn_dependent_p.
2682 * rtlanal.c (no_jumps_between_p, reg_referenced_between_p,
2683 insn_dependent_p, insn_dependent_p_1, hoist_test_store,
2684 can_hoist_insn_p, hoist_update_store, hoist_insn_after,
2685 hoist_insn_to_edge): Remove.
2687 2004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
2690 * c-decl.c (grokparms): Don't warn for parameters of incomplete
2691 type in declarations that are not definitions except for the case
2692 of parameters of void type.
2694 2004-10-10 Kazu Hirata <kazu@cs.umass.edu>
2696 * tree-cfg.c: Fix comment typos.
2698 2004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
2701 * builtins.c (expand_builtin_va_start): Check for too few
2702 arguments to va_start.
2704 2004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
2707 * c-decl.c (grokfield): Make diagnostic for bad cases of unnamed
2708 fields a pedwarn. Pedwarn here for unnamed structs/unions if
2710 * c-parse.in (component_decl): Don't pedwarn here for unnamed
2713 2004-10-09 Zdenek Dvorak <dvorakz@suse.cz>
2715 PR tree-optimization/17906
2716 * tree-tailcall.c (tree_optimize_tail_calls_1): Do not attempt to
2717 copy non-gimple reg arguments.
2719 2004-10-09 Roger Sayle <roger@eyesopen.com>
2721 PR rtl-optimization/17853
2722 * simplify-rtx.c (simplify_relational_operation): Correct comment.
2723 Reorganize handling of comparison operations with floating point
2724 results (always return 0.0 even without FLOAT_STORE_FLAG_VALUE).
2725 Likewise, introduce support for comparison operations with vector
2726 result types, introducing a new VECTOR_STORE_FLAG_VALUE target macro.
2728 * doc/rtl.texi: Document new VECTOR_STORE_FLAG_VALUE target macro.
2729 * doc/tm.texi: Likewise.
2731 2004-10-09 Steven Bosscher <stevenb@suse.de>
2733 * regs.h (struct reg_info_def): Remove the last_node_uid and
2734 changes_mode fields.
2735 (REGNO_LAST_NOTE_UID): Don't define.
2736 * regclass.c (reg_scan_mark_refs): Don't set REGNO_LAST_NOTE_UID.
2737 * regmove.c (copy_src_to_dest): Likewise.
2739 2004-10-09 Roger Sayle <roger@eyesopen.com>
2742 * fold-const.c (fold_div_compare): When optimizing X/C1 op C2, the
2743 relational comparison operator op needs to be swapped/reversed when
2744 C1 is negative. i.e. X/-10 < 1 becomes X >= -9, not X < -9.
2746 2004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
2749 * tree-ssa-phiopt.c (conditional_replacement): Use bsi_after_labels
2750 instead of bsi_start.
2751 (value_replacement): Likewise.
2752 (abs_replacement): Likewise
2754 2004-10-09 Steven Bosscher <stevenb@suse.de>
2756 * cfgexpand.c (maybe_dump_rtl_for_tree_stmt): New function.
2757 (expand_gimple_cond_expr, expand_gimple_tailcall,
2758 expand_gimple_basic_block): Use it to dump RTL for each stmt.
2759 (tree_expand_cfg): Announce full RTL function dump.
2760 * tree-optimize.c (execute_one_pass): Use normal RTL printing,
2761 not the graph version.
2762 * tree-pretty-print.c (dump_generic_node): Allow empty statements
2763 in the arms of a COND_EXPR for lowered nodes.
2765 2004-10-08 Joseph S. Myers <joseph@codesourcery.com>
2767 * config/rs6000/spe.h (atosfix16, atosfix32, atosfix64, atoufix16,
2768 atoufix32, atoufix64, strtosfix16, strtosfix32, strtosfix64,
2769 strtoufix16, strtoufix32, strtoufix64): Declare.
2771 2004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
2773 * c-lex.c (interpret_float): Give a pedwarn rather than a warning
2774 for an out-of-range floating point constant.
2775 * builtins.c (fold_builtin_inf): Give a pedwarn rather than a
2776 warning if the target format does not support infinities.
2778 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
2780 * emit-rtl.c (last_label_num, base_label_num): Remove.
2781 (max_label_num): Always return label_num.
2782 (set_new_last_label_num, restore_emit_status): Remove.
2783 (init_emit): Don't initialize last_label_num.
2784 * function.c (pop_function_context_from): Don't call
2785 restore_emit_status.
2786 * function.h: Remove the prototype for restore_emit_status.
2787 * rtl.h: Remove the prototype for set_new_last_label_num.
2789 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
2791 * stmt.c (expand_decl_init): Remove.
2792 * tree.h: Remove the corresponding prototype.
2794 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
2796 * integrate.c (try_constants, subst_constants, mark_stores):
2798 * integrate.h: Remove the prototype for try_constants.
2800 2004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
2802 * c-typeck.c (enum impl_conv): Add ic_argpass_nonproto.
2803 (convert_for_assignment): Handle ic_argpass_nonproto. Add
2804 comments about its relevance to errors.
2805 (c_convert_parm_for_inlining): Use ic_argpass_nonproto.
2807 2004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
2810 * c-ppoutput.c (cb_ident): Don't quote string as it is already
2813 2004-10-08 Diego Novillo <dnovillo@redhat.com>
2815 * tree-ssa-pre.c (init_pre): Use size of ARRAY_REF to allocate
2816 reference_node_pool.
2818 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
2820 * tree-cfg.c: Fix a comment typo.
2822 2004-10-08 Andreas Krebbel <krebbel1@de.ibm.com>
2824 * config/s390/s390.c (s390_register_info): Don't save fprs for
2826 (s390_conditional_register_usage): Make fprs 'fixed' for -msoft-float.
2828 2004-10-08 Ulrich Weigand <uweigand@de.ibm.com>
2830 * config/s390/s390.h (TARGET_DEFAULT_BACKCHAIN): New define.
2831 (TARGET_DEFAULT): Use symbolic values.
2832 * config/s390/tpf.h (TARGET_DEFAULT_BACKCHAIN): Redefine.
2833 (TARGET_DEFAULT): Use symbolic values.
2834 * config/s390/s390.c (s390_backchain_string): Initialize to
2835 TARGET_DEFAULT_BACKCHAIN.
2837 2004-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2839 * builtins.c (expand_builtin_mempcpy): Move tree handling code to
2840 fold_builtin_mempcpy. Accept a type parameter. Delete duplicate
2842 (expand_builtin_strcat): Accept a type parameter.
2843 (fold_builtin_mempcpy): Accept a type and endp parameter.
2845 * builtins.c (expand_builtin_strncpy): Delete duplicate code.
2846 Accept an `exp' instead of an `arglist'.
2848 2004-10-08 Nathan Sidwell <nathan@codesourcery.com>
2850 * tree-tailcall.c (tree_optimize_tail_calls_1): Use fold_convert,
2851 reverting my 2004-09-07 patch to use build_int_cst.
2853 2004-10-08 Eric Botcazou <ebotcazou@libertysurf.fr>
2856 * config/sparc/sparc.c (input_operand): Remove redundant code
2857 for handling LO_SUM.
2858 (legitimate_address_p) <REG+REG>: Do not recheck TARGET_V9.
2859 <LO_SUM>: If LO_SUM is offsettable, accept it for TFmode on V9.
2860 Otherwise only accept it for TFmode if quad move insns are available.
2862 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
2864 * tree-cfg.c (tree_forwarder_block_p): Reorder checks so that
2865 common cases will be caught earlier than others.
2867 2004-10-08 Michael Matz <matz@suse.de>
2869 * loop-doloop.c (doloop_optimize): Extend count.
2871 2004-10-08 Kaz Kojima <kkojima@gcc.gnu.org>
2873 * config/sh/sh.md (prefetch_media, prefetch_i4): New insns.
2874 (prefetch): Convert to expander.
2876 2004-10-08 Kaz Kojima <kkojima@gcc.gnu.org>
2878 * config/sh/sh.md (tls_global_dynamic): Use MEM pattern for the
2879 first argument of CALL.
2880 (tls_local_dynamic): Likewise.
2882 2004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
2884 * c-typeck.c (enum impl_conv): New.
2885 (convert_for_assignment): Use it. Take tree for function called
2886 instead of its name. Handle ObjC selectors for diagnostics at
2887 start of function. Select diagnostic text within the function
2888 using full sentences for diagnsotics. Use %qE to name functions
2890 (convert_arguments, build_modify_expr,
2891 c_convert_parm_for_inlining, digest_init, c_finish_return): Update
2892 callers to convert_for_assignment.
2893 (warn_for_assignment): Remove.
2895 2004-10-08 Nick Clifton <nickc@redhat.com>
2897 * config/sh/symbian.c (symbian_possibly_export_base_class):
2898 Replace use of deleted TYPE_USES_VIRTUAL_BASECLASSES macro with
2899 TYPE_CONTAINS_VPTR_P.
2901 2004-10-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2903 * config/m32r/m32r.h (CONDITIONAL_REGISTER_USAGE): Don't exclude
2904 fixed registers form all_used_regs. Update call_really_used_regs.
2905 (CALL_REALLY_USED_REGISTERS): Define.
2906 * config/m32r/m32r.c (MUST_SAVE_REGISTER): Replace call_used_regs
2907 with call_really_used_regs.
2909 2004-10-08 Alan Modra <amodra@bigpond.net.au>
2911 * config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Choose gcrt1.o
2912 for -profile as well as -p and -pg.
2914 2004-10-07 Andrew Pinski <pinskia@physics.uc.edu>
2916 * libgcc2.c (__moddi3): Cast &w to UDWtype*.
2918 2004-10-07 Kazu Hirata <kazu@cs.umass.edu>
2920 * tree-cfg.c (tree_block_forwards_to): Remove.
2921 * tree-flow.h: Remove the corresponding prototype.
2923 2004-10-07 Kazu Hirata <kazu@cs.umass.edu>
2925 * tree-flow-inline.h (phi_nodes): Remove an unnecessary check
2926 for ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR.
2928 2004-10-07 Geoffrey Keating <geoffk@apple.com>
2931 * config/rs6000/rs6000.c (rs6000_generate_compare): When
2932 flag_trapping_math is in effect, don't generate subtract
2935 2004-10-07 Ulrich Weigand <uweigand@de.ibm.com>
2937 * config/s390/s390-protos.h (s390_narrow_logical_operator): Add.
2938 * config/s390/s390.c (s390_narrow_logical_operator): New function.
2939 (s390_extra_constraint_str): Add 'A' constraints.
2940 (s390_const_ok_for_constraint_p): Add 'Nx' constraints.
2941 * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Add 'A' constraint.
2942 (CONSTRAINT_LEN): Likewise.
2943 * config/s390/s390.md ("*anddi3"): Add NI alternative and splitter.
2944 ("*andsi3_zarch", "*andsi3_esa"): Likewise.
2945 ("*andhi3_zarch", "*andhi3_esa"): Likewise.
2946 ("*iordi3"): Add OI alternative and splitter.
2947 ("*iorsi3_zarch", "*iorsi3_esa"): Likewise.
2948 ("*iorhi3_zarch", "*iorhi3_esa"): Likewise.
2949 ("*xordi3"): Add XI alternative and splitter.
2950 ("*xorsi3", "*xorhi3"): Likewise.
2952 2004-10-07 Richard Sandiford <rsandifo@redhat.com>
2954 * config/mips/mips.c (mips_function_rodata_section): New function.
2955 (TARGET_ASM_FUNCTION_RODATA_SECTION): Use it.
2957 2004-10-07 Devang Patel <dpatel@apple.com>
2959 * rs6000/altivec.md (UNSPEC_VCMPBFP, UNSPEC_VCMPEQUB, UNSPEC_VCMPEQUH,
2960 UNSPEC_VCMPEQUW, UNSPEC_VCMPGEFP, UNSPEC_VCMPGTUB, UNSPEC_VCMPGTSB,
2961 UNSPEC_VCMPGTUH, UNSPEC_VCMPGTSH, UNSPEC_VCMPGTUW, UNSPEC_VCMPGTSW,
2962 UNSPEC_VCMPGTFP, UNSPEC_VSEL4SI, UNSPEC_VSEL4SF, UNSPEC_VSEL8HI,
2963 UNSPEC_VSEL16QI, UNSPEC_VCOND_V4SI, UNSPEC_VCOND_V4SF, UNSPEC_VCOND_V8HI,
2964 UNSPEC_VCOND_V16QI, UNSPEC_VCONDU_V4SI, UNSPEC_VCONDU_V8HI,
2965 UNSPEC_VCONDU_V16QI): New constant defines.
2966 (vcondv4si, vcondv4sf, vcondv8hi, vcondv16qi, vconduv4si, vconduv8hi,
2967 vconduv16qi): New patterns.
2968 * rs6000/rs6000-protos.h (rs6000_emit_vector_cond_expr): New function.
2969 * rs6000/rs6000.c (rs6000_emit_vector_cond_expr): New function.
2970 (get_vec_cmp_insn): Same.
2971 (get_vsel_insn): Same.
2972 (rs6000_emit_vector_compare): Same.
2973 (rs6000_emit_vector_select): Same.
2974 (INSN_NOT_AVAILABLE): New.
2976 2004-10-07 Zdenek Dvorak <dvorakz@suse.cz>
2978 PR tree-optimization/17749
2979 * tree-tailcall.c (find_tail_calls): Check that parameter is
2982 2004-10-07 Kazu Hirata <kazu@cs.umass.edu>
2984 * config/ia64/ia64.c: Fix a comment typo.
2986 2004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
2988 * doc/install.texi (*-*-solaris2*): Fix marker for URL.
2990 2004-10-07 Giovanni Bajo <giovannibajo@gcc.gnu.org>
2993 * tree-inline.c (expand_call_inline): Do not warn for functions
2994 marked with attribute noinline.
2996 2004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
2999 * config/sparc/sparc.c (sparc_output_mi_thunk): Set
3000 current_function_uses_only_leaf_regs as well as sparc_leaf_function_p.
3002 * config/sparc/sparc.c (sparc_gimplify_va_arg): Pass 'false' instead
3003 of 0 as 4th argument to pass_by_reference.
3004 Call build_va_arg_indirect_ref instead of build_fold_indirect_ref.
3006 2004-10-06 Eric Christopher <echristo@redhat.com>
3008 * config/sh/sh.c (sh_dwarf_calling_convention): Fix renesas dwarf
3011 2004-10-07 Richard Sandiford <rsandifo@redhat.com>
3014 * config/mips/mips.md (mov_<load>l): Remove hazard=none attribute.
3016 2004-10-07 Zdenek Dvorak <dvorakz@suse.cz>
3018 PR rtl-optimization/17791
3019 * loop-doloop.c (doloop_modify): Take number of iterations as
3021 (doloop_optimize): Extend or shorten the number of iterations
3022 when changing mode of counter register.
3023 * loop-iv.c (lowpart_subreg): Export.
3024 * rtl.h (lowpart_subreg): Declare.
3026 2004-10-07 Zdenek Dvorak <dvorakz@suse.cz>
3028 PR tree-optimization/17806
3029 * cfghooks.c (split_edge): Update IRREDUCIBLE_LOOP flags.
3030 * cfgloopmanip.c (loop_split_edge_with): Updating of IRREDUCIBLE_LOOP
3031 flags moved to split_edge.
3033 2004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
3036 * expmed.c (expand_sdiv_pow2): Force a stack adjustment
3037 before tentatively building the conditional move sequence.
3039 2004-10-07 Richard Sandiford <rsandifo@redhat.com>
3042 * function.c (assign_parm_setup_block_p): Tighten BLOCK_REG_PADDING
3044 * config/pa/pa.h (BLOCK_REG_PADDING): Define in terms of
3045 function_arg_padding.
3047 2004-10-07 Richard Sandiford <rsandifo@redhat.com>
3050 * Makefile.in (stmp-fixproto): Pass FIX_HEADER=build/... to fixproto.
3052 2004-10-07 Kazu Hirata <kazu@cs.umass.edu>
3054 * hooks.c (hook_int_void_1, hook_void_int): Remove.
3055 * hooks.h: Remove the corresponding prototypes.
3057 2004-10-06 Andrew Pinski <pinskia@physics.uc.edu>
3060 * tree-nested.c (walk_stmt_info): Add changed field.
3061 (convert_nonlocal_reference): Set changed to when we
3062 change a decl to unnested decl.
3063 <case ADDR_EXPR>: Instead of checking if the immediate part
3064 of the ADDR_EXPR changed, check the field changed.
3065 Use recompute_tree_invarant_for_addr_expr instead of unsetting
3067 (convert_local_reference): Set changed to when we
3068 change a decl to unnested decl.
3069 <case ADDR_EXPR>: Instead of checking if the immediate part
3070 of the ADDR_EXPR changed, check the field changed.
3071 Also call recompute_tree_invarant_for_addr_expr on the ADDR_EXPR.
3073 2004-10-06 Kazu Hirata <kazu@cs.umass.edu>
3075 * defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
3076 * dwarf2out.c (dwarf2out_init): Remove references to
3077 DWARF2_GENERATE_TEXT_SECTION_LABEL.
3078 * system.h: Poison DWARF2_GENERATE_TEXT_SECTION_LABEL.
3079 * doc/tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
3081 2004-10-06 Joseph S. Myers <jsm@polyomino.org.uk>
3083 * c-typeck.c (convert_arguments): Take expression for called
3084 function rather than its name. Handle ObjC selectors directly
3085 rather than relying on warn_for_assignment to do so. Call warning
3086 directly rather than warn_for_assignment. Use %qE in diagnostics.
3087 Say "argument" rather than "arg" in diagnostics.
3088 (build_function_call): Update call to convert_arguments.
3090 2004-10-06 Andrew Pinski <pinskia@physics.uc.edu>
3093 * dbxout.c (dbxout_symbol): Really handle RECORD, UNION, and
3094 ENUMs specially instead of just saying we do.
3096 2004-10-06 Eric Christopher <echristo@redhat.com>
3098 * dwarf2.h: Sync with include/elf/dwarf2.h
3100 2004-10-06 Daniel Berlin <dberlin@dberlin.org>
3102 * tree-pretty-print.c (dump_generic_node): Fix printing of BINFO
3105 2004-10-06 Daniel Berlin <dberlin@dberlin.org>
3107 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Convert
3108 to use FOR_EACH_SSA_USE_OPERAND iterator, and propagate_value.
3110 2004-10-06 Daniel Berlin <dberlin@dberlin.org>
3112 * lambda-code.c (compute_nest_using_fourier_motzkin): New
3114 (lambda_compute_auxillary_space): Split from here.
3116 2004-10-06 Daniel Berlin <dberlin@dberlin.org>
3118 * tree-ssa-loop-ivopts.c (expr_invariant_in_loop): Make non-static.
3119 * tree-flow.h: Add prototype.
3120 * lambda-code.c (invariant_in_loop_and_outer_loops): Use
3121 expr_invariant_in_loop.
3123 2004-10-06 Kazu Hirata <kazu@cs.umass.edu>
3125 * tree-cfg.c (thread_jumps): Remove a duplicate check for
3128 2004-10-06 Ulrich Weigand <uweigand@de.ibm.com>
3130 * config/s390/s390-protos.h (s_imm_operand): Remove.
3131 (s390_pool_operand): Add prototype.
3132 * config/s390/s390.c (general_s_operand): Remove.
3133 (s_imm_operand): Remove.
3134 (s_operand): Merge contents of general_s_operand.
3135 (s390_pool_operand): New function.
3136 * config/s390/s390.h (PREDICATE_CODES): Remove s_imm_operand.
3137 * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct"): New insns.
3138 ("*cmpdi_ccu"): Merge Q->Q alternative.
3139 ("*cmpsi_ccu", "*cmphi_ccu"): Likewise.
3140 ("*cmpqi_ccu"): Merge Q->Q, n->Q, n->S alternatives.
3142 ("*cmpdi_ccu_mem", "*cmpsi_ccu_mem"): Likewise.
3143 ("*cmphi_ccu_mem", "*cmpqi_ccu_mem"): Likewise.
3144 ("*movstricthi"): Use memory_operand instead of s_imm_operand.
3146 2004-10-06 Steve Ellcey <sje@cup.hp.com>
3148 * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Change macro to
3149 call ia64_function_arg_boundary.
3150 * config/ia64/ia64-protos.h (ia64_function_arg_boundary): New.
3151 * config/ia64/ia64.c (ia64_function_arg_boundary): New.
3152 (ia64_function_arg_advance): Do not put 128 bit floats into
3155 2004-10-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3157 * builtins.c (expand_builtin_strcpy): Delete duplicate code.
3158 Accept an expression instead of an arglist.
3159 (expand_builtin_stpcpy): Accept an expression instead of an
3162 2004-10-06 Eric Botcazou <ebotcazou@libertysurf.fr>
3165 * doc/install.texi (*-*-solaris2*): Mention potential problem
3166 with Sun assembler + GNU linker and C++ programs.
3167 Document status of binutils 2.15 release.
3169 2004-10-06 Jan Hubicka <jh@suse.cz>
3171 * cse.c (cse_main): Kill push/pop context.
3173 2004-10-05 Zack Weinberg <zack@codesourcery.com>
3175 * pretty-print.c: Include tree.h.
3176 (pp_base_prepare_to_format): New function, logic from
3177 text_specifies_location.
3178 (pp_base_format_text): Use gcc_assert.
3179 * pretty-print.h (pp_prepare_to_format): New macro.
3180 (pp_base_prepare_to_format): Prototype.
3181 * diagnostic.c (text_specifies_location): Delete.
3182 (bug_report_request): Delete.
3183 (diagnostic_set_info): Don't call text_specifies_location.
3184 (diagnostic_action_after_output): Put text from
3185 bug_report_request inline here. Use gcc_unreachable.
3186 (diagnostic_report_current_function): Fix comment.
3187 (diagnostic_report_diagnostic): Clarify logic for error recursion.
3188 Call pp_prepare_to_format before diagnostic_starter.
3189 (trim_filename): Use IS_DIR_SEPARATOR.
3190 (fatal_error, internal_error): Use gcc_unreachable.
3191 (error_recursion): Call diagnostic_action_after_output to
3192 issue the bug_report_request message and exit.
3193 * Makefile.in (diagnostic.o, pretty-print.o): Update dependencies.
3195 * c-parse.in: Add list of diagnostic messages to insulate
3196 translation template from version of yacc/bison used to
3197 compile the grammar.
3199 2004-10-06 Alan Modra <amodra@bigpond.net.au>
3202 * doc/tm.texi (USE_LD_AS_NEEDED, LINK_EH_SPEC): Document.
3204 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
3206 * basic-block.h: Remove the prototype for
3207 flow_preorder_transversal_compute.
3208 * cfganal.c (dfst_node): Remove.
3209 (flow_preorder_transversal_compute): Likewise.
3210 * rtl.h: Remove the prototype for get_jump_table_offset.
3211 * rtlanal.c (get_jump_table_offset): Remove.
3213 2004-10-05 Richard Henderson <rth@redhat.com>
3216 * tree-ssa-operands.c (get_expr_operands): Handle CONST_DECL.
3218 2004-10-05 Kelley Cook <kcook@gcc.gnu.org>
3221 * Makefile.in: Stage the build directory too.
3223 2004-10-05 Aldy Hernandez <aldyh@redhat.com>
3225 * config/frv/frv.h (LEGITIMIZE_ADDRESS): New.
3227 * config/frv/frv-protos.h (frv_legitimize_address): Protoize.
3228 (frv_emit_move): Same.
3230 * config/frv/frv.c (frv_emit_move): New.
3231 (frv_legitimize_address): New.
3233 * config/frv/frv.md ("movsi"): Call frv_emit_move.
3240 2004-10-05 Joseph S. Myers <jsm@polyomino.org.uk>
3242 * c-decl.c (declspecs_add_type): Don't pedwarn for _Complex in
3245 2004-10-05 Joseph S. Myers <jsm@polyomino.org.uk>
3247 * c-decl.c (pushdecl): When an extern declaration at block scope
3248 refers to a visible entity with internal linkage, use the old DECL
3249 rather than the new one.
3251 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
3253 * tree-cfg.c (cleanup_tree_cfg): Remove extra parentheses in
3256 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
3258 * tree-cfg.c (thread_jumps): Remove a duplicate check for
3261 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
3263 * tree-cfg.c (thread_jumps): Iterate with FOR_EACH_BB instead
3264 of FOR_BB_BETWEEN. Remove a useless check for unreachable
3267 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
3269 * tree-cfg.c (cleanup_tree_cfg): Don't call
3270 delete_unreachable_blosk() after thread_jumps().
3271 (thread_jumps): Always remove basic blocks as they become
3274 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
3276 * tree-cfg.c (cleanup_tree_cfg): Remove variable
3277 something_changed. Simplify the while loop.
3279 2004-10-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3281 * builtins.c (expand_builtin_memmove): Delete duplicate code
3282 and accept a tree type for the result.
3283 (expand_builtin_bcopy): Accept a tree type for the result.
3284 (fold_builtin_memmove): Accept an arglist and tree type for
3287 2004-10-05 Ulrich Weigand <uweigand@de.ibm.com>
3289 * config/s390/s390.c (s390_dump_pool): Remove return value.
3290 Use gen_pool_align, gen_pool_section_start/end instead of
3291 gen_pool_start/end_31/64.
3292 * config/s390/s390.md (UNSPECV_POOL_START, UNSPECV_POOL_END): Remove.
3293 (UNSPECV_POOL_SECTION, UNSPECV_POOL_ALIGN): New constants.
3294 ("pool_start_31", "pool_end_31"): Remove.
3295 ("pool_start_64", "pool_end_64"): Likewise.
3296 ("pool_align", "pool_section_start", "pool_section_end": New insns.
3298 * config/s390/s390.c (s390_cannot_copy_insn_p): New function.
3299 (TARGET_CANNOT_COPY_INSN_P): Define.
3300 (s390_cannot_force_const_mem): Handle UNSPEC_INSN.
3301 (struct constant_pool): New member 'execute'.
3302 (s390_add_execute, s390_find_execute): New functions.
3303 (s390_execute_label, s390_execute_target): Likewise.
3304 (s390_dump_pool): Output in-pool execute target templates.
3305 (s390_dump_execute): New function.
3306 (s390_alloc_pool, s390_free_pool): Handle execute templates.
3307 (s390_mainpool_start, s390_mainpool_finish): Likewise.
3308 (s390_chunkify_start, s390_chunkify_finish): Likewise.
3309 * config/s390/s390.md (UNSPEC_INSN, UNSPEC_EXECUTE): New constants.
3310 ("*execute"): New insn pattern.
3311 ("movmem_short", "*movmem_short"): Use splitters to generate
3312 explicit execute pattern, remove embedded execute.
3313 ("clrmem_short", "*clrmem_short"): Likewise.
3314 ("cmpmem_short", "*cmpmem_short"): Likewise.
3316 2004-10-05 Daniel Berlin <dberlin@dberlin.org>
3318 * tree-ssa.c (verify_ssa): Verify phi arguments only
3319 contain renamed names.
3321 2004-10-05 Alan Modra <amodra@bigpond.net.au>
3323 * config/rs6000/linux.h: Formatting, whitespace.
3324 * config/rs6000/linux64.h: Likewise.
3325 * config/rs6000/rs6000-protos.h: Likewise.
3326 * config/rs6000/rs6000.c: Likewise.
3327 (easy_vector_splat_const): Add fall thru comments.
3328 (output_vec_const_move): Likewise.
3330 2004-10-05 Kelley Cook <kcook@gcc.gnu.org>
3332 * Makefile.in: Update -Wno-error exceptions for move to build dir.
3334 2004-10-05 Chao-Ying Fu <fu@mips.com>
3335 Richard Sandiford <rsandifo@redhat.com>
3337 * doc/invoke.texi (-mpaired-single): Link to the new description of the
3338 built-in functions. Document dependencies.
3339 (-mips3d): Add link here too.
3340 * doc/extend.texi (MIPS Paired-Single Support): New section.
3342 2004-10-04 Chao-ying Fu <fu@mips.com>
3344 * config/mips/mips.h (UNITS_PER_SIMD_WORD): Define.
3346 2004-10-04 Diego Novillo <dnovillo@redhat.com>
3348 * tree-ssa-dom.c (tree_ssa_dominator_optimize):
3349 Initialize OPT_STATS to 0.
3351 2004-10-04 Kazu Hirata <kazu@cs.umass.edu>
3353 * tree-data-ref.c: Fix comment typos.
3355 2004-10-04 Sebastian Pop <pop@cri.ensmp.fr>
3357 * tree-data-ref.c (array_base_name_differ_p): Fix comments. When
3358 the predicate cannot be computed, don't initialize the result to
3361 2004-10-01 Eric Christopher <echristo@redhat.com>
3363 * dwarf2.h (dwarf_calling_convention): Add GNU prefix to
3364 locally defined enum.
3365 * dwarf2out.c (add_calling_convention_attribute): Don't
3368 2004-10-03 Andrew Pinski <pinskia@physics.uc.edu>
3370 PR c/17178, PR c/17820
3371 * c-decl.c (pop_scope): Do not warn about unused static
3372 variables as they warned in the middle-end.
3374 2004-10-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3376 * builtins.c (expand_builtin_memcpy): Delete duplicate code
3377 and make the first parameter the expression not the arglist.
3379 2004-10-03 Ulrich Weigand <uweigand@de.ibm.com>
3381 * expr.c (expand_expr_addr_expr): Only accept Pmode or ptr_mode
3382 as valid modes to expand address expressions.
3384 2004-10-03 Joseph S. Myers <jsm@polyomino.org.uk>
3386 * c-aux-info.c, c-common.c, c-common.h, c-cppbuiltin.c, c-decl.c,
3387 c-format.c, c-incpath.c, c-lex.c, c-objc-common.c, c-opts.c,
3388 c-parse.in, c-pch.c, c-ppoutput.c, c-pragma.c, c-typeck.c: Follow
3389 code formatting conventions.
3391 2004-10-03 Richard Sandiford <rsandifo@redhat.com>
3393 * config/mips/mips.md (<u>mulsidi3_32bit_r4000): Fix unsigned case.
3395 2004-10-03 Kazu Hirata <kazu@cs.umass.edu>
3397 PR tree-optimization/16632
3398 * fold-const.c (fold) [EQ_EXPR]: When seeing if D & ~C != 0 to
3399 fold (A & C) == D into 0, fold ~C. Similarly, for the case
3400 where | is used instead of &.
3402 2004-10-03 Kazu Hirata <kazu@cs.umass.edu>
3404 * ginclude/stddef.h: Fix a comment typo.
3406 2004-10-03 Eric Botcazou <ebotcazou@libertysurf.fr>
3409 * config.gcc (i?86-*-solaris2*): Restore correct logic
3410 for --enable-threads option.
3411 (sparc64-*-solaris2*): Likewise.
3412 (sparc-*-solaris2*): Likewise.
3414 2004-10-03 Alan Modra <amodra@bigpond.net.au>
3416 * config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define.
3417 (OS_MISSING_POWERPC64): Move, and comment.
3418 * config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Define.
3419 (OS_MISSING_POWERPC64): Move, and comment.
3421 2004-10-02 Ian Lance Taylor <ian@wasabisystems.com>
3423 * arm.c (output_call_mem): Add missing \t.
3425 2004-10-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3427 * builtins.c (expand_builtin_memcmp, expand_builtin_strcmp,
3428 expand_builtin_strncmp): Delete duplicate code.
3430 2004-10-02 Frank Ch. Eigler <fche@redhat.com>
3432 * tree-mudflap.c (mf_build_check_statement_for): Reorganize to
3433 take check-base and -limit arguments.
3434 (mf_xform_derefs_1): Reorganize slightly to pass proper base/limit
3435 check ranges for ARRAY_REF and COMPONENT_REF.
3436 (execute_mudflap_fnction_ops, ..._decls): Limit unnecessary
3439 2004-10-02 Joseph S. Myers <jsm@polyomino.org.uk>
3441 * c-objc-common.c (c_tree_printer): Correct description of %E.
3442 Don't fall through after printing an expression.
3444 2004-10-02 Kazu Hirata <kazu@cs.umass.edu>
3446 * tree-cfg.c, config/s390/tpf-unwind.h: Fix comment typos.
3448 2004-10-02 Kazu Hirata <kazu@cs.umass.edu>
3450 * tree-cfg.c (cleanup_tree_cfg): Speed up by calling
3451 delete_unrechable_blocks() only when necessary.
3453 2004-10-02 P.J. Darcy <darcypj@us.ibm.com>
3455 * gthr-tpf.h (__gthread_recursive_mutex_t): New type.
3456 (__GTHREAD_RECURSIVE_MUTEX_INIT): Define.
3457 (__gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock,
3458 __gthread_recursive_mutex_unlock): New functions.
3460 2004-10-02 P.J. Darcy <darcypj@us.ibm.com>
3462 * config/s390/t-tpf (LIB2ADDEH): Remove tpf-eh.c.
3463 * config/s390/tpf-eh.c: Remove file.
3464 * config/s390/tpf-unwind.h: New file.
3465 * config/s390/tpf.h (MD_FALLBACK_FRAME_STATE_FOR): Remove.
3466 (MD_UNWIND_SUPPORT): Define.
3468 2004-10-02 Joseph S. Myers <jsm@polyomino.org.uk>
3470 * c-typeck.c (warn_for_assignment): Don't permit argnum == 0.
3472 2004-10-01 Ulrich Weigand <uweigand@de.ibm.com>
3474 * config/s390/s390-protos.h (s390_comparison): Add prototype.
3475 * config/s390/s390.c (s390_comparison): New function.
3476 (s390_branch_condition_mask): Return -1 for invalid comparisons.
3477 (s390_branch_condition_mnemonic): Assert valid comparison.
3478 * config/s390/s390.h (PREDICATE_CODES): Add s390_comparison.
3479 * config/s390/s390.md ("*cjump_64", "*cjump_31", "*cjump_long",
3480 "*icjump_64", "*icjump_31", "*icjump_long", "*trap"): Use
3481 s390_comparison instead of comparison_operator.
3483 * config/s390/s390.md (UNSPEC_CMPINT): New constant.
3484 ("cmpmemdi"): Remove.
3485 ("cmpmem_short", "*cmpmem_short"): Use CCUmode instead of CCSmode.
3486 ("cmpmem_long", "*cmpmem_long_64", "*cmpmem_long_31"): Likewise.
3487 ("cmpint_si"): Rename to ...
3488 ("*cmpint_si"): ... this. Use UNSPEC_CMPINT.
3489 ("cmpint_di", "*cmpint_di"): Likewise.
3490 * config/s390/s390.c (s390_canonicalize_comparison): Remove
3491 redundant UNSPEC_CMPINT conversions.
3492 (s390_expand_cmpmem): Adapt to cmpint pattern changes.
3494 2004-10-01 Kazu Hirata <kazu@cs.umass.edu>
3496 * collect2.c (COLLECT_PARSE_FLAG): Remove.
3497 (main): Remove a reference to COLLECT_PARSE_FLAG
3498 * system.h: Poison COLLECT_PARSE_FLAG.